Arquitectura interna do computador
TIS
20-05-2010
1
Arquitectura interna do computador
TIS
20-05-2010
A memória precisa ter uma organização que permita ao computador
guardar e recuperar informações quando necessário.
Não teria nenhum sentido armazenar informações que não fosse possível
recuperar depois. Portanto, não basta transferir informações para a
memória.
É preciso ter como encontrar essa informação mais tarde, quando ela for
necessária, e para isso é preciso haver um mecanismo que registe
exactamente onde a informação foi armazenada (lembrando nossa analogia
com o computador hipotético, imagine encontrar uma informação guardada
ao acaso, se nosso escaninho tivesse 1 milhão de compartimentos...).
Célula é a unidade de armazenamento do computador.
A memória principal é organizada em células. Célula é a menor unidade da
memória que pode ser endereçada (não é possível buscar uma "parte" da
célula) e tem um tamanho fixo (para cada máquina).
As memórias são compostas de um determinado número de células ou
posições.
Cada célula é composta de um determinado número de bits. Todas as
células de um dado computador tem o mesmo tamanho, isto é, todas as
células daquele computador terão o mesmo número de bits.
Cada célula é identificada por um endereço único, pela qual é
referenciada pelo sistema e pelos programas.
As células são numeradas sequencialmente, uma a uma, de 0 a (N-1),
chamado o endereço da célula. Endereço é o localizador da célula, que
permite identificar univocamente uma célula.
Assim, cada célula pode ser identificada pelo seu endereço.
Unidade de transferência é a quantidade de bits que é transferida da
memória em uma única operação de leitura ou transferida para a memória
em uma única operação de escrita. Uma célula não significa o mesmo que uma
palavra; uma célula não necessariamente contém uma palavra.
Palavra é a unidade de processamento da UCP. Uma palavra deve
representar um dado ou uma instrução, que poderia ser processada,
armazenada ou transferida em uma única operação.
2
Arquitectura interna do computador
TIS
20-05-2010
No entanto, em geral não é assim que acontece e os computadores
comerciais não seguem um padrão único para a organização da UCP e MP.
Computadores comerciais (tais como por exemplo os baseados nos
processadores Intel 486) podem ter o tamanho da palavra definido como de
32 bits, porém sua estrutura de memória tem células e de 16 bits
A estrutura da memória principal é um problema do projecto de hardware:
- Mais endereços com células menores ou menos endereços com células
maiores? O tamanho mais comum de célula era 8 bits (1 byte); hoje já são
comuns células contendo vários bytes.
A memória RAM é mais um dos componentes essenciais dos micros PCs.
O processador utiliza a memória RAM para armazenar programas e
dados que estão em uso, ficando impossibilitado de trabalhar sem pelo
menos uma quantidade mínima dela.
A sigla “RAM” significa “Ramdom Access Memory” ou “memória de acesso
aleatório”. Este nome é mais do que adequado, pois a principal característica
da memória RAM é a capacidade de fornecer qualquer dado anteriormente
gravado, com um tempo de resposta e uma velocidade de transferência
centenas de vezes superior à dos dispositivos de memória de massa, como o
disco rígido.
Mais uma característica marcante da memória RAM é o facto de ela ser
volátil, precisando ser constantemente reemergida para conservar os dados
gravados.
Como numa calculadora, perdemos todos os dados nela armazenados
quando desligamos o computador. Por exemplo se estiver escrever uma
carta no Word, e, de repente houver um pico de tensão e o computador
reinicializar, não vai ter tempo para salvar a carta no disco rígido, perderá
todo o trabalho.
A quantidade e velocidade das memórias são mais importantes que a
própria velocidade do processador, principalmente para quem trabalha
apenas com aplicativos de escritório, com imagens, ou trabalhar com vários
aplicativos abertos ao mesmo tempo. De nada adianta termos um
processador muito rápido, se devido à pouca quantidade de memória
disponível, seu desempenho é sub - utilizado devido ao uso de memória
virtual, ficando limitado à performance do disco rígido.
Para ter uma ideia do quanto a quantidade de memória RAM é importante,
um simples 486 com uma quantidade razoável de memória RAM (32 MB ou
mais) é capaz de rodar o Windows 95/98 e a maioria dos aplicativos mais
rápido do que um Pentium III de 500 MHz com apenas 8 MB de memória.
A memória RAM é mais um dos componentes essenciais dos micros PCs. O
processador utiliza a memória RAM para armazenar programas e dados que
3
Arquitectura interna do computador
TIS
20-05-2010
estão em uso, ficando impossibilitado de trabalhar sem pelo menos uma
quantidade mínima dela.
FUNCIONAMENTO
Os chips de memória RAM possuem uma estrutura extremamente
simples. Para cada bit 1 ou 0 a ser armazenado, temos um minúsculo
capacitador; quando o capacitador está carregado electricamente temos um
bit 1 e quando ele está descarregado temos um bit 0.
Para cada capacitador temos um transístor, encarregado de ler o bit
armazenado em seu interior e transmiti-lo ao controlador de memória.
A produção de chips de memória é similar ao de processadores: também
utilizamos um waffer de silício como base e um laser para marcá-lo.
A diferença é que os chips de memória são compostos basicamente de
apenas uma estrutura básica: o conjunto capacitador/transístor, que são
repetidos alguns milhões de vezes, enquanto os processadores são formados
por estruturas muito mais complexas.
ACESSO A DADOS
Para ler e gravar dados na memória, assim como controlar todo o trânsito
de dados entre a memória e os demais componentes do micro, é usado mais
um circuito, chamado controlador de memória, que faz parte do chipset
localizado na placa mãe. Para facilitar o acesso a dados, dividimos os
módulos de memória em linhas e colunas.
FORMATO
Os chips de memória são frágeis placas de silício, que precisam ser
encapsulados em alguma estrutura mais resistente antes de serem
transportados e encaixados na placa mãe.
MEMÓRIAS REGULARES
As memórias regulares ou “comuns” foram o primeiro tipo de memória
usado em micros PC.
Neste tipo antigo de memória, o acesso é feito enviando primeiro o
endereço RAS e em seguida o endereço CAS, da forma mais simples possível
as memórias regulares são encontradas apenas na forma de módulos DIP, e
foram utilizadas em micros XT, 286 e em alguns dos primeiros micros 386.
4
Arquitectura interna do computador
TIS
20-05-2010
MEMÓRIAS SDRAM (SYNCHRONOUS DYNAMIC RAM)
As memórias SDRAM por sua vez, são capazes de trabalhar sincronizadas
com os ciclos da placa mãe, sem tempos de espera. Isto significa, que a
temporização de uma memória SDRAM é sempre de uma leitura por ciclo.
Independentemente da velocidade de barramento utilizada, a temporização
das memórias SDRAM poderá ser de 5-1-1-1.
Como é preciso que a memória SDRAM a ser usada seja rápida o
suficiente para acompanhar a placa mãe, encontramos no mercado versões
com tempos de acesso entre 15 e 6 nanossegundos.
Para não trabalharem sincronizadas com o relógio da placa mãe, as
memórias FPM e EDO poderiam trabalhar com qualquer velocidade de
barramento, 100, 133, 200 MHz, ou até mais, desde que os tempos de
espera fossem acertados correctamente. Porém, quanto mais alta a
velocidade, maior teriam que ser os tempos de espera e pior seria o
desempenho das memórias.
Por isso, não se costuma utilizar memórias EDO ou FPM em velocidades
de barramento superiores a 75 MHz, apenas memórias SDRAM.
Memoria RAM e Memoria SDRAM
5
Arquitectura interna do computador
TIS
20-05-2010
Em informática, um endereço de memória é um identificador de
memória local, em que um programa de computador pode armazenar dados e
depois recuperá-los. Geralmente este é um número binário, de uma
sequência finita ordenada, que descreve exclusivamente a própria memória.
Nos computadores, cada endereço identifica um único byte de
armazenamento. Uma grande quantidade de dados para ser armazenada num
único byte, pode residir em vários bytes, ocupando uma sequência de
endereços consecutivos.
A eficiência de endereçamento de memória depende do tamanho do
barramento de endereços.
Num programa, um endereço específico, é um endereço de memória
que identifica exclusivamente um local na memória e o endereço relativo não
é único e especifico de um local apenas.
6
Arquitectura interna do computador
TIS
20-05-2010
Modos de endereçamento
 Permitem especificar como os operandos estão disponíveis na
memória ou no banco de registadores.
 Diferentes arquitecturas têm números de modos de endereçamento
diferentes.
Tipos comuns






Imediato
Directo
Indirecto
Via Registador
Indirecto via Registador
Deslocamento (Relativo, Registo-Base, Indexação, Pilha)
ENDEREÇAMENTO IMEDIATO
A forma mais simples de endereçamento é o endereçamento imediato, no
qual o operando está efectivamente presente na instrução.
Este modo pode ser usado para definir e usar constantes ou atribuir os
valores iniciais às variáveis. Tipicamente, o número é guardado em
complemento para dois; o bit mais à esquerda do campo do operando é usado
como bit de sinal. Quando o operando é carregado num registo de dados, o
bit de sinal estende-se para a esquerda até ao máximo tamanho da palavra
de dados.
7
Arquitectura interna do computador
TIS
20-05-2010
A vantagem do endereçamento imediato é que não há nenhuma
referência à memória para além da extracção da instrução necessária para
obter o operando, dessa forma, poupando o ciclo de memória ou de cache no
ciclo de instrução.
A desvantagem é que o tamanho do campo de endereçamento é
restringido ao tamanho do campo de endereço, o qual, em grande parte dos
jogos de instruções é pequeno quando comparado com o tamanho da palavra.
ENDEREÇAMENTO DIRECTO
Uma forma muito simples de endereçamento é o endereçamento directo,
no qual o campo de endereço contém o endereço efectivo do operando.
Esta técnica era habitual nas primeiras gerações de computadores e
ainda pode ser encontrada num certo número de pequenos sistemas de
computadores. A limitação óbvia, mencionada antes, é que esta apenas
permite um campo de endereçamento limitado.
ENDEREÇAMENTO INDIRECTO
O problema que se põe com o endereçamento directo é que o
comprimento do campo de endereço é habitualmente inferior ao
comprimento da palavra, desta forma, limitando a gama de endereços. Uma
solução é ter o campo de endereço a referenciar o endereço de uma palavra
na memória, a qual, por sua vez, contém o endereço completo do operando.
Isto é conhecido como endereçamento indirecto.
8
Arquitectura interna do computador
TIS
ENDEREÇAMENTO
20-05-2010
POR
REGISTO
O endereçamento por registo é semelhante ao endereçamento directo. A
única diferença é que o campo de endereçamento referencia um registo em
vez de um endereço na memória principal.
Tipicamente, um campo de endereçamento que referencia registos terá 3
ou 4 bits, pelo que um total de 8 ou 16 registos de uso geral podem ser
referenciados.
As vantagens do endereçamento de registos são que na instrução é
necessário, apenas, um campo pequeno de endereço e não são requeridas
referências à memória. O tempo de acesso à memória é muito menor para
um registo interno ao processador do que para um endereço na memória
principal.
A desvantagem do endereçamento de registos é que o espaço de
endereçamento é muito limitado.
Compete ao programador decidir quais os valores que devem permanecer
nos registos e os que devem ser guardados em memória. A maior parte dos
processadores actuais empregam múltiplos registos de uso geral,
entregando ao programador da linguagem de montagem a responsabilidade
pela eficiência da execução (e.g. programador de compiladores).
9
Arquitectura interna do computador
TIS
20-05-2010
ENDEREÇAMENTO INDIRECTO
POR
REGISTO
Tal como o endereçamento por registo é análogo ao endereçamento
directo, o endereçamento indirecto de registos é análogo ao endereçamento
indirecto. Em ambos os casos, a única diferença é se o campo de endereço
referencia uma posição de memória ou um registo.
As vantagens e limitações do endereçamento indirecto de registo são
basicamente as mesmas que as para o endereçamento indirecto. Em ambos
os casos, a limitação do espaço de endereçamento é ultrapassada se
fizermos com que aquele campo refira uma localização que contenha um
endereço com o comprimento da palavra. Adicionalmente, o endereçamento
indirecto de registos usa menos uma referência à memória do que o
endereçamento indirecto.
ENDEREÇAMENTO
POR
DESLOCAMENTO
10
Arquitectura interna do computador
TIS
20-05-2010
Um modo poderoso de endereçamento combina as capacidades do
endereçamento directo e de endereçamento indirecto de registo. É
conhecido por uma variedade de nomes dependendo do contexto de
utilização, mas o mecanismo básico é o mesmo. Este é referido como
endereçamento por deslocamento.
O endereçamento por deslocamento requer que a instrução tenha dois
campos de endereços, um dos quais, pelo menos, explícito. O valor contido
num dos campos de endereço é usado directamente. O outro campo de
endereço, ou uma referência implícita baseada no código de operação
refere-se a um registo cujo conteúdo é adicionado a A para produzir o
endereço efectivo.
Três das mais comuns utilizações do endereçamento por deslocamento são:
Endereçamento Relativo
 Endereçamento por Registo-Base
 Indexação

