ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson...

19
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)

Transcript of ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson...

Page 1: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

prof. Dr. César Augusto M. Marcon

prof. Dr. Edson Ifarraguirre Moreno

Arquitetura Cleópatra

Bloco de Controle(Instruções e Microinstruções)

Page 2: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

2 / 19

Comunicações entre Bloco de Dados e Bloco de Controle

BLOCODE

CONTROLE

BLOCODE

DADOS

µinst IR

IRµinst

ck

ck

reset

ce

rw

dados

endereços MEMÓRIAdados e programa

CPU

ck

Sinais enviados do BD para o BC:- instrução lida da memória- flags de estado

reset

n z c

n z c

v

v

Sinais de controle geradosconforme a instrução e ciclo de máquina

Page 3: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

3 / 19

Interface de Entrada e Saída do Bloco de Controle

Page 4: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

4 / 19

Máquina de Estados Finita

Page 5: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

5 / 19

FETCH 1/3

MAR (0)

MDR (1)

IR (2)

RS (5)

PC(3)

AC (4)

ULA

0 mux1 sel

escreve na memória

lê da memória

DATAMEM

Codificação de escrita

Codificação de leitura

w

r

ulnz

lcv

CERW

CE RW

NZCV

MAR PC

Page 6: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

6 / 19

FETCH 2/3

MAR (0)

MDR (1)

IR (2)

RS (5)

PC(3)

AC (4)

ULA

0 mux1 sel

escreve na memória

lê da memória

DATAMEM

Codificação de escrita

Codificação de leitura

w

r

ulnz

lcv

CERW

CE RW

MDR M[MAR];PC++

NZCV

Page 7: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

7 / 19

FETCH 3/3

MAR (0)

MDR (1)

IR (2)

RS (5)

PC(3)

AC (4)

ULA

0 mux1 sel

escreve na memória

lê da memória

DATAMEM

Codificação de escrita

Codificação de leitura

w

r

ulnz

lcv

CERW

CE RW

IR MDR

NZCV

Page 8: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

8 / 19

Exercícios

Microinstruções Instruções

LDA #3CH

ADD VAR

1. Complete a tabela com as microinstruções correspondentes a cada instrução, sendo 3Ch uma constante em hexadecimal e VAR uma variável de memória

Page 9: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

9 / 19

Resposta de Exercícios

Microinstruções Instruções

MAR PC

LDA #3CH

MDR M[MAR], PC++IR MDRMAR PCMDR M[MAR], PC++AC MDR, LNZMAR PC

ADD VAR

MDR M[MAR], PC++IR MDRMAR PCMDR M[MAR], PC++MAR MDRMDR M[MAR]AC AC + MDR, LNZ, LCV

1. Complete a tabela com as microinstruções correspondentes a cada instrução, sendo 3Ch uma constante em hexadecimal e VAR uma variável de memória

Page 10: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

10 / 19

Exercícios

Microinstruções Instruções

MAR PCMDR M[MAR], PC++IR MDRAC <- NOT AC, LNZMAR PCMDR M[MAR], PC++IR MDRMAR PCMDR M[MAR], PC++MAR MDRMDR M[MAR]MAR MDRMDR M[MAR]AC AC OR MDR, LNZ, LCV

2. Dado o conjunto de microinstruções abaixo, associe a instrução correspondente à direita. Caso a instrução tenha operando e este seja uma constante, coloque o valor 33h, caso o operando seja uma variável coloque o label vv

Page 11: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

11 / 19

Resposta de Exercícios

Microinstruções Instruções

MAR PC

NOTMDR M[MAR], PC++IR MDRAC <- NOT AC, LNZMAR PC

OR VV,I

MDR M[MAR], PC++IR MDRMAR PCMDR M[MAR], PC++MAR MDRMDR M[MAR]MAR MDRMDR M[MAR]AC AC OR MDR, LNZ, LCV

2. Dado o conjunto de microinstruções abaixo, associe a instrução correspondente à direita. Caso a instrução tenha operando e este seja uma constante, coloque o valor 33h, caso o operando seja uma variável coloque o label vv

Page 12: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

12 / 19

Exercícios

3. Dado o programa ao lado (já com o código objeto) e a tabela de instruções/microinstruções, preencha os registradores e flags e a área de dados da Cleópatra

CK MAR MDR IR PC AC RS N Z C V Microinstruções Instruções1 MAR PC

