You are on page 1of 61

1

Apostila de Arquitetura dos Computadores


Verso Preliminar Setembro de 2005
2
Captulo 1 Evoluo Histrica dos Computadores
1.1 INTRODUO:
1.1.1 Conceituao:
Mrio A. Monteiro (Introduo Organizao de Computadores)
Um computador uma mquina (composta de partes eletrnicas e eletromecnicas) capaz de
sistematicamente coletar, manipular e fornecer resultados das manipulaes de informaes para
um ou mais objetivos.
Processamento de dados consiste em uma srie de atividades ordenadamente realizadas, com o
objetivo de produzir um arranjo determinado de informaes a partir de outras obtidas
inicialmente.
Dado pode ser definido como a matria-prima originalmente obtida de uma ou mais fontes (etapa
da coleta).
I nformao o resultado do processamento, isto , o dado processado ou acabado.
Figura 3.1 Etapas bsicas de um processamento de dados.
1.1.2 Sistemas:
Um sistema um conjunto de partes coordenadas que concorrem para a realizao de um
determinado objetivo.
O enfoque sistemtico se faz presente em vrias reas do desenvolvimento comercial, cientfico,
industrial e social.
Sistema de processamento de dados (SPD) so aqueles responsveis pela coleta, armazenamento,
processamento e recuperao, em equipamento eletrnico, dos dados necessrios ao funcionamento
de um outro sistema maior: o sistema de informao.
a) Sistema de computao;
b) Sistema de aplicao.
Sistema de informao de uma empresa pode ser conceituado como o conjunto de mtodos,
processos e equipamentos necessrios para se obter, processar e utilizar informaes dentro da
empresa.
Os sistemas de informaes se desenvolvem segundo duas dimenses:
a) componentes da organizao: diversos setores funcionais;
b) nvel de deciso: operacional, gerencial e alto nvel da organizao.
Sistema de informaes gerenciais (SI G) o sistema que engloba todos os componentes e todos
os nveis de deciso de uma organizao.
Dados Processamento Resultado: Informao
3
1.1.3 Sistemas de Computao:
Programa um conjunto de instrues.
Figura 3.2 Algoritmo para soma de 100 nmeros.
Um programa de computador a formalizao de um algoritmo em linguagem inteligvel pelo
computador.
Linguagembinria a linguagem de comunicao dos computadores.
Na linguagem binria os caracteres inteligveis no so A, B, +, 0, etc., mas apenas zero(0) e
um (1).
Essa linguagem tambm chamada de linguagem de mquina, , para os seres humanos, tediosa de
manipular, difcil de compreender e fcil de acarretar erros. Por essa razo, foram desenvolvidas
outras linguagens, mais prximas do entendimento dos operadores, genericamente chamadas de
Linguagens de programao.
Instrues de mquinas entendidas pelos computadores:
a) executar operaes aritmticas sobre dois nmeros;
b) executar operaes lgicas sobre dois nmeros;
c) mover um conjunto de bits (um nmero ou parte) de um ponto para outro do
computador;
d) desviar a seqncia do programa;
e) comunicao com algum dispositivo de entrada ou sada de dados.
Hardware o conjunto formado pelos circuitos eletrnicos e partes eletromecnicas de um
computador.
Softwareconsiste em programas, de qualquer tipo e em qualquer linguagem, que so introduzidos
na mquina para faz-la trabalhar, passo a passo, e produzir algum trabalho.
1.2 HISTRICO:
comum encontrar uma diviso histrica da evoluo dos computadores segundo o elemento
bsico de sua organizao: Vlvulas, transistores, circuito integrado, pastilhas de alta e muito alta
integrao.
1.2.1. poca dos dispositivos mecnicos (500 a.c 1880)
O conceito de efetuar clculo surgiu com os babilnios e sua inveno o baco.
A primeira evoluo do baco aconteceu em 1642, quando o filosofo e matemtico Blaise Pascal
construiu um contador mecnico que realizava soma e subtrao.
1. Escrever e guardar N = 0 e SOMA = 0;
2. Ler nmero da entrada;
3. Somar valor do nmero ao de SOMA e guardar resultado como SOMA;
4. Somar 1 ao valor de N e guardar resultado como novo N;
5. Se valor de N for menor que 100, ento passar para item 2;
6. Seno: imprimir valor de SOMA;
7. Parar.
4
1.2.2. poca dos dispositivos Eletromecnicos (1888-1930)
Com a inveno do motor eltrico surgiu uma grande quantidade de mquinas de somar acionadas
por motores eltricos, baseados no princpio de funcionamento da mquina de Pascal.
Em 1889, Hollerith desenvolveu o carto perfurado para guardar dados e uma mquina tabuladora
mecnica, acionada por um motor eltrico, que contava, classificava e ordenava informaes
armazenadas no carto perfurado.
Em 1914, foi criada a IBM.
At a dcada de 1980, os cartes perfurados foram um dos principais elementos de entrada de dados
dos computadores digitais, tais como IBM/360/370.
1.2.3. poca dos componentes eletrnicos Primeiras Invenes (1930-1945)
O problema dos computadores mecnicos era:
a) baixa velocidade de processamento;
b) falta de confiabilidade dos resultados.
1.2.4. poca dos componentes eletrnicos (1945 - ?)
1.2.4.1. Primeira Gerao: Computadores vlvula
O 1
o
computador eletrnico digital ENIAC (Electronic Numerical Integrator And Computer):
Projetado de 1943 a 1946;
Funcionou at 1955;
Possua 17.000 vlvulas e 8000 Km de cabos;
Pesava 30 toneladas;
Consumia grande quantidade de energia e vlvulas que queimava freqentemente;
10.000 operaes por segundo;
20 registradores que guardavam valor numrico de 10 dgitos;
Era uma mquina decimal, no binria, cada dgito representado por um anel de 10
vlvulas;
Programao feita atravs da recolocao dos fios.
Em 1945 foi iniciada a construo do IAS (Von Neumann), que para os estudos de arquitetura de
computadores, ele fundamental.
Era constitudo de quatro unidades principais: a memria, a UCP, a UC e dispositivos
de entrada e sada;
memria de 1.000 posies, chamadas de palavras, cada uma podendo armazenar 40
dgitos binrios (bits);
tantos dados como instrues eram representados na forma binria r armazenados na
mesma memria;
Resumindo, o IAS possua caractersticas de arquitetura que permaneceram ao longo do tempo. As
mquinas evoluram consideravelmente em velocidade, capacidade de armazenamento,
miniaturizao, consumo de energia e calor, mas a arquitetura bsica permaneceu.
1.2.4.2. Segunda Gerao: Computadores Transistorizados
A eletrnica moderna surgiu em 23 de Dezembro de 1947.
Os transistores se tornaram no s sucesso em toda a industria eletrnica (custo, tamanho e
desempenho melhores que os dispositivos a vlvula), como tambm formaram a base de todos os
computadores digitais. O fato de que se pode ligar e desligar a corrente eltrica em um dispositivo
a base de toda a lgica digital.
A primeira companhia a lanar comercialmente um computador transistorizado foi a NCR.
A IBM tambm teve grande participao transformou a srie 700 em 7000.
5
1.2.4.3. Terceira Gerao: Computadores com Circuitos Integrados
Em Outubro de 1958, Jack Kilby, da Texas Instruments Co., colocou dois circuitos em uma s pea
de germnio. O dispositivo resultante era rudimentar e a interconexo tinha que ser realizadas por
fios externos, mas reconhecido como o primeiro circuito integrado, CI, fabricado no mundo.
Robert Noyce utilizou tecnologia para integrar vrios circuitos em uma s partilha de silcio.
Em 1964, a IBM lanou a sua mais famosa famlia, a srie 1360.
1.2.4.4. Quarta Gerao: Computadores que utilizam VLSI (Very Large Scale Integration)
Integrao em larga escala, caracteriza uma classe de dispositivos eletrnicos capazes de armazenar,
em um nico invlucro, milhares e milhares de diminutos componentes.
1.2.5. Computadores Pessoais - Microcomputadores
Em 1971, a Intel Corporation, produziu uma CPU em uma s pastilha de circuito integrado,
denominado INTEL-4004, que possua palavra de 4 bits e tinha cerca de 2.300 transistores na
pastilha.
Logo em seguida, a Intel lanou o INTEL 8008 com 8 bits de palavra e 16 K de memria.
Quadro Comparativo de caractersticas de microprocessadores
Microprocessador Data de
Lanamento
Palavra de
Dados
Endereamento Mximo
Intel 4004 1971 4 1K bytes
Intel 8080 1973 8 64K bytes
Intel 8088 1980 16 1M bytes
Intel 80286 1982 16 16M bytes
Intel 80386 1985 32 4G bytes
Intel 80486 1989 32 4G bytes
Intel Pentium 1993 32 4G bytes
Motorola MC 6800 1974 8 64K bytes
MC 68000 1979 32 16M bytes
MC 68010 1983 32 16M bytes
MC 68020 1984 32 4G bytes
MC 68030 1987 32 4G bytes
MC 68040 1989 32 4G bytes
Zilog Z 80 1974 8 64K bytes
Zilog Z 8000 1979 16 1M bytes
6
Captulo 2 Sistemas de Numerao e Aritmtica Computacional
2.1 SISTEMAS DE NUMERAO:
Sistemas de numerao so formas de representao de valores. Existem os sistemas no-
posicionaise os posicionais. Nos no-posicionais o smbolo no depende da posio. Por exemplo,
os numerais romanos: o smbolo X vale 10 em qualquer posio que estiver no nmero, seja IX ou
LXV. J nos posicionais, o valor do smbolo muda com a posio. Por exemplo: o smbolo 6 dentro
do nmero 625 significa o valor 600, mas no nmero 461 significa 60.
Diariamente trabalhamos com o sistema posicional decimal, assim chamado por ter dez smbolos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez smbolos, dizemos tambm que possui base10.
Como sabemos, o computador funciona em binrio, ou seja, representaes de nmero somente
com os smbolos 0 e 1. Este um sistema de numerao com base 2 ou binrio.
Na eletrnica ainda comum trabalhar-se com o sistema octal, que possui base 8, cujos smbolos
so: 0, 1, 2, 3, 4, 5, 6, 7.
Para o endereamento da memria do computador utilizado o sistema de numerao hexadecimal,
de base16, formado pelos smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
So estes quatro sistemas de numerao que sero o fundamento do estudo da computao, sendo
necessrios para compreenso da organizao de sua arquitetura.
Para compreendermos melhor a relao entre eles, devemos estudar a converso de uma base para
outra.
2.2 CONVERSO ENTRE BASES:
2.2.1 De binrio, octal, e hexadecimal para decimal:
Segue-se a regra simples: smbolo x base
posio
Ou seja, eleva-se a base a converter potncia cujo valor sua posio no nmero e multiplica-se
pelo smbolo.
Assim, de binrio (base 2) para decimal (base 10), podemos fazer, por exemplo:
Ex1:
(100101)
2
= 1 x 2
5
+ 0 x 2
4
+ 0 x 2
3
+ 1 x 2
2
+ 0 x 2
1
+ 1 x 2
0
= 32 + 0 + 0 + 4 + 0 + 1
= 37
Ex2:
(110,10)
2
= 1 x 2
2
+ 1 x 2
1
+ 0 x 2
0
+ 1 x 2
-1
+ 0 x 2
-2
= 4 + 2 + 0 + 0,5 + 0
= 6,5
E de octal (base 8) para decimal:
Ex1:
(473)
8
= 4 x 8
2
+ 7 x 8
1
+ 3 x 8
0
= 256 + 56 + 3
= 315
Ex2:
(115,2)
8
= 1 x 8
2
+ 1 x 8
1
+ 5 x 8
0
+ 2 x 8
-1
= 64 + 8 + 5 + 0,25
= 77,25
7
Finalmente, de hexadecimal (base 16) para decimal:
Ex1:
(B108)
16
= B x 16
3
+ 1 x 16
2
+ 0 x 16
1
+ 8 x 16
0
= 45056 + 256 + 0 + 8
= 45320
Ex2:
(F0,1)
16
= F x 16
1
+ 0 x 16
0
+ 1 x 16
-1
= 240 + 0 + 0,0625
= 240,0625
2.2.2 Converso de decimal para binrio, octal e hexadecimal:
Para converter nmeros da base 10 para outras bases, segue-se a seguinte regra:
Divide-se o nmero a ser convertido pela base desejada; toma-se o quociente resultante e divide-se
novamente pela base at que o quociente seja zero; os restos das divises formam o nmero
convertido; o primeiro resto representa o ltimo dgito do nmero; o ltimo quociente representa o
primeiro dgito do nmero;
Para converso de decimal para binrio, temos o exemplo:
(174)
10
: 174 / 2 = 87 resto 0
87 / 2 = 43 resto 1
43 / 2 = 21 resto 1
21 / 2 = 10 resto 1
10 / 2 = 5 resto 0
5 / 2 = 2 resto 1
2 / 2 = 1 resto 0
ltimo quociente: 1 ==> 10101110
(174)
10
= (10101110)
2
De decimal para octal:
(749)
10
: 749 / 8 = 93 resto 5
93 / 8 = 11 resto 5
11 / 8 = 1 resto 3
ltimo quociente: 1 ==> 1355
(749)
10
= (1355)
8
E de decimal para hexadecimal:
(155)
10
: 155 / 16 = 9 resto 11 (B)
ltimo quociente: 9 ==> 9B
(155)
10
= (9B)
16
2.2.3 Converso de binrio para octal
Basta converter cada trs smbolos binrios em um octal, partindo-se da direita. Caso faltem
smbolos para completar trs, completa-se com zeros. Exemplo:
(010 101)
2
= (25)
8
8
2.2.4 Converso de octal para binrio:
O oposto do mtodo anterior: pega-se cada valor e converte-se pela tabela em trs smbolos
binrios. Exemplo:
(356)
8
= (11 101 110,)
2
2.2.5 Converso de binrio para hexadecimal:
Semelhante a converso de octal, apenas pegando cada quatro smbolos binrios para um
hexadecimal, convertidos a partir da tabela. Exemplo:
(1101 1010 0100)
2
= (DA4)
16
2.2.6 Converso de hexadecimal para binrio:
Oposto do mtodo anterior. Exemplo:
(CAFE)
16
= (1100 1010 1111 1110)
2
TABELA DE CONVERSO
DECIMAL BINRIO OCTAL HEXADECIMAL
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
9
2.3 ARITMTICA COMPUTACIONAL:
Todo sistema de computao moderno construdo de modo a ser capaz de armazenar, interpretar e
manipular informaes codificadas na forma binria. Alm disso, muitos deles possuem a
capacidade de representar valores e efetuar operaes aritmticas utilizando recursos de outras
bases da potncia de 2 (mais especialmente as bases octal - base 8 e hexadecimal - base 16). Esse
o caso, por exemplo, de representao e aritmtica de nmeros em ponto flutuante; alguns sistemas
de computao IBM empregam a base 16 quando efetuam aritmtica em ponto flutuante.
2.3.1 Procedimento de Adio:
Tendo em vista que toda representao de valores nos computadores digitais realizada no sistema
binrio, obvio, ento, que as operaes aritmticas efetuadas pela mquina sejam tambm
realizadas na mesma base de representao, a base 2.
As operaes de adio nas bases 2, 8 e 16 so realizadas de modo idntico ao que estamos
acostumados a usar para a base 10, exceto no que refere quantidade de algarismos disponveis
(que, em cada base, diferente). Esse fato acarreta diferena nos valores encontrados, mas no no
modo como as operaes so realizadas.
Adio de Nmeros Binrios
A operao de soma de dois nmeros em base 2 efetuada de modo semelhante soma decimal,
levando-se em conta, apenas, que s h dois algarismos disponveis (0 e 1). Assim:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, com "vai 1"
Ex1:
111111 1 vai 1
101101,01
+100111,11
1010101,00
Ex2:
1 11 1 vai 1
11001,1101
+11100,1110
110110,1011
Do mesmo modo que operamos na base decimal, a soma efetuada algarismo por algarismo, de
maneia que, quando somamos 1 com 1, obtemos como algarismo resultante 0 e sobra o valor 1 para
ser somado aos algarismos da parcela imediatamente seguinte esquerda (valor de uma base - 2);
esse o valor que denominamos "vai 1". Se os dois algarismos serem somados so de valor igual a
1, e ainda temos o "vai 1" para o algarismo da esquerda.
Resumindo:
1 + 1 + 1 = 1 com "vai 1";
1 + 0 + 1 = 0 com "vai 1".
Adio de Nmeros Octais e Hexadecimais
Os procedimentos para adio nas bases 8(octal) e 16(hexadecimal) tambm no diferem da base
10, exceto quanto quantidade de algarismos diferentes em cada base, conforme j mencionamos
anteriormente.
10
No caso da base octal, temos 7 algarismos disponveis e, portanto, a soma de 2 algarismos
produzindo um valor superior a 7 implica a utilizao do conceito de "vai 1" consiste em um valor
igual a 8 na ordem inferior).
Para a base 16, o "vai 1" somente ocorre quando a soma de 2 algarismos excede o valor da base, 16.
Ex: Soma com aritmtica em base 8:
Ex1:
11
3463
+1524
5207
Ex2:
1 1 1
422,74
+513,74
1136,70
Ex3:
111 1
27,416
+55,635
105,253
A execuo detalhada do algoritmo de soma para o Ex1 apresentada a seguir, de modo que se
possa compreender melhor o processo:
3 + 4 = 7, valor colocado na coluna, em resultado;
6 + 2 = 8 (no h algarismo na base 8 - o maior algarismo 7). Assim, temos: 8 = 8 + 0; o 0
colocado na coluna como resultado e o 8 passado para a esquerda com valor 1 ( o "vai 1"), pois 8
unidades de uma ordem representam apenas 1 unidade de ordem superior - mais esquerda);
4 + 5 +1 ("vai 1") = 10 (10=8 + 2); logo, 2 na coluna de resultado e "vai 1" esquerda,
representando o valor 8).
3 + 1 + 1 ("vai 1") = 5, colocado na coluna resultado.
O processo semelhante para os exemplos (2) e (3).
Ex: Soma com aritmtica em base 16:
Ex1:
11 1
3A54,3B
+ 1BE8,7A
563C,B5
Ex2:
1 11
3A943B
+23B7D5
5E4C10
Ex3:
11 1 1
2AC79
+B7EEC
E2 B65
A execuo detalhada do algoritmo de soma para o Ex1 apresentada a seguir, de modo que se
possa compreender melhor o processo:
10(A) + 11(B) = 21, que excede 5 da base 16. Logo, coloca-se 5 na linha "soma" e "vai 1" para a
esquerda;
7 + 3 + 1 = 11 (algarismo B);
8 + 4 = 12 (algarismo C);
14(E) + 5 = 19, que excede de 3 a base 16. Logo, coloca-se na linha "soma" e "vai 1" para a
esquerda;
10(A) + 11(B) + 1 = 22, que excede 6 da base 16 e "vai 1";
1 + 3 + 1 = 5.
11
2.3.2 Procedimento de Subtrao:
Os procedimentos para execuo da operao de subtrao em bases 2, 8, 16, ou qualquer outra no
decimal seguem as mesmas regras adotadas para a base 10, variando, conforme j mencionado
diversas vezes, quanto quantidade de algarismos existentes em cada base.
Essas regras so:
minuendo - subtraendo = diferena;
operaes realizada algarismo por algarismo;
se o algarismo do minuendo for menor que o algarismo do subtraendo, adiciona-se ao minuendo um
valor igual ao da base (2 ou 8 ou 16). Esse valor corresponde a uma unidade subtrada (emprstimo)
do algarismo esquerda do minuendo;
resultado colocado na coluna, na parcela diferena.
Subtrao de Nmeros Binrios
A subtrao em base 2, na forma convencional usada tambm no sistema decimal (minuendo -
subtraendo = diferena), relativamente mais complicada por dispormos apenas dos algarismos 0 e
1. Assim, 0 menos 1 necessita de um "emprstimo" de um valor igual base (no caso 2), obtido
do primeiro algarismo diferente de zero, existente esquerda. Se estivssemos operando na base
decimal, o "emprstimo" seria de valor igual a 10.
Ex1: 2
002
101101
- 100111
000110
Ex2: 1
02 022
100110001
- 010101101
010000100
A execuo detalhada do algoritmo de soma para o Ex2 apresentada a seguir, de modo que se
possa compreender melhor o processo:
1 1 = 0
0 0 = 0
0 1 no possvel. Retira-se 1 da 5
a
ordem, a partir da direita, ficando 2 unidades na 4
a
ordem.
Dessas 2 unidades, retira-se 1 para a 3
a
ordem (nesta 3
a
ordem ficam, ento, 2), restando 1 nesta 4
a
ordem. Logo 2-1 = 1.
1 1 = 0
0 0 = 0
1 1 = 0
0 0 = 0
0 1 no possvel. Retira-se 1 da ordem esquerda, que fica com zero e passa-se 2 para a direita.
Logo 2 1 = 1
0 0 = 0
Subtrao de nmeros Octais e Hexadecimais
Os procedimentos para realizao da operao de subtrao com valores representados em base 8
(octal) ou 16 (hexadecimal) so os mesmos das bases 2 ou 10, porm com a j conhecida diferena
em termos de algarismos disponveis.
12
Ex: Subtrao com valores em base 8:
Ex1: 8
248 48
3526,53
- 2764,36
0542,15
Ex2: 88
6208
7312
- 3465
3625
Ex: Subtrao com valores em base 16:
Ex1: 16
3B16 D16
4C7BE8
- 1E9 27A
2DE96E
Ex2: 16
3816A 16C16
49AB,8D5
- FC8,AB8
39E2,E1D
2.3.3 - Adio Utilizando Nmeros Com Sinal:
O Meio normal para representar nmeros com sinal (+ ou -) adicionando-se um BIT ao nmero,
chamado BIT de sinal (BIT mais representativo).
Conveno:
0: BIT DE SINAL que representa um nmero positivo;
1: BIT DE SINAL que representa um nmero negativo.
Ex:
0 0111 = (+7)
10
1 0111 = (-7)
10

Bit de sinal
2.3.4 Aritmtica Complementar:
* Complemento Aritmtico: definido como sendo o que falta a um nmero para atingir o seu
mdulo. Mdulo de um nmero de um dgito a quantidade de nmeros diferentes que podemos
distinguir.
Ex: Sistema Decimal Mdulo 10
2 8
4 6
No sistema binrio, composto por dois smbolos, isto , os BITS 0 e 1, um complemento do outro.
13
* Subtrao no sistema complemento-de-2:
Obteno do complemento-de-2 de um nmero binrio:
- Troca-se cada 0 por 1 e vice-versa (complemento-de-1);
- Soma-se 1 ao resultado.
Ex.: 1001 0110 (complemento-de-1)
+ 1
0111 (complemento-de-2)
OBS: A principal vantagem do uso de complemento executar a SUBTRAO pelo processo da
ADIO.
Dois nmeros positivos
(+7) 0 0111
+ (+3) 0 0011
(+10) 0 1010
Nmero positivo e nmero negativo
(+7) 0 0111 0 0111
+ (-3) 1 0011 +1 1101
Complemento-de-2 100100 (+4)

Dois nmeros negativos
(-7) 1 0111 1 1001
+ (-3) 1 0011 +1 1101
Complemento-de-2 11 0110
Descomplementar (1 1010) (-10)
* Fazer complemento-de-2 no nmero negativo;
* Somar os nmeros;
* Descomplementar o resultado da soma.
Veja mais detalhes sobre este assunto no Captulo 3.
14
Captulo 3 Representao de Dados
Em um computador so armazenados e processados apenas dados e instrues. Um programa de
computador formado por uma seqncia de instrues que operam sobre um conjunto de dados
(os dados so os operandos das instrues). Um computador executa operaes sobre dados
numricos (os nmeros) ou alfabticos (letras e smbolos). Por outro lado, um computador somente
opera sobre valores representados em notao binria, isto , somente "entende" bits - uns e zeros.
Assim, os dados precisam ser representados no computador (na memria e no processador) sempre
atravs de bits, de uma forma que o computador possa interpretar corretamente o seu significado e
executar as operaes adequadas.
Em outras palavras, isso significa que preciso definir uma forma de representar os dados,
codificados em uns e zeros, que possam ser interpretados pelo computador, de forma correta e
eficiente (com bom desempenho e pouco consumo de memria).
TIPOS DE DADOS
Um programa (a seqncia de instrues) dever manipular diferentes tipos de dados.
Os dados podem ser:
--numricos
---- ponto fixo (nmeros inteiros)
---- ponto flutuante (nmeros reais ou fracionrios)
---- BCD (representao decimal codificada em binrio)
-----alfabticos
----- letras, nmeros e smbolos (codificados em ASCII e EBCDIC)
O tipo de dado que est sendo fornecido ao programa dever ser informado pelo programador,
atravs de declaraes, fazendo com que o programa interprete o dado fornecido de acordo com a
declarao. Por exemplo, na linguagem C, declaraes tipo
int num; (inteiro) ou
float sal (real);
indicam que a varivel num um nmero inteiro (int) e a varivel sal um nmero real (float),
representao cientfica, isto , representado na forma
[(Sinal) Valor x Base (elevada a Expoente)].
Declaraes tipo char letra; indicam que a varivel um caractere.
15
DADOS NUMRICOS
A forma mais intuitiva de representar nmeros seria atravs da converso do nmero decimal para
seu correspondente em binrio. Como os computadores operam sempre em binrio, essa seria a
forma mais imediata e eficiente.
Os nmeros podem ser positivos ou negativos. Um aspecto primordial a ser definido seria ento
como representar o sinal. Nesta representao foi definida a utilizao de mais um bit na
representao (o bit mais representativo), representando o sinal, com a seguinte conveno:
bit 0 ==> sinal positivo
bit 1 ==> sinal negativo.
A seguir, apresentamos exemplos de nmeros e sua representao em binrio:
Valor decimal Valor binrio com 8 bits (7 + bit de sinal)
+9 00001001 (bit inicial 0 significa positivo)
-9 10001001 (bit inicial 1 significa negativo)
+127 01111111 (bit inicial 0 significa positivo)
-127 11111111 (bit inicial 1 significa negativo)
Assim, uma representao em binrio com n bits teria disponveis para a representao do nmero
n-1 bits (o bit mais significativo representa o sinal). Essa representao tem o nome de
representao em sinal e magnitude.
REPRESENTAO DE NMEROS INTEIROS (PONTO FIXO)
Dados numricos ponto fixo so nmeros inteiros, isto , sem parte fracionria.
Os dados NUMRICOS INTEIROS POSITIVOS so sempre representados com o sinal
(convencionado que bit mais significativo 0 = sinal positivo) e em seguida o valor do dado em
binrio.
Porm, devido complexidade dos algoritmos para os computadores operarem com NMEROS
NEGATIVOS quando se usa a representao em sinal e magnitude (acima sumariamente
apresentada), so comumente adotadas outras formas que facilitam e tornam mais eficiente a
manipulao de operaes aritmticas em computadores: as representaes em complemento.
Vamos analisar cada uma dessas representaes.
REPRESENTAO EM SINAL E MAGNITUDE
A magnitude (isto , o valor absoluto, que independe de sinal) de um nmero representada em
binrio. O sinal representado por um bit (o bit mais significativo, isto , o bit mais esquerda na
representao). Por conveno, o bit de sinal 0 (zero) significa que o nmero positivo e o bit 1
representa nmero negativo.
16
O valor dos bits usados para representar a magnitude independe do sinal, isto , sendo o nmero
positivo ou negativo, a representao binria da magnitude ser a mesma, o que varia apenas o bit
de sinal.
Ex.:
0011 = +3
1011 = -3
(011 equivale ao valor absoluto 3)
FAIXA DE REPRESENTAO
A representao na base b em sinal e magnitude com n bits (incluindo o bit de sinal) possui b
n
representaes e permite representar b
n
-1 valores, de vez que h duas representaes para o zero.
A faixa de representao de uma representao na base 2 em sinal e magnitude com n bits
(incluindo o bit de sinal) possui
2
n
representaes, representando os valores entre - ( 2
n-1
-1) e + ( 2
n-1
-1).
O maior valor inteiro positivo ser ento + ( 2
n-1
-1) e o menor valor inteiro negativo ser - ( 2
n-1
-1).
Obs1.: o nmero de bits para a representao determinado no projeto do computador.
Obs2.: em sinal e magnitude, existem duas representaes para o zero.
ARITMTICA EM SINAL E MAGNITUDE
Algoritmo da soma
a) verificar o sinal das parcelas
b) se os sinais forem iguais:
-- repetir o sinal
-- somar as magnitudes
c) se os sinais forem diferentes
-- verificar qual parcela tem maior magnitude
-- repetir o sinal da maior magnitude
-- subtrair a menor magnitude da maior magnitude
Algoritmo da subtrao
O algoritmo da subtrao o mesmo da soma, sendo feita como se fosse uma soma de dois
nmeros que tem os sinais diferentes.
A representao em sinal e magnitude apresenta uma grande desvantagem: ela exige um grande
nmero de testes para se realizar uma simples soma de dois nmeros inteiros. O algoritmo acima
descrito complicado de ser realizado no computador, o que resulta em baixa eficincia (execuo
lenta). Um outro ponto negativo termos duas representaes para o zero.
17
REPRESENTAO DE NMEROS EM COMPLEMENTO
Complemento a diferena entre cada algarismo do nmero e o maior algarismo possvel na base.
Uma vantagem da utilizao da representao em complemento que a subtrao entre dois
nmeros pode ser substituda pela sua soma em complemento.
REPRESENTAO DE NMEROS POSITIVOS EM COMPLEMENTO
A representao de nmeros positivos em complemento no tem qualquer alterao, isto ,
idntica representao em sinal e magnitude.
REPRESENTAO DE NMEROS NEGATIVOS EM COMPLEMENTO A (BASE - 1)
A representao dos nmeros inteiros negativos obtida efetuando-se: (base - 1) menos cada
algarismo do nmero. Fica mais fcil entender atravs de exemplos:
Ex.1: Calcular o complemento a (base - 1) do nmero 297
10
.
Se a base 10, ento 10-1 = 9 e o complemento a (base -1) ser igual a complemento a 9
Ex.2: Calcular o complemento a (base - 1) do nmero 3A7EH.
Se a base 16, ento 10H-1 = F e o complemento a (base -1) ser igual a complemento a F.
Portanto:
Ex.1 Ex.2
(base -1) --->999 FFFF
-297 -3A7E
Complemento --->702 C581
Caso Particular: Nmeros na Base 2 (Complemento a 1)
Para se obter o complemento a 1 de um nmero binrio, devemos subtrair cada algarismo de 1.
Uma particularidade dos nmeros binrios que, para efetuar esta operao, basta inverter todos
os bits.
Como exemplo, vamos calcular o complemento a 1 (C1) de um nmero binrio 0011 com 4 dgitos.
1111
- 0011
1100 (C1)
Portanto, bastaria inverter todos os bits!
18
Vamos analisar como ficaria a representao em C1 dos nmeros binrios de 4 dgitos:
Decimal
(positivo)
Binrio (se o nmero
positivo, no h alterao)
Decimal
(negativo)
Binrio (em
C1)
0 0000 0 1111
1 0001 -1 1110
2 0010 -2 1101
3 0011 -3 1100
4 0100 -4 1011
5 0101 -5 1010
6 0110 -6 1001
7 0111 -7 1000
FAIXA DE REPRESENTAO
A representao na base b em complemento a (base-1) com n bits possui b
n
representaes e
permite representar b
n
-1 valores. H duas representaes para o zero.
A faixa de representao de uma representao na base 2 em complemento a (base-1) com n bits a
mesma que em sinal e magnitude e pode ser calculada como
2
n
valores, entre - ( 2
n-1
-1) e + ( 2
n-1
-1)
O maior valor inteiro positivo ser ento + ( 2
n-1
-1) e o menor valor inteiro negativo ser - ( 2
n-1
-1).
Obs1.: o nmero de bits para a representao determinado no projeto do computador.
Obs2.: em C1 tambm existem duas representaes para o zero.
Vamos verificar qual a faixa de representao nos seguintes exemplos:
Base 10 com 3 dgitos: a representao varia de 000 a 999 (10
3
representaes), representando os
nmeros de -499 a -1 (faixa negativa), de +1 a +499 (faixa positiva).
Base 10 Faixa Inferior (positiva) Faixa Superior (negativa)
C1 1 2.... 498 499 500 501 ..... 997 998
Nmero representado 1 2 .... 498 499 -499 -498 ..... -2 -1
O zero pode ser representado tanto por 000 quanto por 999.
19
Base 16 com 4 dgitos: a representao varia de 0000 a FFFF, representando os nmeros de -7FFF a
-0001 (faixa negativa) e de +0001 a +7FFF (faixa positiva).
Base 16 Faixa Inferior (positiva) Faixa Superior (negativa)
C1 0001 0002 ... 7FFF 8000 8001 ....FFFE
Nmero representado 0001 0002 ... 7FFF -7FFF -7FFE ...... -0001
O zero pode ser representado tanto por 0000 quanto por FFFF.
Obs: Podemos concluir que, tal como na representao em sinal e magnitude, sempre que em
uma representao em complemento o primeiro dgito binrio for 1, o nmero representado
negativo! Mas importante notar que o bit mais significativo, na representao em
complemento, ao contrrio do que ocorre na representao em sinal e magnitude, NO
REPRESENTA O SINAL DE NEGATIVO!
ARITMTICA EM COMPLEMENTO A (BASE - 1)
Na aritmtica em complemento a (base-1), basta somar os nmeros, sendo que um nmero negativo
estar representado por seu complemento. Ex.: Somar + 123 com - 418 (decimal).
Sinal e
magnitude
Complemento a (base-
1)
Verificao
-418 581 (C9) 999
+123 +123 -295
-295 704 704
Verificamos que o resultado 704 (C9) um nmero negativo, isto , o complemento a 9 (base 10 -1)
de 295.
Repare que a subtrao (ou soma de um nmero positivo com um nmero negativo) se transforma,
nesta representao, em uma soma em complemento, isto , a soma dos complementos do nmero
positivo com o nmero negativo! Portanto, numa subtrao (realizada atravs de soma em
complemento), se o nmero positivo, mantenha-o; se o nmero negativo, complemente-o; e a,
s somar! Dessa forma, podemos constatar que o algoritmo da soma em complemento muito mais
simples que o da soma em sinal e magnitude, de vez que no requer nenhum teste. No entanto,
continuamos com duas representaes para o zero. Vamos a seguir discutir a soluo para esse
problema.
REPRESENTAO DE NMEROS NEGATIVOS EM COMPLEMENTO A BASE
A representao dos nmeros inteiros negativos em complemento a base obtida subtraindo-se da
base cada algarismo do nmero. Ora, seria a mesma coisa subtrair cada algarismo de (base-1), isto
, calcular o complemento a (base -1) e depois somar 1 ao resultado, ou seja:
b - N = [(b-1) - N] + 1.
Ou seja, encontramos o complemento a (base-1) do nmero (o que facilita muito no caso dos
nmeros binrios) e depois somamos 1 ao resultado. Fica mais fcil entender atravs de exemplos:
20
Ex.1: Calcular o complemento a base do nmero 297
10
.
Se a base 10, o complemento a base ser igual a complemento a 10.
Ex.2: Calcular o complemento a base do nmero 3A7Eh.
Se a base 16 (lembremos mais uma vez que o H ou h depois do nmero simboliza "hexadecimal"),
o complemento a base ser igual a complemento a 16
10
ou 10h.
Portanto, calculando o complemento a base dos nmeros acima, temos:
Ex.
1
Ex.1 (alternativa) Ex.2
100
0
999 FFFF
- 297 -297 -3A7E
702 702 C581
+001 +0001
703 C582
Caso Particular: Nmeros na Base 2 (Complemento a 2)
Para se obter o complemento a 2 de um nmero binrio, a regra geral nos diz para subtrair cada
algarismo de 2. Ora, seria a mesma coisa subtrair cada algarismo de 1 (complemento a 1) e depois
somar 1 ao resultado, ou seja: (2-N) = (1-N) + 1. Assim, tirando partido da particularidade dos
nmeros binrios anteriormente apresentada (para obter o C1 de um nmero binrio, basta inverter
todos os bits), para obter o C2 de um nmero obtemos primeiro o C1 (invertendo os bits) e depois
somamos 1 ao resultado.
Como exemplo, vamos calcular o complemento a 2 (C2) de um nmero binrio 0011 com 4 dgitos.
1111
- 0011
1100 (C1)
+0001
1101 (C2)
Vamos analisar como ficaria a representao em C2 dos nmeros binrios de 4 dgitos:
Decimal (positivo)
Binrio (se o nmero
positivo, no h alterao)
Decimal
(negativo)
Binrio (C2)
0 0000 -1 1111
1 0001 -2 1110
2 0010 -3 1101
3 0011 -4 1100
4 0100 -5 1011
5 0101 -6 1010
6 0110 -7 1001
7 0111 -8 1000
Vemos assim que em C2, no h duas representaes para o valor 0 e conseqentemente
abriu-se lugar para mais uma representao - no caso, mais um nmero negativo pode ser
representado.
21
FAIXA DE REPRESENTAO
A representao na base b em complemento a base com n bits possui b
n
representaes e permite
representar b
n
valores.
A faixa de representao de uma representao na base 2 em complemento a base com n bits pode
ser calculada como
2
n
valores (entre - 2
n-1
e + 2
n-1
-1), sendo 2 a base.
O maior valor inteiro positivo ser ento + ( 2
n-1
-1) e o menor valor inteiro negativo ser - ( 2
n-1
).
Obs1.: o nmero de bits para a representao determinado no projeto do computador.
Obs2.: nesta representao somente existe uma representao para o zero e h mais um nmero
negativo representado!
Nos exemplos acima, vamos verificar qual a faixa de representao:
Base 10 com 3 dgitos: de 0 a 999 (10
3
valores), representando de -500 a -1 (faixa negativa) e de 1 a
+499 (faixa positiva). O zero tem apenas uma representao: 000.
Base 10 Faixa Inferior (positiva) Faixa Superior (negativa)
C2 1 2 .... 499 500 501 ..... 999
Nmero representado 1 2 .... 499 -500 -499 ... -1
Base 16 com 4 dgitos: de 0 a FFFF, representando -8000 a -1 (faixa negativa) e de 0 a +7FFF
(faixa positiva). O zero tem apenas uma representao: 0000.
Base 16 Faixa Inferior (positiva) Faixa Superior (negativa)
C2 0001 0002 ... 7FFF 8000 F001 ...... FFFF
Nmero representado 0001 0002 ... 7FFF -8000 -7FFF... -0001
Obs: Podemos concluir que, tal como na representao em sinal e magnitude e em
complemento a (base-1), sempre que em uma representao em complemento a base o
primeiro dgito binrio for 1, o nmero representado negativo! Mas importante notar que
o bit mais significativo, na representao em complemento, ao contrrio do que ocorre na
representao em sinal e magnitude, NO REPRESENTA O SINAL DE NEGATIVO!
22
ARITMTICA EM COMPLEMENTO A BASE
Na aritmtica em complemento a base, basta somar os nmeros, sendo que um nmero negativo
estar representado por seu complemento a base. Ex.: Somar +123 com -418 (decimal).
Sinal e
magnitude
Clculo C2 C2 Verificao
- 418 999 582 999
+123 - 418 +123 -295
- 295 581 (C1) 705 (C2) 704
+001 +001
582 (C2) 705
Verificamos que o resultado 705 (C2) um nmero negativo, isto , o complemento a 10 (base 10)
de 295.
Repare que a subtrao (ou soma de um nmero positivo com um nmero negativo) se transforma
em uma soma em complemento, isto , a soma dos complementos do nmero positivo com o
nmero negativo! Portanto, se o nmero postivo, mantenha-o; se o nmero negativo,
complemente-o; e a, s somar! Dessa forma, podemos constatar que o algoritmo da soma em
complemento muito mais simples que o da soma em sinal e magnitude, de vez que no requer
nenhum teste.
23
ARITMTICA BINRIA E EM COMPLEMENTO
Nesta seo, vamos rever os conceitos j apresentados sobre aritmtica binria e em complemento e
resolver alguns exerccios para exemplo. Inicialmente, vamos considerar apenas nmeros positivos
(o sinal no ser representado).
Exemplo de Operaes de Adio
BASE 2 BASE 8 BASE 8 BASE 16 BASE 16
111 11 _11 111 111
0111 0762 7142 A679 6FACB
+0101 +0365 +0576 +49FB +4ED93
1100 1347 7740 F074 BE85E
Exemplo de Operaes de Subtrao
BASE 2 BASE 8 BASE 8 BASE 16 BASE 16
111 0762 7142 A679 6FACB
- 101 - 0365 - 0576 - 49FB - 4ED93
010 0375 6344 5C7E 20D38
Exerccio:
Suponha um sistema posicional de numerao na base 6. Determine os valores de R, S, T, V, X e Z.
RVTZR
+ SRSVZ
TFXVZS
Inicialmente, devemos considerar que cada uma das letras representa um algarismo, sem qualquer
valor pr-determinado.
a) T = 1, porque: T s pode ser 1; a soma de dois algarismos, em qualquer base b, ser no mximo
igual a (2b) -1 e portanto o "vai-um" nunca ser "vai dois"!.
b) V = 0, porque: como Z + V = Z, concluimos que V = 0 e a soma R + Z = S (no vai-um).
c) S = 5, porque T + S = 0 o que significa que T + S = 6 (porque no pode ser 0, logo 0 + base = 6
e vai um para a prxima casa) e como T = 1, temos portanto S = 5.
d) Assim, R + V = X, como V = 0 e veio 1 da casa anterior, temos que X = 1 + R
Substituindo, temos que R + S = Z + 6 logo
R - Z = 1
R + Z= 5; somando as expresses, temos 2R = 6 ou
R = 3 logo
Z = 2 e
X = 4
24
ARITMTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A UM
O algoritmo da soma em complemento a um :
a) Somar os dois nmeros, bit a bit, inclusive o bit de sinal.
b) Avaliao dos casos de "vai-um":
b.1) Se no ocorreu vai-um para o bit de sinal nem para fora do nmero:
--- este o resultado correto;
b.2) Se ocorrer "vai-um" s para o bit de sinal (e no para fora do nmero):
--- incorreto - ocorreu overflow
------- (isto significa que o resultado excede a faixa de representao para o nmero de bits
adotado).
b.3.1) Se ocorrer "vai-um" para fora do nmero:
--- para obter o resultado final, soma-se o "vai-um" externo (para fora do nmero) ao resultado da
soma; o bit para fora do nmero (que excede o nmero de bits adotado na representao)
desprezado.
b.3.2) Nesta soma final tambm pode ocorrer "vai-um" no ltimo bit;
--- se o nmero de "vai-um" ocorridos (para o bit de sinal, para fora do nmero ou na soma final)
for par (o que equivale a inverter duas vezes o sinal),
------ o resultado est correto;
--- se o nmero for mpar (1 ou 3 "vai-um"):
------ o resultado est incorreto - ocorreu overflow.
Exemplos (referidos aos casos acima), considerando representao com 6 bits:
caso b.1:
15 +10 = 25
10
caso b.2:
15 + 22 = 37
10
caso b.3:
-15 -10 = -25
10
caso b.3:
-15 -22 = -37
10
_111 1111 11 1
001111 (+) 001111 (+) 110000 (-) 110000 (-)
+001010 (+) +010110 (+) +110101 (-) +101001 (-)
011001 (+) 100101 (-) 100101 011001
+______1 +______1
100110 (-) 011010 (+)
CORRETO OVERFLOW CORRETO OVERFLOW
(no ocorreu "vai-
um")
(s ocorreu "vai-um"
para o bit de sinal)
(ocorreu "vai-um" p/
bit de sinal e p/ fora
do n mas no na
soma final - n de
"vai-um" par)
(ocorreu "vai-um" s p/
fora do n mas no na
soma final - n de "vai-
um" mpar)
obs.: soma de dois n
positivos no poderia
dar negativo
obs.: soma de dois n
negativos no poderia
dar positivo
A faixa de representao com 6 bits em C1 vai de -31 a +31. Conferindo as contas pela
representao decimal, vemos que os resultados fora desta faixa excedem a faixa da representao e
no podem ser representados com 6 bits (portanto, com este nmero de bits, ocorre overflow).
Existe um teste prtico que, quando ambos os nmeros tem o mesmo sinal, pode mostrar se ocorreu
overflow e o resultado obtido est incorreto: basta ver que na soma de dois nmeros negativos, o
resultado s pode ser negativo, e a soma de dois nmeros positivos s poderia dar resultado
positivo!
25
ARITMTICA EM COMPLEMENTO - SOMA EM COMPLEMENTO A DOIS
O algoritmo da soma (ou subtrao) em complemento a dois :
a) Somar os dois nmeros, bit a bit, inclusive o bit de sinal.
b) Despreza-se o bit para fora do nmero, se houver.
c.1) Se no ocorreu vai-um para o bit de sinal nem para fora do nmero ou
c.2) Se ocorrer "vai-um" tanto para o bit de sinal quanto para fora do nmero (equivale a inverter
duas vezes o sinal):
--- o resultado est correto;
d.1) Se ocorrer "vai-um" s para o bit de sinal (e no para fora do nmero):
d.2) Se no ocorrer "vai-um" para o bit de sinal e somente ocorrer para fora do nmero:
--- o resultado incorreto - ocorreu overflow
------- (isto significa que o resultado excede a faixa de representao para o nmero de bits
adotado).
Nota: Podemos constatar que o algoritmo de soma em C2 bem mais simples que o de soma em
C1.
Exemplos (referidos aos casos acima), considerando representao com 6 bits:
caso c.1:
15+10 = 25
10
caso d.1:
15 + 17 = 32
10
caso c.2:
-15 -10 = -25
10
caso c.2:
-15 -17 = -32
10
caso d.2:
-15 -27 = -42
10
_111 11111 1 111111 1____1
001111 (+) 001111 (+) 110001 (-) 110001 (-) 110001 (-)
+001010 (+) +010001 (+) +110110 (-) +101111 (-) +100101 (-)
011001 (+) 100000 (-) 100111 (-) 100000 (-) 010110 (+)
CORRETO OVERFLOW CORRETO CORRETO OVERFLOW
(no ocorreu
"vai-um")
(s ocorreu "vai-
um" para o bit de
sinal)
(ocorreu "vai-
um" p/ bit de
sinal e p/ fora do
n - o n de "vai-
um" par)
(ocorreu "vai-
um" p/ bit de
sinal e p/ fora do
n - o n de "vai-
um" par)
(s ocorreu "vai-
um" p/ fora do n -
o n de "vai-um"
mpar)
obs.: soma de n
positivos no
poderia dar
negativo
(despreza-se o
"vai-um" para
fora do nmero)
(despreza-se o
"vai-um" para
fora do nmero)
obs.: soma de n
negativos no
poderia dar positivo
(despreza "vai-um"
p/ fora do n)
A faixa de repreentao com 6 bits em C2 vai de -32 a +31. Conferindo as contas pela
representao decimal, vemos que os resultados fora desta faixa esto necessariamente incorretos
(ocorreu overflow)
Pode-se aplicar o mesmo teste prtico que, quando ambos os nmeros tem o mesmo sinal, pode
mostrar se ocorreu overflow e o resultado obtido est incorreto: basta ver que na soma de dois
nmeros negativos, o resultado s pode ser negativo, e a soma de dois nmeros positivos s poderia
dar resultado positivo!
26
ARITMTICA EM SINAL E MAGNITUDE
Em sinal e magnitude, o algoritmo da soma :
a) Se os nmeros forem de mesmo sinal, basta somar os dois nmeros e manter o sinal;
b) Se os nmeros forem de sinais diferentes, subtrai-se o menor nmero do maior; o sinal ser o do
maior nmero.
c) Tem-se overflow sempre que ocorrer "vai-um" da magnitude para o bit de sinal (o nmero de bits
da magnitude foi excedido).
__1 11
0010 (positivo)
1001
(negativo)
0110 (positivo e
maior)
1110 (negativo e
maior)
1110 (negativo)
+0101 (positivo) +
1101
(negativo)
+
1010 (negativo e
menor)
+
0100 (positivo e
menor)
+1101 (negativo)
0111 1110 0100 1010 1011
CORRETO CORRETO CORRETO CORRETO OVERFLOW
ambos
positivos ->
soma e mantm
o sinal positivo
ambos
negativos ->
soma e mantm
o sinal
negativo
sinais contrrios
-> subtrai
maior magnitude
positivo ->
resultado positivo
sinais contrrios
-> subtrai
maior magnitude
negativo -> resultado
negativo
ambos negativos
-> soma
"vai-um" para bit
de sinal ->
overflow
27
REPRESENTAO DE NMEROS REAIS
At agora, passamos por cima de alguns outros problemas. Os dados numricos podem ser
fracionrios (tais como 57,683). Como representar essa parte fracionria (aps a vrgula que a
separa da parte inteira), de forma que permita processamento eficiente e armazenamento com pouco
consumo de memria? Vamos analisar esses problemas logo frente.
NMEROS REAIS
Nmeros reais so aqueles com parte fracionria (por exemplo, 57,683). Estamos acostumados a
representar esses nmeros no formato parte inteira, vrgula (ou ponto), parte fracionria:
Esta representao, embora cmoda para clculos no papel, no adequada para processamento no
computador.
REPRESENTAO EM PONTO FLUTUANTE
Consideremos o nmero 57,683 usado acima como exemplo. Este nmero pode ser tambm
expresso como 57,683 x 10
0
. E tambm poderia ser expresso com 57683 x 10
-3
ou ainda 0,57683 x
10
2
. Na realidade, qualquer nmero - inteiro ou fracionrio - pode ser expresso neste formato
nmero x base
expoente
, em que variamos duas coisas: a posio da vrgula (que delimita a parte
fracionria) e a potncia qual elevamos a base. Essa representao denominada representao
em ponto flutuante, pois o ponto varia sua posio, modificando, em conseqncia, o valor
representado.
REPRESENTAO NORMALIZADA
Na representao normalizada, o nmero preparado movendo a vrgula para a direita ou para a
esquerda de forma que o nmero seja menor que 1, o mais prximo possvel de 1, obviamente
multiplicado por uma potncia da base de forma a manter o valor do nmero. Em geral, isso
significa que o primeiro dgito significativo seguir imediatamente ao ponto (ou vrgula).
Por exemplo:
57,683
10
--> normalizando ==> 0,57683 x 10
2
0,0004628
10
--> normalizando ==> 0,4628 x 10
-3
0,00001011
2
--> normalizando ==> 0,1011 x 2
-4
De forma genrica, podemos representar a forma normalizada:
nmero x base
expoente
A parte do nmero representado dessa forma normalizada (os algarismos significativos), damos o
nome de mantissa.e portanto podemos representar:
0,M x B
e
onde M a mantissa, B a base e e o expoente.
28
REPRESENTAO DE NMEROS REAIS NO COMPUTADOR
Uma forma comum de representao de nmeros reais no computador pode ser expressa como
segue:
Pode-se notar que a base no expressa. Como a base, para cada computador, ser sempre a
mesma, no h necessidade de apresentar a base na representao (no exemplo, a base 2).
Dizemos que a base implcita.
Para cada computador, o nmero total M de bits para a representao, o nmero de bits para SN
(sinal do nmero), para SE (sinal do expoente), para a mantissa e para o expoente, so pr-definidos
em projeto.
Assim, podemos concluir que, quanto maior o nmero de bits para o expoente, maior ser a faixa de
nmeros que o computador pode representar (maior alcance); e quanto maior o nmero de bits para
a mantissa, maior a preciso da representao. Porm, reduzindo-se a mantissa, perde-se preciso e
h maior a necessidade de truncar o nmero (truncar um nmero cortar algarismos significativos
que no podem ser representados).
Considerando-se a representao acima, na base implcita 2:
maior expoente possvel E: 2
x
1
maior mantissa possvel: 2
y
1
maior nmero real: +(0.111...1 x 2
E
) sendo E = 2
x
1
menor nmero real: -(0.111...1 x 2
E
) sendo E = 2
x
1
menor real positivo: +(0.100...0 x 2
-E
sendo E = 2
x
1
maior real negativo: -(0.100...0 x 2
-E
sendo E = 2
x
1
29
FAIXA DE REPRESENTAO
Como vimos anteriormente, a representao em ponto flutuante tem limites de alcance e de
preciso. O alcance limitado pelo nmero de bits do expoente. A preciso determinada pelo
nmero de bits da mantissa.
Ocorre overflow quando o valor absoluto do dado a ser representado excede a capacidade de
representao, porque o nmero de bits do expoente (neste caso, positivo) insuficiente para
representar o dado.
Um outro problema ocorre na regio de nmeros prximos de zero, que tem o maior expoente
negativo possvel. Ocorre underflow quando o valor absoluto do dado a ser representado to
pequeno que fica menor que o menor valor absoluto representvel. Nesse caso, o expoente
negativo mas no representa os nmeros muito prximos de zero e ocorre uma descontinuidade na
representao, com os nmeros prximos a zero no sendo representados.
Underflow no o mesmo que impreciso. Dados na faixa de underflow no podem ser
representados, ocorrendo estouro no expoente. No caso de impreciso, a normalizao permite que
o dado seja representado, porm com perda de preciso.
CARACTERSTICA
Caracterstica o expoente, representado na forma de excesso de n, ou seja,
CARACTERSTICA = EXPOENTE + EXCESSO
A representao substituindo expoente por caracterstica acarreta que todas as caractersticas sero
positivas, de forma que possvel eliminar a representao do sinal do expoente.
Se CARACTERSTICA = EXPOENTE + EXCESSO,
sendo M o nmero de bits para a representao da caracterstica, temos:
0 = - 2
M-1
+ EXCESSO logo: EXCESSO = + 2
M-1
30
EXEMPLO DE REPRESENTAO EM PONTO FLUTUANTE
a) Representao no IBM /370
A famlia IBM /370 representa os dados em ponto flutuante com base implcita = 16, no seguinte
formato:
sendo
SN = sinal do dado
CARACTERSTICA = o expoente, representado na forma de excesso de n, ou seja,
CARACTERSTICA = EXPOENTE + EXCESSO
No caso da IBM, o excesso de 64
10
, portanto: CARACTERSTICA = EXPOENTE + 64
10
Exemplificando: expoente = 8
10
, logo caracterstica = 8
10
+ 64
10
= 72
10
Assim, uma caracterstica entre 0 e 63
10
significa que o expoente negativo, enquanto uma
caracterstica entre 65 e 127 significa que o expoente positivo (caracterstica igual a 64
10
significa
expoente igual a 0).
Exemplo: Representar 25,5
10
Como a base implcita 16, vamos converter para hexadecimal: 25 / 16 = 1, resto 9 logo: 25
10
=
19
16
Parte fracionria: 0.5 x 16 = 8,0
Logo: 25,5
10
= 19,8
16
x 16
0
Normalizando: 19,8
16
x 16
0
= 0,198
16
x 16
2
. Em binrio com 24 bits, a mantissa normalizada ser:
0,198
16
= 0001.1001.1000.0000.0000.0000
Obs.: Como o nmero 0,198
16
ser representado em 24 bits, os bits no representativos ( direita)
sero preenchidos com zeros.
Como o expoente 2, a caracterstica ser: 2
10
+ 64
10
= 66
10
. Em binrio com 7 bits, ser: 100.0010
Portanto, a representao ser:
31
b) Representao no PDP 11
Os microcomputadores PDP 11 representam os dados em ponto flutuante com base implcita = 2,
no seguinte formato:
sendo
SN = sinal do dado
CARACTERSTICA = o expoente, representado na forma de excesso de n, ou seja,
CARACTERSTICA = EXPOENTE + EXCESSO
No caso do PDP 11, o excesso de 128
10
, portanto: CARACTERSTICA = EXPOENTE + 128
10
Exemplificando: expoente = - 28 logo caracterstica = - 28
10
+ 128
10
= 100
10
Assim, uma caracterstica entre 0 e 127
10
significa que o expoente negativo, enquanto uma
caracterstica entre 129 e 255 significa que o expoente positivo (caracterstica igual a 128
0
significa expoente igual a 0).
Exemplo: Representar 25,5
10
Como a base implcita 2, vamos converter para binrio: 25
10
= 11001
2
Parte fracionria: 0.5 x 2 = 1,0
Logo: 25,5
10
= 11001,1
2
x 2
0
Normalizando: 11001,1
2
x 2
0
= 0,110011
2
x 2
5
.
Obs.: Como a base implcita no PDP 11 2, o nmero normalizado comear SEMPRE por 0,1.
Assim, como o primeiro dgito da mantissa ser sempre 1, o PDP 11 economiza um bit na mantissa
no armazenando o primeiro bit da mantissa, j que est implcito que todos os nmeros tero
mantissa iniciando com 1. O bit economizado dessa forma permite que, embora a mantissa no PDP
seja representada com 23 bits e no IBM /370 com 24 bits, a preciso na representao a mesma.
Obs.1: Leia-se o SEMPRE da obs. acima como quase sempre. A nica exceo corre por conta do
zero, que nesse caso tem um tratamento especial.
Em binrio com 23 bits, a mantissa normalizada ser (lembrando que o primeiro bit 1 no
representado):
0,110011
2
= 100.1100.0000.0000.0000.0000
Obs.: Como o nmero 0,110011
2
ser representado em 23 bits, os bits no representativos ( direita)
sero preenchidos com zeros.
Como o expoente 5, a caracterstica ser: 5
10
+ 128
10
= 133
10
. Em binrio com 8 bits, ser:
1000.0101
Portanto, a representao ser:
32
Exerccio: Qual das representaes de ponto flutuante nos dois computadores exemplificados acima
tem o maior alcance?
Resp.: O alcance de uma representao depende do valor da base implcita, elevado ao maior valor
que a caracterstica pode assumir.
O maior alcance ser o que tiver o maior valor de B
e
ou seja, base elevada ao maior valor possvel
da caracterstica.
O IBM /370 tem 7 bits para caracterstica (maior caracterstica = 63) e base implcita 16, portanto
16
63
= (2
4
)
63
= 2
252
O PDP tem 8 bits para caracterstica (maior caracterstica = 127) e base implcita 2, portanto 2
127
Concluso: A representao em ponto flutuante do IBM /370 tem maior alcance que a do PDP 11.
REPRESENTAO DE CARACTERES E SMBOLOS
A representao de caracteres e smbolos em computador feita atribuindo-se a cada caractere ou
smbolo um cdigo binrio. Desta forma so construdas tabelas (padres) em que cada cdigo
binrio representa para o computador um determinado caractere ou smbolo.
Cada computador (ou cada fabricante) adota um determinado padro. O nmero de bits que ser
utilizado no padro uma deciso do fabricante e determinar quantos caracteres (e smbolos)
podero ser representados.
Nota: Se um padro utiliza 7 bits, ser possvel representar at 2
7
= 128 caracteres e smbolos e com
8 bits sero 2
8
= 256.
O principal padro hoje utilizado o ASCII, de 7 bits, com uma variao de 8 bits (ASCII
extendido) em que o 8 bit permite representar outros 128 smbolos.
Nota 1: Nos computadores PC, devido s diferenas lingsticas, com a necessidade de representar
caracteres diferentes para para dar suporte a outras lnguas que no o ingls, foram criadas diversas
"pginas de cdigo". Por exemplo, a pgina de cdigo 437 refere-se aos Estados Unidos, a 850 a
Multilinge (Latin I), a 860 para Portugus (incluindo caracteres que no existem no ingls, tais
como e os acentos).
Nota 2: ASCII um acrnimo para American Standard Code for Information Interchange (ou
Cdigo Padro Americano para Intercmbio de Informaes).
33
A seguir, apresentamos alguns exemplos de cdigos da tabela ASCII:
Decimal Binrio Caractere
48 a 57 0011.0000 a 0011.1001 de 0 at 9 (algarismos)
65 a 90 0100.0001 a 0101.1010 de A at Z (maisculas)
97 a 122 0110.0001 a 0111.1010 de a at z (minsculas)
36 0010.0100 $
42 0010.1010 *
43 0010.1011 +
63 0011.1111 ?
64 0100.0000 @
128 1000.0000
135 1000.0111
132 1000.0100
142 1000.1110
172 1010.1100
167 1010.0111
166 1010.0110
225 1110.0001
241 1111.0001
Nota: At 127, os cdigos pertencem tabela ASCII padro, enquanto os cdigos entre 128 e 255
fazem parte do ASCII extendida, podendo variar o caractere ou smbolo representado conforme a
pgina de cdigo configurada.
Outros padres foram e ainda so usados, por exemplo o EBCDIC (Extended Binary Coded
Decimal Interchange Code, de 8 bits, usados nos computadores de grande porte IBM).
34
Captulo 4 Organizao Interna de um Computador
Vimos que um sistema de computador um conjunto de componentes que so integrados para
funcionar como um nico elemento e tem por objetivo realizar manipulaes com dados; isto ,
realizar algum tipo de operao com os dados de modo a obter informaes teis.
4.1 MODELO DE VON NEUMANN
Para podermos entender a importncia da arquitetura Von Neumann vamos comear fazendo uma
pergunta: qual a diferena entre uma calculadora e um computador?
Uma calculadora bsica realiza apenas as funes pr-determinadas em seu teclado. Se desejarmos
fazer um novo tipo de operao, isto s ser possvel com a modificao dos circuitos eletrnicos
que compem a calculadora, alm do seu teclado, para a incluso da nova funo. No h, portanto,
flexibilidade para realizar alteraes na calculadora para se adaptar a novas aplicaes.
O computador, por sua vez, um equipamento que oferece a possibilidade de ser configurado
facilmente para novas tarefas, de acordo com as necessidades de cada aplicao que for requerida
pelo usurio.
A grande inovao da proposta de Von Neumann foi uma nova forma de organizao para o
computador que permitisse um alto grau de flexibilidade, de forma a adapt-lo facilmente para
diversas aplicaes.
Modelo de Von Neumann
O conceito de programa armazenado foi um dos conceitos fundamentais apresentados por Von
Neumann que permitiu essa flexibilidade. Em seu modelo de computador foi introduzido o conceito
de memria, um dispositivo de armazenamento temporrio, para onde programas (e dados)
diferentes poderiam ser carregados a partir de uma unidade de entrada, para serem executados
pela unidade aritmtica e lgica, com os resultados sendo transferidos da memria para uma
35
unidade de sada, tudo isso sob a coordenao de uma unidade de controle. Deste modo, ficava
garantida a flexibilidade do computador, que pode ter o seu funcionamento facilmente alterado
mediante o uso de programas e dados diferentes, de acordo com a aplicao de cada usurio.
Sendo mais formal, os componentes da mquina de Von Neumann (Figura) podem ser descritos
assim:
Memria: a unidade onde as instrues, os dados de entrada, as tabelas de referncia, e os
resultados intermedirios devem ser armazenados para permitir a execuo de um programa.
Controle: a unidade responsvel pelo seqenciamento das operaes e pelo controle das demais
unidades do computador.
Aritmtica: a unidade que ir executar as operaes aritmticas e lgicas tais como: soma,
subtrao, multiplicao, diviso, raiz quadrada, movimentao entre a unidade aritmtica e a
memria, verificao do sinal do resultado, converso de decimal para binrio e vice-versa. Um
total de 10 operaes fundamentais foi definido por Von Neumann. chamada abreviadamente de
UAL.
Entrada: a unidade que transfere a informao (numrica ou no) do meio externo. Todas as
transferncias devem ser feitas para a memria e nunca diretamente para a unidade de controle.
Sada: a unidade que transfere a informao (numrica ou no) para o meio externo. Todas as
transferncias devem ser feitas da memria para o meio externo, e nunca diretamente da unidade de
controle.
Von Neumann, em uma analogia com o comportamento dos neurnios, sugere o uso da numerao
binria para a representao interna dos nmeros, ao invs da numerao decimal, pela evidente
economia que isto proporciona no tempo gasto nos clculos e na complexidade dos circuitos. As
vlvulas foram escolhidas como elementos bsicos por serem dispositivos com o menor tempo de
chaveamento (mudana do valor lgico 0 para o valor lgico 1) existentes com a tecnologia
disponvel naquela poca. O uso de um sinal eltrico peridico para cadenciar todas as operaes do
computador foi tambm proposto, dando origem ao que chamamos de relgio do computador.
Este modelo de organizao proposto por Von Neumann continua sendo utilizado no projeto dos
processadores comerciais nos dias de hoje. O estudo de suas caractersticas permite uma
compreenso adequada do funcionamento dos computadores utilizados comercialmente hoje em
dia.
36
4.2 MODELO DE BARRAMENTO DE SISTEMA
O modelo de Von Neumann passou por um refinamento que recebeu o nome de modelo de
barramento de sistema (Figura acima). Nesse modelo, a unidade de controle e a unidade
aritmtica so vistas como um s elemento e recebem o nome de processador. As unidades de
entrada e sada so vistas tambm em uma nica unidade, chamada agora de unidade de
entrada/sada. A memria continua sendo vista com uma unidade independente, com as mesmas
funes da arquitetura de Von Neumann.
Um elemento novo que surge o prprio barramento de sistema, que faz a interligao entre o
processador, a memria e a unidade de entrada/sada. O barramento de sistema composto pelos
barramentos de endereo, dados e controle.
O barramento de endereos transporta os sinais de endereo atravs de fios ou trilhas at a memria.
Sinais estes que vo, principalmente, determinar qual a posio de memria que ir ser lida ou
escrita. Os endereos podem ser fornecidos tanto pelo processador como pela unidade de entrada/
sada. A informao dessa posio de memria, que est sendo lida ou escrita na memria, transita
pelo barramento de dados, que bidirecional. Apesar do nome, tanto instrues como os dados
propriamente ditos circulam por esse barramento.
O barramento de controle indica qual a natureza da operao que vai ser realizada: leitura ou
escrita, na maior parte dos casos, e possui tambm sinais para a arbitragem do barramento, para
determinar quem vai utilizar o barramento naquele momento, que pode ser tanto o processador
como a unidade de entrada/sada.
Eventualmente, nos modernos computadores, existe tambm um barramento dedicado para ligar os
perifricos unidade de entrada/sada. Isso permite que o acesso do processador memria se faa
com maior eficincia, pela diminuio do trfego de dados no barramento de sistema.
A seguir vamos examinar cada um dos componentes do modelo de barramento de sistema com mais
detalhes.
Unidade Central de Processamento (Processador) o componente vital do sistema de
computao, responsvel pela realizao das operaes de processamento (os clculos
matemticos com os dados, etc.) e pelo controle de quando e o que deve ser realizado, durante a
37
execuo de um programa. Tal controle realizado atravs da emisso de sinais apropriados de
controle.
A funo da UCP consiste, ento, em:
a) buscar uma instruo na memria, uma de cada vez;
b) interpretar que operao a instruo est explicitando (pode ser e soma de dois nmeros,
uma multiplicao, etc.);
c) buscar os dados onde estiverem armazenados, para traz-los at a UCP;
d) executar efetivamente a operao com os dados, guardar o resultado no local definido na
instruo;
e) reiniciar o processo apanhando nova instruo.
Memria o componente de um sistema de informao cuja funo armazenar as
informaes que so, foram ou sero manipuladas pelo sistema. Os programa e os dados so
armazenados na memria para execuo imediata (memria principal) ou para execuo ou uso
posterior (memria secundria). H duas nicas aes que podem ser realizadas: 1) a de guardar
um elemento na memria, ento chamamos de armazenar e a operao associada a esta ao
de escrita ou gravao (write) ou 2) recuperao de um elemento da memria, ao de
recuperar, e operao de leitura (read).
Dispositivos de Entrada e Sada serve basicamente para permitir que o sistema de
computao se comunique com o mundo externo, realizando ainda, a interligao, a converso
das linguagens do sistema para a linguagem do meio externo e vice-versa. Os seres humanos
entendem smbolos como A, b, *, ?, etc. e o computador entende sinais eltricos que podem
assumir um valor de +3Volts para representar 1 e ou outro valor, 0 Volts para representar 0. O
teclado (dispositivo de ENTRADA) interliga o usurio e o computador, por exemplo, quando
pressionamos a tecla A, os circuitos eletrnicos existentes no teclado convertem a presso
mecnica em um grupo de sinais eltricos, alguns com voltagem alta (bit 1) e outras com
voltagem baixa (bit 0), que corresponde, para o computador, ao caractere A. Os dispositivos de
SADA operam de modo semelhante, porm em sentido inverso, do computador para o mundo
exterior, convertendo os sinais eltricos em smbolos conhecidos por ns.
4.3 BIT, CARACTERE, BYTE E PALAVRA:
Bit a menor unidade de informao armazenvel em um computador. Bit a contrao das
palavras inglesas Binary Digit. O bit pode ter, ento, somente dois valores: 0 e 1.
Evidentemente, com possibilidades to limitadas, o bit pouco pode representar isoladamente;
por essa razo, as informaes manipuladas por um computador so codificadas em grupos
ordenados de bits, de modo a terem um significado til.
Caractere o menor grupo de bits representando uma informao til e inteligvel para o ser
humano. Qualquer caractere a ser armazenado em um sistema de computao convertido em
um conjunto de bits previamente definidos para o referido sistema (chama-se cdigo de
representao de caracteres). Cada sistema poder definir como (quantos bits e como se
organizam) cada conjunto de bits ir representar um determinado caractere.
38
Byte o grupo de 8 bits, tratados de forma individual, como unidade de armazenamento e
transferncia. Como os principais cdigos de representao de caracteres utilizam 8 bits por
caractere, os conceitos de byte e caractere tornam-se semelhantes e as palavras, quase
sinnimas.
costume, no mercado, construrem memria cujo acesso, armazenagem e recuperao de
informaes so efetuadas byte a byte (ou caractere a caractere). Por exemplo, 16 Kbytes de
memria ou 12 Mbytes. O K e M, so letras indicativas de um valor numrico fixo, utilizado para
reduzir a quantidade de algarismos representativos de um nmero, onde K representa mil vezes e M
milhes.
Como os computadores so binrios, toda indicaes numricas referem-se a potncia de 2, ou seja,
o K representa 2
10
= 1.024 unidades e M 1.024 * 1.024 = 1.048.576 caracteres ou bytes.
Palavra um conjunto de bits que representam uma informao til, mas estaria associada
ao tipo de interao entre a MP (memria principal) e a UCP, que individual, informao por
informao, ou seja, a UCP processa informao por informao, armazena e recupera nmero a
nmero (cada uma estaria associada a uma palavra).
De modo geral, usam-se dois valores diferentes: um relacionado unidade de armazenamento o
byte e o outro para indicar a unidade de transferncia e processamento a palavra (que na quase
totalidade de computadores, possui um nmero de bits mltiplo de 1 byte 16 ou 32 bits o valor
mais comum.
4.4 CLASSIFICAO DE SISTEMAS DE COMPUTAO:
Microcomputadores surgiram comercialmente por volta de 1974, atravs do
desenvolvimento dos microprocessadores (todos os componentes de uma UCP em uma nica
pastilha) e o nome foi justamente devido ao tamanho e capacidade de processamento, ambos
pequenos em relao ao que j existia no mercado.
H no mercado vrias categorias de microcomputadores, classificadas quanto ao tamanho fsico do
equipamento e a sua portabilidade:
a) Mesa ou desktop;
b) Torre (maior disponibilidade para instalao de dispositivos de entrada e sada);
c) Laptops;
d) Notebooks e sub-notebooks;
e) Palmtops.
Estao de Trabalho essencialmente um microcomputador projetado para realizar tarefas
pesadas, em geral na rea cientfica ou industrial, tais como complexas computaes
matemticas e a composio, manipulao e apresentao de grficos e imagens de altssima
resoluo. Especialmente no que se refere a velocidade do processador e a capacidade de
memria, a potncia de uma estao de trabalho semelhante de um minicomputador. Ex:
IBM RS/6000.
Minicomputadores so mquinas projetadas para atender simultaneamente a demanda por
execuo de programas de vrios usurios, embora a quantidade de usurio e de programas no
seja to grande quanto se pode encontrar em computadores de grande porte. A capacidade de
suportar mltiplos usurios e programas requer alm de velocidade de processamento e
39
capacidade/velocidade de memria, uma extensa potencialidade para manipular diversos
dispositivos de entrada e sada. Ex: IBM AS/400.
Computador de Grande Porte so sistemas projetados para manusear considervel volume
de dados e executar simultaneamente programas de uma grande quantidade de usurios. Essas
mquinas podem interagir com centenas de usurios em um dado instante, como, por exemplo,
um sistema de reserva de passagens areas, bem como uma contnua solicitao de
processamento por parte dos incontveis terminais conectados diretamente ao sistema, aos quais
os computadores tm que atender e responder em poucos segundos. Ex: IBM 3090 e Control
Data CDC 6600.
Supercomputadores so projetados primariamente para atender a um nico propsito:
realizar grandes quantidades de clculos matemticos o mais rapidamente possvel, tipo
previso do tempo, simulao, modelagem tridimensional, etc. Ex: IBM 9021 e CRAY Y-MP.
4.5 MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:
A medida geral de desempenho de um sistema de computador depende fundamentalmente da
capacidade e velocidade de seus diferentes componentes, da velocidade com que estes se
comunicam entre si e do grau de compatibilidade que possa existir entre eles.
Desempenho dos Processadores medido em termos de sua velocidade de trabalho; como
seu trabalho executar instrues, criou-se a unidade chamada MIPS milhes de instrues
por segundo e tambm a unidade MFLOPS milhes de operaes de ponto flutuante por
segundo, que uma medida tpica de estaes de trabalho e de supercomputadores, pois estes
costumam trabalhar mais com clculos matemticos.
Tempo de Acesso uma unidade de medida mais apropriada, estando relacionada
velocidade de cada componente e do canal de interligao entre os dois (UCP e memria).
Tempo de Resposta a medida ligada ao desempenho global do sistema e no de um ou
outro componente. Trata-se do perodo de tempo gasto entre o instante em que o usurio iniciou
uma solicitao ou interrogao e o instante em que o sistema apresentou ao usurio a sua
resposta ou atendeu sua solicitao. Ex: o intervalo de tempo entre a solicitao de um saldo
de conta em um terminal bancrio e apresentao no vdeo da resposta (o saldo da conta).
Vazo (throughput) define a quantidade de aes ou transaes que podem ser realizadas
por um sistema na unidade de tempo. Por exemplo, a quantidade de atualizaes que podem ser
feitas em um sistema de controle do estoque de uma empresa.
40
Captulo 5 Funes de cada Componente de um Computador
Iremos detalhar neste captulo os aspectos que envolvem os componentes do sistema computador:
Processador, Memria e Entrada e Sada.
5.1 UNIDADE CENTRAL DE PROCESSAMENTO
A Unidade Central de Processamento - UCP (em ingls, Central Processing Unity - CPU) a
responsvel pelo processamento e execuo dos programas armazenados na MP. As funes da
UCP so: executar as instrues e controlar as operaes no computador.
Um programa, para ser efetivamente executado pelo processador, deve ser constitudo de uma srie
de instrues de mquina. Para que a execuo tenha incio, as instrues
devem ser armazenadas em clulas sucessivas, na MP.
A funo da UCP consiste, ento, em:
a) Buscar uma instruo na memria (operao de leitura), uma de cada
vez;
b) Interpretar que operao a instruo est explicitando (pode ser soma
de dois nmeros, uma multiplicao, uma operao de entrada ou de
sada de dados, ou ainda uma operao de movimentao de um dado
de uma clula para outra);
c) Buscar os dados onde estiverem armazenados, para traz-los at a
UCP;
d) Executar efetivamente a operao com os dados, guardar o resultado
(se houver algum) no local definido na instruo; e, finalmente;
e) Reiniciar o processo apanhando nova instruo.
Estas etapas compem o que se denomina um ciclo de instruo. Este
ciclo se repete indefinidamente (ver Figura 5.8) at que o sistema seja
desligado, ou ocorra algum tipo de erro, ou seja, encontrada uma instruo
de parada.
As atividades realizadas pela UCP podem ser divididas em duas grandes categorias funcionais:
funo processamento e funo controle.
5.1.1 Funo Processamento
Vimos que processamento de dados a ao de manipular um ou mais valores (dados) em certa
seqncia de aes, de modo a produzir um resultado til. O resultado muda conforme o tipo de
operao realizada. Por exemplo, se uma instruo define que deve ser realizada uma operao de
adio sobre os valores A = 5 e B = 3, o sistema, ao interpretar a instruo, gera as aes
subseqentes que redundaro no resultado igual a 5+3 = 8. Por outro lado, se o sistema interpretar
uma outra instruo que define a operao de subtrao, ele deve gerar outras aes de modo que o
resultado seja 5-3 = 2 (e no mais 8).
Processar o dado executar com ele uma ao que produza algum tipo de resultado. Este , pois, a
atividade-fim do sistema; ele existe para processar dados. O dispositivo principal desta rea de
atividade de uma UCP chamado ULA Unidade Lgica e Aritmtica. Os demais componentes
relacionados com a funo processamento so os registradores, que servem para armazenar dados
(ou para guardar resultados) a ser usados pela ULA. A interligao entre estes componentes
efetuada pelo barramento interno da UCP.
Figura 5.8 Ciclo de Instruo.
41
5.1.1.1. Unidade Lgica e Aritmtica ULA:
o dispositivo que realmente executa as operaes matemticas com os dados. Tais operaes
podem ser:
Soma Subtrao Multiplicao Diviso
Op. Lgica AND Op. Lgica OR Op. Lgica XOR Op. Complemento
Deslocamento direita Deslocamento esquerda Incremento Decremento
Tais operaes podem utilizar dois valores (operaes aritmticas e lgicas), por isso a ULA possui
duas entradas, ver Figura 5.9, ou apenas um valor (operaes com complemento). A ULA um
aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as
operaes j mencionadas.
Figura 5.9 Esquema da UCP, destacando-se os elementos que contribuem para a realizao da funo processamento.
5.1.1.2. Registradores:
Para que o dado seja transferido para a ULA, necessrio que ele permanea, mesmo que por um
breve instante, armazenado em um registrador (a memria da UCP). Alm disso, o resultado de uma
operao aritmtica ou lgica realizada na ULA deve ser armazenado temporariamente, de modo
que possa ser reutilizado mais adiante (por outra instruo) ou apenas para ser, em seguida,
transferido para a memria.
Para atender a este propsito, a UCP fabricada com certa quantidade de registradores, destinados
ao armazenamento de dados. Serve de memria auxiliar da ULA. H sistemas nos quais um desses
registradores, denominado Acumulador ACC, alm de armazenar dados, serve de elemento de
ligao da UAL com os restantes dispositivos da UCP.
Em geral, os registradores de dados da UCP tm uma largura (quantidade de bits que podem
armazenar) igual da palavra. O tamanho dos processadores IBM/370 era de 32 bits, a mesma
Sendo que os elementos em
amarelo, da UCP, so os
que contribuem para a
realizao da funo
processamento.
42
largura dos 16 registradores de emprego geral neles existentes. O microprocessador Intel 8088, que
moveu os primeiros sistemas IBM PC, possui registradores de 16 bits cada um, tamanho idntico ao
definido para a palavra.
A quantidade e o uso dos registradores variam bastantes de modelo para modelo de UCP. As
Figuras 5.10 e 5.11 apresentam exemplos de organizao de registradores de dados em algumas
UCP.
Alm dos registradores de dados, a UCP possui sempre outros registradores (que no participam
diretamente da funo processamento), com funes especficas ou que funcionam para a rea de
controle. Entre estes registradores podemos citar desde j o Registrador de Instruo RI e o
contador de instruo CI, alm do Registrador de Endereo de Memria REM e o Registrador
de Dados de Memria RDM.
Figura 5.10 Diagrama (simplificado) em bloco da UCP Intel 8085, apenas com os
dispositivos bsicos da rea de processamento.
Figura 5.11 Diagrama (simplificado) em bloco da UCP Intel 8086, mostrando
apenas os dispositivos bsicos da rea de processamento.
5.1.1.2. A Influncia do Tamanho da Palavra:
A capacidade de processamento de uma UCP (a velocidade com que realiza o ciclo de uma
instruo) em grande parte determinada pelas facilidades embutidas no hardware da ULA (ela ,
s hardware) para realizar as operaes matemticas projetadas.
Um dos elementos fundamentais para isso a definio do tamanho da palavra da UCP. O valor
escolhido no projeto de fabricao da UCP determinar o tamanho dos elementos ligados rea de
processamento, entre estes a ULA.
Reg. Temp.
Flags
ULA
Reg. Temp.
AH AL
BL BH
CH CL
OH DL
Barramento Interno
Reg. de Emprego geral
AH + AL += 16 bits
ULA = 16 bits
B = C = D = E = H = L = 8 bits
ULA = 8 bits
ACC Reg. Temp. Flags
ULA
Reg. B Reg. C
Reg. E Reg. D
Reg. H Reg. L
Barramento Interno
43
Um tamanho maior ou menor de palavra (e, por conseguinte, da ULA, dos registradores de dados,
do barramento interno) acarreta, sem dvida, diferenas fundamentais de desempenho da UCP.
Vejamos um exemplo simples sobre a influncia do tamanho da palavra na capacidade de
processamento.
Vamos realizar a soma de dois valores, A = 3A25 e B = 172C, ambos nmeros inteiros, sem sinal,
com 16 bits de tamanho cada um. A referida soma ser simulada em 2 sistemas de computao,
sistema 1 e sistema 2.
O sistema 1 possui palavras de 8 bit, e a memria principal tem 64K clulas de 8 bits cada uma,
conforme mostrado na Figura 5.10.
O sistema 2 possui palavras de 16 bits, e a memria principal possui um espao de endereamento
de 1M clulas, todas tambm com 8 bits cada uma, conforme mostrado na Figura 5.11.
Operao de soma no sistema 1:
a) A operao realizada em duas etapas lgicas, porque cada valor tem 16 bits e a UCP (ULA,
registrador ACC e barramento de dados) s permite armazenar, processar e transferir dados com
8 bits de tamanho.
b) Na primeira etapa so transferidos para a ULA, via ACC e barramento de dados, a 1
a
metade de
cada nmero (25 para o nmero A e 2C para o nmero B) e eles so somados.
c) Na segunda etapa a operao realizada de forma idntica, exceto para a 2
a
parte dos valores
(3A para o nmero A e 17 para o nmero B).
d) A operao completa gasta um perodo de tempo igual a T
1
.
A Figura 5.12 mostra este exemplo em um digrama em bloco de uma UCP semelhante do sistema
1, com a transferncia dos valores sendo efetuada de 8 em 8 bits de cada vez.
Operao de soma no sistema 2:
a) A operao realizada em uma etapa lgica, porque a UCP fabricada para operar valores de
16 bits de tamanho, mesmo tamanho dos nmeros.
b) A operao completa gasta um perodo de tempo igual a T
2
.
A Figura 5.13 mostra este exemplo em um digrama em bloco de uma UCP semelhante do sistema
2, com a transferncia dos valores sendo efetuada de 16 em 16 bits de cada vez.
Considere que a operao de soma no sistema 1 realizada em duas etapas e a mesma operao no
sistema 2 realizada em uma etapa, o tempo T
2
deve ser aproximadamente a metade do tempo T
1
.
Isto torna a capacidade da UCP do sistema 2 bem maior que a capacidade do sistema 1.
NOTA: Nos exemplos anteriores foram consideradas vrias simplificaes, no somente na
arquitetura dos dois sistemas, como tambm no processo de soma, visando no complicar a
explicao do essencial a influncia do tamanho da palavra na variao da capacidade de
processamento dos sistemas. Nenhuma das simplificaes feitas comprometeu a concluso final.
44
Figura 5.12 Exemplo de uma operao de soma de 2 nmeros, A e B, em um computador com palavra de 8 bits.
Figura 5.13 Exemplo de uma operao de soma de 2 nmeros, A e B, em um computador com palavra de 16 bits.
No projeto de uma UCP, a definio do tamanho da palavra tem enorme influncia no desempenho
global de toda a UCP e, por conseguinte, do sistema como um todo. Vejamos:
a) Influencia no desempenho devido ao maior ou menor tempo na execuo de instrues com
operaes matemticas na ULA, conforme demonstrado no exemplo anterior;
b) Influencia no desempenho devido ao tamanho escolhido para o barramento interno e externo da
UCP. Em geral, obtm-se o mximo de desempenho quando a largura (tamanho) do barramento
25+2C (1
a
)
3A+17 (2
a
)
ULA
8 bits
ACC = 8 bits
Barramento de dados
8 bits
UCP
3A
25
17
2C
0
MP

3A
25
17
2C
8 bits
8 bits
A
B
UCP Palavra de 8 bits
Memria de 64K bytes
Operao: somar 2 nmeros com 16 bits de tamanho
A = 3A25 e B = 172C (realizada em duas etapas)
3A25+172C (1
a
)
ULA
16 bits
ACC = 16 bits
Barramento de dados
16 bits
UCP
3A
25
17
2C
0
MP

3A
25
17
2C
8 bits
8 bits
A
B
UCP Palavra de 16 bits
Memria de 1M bytes
Operao: somar 2 nmeros com 16 bits de tamanho
A = 3A25 e B = 172C (realizada em uma nica etapa)
45
de dados , no mnimo, igual ao tamanho da palavra (como nos exemplos mostrados). Se a
largura do barramento for, p. ex., igual a 16 bits em um sistema com palavra de 32 bits (ULA e
registradores de 32 bits), ento o movimento de 4 bytes de um dado tipo caractere requerer
dois ciclos de tempo do barramento, ao passo que em barramento de 32 bits requereria apenas
um ciclo de tempo;
c) Influencia tambm na implementao fsica do acesso memria. Embora atualmente a
capacidade das memrias seja medida em bytes (porque as clulas so sempre de largura igual a
8 bits), o movimento de dados entre UCP e memria normalmente medido em palavras,
porque o barramento de dados que une o RDM (ou MBR) memria deve acompanhar em
largura o valor da palavra. Para uma UCP de 32 bits de palavra, p. ex., desejvel que a
memria seja organizada de modo que sejam acessadas 4 clulas contguas (4 bytes = 32 bits)
em um nico ciclo de memria. Se isto no ocorrer, a UCP dever ficar em estado de espera
(wait state).
5.1.2 Funo Controle
A rea de controle de uma UCP a parte funcional que realiza (uma etapa de cada vez, em sistemas
de execuo serial, ou vrias etapas simultaneamente, em sistemas de execuo pipelining) as
atividades de:
a) Busca de instruo que ser executada, armazenando-a em um registrador especialmente
projetado para esta finalidade;
b) Interpretao das aes a serem desencadeadas com a execuo da instruo (se uma soma,
uma subtrao, uma complementao, etc.); e
c) Gerao de sinais de controle apropriado para ativao requerida para a execuo propriamente
dita da instruo identificada. Esses sinais de controle so enviados aos diversos componentes
do sistema, sejam internos da UCP (como a ULA) ou externos (como a memria ou E/S).
Em outras palavras, a rea de controle projetada para entender o que fazer, como fazer e comandar
quem vai fazer no momento adequado. Podemos fazer uma analogia com os seres humanos,
imaginando que a rea de controle o crebro que comanda o ato de andar, e as reas do
processamento so os msculos e ossos das pessoas que realizam efetivamente o ato. Os nervos so
anlogos ao barramento de interligao entre os diversos elementos.
Na Figura 5.9 apresentada anteriormente, os elementos em Azul so os que contribuem para a
realizao da funo de controle.
Os dispositivos bsicos que devem fazer parte daquela rea funcional so:
Unidade de controle (UC);
Decodificador;
Registrador de instruo (RI);
Contador de Instruo (CI) ou PC Program Counter;
Relgio ou Clock;
Registradores de endereo de memria (REM) e de dados da memria (RDM).
A quantidade, a complexidade e a disposio dos componentes que realizam as funes de controle
variam consideravelmente de UCP para UCP, porm, essencialmente, os dispositivos indicados (em
azul na Figura 5.9) so os mesmos.
46
5.1.2.1. A Unidade de Controle:
o dispositivo mais complexo da UCP. Possui a lgica necessria para realizar a movimentao de
dados e instruo de e para a UCP, atravs de sinais de controle, que emite em instantes de tempo
programados. Este dispositivo controla a ao da ULA. Os sinais de controle emitidos pela UC
ocorrem em vrios instantes durante o perodo de realizao de um ciclo de instruo e, de modo
geral, todos possuem uma durao fixa e igual, originada em um gerador de sinais usualmente
conhecido como relgio (clock).
5.1.2.2. O Relgio:
o dispositivo gerador de pulsos cuja durao chamada de ciclo. A quantidade de vezes em que
este pulso bsico se repete em um segundo define a unidade de medida do relgio, denominada
freqncia, a qual tambm usamos para definir velocidade na UCP. A Figura 5.14 mostra um
exemplo de um relgio (em geral, um gerador de cristal de quartzo) e os pulsos por ele gerados.
Um ciclo de relgio ou de mquina o intervalo de tempo entre o incio de um pulso e o incio do
seguinte. Este ciclo est relacionado realizao de uma operao elementar, durante o ciclo de
uma instruo (operao elementar pode ser, p. ex., uma microinstruo, que parte do ciclo de
uma instruo de mquina, que veremos posteriormente). No entanto, mesmo esta operao
elementar no se realiza em um s passo e, por essa razo, costuma-se dividir o ciclo de mquina
em ciclos menos (subciclos), defasados no tempo, de modo que cada um aciona um passo diferente
da operao elementar. A Figura 3.14 mostra o ciclo bsico e os 5 subciclos gerados por um
retardador (exemplo dos ciclos do processador Intel 8085).
5.1.2.3. Registrador de Instruo - RI:
o registrador que tem a funo especfica de armazenar a instruo a ser executada pela UCP. Ao
se iniciar um ciclo de instruo, a UC emite o sinal de controle que acarretar a realizao de um
ciclo de leitura para buscar a instruo na memria (uma cpia dela), e que, via barramento de
dados e RDM, ser armazenado no RI.
5.1.2.4. Contador de Instruo - CI:
o registrador cuja funo especfica armazenar o endereo da prxima instruo a ser executada.
To logo a instruo que vai ser executada seja buscada (lida) da memria para a UCP (incio do
ciclo de instruo), o sistema providencia a modificao do contedo do CI de modo que ele passe a
armazenar o endereo da prxima instruo na seqncia. Por isso, comum definir a funo CI
como sendo a de armazenar o endereo da prxima instruo, que o que realmente ele faz
durante a maior parte da realizao de um ciclo de instruo.
O CI um registrador crucial para o processo de controle e de seqenciamento da execuo dos
programas.
Relgio
Gerador
De
Tempo
T
0
Unidade
De
Controle
T
0
T
1
T
2
T
3
T
4
T
5
(a) Diagrama em Bloco do conjunto de tempo da rea de controle.
47
Figura 5.14 Diagrama em bloco da UC, mostrando o relgio e um conjunto de ciclos de tempo.
5.1.2.5. Decodificador de Instruo:
um dispositivo utilizado para identificar as operaes a serem realizadas, que esto
correlacionadas instruo em execuo. Em outras palavras, cada instruo uma ordem para que
a UCP realize uma determinada operao. Como so muitas instruo, necessrio que cada uma
possua uma identificao prpria e nica. A unidade de controle est, por sua vez, preparada para
sinalizar adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado a
instruo a ser executada.
O decodificador recebe na entrada um conjunto de bits previamente escolhidos e especficos para
identificar uma instruo de mquina (cada instruo tem um valor prprio) e possui 2
N
sadas,
sendo N a quantidade de algarismos binrios do valor de entrada.
A Figura 5.15 mostra um exemplo de configurao de decodificador com entrada de 4 bits e 16
sadas. Cada linha de sada aciona de modo diferente a UC e esta, por sua vez, emite diferentes
sinais de controle, conforme a linha de sada decodificada.
T
1
T
2
T
3
T
0
T
4
T
5
1 Ciclo = T
0
1 Subciclo = T
0
/5
(b) Diagrama de tempo do ciclo do processador (T
0
) e seus 5 subciclos.
Registrador
de Instruo
UC
E
0
a E
2
S
0
a S
15
Decodificador
Sinais de
Controle
E Entrada
S Sada
(a) Diagrama em bloco da decodificao em uma UCP.
48
E
0
E
1
E
2
E
3
S
0
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
S
9
S
10
S
11
S
12
S
13
S
14
S
15
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Figura 5.15 Exemplo de um decodificador com 4 entradas e 16 sadas.
5.1.2.6. Registrador de Dados de Memria RDM e Registrador de Endereos de Memria - REM:
So os registradores utilizados pela UCP e memria para comunicao e transferncia de
informao conforme j explicado. Em geral, o RDM (ou MBR Memory Buffer Register) possui
um tamanho (capacidade de armazenamento de bits) igual ao da palavra e do barramento de dados,
enquanto o REM (ou MAR Memory Address Register) possui um tamanho igual ao dos
endereos da memria (e, consequentemente, do barramento de endereo do sistema). Pela
definio de bits do REM podemos calcular qual o espao mximo de endereamento da memria
principal de um computador.
49
5.2 MEMRIA:
5.2.1 Tecnologia de fabricao:
Ao longo do tempo, diversas tecnologias vm sendo desenvolvidas para a fabricao de memria.
Atualmente algumas dessas tecnologias j so obsoletas, como as memrias de ncleo de ferrite
(magnticas), algumas das tecnologias mais conhecidas so:
Memria de semicondutores so dispositivos fabricados com circuitos eletrnicos e
baseados em semicondutores. So rpidas e relativamente caras, se comparadas com outros tipos.
Registradores e memria principal so exemplos de memrias de semicondutores ou, mais
simplesmente, memrias eletrnicas.
Memrias de meio magntico so dispositivos, como os disquetes, discos rgidos e fitas
magnticas, fabricados de modo a armazenar informaes sob a forma de campos magnticos.
Eles possuem caractersticas magnticas semelhantes s das fitas cassetes de som, as quais so
memrias no volteis.
5.2.2 Hierarquia de Memria:
A MP no o nico dispositivo de armazenamento de um computador. Em funo de caractersticas
como tempo de acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma
hierarquia de dispositivos de armazenamento em computadores.
Devido a essa grande variedade de tipos de memria, no possvel implementar um sistema de
computao com uma nica memria. Na realidade, h muitas memrias no computador, as quais
se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de
computao, podendo ser denominado subsistema de memria, como mostrado na Figura 5.2.
Figura 5.2 Hierarquia de memria.
A pirmide em questo projetada com base larga, que simboliza a elevada capacidade, o tempo de
uso e o custo do componente que a representa.
A seguir sero definidos os principais parmetros para anlise das caractersticas de cada tipo de
memria componente da hierarquia apresentada na Figura 5.2.
Tempo de Acesso o perodo de tempo gasto decorrido desde o instante em que foi iniciada
a operao de acesso at que a informao requerida (instruo ou dado) tenha sido
efetivamente transferida. Pode ser chamado tempo de acesso para leitura ou simplesmente
tempo de leitura. dependente do modo como o sistema de memria constitudo e da
velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memria analisado,
sendo valores tpicos entre 50 e 150 nanossegundos (ns), por exemplo, para uma memria
disco
fitas
Custo alto
Velocidade alta
Baixa capacidade
Custo baixo
Velocidade baixa
Capacidade elevada
Registradores
Memria cache
Memria principal
Memria secundria
50
principal (tipo DRAM) e de 12 a 60 milissegundos (ms) para discos magnticos (memria
secundria).
Capacidade a quantidade de informao que pode ser armazenada em uma memria; a
unidade de medida mais comum o byte, embora tambm possam ser usadas outras unidades
como clulas (no caso da memria principal e cache), setores (no caso de discos) e bits (no caso
de registradores). Dependendo do tamanho (tamanho refere-se a quantidade de informao que
pode ser armazenada e no no tamanho fsico) da memria, isto , de sua capacidade, indica-se
o valor numrico total de elementos de forma simplificada, atravs da incluso de K (kilo), M
(mega), G (giga) ou T (tera).
Exemplo de nomenclatura para valores de capacidade de memria:
a) O registrador R1 tem 16 bits;
b) A ROM do microcomputador A tem 32 Kbytes;
c) A RAM do computador B tem capacidade para enderear 32 Mclulas;
d) O disco C tem capacidade para armazenar 4.5 Gbytes.
e) O CD-ROM E tem capacidade de armazenamento igual a 650 Mbytes.
Volatilidade memrias podem ser do tipo voltil ou no voltil. Uma memria no voltil
a que retm a informao armazenada quando a energia eltrica desligada. Memria voltil
aquela que perde a informao armazenada quando a energia eltrica desaparece (interrupo de
energia eltrica ou desligamento da chave ON/OFF do equipamento).
Temporariedade trata-se de uma caracterstica que indica o conceito de tempo de
permanncia da informao em um dado tipo de memria. Por exemplo, informaes
(programas e dados) podem ser armazenadas em discos ou disquetes e l permanecerem
armazenadas indefinidamente (mas h sempre a possibilidade de perda de magnetismo com o
passar do tempo) a este tipo de memria define-se como permanente. Ao contrrio dos
registradores, que armazenam um dado por um tempo extremamente curto (nanossegundos), a
este tipo chamamos de transitria.
Custo o custo de fabricao de uma memria bastante variado em funo de diversos
fatores, tipo: tecnologia de fabricao, tempo de acesso, e outros. Uma boa forma de medida de
custo o preo por byte armazenado, em vez do custo total.
O quadro a seguir mostra mais caractersticas:
Tipo Capacidade Velocidade Custo Localizao Volatilidade
Registrador Bytes muito alta muito alto UCP Voltil
Memria Cache Kbytes alta alto UCP/placa Voltil
Memria Principal Mbytes Mdia mdio Placa Voltil
Memria Auxiliar Gbytes Baixa baixo Externa No Voltil
A UCP v nesta ordem e acessa primeiro a que est mais prxima. Subindo na hierarquia, quanto
mais prximo da UCP, maior velocidade, maior custo, porm menor capacidade de
armazenamento.
51
5.2.2.1 Registradores:
So dispositivos de armazenamento temporrio, localizados na UCP, extremamente rpidos, com
capacidade para apenas um dado (uma palavra). Devido a sua tecnologia de construo e por estar
localizado como parte da prpria pastilha ("chip") da UCP, muito caro. O conceito de registrador
surgiu da necessidade da UCP de armazenar temporariamente dados intermedirios durante um
processamento. Por exemplo, quando um dado resultado de operao precisa ser armazenado at
que o resultado de uma busca da memria esteja disponvel para com ele realizar uma nova
operao.
Analisando os diversos parmetros que caracterizam as memrias, temos:
Tempo de acesso: possuem o menor tempo de acesso a memria do sistema, algo em torno de 10 a
20 nanossegundos, dependendo de tratar-se da UCP de um supercomputador ou de um
microprocessador mais lento.
Capacidade: so fabricadas com a capacidade de armazenar um nico dado, umas nicas
instrues ou at um nico endereo. Desta forma, a quantidade de bits de cada um de uns poucos
bits (de 8 a 64), dependendo do tipo de processador.
Volatilidade: so memrias semicondutoras, portanto, necessitam de energia eltrica para
funcionarem.
Temporariedade: os registradores so memrias auxiliares internas UCP e, portanto,
tendem a guardar informaes o mais temporariamente possvel.
Custo: devido tecnologia mais avanada de sua fabricao, os registradores so os
dispositivos de memria de maior custo.
5.2.2.2. Memria Cache:
Com o desenvolvimento da tecnologia de construo da UCP, as velocidades foram ficando muito
mais altas que as das memrias, que no tiveram a mesma evoluo de velocidade (o
aperfeioamento das memrias se deu mais no fator capacidade). Desta forma, os tempos de acesso
s memrias foram ficando insatisfatrios e a UCP ao buscar um dado na memria precisa ficar
esperando muitos ciclos at que a memria retorne o dado buscado ("wait states"), configurando um
gargalo ("bottleneck") ao desempenho do sistema. Por esse motivo, desenvolveram-se outras
arquiteturas de memria privilegiando a velocidade de acesso. A arquitetura da memria cache
muito diferente da arquitetura da memria principal e o acesso a ela muitas vezes mais rpido
(p.ex: 5 ns contra 70 ns). No entanto, o custo de fabricao da memria cache muito maior que o
da MP. Desta forma, no econmico construir um computador somente com tecnologia de
memria cache. Criou-se ento um artifcio, incorporando-se ao computador uma pequena poro
de memria cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da
MP.
A memria cache opera em funo de um princpio estatstico comprovado: em geral, os programas
tendem a referenciar vrias vezes pequenos trechos de programas, como loops, sub-rotinas, funes
e s tem sentido porque programas executados linearmente, seqencialmente, so raros. Desta
forma, algoritmos (chamados algoritmos de cache) podem controlar qual parte do cdigo ficar
copiado na cache, a cada momento.
Quando a MP busca um determinado trecho de cdigo e o encontra na cache, d-se um "cache hit,
enquanto se o dado no estiver presente na cache ser necessrio requisitar o mesmo MP,
acarretando atraso no processamento e d-se um "cache miss" ou "cache fault". O ndice de cache
hit ou taxa de acerto da cache geralmente acima de 90%.
Tempo de acesso: tendo em vista que a UCP acessa primeiro a memria cache, para buscar a
informao requerida, possuem tempo de acesso entre 5 e 25 ns.
Capacidade: os valores tpicos de memria cache oscilam entre 512 K a 2 M em mquinas
de grande porte e em mquinas tipo microcomputador de 512 K a 1 M.
52
Volatilidade: so dispositivos constitudos de circuitos eletrnicos, logo requerem energia
eltrica para seu funcionamento.
Temporariedade: devido a seu tamanho no ser grande e ser utilizada por todo os programas
em execuo, h a necessidade de alterao peridica da informao armazenada para permitir
entrada de novas informaes.
Custo: o custo de fabricao das memrias cache alto.
5.2.2.3. Memria Principal:
Uma das principais caractersticas definidas no projeto de arquitetura do sistema de Von Neumann,
o qual se constitui na primeira gerao de computadores, consistia no fato de ser uma mquina de
programa armazenado. O fato de as instrues, uma aps a outra, poderem ser imediatamente
acessadas pela UCP o que garante o automatismo do sistema e aumenta a velocidade de execuo
dos programas.
Tempo de acesso: possuem tempo de acesso entre 50 ns e 150 ns.
Capacidade: os valores tpicos para microcomputadores, minicomputadores e de grande
porte, esto na faixa de 16 at 128M byte, embora eles possam enderear memria de 4G byte.
Volatilidade: sendo construdo com semicondutores e circuitos eletrnicos correlatos, este
tipo de memria tambm voltil.
Temporalidade: para que um programa seja executado necessrio que ele seja armazenado
na memria principal. Atualmente esta afirmao parcialmente verdadeira, visto que no mais
necessrio que o programa completo esteja na MP, e sim apenas armazenado a instruo que ser
acessada pela UCP. No entanto, a transitoriedade com que as informaes permanecem
armazenadas na MP , em geral, mais duradoura que na memria cache e registradores.
Custo: A tabela abaixo mostra os valores tpicos.
Nome Preo
SIMM 16Mb -72 vias EDO 130,98
SIMM 32Mb -72 vias EDO 287,92
DIMM 64Mb SDRAM 100 MHz 177,00
DIMM 64Mb SDRAM 133 MHz 188,80
DIMM 128Mb SDRAM 100 MHz 354,00
DIMM 128Mb SDRAM 133 MHz 365,80
DIMM 256Mb SDRAM 100 MHz 790,60
DIMM 256Mb SDRAM 133 MHz 802,40
5.2.2.4. Memria Secundria:
Memrias secundrias resolvem problemas de armazenamento de grandes quantidades de
informaes. A capacidade da MP limitada pelo seu relativamente alto custo, enquanto as
memrias secundrias tm maior capacidade e menor custo; portanto, o custo por bit armazenado
muito menor.
Outra vantagem importante que as memrias secundrias no so VOLTEIS, isto , no
dependem de estar energizadas para manter gravado seu contedo.
Os principais dispositivos de memria auxiliar so: discos rgidos (ou HD), drives de disquete,
unidades de fita, CD-ROM, DVD, unidades tico-magnticas, etc.
Tempo de acesso: os valores tpicos para disco rgidos so faixa de 10 a 40 ms. Discos do
tipo CD-ROM trabalham com tempos de acesso ainda maiores, na faixa de 200 a 500 ms, enquanto
53
as fitas magnticas so ainda mais lentas, podendo ler um arquivo em tempos da ordem de
segundos.
Capacidade: uma das caractersticas que coloca a memria secundria na base da pirmide
justamente sua grande capacidade de armazenamento. Discos rgidos de microcomputadores
podem, atualmente, ser encontrados com capacidade de 1.2, 4.5, 10 Gbytes, etc. Sistema de grande
porte so maiores ainda, tipos 360 Gbytes. Os CD-ROM tm capacidade de 650 Mbytes, etc.
Volatilidade: as informaes no desaparecem com a falta de energia eltrica, logo no so
volteis.
Temporariedade: tem carter permanente, ou pelo menos, de longo perodo de
armazenagem.
5.2 MEMRIA PRINCIPAL:
Conforme foi definido anteriormente, Memria Principal a parte do computador onde programas e
dados so armazenados para processamento. A informao permanece na memria principal apenas
enquanto for necessrio para seu emprego pela UCP, sendo ento a rea de MP ocupada pela
informao pode ser liberada para ser posteriormente sobregravada por outra informao. Quem
controla a utilizao da memria principal o Sistema Operacional.
5.2.1. Estrutura da Memria Principal Clulas e Endereos:
A memria precisa ter uma organizao que permita ao computador guardar e recuperar
informaes quando necessrio. No teria nenhum sentido armazenar informaes que no fosse
possvel recuperar depois. Portanto, no basta transferir informaes para a memria. preciso ter
como encontrar essa informao mais tarde, quando ela for necessria, e para isso preciso haver
um mecanismo que registre exatamente onde a informao foi armazenada.
Clula: a unidade de armazenamento do computador. A memria principal organizada em
clulas. Clula a menor unidade da memria que pode ser endereada (no possvel buscar
uma "parte" da clula) e tem um tamanho fixo (para cada mquina). As memrias so
compostas de um determinado nmero de clulas ou posies. Cada clula composta de um
determinado nmero de bits. Todas as clulas de um dado computador tm o mesmo tamanho,
isto , todas as clulas daquele computador tero o mesmo nmero de bits.
Cada clula identificada por um endereo nico, pela qual referenciada pelo sistema e pelos
programas. As clulas so numeradas seqencialmente, uma a uma, de 0 a (N-1), chamado o
endereo da clula.
Endereo: o localizador da clula, que permite identificar univocamente uma clula. Assim,
cada clula pode ser identificada pelo seu endereo.
54
Figura 5.3 Estrutura de uma Memria Principal.
Unidade de transferncia a quantidade de bits que transferida da memria em uma nica
operao de leitura ou transferida para a memria em uma nica operao de escrita. O tamanho da
clula poderia ser igual ao da palavra, e tambm unidade de transferncia, porm por razes
tcnicas e de custo, so freqentemente diferentes.
OBS.: Uma clula no significa o mesmo que uma palavra; uma clula no necessariamente contm
uma palavra.
Palavra: a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma
instruo, que poderia ser processada, armazenada ou transferida em uma nica operao. No
entanto, em geral no assim que acontece e os computadores comerciais no seguem um
padro nico para a organizao 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, porm sua estrutura de memria tem clulas de 16 bits.
A estrutura da memria principal um problema do projeto de hardware:
- mais endereos com clulas menores ou
- menos endereos com clulas maiores?
- O tamanho mais comum de clula era 8 bits (1 byte); hoje j so comuns clulas contendo
vrios bytes.
Nmero de bits para representar um endereo
Expresso geral: MP com endereos de 0 a (N-1)
N = 2
x
logo:
x = log
2
N
sendo x = n de bits para representar um endereo e N o nmero de endereos.
5.2.2 Capacidade da Memria Principal
A capacidade da MP em bits igual ao produto do n de clulas pelo total de bits por clula.
T = N x M
T = capacidade da memria em bits
N = n de endereos (como vimos anteriormente, N=2
x
sendo x = n de bits do endereo)
M = n de bits de cada clula
55
Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois multiplicar
por 8 (cada byte contm 8 bits) ou ento converter o tamanho da clula para bytes e depois
multiplicar pelo nmero de clulas.
O ltimo endereo na memria o endereo N-1 ( os endereos comeam em zero e vo at N-1).
EXERCCIOS
1) Numa MP com 1kbyte de capacidade, onde cada clula tem 8 bits:
a) quantas clulas tem a MP?
b) quantos bits so necessrios para representar um endereo de memria?
2) Um computador enderea 1k clulas de 16 bits cada uma. Pede-se:
a) sua capacidade de memria;
b) o maior endereo que o computador pode enderear;
3) A memria de um computador tem capacidade de armazenar 216 bits e possui um barramento de
dados de 16 bits. Pede-se:
a) o tamanho da clula de memria;
4) Calcular e completar os campos:
M - Tamanho
da clula
x - n de bits do
endereo
N - n de
endereos
T - Capac. da memria
0 a (N-1) - Faixa
de endereos
8 bits - - 1 K byte -
16 bits - 1 K endereos - -
- 4 bits - 256 bits -
4 bytes - - 4 Gbytes -
- - - 1 Mbyte 0 a 65.535
64 bits - - - 0 a 262.143
4) Uma memria de um computador tem um espao mximo de endereamento de 2K. Cada clula
pode armazenar 16 bits. Qual o valor total de bits que podem ser armazenados nesta memria e qual
o tamanho de cada endereo?
5) Uma memria fabricada com a possibilidade de armazenar um mximo de 256K bits. Cada
clula pode armazenar 8 bits. Qual o tamanho de cada endereo e qual o total de clulas que
podem ser utilizadas na memria?
5.2.3 Operaes com Memria Principal
possvel realizar duas operaes em uma memria:
escrita (write) armazenar informao na memria;
leitura (read) recuperar uma informao armazenada na memria.
A operao de leitura no destri o contedo da memria, ela apenas providencia a transferncia de
uma cpia do que est armazenado, enquanto a informao desejada continuar armazenada.
Somente a operao de escrita destrutiva.
Vamos descrever, com um pouco mais de detalhe, como se acontece uma operao de leitura e uma
escrita na MP de um sistema de computao.
Para tanto, h necessidade de se definir os elementos que compem a estrutura UCP/MP e que so
utilizados naquelas operaes, veja Figura 5.4.
56
Figura 5.4 Estrutura UCP/MP e a utilizao de barramento para comunicao entre elas.
Registrador de Dados da Memria (RDM) registrador que armazena temporariamente a
informao (contedo de uma ou mais clulas) que est sendo transferida da MP para a UCP
(em uma operao de leitura) ou da UCP para a MP (em uma operao de escrita). Permite
armazenar a mesma quantidade de bits do barramento de dados.
Barramento de dados interliga o RDM MP, para transferncia de informaes entre MP e
a UCP (sejam instrues ou dados). bidirecional, isto , ora os sinais percorrem o barramento
da UCP para a MP (operao de escrita), ora percorrem o caminho inverso (operao de leitura).
Registrador de Endereos da Memria (REM) registrador que armazena o endereo de
acesso a uma posio de memria, ao se iniciar uma operao de leitura ou de escrita. Em
seguida, o referido endereo encaminhado rea de controle da MP para codificao e
localizao da clula desejada. Permite armazenar a mesma quantidade de bits do barramento de
endereos.
Barramento de Endereos interliga o REM MP para transferncia dos bits que
representam um determinado endereo. unidirecional, visto que somente a UCP aciona a MP
para realizao de operaes de leitura e escrita. Possui tantos fios (ou linhas de transmisso)
quantos so os bits que representam o valor do endereo.
Barramento de controle interliga a UCP (Unidade de Controle) MP para passagem de
sinais de controle durante uma operao de leitura ou escrita. bidirecional, porque a UCP
pode enviar sinais de controle para a MP, como sinal indicador de que a operao de leitura ou
escrita e a MP pode enviar sinais do tipo WAIT (para a UCP se manter aguardando o trmino de
uma operao).
Para simplificar a descrio dos procedimentos e operaes realizadas internamente em um sistema
de computao vamos adotar uma conveno genericamente conhecida como Linguagem de
Transferncia entre Registradores (LTR), Princpios bsicos da LTR:
a) Caracteres alfanumricos significam abreviaturas de nomes de registradores ou posio
de memria. EX: REM, MP, R1.
b) Parnteses indicam contedo, no caso de registradores, ou que o valor entre parnteses
um endereo de MP.
c) Uma seta indica atribuio, isto , transferncia de contedo de um registrador para
outro ou para a MP ou vice-versa.
UCP
RDM REM UC
MP
Barramento de controle
Barramento de endereos
Barramento de dados
57
EXEMPLO:
(REM) (CI) (significa que o contedo do registrador cujo nome CI transferido para o
registrador REM).
(RDM) (MP(REM)) (significa que o contedo da clula da MP cujo o endereo est no REM
transferido para o RDM.
5.2.3.1. Operaes de leitura:
A Figura 5.5 mostra um exemplo de operao de leitura de um dado armazenado no endereo 1324
da MP (o valor do dado 5C) para a UCP.
Os passos que descrevem a referida operao de leitura so:
1. (REM) (outro registrador)
o endereo colocado no barramento de endereos.
2. Sinal de leitura na barra de controle
3. (RDM) (MP(REM)) pelo barramento de dados
4. (outro registrador) (RDM)
Figura 5.5 Exemplo da operao de leitura.
No primeiro passo, a unidade de controle UC da UCP inicia a operao de leitura atravs da
transferncia do endereo 1324, de um de seus registradores especficos para a REM e coloca o
sinal de leitura (READ) no barramento de controle para indicar aos circuitos de controle da MP o
que fazer em seguida.
A MP decodifica o endereo recebido e transfere seu contedo para o RDM atravs do barramento
de dados. Do RDM, ento, a informao transferida para o elemento da UCP destinatrio final.
5.2.3.2. Operaes de escrita:
A realizao de uma operao de escrita segue o procedimento semelhante ao da operao de
leitura, mas pelo sentido de transferncia inverso, isto , da UCP para a MP.
UCP
5C 1324 UC
Barramento de controle
Barramento de endereos
Barramento de dados
RDM REM
Outro
reg.
Outro
reg.

end 0000
end 1324
end FFFF
5C
58
A Figura 5.6 mostra um exemplo de operao de escrita de um dado, de valor igual a F7, da UCP
para a MP, a ser armazenado no endereo 21C8.
Os passos que descrevem a referida operao so:
1. (REM) (outro registrador) (a UCP coloca o endereo no REM de endereos)
endereo colocado no barramento de endereos.
2. (RDM) (outro registrador) (a UCP coloca no RDM o dado a ser transferido)
3. Sinal de escrita (a UCP aciona o sinal WRITE pelo barramento de controle)
4. (MP(REM)) (RDM) (o dado transferido para a clula de memria pelo barramento de
dados)
Figura 5.6 Exemplo da operao de escrita.
Nos primeiros passos a UC coloca o endereo desejado no REM e o dado a ser transferido no RDM.
O endereo colocado no barramento de endereo, o dado no barramento de dados e o sinal de
escrita (WRITE) acionado no barramento de controle.
Como resultado da decodificao do endereo pelos dispositivos de controle da memria, o valor
F7 colocado na clula desejada, de endereo 21C8.
Conforme explicado para a operao de leitura, a realizao dos passos necessrios efetivao de
uma operao de escrita gastas um tempo de acesso e a MP pode ou no estar preparada para
imediatamente realizar nova operao.
EXERCCIO:
6) Um computador, cuja a MP tem capacidade mxima de 2K palavras de 16 bits cada, possui um
REM e um RDM. Qual o tamanho destes registradores; qual o valor do maior endereo dessa MP e
qual a quantidade total de bits que nela podem ser armazenados?
UCP
F7 21C8 UC
Barramento de controle
Barramento de endereos
Barramento de dados
RDM REM