ENDEREÇAMENTO RELATIVO
Para o endereçamento relativo, o registo implicitamente referenciado é o
apontador de programa (PC). Isto é, o endereço da instrução corrente é
adicionado ao campo de endereço para produzir o EA. Tipicamente, o campo
de endereço, para esta operação, é tratado como um número em
complemento para dois.
O endereçamento relativo explora o conceito de localidade. Se a maioria das
referências à memória estiverem relativamente perto da instrução que está
11
Arquitectura interna do computador
TIS
20-05-2010
a ser executada, então a utilização do endereçamento relativo poupa bits de
endereços da instrução.
ENDEREÇAMENTO
POR
REGISTO-BASE
Para o endereçamento por registo base, a interpretação é a seguinte:
O registo referenciado contém um endereço de memória e o campo de
endereço contém um deslocamento (habitualmente um inteiro em
representação sem sinal) desde aquele endereço. O registo pode ser
referido explícita ou implicitamente.
O endereçamento por registo base também explora a localidade das
referências à memória. É uma maneira apropriada de implementar
segmentação. Em algumas implementações, um único registo base de
segmento é empregado e usado implicitamente. Noutros, o programador
pode escolher um registo para conter o endereço base de um segmento e a
instrução tem de referenciá-lo explicitamente.
12
Arquitectura interna do computador
TIS
20-05-2010
INDEXAÇÃO
Para a indexação, a interpretação é tipicamente a seguinte:
O campo de endereço referencia um endereço na memória principal e o
registo referenciado contém um deslocamento positivo desde aquele
endereço. É de notar que esta utilização é exactamente a oposta da
interpretação para o endereçamento registo-base. Claro que é mais do que,
apenas, uma questão de interpretação do utilizador. Uma vez que em
indexação, o campo de endereço é considerado como sendo um endereço na
memória, este contém mais bits do que o campo de endereço numa instrução
comparável de registo-base. Também veremos que há alguns refinamentos à
indexação que não seriam úteis no contexto de registo-base. Seja como for,
o método de cálculo do EA para o endereçamento por registo-base e
indexação é o mesmo para ambos e em ambos os casos a referência ao
registo é umas vezes implícita e outras vezes explícita (para diferentes
tipos de processadores).
Uma importante utilização da indexação é fornecer um mecanismo
eficiente para efectuar operações iteractivas.
Em algumas máquinas, é suprido tanto o endereçamento indirecto como a
indexação e é possível empregar ambas na mesma instrução. Há duas
possibilidades: a indexação é efectuada depois ou antes do endereçamento
indirecto. Se a indexação é efectuada depois de endereçamento indirecto é
designada por pós-indexação.
Com pré-indexação a indexação é efectuada antes do endereçamento
indirecto.
13
Arquitectura interna do computador
TIS
20-05-2010
Um endereço é calculado tal como uma indexação simples. Nesta caso,
contudo, o endereço calculado contém não o operando, mas o endereço do
operando.
ENDEREÇAMENTO DE PILHA
O último modo de endereçamento é o endereçamento de pilha. Uma pilha
é uma lista linear de posições e algumas vezes é referida como uma lista
empurra para baixo ou fila “último-a-chegar primeiro-a-sair”. A pilha é
um bloco reservado de posições. Os itens são adicionados ao topo da pilha
de forma a que, a qualquer momento, o bloco possa ser preenchido.
Associado com a pilha está um apontador cujo valor é o endereço do topo da
pilha. Em alternativa os dois elementos do topo da pilha podem estar em
registos do processador, neste caso o apontador de pilha referencia o
terceiro elemento da pilha. O apontador de pilha é mantido num registo.
Assim, as referências a posições da pilha na memória são na verdade
endereços indirectos por registo.
O modo de endereçamento de pilha é uma forma de endereço implícito.
As instruções máquina não necessitam de incluir uma referência à memória,
mas operam implicitamente no topo da pilha. As pilhas não têm sido,
tradicionalmente, muito comuns mas estão a tornar-se extremamente
comuns em micro-processadores.
14
Arquitectura interna do computador
TIS
20-05-2010
Memória RAM
Memória de acesso aleatório, é um tipo de memória que permite a leitura
e a escrita, utilizada como memória primária em sistemas electrónicos
digitais.
O termo acesso aleatório identifica a capacidade de acesso a qualquer
posição em qualquer momento, por oposição ao acesso sequencial, imposto
por alguns dispositivos de armazenamento, como fitas magnéticas.
Memória ROM
A memória somente de leitura é um tipo de memória que permite apenas a
leitura, ou seja, as suas informações são gravadas pelo fabricante uma única
vez e após isso não podem ser alteradas ou apagadas, somente acedidos. São
memórias cujo conteúdo é gravado permanentemente.
15
Arquitectura interna do computador
TIS
20-05-2010
Uma memória somente de leitura propriamente dita vem com seu
conteúdo gravado durante a fabricação. Actualmente, o termo Memória
ROM é usado informalmente para indicar uma gama de tipos de memória que
são usadas apenas para a leitura na operação principal de dispositivos
electrónicos digitais, mas possivelmente podem ser escritas por meio de
mecanismos especiais.
Memória cache
Memória Cache é uma pequena quantidade de memória estática de alto
desempenho, tendo por finalidade aumentar o desempenho do processador
realizando uma busca antecipada na memória RAM
CACHE L1
Uma pequena porção de memória estática presente dentro do
processador. Em alguns tipos de processador, como o Pentium 2, o L1 é
dividido em dois níveis: dados e instruções (que "dizem" o que fazer com os
dados). A partir do Intel 486, começou a se colocar a L1 no próprio chip
[processador]. Geralmente tem entre 16KB e 128KB; hoje já encontramos
processadores com até 2MB de cache.
CACHE L2
Possuindo o Cache L1 um tamanho reduzido e não apresentando uma
solução ideal, foi desenvolvido o cache L2, que contém muito mais memória
que o cache L1. Ela é mais um caminho para que a informação requisitada não
16
Arquitectura interna do computador
TIS
20-05-2010
tenha que ser procurada na lenta memória principal. Alguns processadores
colocam essa cache fora do processador, por questões económicas, pois uma
cache grande implica num custo grande, mas há excepções, como no Pentium
II, por exemplo, cujas caches L1 e L2 estão no mesmo cartucho que está o
processador. A memória cache L2 é, sobretudo, um dos elementos
essenciais para um bom rendimento do processador mesmo que tenha um
clock baixo.
CACHE L3
Terceiro nível de cache de memória. Inicialmente utilizado pelo AMD K6III (por apresentar o cache L2 integrado ao seu núcleo) utilizava a cache
externo presente na placa-mãe como uma memória de cache adicional. Ainda
é um tipo de cache raro devido a complexidade dos processadores actuais,
com suas áreas chegando a milhões de transístores por micrómetros ou
pirómetros de área. Ela será muito útil, é possível a necessidade futura de
níveis ainda mais elevados de cache, como L4 e assim por diante.
17
Arquitectura interna do computador
TIS
20-05-2010
Guia Completo de Memória
Quantia de memória que há num módulo
 Bits e Bytes
 Os requisitos de CPU e memória
 Cálculo da capacidade de um módulo
 Empilhamento
