Vous êtes sur la page 1sur 24

23

ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Unidade II
5
10
15
20
3 AFINAL DE CONTAS, QUEM INVENTOU O
COMPUTADOR?
Conforme vimos no histrico, a inveno do computador
no se deu em apenas um passo.
No caso de algumas tecnologias, como o avio, somos
tentados a eleger o pai desse invento, mas no caso do
computador no desponta uma gura com essa caracterstica.
Alguns dos principais visionrios nunca conseguiram transformar
suas vises em equipamentos funcionais. Em outros casos, esses
equipamentos nunca chegaram a pblico.
Por outro lado, os construtores de computadores que
se tornaram operacionais e chegaram a pblico no podem
descartar a inuncia de seus predecessores. Howard Aiken,
por exemplo, sempre armou ter se baseado no trabalho de
Babbage.
A concluso a que podemos chegar que o computador no
tem um pai ou me, mas fruto de diversos passos, alguns
maiores, outros menores, mas cada um com sua importncia na
histria.
4 OS RUMOS DA EVOLUO DO COMPUTADOR
Com base no histrico visto na seo anterior, podemos
determinar algumas dimenses na evoluo do computador.
Desde os primeiros dispositivos mecnicos do sculo XVII at
os computadores de mo atuais, podemos denir algumas
24
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
linhas sobre as quais se deu (e ainda se d) a evoluo dos
computadores.
Miniaturizao
Os primeiros computadores eletrnicos, como o ENIAC,
ocupavam andares inteiros e pesavam toneladas. Hoje a
capacidade de processamento daqueles equipamentos
largamente superada por dispositivos de bolso.
Na dcada de 1980, todas as empresas tinham um CPD
(centro de processamento de dados), onde residiam todos os
seus computadores e perifricos. Hoje uma tarefa das mais
trabalhosas em uma grande empresa localizar onde esto
todos os seus computadores.
A miniaturizao tornou possvel o minicomputador, depois
o computador pessoal, a computao mvel e a eletrnica
embarcada.
Sem o extremo progresso que a miniaturizao alcanou,
o mundo seria muito diferente hoje, pois os computadores
estariam connados nos CPDs, em vez de estarem nossa volta
em toda parte.
Barateamento
Os primeiros computadores comerciais custavam milhes de
dlares. Hoje um microcomputador bsico acessvel maioria
das pessoas.
O computador j faz parte do cotidiano da maior parte das
pessoas, mas de uma forma muito maior do que podemos ver.
O barateamento de microprocessadores e ans possibilitou a
implantao de dispositivos com capacidade de processamento
em carros, elevadores e eletrodomsticos. A eletrnica
embarcada, como chamada, fruto direto do barateamento
5
10
15
20
25
25
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
de computadores e dispositivos eletrnicos, pois possibilitou a
substituio de funes executadas por elementos eltricos ou
mecnicos por dispositivos eletrnicos e a incluso de novas
funes, que no seriam possveis sem esses dispositivos.
Facilidade de uso
Os primeiros computadores s podiam ser utilizados pelos
engenheiros que os construram, pois, para obter algum resultado,
era necessrio conhecer detalhes precisos sobre a interconexo
de seus componentes.
Com a popularizao da computao comercial, surgiu
a necessidade de uma utilizao mais diversicada dos
computadores. Para atender a essa demanda surgiram as
primeiras linguagens de programao. Um programador podia
extrair resultados do computador sem ter necessariamente um
conhecimento detalhado de seu funcionamento. Este primeiro
degrau de popularizao tambm foi um primeiro degrau na
facilidade de uso do computador.
Outros degraus vieram depois, sendo que um dos mais
recentes foi a introduo da interface grca, que dispensou os
usurios da necessidade de conhecer ou decorar comandos para
utilizar o computador.
Talvez estejamos experimentando mais um degrau nesta
evoluo atualmente, que a migrao de toda a interao
entre o usurio e o computador para o browser. Dessa forma,
atualmente no temos apenas todo um universo de usurios
que no tm conhecimento do funcionamento interno do
computador, como tambm eles no precisam sequer ter
conhecimento de que o computador existe. Para esses usurios,
a interao se d com o navegador, independentemente de
onde ele est sendo executado (computador, smartphone ou o
que quer que seja).
5
10
15
20
25
30
26
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Esse possivelmente o primeiro passo no caminho do
computador invisvel, ou computao ubqua.
5 A ORGANIZAO DO COMPUTADOR
Um computador digital consiste em um sistema
interconectado de processadores, memrias e dispositivos
de entrada e sada. Essas so as trs categorias bsicas de
componentes de um computador moderno. Cada elemento
de um computador qualquer se encaixar em uma dessas
classicaes. Vamos analisar em seguida cada uma delas.
5.1 Processadores
A unidade central de processamento (UCP ou CPU Central
Processing Unit) o centro do computador.
A execuo de um programa normalmente consiste em
trazer um programa de um dispositivo de armazenamento (disco,
por exemplo) para a memria principal. Da memria principal,
o programa transferido para a CPU, uma instruo por vez.
Dentro da CPU que o verdadeiro processamento ocorre, onde
as instrues sero interpretadas e executadas.
Como podemos ver na gura seguinte, todos esses elementos
se comunicam por meio de um barramento.
Registradores
Memria
principal
Unidade de
controle
Unidade
lgica e
aritmtica
(ULA)
Barramento
Disco Impressora
Dispositivos de E/S
Figura 17 A organizao de um computador simples
5
10
15
27
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Como podemos ver tambm na gura, internamente a CPU
composta por vrias partes distintas. A unidade de controle
responsvel por buscar instrues na memria e determinar
seu tipo. A unidade lgica e aritmtica executa operaes
matemticas simples como adio e E booleano.
A CPU tambm contm uma pequena quantidade de
memria de alta velocidade, que utilizada na execuo de
instrues. Essa memria organizada em registradores. Cada
registrador tem um tamanho xo (comprimento em bits) e
um propsito especco, como o contador de programa (PC
program counter). A funo do PC identicar qual a prxima
instruo a ser trazida para a CPU do programa em execuo.
A organizao da CPU detalhada na gura abaixo. Os
registradores e a ULA formam um caminho de dados.
ULA
A B
A + B
A + B
A
B
Registradores
Registradores de
entrada da ULA
Barramento de
entrada da ULA
Registrador de
sada da ULA
Figura 18 Um exemplo de caminho de dados
5
10
28
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Os dados so movimentados dos registradores para um
ou dois registradores que alimentam a ULA e deles para a
prpria ULA atravs de um barramento que interconecta esses
elementos.
A ULA realizar as operaes matemticas mais bsicas,
como soma e comparao, e mover o resultado para um
registrador de sada. Posteriormente, o contedo desse
registrador ser movido para outro registrador e de l para a
memria principal.
Neste ponto, podemos estabelecer a distino entre
dois tipos diferentes de instrues: instrues registrador-
registrador e instrues registrador-memria. As primeiras
dependem apenas dos dados que esto armazenados na CPU,
e as segundas precisam buscar dados da memria principal,
pelo barramento.
O processo de submeter dois valores ULA e obter um
resultado chamado de ciclo do caminho de dados. Esse ciclo
o ncleo da maioria das CPUs, pois determina o que ela pode
fazer. Quanto mais rpido a CPU conseguir executar esse ciclo,
mais rpido se dar o processamento.
Alm do ciclo do caminho de dados, interno CPU, temos o
ciclo externo, que determina como a CPU interage com os dados
que esto fora dela, na memria principal.
A CPU executa cada instruo em uma srie de pequenos
passos:
1- Trazer a prxima instruo da memria at o registrador;
2- Alterar o contador de programa para indicar a prxima
instruo;
3- Determinar o tipo da instruo;
5
10
15
20
25
29
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
4- Se a instruo necessitar de uma palavra da memria,
determinar onde essa palavra est;
5- Trazer a palavra para dentro de um registrador da CPU, se
necessrio;
6- Executar a instruo;
7- Voltar etapa 1 para iniciar a execuo da instruo
seguinte.
Essa sequncia costuma ser denominada ciclo buscar-
decodicar-executar. fundamental para a operao de todos
os computadores.
Lembre-se de que o programa armazenado na memria
na forma de instrues que o processador consiga interpretar.
Voltando mquina multinveis, o programa escrito
originalmente em linguagem de alto nvel sofreu vrios nveis
de traduo antes que pudesse ser executado diretamente
pelo processador.
5.1.1 Princpios de projeto para computadores modernos
Os computadores modernos compartilham uma srie
de caractersticas de design que visam maximizar o seu
desempenho. No importa se se trata de um computador de
mo ou um computador para ns cientcos; sempre se deseja a
maior velocidade de processamento possvel.
claro que estas linhas se aplicam ao estado atual da
tecnologia. Atualmente estamos sujeitos a certas limitaes,
como velocidade de clock, quantidade de transistores que podem
ser embutidos em uma pastilha de silcio e outras.
Se o cenrio tecnolgico atual se alterar, talvez algum dos
pontos a seguir no seja mais aplicado.
5
10
15
20
25
30
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Todas as instrues so executadas diretamente pelo
hardware
No passado houve uma tendncia de design de computadores
que adicionava uma camada de software entre o hardware
e o conjunto de instrues, providenciando um novo nvel
de interpretao. Esse tipo de implementao chamado de
microcdigo e oferecia algumas vantagens como a possibilidade
de incluir ou alterar instrues sem alterar o hardware. Apesar de
prover mais exibilidade, esse tipo de design no considerado uma
boa prtica. O nvel adicional de traduo acarreta uma perda de
desempenho, que no compensa as novas instrues que possam
ser adicionadas.
Em resumo, a recomendao que as instrues
correspondam diretamente a elementos de hardware, sem que
haja nveis adicionais de traduo.
Maximize a taxa de execuo de instrues
Um dos caminhos para se maximizar a performance do
computador maximizar a taxa de execues de instrues por
segundo.
Existem vrios meios para se conseguir isso. Um
simplesmente aumentar a velocidade de clock do computador.
Outra forma fazer com que o processador realize atividades
em paralelo. Se um computador puder realizar duas instrues
em paralelo, ele ter teoricamente um desempenho duas vezes
superior a um computador sem paralelismo.
Neste design, um cuidado especial deve ser tomado para que
no seja alterada a ordem de execuo do programa.
As instrues devem ser fceis de decodicar
Conforme visto anteriormente, o ciclo de execuo de
instrues tem impacto direto na velocidade de processamento
5
10
15
20
25
30
31
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
do computador como um todo. Se o tempo de traduo de uma
instruo for demorado, o tempo de execuo como um todo
ser degradado.
Por esse motivo, uma instruo no deve ter muitas opes
de execuo ou formatos alternativos. Se a instruo tiver
poucos formatos, o tempo de identicao da instruo ser
reduzido e, consequentemente, o tempo de processamento ser
otimizado.
Somente load e store devem referenciar a memria
O acesso memria principal uma operao demorada,
sob a tica da velocidade do processador, claro. Se muitas
instrues tiverem acesso direto memria principal, o tempo
de execuo das instrues pode se tornar imprevisvel.
Por esse motivo, recomendado que apenas as instrues
load (leitura) e store (gravao) tenham acesso memria.
Providencie bastantes registradores
Se o processador no tiver um registrador para armazenar
um valor resultante, ele ter que transferir esse valor para a
memria principal.
Conforme j vimos, a transferncia de dados entre o
processador e a memria principal um processo mais lento
que a movimentao de dados dentro do processador.
Se o processador no tiver registradores sucientes, o tempo
de processamento ser degradado.
5.1.2 Paralelismo
Conforme vimos, um dos melhores recursos para otimizar a
velocidade de processamento de um computador a capacidade
5
10
15
20
25
32
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
de executar vrias atividades ao mesmo tempo. Existem vrias
formas de implementar paralelismo, no nvel de instruo e no
nvel de processador.
A seguir descreveremos cinco formas de paralelismo.
Pipelining e arquiteturas superescalares so exemplos de
paralelismo no nvel de instruo. Computadores matriciais,
multiprocessadores e multicomputadores so exemplos de
paralelismo no nvel de processador.
Pipelining
O processo de decodicao e execuo de instrues, como
foi visto anteriormente, um elemento crtico no desempenho
do computador.
Se o processo de identicao e execuo de uma instruo
puder ser modularizado, haver um ganho de performance, pois,
enquanto uma instruo estiver em execuo, os passos iniciais
da prxima instruo podero ser executados.
Na gura a seguir temos o exemplo de um pipeline de cinco
estgios. Cada instruo passar por cinco mdulos antes de ser
concluda.
Observe que, quando a instruo 1 for concluda, as instrues
2, 3, 4 e 5 estaro em execuo.
Unidade de
busca de
instruo
Unidade de
decodicao
de instruo
Unidade de
busca de
operando
Unidade de
execuo de
instruo
Unidade de
gravao
S1 S2 S3 S4 S5
S1:
S2:
S3:
S4:
S5:
1
1
2
1
2
3
2
1
3
4
3
2
1
4
5
4
3
2
1
5
6
5
4
3
2
6
7
6
5
4
3
7
8
7
6
5
4
8
9
8
7
6
5
9
Tempo
Figura 19 Exemplo de um pipeline de cinco estgios
5
10
15
20
33
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Arquiteturas superescalares
O princpio da arquitetura superescalar que nem todas as
instrues demoram o mesmo tempo para serem executadas.
Ao executar certas instrues, como as que leem ou gravam
na memria principal, o tempo de execuo maior que em
instrues que acessem apenas dados dentro do processador
(armazenados em registradores).
Se o mdulo de execuo pudesse executar vrias tarefas
em paralelo, o tempo de execuo das instrues mais lentas
seria compensado pela execuo de outras instrues.
Na gura a seguir temos o exemplo de uma arquitetura
superescalar com duas ALU, uma unidade para tratar operaes
de ponto utuante e um mdulo para ler, e outra para gravar na
memria principal.
Novamente deve ser tomado cuidado neste tipo de design
para que as instrues sejam executadas na ordem correta.
Unidade de
busca de
instruo
Unidade de
decodicao
de instruo
Unidade de
gravao
S1 S2 S3 S5
LOAD
ALU
STORE
ALU
Ponto
utuante
Unidade de
busca de
operando
S4
Figura 20 Exemplo de arquitetura superescalar
5
10
15
34
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Esses dois tipos de paralelismo so implementados dentro do
processador, ou seja, no dependem de mais de um processador.
Os designs seguintes dependem de vrios processadores.
Sempre existe demanda por processadores mais rpidos,
mas em muitos casos mais simples e barato dispor de vrios
processadores que trabalhem harmonicamente do que tentar
conseguir um nico processador mais rpido.
Esse tipo de concluso j chegou at os computadores de uso
comercial e domstico, com as conguraes com processadores
de dois, trs, quatro ou mais ncleos.
Computadores matriciais
Um computador matricial aquele com um grande nmero
de processadores que executam o mesmo conjunto de instrues
em conjuntos diferentes de dados.
Esse tipo de arranjo encontra uso em aplicaes cientcas,
em que um grande conjunto de dados deve ser submetido a um
mesmo conjunto de frmulas. Ele no comum em computadores
comerciais, mas muitos supercomputadores (especialmente
os fabricados pela Cray Computing) usam um tipo especial de
arranjo desse tipo, chamado processador vetorial.
Multiprocessadores
Uma forma simples de aumentar a capacidade de
processamento de um computador adicionar outro processador.
Essa a ideia do multiprocessador, mas isso no to simples.
Sempre que fazemos algum tipo de paralelismo, deve
haver alguma gura fazendo a arbitragem das tarefas que
sero executadas por cada processador. Alm disso, no
multiprocessador, todas as CPUs compartilham uma mesma
quantidade de memria.
5
10
15
20
25
35
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
O acesso a essa memria deve ser controlado tambm,
para que um processador no tente utilizar um espao que
esteja sendo usado por outro. Normalmente essa funo
desempenhada pelo sistema operacional.
Memria
Compartilhada
CPU CPU CPU CPU
Barramento
Figura 21 Multiprocessador com barramento nico
A maioria dos sistemas operacionais de mercado atualmente
tem alguma capacidade de multiprocessamento.
Multicomputadores
A diferena entre o multicomputador e o multiprocessador
que no multicomputador cada CPU tem uma memria local que
s acessada por aquele processador.
Memria
Compartilhada
CPU CPU CPU CPU
Barramento
Memria Memria Memria Memria
Figura 22 Multicomputador com memrias locais
No multicomputador, pode ou no haver uma quantidade
de memria compartilhada entre os processadores.
Um dos problemas desses tipos de arranjo conectar
todos os processadores memria. Por esse motivo, muitos
5
10
36
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
projetistas abandonam a ideia da memria compartilhada e
criam computadores apenas com processadores com memrias
privadas.
Este tipo de arranjo normalmente chamado de fracamente
acoplado, em contraste com o arranjo fortemente acoplado, que
o multiprocessador.
5.2 Memria primria
A memria a parte do computador onde so armazenados
programas e dados. A memria primria tambm chamada de
memria principal ou RAM.
A memria principal utilizada para armazenar os programas
em execuo e os dados em uso por esses programas. Ela
costumeiramente voltil, ou seja, mantm os dados armazenados
apenas enquanto o equipamento est energizado.
5.2.1 Bits, bytes e terabytes
A unidade bsica de memria o dgito binrio, ou bit. Um
bit consegue armazenar apenas o valor 0 ou 1, e o bloco bsico
de informaes.
Um dos agrupamentos mais comuns de bits o byte, que
tem 8 bits de comprimento. Quando se trata de bits e bytes,
existe certa confuso quanto aos mltiplos que podem ser
usados para expressar essas quantidades.
Como o bit um valor binrio, os mltiplos so potncias de
2. Um kilobyte, portanto, no so exatamente 1.000 bytes (10
3
),
mas 1.024 (2
10
). De modo semelhante, 1 MB contm 1.048.576
bytes (2
20
), e no 1.000.000 de bytes (10
6
).
Os outros prexos mais comuns, em se tratando de memria,
so giga (1 GB equivale a 2
30
1.073.741.824 bytes) e tera: 1 TB
equivale a 2
40
1.099.511.627.776 bytes.
5
10
15
20
25
37
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Na tabela a seguir temos os prexos decimais mais comuns,
lembrando que, em se tratando de memria, devemos usar a
base binria em vez da base 10.
Expoente Explcito Prexo Expoente Explcito Prexo
10
-3
0,001 mili
10
3
1.000 Kilo
10
-6
0,000001 micro
10
6
1.000.000 Mega
10
-9
0,000000001 nano
10
9
1.000.000.000 Giga
10
-12
0,000000000001 pico
10
12
1.000.000.000.000 Tera
10
-15
0,000000000000001 femto
10
15
1.000.000.000.000.000 Peta
10
-18
0,000000000000000001 ato
10
18
1.000.000.000.000.000.000 Exa
10
-21
0,000000000000000000001 zepto
10
21
1.000.000.000.000.000.000.000 Zeta
10
-24
0,000000000000000000000001 iocto
10
24
1.000.000.000.000.000.000.000.000 Iota
Figura 23 Os principais suxos mtricos
5.2.2 Endereos de memria
Para que seja possvel utilizar a memria, deve ser possvel
gravar e ler informaes nela. Para que isso seja possvel, a
memria deve ser organizada de modo que cada unidade
utilizvel de memria tenha um endereo nico.
Os bits de memria so organizados em clulas, e cada
clula tem um endereo nico. O tamanho da clula varia de
acordo com o sistema, mas o mais comum que ela tenha 8 bits
(1 byte) de comprimento.
A clula a menor unidade enderevel de memria.
0
1
2
3
4
5
16 bits
0
1
2
3
4
5
6
7
12 bits
0
1
2
3
4
5
6
7
8
9
10
11
8 bits
Figura 24 Trs formas de organizar 96 bits de memria
5
10
38
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Outro conceito importante a palavra. Uma palavra o
tamanho da unidade de dados que transferida da memria
para o processador. Quando falamos que um computador de
32 bits ou 64 bits, estamos nos referindo ao tamanho da palavra
desse processador. Ou seja, um computador de 32 bits consegue
transmitir 4 bytes entre a memria e o processador, enquanto
um computador de 64 bits transmite 8 bytes.
Esse conceito importante porque, se o processador recebe
um valor de 8 bytes da memria, todos os seus registradores
tm que ter no mnimo esse comprimento. Isso implica
tambm a quantidade de memria que um computador pode
suportar.
Se o registrador dedicado a tratar endereos de memria
tem 1 bit de comprimento, o computador s suportar dois
endereos ou duas clulas (0 e 1).
Se esse registrador tiver 32 bits, a quantidade de clulas
endereveis ser de 4.294.967.295. Em um computador com
clulas de 1 byte, isso equivale a 4 GB de memria.
Se esse registrador tiver 64 bits, a quantidade de
endereos possveis sobe para 18.446.744.073.709.551.615, ou
aproximadamente 18,45 exabytes, uma quantidade de memria
impensvel nos padres tecnolgicos atuais.
5.2.3 Memria cache
A memria cache (e no cach) uma rea de memria
intermediria entre o processador e a memria principal. O
termo cache amplamente usado para dispositivos que servem
como rea intermediria entre um meio mais rpido e outro
mais lento (cache de disco, cache de impresso etc.).
A memria cache, conforme a denio aqui adotada, uma
rea de memria localizada entre o barramento e a CPU.
5
10
15
20
25
39
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Como j falamos antes, o tempo de acesso memria principal
a partir do processador lento, em termos de velocidade de
processamento. Ento, se o processador no precisar percorrer
o barramento para buscar uma determinada informao, mas
uma rea mais prxima, o computador ganha em desempenho.
Normalmente a memria cache faz parte da mesma
embalagem que o prprio processador, mas no faz parte da
arquitetura interna dele, onde se localizam os registradores e
demais componentes da CPU.
Barramento
Memria
Cache
Memria
Principal
CPU
Figura 25 A localizao lgica da memria cache
Existem vrias formas de implementar a memria: cache de
processador, cache especco para instrues e dados, cache de
mltiplos nveis, mas o conceito bsico o mesmo ao se deparar
com a necessidade de uma informao da memria principal, o
cache ser consultado antes. Se a informao estiver l, ela j
devolvida para o processador (cache hit). Se a informao no
estiver no cache (cache miss), ela trazida da memria principal
para o cache e de l para o processador.
A memria cache, assim como a memria principal, tambm
voltil.
5.3 Memria secundria
Independentemente da quantidade de memria principal
que o computador disponha, ela nunca ser suciente para
armazenar todos os dados que so necessrios. Para isso
usam-se os meios de armazenamento de massa ou memria
secundria.
5
10
15
20
40
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Para se ter uma ideia de ordem de grandeza, um computador
comercial comum atualmente possui cerca de 2 GB de memria
principal, enquanto um disco rgido comum hoje possui em
torno de 160 GB, sendo que j existem discos para uso em
computadores comerciais comuns com 1 TB de capacidade.
5.3.1 Hierarquias de memria
Um computador possui vrios tipos de memria, desde os
registradores at os discos ticos (DVD, Blu-Ray etc.). Existe
uma hierarquia entre esses vrios tipos de memria, conforme
a gura a seguir.
Registradores
Memria Cache
Memria Primria
Fita Magntica Meios ticos
Figura 26 Hierarquia de memria de cinco nveis
Quanto mais alto vamos na pirmide acima, maior
a velocidade da memria, maior o custo por byte e menor a
quantidade de memria disponvel no computador.
Quanto mais para baixo vamos, menor a velocidade, menor o
custo e maior a quantidade disponvel em um computador.
A maior parte dos meios de memria secundria atualmente
no voltil, ou seja, mantm os dados gravados at que um
usurio os apague.
Devemos ter cuidado em usar o termo permanente ao
tratar de meios de armazenamento, pois nenhum meio de
armazenamento atual consegue garantir a preservao dos
dados aps um perodo de alguns anos.
5
10
15
20
41
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
5.3.2 Discos magnticos
O disco magntico o meio mais comum de armazenamento
atualmente. Isso se deve ao fato de que o disco hoje o que
fornece melhor relao custo-benefcio.
Isso talvez mude no futuro prximo, graas popularizao
dos discos de estado slido (SSD solid state disk) baseados
em memria ash. Hoje j comum encontrarmos esse tipo
de dispositivo com cerca de 4 GB a 16 GB. Ainda pouco se
comparado aos 160 GB que um disco magntico possui, mas,
com o aumento de capacidade e barateamento desse tipo de
dispositivo, em breve ele poder superar o disco magntico em
popularidade.
Figura 27 Um disco magntico sem a proteo metlica
Como podemos ver na imagem acima, o disco magntico
composto por discos e braos de acesso, alm de motores
responsveis por girar os discos e movimentar o brao.
O princpio bsico de funcionamento do disco magntico
simples: os discos giram em um nico sentido com velocidade
constante, e as cabeas de leitura e gravao se aproximam e
se afastam do centro do disco, de modo que conseguem atingir
toda a sua rea til.
Essa rea coberta por um material magntico que pode
ser sensibilizado pelo campo gerado pela cabea de leitura.
Dependendo da direo em que estiverem direcionadas essas
partculas, elas podem simbolizar um bit 0 ou um bit 1.
5
10
15
20
42
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
A rea til do disco dividida em setores. Um setor
normalmente corresponde a 512 bytes e separado do prximo
setor por uma rea no utilizada chamada lacuna. Como estamos
lidando com campos magnticos, nem toda a superfcie pode
ser utilizada, pois corremos o risco de afetar outros setores alm
do desejado, se eles estiverem muito prximos. Os setores so
agrupados em crculos concntricos denominados trilhas.
Trilha /
Cilindro
Setor
Cabeas de leitura e
gravao
8 cabeas
4 platters
Figura 28 Representao da geometria do disco magntico
Alm de trilhas e setores, o outro conceito importante na
geometria do disco magntico o cilindro. Um disco magntico
normalmente composto por vrios discos, denominados
platters.
Cada superfcie de cada disco possui uma cabea de leitura
e gravao prpria. Como todos os braos de todas as cabeas
de leitura e gravao se movimentam ao mesmo tempo, quando
a cabea de leitura da primeira superfcie estiver sobre a trilha
n, todas as cabeas de leitura estaro sobre as trilhas n de suas
respectivas superfcies.
A esse conjunto de trilhas que podem ser acessadas sem que
seja necessrio movimentar a cabea de leitura e gravao se d
o nome de cilindro.
Este um conceito importante quando se tenta aumentar
o desempenho de discos, pois, por se tratar de um dispositivo
5
10
15
20
43
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
mecnico, o tempo que a cabea de leitura leva para se mover
pela superfcie do disco extremamente lento.
Se um determinado conjunto de dados estiver num mesmo
cilindro, o tempo de acesso a esses dados ser menor.
5.3.3 Demais dispositivos
Alm de processador, memrias e discos, um computador
moderno dispe de uma gama de dispositivos de entrada e sada
de dados. Todos eles se comunicam de alguma forma com o
barramento para que os dados possam ser transferidos deles
para a memria principal e vice-versa.
Podemos destacar, entre eles, os CD-ROMs (permitem apenas
leitura) e CDs gravveis e regravveis (que permitem a gravao
uma ou muitas vezes), DVDs e Blu-Ray, teclados e mouses (e
outros tipos de dispositivo apontadores como trackballs),
monitores CRT (que usam o tubo de raios catdicos) e LCD
(display de cristal lquido), as impressoras de todos os tipos (laser,
jato de tinta e matriciais so as mais comuns) e os dispositivos
de telecomunicaes como modem de linha discada, DSL (digital
subscriber line) e cable modem.
5.3.4 Conjuntos de caracteres
claro que os computadores tm que lidar com todo tipo
de informaes, e no apenas nmeros, mas, como veremos na
seo sobre circuitos digitais, o computador s consegue de fato
lidar com valores binrios.
A soluo para permitir que os computadores consigam
lidar com informaes no numricas a criao de tabelas
de converso. Essas tabelas so chamadas de conjuntos de
caracteres.
Um dos padres mais conhecidos o ASCII (American
Standard Code for Information Interchange Cdigo Padro
Americano para Intercmbio de Informaes).
5
10
15
20
25
44
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
O ASCII usa sete bits para descrever os caracteres, o que permite
128 combinaes. As tabelas abaixo mostram essas combinaes.
Binrio Decimal Hexa Abreviao Descrio
0000 0000 00 00 NUL Null - nulo
0000 0001 01 01 SOH
Start of header - incio do
cabealho
0000 0010 02 02 STX Start of text - incio do texto
0000 0011 03 03 ETX End of text - m do texto
0000 0100 04 04 EOT End of tape - m de ta
0000 0101 05 05 ENQ
Enquire - interroga identidade do
terminal
0000 0110 06 06 ACK Acknowledge - reconhecimento
0000 0111 07 07 BEL Bell - campainha
0000 1000 08 08 BS Back-space - espao atrs
0000 1001 09 09 HT
Horizontal tabulation - tabulao
horizontal
0000 1010 10 0A LF Line-feed - alimenta linha
0000 1011 11 0B VT
Vertical tabulation - tabulao
vertical
0000 1100 12 0C FF Form-feed - alimenta formulrio
0000 1101 13 0D CR
Carriage-return - retorno do
carro (enter)
0000 1110 14 0E SO Shift-out - sada do shift
0000 1111 15 0F SI Shift-in - entrada no shift
0001 0000 16 10 DLE Data-link escape
0001 0001 17 11 DC1 Device-control 1
0001 0010 18 12 DC2 Device-control 2
0001 0011 19 13 DC3 Device-control 3
0001 0100 20 14 DC4 Device-control 4
0001 0101 21 15 NAK
Neg-acknowledge - no
reconhecimento
0001 0110 22 16 SYN Synchronous idle
0001 0111 23 17 ETB End-of-transmission block
0001 1000 24 18 CAN Cancel
0001 1001 25 19 EM End-of-medium
0001 1010 26 1A SUB Substitute
0001 1011 27 1B ESC Escape
0001 1100 28 1C FS File separator
0001 1101 29 1D GS Group separator
0001 1110 30 1E RS Record separator
0001 1111 31 1F US Unit separator
0111 1111 127 7F DEL Delete
Tabela 1 Caracteres de controle ASCII
45
ORGANIZAO DE COMPUTADORES
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
Binrio Decimal Hexa Caracter Binrio Decimal Hexa Caracter Binrio Decimal Hexa Caracter
0010 0000 32 20 0100 0000 64 40 @ 0110 0000 96 60 `
0010 0001 33 21 ! 0100 0001 65 41 A 0110 0001 97 61 a
0010 0010 34 22 0100 0010 66 42 B 0110 0010 98 62 b
0010 0011 35 23 # 0100 0011 67 43 C 0110 0011 99 63 c
0010 0100 36 24 $ 0100 0100 68 44 D 0110 0100 100 64 d
0010 0101 37 25 % 0100 0101 69 45 E 0110 0101 101 65 e
0010 0110 38 26 & 0100 0110 70 46 F 0110 0110 102 66 f
0010 0111 39 27 0100 0111 71 47 G 0110 0111 103 67 g
0010 1000 40 28 ( 0100 1000 72 48 H 0110 1000 104 68 h
0010 1001 41 29 ) 0100 1001 73 49 I 0110 1001 105 69 i
0010 1010 42 2A * 0100 1010 74 4A J 0110 1010 106 6A j
0010 1011 43 2B + 0100 1011 75 4B K 0110 1011 107 6B k
0010 1100 44 2C , 0100 1100 76 4C L 0110 1100 108 6C l
0010 1101 45 2D - 0100 1101 77 4D M 0110 1101 109 6D m
0010 1110 46 2E . 0100 1110 78 4E N 0110 1110 110 6E n
0010 1111 47 2F / 0100 1111 79 4F O 0110 1111 111 6F o
0011 0000 48 30 0 0101 0000 80 50 P 0111 0000 112 70 p
0011 0001 49 31 1 0101 0001 81 51 Q 0111 0001 113 71 q
0011 0010 50 32 2 0101 0010 82 52 R 0111 0010 114 72 r
0011 0011 51 33 3 0101 0011 83 53 S 0111 0011 115 73 s
0011 0100 52 34 4 0101 0100 84 54 T 0111 0100 116 74 t
0011 0101 53 35 5 0101 0101 85 55 U 0111 0101 117 75 u
0011 0110 54 36 6 0101 0110 86 56 V 0111 0110 118 76 v
0011 0111 55 37 7 0101 0111 87 57 W 0111 0111 119 77 w
0011 1000 56 38 8 0101 1000 88 58 X 0111 1000 120 78 x
0011 1001 57 39 9 0101 1001 89 59 Y 0111 1001 121 79 y
0011 1010 58 3A : 0101 1010 90 5A Z 0111 1010 122 7A z
0011 1011 59 3B ; 0101 1011 91 5B [ 0111 1011 123 7B {
0011 1100 60 3C < 0101 1100 92 5C \ 0111 1100 124 7C |
0011 1101 61 3D = 0101 1101 93 5D ] 0111 1101 125 7D }
0011 1110 62 3E > 0101 1110 94 5E ^ 0111 1110 126 7E ~
0011 1111 63 3F ? 0101 1111 95 5F _
Tabela 2 Caracteres imprimveis do padro ASCII
Conforme podemos perceber, esse padro bastante
limitado. Ele contm apenas os caracteres da lngua inglesa,
no contm os acentos necessrios para o portugus, e nem
46
Unidade II
R
e
v
i
s

o
:

E
d
u
a
r
d
o

-

D
i
a
g
r
a
m
a

o
:

L

o

3
0
/
0
3
/
0
9
podemos comear a pensar nos idiomas que usam alfabetos
diferentes, como o russo ou o rabe.
Como os computadores hoje so usados em todo o mundo
e os fabricantes desejam que seus produtos sejam usados
globalmente, o ASCII no pode mais ser considerado como
um padro aceitvel. Por esse motivo, foi criado outro padro,
chamado UNICODE, patrocinado por um grupo de empresas.
O UNICODE usa 16 bits para descrever cada caractere, o que
permite at 65.536 caracteres diferentes.
Mesmo essa quantidade insuciente para abarcar todos
os idiomas falados na Terra. Linguistas estimam que seriam
necessrios cerca de 200.000 caracteres para suportar todos os
idiomas falados atualmente.
O padro UNICODE hoje cobre cerca de 75 alfabetos. Alm
dos caracteres latinos, so suportados cirlico, grego, armnio,
hebraico, devangari, gurmuqui, ori, telugu e kanada, entre
outros.
5
10
15