Buscar

IC e IEC: Memórias

Prévia do material em texto

IC e IEC: Memórias 
INTRODUÇÃO À (ENGENHARIA DE) COMPUTAÇÃO 
 
Referências: 
AOC - Stallings (8ª. ed 2010) caps 4 e 5 
OEC – Tanenbaum (5ª. ed 2007) caps 2, 3, 4 e 5 
IOC - Monteiro (5ª. ed 2010) cap 2, 4 e 5 
 
 
2 
Memória principal ou primária (Fig 2.2 ASOM4ed) 
• A memória é o espaço 
de armazenamento 
temporário. 
• Instruções e dados são 
armazenados na memória 
durante o processamento. 
célula = 8 bits
e
n
d
e
r
e
ç
o
s
0
2 -1
16
2
1
instrução ou dado
3 
Bits e Bytes 
• O Bit é a menor unidade de informação e corresponde a 0 ou 1. 
 
• O Byte é composto de 8 Bits. 
 
• Nos circuitos do computador 0 e 1 correspondem a estados 
“desativados” e “ativados” dos componentes dos computadores. 
 
• A memória é formada por milhares de componentes (capacitores 
ou transistores) capazes de representar e guardar (ou armazenar) 
estes estados. 
4 
Células de Memória 
Operação da célula de memória (Fig 5.1 AOC-Stallings) 
Tempo de acesso à memória 
 
O Tempo de acesso à memória é o tempo 
decorrido entre a apresentação do endereço (no 
barramento de endereços) e a obtenção do 
dado válido (no barramento de dados). 
 
 Quanto menor for tempo de acesso, a memória 
será mais rápida (maior velocidade). 
Hierarquia de Memórias (ASO-M) 
maior
capacidade de
armazenamento
maior custo e
velocidade
de acesso
Memória Secundária
Memória Cache
Memória Principal
Registradores
Hierarquia de memória (OECTB5ed) 
Hierarquia da memória (Fig 4.1 AOC-Stallings) 
À medida que desce na hierarquia 
• o custo por bit cai 
• a capacidade aumenta 
• o tempo de acesso aumenta 
• a velocidade diminui 
Memória cache (OECTB5ed) 
Estrutura cache/memória principal (Fig 4.4 AOC-Stallings) 
Operação da cache (AOC-Stallings) 
• CPU requisita conteúdo do local de memória. 
• Verifica se os dados estão em cache. 
• Se estiverem, apanha da cache (rápido). 
• Se não, lê bloco solicitado da memória principal para a 
cache. 
• Depois, entrega da cache à CPU. 
• Cache inclui tags para identificar qual bloco da memória 
principal está em cada slot da cache. 
Memória de semicondutores 
• Memórias não-voláteis: Não requerem o fornecimento 
de energia constante para reter os dados (armazena-
mento permanente) 
• Somente leitura 
• Leitura/escrita (L/E = R/W: Read/Write) 
 
• Memórias voláteis (RAM: random-access memory) 
• Requerem o fornecimento de energia constante, para 
reter os dados (armazenamento temporário) 
Memórias não-voláteis 
• ROM : Gravadas durante a fabricação 
• PROM: ROM Programável (só uma vez) e precisa de 
equipamento especial para programar. 
• (UV)EPROM (UV Erasable PROM ): apagada (Erased) por 
UV (luz ultra-violeta) 
• EEPROM (Electrically Erasable PROM): apagada 
eletricamente. Apaga byte a byte. Demora muito mais para 
escrever do que para ler 
• MEMÓRIA FLASH: número finito de modificações 
(escrita/exclusão). Tipos: NAND e NOR 
 
Memória apenas de leitura: ROM 
 
• ROM (Read Only Memory ) é uma memória permanente (não 
volátil) gravada durante a fabricação, sendo muito cara para 
pequenas quantidades. 
 
• São usadas na microprogramação, tabelas de função, 
programas de inicialização (POST, BIOS e BOOT), 
configuração (setup) e sistemas embutidos (VCR, DVD, 
celulares, etc.) 
 
Flash NOR 
• Interface de endereços similar à RAM, com 
acesso aleatório a qualquer posição da memória 
• Mais cara e de leitura mais rápida, permitindo o 
XiP (execute in place), ou seja, pode rodar 
diretamente do chip de memória, não precisa 
copiar para RAM. 
• Tempo de gravação mais lento (750 ns). 
• De 10.000 a 1.000.000 de ciclos de limpeza 
Flash NAND 
• Maior densidade (armazena uma quantidade 
maior de dados) com menor custo. 
• Gravação mais rápida. 
• São endereçadas usando blocos (páginas) e 
acessadas através de um barramento serial. 
• Para executar um programa, precisa primeiro 
copiá-lo para a memória RAM. 
 
