Buscar

Funcionamento de uma UCP

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Funcionamento de uma UCP simples
Introdução à Computação
Prof. Antonio Atta
Estrutura Interna da UCP Simples
ULA
Unidade Lógica e Aritmética – Responsável pela execução dos cálculos com os dados; é onde, de fato, as informações são processadas para gerar novas informações.
UC
Unidade de Controle – Responsável pelo gerenciamento do funcionamento dos outros elementos da UCP; é o “cérebro” da UCP que coordena a execução das instruções.
Estrutura Interna da UCP Simples
ULA
Registradores de Uso Geral – Pequenas memórias internas à UCP que armazenam dados do usuário enquanto estes estão em processamento na UCP.
UC
...
R0
Rn
RI
Registrador de Instrução – Registrador de uso específico da UCP; armazena o código da instrução a ser decodificado pela UC para que esta tome as decisões necessárias à sua execução.
CI
Contador de Instrução – Registrador de uso específico da UCP; armazena o endereço da próxima instrução a ser executada.
Estrutura Interna da UCP Simples
ULA
UC
R0
RI
CI
...
Rn
RDM
REM
Registrador de Endereço de Memória– Registrador de uso específico da UCP; armazena o endereço da posição de memória que a UCP deseja ler/escrever.
Registrador de Dados de Memória– Registrador de uso específico da UCP; armazena o dado que foi lido da memória ou que será escrito na memória.
Estrutura Interna da UCP Simples
ULA
UC
R0
RI
CI
...
Rn
RDM
REM
Relógio – Gerador de pulsos (onda quadrada) de frequência constante que é usado pela UC para cadenciar a execução das diversas fases do ciclo de execução de uma instrução.
Relógio
Barramentos Internos – Feixes de fios paralelos que viabilizam a comunicação de dados entre os elementos internos da UCP.
Barramento de Controle
Estrutura Interna da UCP Simples
ULA
UC
R0
RI
CI
...
Rn
RDM
REM
Barramentos Externos à UCP – Feixes de fios que viabiliazam a comunicação de dados e sinais de controle da UCP com a memória e com outros comonentes do computador.
Relógio
Barr End Mem
Barr Dados Mem
Toda UCP executa as instruções de um programa que estão armazenadas na memória principal repetindo o seguinte ciclo de ações:
Busca da (próxima) instrução na memória
Decodificação da instrução
Busca de dados na memória (se necessário)
Execução da instrução
Armazenamento dos resultados na memória (se necessário)
Ciclo de Execução da Instrução
Vamos observar o que acontece dentro da UCP quando ela executa uma instrução simples como:
Vamos considerar que as variáveis A, B e C estejam ocupando os endereços 500, 501 e 502, respecti-vamente, de memória
Exemplo de Execução de uma Instrução
A = B + C
A=B+C é uma instrução muito complexa para a UCP e precisa ser “quebrada” em 3 instruções mais simples:
R0 é um dos registradores internos disponíveis para serem usados pelo programador
Exemplo de Execução de uma Instrução
Carregue R0, B
Some 	 R0, C
Armazene A, R0
9
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
Primeiro Ciclo do Relógio – Busca da Instrução 
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barr Dados Mem
Barramento de Controle
1000
1000
1000
1000
1000
CIout , REMin,
 LER, INC
Sinal de LEITURA
1001
1000
Relógio
+1
1000
11
1000
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1001
1001
1000
1000
1001
Relógio
Segundo Ciclo do Relógio – Busca da Instrução 
1001
ULAout , 
CIin
Barr Dados Mem
Sinal de LEITURA
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
1000
LEITURA
Carregue R0,501
Carregue R0, 501
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1001
1000
1000
1001
Carregue R0, 501
Carregue R0, 501
Carregue R0, 501
Relógio
Carregue R0, 501
RDMout , 
RIin
Terceiro Ciclo do Relógio – Decodificação 
Barr Dados Mem
1000
Quarto Ciclo do Relógio – Busca de Dados
Carregue R0, 501
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1001
1000
1001
Carregue R0, 501
 501
