BARRAMENTOS
Os diversos componentes dos computadores se comunicam através de barramentos.
Barramento é um conjunto de condutores elétricos que interligam os diversos
componentes do computador e de circuitos eletrônicos que controlam o fluxo dos
bits. Para um dado ser transportado de um componente a outro, é preciso emitir
os sinais de controle necessários para o componente-origem colocar o dado no
barramento e para o componente-destino ler o dado do barramento. Como um dado é
composto por bits (geralmente um ou mais bytes) o barramento deverá ter tantas
linhas condutoras quanto forem os bits a serem transportados de cada vez.
Assim, se quisermos transferir um byte - por exemplo, 01001010 - da UCP para a Memória Principal, os circuitos de controle se encarregarão de colocar o byte 01001010 no barramento, ou seja, colocariam sinais de tensão "high" nas 2ª, 4ª e 7ª linhas do barramento (por convenção, os bits são sempre ordenados da direita para a esquerda) e de informar à memória para ler o dado no barramento. Os dados são representados no barramento na forma de sinais de tensão, sendo que um sinal de tensão de uns poucos volts ("high") representa o bit "1" e um sinal próximo de zero volts ("low") representa o bit "0".
REGISTRADORES UTILIZADOS
A comunicação entre MP e UCP usa dois
registradores da UCP chamados de Registrador de Endereços de Memória - REM
ou, em inglês, Memory Address Register (MAR), bem o como Registrador de Dados
da Memória - RDM ou, em inglês, Memory Buffer Register (MBR).
x = no de bits do
barramento de endereços; em geral (mas não obrigatoriamente) é igual ao nº
de bits do Registrador de Endereços de Memória - REM.
M = nº de bits contidos em uma célula; M em geral (mas não obrigatoriamente)
é igual ao nº de bits do Registrador de Dados da Memória - RDM.
ESQUEMÁTICO DE
FUNCIONAMENTO DA COMUNICAÇÃO MP / UCP