célula de memória: Flash NAND 
Memórias voláteis: RAM 
• RAM (random-access memory): acesso aleatório 
(acesso à qualquer posição) 
• Requerem o fornecimento de energia constante, 
para reter os dados (armazenamento 
temporário) 
 
• Leitura/escrita (L/E = R/W: Read/Write) 
 
• Estática (SRAM) ou dinâmica (DRAM) 
RAM Estática : SRAM 
• Bits são armazenados circuitos implementados com portas 
lógicas (chaves on/off ), não necessita de circuitos de 
regeneração (refresh). 
 
• Construção mais complexa e usa flip-flops (lógica digital). 
 
• Maiores por bits  menor densidade, mais rápidas e mais 
caras 
 
• Usadas nas memórias cache 
Estrutura da RAM estática (Fig 5.2b AOC-Stallings) 
Memória 4 x 3 (Estática) 
RAM dinâmica: DRAM 
• Bits armazenados como carga em capacitores que se 
descarregam, mesmo quando ligados: necessitam de circuitos 
de regeneração (refresh). 
 
• Construção mais simples e usa dispositivo basicamente 
analógico onde o nível de carga determina o valor. 
 
• Menor por bit  maior densidade, Mais lentas e mais baratas 
 
• Usadas na Memória principal 
Estrutura da RAM dinâmica (Fig 5.2a AOC-Stallings) 
Operação da DRAM (AOC-Stallings) 
• Linha de endereço ativa quando bit é lido ou escrito. 
• Chave de transistor fechada (corrente flui). 
• Escrita: 
• Voltagem na linha de bit: alta para 1 baixa para 0. 
• Depois sinaliza linha de endereço: transfere carga ao capacitor. 
• Leitura: 
• Linha de endereço selecionada: Transistor liga. 
• Carga do capacitor alimentada por linha de bit para amplificador 
comparar com valor de referência para determinar 0 ou 1. 
• Carga do capacitor deve ser restaurada. 
Regeneração: refreshing 
• Circuito de regeneração incluído no chip 
• Desabilita o chip 
• Conta por linhas 
• Leitura e reescrita 
• Gasta tempo 
• Reduz o desempenho 
Características de 
Processadores e DRAMs 
Temporização leitura DRAM (Fig 5.16 AOC-Stallings) 
Empacotamento (Fig 5.4 AOC-Stallings) 
(a) 
A address 
D data 
Vcc power 
Vss ground 
Vpp write 
CE chip enable 
 
 
(b) 
A address 
D data 
Vcc power 
Vss ground 
CAS column 
RAS row 
OE Output 
enable 
WE write 
enable 
Empacotamento e tipos de 
memória: módulos de memória 
• SIMM (single inline memory module) - Módulo de 
memória em linha única 
• SIMM – 30 (30 terminais, módulos de 8 bits) 
• SIMM – 72 (32 bits) 
• DIMM (Double In Line Memory Module) - 168 vias 
(64 bits) 
Módulo SIMM (OECTB5ed) 
 SIMM de 256 MB: com dois chips de controle 
Módulos DIMM, DDR-DIMM e RIMM 
 
Módulo de memória DIMM. 
 
 
 
Módulo de memória DDR-DIMM. 
 
 
 
 
Módulo de memória RIMM. 
 
Barramentos: Hyper Transport e FSB 
Tipos de SDRAM (DRAM SÍNCRONA) 
• FPM : retém a última página acessada 
• EDO : envia endereço por antecipação 
• SDRAM : síncrona – usa o clock do barramento 
local: FSB de 100 e 133 MHz( PC-100 e PC-133) 
 
• DDR-SDRAM, DDR2-SDRAM e DDR3-SDRAM 
 
• RAMBUS/RDRAM 
MEMÓRIAS DDR-SDRAM 
• SDRAM só pode enviar dados uma vez por ciclo de clock. 
• DDR (Double data rate) SDRAM pode enviar dados duas 
vezes por ciclo de clock, usando a transição de subida e 
transição de descida. 
• O módulo DDR-266 trabalha a 133 MHz 
• PC-1600 - Opera a 100 MHz - 1600 MB/s 
• PC-2100 - Opera a 133 MHz - 2100 MB/s 
Temporização leitura SDRAM DDR (Fig 5.15 AOC-Stallings) 
MEMÓRIAS DDR,DDR-2 e DDR-3 
MEMÓRIAS DDR-2 
• Quatro transferências de dados por ciclo de clock 
• Voltagem mais baixa (menor dissipação de calor) 
• ODT (On-Die Termination): terminação resistiva 
feita dentro do chip de memória (menos ruído). 
 
