1 / 28

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

gita
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. Exemplo - Simple statements Exemplo: /* Programa que repete uma seqüência de adições de três sinais de entrada (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 ADD /*ADD 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/ADD QE QA/DISP saída Y Tx entrada Z A + X Tz Ty controle clk

  6. 0 0 - a 0 - b a - A = c A = b A = a 0 a+b c A=a Y=- X=- Z=- Ty=0 Tx=1 Tz=0 A=b Y=0 X=a Z=0 Ty=1 Tx=1 Tz=2 A=c Y=a X=b Z=0 Ty=1 Tx=1 Tz=2 A=- Y=a+b X=c Z=0 Ty=1 Tx=1 Tz=2 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 ADD ADD ADD CLRLD DISP D C E A Q B Q A Clk Z = a+b+c Y saída QA Sigad: QB/CLRLD QB QC/ADD QC QD/ADD QD QE/ADD QE QA/DISP Ty Z entrada + X Tz Tx controle Clk T [0] = clear [1] = load [2] = hold Clk

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

  8. 15 3 4 0 Opcode Endereço Memória • Dado 0 15 sinal magnitude • Instrução Opcode

  9. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 0 PC (endereço) 3 0 0 3 0 1 5 9 4 1 AC (operando) 2 9 4 1 3 0 2 1 9 4 0 IR (Instrução) ... 0 0 0 3 9 4 0 0 0 0 2 9 4 1

  10. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 0 PC 3 0 0 3 0 1 5 9 4 1 0 0 0 3 AC 2 9 4 1 3 0 2 1 9 4 0 IR ... 0 0 0 3 9 4 0 0 0 0 2 9 4 1

  11. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 1 PC 3 0 0 3 0 1 5 9 4 1 0 0 0 3 AC 2 9 4 1 3 0 2 5 9 4 1 IR ... 0 0 0 3 9 4 0 0 0 0 2 9 4 1

  12. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 1 PC 3 0 0 3 0 1 5 9 4 1 0 0 0 5 AC 2 9 4 1 3 0 2 5 9 4 1 IR ... 0 0 0 3 9 4 0 0 0 0 2 9 4 1

  13. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 2 PC 3 0 0 3 0 1 5 9 4 1 0 0 0 5 AC 2 9 4 1 3 0 2 2 9 4 1 IR ... 0 0 0 3 9 4 0 0 0 0 2 9 4 1

  14. Memória Opcode | endereço dados Executando um programa Registradores da CPU 1 9 4 0 3 0 2 PC 3 0 0 3 0 1 5 9 4 1 0 0 0 5 AC 2 9 4 1 3 0 2 2 9 4 1 IR ... 0 0 0 3 9 4 0 0 0 0 5 9 4 1

  15. 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

  16. 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

  17. Instruções básicas Formato da instrução do computador

  18. CPU - P1 • Conjunto de instruções básicas • Exemplo de um programa no P1: A = B+C A (acumulador), B e C são endereços de memória Assembly Language MachineLanguageLOAD B 0211ADD C 0012

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

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

  21. A = B+C • A (acumulador), • B e C são endereços de memória Assembly Language MachineLanguageLOAD B 0211ADD C 0012 00 00 07 01 00 12 Load B 1. 2. ADD C CPU - P1 02 11 00 12 00 03 00 04 PC Opcode address 00 04 00 07 1. 2. LOAD B 02 11 00 04 02 11 00 04 00 03 00 12 ADD C 01 01 01 12 12 11 12 11 01 00 12 00 03 00 04 02 11 Load address AC<- conteúdo do endereço de memória

  22. Figure 8.12 MIF file containg mP 1 Computer Program.

  23. Figure 8.13 Simulation of the Simple mP 1 Computer Program.

  24. a f g e c Decoder BCD 7-Segm. b d Projetos • Calcular a média aritmética de três números previamente colocados na memória da CPU e mostrar o resultado no display. • Comparar elementos de um array (5 elementos), colocando o maior deles numa variável "resultado“ e no display. Os resultados das operações devem ser enviados para o display (dispositivo de saída do sistema) Dispositivo de I/O Saída Entrada 4 reset 4 clk CPU - mP 1 programa

  25. Arquitetura/plataforma de prototipação CPU Decodificador Memória Driver Driver Controle dos motores Motor 2 Robô Motor 1 Motor 1 Motor 2

More Related