Até agora, falamos dos atributos técnicos da memória e como o sistema
funciona. O que resta saber são os detalhes técnicos, os "bits e bytes",
como são chamados. Esta secção aborda o sistema de numeração binário,
que forma a base da computação, assim como o cálculo da capacidade dos
módulos de uma memória.
Bits e bytes
Os computadores se comunicam através de um "código" chamado
"linguagem de máquina" em que são usados apenas dois numerais: 0 e 1. As
diferentes combinações de 0 e 1 formam os chamados números binários.
Estes números binários geram instruções que vão aos chips e aos
microprocessadores que impulsionam os dispositivos da computação, como
computadores, impressoras, unidades de disco rígido e assim por diante.
Ambos os termos "bits" e "bytes" são unidades de informação muito
importantes para a computação. O termo bit é a abreviatura de "dígito
binário". Como o nome sugere, um bit representa um único dígito num
número binário; um bit é a menor informação usada em computação e pode
ter um valor 1 ou 0. Um byte consiste em 8 bits. Quase todas as
especificações das capacidades de um computador são representadas em
bytes. Por exemplo, a capacidade da memória, as velocidades de
18
Arquitectura interna do computador
TIS
20-05-2010
transferência de dados e a capacidade de armazenamento de dados, todas
são medidas em bytes ou seus múltiplos (como kilobytes, megabytes ou
gigabytes.)
Este assunto de bits e bytes é importante quando se fala de dispositivos
e outros componentes do computador que trabalham juntos. Aqui, referimonos especificamente à forma em que os bits e os bytes foram a base do
desempenho e da interacção dos componentes de memória de medição com
outros dispositivos, como o CPU.
OS REQUISITOS DA CPU E DA MEMÓRIA
A CPU (unidade central de processamento) de um computador processam
dados em pedaços de 8 bits. Estes pedaços, como já foi dito na secção
anterior, costumam ser conhecidos como bytes. Como um byte é a unidade
fundamental de processamento, o poder de processamento da CPU costuma
ser descrito como a quantidade máxima de bytes que consegue processar
num dado momento. Por exemplo, os microprocessadores Pentium e Power PC
usam actualmente uma trajectória de dados de 64 bits, o que significa que
podem processar informações de 64 bits ou 8 bytes de forma simultânea
Cada transacção entre a CPU e a memória se chama ciclo de barramento. O
número de bits de dados que a CPU pode transmitir durante um ciclo de
barramento simples afecta o desempenho de um computador e estabelece o
tipo de memória de que este computador precisa. A maioria dos
computadores de mesa usa actualmente DIMM de 168 pinos, que suportam
rotas de dados de 64 bits. Os SIMM de 72 pinos anteriores foram criados
para suportar uma trajectória de dados de 32 bits. Quando eram usados em
configurações que suportavam uma trajectória de dados de 64 bits, tinham
de ser instalados em pares, com cada par de módulos formando um banco de
memória. Deste modo, a CPU se comunicava com o banco de memória como
uma unidade lógica.
Uma coisa interessante é que os módulos RIMM, que são mais novos que
os DIMM, usam rotas de dados de 16 bits, menores; entretanto, transmitem
informações muito rapidamente enviando diversos pacotes de dados por vez.
Os módulos RIMM usam tecnologia de tubulação para enviar quatro pacotes
19
Arquitectura interna do computador
TIS
20-05-2010
de 16 bits ao mesmo tempo a uma CPU de 64 bits, de tal forma que as
informações continuem sendo processadas em pacotes de 64 bits.
CÁLCULO DA CAPACIDADE DE UM MÓDULO
A memória mantém as informações que a CPU precisa processar. A
capacidade dos chips e dos módulos de memória é especificada em
megabytes (milhões de bytes). Ao verificar quanta memória um módulo tem,
há duas coisas importantes de que devemos lembrar: um modelo consiste
num grupo de chips. Se são somadas as capacidades de todos os chips no
módulo, é possível obter a capacidade total do módulo. As excepções a esta
regra são:
 Se alguma parte da capacidade está sendo usada para outras funções,
como um verificação de erros.
 Se alguma parte da capacidade não está sendo usada; por exemplo,
alguns chips podem ter linhas extras que são usadas como reserva
(isto não é comum).
Enquanto a capacidade dos chips costuma ser expressa em megabits, a
capacidade do módulo costuma ser expressa em megabytes. Isto pode ser
confuso, especialmente porque muita gente usa sem saber a palavra bit
quando querem dizer byte, e vice-versa. Para ajuda a esclarecer isto,
adoptaremos as seguintes normas neste manual: Quando falarmos da
quantidade de memória num módulo, usaremos o termo "capacidade do
módulo"; quando nos referirmos aos chips, usaremos o termo "densidade do
chip". A capacidade do módulo será medida em megabytes (MB) com ambas
as letras correspondentes à abreviatura escritas com maiúsculas, enquanto
a capacidade dos chips será medida em megabit (Mbit) e escreveremos a
palavra "bit" com letra minúscula.
20
Arquitectura interna do computador
TIS
Componente
Expressão
capacidade
de
Chips
Densidade
chips
dos
Capacidade
módulo
do
Módulos
memória
de
20-05-2010
Unidades
capacidade
de
Exem
plo
Mbit (Megabits)
64Mbit
MB (Megabytes)
64MB
DENSIDADE DOS CHIPS
Cada chip de memória é uma matriz de pequenas células. Cada célula
mantém um bit de informação. Os chips de memória são descritos pela
quantidade de informação que podem manter. Chamamos isto densidade do
chip. Talvez você já tenha visto exemplos de densidades dos chips, como
"SDRAM de 64 Mbit" o "8M por 8". Um chip de 64 Mbit, tem 64 milhões de
células e pode manter 64 milhões de bits de dados. A expressão "8M por 8"
descreve uma classe de chip de 64 Mbit mais detalhadamente.
Na indústria de memória, as densidades dos chips DRAM costumam ser
descritas pela sua organização de células. O primeiro número na expressão
indica a profundidade do chip (em locais) e o segundo número, indica a
amplitude do chip (em bits). Ao multiplicarmos a profundidade pela
amplitude obtemos a densidade do chip. Aqui são mostrados alguns
exemplos:
TECNOLOGIA DE CHIPS DISPONÍVEL ACTUALMENTE
Profundidade do
chip em
milhões de locais
Chips de 16
Densidade do
Amplitude do
chip em bits
chip =
Profundidade x
am
4
4
16
Mbit
1
16
16
4Mx4
2
8
16
21
Arquitectura interna do computador
1Mx16
TIS
20-05-2010
16
1
16
4Mx16
4
16
64
8Mx8
8
8
64
16Mx4
16
4
64
2Mx8
16Mx1
Chips de 64
Mbit
Chips de 128
Mbit
8Mx16
8
16
128
16Mx8
16
8
128
32Mx4
32
4
128
16Mx16
16
16
256
32Mx8
32
8
256
64Mx4
64
4
256
Chips de 256
Mbit
CAPACIDADE DO MÓDULO
É fácil calcular a capacidade de um módulo de memória se você conhece
as capacidades dos chips que o compõem. Se há 8 chips de 64 Mbits, se
trata de um módulo de 512 Mbits. Entretanto, como a capacidade de um
módulo é descrita em megabytes e não em megabits, deve-se converter os
bits em bytes. Para fazer isso, bata dividir o número de bits por 8. No caso
do módulo de 512 Mbit, seria como mostrado a seguir:
Talvez, você também tenha escutado que os módulos de memória padrão
na indústria são descritos como: "4M x 32" (ou seja, "4 Meg por 32"), ou
22
Arquitectura interna do computador
TIS
20-05-2010
"16M x 64" ("16 Meg por 64"). Nestes casos, calcule a capacidade do módulo
exactamente como se fosse um chip, como mostrado a seguir:
Outros exemplos adicionais:
Profundid
ade
Amplitud
em
Mbits
e em bits Profundidade
Padrão em locais
de dados
=
En MB=
vezes amplitude Mbits/8
1Mx32
1
32
32
4
2Mx32
2
32
64
8
72
4Mx32
4
32
128
16
pines
8Mx32
8
32
256
32
16Mx32
16
32
512
64
32Mx32
32
32
1024
128
8Mx64
8
64
512
64
16Mx64
16
64
1024
128
32Mx64
32
64
2048
256
64Mx64
64
64
4096
512
128Mx64
128
64
8192
1024
168
pines
Como já mencionamos, há espaço somente para um certo número de chips
numa PCI. Com base num DIMM de 168 pinos padrão da indústria, a
capacidade mais alta que os fabricantes de módulos podem alcançar usando
chips de 64 Mbits, é 128 MB com chips de 128 Mbits; o maior módulo
possível é de 256 MB e com chips de 256 Mbits, o maior módulo possível é
de 512MB.
23
Arquitectura interna do computador
TIS
20-05-2010
EMPILHAMENTO
Muitos servidores e estações de trabalho de grande porte exigem
módulos de maior capacidade para ter capacidades de memória do sistema
de vários gigabytes ou mais. Há duas formas de aumentar a capacidade de
um módulo. Os fabricantes podem empilhar chips uns sobre os outros, ou
podem empilhar placas.
EMPILHAMENTO DE CHIPS
Com o empilhamento de chips, dois chips são empilhados e ocupam o
espaço que normalmente ocuparia um. Em
alguns casos, o empilhamento é realizado de
forma interna na fábrica de produção do chip
e pode parecer se tratar de um único chip.
Noutros casos, os chips são empilhados de
forma externa. O exemplo a seguir mostra
dois chips empilhados de forma externa.
EMPILHAMENTO DE PLACAS
Como já é de se esperar, o empilhamento
de placas implica em colocar dois conjuntos
de placas de circuitos impressos (PCI) do
módulo
de
empilhamento
memória
de
juntas.
placas,
uma
Com
o
placa
secundária é montada sobre uma placa
primária que se adapta ao slot de memória
na placa-mãe do sistema.
24
Arquitectura interna do computador
TIS
20-05-2010
Paginação…
A paginação da memória do computador é um processo de virtualização da
memória que consiste na subdivisão da memória física em pequenas
partições (frames), para permitir uma utilização mais eficiente da mesma. A
alocação de memória é requisitada por páginas, a menor unidade deste
método. Cada página é mapeada numa frame de memória através de um
processo que chama paginação.
A paginação é implementada normalmente por unidades dedicadas de
hardware integradas nos processadores. No caso dos processadores da
família Intel x86, esta funcionalidade está atribuída à MMU. A paginação é
obtida através de consulta a tabelas que relacionam os endereços lineares
das páginas de memória com os endereços físicos das frames de memória
respectivas. Para acelerar este processo utilizam-se também pequenas
tabelas associativas designadas por TLB.
Um exemplo de Sistema Operacional que usa memória paginada é o Linux.
Nos Sistemas Operativos com memória virtual paginada podemos ter
programas em execução cujo tamanho é maior que a memória física
disponível, uma vez que se permite o mapeamento de páginas em memória
secundária.
Segmentação…
A segmentação é uma das maneiras mais comuns para a protecção de
memória, sendo a memória paginada outro método bastante utilizado.
Significa que parte da memória é removida do processo sendo executado
actualmente, através do uso de registadores. Se o dado prestes a ser lido
ou escrito está fora do espaço de endereços do processo, uma falha de
segmentação é lançada.
Qualquer programa de computador está dividido em secções, como as
declarações de variáveis e declarações de subrotinas, sobretudo se ele foi
escrito numa linguagem de alto nível. Em termos de execução, cada uma
dessas secções vai ocupar um segmento da memória.
25
Arquitectura interna do computador
TIS
20-05-2010
O sistema operativo que suporta este sistema possuirá uma tabela com os
tamanhos e endereços de memória dos vários segmentos de um programa
para saber onde estão. Cada segmento possui um conjunto de permissões
(leitura, escrita ou execução) e um tamanho associado. Se o processo é
autorizado pelas permissões a referenciar a memória da maneira como
deseja e se o endereço está no trecho do segmento, a referência do
endereço da memória é permitida. Senão, a falha de segmentação é lançada.
Outra associação além de permissão e tamanho é a informação de onde o
segmento está localizado na memória.
Uma MMU é responsável pela tradução de um segmento e um endereço
relativo no segmento em um endereço de memória, e também pela
verificação da permissão da referência e valor do endereço relativo.
Seu uso não deve ser confundido com a segmentação de memória utilizada
pelas antigas arquitecturas de computador x86, como o Intel 8086 e o Intel
8088, que não forneciam protecção; a segmentação a partir do Intel 80286
passou a fornecer protecção.
Atribuição de instruções e dados à memória (Binding)…
A maior parte dos SO permite que um programa possa ser colocado em
qualquer posição de memória. No entanto esta atribuição pode ser feita em:
 Tempo de compilação – se a localização do programa poder ser