MEMÓRIAS DDR-3 
• Taxa de transferência duas vezes maior que a DDR2, ou 
seja, oito transferências por ciclo. 
• Consome cerca de 30% menos energia do que a DDR2. 
• Trabalha com voltagem de 1.5 V, menor que 1.8 V da 
DDR2 ou 2.5 V da DDR 
DDR x DDR-2 x DDR-3 
MEMÓRIAS DDR-3 
MEMÓRIAS GDDR-5 
• Memória especialmente otimizada para placas de vídeo. 
• GDDR5 é baseada na DDR3 
 
• Usa barramento mais largo permitindo que a GPU 
transfira mais bits de cada vez. 
 
• Utiliza chips de memória mais rápidos, que suportem 
frequências de operação mais altas, ou realizem um 
número maior de transferências por ciclo. 
 
 
DRAM RAMBUS (RDRAM) (AOC-Stallings) 
• Adotada pela Intel para Pentium & Itanium. 
• Concorrente principal da SDRAM. 
• Pacote vertical – todos os pinos em um lado. 
• Troca de dados por 28 fios < cm. 
• Barramento endereça até 320 chips RDRAM a 1,6Gbps. 
• Protocolo de bloco assíncrono: 
• Tempo de acesso de 480ns. 
• Então, 1,6 Gbps. 
Memórias: Comparação (OECTB5ed) 
Memórias: Comparação (Tab 5.1 AOC-Stallings) 
Intel x86: caches (AOC-Stallings) 
 
• 80386 – nenhuma cache no chip. 
 
• 80486 – 8 KB usando linhas de 16 bytes organização associativa 
em conjunto com 4 linhas. 
 
• Pentium (todas as versões) – duas caches L1 no chip. 
• Dados e instruções: 
 
• Pentium III – cache L3 adicionada fora do chip. 
 
Caches no Pentium IV 
Pentium IV (2000): 
• Caches L1 NU (8k dados – 12k instruções RISC) com linhas 
256/512 bits 
• Cache L2 256k unificada com linhas de 1024 bits 
Pentium IV EE (2004) - L2 1 MB - L3 2 MB 
• Caches L1: 8 KiB com linhas de 64 bytes, associativa em 
conjunto com 4 linhas. 
• Cache L2: 256 KIB com linhas de 128 bytes, associativa em 
conjunto com 8 linhas. Alimenta ambas as caches L1. 
• Cache L3 cache no chip. 
 
 
Diagrama em blocos do Pentium 4 (Fig 4.18 AOC-Stallings) 
Intel® Core™2 Duo 
 
 
 
 
Multicore x86 da Intel (Fig 18.9 AOC-Stallings) 
Intel® Core™2 Duo 
 
 
 
 
Intel® Core™2 Duo 
- Dual Core e 64 bits com núcleo de tecnologia de 
65 nm 291 milhões de transistores com soquete LGA 
775 e pipeline de 14 estágios 
- Intel® Core™2 Duo (2006): 
- E4300 – 1.8 GHz e FSB 333/1333 MHz – L1 2x32KB – 
L2 4MB – TDP 80W). 
- Intel® Core™2 Extreme (2006): 
- X6800 – 2.9 GHz e FSB 333/1333 MHz – L1 2x32KB – 
L2 4MB – TDP 80W). 
Intel® Core2Quad 
Intel® Core2Quad 
Intel® Core 2 Quad 
Intel® Core2 Quad Q6600 
- Core2 Quad Q6600 
- 4 núcleos de processamento 
- cache de 8MB L2 
- Clock de 2.40Ghz 
- Barramento FSB de 1066Mhz, 
Intel® Core i7 
Intel Core I7 (Fig 18.10 AOC-Stallings) 
Intel® Core 2010 
• Inclui os processadores Core i3, Core i5 e Core I7. 
• De dois a seis núcleos com Hyper-Threading. 
• Controlador de memória DDR3 integrado no chip. 
• 64 KB de cache L1 (32 KB de dados + 32 KB de 
instruções) por núcleo; 
• Caches L2 de 256 KB por núcleo e cache L3 de até 
12 MB compartilhada. 
• Conjunto de instruções SSE 4.2 
• Modo Turbo (overclock automático). 
• Barramento QPI(QuickPath Interconnect) 
Intel® Core i7 
Intel® Core i7 
Intel® Core i7 
Intel® Core i7 
Intel® Core i3 e i5 
Intel® Core™ i7-990 X Extreme Edition 
• 6 núcleos e 12 threads 
• 1.17 bilhões de transistores 
• Clock 3.46 GHz – Turbo 3.73 GHz 
• 12 MiB Cache L3 
• RAM Max 24GiB DDR3 (depende da memória) 
• 6.40 GT/s Intel® QPI 
• Tecnologia: 32 nm 
• Max TDP 130 W 
• Socket FCLGA1366 
Intel® Core i7 980X 
Intel® Xeon X7560 
• Voltado para servidores 
• Clock: 2,266 GHz (base) 2,66 GHz(max) 
• QPI: 25,6 GiB/s 
• L3: 24 MiB 
• TDP Max (Thermal Design Power): 130 W 
• Nucleos/segmentos: 8/16 (Hyper-Threading) 
• Tecnologia: 32 nm 
 
