Arquitetura de computadores Prof. Marcelo Mendes Organização Básica de Computadores Computador eletrônico digital DSC/CCT/UFCG Sistema composto por processador, memória, dispositivos de entrada e saída interligados. Introdução a Sistemas Operacionais 2 Organização Básica de Computadores Tipos de Memória em uso nos computadores Memória principal Processador (Cache L1 e Registradores) Memória secundária Cache L2 (separado) DSC/CCT/UFCG Introdução a Sistemas Operacionais 3 Organização Básica de Computadores Memória Parte do computador onde os programas e os dados são armazenados. Elemento a ser manipulado: bit (armazena a informação na forma de bits) Unidade de informação a ser armazenada, recuperada ou transferida (célula) - Grupo de n bits (n = 8) 1 Byte • ENDEREÇO: código de identificação da localização das células (informações). Operações: • ESCRITA: transferência de informações de outro componente do sistema de computação para a memória (CPU memória) • LEITURA: transferência de bits da memória para a CPU, disco. DSC/CCT/UFCG Introdução a Sistemas Operacionais 4 Organização Básica de Computadores Memória de um computador subsistema construída de vários componentes (vários tipos diferentes de memória) interligados e integrados, com o objetivo de armazenar e recuperar informações. Conceitos Importantes Tempo de acesso Capacidade Volatilidade Tecnologia de fabricação Temporariedade Custo DSC/CCT/UFCG Introdução a Sistemas Operacionais 5 Organização Básica de Computadores Em um sistema de computação não é possível construir e utilizar apenas um tipo de memória. Para certas atividades, por exemplo, é fundamental que a transferência de informações seja a mais rápida possível. Hierarquia de Memória DSC/CCT/UFCG Introdução a Sistemas Operacionais 6 Organização Básica de Computadores Custo alto Velocidade alta Baixa capacidade Hierarquia de Memória Registradores Memória Cache Memória Principal Discos Custo baixo Velocidade baixa Capacidade elevada DSC/CCT/UFCG Introdução a Sistemas Operacionais CD-ROM Memória Secundária 7 Organização Básica de Computadores Registradores Elementos superiores da pirâmide de memória, por possuírem a maior velocidade de transferência dentro do sistema (menor tempo de acesso), menor capacidade de armazenamento e maior custo. Memórias rápidas usadas em execução de instruções dentro do processador (objetivo: minimizar os acessos às memórias externas ao processador). DSC/CCT/UFCG Introdução a Sistemas Operacionais 8 Organização Básica de Computadores Registradores Podem ser divididos grosseiramente em 2 categorias Registradores de propósito específico cumprem funções específicas (Ex.: PC ou IP e SP) alguns só são usados pelo processador Registradores de propósito geral usados para armazenar variáveis locais e resultados intermediários são, em geral, simétricos e intercambiáveis (usados indistintamente) DSC/CCT/UFCG Introdução a Sistemas Operacionais 9 Organização Básica de Computadores Registradores Parâmetros: Menor tempo de acesso, baixa capacidade (Ex.: 32 bits, 64 bits), dispositivos voláteis, memória de semicondutores, armazenamento temporário e apresenta o custo mais elevado. EAX RAX Maiores informações sobre registradores foram apresentadas anteriormente (UCP). DSC/CCT/UFCG Introdução a Sistemas Operacionais 10 Organização Básica de Computadores Memória Principal A memória básica de um sistema de computação desde seus primórdios. É o dispositivo no qual o programa (e seus dados) que vai ser executado é armazenado para que a CPU "busque" instrução por instrução. Uma das principais características definidas no projeto de arquitetura do sistema de Von Neumann, o qual se constitui na primeira geração dos computadores, consistia no fato de ser uma máquina "de programa armazenado". O fato de as instruções, uma após a outra, poderem ser imediatamente acessadas pela CPU é que garante o automatismo do sistema e aumenta a velocidade de execução dos programas. DSC/CCT/UFCG Introdução a Sistemas Operacionais 11 Organização Básica de Computadores Memória Principal - Parâmetros Capacidade – na ordem de 512 MB (ou 1 GB), por exemplo. Dispositivos voláteis. Há normalmente uma pequena quantidade de memória não volátil fazendo parte da memória principal (contém o BIOS). Tecnologia - em sistemas atuais esta tecnologia produz memória com elementos dinâmicos (por exemplo: DRAM). DSC/CCT/UFCG Introdução a Sistemas Operacionais 12 Organização Básica de Computadores Memória Principal - Parâmetros Temporariedade - variável, depende de várias circunstâncias (p. ex.: tamanho do programa e sua duração, a quantidade de programas que estão sendo processados juntos, etc.). A transitoriedade com que as informações permanecem armazenadas na MP é, em geral, mais duradoura que na memória cache ou nos registradores. A DRAM têm um custo mais baixo que o das memórias cache - são vendidos computadores com quantidade apreciável de MP (32 MB, 64 MB, 128 MB, 256 MB, 512 MB) sem que o preço seja inaceitável. DSC/CCT/UFCG Introdução a Sistemas Operacionais 13 Organização Básica de Computadores Memória Principal DSC/CCT/UFCG Quanto maior a capacidade de armazenamento (em Bytes), maior a capacidade de processamento. Uso de memória virtual Uso do HD como extensão da Memória Principal. Introdução a Sistemas Operacionais 14 Organização Básica de Computadores Memória Principal – Endereços de Memória DSC/CCT/UFCG Memória – formada por um conjunto de células (posições), cada uma guarda uma informação. Célula – menor unidade endereçável (tamanho padrão usual – 8 bits – 1 byte). Bytes são agrupados em palavras (palavra de 32 bits tem 4 bytes/palavra). A maioria das instruções de uma máquina opera sobre palavras. Uma máquina de 32 bits deverá ter registradores e instruções para tratar palavras de 32 bits. Introdução a Sistemas Operacionais 15 Organização Básica de Computadores Memória Principal – Endereços de Memória DSC/CCT/UFCG Endereço da célula – número associado à célula, que permite aos programas referenciá-la. Introdução a Sistemas Operacionais 16 Organização Básica de Computadores Tipos de Memória e Encapsulamento Exemplo: Chips de memória de 4 MB Conector SIMM/72 – Possui 72 conectores. Utilizada em processadores 486, Pentium e superiores é um módulo SIMM de 32 bits, encontradas, por exemplo, nas versões de 4 MB, 8 MB, 16 MB e 32 MB. No caso de uma máquina definida como de 64 bits*, como o Pentium, essas placas são usadas aos pares, cada uma delas acessando metade dos bits necessários a uma operação com a memória. DSC/CCT/UFCG Introdução a Sistemas Operacionais 17 Organização Básica de Computadores Tipos de Memória e Encapsulamento Exemplo: DIMM/168 – Possui 84 conectores banhados a ouro de cada lado, perfazendo um total de 168 conectores. É um módulo de 64 bits. A capacidade está acima de 64 MB. Os primeiros eram alimentados com 5V e usavam memórias como FPM e EDO. Os mais modernos são alimentados com 3,3V e usam memórias SDRAM. DSC/CCT/UFCG Introdução a Sistemas Operacionais 18 Organização Básica de Computadores Problemas (Processador – Memória) Acesso à memória, leitura e escrita, é um dos motivos para menor velocidade de processamento. Processador é muito mais rápido do que a transferência de dados. Soluções Processador deve executar outras instruções enquanto aguarda acesso à memória. Isto nem sempre é possível e é difícil de implementar. Colocar memória principal no Chip do processador. Isto tornaria o chip maior e mais caro. Uso de uma memória menor e mais rápida (em relação à memória principal) chamada Memória Cache. DSC/CCT/UFCG Introdução a Sistemas Operacionais 19 Organização Básica de Computadores Memória Cache Dispositivo de memória entre a CPU e a MP Função: acelerar a velocidade de transferência das informações entre CPU e MP, aumentando o desempenho dos sistemas. Usada para armazenamento de instruções e dados mais freqüentemente acessados do programa em execução. As palavras de memória mais usadas pelo processador devem permanecer armazenadas na cache. Somente no caso de ela não estar armazenada na cache é que a busca se dará na memória principal. Cache – da palavra francesa cacher, que significa esconder. DSC/CCT/UFCG Introdução a Sistemas Operacionais 20 Organização Básica de Computadores Memória Cache Logicamente – cache é colocada entre o processador e a memória principal. Fisicamente – existem vários lugares possíveis para a cache. DSC/CCT/UFCG Introdução a Sistemas Operacionais 21 Organização Básica de Computadores Memória Cache Fabricada com tecnologia semelhante à da CPU (possui tempos de acesso compatíveis, resultando numa considerável redução da espera da CPU para receber dados e instruções da cache, ao contrário do que acontece em sistemas sem cache). Há diversos tipos de memória cache utilizados em sistemas de computação modernos: Cache para a Memória Principal (RAM cache), Cache para Disco. Podem existir caches primárias (dentro do processador) e outra secundária (fora do chip do processador) e até uma terceira cache mais externa. DSC/CCT/UFCG Introdução a Sistemas Operacionais 22 Organização Básica de Computadores Memória Cache Podem ser inseridas em dois (ou três) níveis: Cache L1 (Level 1) - nível 1), Cache L2 e Cache L3. Cache L1 (primária) - interna ao processador. Cache L2 (externa ou secundária) - instalada, em geral, na placa-mãe do computador. Atualmente: localizada no interior da pastilha do processador, separada deste (cache backside). Cache L3 – Existente em alguns processadores, localizada externamente ao processador. Quanto mais próxima do processador, melhor será o desempenho do mesmo. DSC/CCT/UFCG Introdução a Sistemas Operacionais 23 Organização Básica de Computadores Memória Cache - Parâmetros Capacidade - deve-se conciliar o compromisso de uma apreciável capacidade com a não-elevação demasiada de seu preço. Ex.: 16K a 2 MB Dispositivos voláteis. Tecnologia - circuitos eletrônicos de alta velocidade. Em geral, são memórias RAM estáticas (SRAM). Armazenamento temporário. O custo de fabricação das memórias cache é alto. Memórias cache internas à CPU ainda são mais caras do que as externas. DSC/CCT/UFCG Introdução a Sistemas Operacionais 24 Organização Básica de Computadores Memória Secundária Denominada memória secundária, memória auxiliar ou memória de massa. Objetivo: garantir um armazenamento mais permanente à toda a estrutura de dados e programas do usuário deve possuir maior capacidade que a memória principal. Pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema para acesso imediato (Ex.: discos rígidos), e outros que podem ser conectados quando desejado (Ex.: disquetes, fitas, CDROM etc.). DSC/CCT/UFCG Introdução a Sistemas Operacionais 25 Organização Básica de Computadores Memória Secundária - Parâmetros Tempo de acesso/ciclo de memória - são, em geral, dispositivos eletromecânicos e não circuitos puramente eletrônicos - possuem tempo de acesso maiores. Discos do tipo CD-ROM: 120 a 300 ms, por exemplo, fitas magnéticas - ordem de segundos. Capacidade - varia bastante dependendo do tipo de dispositivo utilizado. Exemplos: Discos rígidos - 50 GB, CD-ROM - 650 MB, fitas magnéticas (a capacidade depende do comprimento da fita e da densidade de gravação). DSC/CCT/UFCG Introdução a Sistemas Operacionais 26 Organização Básica de Computadores Memória Secundária - Parâmetros DSC/CCT/UFCG Volatilidade - não voláteis. Tecnologia - este parâmetro possui uma variedade imensa de tipos, visto que, para cada dispositivo entre os já mencionados (discos rígidos, disquetes, fitas, CD-ROM, CD R/W, DVD, etc.), há diferentes tecnologias de fabricação. Temporariedade - armazenamento com caráter permanente ou, pelo menos, de longo período de armazenamento. Custo - bastante variado. Introdução a Sistemas Operacionais 27