UCP / MP
Barramento de endereços - unidirecional
(só a UCP envia dados - write - ou lê dados - read - da MP)
Barramento de dados - bidirecional
Barramento de controle - bidirecional
UCP ---> MP (controles ... - r/w)
MP -----> UCP (wait ... )
ELEMENTOS ENVOLVIDOS:
Barramentos:
de dados - bidirecional
de endereços -unidirecional
de controle - bidirecional
Registradores:
REM - Registrador de Endereços de Memória (MAR - Memory Address Register)
RDM - Registrador de Dados de Memória (MBR - Memory Buffer Register)
PALAVRA (UNIDADE DE INFORMAÇÃO)
Palavra é a unidade de informação do
sistema UCP / MP.
A conceituação mais usada (IBM, Digital) define palavra como sendo a
capacidade de manipulação de bits do núcleo do computador (UCP e MP). Pressupõe-se
aqui que todos os elementos do núcleo do computador (o que inclue o tamanho da
UAL, do acumulador e registradores gerais da UCP e o barramento de dados) tenham
a mesma largura (processem simultaneamente o mesmo número de bits), o que nem
sempre acontece. Muitas vezes encontram-se computadores em que o tamanho da UAL
e do acumulador (e registradores gerais) não é o mesmo tamanho dos barramentos.
Desta forma, encontram-se especificações de "computadores de 64
bits" mesmo quando seu barramento de dados é de 32 bits, nesse caso
referindo-se exclusivamente à capacidade de manipulação da UCP de 64 bits
(isto é, sua UAL e acumulador tem 64 bits). Esta conceituação é imprecisa (às
vezes, enganosa) e pode levar a erros de avaliação da capacidade de
processamento de um computador.
Como exemplos, citamos os microprocessadores Intel 8086 (16 bits, sendo todos
seus elementos de 16 bits) e seu "irmão" mais novo 8088, usado nos
primeiros IBM/PC e XT (idêntico sob quase todos os aspectos ao 8086 e também
dito de 16 bits, sendo que UAL e registradores são de 16 bits mas o barramento
de dados é de apenas 8 bits, por economia e razões de compatibilidade com toda
uma geração de placas de 8 bits). Destaque-se que nesse caso as transferências
de dados através do barramento de dados se fazem em duas etapas, um byte de
cada vez, e em conseqüência no 8088 elas consomem o dobro dos ciclos de
barramento que o 8086), o que torna suas operações de transferência de dados
mais lentas que as de seu "irmão" 8086.
Concluindo, deve-se analisar caso a caso, porque a simples menção ao tamanho
da palavra não é uma terminologia que permita definir de forma conclusiva
sobre a arquitetura do computador.
Em geral, o termo "célula" é usada para definir a unidade de
armazenamento (o tamanho de células de memória) e o termo "palavra"
para definir a unidade de transferência e processamento, significando na prática
quantos bits o computador movimenta e processa em cada operação.
Não confundir: célula não é sinônimo de palavra, embora em algumas máquinas
a palavra seja igual à célula. A palavra de um computador pode ter 1 byte
(p.ex, 8080), 2 bytes (p.ex. 80286), 4 bytes (p.ex. 486, o Pentium, e muitos
mainframes IBM) e mesmo 8 bytes (p.ex. o Alpha da DEC).
Células de memória muitas vezes tem o tamanho de 1 ou 2 bytes - de 8 a 16
bits.
TEMPO DE ACESSO
Tempo de acesso (ou tempo de acesso para leitura) é o tempo decorrido entre uma requisição de leitura de uma posição de memória e o instante em que a informação requerida está disponível para utilização pela UCP. Ou seja, o tempo que a memória consome para colocar o conteúdo de uma célula no barramento de dados. O tempo de acesso de uma memória depende da tecnologia da memória. As memórias DRAM (Dynamic RAM - as mais comuns hoje) tem tempo de acesso na faixa de 60 ns.
Tempo de ciclo (ou ciclo de memória é conceituado como o tempo decorrido entre dois ciclos sucessivos de acesso à memória. As memórias dinâmicas perdem seu conteúdo em alguns instantes e dependem de ser periodicamente atualizadas (ciclo de "refresh"). No caso das SRAM (Static RAM ou memórias estáticas), que não dependem de "refresh", o tempo de ciclo é igual ao tempo de acesso. As memórias dinâmicas, no entanto, requerem ciclos periódicos de "refresh", o que faz com que a memória fique indisponível para novas transferências, a intervalos regulares necessários para os ciclos de "refresh". Assim, as memórias DRAM tem ciclo de memória maior que o tempo de acesso.
O tempo de acesso de qualquer memória tipo RAM (Random Access Memory ou memória de acesso aleatório) é independente do endereço a ser acessado (a posição de memória a ser escrita ou lida), isso é, o tempo de acesso é o mesmo qualquer que seja o endereço acessado.
ACESSO À MEMÓRIA PRINCIPAL
O acesso à MP é ALEATÓRIO,
portanto qualquer que seja o endereço (a posição) de memória que se queira
acessar, o tempo de acesso é o mesmo (constante).
Obs.: Embora a MP seja endereçada por célula, a UCP em geral acessa a MP por
palavra.
O endereçamento por célula dá maior flexibilidade de armazenamento, em
compensação o número de acessos é em geral maior.
FUNCIONAMENTO
A MP pode ser acessada através de duas
operações:
ACESSO Tipo LER ou ESCREVER
a) LEITURA: LER DA MEMÓRIA
Significa requisitar à MP o conteúdo de uma determinada
célula (recuperar uma informação). Esta operação de recuperação da
informação armazenada na MP consiste na transferência de um conjunto de bits
(cópia) da MP para a UCP e é não destrutiva, isto é, o
conteúdo da célula não é alterado.
SENTIDO: da MP para a UCP
PASSOS EXECUTADOS PELO HARDWARE:
a.1) a UCP armazena no REM o endereço onde a informação
requerida está armazenada;
a.2) a UCP comanda uma leitura;
a.3) o conteúdo da posição identificada pelo endereço contido no REM é
transferido para o RDM e fica disponível para a UCP.
b) ESCRITA: ESCREVER NA MEMÓRIA
Significa escrever uma informação em uma célula da MP (armazenar uma
informação). Esta operação de armazenamento da informação na MP consiste
na transferência de um conjunto de bits da UCP para a MP e é destrutiva
(isto significa que qualquer informação que estiver gravada naquela célula
será sobregravada).
SENTIDO: da UCP para a MP
PASSOS EXECUTADOS PELO HARDWARE:
b.1) a UCP armazena no REM o endereço de memória da informação a
ser gravada e no RDM a própria informação;
b.2) a UCP comanda uma operação de escrita;
b.3) a informação armazenada no RDM é transferida para a posição de memória
cujo endereço está contido no REM.
CLASSIFICAÇÃO DAS MEMÓRIAS
Quanto à leitura e escrita, as memórias
podem ser classificadas como:
R/W - Read and Write (memória de
leitura e escrita), comumente (e impropriamente) chamada de RAM (Random
Access Memory ou memória de acesso aleatório), embora não seja a única
RAM.
Esta memória permite operações de escrita e leitura pelo usuário e pelos
programas. Seu tempo de acesso é da ordem de 70ns e independe do endereço
acessado. É construída com tecnologia de semicondutores (bipolar, CCD), pode
ser estática (SRAM) ou dinâmica (DRAM) e é volátil. A MP é construída com
memória R/W.
ROM - Read Only Memory ou
memória apenas de leitura
Esta memória permite apenas a leitura e uma vez gravada não pode mais ser
alterada. Também é de acesso aleatório (isto é, é também uma RAM), mas não
é volátil. É utilizada geralmente por fabricantes para gravar programas que não
se deseja permitir que o usuário possa alterar ou apagar acidentalmente (tal
como por ex..a BIOS - Basic Input Output System e microprogramas de memórias
de controle). Quando se liga uma máquina, é da ROM que vem os programas que são
carregados e processados no "boot" (na inicialização o hardware
aponta automaticamente para o primeiro endereço da ROM). Desta forma, parte do
espaço de endereçamento da MP é ocupado por ROM. A ROM é mais lenta que a
R/W e é barata, porém o processo produtivo depende de ser programada por máscara
("mask programmed") em fábrica e devido ao alto custo da máscara
somente se torna econômica em grandes quantidades.
Obs.: Boot (ou bootstrap
loader) é o processo de
inicialização e carga dos programas básicos de um computador, automática,
sem intervenção externa. Este termo vem de uma analogia com um processo
(impossível) que seria uma pessoa se levantar puxando-se pelos cordões de suas
próprias botas.
PROM - Programmable Read Only Memory
ou memória apenas de leitura, programável. Esta memória é uma ROM programável
(em condições e com máquinas adequadas, chamadas queimadores de PROM) e
geralmente é comprada "virgem" (sem nada gravado), sendo muito
utilizada no processo de testar programas no lugar da ROM, ou sempre que se
queira produzir ROM em quantidades pequenas. Uma vez programada (em fábrica ou
não), não pode mais ser alterada.
EPROM - Erasable Programmable Read Only Memory ou memória
apenas de leitura, programável (com queimadores de PROM) e apagável (com máquinas
adequadas, à base de raios ultra-violeta). Esta memória é uma PROM apagável.
Tem utilização semelhante à da PROM, para testar programas no lugar da ROM,
ou sempre que se queira produzir ROM em quantidades pequenas, com a vantagem de
poder ser apagada e reutilizada.
EEPROM (ou E2PROM) - Electrically Erasable Programmable
Read Only Memory ou memória apenas de leitura, programável e
eletronicamente alterável. Também chamada EAROM (Electrically Alterable
ROM). Esta memória é uma EPROM apagável por processo eletrônico, sob
controle da UCP, com equipamento e programas adequados. É mais cara e é
geralmente utilizada em dispositivos aos quais se deseja permitir a alteração,
via modem, possibilitando a carga de novas versões de programas à distância
ou então para possibilitar a reprogramação dinâmica de funções específicas
de um determinado programa, geralmente relativas ao hardware (p.ex., a
reconfiguração de teclado ou de modem, programação de um terminal, etc).