2. arquitetura de computadores -...

23
2. Arquitetura de Computadores A estrutura bem como o funcionamento dos computadores digitais são baseados num modelo elaborado pelo matemático húngaro e cientista da computação John von Neumann na década de 40. Este modelo é chamado de arquitetura de von Neumann e consiste de alguns poucos elementos interconectados, que quando considerados em conjunto constituem a forma como os computadores atuais estão organizados. Os principais elementos desta arquitetura são a unidade de controle (UC), a unidade lógico-aritmética (ULA), a memória, o barramento (também chamado de bus, em inglês) e as interfaces para dispositivos de entrada e saída (E/S). A unidade de controle é responsável pela coordenação dos demais elementos, determinando qual componente da arquitetura deve atuar e quando. Na ULA são realizados todos os cálculos artiméticos bem como operações de comparação. Com a evolução da computação, a UC e a ULA acabaram encapsuladas em um único elemento denominado de unidade central de processamento, a UCP (ou CPU, da sigla em inglês). A arquitetura de von Neumann. Os dados e as instruções do programa que está sendo executado ficam armazenadas na memória, que é acessada pela CPU através do barramento. A CPU 1 ULA UC CPU MEMÓRIA Barramento do sistema Barramento de E/S Periféricos

Upload: buidieu

Post on 06-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

2. Arquitetura de Computadores

A estrutura bem como o funcionamento dos computadores digitais são

baseados num modelo elaborado pelo matemático húngaro e cientista da

computação John von Neumann na década de 40. Este modelo é chamado de

arquitetura de von Neumann e consiste de alguns poucos elementos

interconectados, que quando considerados em conjunto constituem a forma como os

computadores atuais estão organizados.

Os principais elementos desta arquitetura são a unidade de controle (UC), a

unidade lógico-aritmética (ULA), a memória, o barramento (também chamado de

bus, em inglês) e as interfaces para dispositivos de entrada e saída (E/S). A unidade

de controle é responsável pela coordenação dos demais elementos, determinando

qual componente da arquitetura deve atuar e quando. Na ULA são realizados todos

os cálculos artiméticos bem como operações de comparação. Com a evolução da

computação, a UC e a ULA acabaram encapsuladas em um único elemento

denominado de unidade central de processamento, a UCP (ou CPU, da sigla em

inglês).

A arquitetura de von Neumann.

Os dados e as instruções do programa que está sendo executado ficam

armazenadas na memória, que é acessada pela CPU através do barramento. A CPU

1

ULA UC

CPU

MEMÓRIA

Barramento do sistema

Barramento de E/S

Periféricos

Page 2: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

busca na memória tanto as instruções que deve executar como os dados associados

a estas instruções, e pode também armazenar na memória o resultado da

computação por ela realizada, como por exemplo o resultado de uma operação de

soma de dois valores que estavam nesta memória.

O barramento pode ser considerado, a grosso modo, uma série de vias

paralelas através da qual os dados, na forma de bits, são transmitidos. A quantidade

de vias paralelas (isto é, a largura do barramento) e a sua frequência de

funcionamento (ou o “ ritmo” com o qual os dados são transmitidos) são os dois

principais fatores que determinam o desempenho do barramento. Esta é uma

consideração relevante pois o desempenho do barramento exerce uma influência

muito grande no desempenho da arquitetura, uma vez que os dados e as instruções

que estão sendo executadas devem passar necessariamente pelo barramento para

irem da memória para a CPU e vice-versa.

O fato do barramento representar um fator limitante para o desempenho do

computador é conhecido como gargalo de von Neumann, e é importante ainda hoje

pois as CPUs atuais possuem uma capacidade de processamento significativamente

maior que a capacidade de vazão (ou taxa de transferência ou ainda throughput) do

barramento. Ainda com relação ao barramento, este pode ser diferenciado em dois

tipos principais: o barramento do sistema, responsável pela comunicação entre a

CPU e a memória, e o barramento de entrada e saída, dedicado a transferência de

dados com os dispositivos de entrada e saída.

Os dispositivos de entrada e saída de dados, também chamados de

periféricos, permitem que dados do meio externo sejam armazenados na memória e

processados pela CPU, e também possibilitam que dados armazenados sejam

apresentados ao meio externo. O monitor e a impressora são dois exemplos de

dispositivos de saída de dados, enquanto que o scanner, o teclado, o mouse, o

