Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)

Slides:



Advertisements
Apresentações semelhantes
Organização e Arquitetura de Computadores I Introdução
Advertisements

Organização e Arquitetura de Computadores I Microarquitetura
Capitulo 6: Entrada e Saída
Organização de Computadores I
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
CPU: Controle e processamento
Sistemas Digitais Projeto RTL – Unidade de Controle
Arquitetura de Computadores
Estruturas de Repetição
Arquitetura e organização de computadores
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Autor: Salvador P. Gimenez
Arquitetura de Computadores
A Arquitetura: conjunto de instruções
Pontifícia Universidade Católica do Rio Grande do Sul
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Organização e Arquitetura de Computadores I Parte de Controle
Introdução à Informática
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Arquitetura de Computadores
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Revisão da Linguagem C.
Cálculo da Freqüência de Operação do Relógio
Máquina de Estados Finito
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Exercícios Referentes à Prova P2
Circuitos Seqüenciais Descrição VHDL
Circuitos Combinacionais Básicos Descrição VHDL
PROGRAMAÇÃO I UNIDADE 1.
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
Comunicações do Bloco de Controle para Bloco de Dados e Memória
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Descrição de Atrasos.
Circuitos Seqüenciais
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
Exercícios de Máquinas de Estado
Exercícios Referentes à Prova P1
Computador Cleópatra Formato de Instrução e Codificação
PCI- Introdução à Computação
Computador Cleópatra Programação Assembly e Alto Nível
Organização de Computadores
Arquiteturas Von Neumann e Harvard Computador Cleópatra
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Unidade Central De Processamento: Processador
Organização de Computadores Bacharel em Sistema de Informação.
Organização e Arquitetura de Computadores
Circuitos Sequenciais
Capítulo 4 Nível da Microarquitetura
Circuitos Combinacionais Básicos Descrição VHDL
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.
A Linguagem de Máquina – Desvios e Laços
Arquiteturas Von Neumann e Harvard Computador Cleópatra
Parte 3 Seção de Dados e Unidade de Controle
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Algoritmos e Programação MC102
Software Básico Apresentação da Disciplina Mitsuo Takaki
Processador MAC-1 Arquitectura.
Afonso Ferreira Miguel
Arquitetura de Microcomputadores
Arquitetura de computadores
Transcrição da apresentação:

Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)

Comunicações entre Bloco de Dados e Bloco de Controle CPU BLOCO DE CONTROLE Sinais enviados do BD para o BC: - instrução lida da memória - flags de estado ck µinst n z c v IR ce ck rw reset MEMÓRIA dados e programa BLOCO DE DADOS µinst n z c v IR dados ck endereços reset Sinais de controle gerados conforme a instrução e ciclo de máquina

Interface de Entrada e Saída do Bloco de Controle

Máquina de Estados Finita

Codificação de escrita Codificação de leitura FETCH 1/3 DATAMEM CE RW MAR  PC escreve na memória MAR (0) mux 1 sel MDR (1) lê da memória IR (2) PC(3) CE RW AC (4) RS (5) w Codificação de escrita u ULA lnz lcv NZCV r Codificação de leitura

Codificação de escrita Codificação de leitura FETCH 2/3 DATAMEM CE RW MDR  M[MAR]; PC++ escreve na memória MAR (0) mux 1 sel MDR (1) lê da memória IR (2) PC(3) CE RW AC (4) RS (5) w Codificação de escrita u ULA lnz lcv NZCV Codificação de leitura r

Codificação de escrita Codificação de leitura FETCH 3/3 DATAMEM CE RW escreve na memória IR MDR MAR (0) mux 1 sel MDR (1) lê da memória IR (2) PC(3) CE RW AC (4) RS (5) Codificação de escrita u w ULA lnz lcv NZCV Codificação de leitura r

Exercícios 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 Microinstruções Instruções LDA #3CH ADD VAR

Resposta de Exercícios 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 Microinstruções Instruções MAR  PC LDA #3CH MDR  M[MAR], PC++ IR  MDR AC  MDR, LNZ ADD VAR MAR  MDR MDR  M[MAR] AC  AC + MDR, LNZ, LCV

Exercícios 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 Microinstruções Instruções MAR  PC MDR  M[MAR], PC++ IR  MDR AC <- NOT AC, LNZ MAR  MDR MDR  M[MAR] AC  AC OR MDR, LNZ, LCV

Resposta de Exercícios 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 Microinstruções Instruções MAR  PC NOT MDR  M[MAR], PC++ IR  MDR AC <- NOT AC, LNZ OR VV,I MAR  MDR MDR  M[MAR] AC  AC OR MDR, LNZ, LCV

Exercícios 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 Área de programa Área de dados 00: 40 5B LDA #5BH 02: 58 75 ADD A,I 04: EC 01 JV 1,R 06: 00 NOT 07: F0 HLT .org #75H A: DB #B B: DB 78H 75: 76: CK MAR MDR IR PC AC RS N Z C V Microinstruções Instruções 1 MAR  PC LDA #5BH 2 MDR  M[MAR], PC  PC+1 3 IR  MDR 4 5 6 AC  MDR, LNZ 7 ADD 75H,I 8 9 10 11 12 MAR  MDR 13 MDR  M[MAR] 14 15 16 AC  AC + MDR, LNZ, LCV 17 JV 1,R 18 19 20 21 22 PC  PC + MDR 23 HLT 24 25

Resposta de Exercícios 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 Área de programa Área de dados 00: 40 5B LDA #5BH 02: 58 75 ADD A,I 04: EC 01 JV 1,R 06: 00 NOT 07: F0 HLT .org #75H A: DB #B B: DB 78H 75: 76 76: 78 CK MAR MDR IR PC AC RS N Z C V Microinstruções Instruções 1 00 MAR  PC LDA #5BH 2 40 01 MDR  M[MAR], PC  PC+1 3 IR  MDR 4 5 5B 02 6 AC  MDR, LNZ 7 ADD 75H,I 8 58 03 9 10 11 75 04 12 MAR  MDR 13 76 MDR  M[MAR] 14 15 78 16 D3 AC  AC + MDR, LNZ, LCV 17 JV 1,R 18 EC 05 19 20 21 06 22 07 PC  PC + MDR 23 HLT 24 F0 08 25

Exercícios 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?

Resposta de Exercícios 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

Exercícios Dado o programa em linguagem C apresentado abaixo, faça: A compilação deste para o assembly da arquitetura Cleópatra 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 Uma fórmula que caracterize o tempo de execução do programa em função das variáveis de controle de laços 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 A tradução das cinco primeiras instruções assembly para o microprograma (conjunto de microinstruções) correspondente A associação das cinco microinstruções com suas respectivas microoperações O preenchimento de todos os registradores e flip-flops devido a primeira passagem de cada uma das cinco microinstruções #define TAM 10 int 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; }

EXTRAS

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