A Arquitetura: conjunto de instruções

Slides:



Advertisements
Apresentações semelhantes
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Advertisements

Organização e Arquitetura de Computadores I Linguagem de Máquina
Lógica booleana e implementação de funções booleanas
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
A Arquitetura: conjunto de instruções
Multiplicação e Divisão Serial Moraes/Ney - 07/novembro/2007
FAFIMAN – Prof. Flávio Uber FAFIMAN – Departamento de Informática Curso: Ciência da Computação Professor: Flávio Rogério Uber Arquitetura e Organização.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
VHDL arquitetura ramses
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Arquitetura de computadores
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
(As bases da civilização atual)
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
Agrupando flip-flops e portas para criar registradores
(O método ad-hoc começa a falhar :-)
Teste Estrutural de Software
(Como implementar multiplicação e divisão uma vez só :-)
Geração de Código Otimizações independentes de máquina.
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Funções de um computador
2ª Aula Teórica Prof. Cesar Costa
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
ANEXO-1 : INSTRUÇÕES(ROTINA)
BARRAMENTO CPU - MEMORIA
ARQUITETURA DE COMPUTADORES ANEXO-1: INSTRUÇÕES (LOGICAS) AND DE DADOS ENTRE REGISTRADORES REG 0 :AH,AL,AX,BH,BL,BX,CH,CL,CX,DH,DL,DX,SI,DI,SP,BP,CS, DS,ES,SS.
ANEXO-1: INSTRUÇÕES (MOVIMENTAÇÃO DE DADOS)
OTIMIZAÇÃO DE DESEMPENHO
SINAIS DE SAIDA DA UNIDADE DE CONTROLE
OTIMIZAÇÃO DE DESEMPENHO
ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA SEQUENCIA DE INSTRUÇÕES
Organização de Sistemas de Computadores
linguagem orientada para problemas nível 5 tradução nível 4 linguagem de montagem tradução nível 3 sistema operacional interpretação nível 2 máquina.
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
LINGUAGENS DE PROGRAMAÇÃO
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Autor: Fernando de Mesentier Silva
As aulas não cobrem toda a matéria! Há que ler as folhas teóricas!
Organização ou MicroArquitectura
Exercícios Referentes à Prova P2
Aula 3©Universidade do Algarve 1 Do alto-nível ao assembly Compiladores, Aula Nº 3 João M. P. Cardoso.
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.
Computador Cleópatra Formato de Instrução e Codificação
Representação Digital da Informação
Infra-Estrutura de Hardware
Organização e Arquitetura de Computadores
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Infra-estrutura de Hardware
Funcionamento básico de um processador de 8 bits
Unidade Central De Processamento: Processador
Unidade Central De Processamento: Processador
Microprogramação Controlador Microprogramado RI Microcomandos UAL MICROMEMÓRIA MPC MIR DECOD.... Vamos então construir o controlador microprogramado do.
A CPU E SUA EVOLUÇÃO. CPU (Central Processing Unit ou Unidade Central de Processamento)  DEFINIÇÕES:  A CPU é o hardware principal do computador; 
Rganização de Computadores Organização do Neander Capítulo 10 – Raul Weber Organização de Computadores Organização do Neander Capítulo 10 – Raul Weber.
Programação em Assembly Conceitos Iniciais Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Ciclos de operação em processador
NEANDERWin - Simulador
Caminho de Dados (aula passada)
Arquitetura de Computadores
CPU.
Arquitetura e organização de computadores
Arquitetura de Computadores
Transcrição da apresentação:

A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA end MEM(end)  AC 0010 LDA end AC  MEM(end) 0011 ADD end AC  MEM(end) + AC 0100 OR end AC  MEM(end) OR AC 0101 AND end AC  MEM(end) AND AC 0110 NOT AC  NOT AC 1000 JMP end PC  end 1001 JN end IF N=1 THEN PC  end 1010 JZ end IF Z=1 THEN PC  end 1111 HLT pára processamento

A Organização: transferências necessárias Analisando todas as descrições RT, a agrupando pelo registrador destino, tem-se: RI  RDM RDM  AC Write Read AC  RDM; atualiza N e Z AC  AC + RDM; atualiza N e Z AC  AC OR RDM; atualiza N e Z AC  AC AND RDM; atualiza N e Z AC  NOT(AC); atualiza N e Z PC  RDM PC  PC + 1 REM  PC REM  RDM

A Organização: registradores AC: um registrador de 8 bits PC: um registrador de 8 bits (registrador-contador) RI: um registrador de 4 bits (ou 8) RDM: um registrador de 8 bits (largura do dado) REM: um registrador de 8 bits (largura do endereço) N: um flip-flop para o código de condição N Z: um flip-flop para o código de condição Z Uma memória de 256 posições (endereços) x 8 bits

Organização do Sistema de Memória read write cargaRDM Associados à Memória: - RDM (dados) - REM (endereços) - sinal de escrita (write) - sinal de leitura (read) Cada registrador é controlado por um sinal de carga RDM cargaREM

Organização da Unid. Aritmética e Lógica Associados à UAL: - 4 operações (ADD, AND, OR, NOT) - sinal de controle (seleção) - sinais de condição (N,Z) Flip-Flops devem ter sinal de carga UAL X Y selUAL N Z cargaNZ

Organização do Registrador de Instrução Associados ao Reg. de Instruções (4 ou 8 bits??): - Decodificador (4 bits para 16 instruções) - sinais de condição (N,Z) (para JN e JZ) - registrador deve ter sinal de carga cargaRI opcode don’t care N Z DECOD. cargaNZ Unidade de Controle sinais de controle

Operações na UAL AC  AC + RDM; atualiza N e Z MEM read write cargaRDM RDM cargaREM cargaAC AC AC  AC + RDM; atualiza N e Z AC  AC OR RDM; atualiza N e Z AC  AC AND RDM; atualiza N e Z AC  NOT(AC); atualiza N e Z Dúvida: AC  RDM; atualiza N e Z (via UAL) UAL X Y selUAL N Z cargaNZ

Situação até aqui Sinais de Controle UAL RI  RDM RDM  AC Write Read MEM read write cargaRDM RDM cargaREM cargaAC AC Sinais de Controle RI  RDM RDM  AC Write Read AC  RDM; atualiza N e Z AC  AC + RDM; atualiza N e Z AC  AC OR RDM; at. N e Z AC  AC AND RDM; at. N e Z AC  NOT(AC); atualiza N e Z PC  RDM PC  PC + 1 REM  PC REM  RDM cargaRI UAL X Y opcode don’t care selUAL N Z DECOD. cargaNZ Unidade de Controle sinais de controle

Acrescentado Escrita do AC M MEM read write cargaRDM RDM cargaREM cargaAC AC Sinais de Controle RI  RDM RDM  AC Write Read AC  RDM; atualiza N e Z AC  AC + RDM; atualiza N e Z AC  AC OR RDM; at. N e Z AC  AC AND RDM; at. N e Z AC  NOT(AC); atualiza N e Z PC  RDM PC  PC + 1 REM  PC REM  RDM cargaRI UAL X Y opcode don’t care selUAL N Z DECOD. cargaNZ Unidade de Controle sinais de controle

Acrescentado Program Counter (PC) O incremento do PC pode ser feito: Por meio de um somador dedicado Usando a ULA Por meio de um registrador-contador

Acrescentado Program Counter (PC) MEM read write cargaPC cargaRDM RDM incrementaPC cargaREM cargaAC AC Sinais de Controle RI  RDM RDM  AC Write Read AC  RDM; atualiza N e Z AC  AC + RDM; atualiza N e Z AC  AC OR RDM; at. N e Z AC  AC AND RDM; at. N e Z AC  NOT(AC); atualiza N e Z PC  RDM PC  PC + 1 REM  PC REM  RDM cargaRI UAL X Y opcode don’t care selUAL N Z DECOD. cargaNZ Unidade de Controle sinais de controle

Valores para o REM Existem duas transferências para o REM REM  PC REM  RDM O único registrador que recebe dados de duas fontes é o REM Para solucionar este conflito usa-se um multiplexador

Organização final UAL PC M U X R E M MEM RDM AC X Y opcode don’t care sel PC M U X R E M MEM read write cargaPC cargaRDM RDM incrementaPC cargaREM cargaAC AC cargaRI UAL X Y opcode don’t care selUAL N Z DECOD. cargaNZ Unidade de Controle sinais de controle

A Organização: sinais de controle para cada transferência REM  PC sel=0, cargaREM PC  PC + 1 incrementaPC RI  RDM cargaRI REM  RDM sel=1, cargaREM RDM  AC cargaRDM AC  RDM; atualiza N e Z selUAL(Y), cargaAC, cargaNZ AC  AC + RDM; atualiza N e Z selUAL(ADD), cargaAC, cargaNZ AC  AC AND RDM; atualiza N e Z selUAL(AND), cargaAC, cargaNZ AC  AC OR RDM; atualiza N e Z selUAL(OR), cargaAC, cargaNZ AC  NOT(AC); atualiza N e Z selUAL(NOT), cargaAC, cargaNZ PC  RDM cargaPC

Temporização dos sinais de controle (parte 1)

Temporização dos sinais de controle (parte 2)

Gerador dos sinais de temporização Clock HLT goto t0 contador

Expressões booleanas dos sinais de controle carga REM = t0 + t3.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z + t5.(STA+LDA+ADD+OR+AND) incrementa PC = t1 + t4.(STA+LDA+ADD+OR+AND) + t3.(JN.N’ + JZ.Z’) carga RI = t2 sel = t5.(STA+LDA+ADD+OR+AND) carga RDM = t6.STA Read = t1 + t4.(STA+LDA+ADD+OR+AND+JMP+JN.N+JZ.Z) + t6.(LDA+ADD+OR+AND) Write = t7.STA UAL(Y) = t7.LDA UAL(ADD) = t7.ADD UAL(OR) = t7.OR UAL(AND) = t7.AND UAL(NOT) = t3.NOT carga AC = t7.(LDA+ADD+OR+AND) + t3.NOT carga NZ = t7.(LDA+ADD+OR+AND) + t3.NOT = carga AC carga PC = t5.(JMP+JN.N+JZ.Z) goto t0 = t7.(STA+LDA+ADD+OR+AND) + t3.(NOP+NOT+JN.N’+JZ.Z’) + t5.(JMP+JN.N+JZ.Z)