A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Unidade Central de Processamento Sistemas Digitais CIn-UFPE.

Apresentações semelhantes


Apresentação em tema: "Unidade Central de Processamento Sistemas Digitais CIn-UFPE."— Transcrição da apresentação:

1

2 Unidade Central de Processamento Sistemas Digitais CIn-UFPE

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

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

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

6 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 DISPSigad/*mostra resultado e repete cálculo em Z Como construir uma unidade de controle que implemente este programa? Estado Estado/saída Q A Sigad: Q B /CLRLD Q B Q C /ADD Q C Q D /ADD Q D Q E /SUB Q E Q A /DISP Y +/- X controle Tx Ty Z Tz entrada saída A clk acumulador Tula

7 A = a Z = a+b-c Clk Y +/- X controle Tx Ty Tz Q A Sigad: Q B /CLRLD Q B Q C /ADD Q C Q D /ADD Q D Q E /SUB Q E Q A /DISP entrada saída A = a Q B ADD A=b Y=0 X=a Z=0 Ty=1 Tx=1 Tz=2 Tula=0 A = b a 0 0 Q C ADD A=c Y=a X=b Z=0 Ty=1 Tx=1 Tz=2 Tula=0 A = c b a 0 Q D SUB A=- Y=a+b X=c Z=0 Ty=1 Tx=1 Tz=2 Tula =1 A = - c a+b 0 Q E A=- Y=a+b-c X=- Z=0 Ty=0 Tx=0 Tz=1 DISP A = - - a+b-c 0 A=- Y=- X=- Z= a+b-c Q A A = a+b-c Z Clk T [0] = clear [1] = load [2] = hold Q A CLRLD A=a Y=- X=- Z=- Ty=0 Tx=1 Tz=0 Tula=0 Instruções T y, T x, T z T ula CLRLD = [ 0, 1, 0, x ] ADD = [ 1, 1, 2, 0 ] SUB = [ 1, 1, 2, 1 ] DISP = [ 0, 0, 1, x ] Tula Tz Tula [0] = + [1] = - - a a+ba+b-c-

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

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

10 Executando um programa PC (endereço) AC (operando) IR (Instrução) Registradores da CPU... Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

11 Executando um programa PC AC IR Registradores da CPU Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

12 Executando um programa PC AC IR Registradores da CPU Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

13 Executando um programa PC AC IR Registradores da CPU Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

14 Executando um programa PC AC IR Registradores da CPU Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

15 Executando um programa PC AC IR Registradores da CPU Memória Opcode | endereço dados 0001AC <- Mem. 0010Mem. <- AC 0101AC <- AC + Mem.

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

17 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

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

19 Assembly LanguageMachineLanguage LOADB0211 ADDC0012 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 LOAD addressAC <= contents of memory address (02) B(11) ADD addressAC <= AC + contents of memory address (00) C(12)

20 CPU - P1 Fluxo de execução de instruções

21 CPU - P1 Fluxo de execução de instruções detalhada

22 CPU - P1 LOAD B Opcode address Load address AC<- conteúdo do endereço de memória PC ADD C Load B ADD C A = B+C A (acumulador), B e C são endereços de memória Assembly Language MachineLanguage LOADB0211 ADDC

23 Projetos – 2a unidade

24 Projeto 1:Máquina de vender bombons Implementar uma máquina que vende bombons, com as seguintes funcionalidades: –A máquina aceita moedas de 5 e 10 centavos –O valor de cada bombom é de 15 centavos –A máquina não dá troco, mas guarda os 5 centavos caso o cliente deposite duas moedas de 10 Centavos –O bombom é liberado automaticamente assim que o valor atinge um valor igual ou maior que 15C. –Os valores acumulados são apresentados no display. Desenvolver todo o projeto por escrito, no papel –Diagrama de estados –Tabelas verdade –Esquemático –Mostra simulação na ferramenta Quartus+II –Implementar na placa FPGA

25 Projeto b a c d e f g clk 4 Controle Decoder BCD 7-Segm. 4 Dispositivo de I/O Saída Entrada reset b a c d e f g Liberar bombom Moedas 5C 10C

26 Y ULA X Controle Decodificador de instruções Tx Ty Z Tz Dispositivo de saída clk acumulador Tula PC Memória Instruções | Dados Instrução Dados 4 bits 0 1 ……..n Barramento de dados (Instruções) CPU Status Barramento de Endereços Projeto 2: CPU b a c d e f g decodificador

27 Projeto Implementar as seguintes funções na arquitetura computacional projetada 1.A = B+C-D 2.A = (B+C)/2 Onde: A é o acumulador B, C e D são endereços de memória que armazenam os dados (positivo ou negativos) a serem processados A, B, C e D possuem 4 bits


Carregar ppt "Unidade Central de Processamento Sistemas Digitais CIn-UFPE."

Apresentações semelhantes


Anúncios Google