19
Microprocessadores Arquitectura Geral de Microprocessador António M. Gonçalves Pinheiro Departamento de Física Universidade da Beira Interior Covilhã - Portugal [email protected]

Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Embed Size (px)

Citation preview

Page 1: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Arquitectura Geral de Microprocessador

António M. Gonçalves Pinheiro

Departamento de FísicaUniversidade da Beira Interior

Covilhã - Portugal

[email protected]

Page 2: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Modelo de von Neuman

Memória Entrada/SaídaµProcessador

Barramento de Endereços

Barramento de Dados

Sinais de Controlo

Page 3: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Estrutura de µProcessadores

ALU

R0

R1

R2

R3

MU

XM

UX

DE

MU

X

M0M1M2

S0S1

D0D1

WR

FLAGS

FzFs

Fov

WF

R

BA

F

Page 4: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Estrutura de µProcessadores

R0

R1

R2

R3

MU

XM

UX

DE

MU

X

M0M1M2

S0S1

D0D1

WR

FLAGS

FzFs

Fov

WF

R

BA

F

ALU

Barramentode Dados

WD

RD

"Buffer"de

dados

Page 5: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Estrutura de µProcessadores

R0

R1

R2

R3

MU

XM

UX

DE

MU

X

M0M1M2

S0S1

D0D1

WR

FLAGS

FzFs

Fov

WF

R

BA

F

ALU

Registo deEndereço

WE RE

Barramentode Dados

WD

IE

RD

"Buffer"de

dados

Contadorde

Programa

WPC RPC

MU

X

Barramentode Endereços

"STACKPOINTER"

WSP RSP

Page 6: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Estrutura de µProcessadores

R0

R1

R2

R3

MU

XM

UX

DE

MU

X

M0M1M2

S0S1

D0D1

WR

FLAGS

FzFs

Fov

WF

R

BA

F

ALU

Registo deEndereço

WE RE

Barramentode Dados

WD

IE

RD

"Buffer"de

dados

Contadorde

Programa

WPC RPC

MU

X

Barramentode Endereços

"STACKPOINTER"

WSP RSP

WE

RE

WI

ControladorRegisto

de InstrucçãoW

I

M1

M0

WD

RD

I EM2

WSP

RSP

D1

D0

S1

S0

WR

R

WF

W

RPC

PC

CK

Page 7: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

ALU - Unidade Lógica e Aritmética

M2 M1 M0 OPERAÇÃO

0 0 0 A + B0 0 1 A - B0 1 0 A + 10 1 1 A - 11 0 0 A AND B1 0 1 A OR B1 1 0 A EXOR B1 1 1 NOT(A)

Page 8: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Instrucções

TRÊS GRUPOS:- OPERAÇÕES DE MOVIMENTO DE DADOS

- OPERAÇÕES ARITMÉTICAS E LÓGICAS

- OPERAÇÕES DE CONTROLO DE PROGRAMA

EXEMPLO: INSTRUCÇÕES DE 8 BITS:

I7 I6 TIPO DE OPERAÇÃO

0 - ARITMÉTICAS E LÓGICAS

1 0 MOVIMENTO DE DADOS

1 1 CONTROLO DE PROGRAMA

Page 9: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Instrucções

OPERAÇÕES DE MOVIMENTO DE DADOS

I7 I6 I5 I4 I3 I2 I1 I0 MNEMÓNICA OPERAÇÃO

1 0 0 0 s1 s0 d1 d0 MOV Rd,Rs MOVE CONTEÚDO DE Rs PARA Rd

1 0 1 0 0 0 d1 d0 LD RdCARREGA Rd COM CONTEÚDO DO

ENDEREÇO1 0 1 1 0 0 s1 s0 ST Rs ARMAZENA Rs NO ENDEREÇO

1 0 0 1 0 1 s1 s0 MOV RE ,RsMOVE Rs PARA O REGISTO DE EN-DEREÇO

1 0 0 1 1 0 s1 s0 MOV SP,Rs MOVE Rs PARA O “STACK POINTER"

1 0 0 1 1 1 s1 s0 MOV PC,REMOVE REGISTO DE ENDEREÇO PARA

O CONTADOR DE PROGRAMA

Page 10: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Instrucções

OPERAÇÕES ARITMÉTICAS E LÓGICAS

I7 I6 I5 I4 I3 I2 I1 I0 MNEMÓNICA OPERAÇÃO

0 0 0 0 0 0 0 0 NOP “NO OPERATION"0 0 1 0 s1 s0 d1 d0 ADD Rd,Rs Rd← Rd + Rs

