Unidade Central de Processamento

Slides:



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

CPU: Controle e processamento
Arquitetura 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
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Software Básico Silvio Fernandes
Exemplo de arquitetura registrador-registrador- MIPS
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Sistemas Operacionais
Organização e Arquitetura de Computadores I Parte de Controle
Introdução à Informática
Professor: Erivelto Tschoeke – UDESC/CEPLAN
+ = MOTIVAÇÃO ARQUITETURA DE COMPUTADORES CIRCUITOS LOGICOS
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Sistemas Digitais Aula 11.
Arquitetura de Computadores ECO015
Profª Amita Muralikrishna
Introdução à Programação
Sistemas Digitais Projeto 2ª Unidade CPU.
Prof. João Paulo de Toledo Gomes
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
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.
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
UCP Memória Principal Controladores E/S
Unidade Central de Processamento UCP
ORGANIZAÇÃO DE COMPUTADORES
Sistemas Operacionais I
Organização de um computador
Projeto de Engenharia de Software e Sistemas
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
Memória Principal.
Unidade Central De Processamento: Processador
Computação L1: Infra-Estrutura Básica
Organização de Computadores Bacharel em Sistema de Informação.
Organização e Arquitetura de Computadores
Unidade Central De Processamento: Processador
DCC 001 Programação de Computadores 2o Semestre de 2011
Capítulo 4 Nível da Microarquitetura
Eletrônica Digital II ELT013
Unidade de Controle.
Organização de Computadores
Tudo sobre o Processador
Centro de Informática - UFPE
Parte 3 Seção de Dados e Unidade de Controle
Curso: Sistemas de Informação Tópico 5
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
Estrutura do Processador
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Processador MAC-1 Arquitectura.
Arquitetura de Computadores
Afonso Ferreira Miguel
Arquitetura de computadores
Arquitetura de Sistemas Operacionais
ARQUITETURA DE VON NEUMANN
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Sistemas Digitais Projeto do curso Prof. Manoel Eusebio de Lima Centro de Informática Universidade Federal de Pernambuco.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Arquitetura e organização de computadores
Transcrição da apresentação:

Unidade Central de Processamento Sistemas Digitais CIn-UFPE

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

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

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

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 Y +/- X controle Tx Ty Z Tz entrada saída A clk acumulador Tula

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

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

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

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

Executando um programa Memória Opcode | endereço dados Registradores da CPU 1 9 4 0 3 0 0 3 0 0 PC 3 0 1 5 9 4 1 0 0 0 3 AC 3 0 2 2 9 4 1 1 9 4 0 IR ... 9 4 0 0 0 0 3 0 0 0 2 9 4 1 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

Executando um programa Memória Opcode | endereço dados Registradores da CPU 1 9 4 0 3 0 0 3 0 1 PC 3 0 1 5 9 4 1 0 0 0 3 AC 3 0 2 2 9 4 1 5 9 4 1 IR ... 9 4 0 0 0 0 3 0 0 0 2 9 4 1 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

Executando um programa Memória Opcode | endereço dados Registradores da CPU 1 9 4 0 3 0 0 3 0 1 PC 3 0 1 5 9 4 1 0 0 0 5 AC 3 0 2 2 9 4 1 5 9 4 1 IR ... 9 4 0 0 0 0 3 0 0 0 2 9 4 1 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

Executando um programa Memória Opcode | endereço dados Registradores da CPU 1 9 4 0 3 0 0 3 0 2 PC 3 0 1 5 9 4 1 0 0 0 5 AC 3 0 2 2 9 4 1 2 9 4 1 IR ... 9 4 0 0 0 0 3 0 0 0 2 9 4 1 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

Executando um programa Memória Opcode | endereço dados Registradores da CPU 1 9 4 0 3 0 0 3 0 2 PC 3 0 1 5 9 4 1 0 0 0 5 AC 3 0 2 2 9 4 1 2 9 4 1 IR ... 9 4 0 0 0 0 3 0 0 0 5 9 4 1 0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.

Arquitetura do computador Dispositivo de entrada e saída(E/S) Memória Processor Memory Input/Ouput PC IR AC MAR Address Bus 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

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

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

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 MachineLanguage LOAD B 0211 ADD C 0012 LOAD address AC <= contents of memory address (02) B(11) ADD address AC <= AC + contents of memory address (00) C(12)

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

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

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

Projetos – 2a unidade

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

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

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

Projeto Implementar as seguintes funções na arquitetura computacional projetada A = B+C-D 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