A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Afonso Ferreira Miguel

Apresentações semelhantes


Apresentação em tema: "Afonso Ferreira Miguel"— Transcrição da apresentação:

1 Afonso Ferreira Miguel
Microprocessador Afonso Ferreira Miguel

2 Transporte de informação;
Microprocessador Princípios: Armazenamento; Transporte de informação; Processamento Lógico-Aritmético.

3 Microprocessador uP A BUS AX BX CX DX tempA tempB IR IP MA MD
Entrada B Saída Z Entrada A IP MA MD

4 Microprocessador Registradores; uP A BUS AX BX CX DX tempA tempB IR IP
Entrada B Saída Z Entrada A IP MA MD

5 Microprocessador Registradores Barramento; uP A BUS AX BX CX DX tempA
tempB IR Entrada B Saída Z Entrada A IP MA MD

6 Microprocessador uP Registradores Barramento;
BUS Registradores Barramento; Unidade Lógico-Aritmética. Observar que são os mesmos princípios do Computador AX BX CX DX tempA tempB IR Entrada A Entrada B IP Saída Z MA MD

7 Registradores A uP BUS Pequenas células de memória que podem armazenar um Byte, Word, DWord. Assim, podemos armazenar um número dentro de cada um. AX BX CX DX tempA tempB IR MA MD Entrada B Saída Z Entrada A IP

8 Barramento Meio de comunicação entre os diversos módulos. uP A BUS AX
BX CX DX tempA tempB IR Entrada B Saída Z Entrada A IP MA MD

9 Transporte de dados A uP BUS Para transportar a informação de um módulo para outro, utilizamos o barramento. Representamos este transporte pela notação reversa: Destino  Origem AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A IP MA MD

10 Transporte de dados A uP BUS Assim, se possuirmos o número 10 em AX e queremos transferir para DX, podemos escrever: DX  AX AX = 10 BX CX DX = 10 DX tempA tempB IR Entrada B Saída Z Entrada A IP MA MD

11 ULA – Unidade Lógico-Aritmética
uP BUS Unidade responsável por realizar operações como Soma (ADD), subtração (SUB), incremento (INC), entre outras... AX BX CX DX tempA tempB IR Entrada A Entrada B IP Saída Z MA MD

12 ULA – Unidade Lógico-Aritmética
Esta unidade sempre recebe um ou dois parâmetros nas Entradas A e B,... Entrada A Entrada B Operação Saída Z

13 ULA – Unidade Lógico-Aritmética
Esta unidade sempre recebe um ou dois parâmetros nas Entradas A e B, e a operação. Entrada A Entrada B Operação Saída Z

14 ULA – Unidade Lógico-Aritmética
Como resultado destes sinais, ela gera uma resposta em sua saída! Entrada A Entrada B Operação Saída Z

15 ULA – Unidade Lógico-Aritmética
Exemplo: Ao receber os valores 7 e 5 nos canais A e B da ULA respectivamente, e solicitarmos a operação ADD (soma)... 7 5 Entrada A Entrada B Operação ADD Saída Z

16 ULA – Unidade Lógico-Aritmética
Ela responderá em sua saída com o valor da operação! 7 5 Entrada A Entrada B Operação ADD Saída Z 12

17 ULA – Unidade Lógico-Aritmética
Se alterarmos apenas a operação, ela responde imediatamente! 7 - 5 = 2 7 5 Entrada A Entrada B Operação ADD SUB Saída Z 12 2

18 Microprocessador Como visto anteriormente, o microprocessador busca as instruções do programa a ser executado na memória.

19 Microprocessador A Para isto, ele utiliza dois registradores auxiliares MA e MD. uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA MD

20 Microprocessador A Através do MA, o microprocessador informa o endereço a ser acessado na memória. uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 3 MD

21 Microprocessador A O registrador MD tem a função de receber a instrução ou dado da memória apontado por MA. uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 3 MD JMP 2

