Baixe o app para aproveitar ainda mais
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)
Compartilhar