microprocessador afonso ferreira miguel. microprocessador princípios: armazenamento; transporte de...

Post on 07-Apr-2016

224 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MicroprocessadoMicroprocessadorr

Afonso Ferreira MiguelAfonso Ferreira Miguel

MicroprocessadorMicroprocessadorPrincípios:Princípios:

•Armazenamento;•Transporte de informação;•Processamento Lógico-Aritmético.

MicroprocessadorMicroprocessador

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

SEntrada B

Saída Z

Entrada A

IP

uP

MicroprocessadorMicroprocessador RegistradoRegistrado

res;res;

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

IP

uP

MicroprocessadorMicroprocessador RegistradoRegistrado

resres BarramentBarrament

o;o;A

AXBXCXDX

tempA tempB

Entrada B

Saída Z

Entrada A IR

MA

MD

BU

S

IP

uP

MicroprocessadorMicroprocessador RegistradoresRegistradores Barramento;Barramento; Unidade Unidade

Lógico-Lógico-Aritmética.Aritmética.

Observar que são Observar que são os mesmos os mesmos princípios do princípios do ComputadorComputador

A

AXBXCXDX

tempA tempB

Entrada B

Saída Z

Entrada A IR

MA

MD

BU

S

IP

uP

RegistradoresRegistradoresPequenas células Pequenas células

de memória de memória que podem que podem armazenar um armazenar um Byte, Word, Byte, Word, DWord.DWord.

Assim, podemos Assim, podemos armazenar um armazenar um número dentro número dentro de cada um.de cada um.

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

IP

uP

BarramentoBarramentoMeio de Meio de

comunicaçcomunicação entre os ão entre os diversos diversos módulos.módulos.

A

AXBXCXDX

tempA tempB

Entrada B

Saída Z

Entrada A IR

MA

MD

BU

S

IP

uP

Transporte de dadosTransporte de dados Para transportar Para transportar

a informação de a informação de um módulo para um módulo para outro, utilizamos outro, utilizamos o barramento. o barramento.

Representamos Representamos este transporte este transporte pela notação pela notação reversa:reversa:

DestinoDestino OrigemOrigem

A

AXBXCXDX

tempA tempB

Entrada B

Saída Z

Entrada A IR

MA

MD

BU

S

IP

uP

Transporte de dadosTransporte de dadosAssim, se Assim, se

possuirmos o possuirmos o número 10 em número 10 em AX e queremos AX e queremos transferir para transferir para DX, podemos DX, podemos escrever:escrever:

DXDX AXAX

A

AX = 10BXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

DX = 10

IP

uP

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Unidade Unidade responsável responsável por realizar por realizar operações operações como Soma como Soma (ADD), (ADD), subtração subtração (SUB), (SUB), incremento incremento (INC), entre (INC), entre outras...outras...

A

AXBXCXDX

tempA tempB

Entrada B

Saída Z

Entrada A IR

MA

MD

BU

S

IP

uP

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Esta Esta unidade unidade sempre sempre recebe um recebe um ou dois ou dois parâmetros parâmetros nas nas Entradas A e Entradas A e B,...B,...

Entrada B

Saída Z

Entrada A

Operação

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Esta unidade Esta unidade sempre sempre recebe um recebe um ou dois ou dois parâmetros parâmetros nas Entradas nas Entradas A e B, e a A e B, e a operação.operação.

Entrada B

Saída Z

Entrada A

Operação

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Como Como resultado resultado destes destes sinais, ela sinais, ela gera uma gera uma resposta resposta em sua em sua saída!saída!

Entrada B

Saída Z

Entrada A

Operação

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Exemplo: Ao Exemplo: Ao receber os receber os valores 7 e 5 valores 7 e 5 nos canais A e B nos canais A e B da ULA da ULA respectivamentrespectivamente, e solicitarmos e, e solicitarmos a operação ADD a operação ADD (soma)...(soma)...

Entrada B

Saída Z

Entrada A

Operação

7 5

ADD

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Ela Ela responderá responderá em sua saída em sua saída com o valor com o valor da operação!da operação!

Entrada B

Saída Z

Entrada A

Operação

7 5

ADD

12

12

ULA – Unidade Lógico-ULA – Unidade Lógico-AritméticaAritmética

Se alterarmos Se alterarmos apenas a apenas a operação, ela operação, ela responde responde imediatamentimediatamente!e!

7 - 5 = 27 - 5 = 2

Entrada B

Saída Z

Entrada A

Operação

7 5

2

ADDSUB

MicroprocessadorMicroprocessadorComo visto Como visto

anteriormente, o anteriormente, o microprocessadmicroprocessad

or busca as or busca as instruções do instruções do

programa a ser programa a ser executado na executado na

memória.memória.

MicroprocessadorMicroprocessador

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para isto, ele utiliza dois registradores auxiliares MA e MD.

MemóriaIP

uP

MicroprocessadorMicroprocessador

A

AXBXCXDX

tempA tempB

IR