microfone e a webcam são exemplos de dispositivos de entrada de dados. Com a

evolução tecnológica alguns dispositivos assumem o papel tanto de entrada como

de saída de dados, como é o caso de telas de monitor sensíveis ao toque

(touchscreens). Nas seções a seguir serão detalhados os principais componentes

desta arquitetura.

2

Page 3: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

A memória

A memória é o dispositivo responsável pelo armazenamento dos dados que

participam da computação. A memória pode ser classificada inicialmente como

sendo primária (ou principal) ou então secundária (também chamada de auxiliar ou

ainda memória de massa). A memória principal é aquela que via de regra é

implementada por chips presentes na placa-mãe ou em pentes de memória enquanto

que a memória secundária é representada por meios de armazenamento magnético

(como em discos rígidos), ótico (como no CD e no DVD) ou estado sólido (como

na memória Flash e unidades SSD). Nesta seção será focada a memória primária.

Com relação a memória principal, pode-se distinguir dois tipos de memória,

no que diz respeito a volatilidade dos dados: na memória RAM (Random Access

Memory), os dados somente são mantidos pelos circuitos de memória enquanto

estes forem supridos com energia elétrica; já na memória do tipo ROM (Read Only

Memory) não é necessário este suprimento de energia elétrica, não havendo perda

de dados caso seja interrompido este suprimento.

Outra diferença importante entre estes dois tipos de memória é que a

memória RAM pode ter seu conteúdo modificado constantemente, sendo por isto

usada para armazenar as instruções que a CPU deve executar, por exemplo. A

memória ROM geralmente não pode ter seu conteúdo modificado, sendo este

gravado “em fábrica”. Com o tempo surgiram variações de memória ROM que

permitem que esta tenha seu conteúdo alterado, mas neste caso o processo de

gravação é bem mais lento e complexo se comparado com a escrita em memória

RAM.

De maneira simplificada, a comunicação entre CPU e memória ocorre

através de um barramento, onde parte de suas vias é encarregada do tráfego de

dados, outra parte é responsável pelo tráfego de endereços de memória e um

terceiro conjunto de vias transmite informações de controle. Cada posição da

memória é referenciada por um endereço, sendo que neste endereço de memória

está armazenado um valor resultado de uma computação realizada pela CPU, por

exemplo.

3

Page 4: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Os diferentes grupos de vias do barramento: dados, endereços e controle.

Caso a CPU deseje armazenar na memória um dado resultante de uma

computação, ela irá colocar o dado na parte de dados do barramento, enquanto que

na parte de endereço ela irá colocar a posição onde este dado deve ser armazenado

na memória e nas vias de controle a CPU colorá a informação de que esta é uma

operação de escrita na memória.

A título de exemplo, se a parte de endereços do barramento for composta

por 20 vias, então a memória só poderá ter 220 (isto é, um mega) posições

endereçáveis, sendo o endereço inicial correspondente a posição zero e o último

endereço correspondente a posição 1048575, de um total de 1048576 endereços de

memória (ou um mega posições de memória).

A memória ROM

A primeira forma de ROM desenvolvida foi a ROM de estado sólido, onde

os circuitos já eram configurados durante sua fabricação para codificar (representar)

os dados. Um conteúdo tipicamente gravado em ROM é o firmware, que

geralmente representa um programa e dados voltados para o controle de

dispositivos eletrônicos. A memória PROM (Programmable ROM) desenvolvida no

meio da década de 50 permite que o conteúdo da memória seja modificado através

de pulsos elétricos de alta voltagem, embora este processo só possa ser realizado

uma única vez.

No início da década de 70, um avanço importante foi o desenvolvimento da

EPROM (Erasable PROM) que pode ter seu conteúdo apagado através do uso de

4

CPU

MEMÓRIA

vias de endereço

vias de controle

vias de dados

BARRAMENTO

Page 5: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

luz ultravioleta. O processo de apagamento implica no uso de uma lâmpada que

emitirá este tipo de luz através de uma pequena janela (de quartzo) no chip, por

onde os circuitos de memória ficam expostos a radiação eletromagnética. A

gravação é realizada também com o uso de pulso elétricos de alta voltagem. Uma

vez concluída a gravação, a janela é coberta com material opaco a fim de preservar

o conteúdo da memória.

Um chip de memória EPROM.

A memória EEPROM (Electrically Erasable PROM) ou E2PROM, permite