22 Microprocessador Instrução Descrição
Algumas instruções básicas em Assembly: Instrução Descrição MOV origem, destino destino  origem ADD p1, p2 p1  p1 + p2 JMP endereço IP  endereço

23 Microprocessador funcionando!
uP BUS Ao ligarmos o microprocessador, ocorre um sinal de RESET que inicializa o registrador IP com ZERO. AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA MD

24 Microprocessador funcionando!
uP BUS O registrador IP (instruction pointer) serve para indicar qual o endereço da próxima instrução na memória. AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA MD

25 Microprocessador funcionando!
Como visto anteriormente, o uP realiza as seguintes atividades repetidas vezes: Busca de instrução (FETCH) onde IP é incrementado; Decodificação da instrução; Execução da instrução. As vezes ocorrem juntas ... Fetch 0 Fetch 1 Decod 0 Decod 2 Exec 0 Exec 1 Primeira instrução Segunda instrução

26 FETCH ... Para realizar o FETCH, o uP realiza os seguintes passos: A uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA MD

27 FETCH ... Para realizar o FETCH, o uP realiza os seguintes passos: MA  IP A uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD

28 FETCH ... Para realizar o FETCH, o uP realiza os seguintes passos: MA  IP MD  Memória A uP BUS AX BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD=MOV AX,0

29 FETCH ... Para realizar o FETCH, o uP realiza os seguintes passos: MA  IP MD  Memória IR  MD A uP BUS AX BX CX DX tempA tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD=MOV AX,0

30 INC PC ... Após o FETCH de cada instrução, o IP precisa ser incrementado através da ULA, para apontar para a próxima instrução... A uP BUS AX BX CX DX tempA tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD=MOV AX,0

31 INC PC ... uP Para isto, são realizados os seguintes passos:
tempA  IP A uP BUS AX BX CX DX tempA tempA = 0 tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD=MOV AX,0

32 INC PC ... uP Para isto, são realizados os seguintes passos:
tempA  IP ULA  INC (A) A uP BUS AX BX CX DX tempA = 0 tempA tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 INC A MA = 0 1 MD=MOV AX,0

33 INC PC ... uP Para isto, são realizados os seguintes passos:
tempA  IP ULA  INC (A) IP  ULA A uP BUS AX BX CX DX tempA = 0 tempA tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 1 IP = 0 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 INC A MA = 0 1 MD=MOV AX,0

34 Execução ... uP Para EXECUTAR a instrução MOV AX,0
o uP apenas realiza a transferência: AX  0 A uP BUS AX AX = 0 BX CX DX tempA tempB IR=MOV AX,0 Entrada B Saída Z Entrada A Memória IP = 1 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 0 MD=MOV AX,0

35 Microprocessador funcionando!
Como visto anteriormente, após a execução da primeira instrução, um novo ciclo se inicia... ... Fetch 0 Fetch 1 Decod 0 Decod 2 Exec 0 Exec 1 Segunda instrução Primeira instrução

36 FETCH (segunda instrução) ...
MA  IP A uP BUS AX = 0 BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 1 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 1 MD

37 FETCH (segunda instrução) ...
MA  IP MD  Memória A uP BUS AX = 0 BX CX DX tempA tempB IR Entrada B Saída Z Entrada A Memória IP = 1 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 1 MD=MOV BX,1

38 FETCH (segunda instrução) ...
MA  IP MD  Memória IR  MD A uP BUS AX = 0 BX CX DX tempA tempB IR=MOV BX,1 Entrada B Saída Z Entrada A Memória IP = 1 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 1 MD=MOV BX,1

39 Execução (segunda instrução)...
E a segunda instrução é executada... MOV BX,1 BX  1 A uP BUS AX = 0 BX = 1 BX CX DX tempA tempB IR=MOV BX,1 Entrada B Saída Z Entrada A Memória IP = 1 MOV AX,0 MOV BX,1 ADD AX,BX JMP 2 ... 1 2 3 4 MA = 1 MD=MOV BX,1


Carregar ppt "Afonso Ferreira Miguel"

Apresentações semelhantes


Anúncios Google