• Nenhum resultado encontrado

Apresentação apostila v5a

N/A
N/A
Protected

Academic year: 2021

Share "Apresentação apostila v5a"

Copied!
45
0
0

Texto

(1)

Princípio de Funcionamento de um

Princípio de Funcionamento de um

Microprocessador

Microprocessador

Prof. Filippo Valiante Filho

Prof. Filippo Valiante Filho

http://prof.valiante.info

(2)

Estrutura do Computador (i)

Computador:

CPU (Central Processing Unit)

Sistema de Armazenamento (Memórias)

Sistema de E/S

(3)

Estrutura do Computador (ii)

CPU

ULA – Unidade Lógica e Aritmética

Registradores

unidade de armazenamento mais básica

Unidade de Controle

Controla a perfeita execução das sequências de instruções (programas),

garantindo o sincronismo (tempo) e a ordenação correta de cada passo; bem

como, interpretando e gerando os sinais de controle externos à CPU

(4)

Estrutura do Computador (iii)

Sistema de Armazenamento (Memórias)

Memória Principal (RAM) → Instruções e Dados

Mídias magnéticas e ópticas, memória Flash, memória Cache...

Sistema de E/S

Módulo de E/S / Controlador / Interface

(5)

Estrutura do Computador (iv)

Barramentos

Meio de comunicação compartilhados

conjunto de sinais ou, fisicamente, como um agrupamento de trilhas em uma placa

de circuito impresso (PCI, ou PCB no inglês). Obviamente esses sinais e trilhas

conectam os diversos circuitos e dispositivos que fazem parte do computador e, em

geral, são vias de comunicação compartilhadas. Cada barramento segue uma

especificação lógica, elétrica e mecânica adequadas ou, em outras palavras, tipos de

sinais, velocidade, níveis de tensão, padrão de pinagem dos circuitos integrados

(“chips”) e dos conectores, etc.

(6)

Estrutura do Computador (v)

Barramentos:

Dados

Endereço

Controle

Interrupção

Leitura / Escrita

Reset

Clock (Relógio)

(7)

Estrutura do Computador (vi)

Clock (Relógio)

___|¯¯¯|___|¯¯¯|___|¯¯¯|

___|¯¯¯|

___|¯¯¯

1 ciclo

Frequência (f) = ciclos por segundo [Hz]

1 Hertz = 1 ciclo por segundo

Período (T) = tempo de um ciclo [s]

f = 1 / T

P.ex. para f = 2,0 GHz

(8)

Estrutura do Computador (vii)

(9)

