• Nenhum resultado encontrado

2. Arquitetura de Computadores

N/A
N/A
Protected

Academic year: 2021

Share "2. Arquitetura de Computadores"

Copied!
23
0
0

Texto

(1)

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

ULA UC CPU MEMÓRIA Barramento do sistema Barramento de E/S Periféricos

(2)

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.

(3)

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.

(4)

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

CPU MEMÓRIA vias de endereço vias de controle vias de dados BARRAMENTO

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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.

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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.

(15)

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.

(16)

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.

(17)

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:

células de memória

(18)

• 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.

(19)

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

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

(20)

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

(21)

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.

(22)

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ódulo Clock real da memória

Tempo de ciclo Taxa de transferência Denominação do padrão DDR-200 100 MHz 10 ns 1600 MB/s PC-1600 DDR-266 133 MHz 7,5 ns 2100 MB/s PC-2100 DDR-333 166 MHz 6 ns 2700 MB/s PC-2700 DDR-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ão DDR2-400 100 MHz 200 MHz 10 ns 3200 MB/s PC2-3200 DDR2-533 133 MHz 266 MHz 7,5 ns 4266 MB/s PC2-4200 DDR2-667 166 MHz 333 MHz 6 ns 5333 MB/s PC2-5300 DDR2-800 200 MHz 400 MHz 5 ns 6400 MB/s PC2-6400 DDR2-1066 266 MHz 533 MHz 3,75 ns 8533 MB/s PC2-8500

(23)

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-6400 DDR3-1066 133 MHz 533 MHz 7,5 ns 8533 MB/s PC3-8500 DDR3-1333 166 MHz 667 MHz 6 ns 10667 MB/s PC3-10600 DDR2-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.

Referências

Documentos relacionados

O Banco de Cabo Verde é responsável pela definição e implementação da Política Monetária, ancorada nos objetivos de garantia da estabilidade dos preços e manutenção da solidez

Forminha Torta de Maçã Bandeja Crespa Aço Inox. Forma Confeiteiro

São diversos os recursos esquemáticos utilizados pela Engenharia de Métodos, tais como fluxograma, mapofluxograma, gráfico do fluxo do processo, carta de-para,

Ressalte-se que as informações deverão não apenas estar disponíveis, mas também é fundamental que sejam divulgadas em formato de fácil compreensão. Também é objetivo da PNAC

A ADMINISTRADORA e a GESTORA buscarão manter carteira de títulos com prazo médio superior a 365 (trezentos e sessenta e cinco) dias calculado conforme metodologia de cálculo do

É composta pelo nome civil do empresário individual, acompanhado ou NÃO, do ramo de atividade;3. FIRMA SOCIAL OU RAZÃO SOCIAL: é a espécie de nome adotada por sociedades

O modelo de apuração de resultado proposto para as empresas de carcinicultura baseou-se nos conceitos de Gestão Econômica que trata os impactos das transações ocorridas no

1. O objeto da presente licitação é a contratação de empresa especializada na prestação de serviços de plano coletivo de seguro contra acidentes pessoais, morte