end 0000
end 21C8
end FFFF
F7
59
5.2.4 Tipos de Memria Principal:
Conforme j mencionamos diversas vezes a memria principal da maioria dos computadores atuais
fabricada com tecnologia de semicondutores. Tendo em vista as caractersticas desses elementos
eletrnicos, este tipo de dispositivo possui uma particularidade muito importante e nica: o tempo
de acesso a qualquer clula igual, independente da localizao fsica da clula.
Em outras palavras, se o tempo de acesso de uma determinada memria de semicondutor 70 ns,
isto significa que este ser o tempo para acessar a clula de endereo 0 (1
a
clula) ou para acessar a
20
a
clula.
Qualquer que seja o endereo, aleatoriamente ou randomicamente escolhido, o tempo de acesso ser
o mesmo. Esse tipo de memria denominado memria de acesso aleatrio, sendo, no entanto,
mais conhecida pela sigla de seu nome em Ingls: RAM - Random Access Memory. Memria
RAM so normalmente utilizadas na implementao do espao de endereamento da MP dos
computadores. No que se refere ao processo de fabricao e desempenho, h dois tipos de RAM no
mercado: memrias RAM Estticas (Static RAM SRAM) e memrias RAM Dinmicas
(Dynamic RAM DRAM).
A MP a memria de trabalho da UCP, onde os programas (e seus dados) se sucedem em
execuo, uns aps os outros. Alm de a MP ter de permitir que um programa seja armazenado em
seguida ao outro (isto significa que so realizadas sucessivas operaes de escrita nas mesmas
clulas) durante a execuo normal de um programa, suas instrues so sucessivamente lidas pela
UCP, que, por sua vez, tambm realiza operaes de escrita sobre a MP, armazenando resultados
das operaes realizadas.
Desta forma, a MP, utilizada para armazenamento dos programas e dados rotineiramente
executados em um sistema de computao, deve ser do tipo leitura/escrita (R/W Read/Write).
Por outro lado, memrias de semicondutores so do tipo RAM, sendo usadas como MP dos
computadores. Se uma memria de acesso aleatrio (RAM) para leitura, invariavelmente tambm
o ser para realizar ciclos de escrita.
Assim, as memrias do tipo RAM, que permitem leitura/escrita, so usadas como MP e este termo
RAM passou a ser to comum com estas memrias que se confundem com o prprio nome da
memria (comumente se usa no comrcio e na indstria o termo RAM quando se refere MP).
Embora seja rpida e de acesso aleatrio, a RAM possui algumas desvantagens, entre as quais a
volatilidade.
Por outro lado, as memrias R/W apresentam o inconveniente de permitindo que se escreva
normalmente em suas clulas, ser possvel a acidental eliminao do contedo de uma ou mais de
suas clulas.
Uma vez que o processador nada realiza sem as instrues, bvio que ele deve possuir uma certa
quantidade de memria no voltil. Isto , um local onde estejam permanentemente armazenadas
instrues que automaticamente iniciam a operao e a inicializao do sistema, to logo a
alimentao eltrica seja ligada. Em microcomputadores costuma-se chamar de programa
bootstrap ou simplesmente boot, alguns fabricantes chamam de IPL Initial Program Load
(Carregamento do Programa Inicial).
Esse tipo de memria alm de ter que ser no-voltil, tambm no deve permitir que haja
eliminaes acidentais. Trata-se de um programa que deve estar permanentemente armazenado e
no sofrer alteraes por parte de nenhum outro programa. Em outras palavras, memrias que
armazenam este tipo de programa devem permitir apenas leitura. Chamam-se estas memria de
ROM Read Only Memory (memria somente para leitura) e elas devem ser no volteis.
No entanto, o tempo de acesso em memria ROM tambm constante, independentemente da
localizao fsica da clula, logo elas tambm so memria RAM. Porm, o mercado caiu no
engano de chamar de RAM apenas as memrias R/W, talvez para claramente diferena-las do outro
tipo, ROM (somente para leitura), j que as siglas so bem parecidas.
A Figura 5.7 apresenta a distribuio espacial das memrias R/W, RAM e ROM em um
microcomputador, indicando o conceito correto e o conceito usado na prtica pelo mercado.
60
(a) nomenclatura correta. (b) nomenclatura popular
Figura 5.7 Configurao da MP de um microcomputador tipo PC.
Memrias dos Tipos ROM:
PROM - Programmable Read Only Memory ou memria apenas de leitura, programvel. Esta
memria uma ROM programvel (em condies e com mquinas 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 fbrica ou no), no pode mais ser
alterada.
EPROM - Erasable Programmable Read Only Memory ou memria apenas de leitura,
programvel (com queimadores de PROM) e apagvel (com mquinas adequadas, base de
raios ultra-violeta). Esta memria uma PROM apagvel. Tem utilizao 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
memria apenas de leitura, programvel e eletronicamente altervel. Tambm chamada
EAROM (Electrically Alterable ROM). Esta memria uma EPROM apagvel por processo
eletrnico, sob controle da UCP, com equipamento e programas adequados. mais cara e
geralmente utilizada em dispositivos aos quais se deseja permitir a alterao, via modem,
possibilitando a carga de novas verses de programas distncia ou ento para possibilitar a
reprogramao dinmica de funes especficas de um determinado programa, geralmente
relativo ao hardware (p.ex., a reconfigurao de teclado ou de modem, programao de um
terminal, etc).
Endereo 0
Endereo N-1

Leitura/
escrita
ROM
RAM
Endereo 0
Endereo N-1

RAM
(Leitura/escrita)
ROM
61

You might also like