LDA #5BH

2 MDR M[MAR], PC PC+13 IR MDR4 MAR PC5 MDR M[MAR], PC PC+16 AC MDR, LNZ7 MAR PC

ADD 75H,I

8 MDR M[MAR], PC PC+19 IR MDR10 MAR PC11 MDR M[MAR], PC PC+112 MAR MDR13 MDR M[MAR]14 MAR MDR15 MDR M[MAR]16 AC AC + MDR, LNZ, LCV17 MAR PC

JV 1,R

18 MDR M[MAR], PC PC+119 IR MDR20 MAR PC21 MDR M[MAR], PC PC+122 PC PC + MDR 23 MAR PC

HLT24 MDR M[MAR], PC PC+125 IR MDR

Área de programa Área de dados00: 40 5B LDA #5BH02: 58 75 ADD A,I04: EC 01 JV 1,R06: 00 NOT07: F0 HLT

.org #75HA: DB #BB: DB 78H

75:76:

Page 13: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

13 / 19

Resposta de Exercícios

CK MAR MDR IR PC AC RS N Z C V Microinstruções Instruções1 00 00 00 00 00 00 0 0 0 0 MAR PC

LDA #5BH

2 40 01 MDR M[MAR], PC PC+13 40 IR MDR4 01 MAR PC5 5B 02 MDR M[MAR], PC PC+16 5B AC MDR, LNZ7 02 MAR PC

ADD 75H,I

8 58 03 MDR M[MAR], PC PC+19 58 IR MDR10 03 MAR PC11 75 04 MDR M[MAR], PC PC+112 75 MAR MDR13 76 MDR M[MAR]14 76 MAR MDR15 78 MDR M[MAR]16 D3 1 1 AC AC + MDR, LNZ, LCV17 04 MAR PC

JV 1,R

18 EC 05 MDR M[MAR], PC PC+119 EC IR MDR20 05 MAR PC21 01 06 MDR M[MAR], PC PC+122 07 PC PC + MDR 23 07 MAR PC

HLT24 F0 08 MDR M[MAR], PC PC+125 F0 IR MDR

Área de programa Área de dados00: 40 5B LDA #5BH02: 58 75 ADD A,I04: EC 01 JV 1,R06: 00 NOT07: F0 HLT

.org #75HA: DB #BB: DB 78H

75: 7676: 78

3. Dado o programa ao lado (já com o código objeto) e a tabela de instruções/microinstruções, preencha os registradores e flags e a área de dados da Cleópatra

Page 14: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

14 / 19

Exercícios

4. Qual seria o tempo de execução do programa apresentado no exercício anterior (em segundo), se a Cleópatra tivesse uma freqüência de operação de 10MHz?

Page 15: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

15 / 19

Resposta de Exercícios

4. Qual seria o tempo de execução do programa apresentado no exercício anterior (em segundo), se a Cleópatra tivesse uma freqüência de operação de 10MHz?

f = 10 MHz --> T = 0,1us --> tempo de execução = 25 * 0,1us = 2,5us

Page 16: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

16 / 19

Exercícios

5. Dado o programa em linguagem C apresentado abaixo, faça:

a. A compilação deste para o assembly da arquitetura Cleópatra

b. A codificação do assembly para a linguagem de máquina em hexadecimal, tanto para a área de dados, quanto para a área de código

c. Uma fórmula que caracterize o tempo de execução do programa em função das variáveis de controle de laços

d. A estimativa de qual deve ser a freqüência de operação do relógio para que este programa consiga ser executado em um tempo praticamente igual a 1us

e. A tradução das cinco primeiras instruções assembly para o microprograma (conjunto de microinstruções) correspondente

f. A associação das cinco microinstruções com suas respectivas microoperações

g. O preenchimento de todos os registradores e flip-flops devido a primeira passagem de cada uma das cinco microinstruções

#define TAM 10int vetA[TAM];

void main(){

for(int i=0; i < TAM - 1; i++)

{for(int k=i; k <

TAM-1; k++){

if(vetA[i] > vetA[k]){

int aux = vetA[i];

vetA[i] = vetA[k];

vetA[k] = aux;}

}}

}

Page 17: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

17 / 19

EXTRAS

Page 18: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

18 / 19

Máquina de Estados Finita (parcial e em blocos)

Page 19: ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.

19 / 19