 
                                UNIVERSIDADE FEDERAL DOSEMI-ÁRIDO SEMI-ÁRIDO UNIVERSIDADE FEDERALRURAL RURAL DO DEPARTAMENTO DE DE CIÊNCIAS NATURAIS DEPARTAMENTO CIÊNCIASEXATAS EXATAS E E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores 04 - Memória Principal I Prof. Sílvio Fernandes Exemplo análogo  Agente secreto 89  O assassinato de um líder mundial está para acontecer  O agente secreto 89 deve descobrir quantos dias faltam para o assassinato  Ele tem um contato com essa informação  Para ninguém descobrir essa informação foi espalhada por uma série de 10 caixas postais  Há 10 chaves e um conjunto de instruções para decifrar informação 2 Exemplo análogo  Agente secreto 89 (Conjunto de instruções) 1. A informação em cada uma das caixas está escrita em código. 2. Abra a caixa 1 primeiro e execute a instrução localizada lá. 3. Continue pelas caixas restantes, em sequência, a menos que seja instruído do contrário. 4. Uma das caixas está preparada para explodir quando for aberta. 3 Exemplo análogo Caixas postais com mensagens codificadas Caixa 1 Caixa 2 Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 Caixa 9 Caixa 10 4 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. Caixa 2 Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 Caixa 9 Caixa 10 5 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. Caixa 2 Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 9. 11 Caixa 10 6 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. No. Agente = 89 No. Armazenado em (9) = 11 Caixa 2 Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 89 + 11 = 100 9. 11 Caixa 10 7 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 Resultado anterior = 100 No. Armazenado em (10) = ? 100 / ? = ? 9. 11 Caixa 10 8 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 9. 11 2. Divida o resultado anterior pelo número armazenado na caixa (10). Caixa 3 Caixa 4 Caixa 5 Caixa 6 Caixa 7 Caixa 8 Resultado anterior = 100 No. Armazenado em (10) = 2 100 / 2 = 50 10. 2 9 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). Resultado anterior = 50 No. Armazenado em (8) = ? 50 - ? = ? 3. Subtraia o número armazenado na caixa (8). Caixa 4 9. 11 Caixa 5 Caixa 6 Caixa 7 Caixa 8 10. 2 10 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). Resultado anterior = 50 No. Armazenado em (8) = 30 50 - 20 = 30 3. Subtraia o número armazenado na caixa (8). Caixa 4 Caixa 6 Caixa 5 8. 20 Caixa 7 9. 11 10. 2 11 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). 3. Subtraia o número armazenado na caixa (8). 4. Se o resultado anterior não for igual a 30, vá para a caixa (7). Caso contrário continue para a próxima caixa. Resultado anterior = 30 Caixa 6 Caixa 5 8. 20 Caixa 7 9. 11 10. 2 Conjunto Instruções - Sílvio Fernandes 12 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). 3. Subtraia o número armazenado na caixa (8). 4. Se o resultado anterior não for igual a 30, vá para a caixa (7). Caso contrário continue para a próxima caixa. 5. Subtraia 13 do resultado anterior Caixa 7 9. 11 Resultado anterior = 30 30 - 13 = 17 Caixa 6 8. 20 10. 2 13 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). 3. Subtraia o número armazenado na caixa (8). 4. Se o resultado anterior não for igual a 30, vá para a caixa (7). Caso contrário continue para a próxima caixa. 5. Subtraia 13 do resultado anterior 6. Retorne para o quartel-general para receber mais instruções. Caixa 7 9. 11 Resultado anterior = 17 8. 20 10. 2 14 Exemplo análogo Caixas postais com mensagens codificadas 1. Some o número armazenado na caixa (9) ao seu número de código de agente secreto. 2. Divida o resultado anterior pelo número armazenado na caixa (10). 3. Subtraia o número armazenado na caixa (8). 4. Se o resultado anterior não for igual a 30, vá para a caixa (7). Caso contrário continue para a próxima caixa. 5. Subtraia 13 do resultado anterior 6. Retorne para o quartel-general para receber mais instruções. 7. 8. 20 9. 11 BOMBA! 10. 2 Resultado anterior = 17 15 Exemplo análogo Caixas postais com mensagens codificadas    Quem ou que é o agente secreto? E o conjunto das caixas postais? Os números de cada caixa? 16 Exemplo análogo Caixas postais com mensagens codificadas  Quem ou que é o agente secreto?   E o conjunto das caixas postais?    Computador que executa as instruções Memória contendo instruções (caixas de 1 a 6) e dados (8 a 10). Caixa 7 sem equivalentes nos computadores Os números de cada caixa?  Endereços das posições de memória 17 Memória Principal   Nos primeiros computadores as memórias de acesso aleatório eram uma matriz de loops ferromagnéticos em forma de anel (núcleos) Hoje, o uso de chips semicondutores para memória principal é quase universal 18 Memória Principal  Organização  Elemento básico = célula de memória  Apresentam 2 estados estáveis (ou semiestáveis)  Capazes de ser escritas, para definir o estado  Capazes de ser lidas, para verificar o estado 19 Tecnologia de Semicondutores Tipo de memória Categoria Mecanismo de apagamento Mecanismo de escrita Volatilidade Memória de Acesso Aleatório (RAM) Memória de Leitura e escrita Eletricamente, em Nível de Byte Eletricamente Volátil Memória Apenas de Leitura (ROM) ROM Programável (PROM) Máscaras Memória apenas de leitura PROM Apagável (EPROM) Memória Flash PROM Eletricamente Apagável (EEPROM) Não é possível Luz UV, em nível de pastilha Memória Principalmente de leitura Eletricamente, em nível de Blocos Não-volátil Eletricamente Eletricamente, em nível de Bytes 20 Memórias RAM   RAM dinâmica (DRAM)  Células armazenam dados com a carga de capacitores  É necessário um circuito de regeneração (refresh)  Usada na Memória Principal RAM estática (SRAM)  Valores são armazenados usando configurações de flipflops com portas lógicas  Não é necessário o circuito de regeneração  Usada na Memória Cache 21 Memórias ROM  Memória somente leitura  Não volátil, mesmo sem nenhuma fonte de energia  Aplicações   Bibliotecas de funções de uso frequente  Programas do sistema  Tabelas de função Tamanho moderado pois os dados não precisam ser armazenados em dispositivos secundários 22 Memórias ROM  Tipos  ROM programável (PROM)  Mais barata que a ROM  Pode ser escrita (eletricamente) apenas uma vez   Necessário um equipamento especial para o processo de escrita ou “programação” Somente de leitura e apagável (EPROM)    Lida e escrita eletricamente Antes da escrita todas as células de armazenamento são apagados através da exposição à luz ultravioleta intensa Mais cara que a PROM 23 Memórias ROM  Tipos  Somente de leitura programável eletronicamente (EEPROM)    e apagável Escrita pode ser feita somente nos bytes endereçados sem modificar os demais Mais cara que a EPROM e menos densa Flash   Intermediária entre a EPROM e EEPROM tanto no custo quanto na funcionalidade Usa tecnologia elétrica de apagamento 24 Lógica do chip    Memórias semicondutoras vem em chips empacotados que contêm um array de células de memória Para mem. semicondutoras uma das principais questões de projeto é o no. de bits de dados que podem ser lidos/escritos de cada vez Em um extremo o arranjo físico de células no array é o mesmo que o arranjo lógico de palavras de memória 25 Exemplos de Arranjos Físicos das Células  Exemplo #01: arranjo físico é igual ao arranjo lógico das palavras na memória – tal como é percebido pelo processador 8 bits EPROM de 8 Mbits (ou 1 MB) P0 P1 P2 1M Palavras P3 P4 ... P220 - 1 26 Exemplos de Arranjos Físicos das Células  Formato da pastilha do Exemplo #01: 32 pinos 1,5 cm2 Pinos de endereço Pinos de Dados Pino de Terra A19 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 Vcc A18 A17 A14 A13 A8 A9 A11 Vpp A10 CE D7 D6 D5 D4 D3 Pino de alimentação Pinos de endereço Pino de programação Chip Enable Pinos de Dados 27 Exemplos de Arranjos Físicos das Células Exemplo #02: arranjo em matrizes quadradas contendo grupos de células (16 Mb = 4 arrays 2048 elementos) 2048 colunas DRAM de 16 Mbits (ou 2 MB) ... ... 2048 linhas ... ... ... ... ... 11 Decodificador de linha  ... 11 MUX Decodificador de coluna 11 4 28 Exemplos de Arranjos Físicos das Células  Formato da pastilha do Exemplo #02: 16 pinos Pino de Alimentação Pinos de Dados Write Enable Row Address Strobe Number of Chip Pinos de endereço Pino de Alimentação Vcc D0 D1 WE RAS NC A10 A0 A1 A2 A3 Vcc 1 2 3 4 5 6 7 8 9 10 11 12 24 23 22 21 20 19 18 17 16 15 14 13 Vss D3 D2 CAS OE A9 A8 A7 A6 A5 A4 Vss Pino de Terra Pinos de Dados Column Address Strobe Output Enable Pinos de endereço Pino de Terra 29 Exemplos de Arranjos Físicos das Células    O arranjo em matrizes quadradas de grupos de células possibilita pastilhas mais densas A adição de uma linha de endereço faz com que a quantidade de linhas e colunas da matriz seja duplicada A capacidade total de memória da pastilha é, portanto, quadruplicada 30 Organização em Módulos     Se um chip de RAM contém apenas 1 bit por palavra, então claramente precisamos de pelo menos um número de chips igual ao número de bits por palavra A seguir um módulo de memória consistindo em 256 K palavras de 8 bits Para 256 K, um endereço de 18 bits é necessário O endereço é apresentado a 8 chips de 256 K x 1 bit, cada um oferecendo a entrada/saída de 1 bit 31 Organização em Módulos Pastilha #01 256 K x 1 bit DRAM de 256 KB 512 linhas ... 9 ... ... ... ... ... ... MAR 512 colunas ... MBR Decodificador de Coluna ... 7 ... ... 1 2 ... 512 colunas 9 ... ... ... 512 linhas 8 ... ... ... ... ... Decodificador de Coluna Pastilha #08 32 Organização em Módulos      Essa organização funciona desde que o tamanho da memória seja igual ao número de bits por chip No caso em que um memória maior é necessária, um array de chips é necessário A seguir uma memória consistindo em 1M palavras por 8 bits por palavra Temos 4 colunas de chips, cada coluna contendo 256 K palavras Para 1 M palavra, 20 linhas de endereços são necessários 33 CE 1/512 CE 1/512 CE C1 1/512 1/512 B1 1/512 A1 1/512 MAR 1/512 Organização em Módulos CE D1 1/512 9 MBR 1/512 CE 1/512 CE C2 1/512 1/512 1/512 B2 CE D2 2 1/512 ... CE A2 1/512 1/512 1 9 Habilitação de Grupo CE 1/512 Grupo A Grupo B Grupo C Grupo D C8 1/512 1/512 B8 1/512 CE A8 1/512 2 1/512 8 D8 CE 1/512 CE 1/512 DRAM de 1 MB 34 Formas de Encapsulamento  Módulos DIP (Dual Inline Package)    Usados em PCs antigos (XTs, 286s e os primeiros 386) Soldados diretamente na placa mãe ou encaixados individualmente em soquetes disponíveis na placa Upgrade de memória ou substituição de módulos era difícil 35 Formas de Encapsulamento  Módulos SIMM (Single Inline Memory Module)  30 vias 8 MB  72 vias 8 MB 36 Formas de Encapsulamento  Módulos DIMM (Dual Inline Memory Module)    Possuem contatos em ambos os lados do módulo Têm 168 vias Trabalham com palavras de 64 bits 37 Formas de Encapsulamento  Comparação entre os tamanhos: Módulo DIMM Módulo SIMM de 72 vias Módulo SIMM de 30 vias 38 Evolução Tecnológica em DRAMs  Memórias Regulares  Memórias FPM  Memórias EDO  Memórias SDRAM  Memórias DDR  Memórias DDR2 39 Memórias Regulares      Primeiro tipo de memória usado em PCs Acesso era feito enviando primeiro o endereço da linha e em seguida o endereço da coluna Eram fabricadas inicialmente com tempos de acesso de 150 ns; depois foram fabricadas com tempos de acesso de 120, 100 e 80 ns, para operação com o 286 Utilizadas em computadores XT, 286 e em alguns dos primeiros 386 Eram encontradas apenas sob a forma de módulos DIP 40 Memórias Regulares 41 Memórias FPM (Fast Page Mode)      Transferem dados em rajadas de 4 palavras em uma mesma linha, ou página Baseadas na idéia de que os dados são gravados sequencialmente na memória Encontradas na forma de módulos SIMM de 30/72 vias e com tempos de acesso de 80, 70 e 60 ns Foram usadas em computadores 386, 486 e nos primeiros Pentium Tempos de acesso podem também ser dados em termos de ciclos de clock da placa mãe  por exemplo, 5-3-3-3 em um barramento operando a 66 MHz 42 Memórias FPM (Fast Page Mode) 43 Memórias FPM (Fast Page Mode)  Uma nova operação de leitura só pode ser iniciada quando a operação anterior é encerrada Pequeno atraso imposto 44 Memórias EDO (Extended Data Output)  Caracterizadas pela existência de um pipeline interno à memória   São mais rápidas que as memórias FPM   Uma nova leitura pode ser iniciada sem que a leitura atual tenha terminado por exemplo, 5-2-2-2 em um barramento operando a 66 MHz (ganho de 25 %) Fabricadas com tempos de acesso de 70, 60 e 50 ns, encapsuladas em módulos SIMM de 72 vias 45 Memórias EDO (Extended Data Output) 46 Memórias SDRAM (Synchronous DRAM)  As memórias anteriores trabalham em seus próprios ritmos, independentemente do clock da placa mãe    Uma FPM projetada para funcionar em placas para processadores 386 e 486 (25/33 MHz) funciona perfeitamente em placas para processadores Pentium (66 MHz) Por isso, elas são tidas como memórias assíncronas Todas as ações em uma memória SDRAM estão sincronizadas com a borda de subida do sinal de clock da placa mãe 47 Memórias SDRAM (Synchronous DRAM)  Estrutura: SDRAM de 4M x 4 bits = 2 MB CLK CS# WE# CAS# RAS# Lógica de Controle Buffer de Linha Registrador de Modo Lógica de Controle de Banco Decodificador de Linha Decodificador de Linha CKE Buffer de Entrada DQ0 ... DQ3 2048x1024x4 2048x1024x4 Buffer de Saída Decodificador deDecodificador Coluna de Coluna Buffer de Coluna 48 Memórias SDRAM (Synchronous DRAM)  Configuração através do Registrador de Modo  Habilitar (ou não) escrita em rajadas  Definir o tamanho das rajadas (quantidade de palavras)  Definir o tipo das rajadas (sequenciais ou intercaladas)  Definir a latência do CAS  etc 49 Memórias SDRAM (Synchronous DRAM) BA A10 A9 A8 A7 A6 A5 A4 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 Reservado WB Código de Op. Latência do CAS A3 BT A2 A1 A0 Tamanho da rajada Tamanho da rajada M2 M1 M0 M3 = 0 M3 = 1 M3 Tipo da rajada 000 1 1 0 Sequencial 001 2 2 1 Intercalada 010 4 4 011 8 8 100 Reservado Reservado 101 Reservado Reservado 110 Reservado Reservado 111 Pág.completa Reservado 50 Memórias SDRAM (Synchronous DRAM) BA A10 A9 A8 A7 A6 A5 A4 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 Reservado WB Código de Op. Latência do CAS A3 A2 A1 A0 BT Tamanho da rajada M9 Modo de escrita em rajada M6 M5 M4 Latência do CAS 0 Tamanho de rajada programado 000 Reservado 1 Escrita em uma só posição 001 1 010 2 011 3 100 Reservado M8 M7 M6-M0 Modo de operação 101 Reservado 00 definido Normal 110 Reservado - - Reservados 111 Reservado 51 Memórias SDRAM (Synchronous DRAM)   Configuração do Registrador de Modo se dá através do comando LOAD MODE REGISTER Outros comandos:  COMAND INHIBIT   NOP   Inibe a execução de comandos na SDRAM Previne a emissão de comandos indesejáveis durante estados de espera ACTIVE  Abre (ativa) uma linha de um banco para acesso subsequente  BA: endereço do banco  A0-A10: endereço da linha no banco 52 Memórias SDRAM (Synchronous DRAM) CLK • Comando ACTIVE CKE CS# RAS# CAS# Don’t care WE# A0-A10 Endereço da Linha BA Endereço do Banco 53 Memórias SDRAM (Synchronous DRAM)  Outros comandos (cont.):  PRECHARGE   BURST TERMINATE   Trunca uma rajada em uma operação de leitura ou escrita AUTO REFRESH   Desativa uma linha aberta em um banco Regenera os dados SELF REFRESH  Regenera os dados na ausência do clock   SDRAM provê seu próprio sinal de clock interno READ/WRITE 54  Leitura/escrita de dados Memórias SDRAM (Synchronous DRAM) CLK CKE CS# RAS# • Comando READ CAS# WE# A0-A9 Endereço da Coluna A10 Habilitar/desa bilitar auto precharge BA Endereço do Banco Don’t care 55 Memórias SDRAM (Synchronous DRAM) CLK COMANDOS READ DQ DADOS Don’t care  NOP NOP DADOS Indefinido Comando READ com Latência do CAS (CL) = 1 56 Memórias SDRAM (Synchronous DRAM) CLK COMANDOS READ NOP DQ DADOS Don’t care  NOP NOP DADOS Indefinido Comando READ com Latência do CAS (CL) = 2 57 Memórias SDRAM (Synchronous DRAM) CLK COMANDOS READ NOP NOP DQ NOP DADOS Don’t care  NOP DADOS Indefinido Comando READ com Latência do CAS (CL) = 3 58 Memórias SDRAM (Synchronous DRAM)  Comparação entre SDRAM de 12 ns e EDO de 60ns:   Barramento operando em 66 MHz:  SDRAM: 5+1+1+1 = 8 ciclos em 4 acessos  EDO: 5+2+2+2 = 11 ciclos em 4 acessos  Conclusão: SDRAM é 30% mais rápida que a EDO Barramento operando em 82 MHz:  SDRAM: 5+1+1+1 = 8 ciclos em 4 acessos  EDO: 6+3+3+3 = 15 ciclos em 4 acessos  Conclusão: SDRAM é 47 % mais rápida que a EDO 59 Parâmetros de Especificação  CL/tRCD/tRP/tRAS/CMD  CL : intervalo de tempo entre a ativação do CAS e a recepção dos dados  tRCD: tempo compreendido entre a ativação do RAS e a ativação do CAS  tRP: tempo requerido entre o término do acesso de uma linha e o início do acesso a uma outra  tRAS: tempo decorrido da recepção do sinal de seleção de linha no terminal RAS até a sua ativação propriamente dita  CMD: define o tempo compreendido entre a seleção de um banco (CS – Chip Select) e a emissão de um comando ACTIVE 60 Parâmetros de Especificação CLK ACTIVE COMANDOS NOP NOP READ/ WRITE NOP tRCD Don’t care  Visualização do parâmetro tRCD 61 Parâmetros de Especificação CLK tRP READ COMANDOS ENDEREÇOS PRE CHARGE NOP NOP BANCO a, COL n BANCO a, COL m DADOS DQ Don’t care  READ DADOS Indefinido Visualização do parâmetro tRP 62 Parâmetros de Especificação    Exemplo: 2-2-2-5-T1  CL = 2 (ciclos)  tRCD = 2 (ciclos)  tRP = 2 (ciclos)  tRAS = 5 (ciclos)  CMD = 1 (ciclo) Parâmetros gravados no módulo Podem ser mudados via SETUP do BIOS  Configuração do Registrador de Modo 63 Parâmetros de Especificação   Memórias SDRAM são especificadas também de acordo com a frequência nominal do barramento, na forma PCxxx Exemplos  PC66 → 66 MHz  PC100 → 100 MHz  PC133 → 133 MHz 64 Memórias DDR (Double Data Rate)  Também chamadas de DDR SDRAM   Transferência de dados se dá na borda de subida e na borda de descida do clock Os módulos DIMM DDR e SDRAM são muito semelhantes, diferenciando-se em:  SDRAM   Módulo tem 168 terminais  Chanfro duplo DDR   Módulo tem 184 terminais Chanfro único 65 Memórias DDR CLK COMANDOS DQ READ NOP NOP DADOS NOP DADOS DADOS NOP DADOS Don’t care  Comando READ com Latência do CAS = 2  Valores usuais para CL: 2, 2.5 e 3 66 Memórias DDR2   Transferem dados nas bordas de subida e descida do sinal de clock (como as DDR) Diferenças entre DDR, DDR2 e DDR3   Versões encontradas no mercado  DDR: 266 MHz, 333 MHz e 400 MHz  DDR2: 533 MHz, 677 MHz e 800 MHz  DDR3: 1066MHz (2x533) ou 1333MHz (2x667) Alimentação  DDR: 2,5 V  DDR2: 1,8 V  DDR3: 1,5 V 67 Memórias DDR2  Diferenças entre DDR2 e DDR (cont.):  Encapsulamento:  DDR: Módulos DIMM possuem 184 terminais  DDR2: Módulos DIMM possuem 240 terminais 68 Memórias DDR2  Diferenças entre DDR2 e DDR (cont.):  Arranjos dos chips nos módulos:  DDR: Arranjos TSOP (Thin Small-Output Package)  DDR2: Arranjos BGA (Ball Grid Array) 69 Parâmetros de Especificação    DDR(2)xxx/PC(2)yyyy  xxx é o dobro da frequência nominal de clock suportada pelo chip de memória, em MHz  yyyy é a taxa de transferência máxima alcançada pelo módulo de memória, em MB/s Exemplos:  DDR400 → 200 MHz; PC3200 → 3200 MB/s  DDR2-667 → 333 MHz; PC2-5400 → 5336 MB/s Parâmetros gravados no módulo 70 Referências • STALLINGS, W. Arquitetura e organização de computadores: projeto para o desempenho. 8. ed. Prentice Hall, 2009. • DELGADO, J.; RIBEIRO, C. Arquitetura de Computadores. 2 ed. LTC, 2009. • PATTERSON, D. A. ; HENNESSY, J.L. Organização e projeto de computadores – a interface hardware software. 3. ed. Editora Campus, 2005. 71