Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Revisto Capítulo 2 Conceitos de Hardware e Software 2 – Conceitos de Hardware e Software Sistema Computacional Processador / UCP Unidade Lógica e Aritmética Unidade de Controle Memória Principal Registradores Dispositivos de E/ S 2/1 2 – Conceitos de Hardware e Software Unidade Central de Processamento o Registradores mais importantes PC (Program Counter) SP (Stack Pointer) PSW (Program Status Word) IR (Instruction Register) 2/2 2 – Conceitos de Hardware e Software Memória Principal com 64 Kbytes 0 instrução ou dado 1 endereços 2 16 2 -1 célula = 8 bits 2/3 2 – Conceitos de Hardware e Software Memória Principal com 64 Kbytes o Tamanho das células pode variar, geralmente 1 byte o Acesso à memória através do MAR e do MBR MAR (Memory Address Register) MBR (Memory Buffer Register) o Se barramento de memória com n bits (idem para o MAR), endereça no máximo 2n endereços o Ciclo de leitura ou gravação em 4 passos 2/4 2 – Conceitos de Hardware e Software Relação entre Dispositivos de Armazenamento Registradores Memória Cache maior capacidade de armazenamento Memória Principal maior custo e velocidade de acesso Memória Secundária 2/5 2 – Conceitos de Hardware e Software Memória Cache o Alta velocidade de acesso, baixa capacidade e alto custo o Uso da cache baseia-se no Princípio da Localidade Localidade espacial Localidade temporal o Se dado encontrado na cache, tem-se um cache hit o Se dado não encontrado na cache, tem-se um cache miss mais acesso à MP 2/6 2 – Conceitos de Hardware e Software Barramentos Processador-Memória e de E/S Memória Principal UCP Barramento processador-memória Adaptador Barramento de E/ S Barramento de E/ S Adaptador 2/7 2 – Conceitos de Hardware e Software Barramento Processador-Memória o Barramento de Dados o Barramento de Endereços o Barramento de Controle 2/8 2 – Conceitos de Hardware e Software Barramento de Backplane Memória Principal UCP Barramento processador-memória Barramento de backplane Adaptador Adaptador Barramento de E/ S Barramento de E/ S Adaptador 2/9 2 – Conceitos de Hardware e Software Barramentos Processador-Memória e de E/S o Barramentos processador-memória geralmente proprietários Exemplo: PCI, da Intel o Barramentos de E/S geralmente padronizados Exemplos: IDE, SCSI, SATA 2/10 2 – Conceitos de Hardware e Software Arquitetura Pipeline com Quatro Estágios P1 P2 P3 P4 Unidade de busca da instrução Analisador da instrução Unidade de busca dos dados Unidade de execução da instrução P1 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 Instr.7 P2 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 P3 Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 P4 Instr.1 Instr.2 Instr.3 Instr.4 tempo 2/11 2 – Conceitos de Hardware e Software Arquitetura RISC x Arquitetura CISC Aplicativos Utiltários Sistema Operacional Arquitetura RISC CISC Linguagem de Máquina Microprogramação Circuitos Eletrônicos 2/12 2 – Conceitos de Hardware e Software Arquitetura RISC x Arquitetura CISC o Características do RISC Poucas instruções Instruções executadas diretamente pelo HW Instruções com formato fixo Poucos ciclos de máquina p/ instrução Poucos modos de endereçamento Muitos registradores Uso intensivo de pipeline Ex’s: Sun SPARC, IBM RS-6000, DEC Alpha 2/13 2 – Conceitos de Hardware e Software Arquitetura RISC x Arquitetura CISC o Características do CISC Muitas instruções Instruções executadas por microcódigo Instruções com formatos diversos Vários ciclos de máquina p/ instrução Diversos modos de endereçamento Poucos registradores Uso pouco efetivo de pipeline Ex’s: Intel Pentium, DEC VAX, Motorola 68xxx 2/14 2 – Conceitos de Hardware e Software Análise de Desempenho o Métricas consideradas para a avaliação de desempenho de processadores Freqüência de clock (relativo a dado processador) Tempo para se executar um determinado programa, ou tempo de CPU = no de clocks x ciclos de clock MIPS = Millions Instructions Per Second FLOPS = Floating-Point Operations Per Second 2/15 2 – Conceitos de Hardware e Software Análise de Desempenho o Benchmark Conjunto de programas executado para comparação do tempo de execução Programas escolhidos criteriosamente de acordo com a potencialidade analisada Exemplo: SPEC (System Performance Evaluation Cooperative) o SPECint, SPECfp, SPEC CPU2006 2/16 2 – Conceitos de Hardware e Software Tradutor programa fonte Tradutor programa objeto Compilador 2/17 2 – Conceitos de Hardware e Software Tradutor o Interpretador: Traduz cada instrução ao longo da execução do programa, executando-as Mais lento devido à tradução interativa o Compilador: Gera código executável de uma vez Execução mais rápida, instruções já num nível entendido pelo processador 2/18 2 – Conceitos de Hardware e Software Linker 2/19 2 – Conceitos de Hardware e Software Linker o Gera um executável a partir de vários módulos objetos o Resolve referências simbólicas entre os módulos, incluindo bibliotecas Loader o Carrega na memória o programa a ser executado, fazendo relocação, e inicia sua execução o Analisa o tamanho do programa e os espaços em memória para carregamento 2/20 2 – Conceitos de Hardware e Software Ativação do Sistema Área do Sistema Operacional boot Sistema Operacional Disco Memória Principal 2/21 2 – Conceitos de Hardware e Software Ativação do Sistema o Carregamento e ativação do sistema (boot) realizado por programa localizado em bloco específico do disco (boot block) o Executa programas de inicialização responsáveis pela customização e configuração de HW e SW específicos para cada ambiente o Desativação (shutdown) faz com que aplicações e componentes sejam desativados de forma ordenada, garantindo integridade dos dados (p/ex: arquivos temporários) 2/22