que o contéudo seja regravado diversas vezes, sem haver a necessidade do uso de

luz ultravioleta, empregando-se somente pulsos elétricos da ordem de 12 a 20 V.

Uma forma mais recente de EEPROM desenvolvida na década de 80 pela Toshiba é

a memória Flash. É baseada no uso de portas lógicas do tipo NOR ou NAND, e

permite no seu atual estágio de desenvolvimento até um milhão de regravações. É

muito popular como dispositivo de memória de massa na forma de pendrives, por

exemplo.

A BIOS (Basic Input Output

System) é um exemplo de chip de

memória ROM presente nas placas-mãe

dos microcomputadores, e que contém

uma série de rotinas básicas de gravação e

leitura em dispositivos periféricos (como a

5

Um chip de BIOS da AMI

Page 6: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

rotina de escrita de um caracter na tela do console em modo texto, por exemplo). A

BIOS possui também uma rotina chamada POST (Power On Self Test) que é

responsável pelo auto teste do hardware do computador no momento em que este é

ligado, identificando a configuração da máquina, inicializando o chipset da placa-

mãe, detectando quanto de memória RAM está instalada, verificando se o teclado

está conectado, iniciando a carga do sistema operacional (se houver), etc.

O programa de Setup é outro elemento que faz parte da BIOS e é através

dele que o usuário pode configurar alguns aspectos importantes do funcionamento

do computador, como a frequência de funcionamento de alguns dispositivos como

barramentos e memórias, embora esta capacidade de configuração dependa de

diversos fatores e os fabricantes a tenham diminuído significativamente nos últimos

anos.

A tela de Setup de uma BIOS AMI .

Os dados da configuração do Setup são geralmente armazenados em

memória CMOS presente na placa-mãe (integrada a chipset), e que é usualmente

alimentada por uma bateria. A memória CMOS (Complementary Metal-Oxide-

Semiconductor) foi desenvolvida na década de 60 e tem como características

6

Page 7: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

relevantes o baixo consumo de energia e uma alta imunidade a ruídos, sendo

também empregada para a implementação de memórias SRAM.

Os principais fabricantes de chips BIOS (AMI-American Megatrends,

Phoenix e Award) deixaram de empregar a tecnologia ROM clássica para ao

longo dos anos migrar para as EPROMs (década de 80 e primeira metade da década

de 90) e finalmente para a tecnologia Flash. Isto confere uma flexibilidade maior

para o usuário final, que pode com o auxilio de software específico (flasher)

atualizar a BIOS de seu computador para a versão mais recente disponibilizada pelo

fabricante.

A especificação SMBIOS (System Management BIOS) define rotinas e

estruturas de dados que devem ser suportadas pela BIOS de tal modo que um

aplicativo possa solicitar informações de configuração para a BIOS, que irá

fornecer estes dados para o programa solicitante, permitindo desta forma um

gerenciamento automatizado do computador. Antes da SMBIOS este conjunto de

rotinas era padronizado através de outra especificação denominada DMI (Desktop

Management Interface).

A partir dos computadores equipados com CPU 80386 passou a ser utilizada

uma técnica conhecida como shadowing, onde o conteúdo da BIOS era copiado

para uma porção da memória RAM (mais rápida que a ROM), e toda vez que

rotinas da ROM (isto é, da BIOS) tivessem que ser executadas, eram chamadas as

cópias encontradas nesta região da memória RAM.

A memória RAM

Uma das primeiras formas de implementação de memória RAM deu-se

através das memórias de núcleo de ferrite desenvolvidas no final da década de 40,

que empregavam pequenos anéis de cerâmica perpassados por finos fios de cobre.

Apesar de possuir um desempenho inferior se comparada às tecnologias posteriores

como a RAM dinâmica, a memória de núcleo de ferrite foi empregada até meados

dos anos 80, devido ao fato de ser uma memória não volátil e ser também bastante

7

Page 8: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

imune a radiação. Os tempos de acesso chegaram a ser de 600 ns nas

implementações da década de 70.

Uma matriz de memória RAM de núcleo de ferrite com 1 KB.

Com o abandono progressivo das memórias de núcleo de ferrite e a adoção

maciça dos chips baseados em silício a tecnologia de memórias RAM desembocou

nas memórias SRAM (Static RAM) e DRAM (Dynamic RAM). Alguns conceitos

são importantes no contexto destas tecnologias:

Tempo de acesso : é o tempo decorrido desde o momento em que o circuito

de memória recebe o endereço a ser acessado até o momento em que o dado

correspondente a este endereço esteja disponibilizado nas vias de dados do

barramento do sistema. Geralmente é medido em nanosegundos (1 nano

segundo corresponde a 1 bilionésimo de segundo);

Operação de refresh : as informações armazenadas em células de memória

DRAM necessitam ser reforçadas periodicamente ( a cada poucos

milisegundos) através de cargas elétricas, caso contrário o conteúdo desta

células é perdido.

Wait states : as primeiras gerações de memória DRAM tinham um tempo de

acesso muito alto, o que obrigava a CPU a suspender suas operações

8

Page 9: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

durantes alguns ciclos (chamados então de wait states) para permitir que os

circuitos de memória conseguissem fornecer os dados solicitados pela CPU.

Tempo de ciclo: é o tamanho do ciclo, medido em nanosegundos; se um

barramento funciona a 100 MHz, seu tempo de ciclo é de 1/100000, o que

corresponde a 100 ns; já se a frequência for de 166 MHz, o tempo de ciclo

será de aproximadamente 6ns.

Chips de memória são atualmente montados nos chamados pentes de memória,

e são organizados em módulos. Por exemplo: numa memória descrita como sendo

8 x 32, o número 8 indica a quantidade de chips encontrada no módulo enquanto

que o número 32 indica a capacidade de cada chip (usualmente em mega ou

gigabits). Neste caso específico, este pente possui 8 vezes 32 megabits, ou seja, 8

vezes 4 megabytes, o que resulta num pente de 32 megabytes.

Encapsulamentos

Ao longo da evolução da tecnologia de memórias, diversas formas de

encapsulamento físico foram desenvolvidas, incluíndo desde o formato DIP até as

variantes do formato DIMM e RIMM empregadas atualmente.

DIP (Dual in-line package) : é a forma mais antiga de empacotamento de

memória; foi empregada nas linhas IBM PC, XT e AT; eram chips

encaixados em soquetes apropriados na placa-mãe.

Memória com encapsulamento DIP

SIPP (Single in-line pin package): empregado nos computadores que

utilizavam microprocessadores 80286 e 80386, possuindo pinos dispostos

em linha para encaixe na placa-mãe.

9

Page 10: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Memória com encapsulamento SIPP

ZIP (Zig-zag in-line package): muito semelhante ao encapsulamento SIPP,

mas já possuindo chips com uma densidade mais alta e portanto de maior

capacidade, necessitando um número maior de pinos; isto foi solucionado

através de uma disposição em zig-zag dos pinos; foi empregado nos últimos

ATs e primeiros 80386.

SIMM (Single in-line Memory Module): os pinos foram substituídos por

terminais elétricos; existiram em duas versões, de 30 terminais (80386 e

primeiros 80486) e 72 terminais (80486 e primeiras gerações Pentium);

possuiam capacidade de 256 KB a 12 MB para pentes de 30 vias e de 1 MB

a 64 MB para pentes de 72 vias. Os pentes de 30 vias possuiam 8 bits na

parte de dados do barramento, enquanto que pentes de 72 vias possuiam 32

bits para o barramento de dados.

Acima um pente SIMM-30 vias e abaixo um pente SIMM-72 vias

DIMM (Double in-line Memory Module): em um pente DIMM há 168

terminais elétricos; com este tipo de encapsulamento foram fabricados os

primeiros módulos de memória com tecnologia SDRAM (DRAM

síncrona), correspondendo aos padrões PC-66, PC-100 e PC-133). Nestes

10

Page 11: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

pentes há normalmente a presença de um pequeno chip E2PROM,

denominado SPD (Serial Presence Detect), responsável pelo

armazenamento de informações de configuração dos módulos de memória,

como o tipo do padrão (PC-100, por exemplo) e tempos de latência. A

capacidade de um pente DIMM varia entre 8 MB e 256 MB. Possuem 64

bits na parte de dados do barramento.

Um pente DIMM (168 vias); em destaque, chip SPD.

DDR-DIMM (Double Data Rate DIMM): são pentes com 184 terminais

(DDR) ou 240 terminais (DDR2 e DDR3) que utilizam tecnologia DDR

SDRAM. Este tipo de pente possui um chanfrado duplo nas suas laterais

que o diferenciam de um pente DIMM convencional. Podem apresentar

