ESPECIFICAÇÃO DO PROJETO (Segunda Unidade)

Documentos relacionados
ESPECIFICAÇÃO DO PROJETO (Segunda Unidade)

ESPECIFICAÇÃO DO PROJETO (Primeira Unidade)

SSC510 Arquitetura de Computadores 1ª AULA

Sistemas Digitais. Aula 11

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

MICROCOMPUTADORES. Professor Adão de Melo Neto

3 Utilizando o CircuitMaker, simule circuito abaixo e preencha sua tabela. Analise que circuito é esse.

Arquitetura de Computadores Aula 10 - Processadores

18/10/2010. Unidade de Controle Controle. UC Microprogramada

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Solução Lista de Exercícios Processadores

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

a) Obtenha a tabela verdade das operações com 01 bit

Organização e Arquitetura de Computadores INTRODUÇÃO

Projeto com Linguagens de Descrição de Hardware

Lab Verilog Chaves, LEDs e Multiplexadores

Organização de Computadores

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Organização e Arquitetura de Computadores I

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Introdução à Computação: Arquitetura von Neumann

PSI3441 Arquitetura de Sistemas Embarcados

Instruções de Máquina

Aula Expositiva 03. DCC 001 Programação de Computadores 2 o Semestre de 2011 Prof. Osvaldo Carvalho DCC

CONJUNTO DE INSTRUÇÕES

PSI3441 Arquitetura de Sistemas Embarcados

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

2. A influência do tamanho da palavra

Multiplicador Binário com Sinal

X Y Z A B C D

Calculadora Simples em VHDL

Relatório de Prática no LABORATORIO

Circuito de Recepção Serial Assíncrona

Unidade Central de Processamento UCP (CPU)

Processador: Conceitos Básicos e Componentes

UCP 8051 (parte 02) Professor Adão de Melo Neto

2. A influência do tamanho da palavra

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Tutorial Verilog 1ª Edição

INTRODUÇÃO: MICROCONTROLADORES

Organização de Computadores

CALCULADORA SIMPLES COM ULA

Prof. Leonardo Augusto Casillo

Arquitetura dos Microprocessadores

Estrutura Básica de um Computador

Processador nanopcs-4

Aula 16: UCP: Conceitos Básicos e Componentes

Relatório Circuitos Lógicos. Calculadora 4 bits

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

COMPUTADOR 2. Professor Adão de Melo Neto

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013

Processadores

Comunicação Serial Assíncrona

Prof. Gustavo Oliveira Cavalcanti

Unidade de Processamento Baseado em Pilha Fundamentos de sistemas digitais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

UCP: Caminho de Dados (Parte II)

Universidade Federal de Pernambuco Centro de Informática

Uma CPU simples para fins didáticos

Capítulo 6 Aritmética Digital: Operações e Circuitos

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Processador nanopcs-3

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Arquitetura e Organização de Computadores

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Instituto Federal de Educação, Ciências e Tecnologia de Santa Catarina. Máquina de Bebidas

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Organização Básica III

ORGANIZAÇÃO DE COMPUTADORES

Organização de Computadores 1

Universidade Federal de Pernambuco. Unidade Lógico-Aritmética (ULA) Somador BCD

Evolução dos computadores

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Exercícios de Laboratório 1

Organização de Sistemas de Computadores

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

FACULDADE LEÃO SAMPAIO

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Primeiro Trabalho de POO Emulador para o Processador Winter

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto

Transcrição:

ESPECIFICAÇÃO DO PROJETO (Segunda Unidade) Projeto da CPU com Teclado O projeto da CPU precisa ser acoplado a um teclado com comunicação PS2 bem como a um decodificador para display de sete segmentos que também será desenvolvido. Neste projeto da segunda unidade, a ULA e os registradores da CPU devem ser desenvolvidos usando Portas Lógicas, já a Unidade de Controle da CPU e o Decodificador do Teclado em Verilog. O projeto deve estar pronto para baixar na placa de prototipação DE2-70, inclusive com as pinagens configuradas. As respectivas pinagens (associação de um sinal entrada/saída com um pino do FPGA) estão especificadas em anexo. Deverá ser entregue um relatório impresso ao professor juntamente com o código fonte (pasta completa do projeto compactada), detalhando cada fase desenvolvida, que deve conter: a) Capa com identificação dos alunos b) Visão Geral do Projeto (figura ilustrando o sistema completo em blocos). Explicar sucintamente nesta etapa cada módulo desenvolvido. c) Circuito ou Verilog projetado de cada módulo e simulação (waveform) d) Circuito / Verilog com todo sistema conectado e simulação (waveform) e) Conclusão Módulo Driver PS2 O módulo do driver PS2 tem como entrada quatro sinais (Clk_board, Data, Ready, Clk), cada um com 1 bit de informação e dois sinais de saída (new_instruction, instruction). O dado oriundo do teclado indica uma instrução a ser executada pela CPU. Entradas: 1. Dois sinais Clk_board e Data de 1 bit (1 para o clock do teclado e 1 para os dados do teclado). Os dados são enviado de forma serial segundo o protocolo PS2. 2. Um sinal ready de 1 bit que indica que a CPU executou uma instução e está pronta para receber uma nova instrução. Se ready = 1 então um novo dado pode ser enviado. Neste caso, a CPU deve ficar "congelada". Este sinal vai para zero quando uma nova instrução estiver sendo processada na CPU. 3. O sinal Clk, de 1 bit, que representa o clock do sistema. É utilizado para sincronizar o envio dos dados para a unidade de controle.