0 0 1 1 s1 s0 d1 d0 SUB Rd,Rs Rd← Rd - Rs

0 0 0 0 1 1 d1 d0 INC Rd Rd← Rd + 10 0 0 1 1 1 d1 d0 DEC Rd Rd← Rd - 10 1 1 0 s1 s0 d1 d0 AND Rd,Rs Rd← Rd AND Rs

0 1 1 1 s1 s0 d1 d0 OR Rd,Rs Rd← Rd OR Rs

0 1 0 0 s1 s0 d1 d0 EXOR Rd,Rs Rd← Rd EXOR Rs

0 1 0 1 1 1 d1 d0 NOT Rd Rd← NOT(Rd)

Page 11: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Instrucções

OPERAÇÕES DE CONTROLO DE PROGRAMA

I7 I6 I5 I4 I3 I2 I1 I0 MNEMÓNICA OPERAÇÃO

1 1 0 0 0 0 0 0 JMP SALTO INCONDICIONAL1 1 0 0 0 C2 C1 C0 JCC SALTO CONDICIONAL

1 1 0 0 1 0 0 0 CALL ROTINA INCONDICIONAL1 1 0 0 1 C2 C1 C0 CCC ROTINA CONDICIONAL1 1 0 1 0 0 0 0 RET RETORNO DE ROTINA

Page 12: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Arquitecturas de Microprocessadores

Modelo de Von Neumann

Memória Entrada/SaídaµProcessador

Barramento de Endereços

Barramento de Dados

Sinais de Controlo

Page 13: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Arquitecturas de Microprocessadores

Arquitectura Geral

ALU

RegistosGerais

Contador de Programa Registo de Endereço

Registo de Instrução

Unidadede

Controlo

Registo de Flags

InterligaçãoBarramento

de Dados

InterligaçãoBarramento

de Endereços

Ponteiro do Stack

Page 14: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Arquitecturas de Microprocessadores

Arquitectura Geral

Linguagem deAlto Nível

Microprocessador

Organizaçãoda Memória

Variáveiscom Nome

“Array"Linear

Estruturade Dados Multidimensionais Unidimensionais

Programação- Rotinas e Retornos- Parâmetros- Memória Dinâmica

Operações de “Stack"

Tipode Memória

Dados 6= Instrucção Dados = Instrucção

Normalmente feitas para superar o Semantic Gp

Page 15: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Arquitecturas de Microprocessadores

Arquitectura Geral

Arquitectura e EficiÊncia de ExecuçãoTipos de Dados

• +/− idênticos no Microprocessador e na Linguagem de Alto Nível

Modos de Endereçamento

• Definem mecansimos para aceder aos dados

• Podem proporcionar mecanismos eficientes para mapear estruturas de dados complexas

Conjunto de InstrucçõesPodem aumentar eficiência de duas formas:

• CISC - Complex Instruction Set Computer

• RISC - Reduced Instruction Set Computer

Page 16: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Ciclos de InstrucçãoCiclo Básico de Instrucção

Início

Ciclode Busca

Ciclo deExecução

Halt

Page 17: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

Ciclos de InstrucçãoCiclo Básico de Instrucção com Interrupções

Início

Ciclode Busca

Ciclo deExecução

Halt

Interrupção?ProcessaInterrupção

Sim

Não

Page 18: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

FPU - “Floating Point Unit”

Representação de Números Reais

Parte

Inteira

Parte

Decimal

Ponto Fixo

Mantissa Expoente

Ponto Flutuante

1 x(10)2Sinal

Underflow -Número com valor absoluto muito pequeno diferente de zero que não pode ser representado.Overflow -Número com valor absoluto muito grande que não pode ser representado.

FPU - “Floating Point Unit”Circuito que se destina a fazer operações com números em vírgula flutuante.

Page 19: Microprocessadores Arquitectura Geral de Microprocessadorpinheiro/MP02.pdf · Microprocessadores Universidade da Beira Interior Arquitecturas de Microprocessadores Arquitectura Geral

Microprocessadores

Universidade da Beira Interior

FPU - “Floating Point Unit”

Norma do IEEE 754-1985

Nome Númerode bits

Sinal Mantissa Expoente Polarização

Precisão Simples 32 1 23 8 127Precisão Dupla 64 1 52 11 1023

Valor representado em decimal:

(−1)Sinal ×

(1 +

p−1∑n=1

Mantissa(n)× 2−n

)× 2Expoente-Polarização

Formato:

Sinal Expoente Mantissa

Casos especiais:Tipo Expoente MantissaZero 00...000 00...000Infinito 11...111 00...000NaN 11...111 6= 0Num. não normalizado 00...000 6= 0