Você está na página 1de 96

Organizao de Computadores

Hardware
Professor Marcus Vincius Midena Ramos
Colegiado de Engenharia de Computao
!"#$%&"'&($%
marcus'ramos)uni*asf'edu'+r
www'uni*asf'edu'+r,-marcus'ramos

.erramenta
indispens/*el0

.az parte das nossas


*idas0

Por si s1 no faz nada


de 2til0

3rande capacidade de
resoluo de
pro+lemas0

4ecessita ser
instrudo'
Computador
Computador

Capaz apenas de e5cutar


poucas tarefas +/sicas
distintas6 todas muito
simples0

7 e5tremamente r/pido0

Possui um comportamento
pre*is*el0

7 e5celente para reproduzir


8roteiros9 pr:;conce+idos0

4o se cansa e pode ser


usado < e5austo'
Computador =
Hardware (corpo) >
?oftware (alma)
O corpo fornece suporte para a
alma'
O corpo procura suprir as
necessidades da alma'
O corpo pode criar no*as
possi+ilidades para a alma6 ou ento
esta+eldcer limita@es'
A alma se e5pressa atra*:s do
corpo'
A alma usa os recursos do corpo'
Computador

HardwareB

Parte fsicaB placas6


perif:ricos6 circuitos6 ca+os e
componentes'

Cuanto mais usado6 mais


propenso < falhas'

?ozinho6 no ser*e para


nada'

Vem pronto da f/+rica'


Computador

?oftwareB

Parte intang*elB
conhecimentos e id:ias Due
fazem o hardware e5i+ir
um certo comportamento'

Cuanto mais usado6 menos


propenso < falhas'

Confere funcionalidade ao
hardware'

Pode ser adDuirido ou


desen*ol*ido'
Modelo de *on 4eumann

Matem/tico h2ngaro0

PropEs um modelo de arDuitetura composto por


Duatro partes distintas0

4esse modelo6 o programa a ser e5ecutado pelo


computador fica*a armazenado na mem1ria do
mesmo0

3rande fle5i+ilidade e rapidez6 pois o hardware no


precisa ser modificado e no precisa*a ser lido em
cart@es perfurados0

A maioria dos computadores modernos adota essa


arDuitetura'
Modelo de *on 4eumann

CiFncia 5 Gecnologia

E*oluo cientfica 5 tecnol1gica

E5emplo do autom1*el
Hnidade Central de
Processamento
Mem1ria
Entrada ?ada
Modelo de *on 4eumann
Hnidade Central de
Processamento
Mem1ria
Entrada ?ada
Modelo de *on 4eumann
Modelo de *on 4eumann
Unidade Central de Processamento (UCP ou
CPU):

IF6 decodifica e e5ecuta as instru@es armazenadas


na mem1ria0

Realiza opera@es l1gicas e aritm:ticas0

Pode ler modificar o *alor de alguma posio de


mem1ria0

Pode transferir *alores da entrada para a mem1ria e


da mem1ria para a sada0

E5ecuta as instru@es seDJencialmente6 at: o


t:rmino do programa ou at: encontrar algum
des*io e5plcito'
Hnidade Central de
Processamento
Mem1ria
Entrada ?ada
Modelo de *on 4eumann
Modelo de *on 4eumann
Memria:

7 di*idida em c:lulas +Ktes#

Cada c:lula armazena um *alor e possui um


endereo0

7 comandada pela CPH6 Due informa em Dual


endereo deseLa e5ecutar uma operao de leitura
ou escrita#0

Opera@es de leitura no modificam os *alores


armazenados0

Opera@es de escrita apagam os *alores anteriores6


su+stituindo;os pelos no*os *alores0
M
E5emplo de mem1ria com &N posi@es0
M
As posi@es so numeradas N a (0
M
Valores permanecem at: Due um no*o *alor seLa
armazenado na mesma posio ou at: Due a
mem1ria seLa desligada'
0 1 2 3 4 5 6 7 8
&N OP ($ QQ !O &Q % QO O"Q &((
Endereos
Valores
Operao de leitura
0 1 2 3 4 5 6 7 8
&N OP ($ QQ !O &Q % QO O"Q &((
Endereos
Valores

O+ter o *alor armazenado na posio endereo# !

ResultadoB QO
Operao de escrita
0 1 2 3 4 5 6 7 8
&N OP ($ QQ !O &Q % QO O"Q &((

Armazenar o *alor $& na posio endereo# !


X
0 1 2 3 4 5 6 7 8
&N OP ($ QQ !O &Q %
31
O"Q &((
Hnidade Central de
Processamento
Mem1ria
Entrada ?ada
Modelo de *on 4eumann
Modelo de *on 4eumann
!ntrada e "a#da:

?o+ comando da CPH6 : poss*el ler *alores de um


dispositi*o de entrada6 armazenando;os na
mem1ria0

?o+ comando da CPH6 : poss*el ler *alores da


mem1ria6 en*iando;os para um dispositi*o de sada0

E5iste uma grande *ariedade de dispositi*os de


entrada e sada0

Conceitualmente6 no entanto6 eles so passi*os e


o+edecem ao comando da CPH'
Modelo de *on 4eumann

Os dados e os programas so
armazenados na mem1ria6 em regi@es
distintas0

Hm programa : composto por uma


coleo de instru@es Due so lidas e
e5ecutadas em seDJFncia'
Hnidade Central de
Processamento
Entrada ?ada
Modelo de *on 4eumann
Programa
Rados
Modelo de *on 4eumann

Os programas so formados6
essencialmente6 por comandos
instru@es so+re o Due fazer#0

As instru@es so muito simples e


e5ecutadas muito rapidamente0
Modelo de *on 4eumann
Programa Rados
01 ---
02 ---
03 ---
04 ---
...
Modelo de *on 4eumann

As instru@es so lidas
seDJencialmente da mem1ria6 uma
ap1s a outra0

Hma instruo pode i# ler um *alor da


entrada0 ii# en*iar um *alor para a
sada0 iii# gerar um no*o *alor0 i*#
indicar o endereo da pr15ima
instruo a ser e5ecutada'
Modelo de *on 4eumann

A e5ecuo de um no*o comando


inicia apenas depois Due a e5ecuo do
anterior ti*er terminado e5ecuo
seDJencial#0

?e no hou*er nenhuma indicao


e5plcita6 a instruo armazenada no
endereo de mem1ria seguinte :
e5ecutada'
Modelo de *on 4eumann

E*entualmente6 um comando pode


modificar o *alor de um dado e5istente
na mem1ria6 solicitar no*os dados ao
usu/rio ou en*iar dados para a sada'
Modelo de *on 4eumann
Programa Rados
01 ---
02 ---
03 ---
04 ---
...
Modelo de *on 4eumann
Programa Rados
01 ---
02 ---
03 ---
04 ---
...
Modelo de *on 4eumann
Programa Rados
01 ---
02 ---
03 ---
04 ---
...
Modelo de *on 4eumann
Programa Rados
01 ---
02 ---
03 ---
04 ---
...
Modelo de *on 4eumann
E5emplos de e*oluo tecnol1gicaB

Velocidade da CPH0

Cuantidade de registradores0

Cuantidade de +its maniupulados


simultaneamente0

Cuantidade de posi@es de mem1ria0

Velocidade de acesso < mem1ria0

Gamanho do computador0

Consumo de energia0

Preo do computador0

Possi+ilidade de e5panso do computador0

Ri*ersificao dos dispositi*os de entrada e sada'


E5emplo
?imple Computer ?imulatorB

&$ instru@es

&NN posi@es de mem1ria

As posi@es de mem1ria so endereadas NN a


((

.unciona no +rowserB
httpB,,communitK'*csu'edu,facultKpages,curt'
hill,MKSTe+page,simulators'htm
E5emplo
?imple Computer ?imulatorB

AUB registrador interno < CPH 2nico#0

PCB cont:m o endereo da primeira instruo a


ser e5ecutada0

RelaKB inter*alo de tempo entre a e5ecuo de


instru@es consecuti*as0

RunB e5ecuta o programa at: o fim0

?ingle stepB e5ecuta apenas uma instruo


indicada pelo PC#'
Vnstru@es
M
Cada instruo tem um nome0
M
Para a m/Duina6 nomes nada significam0
M
4omes precisam ser traduzidos para n2meros0
M
Iinguagem de Montagem 5 Iinguagem de
M/Duina0
M
Cada instruo tem um n2mero0
M
A maioria das instru@es tem um complemento
dois n2meros#6 outras usam apenas um n2mero0
IOAR
M
C1digo &%&0
M
Hsa n2mero adicional0
M
.ormatoB &%& WendereoX
M
Copia o *alor armazenado na posio de mem1ria
WendereoX para o registrador AU0
M
O *alor anterior de AU : perdido0
M
O *alor da posio de mem1ria WendereoX
permanece inalterado0
M
E5emploB
M
&%& OQ
ou
IOAR OQ
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
" O%
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
LOAD 25
&! OQ
" O%
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
LOAD 25
" O%
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
LOAD 25
" O%
&!
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
" O%
&!
?GORE
M
C1digo &%N0
M
Hsa n2mero adicional0
M
.ormatoB &%N WendereoX
M
Copia o *alor armazenado no registrador AU para
a posio de mem1ria WendereoX0
M
O *alor anterior da posio de mem1ria
WendereoX : perdido0
M
O *alor de AU permanece inalterado0
M
E5emploB
M
&%N OQ
ou
?GORE OQ
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
" O%
&!
STORE 26
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
&! O%
&!
STORE 26
Modelo de *on 4eumann
Programa Rados
LOAD 25
STORE 26
&! OQ
&! O%
&!
V4PHG
M
C1digo !&0
M
Hsa n2mero adicional0
M
.ormatoB !& WendereoX
M
Aguarda o usu/rio digitar um n2mero e depois
armazena o mesmo na posio de mem1ria
WendereoX0
M
O *alor anterior da posio de mem1ria
WendereoX : perdido0
M
O *alor de AU permanece inalterado0
M
E5emploB
M
!& OQ
ou
V4PHG OQ
Modelo de *on 4eumann
Programa Rados
INPUT 25
&! OQ
" O%
&!
INPUT 25
Modelo de *on 4eumann
Programa Rados
INPUT 25
&! OQ
" O%
&!
INPUT 25
Modelo de *on 4eumann
Programa Rados
INPUT 25
&! OQ
" O%
&!
INPUT 25
!"
Modelo de *on 4eumann
Programa Rados
INPUT 25
!" OQ
" O%
&!
INPUT 25
!"
OHGPHG
M
C1digo !O0
M
Hsa n2mero adicional0
M
.ormatoB !O WendereoX
M
En*ia o *alor armazenado na posio de mem1ria
WendereoX para o dispositi*o de sada0
M
O *alor da posio de mem1ria WendereoX
permanece inalterado0
M
O *alor de AU permanece inalterado0
M
E5emploB
M
!O OQ
ou
OHPHG OQ
Modelo de *on 4eumann
Programa Rados
OUTPUT 26
&! OQ
" O%
&!
OUTPUT 26
Modelo de *on 4eumann
Programa Rados
OUTPUT 26
&! OQ
" O%
&!
OUTPUT 26
Modelo de *on 4eumann
Programa Rados
OUTPUT 26
&! OQ
" O%
&!
OUTPUT 26
"
ARRV
M
C1digo ""0
M
Hsa n2mero adicional0
M
.ormatoB "" W*alorX
M
?oma o conte2do corrente do registrador AU com
W*alorX6 e dei5a o resultado no pr1prio AU0
M
E5emploB
M
"" N&
ou
ARRV N&
Modelo de *on 4eumann
Programa Rados
ADDI 05
&! OQ
" O%
&!
ADDI 05
Modelo de *on 4eumann
Programa Rados
ADDI 05
&! OQ
" O%
OO
ADDI 05
?HYV
M
C1digo "Q0
M
Hsa n2mero adicional0
M
.ormatoB "Q W*alorX
M
?u+trai do conte2do corrente do registrador AU
W*alorX6 e dei5a o resultado no pr1prio AU0
M
E5emploB
M
"Q N&
ou
?HYV N&
ARR
M
C1digo QN0
M
Hsa n2mero adicional0
M
.ormatoB QN WendereoX
M
?oma o conte2do corrente do registrador AU com
o *alor armazenado na posio de mem1ria
WendereoX6 e dei5a o resultado no pr1prio AU0
M
O conte2do da posio de mem1ria WendereoX
permanece inalterado0
M
E5emploB
M
QN OQ
ou
ARR OQ
Modelo de *on 4eumann
Programa Rados
ADD 26
&! OQ
" O%
&!
ADD 26
Modelo de *on 4eumann
Programa Rados
ADD 26
&! OQ
" O%
&!
ADD 26
Modelo de *on 4eumann
Programa Rados
ADD 26
&! OQ
" O%
O&
ADD 26
?HY
M
C1digo Q&0
M
Hsa n2mero adicional0
M
.ormatoB Q& WendereoX
M
?u+trai do conte2do corrente do registrador AU o
*alor armazenado na posio de mem1ria
WendereoX6 e dei5a o resultado no pr1prio AU0
M
O conte2do da posio de mem1ria WendereoX
permanece inalterado0
M
E5emploB
M
Q& OQ
ou
?HY OQ
MHI
M
C1digo QO0
M
Hsa n2mero adicional0
M
.ormatoB QO WendereoX
M
Multiplica o conte2do corrente do registrador AU
pelo *alor armazenado na posio de mem1ria
WendereoX6 e dei5a o resultado no pr1prio AU0
M
O conte2do da posio de mem1ria WendereoX
permanece inalterado0
M
E5emploB
M
QO OQ
ou
MHI OQ
RVV
M
C1digo Q$0
M
Hsa n2mero adicional0
M
.ormatoB Q$ WendereoX
M
Ri*ide o conte2do corrente do registrador AU
pelo *alor armazenado na posio de mem1ria
WendereoX6 e dei5a o resultado no pr1prio AU0
M
O conte2do da posio de mem1ria WendereoX
permanece inalterado0
M
E5emploB
M
Q$ OQ
ou
RVV OQ
HAIG
M
C1digo NN0
M
4o usa n2mero adicional0
M
.ormatoB NN
M
Encerra a e5ecuo do programa e de*ol*e o
controle para o sistema operacional0
M
E5emploB
M
NN
ou
HAIG
ConLunto completo de instru@es
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
IOAR OQ &%& OQ
ARR O% QN O%
ARRV N& "" N&
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
$%PU& 25 71 25
V4PHG O% !& O%
IOAR OQ &%& OQ
ARR O% QN O%
ARRV N& "" N&
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
$%PU& 26 71 26
IOAR OQ &%& OQ
ARR O% QN O%
ARRV N& "" N&
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
'()* 25 161 25
ARR O% QN O%
ARRV N& "" N&
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
IOAR OQ &%& OQ
)** 26 50 26
ARRV N& "" N&
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
IOAR OQ &%& OQ
ARR O% QN O%
)**$ 01 44 01
?GORE O! &%N O!
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
IOAR OQ &%& OQ
ARR O% QN O%
ARRV N& "" N&
"&(+! 27 160 27
OHGPHG O! !O O!
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
E5emplo de programa
V4PHG OQ !& OQ
V4PHG O% !& O%
IOAR OQ &%& OQ
ARR O% QN O%
ARRV N& "" N&
?GORE O! &%N O!
(U&PU& 27 72 27
HAIG NN
Iinguagem de montagem Iinguagem de m/Duina
Res*io do flu5o
.lu5o normalB seDJencial
NN ;;; primeiro esta#
N& ;;; depois esta#
NO ;;; etc#
N$ ;;;
N" ;;;
NQ Z;;
N% Z;;
N! ;;;
Res*io do flu5o
.lu5o des*iadoB uma instruo indica Dual de*e ser a
pr15ima a ser e5ecutada
NN ;;; primeiro esta#
N& ;;; depois esta#
NO ;;; e5ecuta a instruo Due est/ no endereo Q#
N$ ;;;
N" ;;;
NQ ;;; depois esta[[#
N% ;;;
N! ;;;
Res*io do flu5o
.lu5o des*iadoB pode ser CO4RVCVO4AI ou
V4CO4RVCVO4AI
NN ;;; primeiro esta#
N& ;;; depois esta#
NO ;;; V\ PARA a instruo Due est/ no endereo Q#
N$ ;;;
N" ;;;
NQ ;;; depois esta[[#
N% ;;;
N! ;;;
Res*io do flu5o
.lu5o des*iadoB pode ser CO4RVCVO4AI ou
V4CO4RVCVO4AI
NN ;;; primeiro esta#
N& ;;; depois esta#
NO ;;; V\ PARA a instruo Due est/ no endereo Q ?E'''#
N$ ;;;
N" ;;;
NQ ;;; depois esta[[#
N% ;;;
N! ;;;
]PO?
M
C1digo &O!0
M
Hsa n2mero adicional0
M
.ormatoB &O! WendereoX
M
?e AUXN6 faz com Due a pr15ima instruo a ser
e5ecutada seLa aDuela Due est/ armazenada na
posio de mem1ria WendereoX0 caso contr/rio6
e5ecuta a instruo seguinte0
M
E5emploB
M
&O! OQ
ou
]PO? OQ
]^ERO
M
C1digo &OP0
M
Hsa n2mero adicional0
M
.ormatoB &OP WendereoX
M
?e AU=N6 faz com Due a pr15ima instruo a ser
e5ecutada seLa aDuela Due est/ armazenada na
posio de mem1ria WendereoX0 caso contr/rio6
e5ecuta a instruo seguinte0
M
E5emploB
M
&OP OQ
ou
]^ERO OQ
E5emplo de programa
NN V4PHG OQ !& OQ
NO V4PHG O% !& O%
N" IOAR OQ &%& OQ
N% ?HY O% Q& O%
NP ]PO? &$ &O! &$
&N OHPHG O% !O O%
&O HAIG NN
&$ OHGPHG OQ !O OQ
&Q HAIG NN
Retermina o maior de dois n2meros informados
pelo usu/rio
Riferenas para um
computador real
M
Cuantidade de posi@es de mem1ria0
M
Cuantidade de +its de cada posio de mem1ria0
M
Cuantidade e *ariedade de instru@es0
M
Velocidade de e5ecuo0
M
Vmplementao em hardware0
M
Variedade de dispositi*os de entrada e de sada'
M
?istema +in/rio
M
& +it = N ou & menor unidade de informao#
M
& +Kte = P +its
M
& _iloYKte = &_Y = &'NO" +Ktes
M
&'NO" = O
&N
M
& MegaYKte = &MY = &'NO" _iloYKtes = &'NO"`&'NO"
+Ktes - & milho de +Ktes
M
& 3igaYKte = & 3Y = &'NO" MegaYKtes =
&'NO"`&'NO"`&'NO" +Ktes - & +ilho de +Ktes
M
Yits6 YKtes6 Herz6 '''
M
_ilo6 Mega6 3iga6 Gera'''
Hnidades
M
?istema decimalB
5Kz =
5`&NN > K`&N > z`& =
5`&N
O
> 5`&N
&
> 5`&N
N

?istema +in/rioB
5Kz =
5`" > K`O > z`& =
5`O
O
> 5`O
&
> 5`O
N

?istemas de numerao
M
?istema decimalB
5Kz =
5`&NN > K`&N > z`& =
5`&N
O
> 5`&N
&
> 5`&N
N

?istema +in/rioB
5Kz =
5`" > K`O > z`& =
5`O
O
> 5`O
&
> 5`O
N

?istemas de numerao
M
?istema decimalB
Q&P
&N
=
Q`&NN > &`&N > P`& =
Q`&N
O
> &`&N
&
> P`&N
N
?istema +in/rioB
&N&
O
=
&`" > N`O > &`& =
&`O
O
> N`O
&
> &`O
N
= Q
&N
?istemas de numerao
E5erccio
M
.azer um programa paraB
Calcular a ,uantidade de ra-.o necess/ria
0ara alimentar 1 2acas e 3 4e5erros durante 6
dias7 sa4endo ,ue cada 2aca consome M 89
0or dia e cada 4e5erro consome % 89 0or dia:
M
Iigar o computador0
M
Carregar o simulador0
M
Rigitar o programa0
M
Conferir o resultado da e5ecuo com os seguintes
*aloresB
10 2acas7 6 4e5erros7 389;2aca;dia7 1
89;4e5erro;dia7 30 dias<