Organização e Arquitetura de Computadores Material de apoio Definição, modos de operação e aplicações. Encapsulamento e tecnologias. Endereçamento de memória Tópico: 10,11 e 12 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais. O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente. Bibliografia básica: PATTERSON, A.D.E.; HENNESSY, L.J.. Organização e projetos de computadores: a interface hardware/software. São Paulo: Campus, 2005.; MONTEIRO, Mário A.. Introdução à organização de computadores. 5.ed. Rio de Janeiro: LTC, 2007. STALLINGS, William. Arquitetura e organização de computadores : projeto para o desempenho. São Paulo: Pearson Education, 2005. 3 Memória RAM RAM (Random Access Memory ou Memória de Acesso Randômico) Segundo a tecnologia dividi-se em SRAM e DRAM. SRAM (Static RAM) Neste tipo de memória os valores binários são armazenados através de dispositivos lógicos digitais (flip-flops e portas lógicas) e tem como principais características: ► Velocidade elevada (as mais rápidas na hierarquia) ► Seus dados permanecem armazenados enquanto a memória for alimentada por energia elétrica; ► Capacidade pequena de armazenamento ► Preço elevado por byte armazenado Está antes da DRAM, no caminho CPU-Memória, com o objetivo de absorver rapidamente as informações fornecidas pela CPU e transferi-las para a DRAM. Memória DRAM - Dynamic RAM - Memória principal 4 É a memória principal do computador. Ela é feita de células que armazenam dados com cargas de componentes eletrônicos chamados capacitores. A presença ou ausência de cargas em carga pode ser interpretada como bit 1 ou 0. Como o capacitor tem a tendência natural de se descarregar, a DRAM necessita de uma regeneração da carga armazenada periodicamente para manter os dados armazenados. Esse processo é chamado de refresh Muitas vezes, quando dizemos que o nosso computador tem 256 ou 512 MB de memória ou de RAM, na verdade estamos nos referindo à DRAM. A DRAM é uma memória relativamente rápida e que tem o objetivo de armazenar o maior volume de dados na troca dinâmica CPU-Memória. 5 Esquema da Memória DRAM e Memória SRAM 1. O dispositivo/CPU envia os dados para a SRAM, que os absorve rapidamente; 2. A SRAM envia os dados para a DRAM; 3. Caso a DRAM não seja suficientemente grande para armazenar os dados, envia-os para o HD, que possui um espaço reservado para servir de memória temporária; 4. A informação retorna, quando necessário, realizando o caminho inverso. 6 Registradores É responsável pela execução das instruções, manipulação de dados e produção do resultado das operações. Dispositivo de memória onde o processador armazena, em seu interior, as instruções antes de sua interpretação e acionamento dos dispositivos da UCP. Possui maior velocidade de transferência dentro do sistema, menor capacidade de armazenamento (8 a 64 bits) e maior custo. São memórias de semicondutores, necessitando de energia para funcionar. 7 Memória Cachê É um tipo de memória de alta velocidade que fica próxima à CPU e consegue acompanhar a velocidade de trabalho da CPU. Usa-se a tecnologia com circuitos de alta velocidade, por serem memórias estáticas são denominadas SRAM. Por ser uma memória cara raramente encontramos quantidades de memória cachê maiores que 2 MB, em computadores comuns. Idéia: Colocar na memória cachê os dados e instruções que são mais comumente utilizados pelo processador. Chamada de regra 80/20, ou seja, 20% dos dados/instruções são usados 80% das vezes no computador. Esquema da Memória DRAM e Memória SRAM 8 De acordo com a proximidade do processador são atribuídos níveis de cachê: Cachê L1 (level 1) Cachê L2 (level 2) Em alguns casos Cachê L3 (level 3) Quando o processador consegue acessar a informação corretamente através do cachê, e em alto desempenho é chamado de cachê “hit” ("acerto"). Se a informação não estiver no cachê, ela vai ter que ser lida da memória RAM, o que é um processo mais lento, este caso é chamado de cachê “miss” ("erro"). 9 Encapsulamento de Memória Encapsulamento é o nome que se dá ao formato físico dos chips. Os chips de memória são frágeis placas de silício, que precisam ser encapsulados em alguma estrutura mais resistente antes de serem transportados e encaixados na placa-mãe. Assim, como temos vários tipos de encapsulamento diferentes para processadores, temos vários formatos de módulos de memória. 10 Módulos de Encapsulamento de Memória ► Módulo DIP (Dual In Line Package) ► Módulo SIPP (Single In Line Pin Package) de 30 vias ► Módulo SIMM (Single In Line Memory Module) de 30 vias ► Módulo SIMM (Single In Line Memory Module) de 72 vias ► Módulo DIMM (Double In Line Memory Module) ► Módulo RIMM (Rambus In Line Memory Module) de 168 vias 11 Módulos de Encapsulamento de Memória SIMM - Single In Line Memory Module – 30 vias DIP - Dual In Line Package SIMM - Single In Line Memory Module – 72 vias SIPP - Single In Line Pin Package 12 Módulos de Encapsulamento de Memória DIMM - Double In Line Memory Module – 184 vias DIMM – 240 vias RIMM - Rambus In Line Memory Module DIMM – 168 vias 13 Funcionamento da Memória RAM Para cada bit 1 ou 0 a ser armazenado, temos um minúsculo capacitor; quando o capacitor está carregado eletricamente temos um bit 1 e quando ele está descarregado temos um bit 0. Para cada capacitor temos um transistor, encarregado de ler o bit armazenado em seu interior e transmiti-lo ao controlador de memória. A memória RAM é volátil justamente devido ao capacitor perder sua carga muito rapidamente, depois de poucos milésimos de segundo. É utilizado um waffer de silício como base e um laser para marcá-lo. Os chips de memória são compostos basicamente de apenas uma estrutura básica: o conjunto capacitor/transistor, que é repetida alguns milhões de vezes. 14 Acesso aos Dados da Memória RAM Para ler e gravar dados na memória, assim como controlar todo o trânsito de dados entre a memória e os demais componentes do micro, é usado mais um circuito, chamado controlador de memória, que faz parte do chipset localizado na placa mãe. 15 Acesso aos Dados da Memória RAM Do ponto de vista do processador, a memória RAM é dividida em linhas (Row) e colunas (column). Cada acesso é feito enviando os valores CAS(Columm Adress Strobe) e RAS (Row Adress Strobe), que correspondem a estes endereços de linha e coluna. Combinados os dois endereços é acessado o bit de dados desejado. Para acessar uma determinada posição, seja para gravar ou ler dados, o controlador de memória primeiro gera o valor RAS, ou o número da linha que está relacionada à posição, sendo gerado em seguida o valor CAS, que corresponde à coluna dessa posição. Valor do CAS “8ª” coluna Valor do RAS 9ª Linha 16 Tecnologias da Memória RAM ► Regular ► FPM (Fast Page Mode) ► EDO (Extended Data Out) ► SDRAM (Synchronous Dynamic Random Access Memory ) ► DDR (Double Data Rate) ► DDR2 (Double Data Rate 2) e DDR3 (Double Data Rate 3) ► Rambus 17 Tecnologia Regular Foram o primeiro tipo de memória usado em micros PC. O acesso é feito enviando primeiro o endereço RAS e em seguida o endereço CAS, da forma mais simples possível. Foi fabricado com velocidades de acesso a partir de 150 ns, suportava o barramento de 4,77 MHz do PC original. Foram desenvolvidas posteriormente versões de 120, 100 e 80 ns para serem utilizadas em micros 286. As memórias regulares são encontradas apenas na forma de módulos DIP, e foram utilizadas em micros XT, 286 e em alguns dos primeiros micros 386. 18 Tecnologia FPM (Fast Page Mode) É uma tecnologia que permite rápido acesso aos dados que estão na mesma linha da memória. Os chips com tecnologia FPM são geralmente encontrados em módulos SIMM (30 e 72 vias). Mas também podem ser encontrados em módulos DIMM de 168 vias e SODIMM. Não é sincronizada com o processador. As memórias FPM vêm com códigos que indicam o seu tempo de acesso, medido em nanosegundos. 19 Tecnologia EDO (Extended Data Out) É uma evolução da tecnologia FPM. Nela a leitura de dados da memória é otimizada, fazendo com que os chips com tecnologia EDO sejam cerca de 10 a 20% mais rápidos que os chips FPM. Chips com tecnologia EDO são encontrados comumente em módulos SIMM de 72 vias e também em módulos DIMM de 168 vias e SODIMM. Não é sincronizada com o processador. As memórias EDO vêm com códigos que indicam o seu tempo de acesso, medido em nanosegundos. Tecnologia SDRAM (Synchronous Dynamic Random Access Memory) 20 Permite que as memórias sejam sincronizadas com o processador. Assim o controlador de memória sabe exatamente em que ciclo de clock a informação estará disponível para o processador, evitando que o processador espere os dados. Funciona sincronizada pelo sinal de clock. A mudança no sinal é registrada na subida ou descida do sinal de clock. No intervalo entre a subida e a descida do sinal de clock o mesmo permanece num estado imutável ou instável. O uso do clock do sistema com memórias DRAM permite que o sistema trabalhe de maneira bastante rápida, pois este é previsível. As memórias SDRAM vêm com códigos em nanosegundos, mas na verdade eles não indicam o tempo de acesso e sim o tempo de ciclo, ou seja, o clock com o qual a SDRAM trabalha. 21 Tecnologia DDR (Double Data Rate) As memórias DDR que funcionam a 100 MHz de clock real, o clock do chip de memória e do buffer de E/S também é de 100 MHz. O módulo DDR trabalha com um clock de 100 MHz, mas o clock dos dados “efetivo” de 200 MHz, pois as transferências de dados são feitas na subida e na descida do sinal de clock. 22 Tecnologia DDR2 (Double Data Rate 2) É uma aplicação de DDR duas vezes, então o nome DDR2. Nas memórias DDR2 com chips que trabalham a 100 MHz de clock real, o buffer de E/S usa a técnica de DDR para dobrar o clock do módulo para 200 MHz. E o DDR age novamente dobrando os 200 MHz e fazendo com que o clock dos dados efetivo chegue a 400 MHz. São de 400 e 533MHz. Mas logo teremos DDR2 de 667 MHz e 800 MHz. A DDR2 de 533 MHz está sendo chamada de PC2 4200, pois sua taxa de transferência chega a 4200 MB/seg. Características DDR DDR2 Clock 266, 333, 400 MHz 400, 533, 667, 800MHz Encapsulamento TSOP e FBGA FBGA Voltagem 2.5/2.6V 1.8V Densidade 64MB-1GB 256MB-1GB CAS(latency) 2, 2.5 e 3 clocks 3, 4, 5 cloks 23 SDRAM (Synchronous Dynamic Random Access Memory)/ DDR1/ DDR2 24 Tecnologia DDR3 (Double Data Rate 3) Como sugere a lógica, as memórias DDR3 realizam 8 acessos por ciclo, contra os 4 acessos por ciclo das memórias DDR2. Assim como na tecnologia anterior, os acessos são realizados a endereços subjacentes, de forma que não existe necessidade de aumentar a freqüência "real" das células de memória. Inicialmente, os módulos DDR3 foram lançados em versão: DDR3-1066 (133 MHz x 8) – PC3-8500 DDR3-1333 (166 MHz x 8) – PC3-10667 DDR3-1600 (200 MHz x 8) – PC3-12800 Apesar do aumento no número de transferências por ciclo, os buffers de dados continuam trabalhando a apenas o dobro da freqüência das células de memória. Ou seja, a freqüência interna (das células de memória) de um módulo DDR3-1600 é de 200 MHz e a freqüência externa (dos buffers de dados) é de 400 MHz. As células de memória realizam 8 transferências por ciclo de clock (em vez de 4, como nas DDR2) e os buffers de dados (que operam ao dobro da freqüência) realizam 4 transferências por ciclo de clock, em vez de apenas duas, como nos módulos DDR2. 25 Tecnologia DDR3 (Double Data Rate 3) Os módulos DDR3 utilizam também 8 bancos em vez de 4, o que ajuda a reduzir o tempo de latência em módulos de grande capacidade. Elas também trouxeram uma nova redução na tensão usada, que caiu para apenas 1.5V, ao invés dos 1.8V usados pelas memórias DDR2. A redução na tensão faz com que o consumo elétrico dos módulos caia proporcionalmente, o que os torna mais atrativos para os fabricantes de notebooks. Somadas todas essas melhorias, os tempos de acesso "reais" dos módulos foram sensivelmente reduzidos. Em vez de de trabalharem com tempos de acesso 10-10-10-30, a geração inicial de módulos DDR3 é capaz de trabalhar com temporização 9-9-9-24, ou mesmo 7-7-7-15. Apesar disso, muitos módulos de alto desempenho podem precisar de tensões mais altas, como 1.6V ou mesmo 1.7V para trabalharem na freqüência máxima. Assim como no caso dos módulos DDR2, os fabricantes podem ajustar a tensão de operação de acordo com as necessidades do projeto e você pode também utilizar tensões mais altas por conta própria ao fazer overclock. Os módulos DDR3 utilizam os mesmos 240 contatos dos módulos DDR2 e mantém o mesmo formato. A única diferença visível (fora etiquetas e códigos de identificação) é a mudança na posição do chanfro, que passou a ser posicionado mais próximo do canto do módulo. O chanfro serve justamente para impedir que módulos de diferentes tecnologias sejam encaixados em placas incompatíveis. 26 Tecnologia DDR3 (Double Data Rate 3) Todos os slots devem ser preenchidos os slots não utilizados devem ser preenchidos com módulos de continuidade. Consegue atingir taxas de até 3,2 GB/s com o seu controlador (chipset), enquanto o barramento operando a 100 MHz trabalha a 800 MB/s, a 133 MHz, 1 GB/s e a 200 MHz, 1,6 GB/s. Essas seriam as taxas utilizadas por memórias SDRAM. Ou seja, em um barramento de 100 MHz, a memória Rambus pode oferecer um desempenho 4 vezes maior que as atuais memórias SDRAM. 27 Classificação das Memórias MEMÓRIAS ROM ROM MÁSCARA RAM PROM EPROM ESTÁTICA FLASH UVPROM E2PROM DINÂMICA