capacidades de armazenamento da ordem de gigabytes.

Um pente DDR (184 vias); em destaque, chanfrados.

Uma variante empregada principalmente em computadores servidores são

pentes de memória com buffers, denominados buffered, fully buffered (FB-DIMM)

ou registered DIMMs. Os chips adicionais (que exercem o papel de buffer) isolam

11

Page 12: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

os demais chips de memória do pente dos circuitos do barramento, o que permite

uma maior escalabilidade aos módulos de memória, pois a interface com o

barramento de memória permanece inalterada, uma vez que é projetada para

comunicar-se com os buffers. O custo de pentes com buffer é maior do que o de

módulos convencionais (sem buffer); além disso, o desempenho de módulos com

buffer tende a ser menor, pois em função dos buffers as operações de escrita e

leitura em meória tornam-se mais complexas, e consequentemente mais

demoradas.

Pente registered DIMM

RIMM (Rambus in-line Memory Module): pente com módulos de memória

utilizando tecnologia licensiada pela empresa Rambus Inc.(atualmente é

uma subsidiária da Intel); possuem 184 terminais e seus pentes devem

sempre ocupar todos soquetes de memória disponíveis na placa-mãe. Caso

isto não aconteça é necessária a utilização de pentes do tipo C-RIMM

(Continuity RIMM) nos soquetes vagos. Há versões com 16 e 32 bits na

parte de dados do barramento.

Um pente RIMM de 128MB

SO-DIMM (Small Outline DIMM) e MicroDIMM: são encapsulamentos

empregados em computadores portáteis (laptops), possuindo dimensões

12

Page 13: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

reduzidas. O encapsulamento SO-DIMM possui versões com 72, 100 e 144

terminais (DIMMs convencionais) e 200 e 204 terminais nas versões com

tecnologia DDR. O encapsulamento MicroDIMM possui versões com 172

e 214 terminais (DDR2).

Um pente SO-DIMM

Pente SDRAM MicroDIMM 256 MB PC133

Pente DDR2-533 MicroDIMM

Bancos de memória

Um banco de memória é constituído por um grupo de módulos de memória,

que quando considerados em conjunto, possuem a mesma largura na parte de dados

do barramento que o barramento de dados da CPU. Uma placa-mãe pode por sua

vez disponibilizar uma série de bancos de memória, que devem então ser

13

Page 14: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

preenchidos adequadamente com pentes de memória de tal forma que a restrição

acima seja satisfeita.

Como exemplo, observe-se os dois casos a seguir:

O processador 80486 possui um barramento externo de dados com 32

bits de largura (isto é, com 32 vias); neste caso, para completar um

banco de memória são necessários quatro pentes SIMM-30 vias (cada

pente SIMM-30 possui 8 bits na parte de dados do barramento) ou então

somente um pente SIMM-72 vias, pois este possui 32 bits de largura no

seu barramento de dados.

O processador Pentium já nas suas primeiras gerações possuia um

barramento externo de 64 bits; neste caso, para completar um banco

seriam necessários dois pentes SIMM-72 vias ou então somente um

pente DIMM-168 vias.

O uso de bancos de memória é interessante do ponto de vista do

desempenho porque acelera o acesso a dados sequênciais. Se num banco de

memória está o primeiro byte a ser lido, num outro banco está localizado o byte

consecutivo, o que livra o processo de leitura de tempos de espera obrigatórios

quando se trata de acessos dentro de um mesmo banco.

Memórias SRAM (Static RAM)

Normalmente implementadas com transistores, este tipo de memória não

necessita de operações de refresh para manter seu conteúdo pois não havendo

capacitores envolvidos não há perda de informação ao longo do tempo (isto é,

enquanto os circuitos forem alimentados eletricamente). A figura abaixo ilustra a

estrutura de uma célula de memória SRAM capaz de armazenar 1 bit de

informação, e onde pode-se notar a presença de 6 transistores, geralmente utilizando

a tecnologia MOSFET (metal–oxide–semiconductor field-effect transistor), que é

uma das formas mais comuns de implementação de transistores em circuitos

integrados.

14

Page 15: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Uma célula de memória SRAM com um dos transistores em destaque (Imagem

de domínio público)

Em comparação com células de memória RAM dinâmicas (DRAMs), uma

célula SRAM ocupa mais espaço mas é bem mais rápida, permitindo tempos de