conhecida à priori é gerado código com endereços absolutos.
Alterações à localização do programa obrigam à sua recompilação;
 Tempo de carga – obriga o compilador a gerar código relocatável, a
atribuição do programa a um determinado conjunto de endereços é
feita na sua carga para memória;
 Em run-time – se durante a execução do programa este poder ser
recolocado noutra localização de memória. O que implica a utilização
de hardware específico;
26
Arquitectura interna do computador
TIS
20-05-2010
Alocação…
Alocação de memória, consiste no processo de solicitar/utilizar memória
durante o processo de execução de um programa de computador. A alocação
de memória no computador pode ser dividida em dois grupos principais:
Alocação Estática: os dados tem um tamanho fixo e estão organizados
sequencialmente na memória do computador. Um exemplo típico de alocação
estática são as variáveis globais e arrays;
Alocação Dinâmica: os dados não precisam ter um tamanho fixo, pois
podemos definir para cada dado quanto de memória que desejamos usar.
Sendo assim vamos alocar espaços de memória (blocos) que não precisam
estar necessariamente organizados de maneira sequencial, podendo estar
distribuídos de forma esparsa na memória do computador. Na alocação
dinâmica, vamos pedir para alocar/desalocar blocos de memória, de acordo
com a nossa necessidade, reservando ou liberando blocos de memória
durante a execução de um programa. Para poder “achar” os blocos esparsos
na memória usamos as variáveis do tipo Ponteiro (indicadores de endereços
de memória).
Reorganização…
O processo de reorganização ou desfragmentação da memória principal
ocorre de modo a compactar os processos, para que estes ocupem posições
contíguas e deixar espaço livre contíguo que também ocorre com o processo
de paginação de memória. Assim, o computador poderá aumentar o seu
desempenho, perdendo menos tempo com os dados alocados na sua memória.
Endereço/Endereçamento…
Um endereço de memória é um identificador único para um local de
memória no qual um processador ou algum outro dispositivo pode armazenar
pedaços de dados. Em computadores modernos com endereçamento por
byte, cada endereço representa um byte distinto de armazenamento. Dados
maiores que um byte podem residir em múltiplos bytes, ocupando uma
sequência de bytes consecutivos. Alguns microprocessadores foram
27
Arquitectura interna do computador
TIS
20-05-2010
desenvolvidos para trabalhar com endereçamento por Word, tornando a
unidade de armazenamento maior que um byte.
Tanto memória virtual quanto memória física utilizam endereçamento de
memória. Para facilitar a cópia de memória virtual em memória real, os
sistemas operacionais dividem a memória virtual em páginas, cada uma
contendo um número fixo de endereços. Cada página é armazenada em disco
até que seja necessária, sendo então copiada pelo sistema operacional do
disco para a memória, transformando o endereço virtual em endereço real.
Tal transformação é invisível ao aplicativo, e permite que aplicativos
operem independente de sua localização na memória física, fornecendo aos
sistemas operacionais liberdade para alocar e relocar memória conforme
necessário para manter o computador executando eficientemente.
Frequentemente, ao citar tamanho de Word em computadores modernos,
é citado também o tamanho de endereços de memória virtual em tal
computador. Por exemplo, um computador de 32 bits geralmente trata os
endereços de memória como valores inteiros de 32 bits, tornando o espaço
de endereçamento igual a 232 = 4.294.967.296 bytes de memória, ou 4 GBs.
Memória virtual…
É uma forma de contornar o problema de falta de memória RAM o
computador utilizando a própria memória interna do HD (disco rígido) para
que se possa aumentar criando virtualmente uma memória estendida que
funciona da mesma maneira que a RAM, só que muito mais lenta por ser
feito isso no HD, pois a velocidade dos discos rígidos ainda é muito inferior
a de um pente de memória RAM normal. A memória virtual é feita deixando
um espaço do HD reservado para que seja possível sua utilização como
memória virtual, no Windows o usuário pode tanto escolher a opção de
deixar o Windows escolher qual é a melhor opção de quantidade de memória
RAM (sendo que este espaço vai ficar indo e voltando), mais geralmente o
Windows por si só pega pouca memória RAM. Mais ainda também pode ser
feito a escolha pelo próprio usuário de quanto quer usar de seu disco rígido
para memória virtual, ou seja, alocação de memória do disco rígido para ser
usada como se fosse memória RAM.
28
Arquitectura interna do computador
TIS
20-05-2010
Referências
http://www.fortunecity.com/roswell/king/622/memorias.htm
14-04-2010
http://pt.wikipedia.org/wiki/Mem%C3%B3ria_RAM
14-04-2010
http://pt.wikipedia.org/wiki/Mem%C3%B3ria_ROM
14-04-2010
http://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache
14-04-2010
http://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache#Tipos_de_Mem.C3.B3
ria_Cache
14-04-2010 às 10h00
http://www.kingston.com (Brasil/tools/umg/umg4.asp
20/05/2010 às 15h00
http://pt.wikipédia.org
20/05/2010 às 15h10
http://usuarios.upf.br/~appel/arquiI/endereca.pdf
20/05/2010
http://www-asc.di.fct.unl.pt/~jcc/asc1/Teoricas/a8/node5.html
20/05/2010
http://www.google.pt/images?hl=ptPT&q=modos%20de%20endere%C3%A7amennto&um=1&ie=UTF8&source=og&sa=N&tab=wi
20/05/2010 às 15h15
Trabalho elaborado por:
Holandina, Paula, Paulo, Pedro, Susel
29