Intel Core: latência de cache (Fig 18.10 AOC-Stallings) 
Athlon 64 
- 64 bits e disponível nas versões o soquetes 754, 
soquete 939 e o novo soquete AM2. 
- O controlador de memória é integrado dentro do próprio 
processador 
- Endereços físicos de 40 bits, endereços virtuais de 48 
bits 
- 16 registradores de inteiros de 64 bits 
- 16 registradores de SSE/SSE2/SSE3 de 128 bits 
- AMD Digital Media XPress™ fornece suporte para 
instruções SSE, SSE2, SSE3 e MM 
AMD Phenom™ II X6 
AMD Phenom™ II X6 
AMD Phenom™ II X6 1090T 
• 6 núcleos com Clock 3.2/3.6 GHz 
• Phenom II X6 1090T 
• US$ 295 
• L1 128KiB (64KB + 64KB) e L2 512KiB por núcleo 
• L3 6MB compartilhada 
• Soquete AM3 e TDP 125W 
• Tecnologia 45nm SOI 
• HyperTransport™ Technology 16.0GiB/s 
 
 
AMD Opteron™ série 6000 
AMD Opteron™ série 6000 
AMD Opteron™ série 6000 
• Voltada para o mercado de servidores 
• Opções de 8 ou 12 núcleos (cores) por soquete. 
• Escalabilidade para até 48 cores. 
• L2 Cache: 512K/core L3 Cache: 12MB 
• Até 4 canais de memória com suporte para DDR3 
• 4 links HyperTransport™ 3.1 (HT3) com 25.6 GiB/s 
(6.4GiB/s por link) 
 
Cache: evolução na IA-32 (Tab 4.4a AOC-Stallings) 
AMD Opteron™ série 6000 
High performance Model 6180 SE 
12 cores @ 2.5 Ghz 
Mainstream Model 6176 
12 cores @ 2.3 Ghz 
Mainstream Model 6140 
8 cores @ 2.6 Ghz 
Low power Model 6166 HE 
12 cores @ 1.8 Ghz 
Low power Model 6132 HE 
8 cores @ 2.2 Ghz 
 Arquitetura Cell 
Tecnologia de alto desempenho de processamento sem o 
ônus do alto consumo de energia e preços elevados. 
• O Processador Cell que é uma arquitetura multicore 
heterogênea de nove núcleos. Destas nove células, uma é de 
lógica fixa e as outras oito são programáveis. 
• Foi um desenvolvimento conjunto da Sony, IBM e Toshiba 
denominado CBEA (Cell Broadband Engine Architecture) para 
ser utilizada para demandas como entretenimento, 
criptografia e computação científica. 
• O PS3 (Playstation 3 ) da Sony usa este processador. 
• Pode ser usado em outros produtos eletrônicos como TV de 
Alta Definição, geladeiras, haldhelds e até servidores. 
CELL 
 
 
 Arquitetura Cell 
• Um PPE (PowerPC Processor Element) de 64 bits simplificado controla as 
outras unidades de processamento. 
• Oito SPE (Synergistic Processing Element) são unidades de processa-
mento em ponto flutuante de 64 bits com sua própria memória de acesso 
rápido (256KB) e se ocupam do trabalho destinado pelo PPE, sendo que 
1 núcleo é encarregado do sistema operacional e 6 pelo processamento 
real do console e 1 núcleo reserva para substituir algum outro núcleo que 
tenha sofrido avaria ou que tenha algum tipo de defeito de fabricação 
• Um EIB (Element Interconnect Bus) liga os vários módulos do Cell. 
• Quatro Flex10 (Interface de Input/Output) são módulos que se 
comunicam com o exterior, exceto com a memória que utiliza uma 
grande largura de banda baseada na tecnologia Rambus (São 44,8GB/s 
disponíveis para a saída de dados e 32GB/s de entrada. Estes valores não 
encontram paralelismo em outros sistemas informáticos atualmente 
utilizados). 
 ARM: características da cache (Tab 4.6 AOC-Stallings) 
Organização de cache da ARM (AOC-Stallings) 
• Pequeno buffer de escrita FIFO. 
• Melhora o desempenho de escrita da memória. 
• Entre cache e memória principal. 
• Pequena cache c.f. 
• Dados colocados no buffer de escritana velocidade de clock 
do processador. 
• Processador continua a execução. 
• Escrita externa em paralelo até vazio. 
• Se buffer encher, processador adiado (stall). 
• Dados no buffer de escrita não disponíveis até serem escrito. 
• Assim, mantém buffer pequeno. 
Cache: comparação de tamanhos (Tab 4.3 AOC-Stallings)

Outros materiais