Estrutura do Computador (viii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador H L PC Stack Pointer IR Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L at ch – A 0: 15 B uf fe r / L at ch – D 0 :7

CPU

Write

Read Clock Reset

Leitura B ar ra m en to d e E nd er e ço s Escrita B ar ra m en to d e D ad os Reg. de endereços Reg. de instrução Contador de programa Ponteiro de pilha Barramento de Controle INT End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

(10)

Estrutura do Computador (ix)

Largura dos Barramentos (quantidade de vias)

Endereços:

16 bits → 2

16 =

65536 = 64k posições (endereços)

Dados:

Cada posição armazena 8 bits = 1 byte (B)

Capacidade (limite) da Memória do Computador:

(11)

Estrutura da CPU (i)

ULA

Unidade de Controle e Decodificador de Instrução (parte da UC)

Registradores:

Acumulador (AC)

Registrador Temporário / Auxiliares

Contador de Programa - Program Counter (PC) ou Instruction Pointer (IP)

Registrador de Instrução – Instruction Register (IR)

Registrador de Endereços (H, L)

Ponteiro de pilha – Stack Pointer (SP)

Registrador de Status / PSW

MAR (Memory Address Register) / Latch de Endereços

MBR (Memory Buffer Register) / Latch de Dados

(12)

Estrutura da CPU (ii)

Registradores mínimos para o funcionamento de um computador:

PC e IR → controle da execução do programa

MAR e MBR → comunicação com a memória

AC e um Reg Auxiliar → para o funcionamento da ULA

Para a ULA, dois ou três indicadores binários também seriam

(13)

O Programa

Programa é uma sequência de instruções

Instrução:

Código de operação (op code) → o que deve ser feito

com os...

Operandos (dados)

Dados podem ser números, caracteres, endereços ou

bits.

(14)

Níveis de Linguagens de

Programação

Compilador

Montador

(Assembler)

Linguagem de Alto Nível

Linguagem de Montagem

(Assembly)

Linguagem de Máquina

total = 10 + 5 + 18

LOAD

0A

ADD

05

ADD

12

STORE 2000

10000110 00001010

10001011 00000101

10001011 00010010

10110111 00100000

00000000

(15)

Formatos de Instrução

Tamanho em Bytes

1

2

3

Formato 1 (valores):

Cód. de Operação

Valor

Formato 2 (endereços):

Cód. de Operação

Endereço

Os 8 bits do op code possibilitam

(16)

Programa Exemplo (i)

Linguagem de Montagem (Assembly) LOAD 0A ADD 05 ADD 12 STORE 2000 Linguagem de Máquina End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001

Assembler

(17)

Programa Exemplo (ii)

Linguagem de

Linguagem de

Montagem

Máquina

(Assembly)

End.

Cont.

(hexa)

(hexa)

Comentários

Memória de

Programa

Carrega o acumulador

LOAD

0A

0000

86

Valor a ser carregado

0001

0A

Soma o valor com o conteúdo do acumulador

ADD

05

0002

8B

Valor a ser somado

0003

05

Soma o valor com o conteúdo do acumulador

ADD

12

0004

8B

Valor a ser somado

0005

12

Armazena o conteúdo do acumulador no endereço de memória

STORE

2000

0006

B7

Parte alta do endereço (8 bits mais significativos)

0007

20

Parte baixa do endereço (8 bits menos significativos)

0008

00

0009

...

...

Memória de

Dados

Posição onde o resultado será armazenado

2000

2001

...

...

End.

Cont.

(hexa)

(hexa)

(18)

Ciclo de Instrução (i)

(19)

Ciclo de Instrução (ii)

Cálculo de endereço de instrução Busca de instrução Decodificação de instrução Cálculo de endereço do operando Busca de operando Execução da operação Cálculo de endereço do resultado Armazena-mento do resultado Múltiplos

operandos Múltiplosresultados

Retorno de strings ou vetores Instrução completada,

(20)

Ciclo de Instrução (iii)

Cálculo de endereço de instrução Busca de instrução Decodificação de instrução Cálculo de endereço do operando Busca de operando Execução da operação Cálculo de endereço do resultado Armazena-mento do resultado

Ciclo de Execução

Ciclo de Busca

Operações

Internas ou

Externas à CPU

Operações

Internas da

CPU

Registrador Memória Periférico (Entrada)

Memória RegistradorMemória

(21)

Execução do Programa (i)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador H L PC 0000 Stack Pointer IR Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

Leitura B ar ra m en to d e E nd er eç o s Escrita B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

0000

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

(22)

Execução do Programa (ii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador H L PC 0001 Stack Pointer IR 86 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

86

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

(23)

Execução do Programa (iii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador H L PC 0001 Stack Pointer IR 86 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita

0001

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

(24)

Execução do Programa (iv)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador 0A H L PC 0002 Stack Pointer IR 86 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha B ar ra m en to d e E nd er eç o s

0A

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

(25)

Execução do Programa (v)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador 0A H L PC 0002 Stack Pointer IR 86 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0002

(26)

Execução do Programa (vi)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário H L PC 0003 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

8B

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 0A

(27)

Execução do Programa (vii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário Acumulador 0A H L PC 0003 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0003

(28)

Execução do Programa (viii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 05 H L PC 0003 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

05

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 0A

(29)

Execução do Programa (ix)

ULA Registrador de Status Somador 0A + 05 Complem. Deslocador Registrador Temporário 05 H L PC 0004 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

Leitura B ar ra m en to d e E nd er eç o s Escrita B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 0F

(30)

Execução do Programa (x)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 05 Acumulador 0F H L PC 0004 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha B ar ra m en to d e E nd er eç o s End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0004

(31)

Execução do Programa (xi)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 05 H L PC 0005 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

Leitura B ar ra m en to d e E nd er eç o s Escrita B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

8B

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 0A

(32)

Execução do Programa (xii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 05 Acumulador 0A H L PC 0005 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha B ar ra m en to d e E nd er eç o s End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0005

(33)

Execução do Programa (xiii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 H L PC 0005 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

Leitura B ar ra m en to d e E nd er eç o s Escrita B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

12

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 0F

(34)

Execução do Programa (xiv)

ULA Registrador de Status Somador 0F + 12 Complem. Deslocador Registrador Temporário 12 H L PC 0006 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 21

(35)

Execução do Programa (xv)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 Acumulador 21 H L PC 0006 Stack Pointer IR 8B Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0006

(36)

Execução do Programa (xvi)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 H L PC 0007 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

B7

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 21

(37)

Execução do Programa (xvii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 Acumulador 21 H L PC 0007 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0007

(38)

Execução do Programa (xviii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 H 20 L PC 0008 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

20

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 21

(39)

Execução do Programa (xix)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 Acumulador 21 H 20 L PC 0008 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

0008

(40)

Execução do Programa (xx)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 H 20 00L PC 0008 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

00

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 21

(41)

Execução do Programa (xxi)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 Acumulador 21 H 20 00L PC 0008 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o Unidade de Controle B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

Write

Read Clock Reset INT

Relógio Cristal Alimentação Inicialização Interrupção

B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha Leitura B ar ra m en to d e E nd er eç o s Escrita End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa)

2000

(42)

Execução do Programa (xxii)

ULA Registrador de Status Somador Complem. Deslocador Registrador Temporário 12 H 20 00L PC 0008 Stack Pointer IR B7 Decodificador de Instrução B ar ra m en to In te rn o B ar ra m en to In te rn o B uf fe r / L a tc h – A 0: 15 B uf fe r / L at ch – D 0: 7

CPU

B ar ra m en to d e E nd er eç o s B ar ra m e nt o d e D ad os Reg. de endereços Reg. de instrução Contador de programa Apontador de pilha

21

End. Cont. (hexa) (hexa) Memória de Programa 0000 86 0001 0A 0002 8B 0003 05 0004 8B 0005 12 0006 B7 0007 20 0008 00 0009 ... ... Memória de Dados 2000 2001 ... ... End. Cont. (hexa) (hexa) Acumulador 21 21

(43)

Execução do Programa (xxiii)

Controle Registradores

READ WRITE End. Dados PC RI AC T H L

0000 (Inicialização) 0000 LOAD 0A In s tr u ç õ e s X 86 86 0001 0001 X 0A 0A 0002 0002 ADD 05 X 8B 8B 0003 0003 X 05 05 0F 0004 0004 ADD 12 X 8B 8B 0005 0005 X 12 12 21 0006 0006 STORE 2000 X B7 B7 0007 0007 X 20 20 0008 0008 X 00 00 2000 X Latches e Barram entos

Te

m

po

(44)

No 8080/8085

O código que corresponde ao programa exemplo Utilizando

o assembly real do 8080/8085 é o seguinte:

MVI

A,0Ah

; A ← 0Ah

ADI

05h

; A ← A + 05h

ADI

12h

; A <- A + 12h

LXI

H,2000h

; H ← 20h e L ← 00h

MOV

M,A

; (H,L) ← A

O código de máquina (em hexadecimal) correspondente é:

3E 0A

C6 05

(45)

Referências Bibliográficas

CARVALHO, Claudio Sergio da Rós de. Microprocessador 8085. 2ª ed. Editora da

Unicamp. 1990.

MALVINO, Albert P. Microprocessadores e Microcomputadores. Editora

McGraw-Hill. 1985.

STALLINGS, William. Arquitetura e Organização de Computadores. 8ª edição.

Pearson Education. 2010.

TANENBAUM, Andrew S. Organização Estruturada de Computadores. 4ª edição.

LTC Editora. 2001.

TOKHEIM, Roger L. Introdução aos Microprocessadores (Coleção Schaum).

Editora McGraw-Hill. 1985.

VALIANTE FILHO, F. Desenvolvimento de Projetos Utilizando Microcontroladores.

Referências

Documentos relacionados

•Uma operação elementar (microoperação) de uma instrução (movimentação de dados entre registradores) realiza-se em um passo no ciclo de instrução (busca da

ou firma individual, reguladas e fiscalizadas pelo Bacen que também estipula seu c en que também estipula seu capital mínimo apital mínimo  b)instituições financeiras

O ajuste da embreagem é necessário caso a motocicleta apresente queda de rendimento quando se efetua a mudança de marchas, ou se a embreagem patinar, fazendo com que a velocidade

Neste modo de endereçamento, a palavra que segue o código da instrução contém, nas instruções de manipulação de dados, o endereço de memória do operando.... Conjunto

97 da Lei 8.112/90 em virtude de Doação de Sangue conceder afastamento do trabalho pelo período de 01 dia ao servidor abaixo listado e na data a seguir discriminada:. Nome do

Nesse sentido, faz-se necessária pesquisa acadêmica que produzam e olhem as para práticas educativas que ocorrem na escola pública, qualificada como direito, gratuita,

“Lendas da Antiguidade”, que trazia figuras de personagens da mitologia grega.. Toda pesquisa é um pouco como a viagem de Odisseu rumo a Ítaca: a busca do porto a que se quer

 A maioria do pessoal não docente considera que no agrupamento procura-se que o pessoal não docente receba a formação adequada para o seu desempenho