Académique Documents
Professionnel Documents
Culture Documents
Hardware
Professor Marcus Vincius Midena Ramos
(74)3614.1936
marcus.ramos@univasf.edu.br
www.univasf.edu.br/~marcus.ramos
Computador
Ferramenta
indispensvel;
Faz parte das nossas
vidas;
Por si s no faz nada
de til;
Grande capacidade de
resoluo de
problemas;
Necessita ser
instrudo.
Computador
Capaz apenas de excutar
poucas tarefas bsicas
distintas, todas muito
simples;
extremamente rpido;
Possui um comportamento
previsvel;
excelente para reproduzir
roteiros pr-concebidos;
No se cansa e pode ser
usado exausto.
Computador =
Hardware (corpo) +
Software (alma)
O corpo fornece suporte para a
alma.
O corpo procura suprir as
necessidades da alma.
O corpo pode criar novas
possibilidades para a alma, ou ento
estabeldcer limitaes.
A alma se expressa atravs do
corpo.
A alma usa os recursos do corpo.
Computador
Hardware:
Parte intangvel:
conhecimentos e idias que
fazem o hardware exibir
um certo comportamento.
Quanto mais usado, menos
propenso falhas.
Confere funcionalidade ao
hardware.
Pode ser adquirido ou
desenvolvido.
Modelo de von Neumann
Matemtico hngaro;
Props um modelo de arquitetura composto por
quatro partes distintas;
Nesse modelo, o programa a ser executado pelo
computador ficava armazenado na memria do
mesmo;
Grande flexibilidade e rapidez, pois o hardware no
precisa ser modificado e no precisava ser lido em
cartes perfurados;
A maioria dos computadores modernos adota essa
arquitetura.
Modelo de von Neumann
Cincia x Tecnologia
Evoluo cientfica x tecnolgica
Exemplo do automvel
Modelo de von Neumann
Memria
Unidade Central de
Entrada Sada
Processamento
Modelo de von Neumann
Memria
Unidade Central de
Entrada Sada
Processamento
Modelo de von Neumann
Unidade Central de Processamento (UCP ou
CPU):
L, decodifica e executa as instrues armazenadas
na memria;
Realiza operaes lgicas e aritmticas;
Pode ler modificar o valor de alguma posio de
memria;
Pode transferir valores da entrada para a memria e
da memria para a sada;
Executa as instrues seqencialmente, at o
trmino do programa ou at encontrar algum
desvio explcito.
Modelo de von Neumann
Memria
Unidade Central de
Entrada Sada
Processamento
Modelo de von Neumann
Memria:
dividida em clulas (bytes)
Cada clula armazena um valor e possui um
endereo;
comandada pela CPU, que informa em qual
endereo deseja executar uma operao (de leitura
ou escrita);
Operaes de leitura no modificam os valores
armazenados;
Operaes de escrita apagam os valores anteriores,
substituindo-os pelos novos valores;
Exemplo de memria com 10 posies;
As posies so numeradas 0 a 9;
Valores permanecem at que um novo valor seja
armazenado na mesma posio ou at que a
memria seja desligada.
Endereos
0 1 2 3 4 5 6 7 8 9
10 28 93 55 72 15 6 52 245 199
Valores
Operao de leitura
Endereos
0 1 2 3 4 5 6 7 8 9
10 28 93 55 72 15 6 52 245 199
Valores
Operao de escrita
0 1 2 3 4 5 6 7 8 9
10 28 93 55 72 15 6 X
52 245 199
0 1 2 3 4 5 6 7 8 9
10 28 93 55 72 15 6 31 245 199
Modelo de von Neumann
Memria
Unidade Central de
Entrada Sada
Processamento
Modelo de von Neumann
Entrada e Sada:
Sob comando da CPU, possvel ler valores de um
dispositivo de entrada, armazenando-os na
memria;
Sob comando da CPU, possvel ler valores da
memria, enviando-os para um dispositivo de sada;
Existe uma grande variedade de dispositivos de
entrada e sada;
Conceitualmente, no entanto, eles so passivos e
obedecem ao comando da CPU.
Modelo de von Neumann
Os dados e os programas so
armazenados na memria, em regies
distintas;
Um programa composto por uma
coleo de instrues que so lidas e
executadas em seqncia.
Modelo de von Neumann
Programa Dados
Unidade Central de
Entrada Sada
Processamento
Modelo de von Neumann
Os programas so formados,
essencialmente, por comandos
(instrues sobre o que fazer);
As instrues so muito simples e
executadas muito rapidamente;
Modelo de von Neumann
Programa Dados
01 ---
02 ---
03 ---
04 ---
...
Modelo de von Neumann
As instrues so lidas
seqencialmente da memria, uma
aps a outra;
Uma instruo pode (i) ler um valor da
entrada; (ii) enviar um valor para a
sada; (iii) gerar um novo valor; (iv)
indicar o endereo da prxima
instruo a ser executada.
Modelo de von Neumann
01 ---
02 ---
03 ---
04 ---
...
Modelo de von Neumann
Programa Dados
01 ---
02 ---
03 ---
04 ---
...
Modelo de von Neumann
Programa Dados
01 ---
02 ---
03 ---
04 ---
...
Modelo de von Neumann
Programa Dados
01 ---
02 ---
03 ---
04 ---
...
Modelo de von Neumann
Exemplos de evoluo tecnolgica:
Velocidade da CPU;
Quantidade de registradores;
Quantidade de bits maniupulados
simultaneamente;
Quantidade de posies de memria;
Velocidade de acesso memria;
Tamanho do computador;
Consumo de energia;
Preo do computador;
Possibilidade de expanso do computador;
Diversificao dos dispositivos de entrada e sada.
Exemplo
Simple Computer Simulator:
13 instrues
100 posies de memria
As posies de memria so endereadas 00 a
99
Funciona no browser:
http://community.vcsu.edu/facultypages/curt.
hill/My_Webpage/simulators.htm
Exemplo
Simple Computer Simulator:
AX: registrador interno CPU (nico);
PC: contm o endereo da primeira instruo a
ser executada;
Delay: intervalo de tempo entre a execuo de
instrues consecutivas;
Run: executa o programa at o fim;
Single step: executa apenas uma instruo
(indicada pelo PC).
Instrues
Cada instruo tem um nome;
Para a mquina, nomes nada significam;
Nomes precisam ser traduzidos para nmeros;
Linguagem de Montagem x Linguagem de
Mquina;
Cada instruo tem um nmero;
A maioria das instrues tem um complemento
(dois nmeros), outras usam apenas um nmero;
LOAD
Cdigo 161;
Usa nmero adicional;
Formato: 161 <endereo>
Copia o valor armazenado na posio de memria
<endereo> para o registrador AX;
O valor anterior de AX perdido;
O valor da posio de memria <endereo>
permanece inalterado;
Exemplo:
161 25
ou
LOAD 25
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
LOAD 25
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
LOAD 25
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
LOAD 25 17
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
17
STORE
Cdigo 160;
Usa nmero adicional;
Formato: 160 <endereo>
Copia o valor armazenado no registrador AX para
a posio de memria <endereo>;
O valor anterior da posio de memria
<endereo> perdido;
O valor de AX permanece inalterado;
Exemplo:
160 25
ou
STORE 25
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 4
STORE 26 17
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 17
STORE 26 17
Modelo de von Neumann
Programa Dados
LOAD 25
STORE 26 25 17
26 17
17
INPUT
Cdigo 71;
Usa nmero adicional;
Formato: 71 <endereo>
Aguarda o usurio digitar um nmero e depois
armazena o mesmo na posio de memria
<endereo>;
O valor anterior da posio de memria
<endereo> perdido;
O valor de AX permanece inalterado;
Exemplo:
71 25
ou
INPUT 25
Modelo de von Neumann
Programa Dados
INPUT 25
25 17
26 4
INPUT 25 17
Modelo de von Neumann
Programa Dados
INPUT 25
25 17
26 4
INPUT 25 17
Modelo de von Neumann
Programa Dados
INPUT 25
25 17
26 4
74 INPUT 25 17
Modelo de von Neumann
Programa Dados
INPUT 25
25 74
26 4
74 INPUT 25 17
OUTPUT
Cdigo 72;
Usa nmero adicional;
Formato: 72 <endereo>
Envia o valor armazenado na posio de memria
<endereo> para o dispositivo de sada;
O valor da posio de memria <endereo>
permanece inalterado;
O valor de AX permanece inalterado;
Exemplo:
72 25
ou
OUPUT 25
Modelo de von Neumann
Programa Dados
OUTPUT 26
25 17
26 4
OUTPUT 26 17
Modelo de von Neumann
Programa Dados
OUTPUT 26
25 17
26 4
OUTPUT 26 17
Modelo de von Neumann
Programa Dados
OUTPUT 26
25 17
26 4
OUTPUT 26 17 4
ADDI
Cdigo 44;
Usa nmero adicional;
Formato: 44 <valor>
Soma o contedo corrente do registrador AX com
<valor>, e deixa o resultado no prprio AX;
Exemplo:
44 01
ou
ADDI 01
Modelo de von Neumann
Programa Dados
ADDI 05
25 17
26 4
ADDI 05 17
Modelo de von Neumann
Programa Dados
ADDI 05
25 17
26 4
ADDI 05 22
SUBI
Cdigo 45;
Usa nmero adicional;
Formato: 45 <valor>
Subtrai do contedo corrente do registrador AX
<valor>, e deixa o resultado no prprio AX;
Exemplo:
45 01
ou
SUBI 01
ADD
Cdigo 50;
Usa nmero adicional;
Formato: 50 <endereo>
Soma o contedo corrente do registrador AX com
o valor armazenado na posio de memria
<endereo>, e deixa o resultado no prprio AX;
O contedo da posio de memria <endereo>
permanece inalterado;
Exemplo:
50 25
ou
ADD 25
Modelo de von Neumann
Programa Dados
ADD 26
25 17
26 4
ADD 26 17
Modelo de von Neumann
Programa Dados
ADD 26
25 17
26 4
ADD 26 17
Modelo de von Neumann
Programa Dados
ADD 26
25 17
26 4
ADD 26 21
SUB
Cdigo 51;
Usa nmero adicional;
Formato: 51 <endereo>
Subtrai do contedo corrente do registrador AX o
valor armazenado na posio de memria
<endereo>, e deixa o resultado no prprio AX;
O contedo da posio de memria <endereo>
permanece inalterado;
Exemplo:
51 25
ou
SUB 25
MUL
Cdigo 52;
Usa nmero adicional;
Formato: 52 <endereo>
Multiplica o contedo corrente do registrador AX
pelo valor armazenado na posio de memria
<endereo>, e deixa o resultado no prprio AX;
O contedo da posio de memria <endereo>
permanece inalterado;
Exemplo:
52 25
ou
MUL 25
DIV
Cdigo 53;
Usa nmero adicional;
Formato: 53 <endereo>
Divide o contedo corrente do registrador AX
pelo valor armazenado na posio de memria
<endereo>, e deixa o resultado no prprio AX;
O contedo da posio de memria <endereo>
permanece inalterado;
Exemplo:
53 25
ou
DIV 25
HALT
Cdigo 00;
No usa nmero adicional;
Formato: 00
Encerra a execuo do programa e devolve o
controle para o sistema operacional;
Exemplo:
00
ou
HALT
Conjunto completo de instrues
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Exemplo de programa
Linguagem de montagem Linguagem de mquina
INPUT 25 71 25
INPUT 26 71 26
LOAD 25 161 25
ADD 26 50 26
ADDI 01 44 01
STORE 27 160 27
OUTPUT 27 72 27
HALT 00
Desvio do fluxo
Fluxo normal: seqencial
Sistema binrio:
xyz =
x*4 + y*2 + z*1 =
x*22 + x*21 + x*20
Sistemas de numerao
Sistema decimal:
xyz =
x*100 + y*10 + z*1 =
x*102 + x*101 + x*100
Sistema binrio:
xyz =
x*4 + y*2 + z*1 =
x*22 + x*21 + x*20
Sistemas de numerao
Sistema decimal:
51810 =
5*100 + 1*10 + 8*1 =
5*102 + 1*101 + 8*100
Sistema binrio:
1012 =
1*4 + 0*2 + 1*1 =
1*22 + 0*21 + 1*20 = 510
Exerccio
Fazer um programa para:
Calcular a quantidade de rao necessria
para alimentar X vacas e Y bezerros durante Z
dias, sabendo que cada vaca consome M Kg
por dia e cada bezerro consome N Kg por dia;
Ligar o computador;
Carregar o simulador;
Digitar o programa;
Conferir o resultado da execuo com os seguintes
valores:
10 vacas, 6 bezerros, 3Kg/vaca/dia, 1
Kg/bezerro/dia, 30 dias.