Vous êtes sur la page 1sur 13

35

R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
Unidade II
3 ORGANIZAO DO COMPUTADOR
3.1 Processadores
O processador (gura 30) o crebro do computador e tambm conhecido como CPU (Central
Processing Unit), ou Unidade Central de Processamento. Utiliza a linguagem de mquina, binrio 0 e 1,
nos seus clculos.
Figura 30 - Modelo de processador de microcomputador [Processador]
Basicamente, o processador o responsvel por executar os programas que cam carregados na
memria principal. Ele executa as instrues ou tarefas dos programas uma a uma.
As principais funes do processador, de acordo com Stallings, so:
1) Busca de instruo: l uma instruo da memria;
2) Interpretao da instruo: decodicao da instruo;
3) Busca de dados: uma instruo pode necessitar de diferentes dados da memria ou de E/S;
4) Processamento de dados: execuo aritmtica ou lgica sobre os dados;
5) Escrita de dados: os resultados podem necessitar escrever dados na memria ou em E/S.
36
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
Para executar as tarefas, o processador utiliza partes distintas, como Unidade de Controle, Unidade
Lgica Aritmtica (ALU) (gura 31) e registradores.
Lembrete
ALU abreviao em ingls de Arithmetic Logic Unit, tambm conhecida
como ULA (Unidade Lgica Aritmtica).
Unidade de
controle
ALU
Registradores
Figura 31 - ALU / ULA
Fonte: TANENBAUM, 2007a.
A unidade de controle busca as informaes na memria principal.
A unidade lgica e aritmtica realiza clculos e comparaes entre valores.
Os registradores compem uma memria de alta velocidade (interna CPU) utilizada para
armazenar resultados temporrios e para o controle do uxo de informaes.
Observao
Existem diferentes tipos de registradores, isto , com funes distintas;
entretanto, normalmente, todos os registradores tm o mesmo tamanho.
Os registradores mais conhecidos so:
Contador de Programa: que indica a prxima instruo a ser executada.
Registrador de Instruo: que contm a instruo que est sendo executada, ou seja, a informao
captada da memria cache, principal, E/S, etc.
37
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
Registradores de dados: so utilizados apenas para armazenar dados, no sendo empregados no
clculo de endereos.
Registradores de endereos: recebem o endereo de um dado objeto. Esse registrador oferece aos
programadores a possibilidade da utilizao de ponteiros.
Lembrete
Ponteiros so variveis contendo um endereo no programa.
Registrador (gura 32) o elemento superior no nvel de hierarquia de memria, por possuir a maior
velocidade de transferncia dentro do sistema, estando acima da memria cache, da memria principal
e da memria secundria. Estudaremos essas estruturas mais adiante. O registrador possui a menor
capacidade de armazenamento e o maior custo, o tipo mais caro de memria.
ULA
A B
A + B
A + B
A
B
Registradores
Registrador de
entrada da ULA
Barramento de
entrada da ULA
Registrador de
sada da ULA
Figura 32 - Registradores
Fonte: TANENBAUM, 2007a.
Nessa gura, temos a representao grca dos registradores de entrada que recebem os valores
hipotticos A e B que sero somados na ALU e enviados ao registrador de sada. Os resultados so
armazenados em registradores para novos clculos e posteriormente podem ser armazenados (escritos)
em memria. A comunicao entre os registradores e a ALU acontecem por meio de barramentos internos
da CPU. A seta esquerda indica o caminho dos dados; e, quanto mais rpido for esse processo, maior
o desempenho do processador e do sistema computacional como um todo.
38
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
Resumidamente, uma operao normal do caminho de dados consiste em selecionar o contedo de
um ou dois registradores, submet-lo ALU e movimentar o resultado para outro registrador.
3.1.1 Execuo da instruo
De acordo com Tanenbaum, a CPU executa as instrues atravs das seguintes etapas:
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;
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 chamada ciclo buscar-decodicar-executar e fundamental para a operao de
todos os computadores.
Lembrete
Que o programa armazenado na memria na forma de instrues
que o processador consiga interpretar, ou seja, o programa quando escrito
em linguagem de alto nvel, sofre vrios nveis de traduo antes de ser
executado diretamente pelo processador.
3.1.2 Clock interno
O Clock do processador ou interno um chip que emite sinais eltricos atravs de um cristal
de quartzo e realiza a sincronizao entre as instrues a serem processadas. Quando as tarefas so
executadas, ocorre o pulso de Clock. As oscilaes so mensuradas em hertz (Hz), unidade padro de
medidas de frequncia, que indica o nmero de ciclos que ocorre em certo tempo, no caso, segundos.
Desse modo, se um processador trabalha com 500 MHz, por exemplo, signica que capaz de lidar
com 500 milhes de operaes de ciclos de Clock por segundo. Quanto mais Clocks, mais rpido o
processador; entretanto, existem limites.
39
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
Lembrete
Existe outro tipo de Clock, externo CPU.
Saiba mais
<http://www.dca.ufrn.br/~pablo/FTP/arq_de_comp/apostilha/capitulo2.
pdf>
3.2 RISC versus CISC
Com o avano da tecnologia, no nal da dcada de 1970 j existia uma decincia entre o que as
mquinas podiam fazer e o que as linguagens de alto nvel exigiam.
A ideia que prevalecia era desenvolver processadores cada vez mais poderosos no intuito de diminuir
ou extinguir a lacuna existente.
Entretanto, alguns prossionais resolveram nadar contra a corrente e passaram a pensar no
desenvolvimento de mquinas mais simples. Em 1980, um grupo em Berkeley, liderado por David
Patterson e Carlo Squin, criou chips de CPU e batizou com o termo RISC (Reduced Instruction Set
Computer), ou computador com conjunto de instrues reduzidas, em comparao com CISC (Complex
Instruction Set Computer), ou computador com conjunto de instrues complexas.
Eles acreditavam que, embora fossem necessrias mais instrues para o RISC em comparao com
o CISC, se as instrues do RISC fossem mais rpidas, este teria um melhor desempenho.
A gura 32 representa uma estrutura de processamento com tecnologia RISC.
Apesar da vantagem da tecnologia RISC, a tecnologia CISC no deixou de existir; primeiro, porque
existiam bilhes de dlares investidos em softwares para a arquitetura CISC (compatibilidade), e segundo,
porque a Intel, a partir do 486, desenvolveu uma tecnologia hbrida, ou seja, um ncleo com RISC que
executa as instrues mais simples (as mais comuns) e CISC para as mais complicadas. O resultado que
instrues comuns so rpidas e as complexas, lentas.
Quase trs dcadas aps o lanamento da tecnologia RISC, aprendemos que novas tecnologias de
impacto podem surgir a todo momento, tornando-se difcil e s vezes invivel sua implementao
imediata; desse modo, nada mais coerente do que delimitar princpios de projeto, visando minimizar
esses riscos.
Os princpios de projeto tambm visam maximizar o desempenho de sistemas computacionais. A
seguir, mencionamos os mais relevantes.
40
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
3.3 Princpios de projeto para computadores modernos
3.3.1 Todas as instrues so executadas diretamente pelo hardware
Atualmente a recomendao que as instrues correspondam diretamente a elementos de
hardware, pois antigamente era comum em estruturas computacionais adicionar uma camada de
software entre o hardware e os demais programas, providenciando um novo nvel de interpretao,
o microcdigo. O microcdigo oferece a possibilidade de incluir ou alterar instrues sem alterar o
hardware; mas, apesar de oferecer mais exibilidade, no considerado uma boa prtica, pois o nvel
adicional de interpretao acarreta perda de desempenho, que no compensa s novas instrues
que possam ser adicionadas.
3.3.2 Maximize a taxa de execuo de instrues
Uma das formas de maximizar o desempenho do computador aumentar a taxa de execues de
instrues por segundo, atravs do aumento da velocidade de relgio (Clock), ou atravs do paralelismo,
como veremos adiante.
3.3.3 As instrues devem ser fceis de decodicar
Quanto mais simples ou menos formatos alternativos tiverem as opes de execuo de uma
instruo, melhor; pois, se a instruo tiver poucos formatos, o tempo de identicao da instruo
ser reduzido logo, e o tempo de processamento ser otimizado.
3.3.4 Somente Load e Store devem referenciar a memria
O acesso memria principal uma operao mais demorada. Por esse motivo, recomendado que
apenas as instrues Load (leitura) e Store (gravao) tenham acesso memria.
3.3.5 Providencie muitos registradores
Quando o processador no tem um registrador disponvel para armazenar um valor resultante, ele
transfere esse valor para a memria principal. Sabemos que a transferncia de dados entre o processador
e a memria principal um processo mais lento do que a movimentao de dados dentro do processador;
portanto, quanto mais registradores possveis, melhor.
4 PARALELISMO (PIPELINE)
4.1 Paralelismo no nvel de instruo
Conforme mencionamos, um dos caminhos para se maximizar a performance do computador
aumentar a taxa de execues de instrues por segundo, aumentando a velocidade de
relgio do computador. Outra forma fazer com que o processador realize atividades em
paralelo.
41
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
O Pipeline ou Paralelismo a tcnica de dividir a execuo da instruo em vrias partes, e cada uma
ser manipulada por uma parte especca do processador. A gura 33, extrada da obra de Tanenbaum,
exemplica a questo.
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
(a)
(b)
...
Figura 33 - Modelo de Pipeline
Fonte: TANENBAUM, 2007a.
Nesse exemplo, temos cinco estgios ou unidades S1 (busca de instruo), S2 (decodicao de
instruo), S3 (busca de operando), S4 (execuo) e S5 (gravao). Nove ciclos de relgio (time) e nove
instrues (quadradinhos).
No primeiro ciclo, o processador busca a instruo 1, na unidade de busca de instruo; no
segundo ciclo, enquanto realiza a decodificao da instruo 1, na unidade de decodificao, busca
a instruo 2 na unidade de busca de instruo, e assim sucessivamente, como uma linha de
montagem.
A questo que nem todas as instrues demandam o mesmo tempo para serem executadas, pois
nem todas as unidades trabalham na mesma velocidade; a unidade de execuo, por exemplo, com
instrues do tipo LOAD e STORE, que acessam a memria principal, so mais demoradas. A soluo so
as arquiteturas superescalares, como veremos a seguir.
4.2 Arquiteturas superescalares
A Idea da arquitetura superescalar manter na unidade de execuo mais de uma ALU,
uma unidade para LOAD, uma para STORE e uma de ponto flutuante ex.1,35789. Desse modo,
ocorre uma compensao, pois as demais unidades so mais rpidas. A figura 34 exemplifica a
questo.
42
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
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
operando
S4
Figura 34 - Arquitetura superescalar
Fonte: TANENBAUM, 2007a.
Lembrete
Esse tipo de paralelismo implementado dentro do processador, ou
seja, no depende de mais de um processador. Nesse tipo de design, deve
ser tomado o cuidado para que as instrues sejam executadas na ordem
correta.
Saiba mais
<http://rossano.pro.br/fatec/cursos/sistcomp/apostilas/organizacao-
computadores-processadores.pdf>
4.3 Paralelismo no nvel do processador
Por mais que consigamos aumentar o desempenho da CPU, maximizando as taxas de execuo
(Clock) e implementando paralelismo no nvel de instruo, as limitaes so uma constante, pois
aumentar taxas de execuo no pode ultrapassar a velocidade da luz. Outro problema a dissipao
do calor, cada vez maior em relao s execues. O paralelismo no nvel de instruo, como vimos,
ajuda, mas no suciente, pois exige uma grande dependncia entre as instrues. A soluo
implementar paralelismo no nvel do processador, ou seja, projetar computadores com vrias CPUs.
Vejamos a seguir.
43
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
4.3.1 Computadores matriciais
Um computador matricial aquele com 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.
4.4 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.
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.
A maioria dos sistemas operacionais de mercado atualmente tem alguma capacidade de
multiprocessamento.
4.5 Multicomputadores
A diferena entre o multicomputador e o multiprocessador que no multicomputador cada CPU
tem uma memria local que s acessada por aquele processador.
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 projetistas abandonam a ideia da memria compartilhada e criam computadores
nos quais h apenas processadores com memrias privadas. Esse tipo de arranjo normalmente chamado
de fracamente acoplado, em contraste com o arranjo fortemente acoplado, que o multiprocessador.
Memria
Compartilhada
CPU CPU CPU CPU
Barramento
(a)
44
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
CPU CPU CPU CPU
Barramento
Memrias locais
Memria
Compartilhada
(b)
Figura 35 - (a) Multiprocessador de barramento nico. (b) Multicomputador com memrias locais
Fonte: TANENBAUM, 2007a.
Resumo
Nesta unidade, abordamos temas como a organizao do computador,
o que so processadores, Clock, Arquitetura RISC versus CISC, entre outros.
Conhecemos essas arquiteturas e as superescalares, vimos a arquitetura
do multiprocessador e de multicomputadores. Entendemos um pouco mais
sobre discos magnticos e perifricos.
Exerccios
Questo 1
Organizao dos sistemas de computao
45
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
Em relao Arquitetura dos Computadores, analise as armativas:
I. A funo da CPU executar programas armazenados no disco rgido, buscando suas instrues,
examinando-as e executando-as, uma aps a outra.
II. A CPU possui uma memria interna, de alta velocidade, usada para armazenar resultados
temporrios e certas informaes de controle.
III. Um computador uma mquina composta de um conjunto de partes eletrnicas e eletromecnicas,
com capacidade de coletar, armazenar e manipular dados, alm de fornecer informaes.
IV. O hardware do computador tudo aquilo que o compe sicamente. Constitu-se em hardware
o prprio sistema operacional do computador e outros programas do computador.
V. O computador uma mquina programvel capaz de processar informaes com grande rapidez.
VI. Os computadores digitais so totalmente binrios, isto , trabalham apenas com dois valores,
tornando assim simples o emprego da lgica booleana (Verdadeiro/Falso, Aberto/Fechado, ...) tanto
na construo de componentes quanto como base para a escrita de programas.
correto o que consta em:
A. I, II, IV e VI, apenas.
B. II, III, IV e V, apenas.
C. I, III, IV e VI, apenas.
D. II, III, V e VI, apenas.
E. I, II, III, IV, V e VI.
Resposta correta: Alternativa D.
Anlise das armativas
I) Armativa incorreta.
Justicativa: A CPU executa programas armazenados na memria RAM.
II) Armativa correta.
Justicativa: A CPU utiliza a memria cache para armazenar resultados temporrios. A memria
cache mais rpida que a memria RAM.
46
Unidade II
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
III) Armativa correta.
Justicativa: Os computadores executam quatro funes bsicas: Entrada, Processamento,
Armazenamento/recuperao de dados e Sada.
IV) Armativa incorreta.
Justicativa: Sistema operacional um software.
V) Armativa correta.
Justicativa: O computador sozinho um juntado de dispositivos eletrnicos sem nenhuma funo.
Pare que um computador trabalhe necessrio insero de informaes (Entrada), seguindo as
instrues fornecidas pelos programas, o computador processa os dados originrios da entrada. A sada
costuma ser armazenada para posterior utilizao.
VI) Armativa correta.
Justicativa: os computadores seguem a lgica clssica que constituda por 0 e 1.
Questo 2. (IFTO adaptada) Considere o diagrama de blocos geral de um multiprocessador fortemente
acoplado mostrado a seguir:
Processador
1
Processador
2
Processador
m
E/S 1
E/S 2
E/S m
. . .
.
.
.
Rede de interconexo
Memria principal
Arquitetura e organizao de computadores
Analise a veracidade das armaes abaixo e indique a alternativa correta:
I) Neste esquema, cada processador autocontido, possuindo unidade de controle, ULA, registradores
e memria cache.
47
R
e
v
i
s

o
:

A
m
a
n
d
a

/

D
i
a
g
r
a
m
a

o
:

M

r
c
i
o

-

0
9
/
0
6
/
1
1
ORGANIZAO DE COMPUTADORES
II) Mais de um processador pode participar da execuo de uma aplicao.
III) A memria pode ser organizada de modo a permitir acessos simultneos a blocos separados de
memria por diferentes processadores.
IV) Cada processador pode possuir recursos prprios, no compartilhados, de memria e dispositivos
de E/S.
A. Os itens I e II so falsos.
B. O item III falso.
C. O item IV falso.
D. Todos os itens so verdadeiros.
E. Todos os itens so falsos.
Resoluo desta questo na Plataforma.

Vous aimerez peut-être aussi