Tecla 0 1 Instrução CLRLD(000) ADD(001) Ao teclar '0', o módulo do driver PS2 enviará para a CPU um comando '000' indicando que uma instrução de CLRLD será executada. 2 SUB(010) 3 AND(011) 4 OR(100) 5 6 7 XOR(101) NOP(110) DISP(111) Saídas: 1. Uma saída new_instruction de 1 bit, indicando que uma nova instrução chegou pelo teclado. 2. Um sinal instruction de 3 bits que contém um vetor de bits indicando o opcode de uma instrução. Este opcode deve ser decodificado pela unidade de controle da CPU. CPU A CPU é composta da Unidade de Controle, Unidade Lógica e Aritmética e Registradores. Registradores Os registradores armazenam temporariamente um dado, que nunca estará no formato de complemento a dois (ou seja, um bit de sinal e quatro de módulo), que está sendo

processado. O registrador pode receber 3 comandos: (00, 01, 10), oriundos de Tx, Ty e Tz. Os registradores X, Y e Z possuem 5 bits cada um. Unidade de Controle A unidade de controle é responsável pela sequência de execução das instruções na CPU. Caso o "new_instruction = 1", então indica que chegou uma nova instrução. A unidade de controle coloca "ready = 0" indicando que irá executar uma nova instrução. Em seguida, o comando contido em "instruction" é decodificado seguindo a Tabela abaixo. Exemplo: Caso "instruction=000", então foi o comando de CLRLD, com isso, deve-se colocar nos sinais Tx, Ty, Tz e Tula os valores indicados na tabela.

ULA A unidade lógica e aritmética é responsável pelas operações lógicas de and, or e xor, além das aritméticas de adição e subtração. As operações lógicas devem ser feitas bit a bit entre dois operandos. Entradas: Saídas: 1. Dois vetores de 5 bits (1 para o sinal e 4 para o módulo) oriundos dos registradores X e Y, representando os operandos. Esses números são binários positivos ou negativos (não estarão complementados a 2). 2. O sinal Tula de 3 bits que representa o tipo de operação. 1. Um vetor F de 5 bits, que não deve estar complementado a dois, representando o resultado da operação (para os casos em que a operação retorna um vetor). 2. Um sinal (LED) representando overflow (para as operações que podem gerar overflow). 3. Um sinal (LED) para indicar que o resultado é negativo (aceso quando negativo e apagado quando positivo). Decodificador BCD para display de 7 segmentos Para que seja possível exibir os números no display da placa DE2-70, o projeto da ULA deve estar acoplado a um decodificador. Os leds de cada display acendem quando colocado nível lógico 0. Entradas: Saídas: 1. Para uma ULA de 5 bits representando um número binário positivo ou negativo (sem estar no complemento a 2). 1. Dois vetores de 7 bits representando os 2 displays, segundo a tabela abaixo.

Sistema Completo Observação: Além de ser conectado a dois displays de 7 segmentos, cada registrador também deve estar conectado a 5 LEDS (cada bit ligado a um LED) vermelhos, para a visualização das operações lógicas. Observação: Os valores a serem processados virão de 5 switches, com 1 bit sendo de sinal e 4 para o módulo (ou seja, não virão complementados a dois). Observação: Quando acontecer um overflow deverá ser mostrado no display de Z Observação: Na instrução DISP caso as operações feitas anteriormente sejam aritméticas os leds conectados a Z devem ser apagados e caso as operações sejam lógicas os displays devem ser apagados.

Exemplos: 5 + 3 = 8 Essa expressão deverá executada da seguinte forma: Switches: 00101 CLRLD (Zera Y e Z e carrega X com o valor 5) Switches: 00011 ADD (Adiciona Y = 0 com X = 5 e coloca o resultado em Y, além de carregar X com o valor 3) ADD (Adiciona Y = 5 com X = 3 e coloca o resultado em Y, além de carregar X com o valor 3) DISP (Carrega Z com o valor 8 e zera X e Y) 4 + 3 1 1 2 = 3 Essa expressão deverá ser executada da seguinte forma: Switches: 00100 CLRLD (Zera Y e Z e carrega X com o valor 4) Switches: 00011 ADD (Adiciona Y = 0 com X = 4 e coloca o resultado em Y, além de carregar X com o valor 3) Switches: 10001 ADD (Adiciona Y = 4 com X = 3 e coloca o resultado em Y, além de carregar X com o valor -1) ADD (Adiciona Y = 7 com X = -1 e coloca o resultado em Y, além de carregar X com o valor -1) Switches: 00010 ADD (Adiciona Y = 6 com X = -1 e coloca o resultado em Y, além de carregar X com o valor 2)

SUB (Subtrai Y = 5 com X = 2 e coloca o resultado em Y, além de carregar X com o valor 2) DISP (Carrega Z com o valor 3 e zera X e Y)

Informações sobre clock

Pinagem: O FPGA Cyclone II para o qual o projeto será baixado é o EP2C70F896C6.