1 / 16

Unidade Central de Processamento

Unidade Central de Processamento. Sistemas Digitais CIn-UFPE. Unid. controle. Memória Programas + Dados. Vídeo. IR. PC. MAR. Teclado. Gerais. MBR. ALU. E/S. Unid. processamento. Buffers. Como funciona um computador simples. IR – Instruction Register PC – Program Counter

hesper
Download Presentation

Unidade Central de Processamento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unidade Central de Processamento Sistemas Digitais CIn-UFPE

  2. Unid. controle Memória Programas + Dados Vídeo IR PC MAR Teclado Gerais MBR ALU E/S • Unid. processamento Buffers Como funciona um computador simples IR – Instruction Register PC – Program Counter MAR – Memory Address Register MBR – Memory Bus Register

  3. Início Término Como funciona um computador? Busca a próxima instrução Executa a instrução

  4. Busca instrução Decodifica instrução Incrementa PC Busca operando Executa instrução Armazena resultado Executando um programa

  5. acumulador saída Y Ty entrada Z A +/- X Tz Tula Tx controle clk Exemplo – Declarações simples Muitas vezes o processamento de uma informação exige uma seqüência de transferência até que a tarefa seja terminada. Exemplo 01: /* Programa que a função (a+b-c) e mostra o resultado (z = a+b-c) Sigad: CLRLD /* Clear acumulador Y, Z e carrega valor de A em X ADD /*ADD 1o. valor, guarda resultado e lê novo valor ADD /*ADD 2o .valor, guarda resultado e lê novo valor SUB /*SUB 3o .valor, guarda resultado DISP Sigad /*mostra resultado e repete cálculo em Z Como construir uma unidade de controle que implemente este programa? Estado Estado/saída QA Sigad: QB/CLRLD QB QC/ADD QC QD/ADD QD QE/SUB QE QA/DISP

  6. - 0 0 a 0 - b a - A = b A = a A = c 0 a+b c A=a Y=- X=- Z=- Ty=0 Tx=1 Tz=0 Tula=0 A=b Y=0 X=a Z=0 Ty=1 Tx=1 Tz=2 Tula=0 A=c Y=a X=b Z=0 Ty=1 Tx=1 Tz=2 Tula=0 A=- Y=a+b X=c Z=0 Ty=1 Tx=1 Tz=2 Tula =1 A=- Y=a+b-c X=- Z=0 Ty=0 Tx=0 Tz=1 A=- Y=- X=- Z= a+b-c A = - a+b-c 0 - a+b-c - - A = - A = - Q Q Q Q D C E A ADD ADD SUB CLRLD DISP Q B Q A Clk Z = a+b-c a Y - saída - a+b-c a+b QA Sigad: QB/CLRLD QB QC/ADD QC QD/ADD QD QE/SUB QE QA/DISP Ty Z entrada +/- X Tz A = a Tz Tula Tx controle Clk T [0] = clear [1] = load [2] = hold Tula [0] = + [1] = - Instruções Ty, Tx, Tz Tula CLRLD = [ 0, 1, 0, x ] ADD = [ 1, 1, 2, 0 ] SUB = [ 1, 1, 2, 1 ] DISP = [ 0, 0, 1, x ] Clk

  7. Instruções Ty, Tx, Tz Tula CLRLD = [ 0, 1, 0, x] ADD = [ 1, 1, 2, 0] SUB = [ 1, 1, 2, 1] DISP = [ 0, 0, 1, x] Contador de programa Execução de um progama 00 [0,1,0,x] CLRLD end+0(a) X = a; Y=0; Z= 0; 01 [1,1,2,0] ADD end+1(b) 02 [1,1,2,0] ADD end+2(c) X = b; Y=a; Z= 0; X = c ; Y= a+b; Z =0; 03 [1,1,2,1] SUB - 04 [0,0,1,x] DISP - X = -; Y= a+b-c; Z =0; X = -; Y= a+b-c; Z =a+b-c; Z = a+b-c memória Y saída cpu Ty entrada Z memória memória A +/- X Tz cpu Tula Inst |dados Tx controle clk memória Contador do Programa (PC) Z = a + b - c Memória: Instruções end(dados) cpu X = -; Y=-; Z= -; 05 - -------

  8. 15 3 4 0 Opcode Endereço Memória • Dado 0 15 sinal magnitude • Instrução Opcode 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

  9. Arquitetura do computador Dispositivo de entrada e saída(E/S) Memória Processor Memory Input/Ouput PC IR AC Address Bus MAR Data Bus MDR ALU PC = Program counter IR = Instruction register AC = Acumulador MAR = Memory Address Register MDR = Memory Data Register ALU = Arithmetic & Logic Unit Control Unit

  10. Arquitetura do computador • PC - program counter – indica a próxima instrução a ser executada. • IR - Instruction register – recebe a instrução a ser decodificada pela CPU. • AC – Acumulador (registrador auxiliar). Guarda temporariamente valores sendo calculados. • MAR – Registrador que indica a próxima posição de memória a ser referenciada. Conectado ao barramento de endereços. • MDR – Registrador usado para receber ou transmitir dados. Conectado ao barramento de dados. • ALU (ULA) – Unidade Lógica

  11. Instruções básicas ADD implementa Y=X+Y (acumulador) SUB implementa Y=Y-X CLRLD fax X=adr(memória), limpa Y e Z MULT2 faz Y=Y*2 DIV2 faz Y=Y/2 Formato da instrução do computador

  12. CPU - P1 • Fluxo de execução de instruções

  13. CPU - P1 • Fluxo de execução de instruções detalhada

  14. Instrução Dados CPU acumulador 4 bits 4 bits saída Y Memória Ty Z Barramento de dados Tz ULA X Status Tula Tx Instruções | Dados Controle Decodificador de instruções clk Barramento de Endereços PC 0 1 ……..n Barramento de dados (Instruções)

  15. Projeto • Implementar as seguintes funções na arquitetura computacional projetada • Z = (a+c-d)*2 • Z = (a+b)/2 • X=a; Y=b; if(X>Y) then Z= Y else Z=X; a e b, c e d são variáveis

More Related