MA = 3

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Através do MA, o microprocessador informa o endereço a ser acessado na memória.MemóriaIP

uP

MicroprocessadorMicroprocessador

A

AXBXCXDX

tempA tempB

IR

MA = 3

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

O registrador MD tem a função de receber a instrução ou dado da memória apontado por MA.

Memória

JMP 2

IP

uP

MicroprocessadorMicroprocessador Algumas instruções básicas em Algumas instruções básicas em

Assembly:Assembly:InstruçãoInstrução DescriçãoDescriçãoMOV MOV origemorigem, ,

destinodestinodestinodestino

origemorigemADD ADD p1p1, , p2p2 p1p1 p1p1 + + p2p2

JMP JMP endereçoendereço IP IP endereçoendereço

Microprocessador Microprocessador funcionando!funcionando!

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Ao ligarmos o microprocessador, ocorre um sinal de RESET que inicializa o registrador IP com ZERO.MemóriaIP = 0

uP

Microprocessador Microprocessador funcionando!funcionando!

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

O registrador IP (instruction pointer) serve para indicar qual o endereço da próxima instrução na memória.

MemóriaIP = 0

uP

Microprocessador Microprocessador funcionando!funcionando!

Como visto anteriormente, o uP realiza Como visto anteriormente, o uP realiza as seguintes atividades repetidas vezes:as seguintes atividades repetidas vezes: Busca de instrução (FETCH) onde IP é Busca de instrução (FETCH) onde IP é

incrementado;incrementado; Decodificação da instrução;Decodificação da instrução; Execução da instrução.Execução da instrução.

Fetch 0Decod 0

Exec 0

Fetch 1Decod 2

Exec 1...

As vezes ocorrem juntas

Primeira instrução Segunda instrução

FETCH ...FETCH ...

A

AXBXCXDX

tempA tempB

IR

MA

MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

MemóriaIP = 0

Para realizar o FETCH, o uP realiza os seguintes passos:

uP

FETCH ...FETCH ...

A

AXBXCXDX

tempA tempB

IR

MA = 0MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para realizar o FETCH, o uP realiza os seguintes passos:

1. MA IP

MemóriaIP = 0

uP

FETCH ...FETCH ...

A

AXBXCXDX

tempA tempB

IR

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para realizar o FETCH, o uP realiza os seguintes passos:

1. MA IP2. MD Memória

MemóriaIP = 0

uP

FETCH ...FETCH ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para realizar o FETCH, o uP realiza os seguintes passos:

1. MA IP2. MD Memória3. IR MD

MemóriaIP = 0

uP

INC PC ...INC PC ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

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...MemóriaIP = 0

uP

INC PC ...INC PC ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para isto, são realizados os seguintes passos:

1.tempA IP

MemóriaIP = 0

uP

tempA = 00

INC PC ...INC PC ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para isto, são realizados os seguintes passos:

1.tempA IP2.ULA INC

(A)MemóriaIP = 0

uP

tempA = 00

INC A1

INC PC ...INC PC ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para isto, são realizados os seguintes passos:

1.tempA IP2.ULA INC

(A)3.IP ULAMemóriaIP = 0

uP

tempA = 00

INC A1

IP = 1

Execução ...Execução ...

A

AXBXCXDX

tempA tempB

IR=MOV AX,0

MA = 0MD=MOV AX,0

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

Para EXECUTAR a instrução

MOV AX,0o uP apenas

realiza a transferência:

AX 0MemóriaIP = 1

uPAX = 0

Microprocessador Microprocessador funcionando!funcionando!

Como visto anteriormente, após a Como visto anteriormente, após a execução da primeira instrução, um novo execução da primeira instrução, um novo ciclo se inicia...ciclo se inicia...

Fetch 0Decod 0

Exec 0

Fetch 1Decod 2

Exec 1...

Primeira instruçãoSegunda instrução

FETCH (segunda FETCH (segunda instrução) ...instrução) ...

A

AX = 0BXCXDX

tempA tempB

IR

MA = 1MD

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

1. MA IP

MemóriaIP = 1

uP

FETCH (segunda FETCH (segunda instrução) ...instrução) ...

A

AX = 0BXCXDX

tempA tempB

IR

MA = 1MD=MOV BX,1

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

1. MA IP2. MD Memória

MemóriaIP = 1

uP

FETCH (segunda FETCH (segunda instrução) ...instrução) ...

A

AX = 0BXCXDX

tempA tempB

IR=MOV BX,1

MA = 1MD=MOV BX,1

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

1. MA IP2. MD Memória3. IR MD

MemóriaIP = 1

uP

Execução (segunda Execução (segunda instrução)...instrução)...

A

AX = 0BXCXDX

tempA tempB

IR=MOV BX,1

MA = 1MD=MOV BX,1

BU

S

Entrada B

Saída Z

Entrada A

MOV AX,0MOV BX,1ADD AX,BX

JMP 2...

01234

E a segunda instrução é executada...

MOV BX,1

BX 1

MemóriaIP = 1

uPBX = 1

top related