acesso muito baixos, inferiores a 10 ns. Memórias SRAM são usadas

principalmente como memória cache, permitindo que dados muito acessados na

RAM sejam disponibilizados em uma memória mais rápida que a DRAM. Seu

custo também é maior que o de memórias DRAM. Pode aparecer em chips na

placa-mãe (cache L3 e L4) ou então dentro da própria CPU (caches do tipo L1 e

L2).

Quando se trata de cache externo, são duas as formas mais comuns de se

encontrar este tipo de memória: ou em chips com encapsulamento DIP conectados

em soquetes ou soldados diretamente na placa-mãe ou então utilizando um módulo

de memória COAST (Cache On A Stick), similar a um pente SIMM-72 vias,

conectado a um soquete próprio próximo a CPU.

Memórias DRAM (Dynamic RAM)

As RAM dinâmicas foram desenvolvidas a partir do meio da década de 60

por engenheiros da IBM e Toshiba. Possuem uma estrutura mais simples que as

memórias SRAM, armazenando 1 bit de informação através da combinação de um

capacitor e um transistor. A figura abaixo apresenta uma célula DRAM, completa

com dois transistores de acesso.

15

Page 16: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Uma célula de memória DRAM com o capacitor em destaque (Imagem de domínio

público)

Pelo fato do estado (valor) do bit ficar armazenado no capacitor, e este ser

um componente que retém carga durante um período limitado de tempo, memórias

DRAM necessitam executar operações periódicas de refresh para reestabelecer seu

conteúdo. Seu tempo de acesso é significativamente maior que o de memórias

SRAM. No início da década de 90, chips de memória DRAM convencionais

apresentavam tempos de acesso da ordem de 120 ns, evoluíndo em poucos anos

para tempos em torno de 50 e 60 ns, enquanto que chips SRAM apresentavam no

mesmo período tempos de acesso de 6 a 9 ns.

Em chips de pentes DRAM convencionais geralmente vinha impresso seu

tempo de acesso, na forma de um número precedido por um traço ou barra, como na

figura abaixo.

Chip de memória DRAM com tempo de acesso em destaque.

16

Page 17: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

As células de memória DRAM são organizadas em formato matricial, em

linhas e colunas, e na intersecção de cada linha e coluna há uma célula (1 bit). O

funcionamento de um módulo de memória DRAM é ditado pelo controlador de

memória e envolve dois sinais denominados RAS (Row Address Strobe) e CAS

(Column Address Strobe). Quando o controlador recebe o endereço a ser acessado,

este endereço é convertido para um endereço de linha e um endereço de coluna. A

figura a seguir apresenta este esquema:

Organização e funcionamento da DRAM.

O processo de conversão de endereço é realizado em etapas através do

disparo pelo controlador dos sinas RAS e CAS, como apresentado a seguir:

17

célulasde

memória

Write Enable

Page 18: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

• Barramento de endereço recebe a posição a ser acessada;

• Sinal RAS é ativado, o que coloca o endereço de linha no Latch de

endereço de linha;

• O decodificador de endereço de linha seleciona a linha da matriz de

células de memória que deve ser acessada;

• Se for uma operação de escrita, o sinal Write Enable (habilitação de

escrita) estará ativado; se for uma operação de leitura este sinal é

desativado;

• Sinal CAS é ativado, e o endereço de coluna é colocado no Latch de

endereço de coluna;

• Assim que o sinal CAS esteja estabilizado, o dado correspondente a

linha e colunas selecionadas é colocado no barramento de dados

(Data Bus), no caso de uma operação de leitura; se for uma operação

de escrita, o dado presente no barramento de dados é armazenado nas

células da linha e colunas selecionadas; estas operações são

realizadas pelo circuito de Sensores e Amplificação;

• Os sinais RAS e CAS são desativados, a fim de que um novo ciclo

de leitura/escrita possa ser realizado.

O diagrama apresentado a seguir ilustra esta sequência de eventos:

18

Page 19: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Diagrama de temporização de memórias DRAM

Os seguintes atrasos (delays) constituem um ciclo de acesso a memória:

• tRCD: é o RAS to CAS delay time; é o intervalo de tempo após a ativação

RAS quando o CAS é ativado; o valor do endereço de coluna já deve estar

estabilizado nas linhas de endereço;

• tRAH: é o address hold time; é o tempo necessário que o endereço de linha

deve ser mantido (retido) após a ativação do sinal RAS;

• tCAC: é o Tempo de Acesso de Coluna, que corresponde ao delay mínimo

entre o momento em que o sinal CAS é ativado e o momento em que o dado

está disponível no Data Bus;

• tRAC: é o Tempo de Acesso de Linha e corresponde ao tempo mínimo

necessário de espera entre o momento em que o sinal RAS é ativado e o

momento em que o dado desejado está no Data Bus.

Outros atrasos devem também ser considerados quando se trata da

temporização de memórias DRAM. Um tipo de atraso é o que deve existir entre

dois acessos consecutivos a memória DRAM. Este atraso é necessário pois como

as células de memória trabalham com capacitores estes consomem um certo tempo

para carga e descarga. Os atrasos denominados RAS precharge delay (tRP) e CAS

precharge delay (tCP) são os tempos mínimos necessários para que estes sinais

19

Dado disponível no Data Bus (se for operação de leitura)

tRCD

tRAC

ROW COL

DADO

tRAH

tCAC

Ativação RAS

Ativação CAS

Desativação RAS e CAS

RAS precharge

CAS precharge

Page 20: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

possam ser novamente ativados. Estes tempos de pré-carga ocorrem logo após estes

sinais serem desativados.

Uma das técnicas empregadas para acelerar o funcionamento das memórias

dinâmicas foi o uso de memória paginada (Page Mode RAM), onde a memória é

dividida em seções (páginas) de, por exemplo, 2 KB ou 4 KB. Os circuitos do

controlador foram otimizados de tal forma que quando dados são acessados dentro

de uma mesma página não havia a necessidade da introdução de tempos de espera

(wait states), que só ocorriam quando era preciso acessar dados de diferentes

páginas.

A memória DRAM convencional possui uma interface assíncrona com o

barramento do sistema (que a comunica com a CPU). Isto significa que os circuitos

de memória funcionavam o mais rápido que podiam mas sem estarem atrelados ao

clock do barramento do sistema, uma vez que este era mais rápido que a memória,

assim como a CPU que também trabalhava numa frequência bem superior aos

circuitos de memória. Neste contexto, os tempos de acesso dos módulos de

memória eram fornecidos em nanosegundos. Com o advento da DRAM síncrona,

cuja frequência de operação (na interface) era a mesma do barramento do sistema,

deixou-se de utilizar uma medida de tempo (como o nanosegundo) para quantificar

o tempo de acesso, sendo este agora representado por ciclos de clock.

A evolução tecnológica de memórias dinâmicas começou a ocorrer de forma

mais acentuada a partir do fim da década de 80 e se estendeu por toda década de 90.

Diversas melhorias foram sendo introduzidas, resultando nas variantes conhecidas

como FPM, EDO, BEDO, SDRAM, DDR SDRAM e Rambus DRAM, e que são

discutidas a seguir.

FPM DRAM (Fast Page Mode DRAM): Esta tecnologia foi empregada até o meio

da década de 90. A FPM existe em módulos SIMM-72, com capacidades de 2, 4, 8,

16 e 32 MB. Seu diferencial era manter o último endereço de linha acessado, o que

acelerava acesso posteriores feitos a mesma linha de células de memória. O

primeiro acesso (a uma linha) envolvia uma quantidade de ciclos maior que os

20

Page 21: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

acessos subsequentes a mesma linha. No caso da FPM, uma linha de células

equivale a uma página, daí a denominação Fast Page Mode.

Como exemplo, no caso do barramento trabalhando a 66 MHz, poderiamos

ter os módulos de memória FPM operando com 6-3-3-3, ou seja 6 ciclos para o

primeiro acesso e 3 ciclos para cada um dos 3 acessos (na mesma linha) posteriores;

com 66 MHz o tempo de ciclo é de 15 ns, e 6 ciclos correspondem portanto a 90 ns

(o tempo de acesso). O tempo total levando em conta os 4 acessos seria de 90 ns +

(3 vezes 45 ns), o que corresponde a 225 ns. Comparando com uma DRAM

convencional, esta operaria com ciclos 6-6-6-6, correspondendo a um tempo total

de 360 ns.

EDO DRAM (Extended Data Out DRAM): é resultado de uma modificação nas

memórias FPM, que permite manter o conteúdo de uma leitura de dados no

barramento de saída do chip enquanto o acesso seguinte já é iniciado pela CPU.

Disponível em módulos SIMM-72 e DIMM-168. Essa modificação permite um

ganho médio de desempenho de 10% em relação aos módulos FPM.

Supondo uma frequência de 66 MHz, se em um pente FPM a ciclagem fosse

6-3-3-3, em um pente EDO poderíamos ter 6-2-2-2, num total de 3 pulsos de clock

a menos. Os módulos de memória EDO operavam com tempos de acesso de até 50

ns. As memórias BEDO (Burst EDO) contavam com um controlador um pouco

mais sofisticado, só demandando gasto de tempo para acessar o primeiro dado, pois

os 3 dados seguintes eram automaticamente disponibilizados pelo controlador no

Data Bus de saída, o que gerava um ganho de tempo para acessos sequenciais da

ordem de até 20% em relação a memórias EDO.

SDRAM (Synchronous DRAM): No fim da década de 90 surgiram os módulos com

tecnologia SDRAM. Este tipo de memória trabalha com a mesma frequência do

barramento do sistema.

PC-66: São memórias SDRAM de até 10ns que trabalhem a 66MHz.

PC-100: trabalham na freqüência de operação 100 MHz e com tempo de

acesso de 8 ns ou inferior.

21

Page 22: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

PC-133: São SDRAM que operam na frequência de 133MHz.

DDR SDRAM (Double Data Rate SDRAM): As memórias do tipo DDR (Double

Data Rate) são baseadas numa nova tecnologia que permite a transmissão de dados

tanto na borda de subida como na borda de descida da onda correspondente ao sinal

de clock, o que na prática permite que a largura de banda (capacidade de

tranferência) seja o dobro em relação as memórias SDRAM convencionais.

A título de exemplo, o módulo de DDR-200 trabalha com um clock de 100

MHz, mas como possui um aproveitamento superior da onda do sinal de clock,

atinge o desempenho que seria o correspondente a uma memória SDRAM

convencional que funcionasse (hipoteticamente) a 200 MHz. Daí o módulo ser

batizado de DDR-200. Na tabela a seguir pode-se observar as principais

características de algumas configurações típicas de módulos DDR.

Denominação

do móduloClock real da memória

Tempo

de ciclo

Taxa de

transferência

Denominação

do padrãoDDR-200 100 MHz 10 ns 1600 MB/s PC-1600DDR-266 133 MHz 7,5 ns 2100 MB/s PC-2100DDR-333 166 MHz 6 ns 2700 MB/s PC-2700DDR-400 200 MHz 5 ns 3200 MB/s PC-3200

Denominação

do módulo

Clock real da

memória

Clock do

barramento

Tempo de

ciclo

Taxa de

transferência

Denominação

do padrãoDDR2-400 100 MHz 200 MHz 10 ns 3200 MB/s PC2-3200DDR2-533 133 MHz 266 MHz 7,5 ns 4266 MB/s PC2-4200DDR2-667 166 MHz 333 MHz 6 ns 5333 MB/s PC2-5300DDR2-800 200 MHz 400 MHz 5 ns 6400 MB/s PC2-6400DDR2-1066 266 MHz 533 MHz 3,75 ns 8533 MB/s PC2-8500

22

Page 23: 2. Arquitetura de Computadores - professor.unisinos.brprofessor.unisinos.br/linds/introcomp/livro_arq.pdf · A estrutura bem como o funcionamento dos computadores digitais são baseados

Denominação

do módulo

Clock real da

memória

Clock do

barramento

Tempo de

ciclo

Taxa de

transferência

Denominação

do padrão DDR3-800 100 MHz 400 MHz 10 ns 6400 MB/s PC3-6400DDR3-1066 133 MHz 533 MHz 7,5 ns 8533 MB/s PC3-8500DDR3-1333 166 MHz 667 MHz 6 ns 10667 MB/s PC3-10600DDR2-1600 200 MHz 800 MHz 5 ns 12800 MB/s PC3-12800

RDRAM (Rambus DRAM): A tecnologia RDRAM emprega um padrão de

barramento proprietário. A arquitetura interna dos circuitos difere das demais pois

não utiliza uma única matriz dos capacitores e sim 16 matrizes de capacitores,

possibilitando a leitura e escrita simultânea de até 16 dados por circuito. Como

exemplo, pode possuir uma taxa de transferência de 1,6GB/s em CPUs que operam

com o barramento do sistema na frequência de 200 MHz.

23