Escolar Documentos
Profissional Documentos
Cultura Documentos
giovanni@coinfo.cefetpb.br
3
INTERFACE
ENTRADA
INSTRUÇÕES
ÁREA ÁREA
DE DE
PROGRAMA DADOS FLUXO DE CONTROLE
5
Fluxo de Informação
INTERFACE
ENTRADA
CPU
R RELÓGIO
ULA E INTERFACE
G
UC SAÍDA
INSTRUÇÕES
ÁREA ÁREA
DE DE
PROGRAMA DADOS FLUXO DE CONTROLE
MEMÓRIA
6
Fluxo de Informação
(Fluxo de Controle)
CPU Memória:
ULA R RELÓGIO componente
E
G
UC passivo.
Iniciativa da
INSTRUÇÕES CPU
ÁREA ÁREA
DE DE DADOS: RG
PROGRAMA DADOS DA ULA
MEMÓRIA ENDEREÇO:
7
RG DA UC
Fluxo de Informação
(Fluxo de Controle)
INTERFACE
ENTRADA
CPU
R RELÓGIO
ULA E INTERFACE
G
UC SAÍDA
9
Fluxo de Informação
(Fluxo de Dados)
• Área de Programas UC:
– Instruções do programa UC
– UC identifica a instrução e gera os
controles apropriados para a execução da
instrução específica.
RELÓGIO
UC
INSTRUÇÕES
ÁREA ÁREA
DE DE
PROGRAMA DADOS
MEMÓRIA 10
Fluxo de Informação
(Fluxo de Dados)
Área de dados
Registradores
CPU
R RELÓGIO
da ULA:
ULA E Assim, dados
G
UC que fazem
parte da
operação são
INSTRUÇÕES enviados para
ÁREA ÁREA ULA e o
DE DE resultado da
PROGRAMA DADOS operação é
MEMÓRIA
armazenado
na área de 11
dados.
Fluxo de Informação
(Fluxo de Dados)
12
Fluxo de Informação
(Fluxo de Dados)
1
CPU
R RELÓGIO
ULA E INTERFACE
G
UC SAÍDA
1- ENTRADA
3
INSTRUÇÕES 2 – REG. ULA para
ÁREA
SAÍDA
DE
DADOS OU
MEMÓRIA
3- REG. ULA para
MEMÓRIA DE
14
DADOS
ADM – ACESSO DIRETO À MEMÓRIA
• O ADM visa melhorar a performance geral do micro,
permitindo que os periféricos transmitam dados diretamente
para a memória (e vice-versa), ou seja, leitura e escrita na
memória, poupando o processador de mais esta tarefa (A
CPU fica liberada para efetuar outras tarefas)
• Permite aos dispositivos de hardware responsáveis por
entrada e saída de dados o acesso à memória diretamente,
ou seja, sem a necessidade de requisitar acesso por
intermédio do processador
• Por serem muito lentos, os canais de ADM são utilizados
apenas por periféricos lentos, como drives de disquete,
placas de som, controladores de disco, placas gráficas e 15de
rede.
ADM – ACESSO DIRETO À MEMÓRIA
• Existem 8 portas de ADM, sendo que dois dispositivos
não podem compartilhar o mesmo canal DMA, pois
haverá um conflito.
• DMA 0 - Disponível
• DMA 1- Placa de Som
• DMA 2 - Controladora de drives de disquetes
• DMA 3 - Porta paralela padrão ECP
• DMA 4 - Reservado à placa mãe
• DMA 5 - Placa de Som
• DMA 6 - Disponível
16
• DMA 7 - Disponível
Fluxo de Informação
INTERFACE (ADM)
ENTRADA Transferência
• Tranferência (da para a memória
memória – leitura, e
para memória -
escrita) mais rápida, INTERFACE
pois evita a passagem SAÍDA
dos dados pela ULA.
INSTRUÇÕES
ÁREA
DE Transferencia
DADOS da memória
MEMÓRIA
17
Barramento
MEMÓRIA
CPU BARRAMENTO DE ENDEREÇOS
UC
BARRAMENTO DE CONTROLE
ULA
BARRAMENTO DE DADOS
INTERFACES
DISPOSITIVO DISPOSITIVO
DE SAÍDA DE ENTRADA 18
Processador, Computador e Sistema
Computacional
19
Processador, Computador e Sistema
Computacional
20
Memória
• Registradores da UCP;
• Memória principal (RAM, ROM,
CACHE)
– Aquela acessada diretamente pela ULA
• Memória auxiliar ou secundária (disco,
fitas magnéticas).
21
Memória principal
22
endereço Memória principal
0
1
2 Memória de 12
3 células
4
5
6 células
7
8
9
10
11
23
8 bits
Memória principal
24
• Acesso à memória pelo endereço
25
Acesso à memória pelo endereço
26
Esquema de acesso a uma palavra de memória
Decodificador de endereço
http://www.ee.pucrs.br/~vargas/Disciplinas/Arquitet 27
ura_I/Cap-5-6.pdf
Esquema de acesso a uma palavra de memória
28
Ciclo de memória
• Corresponde a um acesso à memória
– Ciclo de leitura
– Ciclo de escrita
29
Ciclo de leitura
Pulso Microoperação
1 REMendereço
2 leitura:
RDM (REM)
ou RDM (m )
3 UCP (RDM)
onde m é um endereço
de uma posição de
memória
32
Memória Cache
• O processador é mais rápido que a memória RAM.
34
Memória Cache
• Características:
– Pequena (na ordem de Megabytes - 106 byte)
– Acesso rápido
– Cara 35
Memória Cache
36
Unidade Aritmética e Lógica - ULA
• Modelo Estrutural
38
ULA - Máquina de 3 endereços
39
ULA - Máquina de 3 endereços
Máquina de 3 endereços:
Adição : R = S1 + S2 R (S1) + (S2)
Formato da instrução
41
ULA - Máquina de 2 endereços
42
ULA - Máquina de 2 endereços
Adição : R = S1 + S2 R (S1) + (S2)
Formato da instrução
44
ULA - Máquina de 1 endereço
45
ULA - Máquina de 1 endereço
Adição : R = S1 + S2 R (S1) + (S2)
Formato da instrução
50
Unidade de Controle - UC
51
Registrador de Instruções - RI
• Armazena a instrução extraída da memória para
que a informação nela contida seja utilizada pelo
controlador durante a sua execução
RI Código de
Operação
ou decodificador
CONTROLADOR ou seqüenciador
52
Registrador de Instruções - RI
• Cada sinal de controle comando uma
microoperação
• Como já foi visto, estes sinais de controle
(microcomandos) ativam as microoperações
correspondentes, como a seguir:
54
Registrador Contador de Programa - PC
Máquina de 4 endereços (sem PC – Program Counter):
• O endereço da próxima instrução fazia parte da
própria instrução, assim não é necessário o PC –
Program Counter;
• Alto custo e complexidade de controle
• Como normalmente os programas são escritos
sequencialmente, isto é, uma instrução seguindo a
anterior, surgiu a arquitetura de 3 endereços, com
um registrador específico, o PC – Program Counter,
apontando para a instrução seguinte a ser executada.
56
Registrador Contador de Programa - PC
57
Registrador de Estado
• Pogram Status Word, PSW, armazena
informações relevantes ao funcionamento da UCP,
entre elas, os “Flags”.
• Em função do conteúdo desse registrador, a UC
toma decisões sobre a geração ou não de certos
sinais de controle
C.C
PSW Z N O C
60
Tipos de Instrução
– Instrução de desvio
• Função: desviar o fluxo do programa,
alterando o conteúdo do PC
• Ex.: JMP, Jcond, JSR - salto para sub-rotina,
• Ex.: RET - retorno de sub-rotina,
– Instruções de Entrada/Saída
• Função: realiza a comunicação entre CPU e as
interfaces de E/S
• Ex.: IN port Acc (port)
61
Tipos de Instrução
– Miscelânea
1. Função: manipular bits
Ex.: BTST D1,D2; testa em D2 o bit indicado em D1
2. Função: manipular campos no registrador de
estado
Ex.: MOVE D0,SR; transfere o dado em D0 para o
registrador de estado aqui denominado SR (status
Register)
62
Tipos de Instrução
• Instrução de desvio
JMP Endereço
ou da próxima
Jcond instrução
• JMP end PC end (desvio incondicional)
• Jcond end Se cond = true, PC end (desvio condicional)
Se não, PC endereço da próxima
instrução
63
Comprimento de instrução
64
Comprimento de instrução
• Instruções de 1 palavra:
– MOVE R1,R2; R2(R1)
C.O R1 R2
65
Comprimento de instrução
• Instruções de 2 palavras:
– ADI dado; Acc (Acc ) + dado
C.O
dado
66
Comprimento de instrução
• Instruções de 2 palavras:
– ADD X; Acc (Acc ) + X
C.O
endereço de X
67
Comprimento de instrução
• Instruções de 3 palavras:
– ADD X,Y; Y (X) + (Y)
C.O
endereço de X
endereço de Y
68
Comprimento de instrução
• Instruções de 3 palavras:
– ADD #dado,X; X (X) + dado
C.O
dado
endereço de X
69
Comprimento de instrução
• Quantidade de palavras de uma instrução
determina a quantidade de ciclos de
memória necessários para a leitura da
instrução.
• Primeira palavra - C.O
70
Execução de Instruções
Passos da CPU (busca-decodifica-executa):
1. Busca a próxima instrução da memória para o registrador
de instrução;
2. Atualiza o contador de programa para que ele aponte para
a instrução seguinte;
3. Determina o tipo da instrução;
4. Se a instrução usa dados da memória, determina onde eles
estão;
5. Busca os dados, se houver algum, para registradores
internos da CPU;
6. Executa a instrução;
7. Armazena os resultados em locais apropriados;
8. Volta ao passo 1 para iniciar a execução da próxima
instrução. 71
Execução de Instrução
72
Execução de Instrução
• A instrução é inicialmente acessada na memória e
transferida para o interior da CPU, mais
especificamente no RI (que está na UC).
• Uma vez no RI, a instrução é interpretada por um
circuito decodificador. Finalmente, ela é
executada. A seqüência apropriada de sinais é
gerada pela unidade de controle, resultando nas
transferências de dados e operações apropriadas.
73
Execução de Instrução
IP = PC (Program Counter)
74
Execução de Instrução
• A primeira fase é o acesso à instrução ("fetch"):
• o conteúdo do PC é posto no barramento de endereço
e a posição de memória é selecionada (pelo
decodificador de endereço).
• Um comando de leitura é então fornecido à memória.
Após alguns nanosegundos - correspondentes ao
tempo de leitura da memória (ou tempo de acesso) - os
oito bits do dado selecionado por esse endereço se
tornam disponíveis nos pinos de saída da memória e
são propagados no barramento de dados do sistema
(no caso, da direita para a esquerda).
• O dado é encaminhado para o interior do chip CPU até
o registrador de instrução (RI) da unidade de controle,
completando assim o ciclo de fetch.
• Note que a instrução é transferida pelo barramento de75
dados.
Execução de Instrução
• Os dois ciclos seguintes são a decodificação
e a execução. 0 RI é decodificado pela
unidade de controle e os sinais apropriados
são gerados, resultando na execução da
instrução.
76
Execução de Instrução
• Um programa é armazenado como uma
seqüência de instruções em binário
residindo em endereços sucessivos da
memória.
77
Execução de Instrução
• Após uma instrução ser acessada e executada, o
registrador PC deve ser atualizado. Esse problema é
resolvido incrementando-se ( +1) o PC. Assim, cada vez
que o PC é usado (ísto é, seu conteúdo é utilizado) seu
valor é automaticamente incrementado e carregado no
PC.
• A próxima vez que o PC for utilizado ele estará
apontando para o próximo byte na memória, isto é, para
a próxima instrução ou para o próximo byte de uma
instrução, se essa instrução usa dois ou mais bytes
(pode ser um operando da instrução). O incremento é
mostrado como +1.
• Se a instrução tiver 2 endereços, após o incremento o
PC irá apontar para o primeiro endereço e após78 o
segundo incremento, para o segundo endereço.
Exemplo de execução de instrução
• STA R R (Acc) ; STA: STore Acumulator –
transferência do acumulador para a memória
• end: endereço da memória onde vai ser armazenado o
conteúdo do acumulador
• Exemplo 1: STA end end(Acc)
C.O
endereço
Execução da instrução:
1° ciclo de máquina: fase de busca - busca do C.O
2° ciclo de máquina: leitura do endereço
3° ciclo de máquina: transferência do (Acc) para a
memória 79
1° ciclo de máquina: fase de busca - busca do C.O
Pulso Microoperação
1 REM(PC)
2 leitura:
RDM ((REM))
ou RDM (m)
PC (PC)+1
3 RI (RDM)
80
1° ciclo de máquina: fase de busca - busca do C.O
81
2° ciclo de máquina: Leitura do endereço
Pulso Microoperação
1 REM(PC)
2 leitura:
RDM ((REM))
ou RDM (m)
PC (PC)+1
3 Rg (RDM)
82
2° ciclo de máquina: Leitura do endereço
• Note que a próxima instrução (de endereço 32, pois PC=32),
contém o endereço da memória (61- veja figura slide 83) onde
vai ser armazenado o conteúdo do acumulador (201).
• Como é um valor de endereço da memória (61) vai para o RG
da UC para ser utilizado na próxima instrução e não para o
acumulador
84
3° ciclo de máquina: transferência do conteúdo do
acumulador p/ a memória
• No endereço de memória 61 (indicado pela instrução
de PC=32 e depois transferido para o RG da UC), foi
armazenado o conteúdo do acumulador (201)
Situação anterior à execução do Após a execução do 3° ciclo
3° ciclo
PC: 33 1. REM: 61
Acc:201
REM:32 2. RDM:201
Rg:61
RDM:61
RI:48 3. m(61):201
85
Exemplo de execução de instrução
• Exemplo 1: ADD #3,X X(X)+3
C.O
3
X
Execução da instrução:
1° ciclo de máquina: fase de busca - busca do C.O
2° ciclo de máquina: leitura do 1° operando
3° ciclo de máquina: leitura do endereço do 2° operando
4° ciclo de máquina: leitura do 2° operando e operação de
adição
5° ciclo de máquina: armazenamento do resultado 86
1° ciclo de máquina: fase de busca - busca do C.O
Pulso Microoperação
1 REM(PC)
2 leitura:
RDM ((REM))
ou RDM (m)
PC (PC)+1
3 RI (RDM)
87
2° ciclo de máquina: leitura do 1° operando
Pulso Microoperação
1 REM(PC)
2 leitura:
RDM ((REM))
ou RDM (m)
PC (PC)+1
3 Acc (RDM)
Pulso Microoperação
1 REM(PC)
2 leitura:
RDM ((REM))
ou RDM (m)
PC (PC)+1
3 Rg (RDM)
90
5° ciclo de máquina: armazenamento do resultado
Pulso Microoperação
1 REM(Rg)
2 RDM (Acc)
3 escrita:
(REM)(RDM)
ou m (RDM)
91
ARQUITETURA
SIMPLIFICADA
DE UM
COMPUTADOR
92
Operação do computador
• E : Enable (habilita) memória, conecta a memória ao RDM
quando E=1, e desconecta quando E=0
– Quando E=1, a operação pode ser de leitura (R/w =1) ou escrita
R/W =0
• IPC : Incrementa PC (Program Counter)
• TPC : transferência do Conteúdo do PC para o REM
• TRI: Transfere do RI para o REM o conteúdo do campo de
endereço contido no RI
• R/W : Leitura da memória; TRB : transferencia do regis./
barramento;
• TBR: Transferência barramento/registrador (RDM)
• TRB: Transferência registrador (RDM)/barramento
• TB : Transferência barramento / RI
93
Computador simples
7 6 5 4 3 2 1 0
C O
95
Computador simples
No máximo 4 instruções possíveis
Código Mnemônico Instrução
00 STOP Parar
01 ADD end Somar ao Acc o conteúdo do endereço
10 SUB end Subtrair do Acc o conteúdo do endereço
11 STA end Transferir o conteúdo do Acc para endereço
96
Computador simples
100
Operação do computador
Ex. SUB 60 (Subtrair do Acc o conteúdo do
endereço 60)
ciclo de busca
Microoperação Pulso Microcomando
REM(PC) 1 TPC
RDM(m) 2 E, R/W
PC(PC)+1 IPC
RI(RDM) 3 TRB, TB
TPC : transferência do Conteúdo do PC para o REM
R/W : Leitura da memória; E : Enable (habilita) memória
TRB : transferencia do regis./ barramento; TRI: Transferência do RI
101
TB : Transferência barramento / RI; IPC : Incrementa PC
Operação do computador
ciclo de execução
Microoperação Pulso Microcomando
REM(RI. End) 1 TRI
RDM(m) 2 E, R/W
TMP(RDM) 3 TRB, W
_______
TMP(TMP ) 4 C
TMP(TMP)+1 5 I
(Acc)+(TMP) 6 R, R
Acc 7 W
• Pulso 1: Transfere a parte de endereço do operando (6 bits, no caso “60”) do RI para
o REM
• Pulso 2: E – habilita a memória; R/W - Transfere o conteúdo do endereço “60” (
operando “22”) para o RDM
• Pulsos 4 e 5 : complementa (C) e incrementa +1(I) para obter complemento102de 2 do
conteúdo do TMP, para subtrair do conteúdo do acumulador
CONTROLADOR PARA COMPUTADOR DE ARQUITETURA 103
SIMPLIFICADA (UTILIZA REGISTRADORES DE DESLOCAMENTO)
CONTROLADOR PARA COMPUTADOR DE
ARQUITETURA SIMPLIFICADA
105