Relógio
Carregue R0, 501
RIout , REMin,
LER
 501
 501
501
501
Sinal de LEITURA
Barr Dados Mem
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
501
LEITURA
5
Quinto Ciclo do Relógio – Execução
501
5
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1001
1001
5
Relógio
Carregue R0, 501
RDMout ,
R0in
501
Barr Dados Mem
5
5
5
Sexto Ciclo do Relógio – Busca da Instrução 
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1001
1001
1001
1001
1001
CIout , REMin,
 LER, INC
Sinal de LEITURA
1002
1001
Relógio
Barr Dados Mem
5
+1
1001
Sétimo Ciclo do Relógio – Busca da Instrução 
1001
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
1002
1001
1001
1002
Relógio
1002
ULAout , 
CIin
Barr Dados Mem
5
Sinal de LEITURA
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
1001
LEITURA
Some R0, 502
Oitavo Ciclo do Relógio – Decodificação 
Some R0, 502
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
1001
1001
1002
Some R0, 502
Some R0, 502
Some R0, 502
Relógio
Some R0, 502
RDMout , 
RIin
Barr Dados Mem
5
Nono Ciclo do Relógio – Busca de Dados
1000
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
1000
1002
Some R0, 502
 502
Relógio
Some R0, 502
RIout , REMin,
LER
 502
 502
502
502
Sinal de LEITURA
5
Some R0, 502
Barr Dados Mem
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
502
LEITURA
 3
Décimo Ciclo do Relógio – Execução
502
3
Some R0, 502
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
1002
3
Relógio
Some R0, 502
R0out ,
ULAin
502
5
5
Barr Dados Mem
5
5
5
Décimo Primeiro Ciclo do Relógio – Execução
502
3
Some R0, 502
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
8
3
Relógio
Some R0, 502
RDMout ,
ULAin, SOME
502
3
5
5
Barr Dados Mem
3
3
3
+
Décimo Segundo Ciclo do Relógio – Execução
502
3
Some R0, 502
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
8
3
Relógio
Some R0, 502
ULAout ,
R0in
502
8
8
5
3
Barr Dados Mem
8
502
Décimo Terceiro Ciclo do Relógio – Busca da Instrução 
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1002
1002
1002
1002
1002
CIout , REMin,
 LER, INC
Sinal de LEITURA
1003
1002
Relógio
Barr Dados Mem
3
3
8
Some R0, 502
1002
+1
Décimo Quinto Ciclo do Relógio – Busca da Instrução 
1002
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1003
1003
1002
1002
1003
Relógio
1003
ULAout , 
CIin
8
Barr Dados Mem
3
Sinal de LEITURA
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue R0,B
Some R0,C
Armazene A,R0
Barr End Mem
Barr Dados Mem
Barr de Ctrl
1002
LEITURA
 Armaz 500,R0
3
Décimo Quarto Ciclo do Relógio – Decodificação
Armaz 500, R0
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1003
1002
1002
1003
Armaz 500, R0
Armaz 500, R0
Relógio
Armaz 500, R0
RDMout , 
RIin
8
Barr Dados Mem
Armaz 500 , R0
Décimo Quinto Ciclo do Relógio – Execução
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1003
1002
500
1003
Armaz 500 R0
500
 500
Relógio
Armaz 500, R0
RIout , 
REMin
8
500
Barr Dados Mem
Décimo Quinto Ciclo do Relógio – Execução
...
UC
ULA
RI
CI
R0
Rn
RDM
REM
Barr End Mem
Barramento de Controle
1003
500
500
1003
Armaz 500 R0
8
 8
Relógio
Armaz 500, R0
R0out , 
RDMin, ESCREVER
8
8
Barr Dados Mem
Sinal de ESCRITA
8
Memória Principal
0
1
2
3
4
5
6
7
8
9
0
1
2
50
10
5
3
51
52
100
101
102
Carregue B
Some C
Armazene A
Barr End Mem
Barr Dados Mem
Barr de Ctrl
500
8
ESCRITA
8

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando