SISTEMAS DIGITAIS II Enunciado do Projecto

Documentos relacionados
SISTEMAS DIGITAIS I (EC) SISTEMAS DIGITAIS (EE) Enunciado do Projecto

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

ARQUITECTURA DE COMPUTADORES

Barramento. Prof. Leonardo Barreto Campos 1

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Antes de começar o exame leia atentamente esta folha de rosto

Arquitetura de Microprocessadores

Trabalho Prático Nº3 Porta Paralela

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Acetatos de apoio às aulas teóricas

Símbolos e abreviaturas utilizadas na descrição das instruções

Introdução da memória de programa

09 Unidade de controlo. v0.1

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Estrutura Básica de um Computador

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom)

SISTEMAS DIGITAIS II Enunciados de Laboratório

A utilização de elementos de memória como as ROM s permitem realizar a implementção de circuitos combinatórios: ROM Dados = OUT S

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

Interrupções por hardware

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Trabalho Prático Nº 8

Escola Secundária de Emídio Navarro

O COMPUTADOR POR DENTRO

Microprocessadores MICROPROCESSADORES. Unidade de Processamento. Sumário

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

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Sistemas Digitais. Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006

Grupo I (5 valores) CD AB

SISTEMAS DIGITAIS (SD)

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Organização e Arquitetura de Computadores I

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Sistemas Digitais Circuitos Combinatórios Típicos

Microprocessadores. Arquitectura Geral de Microprocessador

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

Trabalho prático de Sistemas Digitais

Conjunto de Instruções (ISA) I

Unidade Central de Processamento UCP (CPU)

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

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Organização e Arquitetura de Computadores I

Organização de Computadores

EXAME DE SISTEMAS DIGITAIS (LEIC) JAN 2007(1ª Data)

Arquitetura e Organização de Computadores

Exame 2 Sistemas Digitais - MEEC 2009/10 1

Universidade Federal do ABC

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

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

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13)

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

Escola Secundária de Emídio Navarro

SISTEMAS DIGITAIS (SD)

Sistemas Digitais. PALs Sequenciais Parâmetros Temporais em PALs Sequenciais ABEL Registos Contadores Registos de Deslocamento ( Shift Registers )

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (B) - 15/06/2007. Folha de Respostas

Arquitectura de Computadores 2006/2007 2º Semestre 2º Teste (A) - 15/06/2007. Folha de Respostas

Projecto de Sistemas Digitais. Trabalho Prático 1

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores.

Infra-estrutura de Hardware

Sistemas Digitais (SD)

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

SSC510 Arquitetura de Computadores 1ª AULA

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

Arquitectura de Computadores

EEC2104 Microprocessadores

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

7. Hardware programável sequencial PAL sequencial Construção sequence present ATF750C

Escola Secundária de Emídio Navarro

Sistemas Digitais (SD) Memórias

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

Exame de 1ª Época - 23 de Janeiro de Antes de começar o exame leia atentamente esta folha de rosto

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

Arquitectura de Computadores

SISTEMAS DIGITAIS (SD)

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.

Arquitectura de Computadores

2º TESTE (Questões 5, 6, 7, 8 e 9)... 1h30m EXAME (Questões 1 a 9)... 2h30m

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 3 Circuitos Combinatórios Típicos

Arquitectura de Computadores

Escola Secundária de Emídio Navarro

Aula 10 Microcontrolador Intel 8051 Parte 1

Sistemas Digitais. Aula 11

NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA

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

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Uma CPU simples para fins didáticos

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Microprograma

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

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

SSC0611 Arquitetura de Computadores

Sistemas Digitais (SD)

Arquitectura de Computadores (ACom)

Transcrição:

SISTEMAS DIGITAIS II Enunciado do Projecto Prof. José Sousa 2005/2006

Sumário Enunciado do Projecto: Processador de 1 bit...2 Regras e Calendário do Projecto...9 Estrutura do Relatório do Projecto...11 JS/05 1

Enunciado do Projecto: Processador de 1 bit Objectivo: Pretende-se construir um processador de 1 bit e desenvolver o respectivo circuito de controlo utilizando uma das técnicas de microprogramação leccionadas. Duração do projecto: Aproximadamente 6 semanas. Descrição: O processador a construir tem a seguinte estrutura: Processador de 1 bit Step Run Reset Circuito Controlador Circuito a Controlar Inputs Outputs Trata-se de um processador de 1 bit com 4 portos de entrada e 4 de saída. O comando deste processador faz-se com 3 entradas externas: Run: Executa sequencialmente as instruções do programa. Step: Executa apenas uma instrução do programa. Também serve para interromper o ciclo contínuo de instruções imposto pelo sinal Run. Esta interrupção só tem efeito após terminar o processamento da instrução em execução no momento. Reset: Coloca o Program Counter, ou seja, o endereço da próxima instrução a ser executada, em zero e inicializa o circuito controlador. Pretende-se com este trabalho projectar e desenvolver o circuito controlador utilizando uma estrutura microprogramada. No entanto, para melhor compreender a sua aplicação, há que definir muito bem o circuito a controlar cuja estrutura se apresenta na figura seguinte. JS/05 2

Inputs Sistemas Digitais II Circuito a Controlar Microprocessador de 1 bit Outputs Ri3 Ri2 Ri1 Ri0 Ra Rb Rz Ro3 Ro2 Ro1 Ro0 cl cl cl cl cl cl cl cl cl cl A B MUX in A B C D MUX oper A B MUX out A B DMUX CLK in En1 En0 Ck2 Ck1 Ck0 DEC en DEC clk A B C D 0 0 0 0 P3..P0 Program Memory C D DMUX CLK out Rf cl X3..X0 (Código da instrução) Flag Clr Reset * Jmp Reset Program Counter PE Q7..Q0 Addr Data ABCD (Argumentos da instrução) * O sinal Reset é produzido na mesma tecla que faz o Reset ao circuito controlador. * Os argumentos da instrução (A, B, C e D) são ligados directamente aos vários pontos do circuito. JS/05 3

O circuito a controlar tem a seguinte composição: I/O e Registos R i3.. R i0 Registo das 4 entradas do processador. R a e R b Registos auxiliares para processamento de bits, nomeadamente como argumentos de operações lógicas. R z Registo auxiliar para processamento de bits, nomeadamente como resultado de operações lógicas. R o3..r o0 Registo das 4 saídas do processador. Com os devidos cuidados, também pode servir como registo auxiliar... R f Registo da flag usada na realização de operações condicionais. Controlo Vários buffers, multiplexers, demultiplexers e descodificadores são usados para controlar o fluxo de sinais entre os registos da estrutura através de um Bus Comum de 1 bit. Contador de Programa Contador que contém o endereço da próxima instrução a ser executada. Os 4 bits mais significativos podem ser carregados em paralelo para permitir a execução de instruções de salto. O facto de se tratar de um contador de 8 bits limita a dimensão dos programas a um máximo de 256 instruções. Memória de Programa EPROM que contém a lista de instruções do programa a executar. Na estrutura apresentada pode acondicionar até 16 programas em simultâneo. JS/05 4

O controlo deste circuito faz-se através dos seguintes sinais: En 1 e En 0 Ck 2..Ck 0 Clr Jmp A combinação destes sinais determina qual dos buffers será activado, ou seja, qual dos registos tem acesso ao Bus Comum e, então, pode ser lido. A combinação destes sinais determina qual dos registos vai receber um impulso de clock, directa ou indirectamente, ou seja, qual dos registos vai ser escrito. É também através destes sinais que se incrementa o contador de programa. É através deste sinal que se inicializam, ou seja, são colocados a zero, todos os registos do processador. Este sinal é utilizado em instruções de salto, isto é, quando o Program Counter sofre desvios na sua sequência normal de incremento. Para além dos sinais utilizados no controlo do microprocessador de 1 bit, existem outros sinais que são operados manualmente: Reset P 3..P 0 É através deste sinal, produzido por uma tecla, que se inicializa o Program Counter, ou seja, o contador que contém o endereço da próxima instrução a executar. Pretende-se que sejam produzidos por um DIP-switch e são ligados aos 4 bits mais significativos dos 12 bits de endereço da memória de programa. Servem apenas para seleccionar até 16 programas diferentes armazenados na memória de programa. Os restantes 8 bits de endereço da memória de programa, tal como já tinha sido referido, são produzidos pelo contador de programa. Os programas que este processador de 1 bit pode executar são construídos por uma sequência de instruções de 8 bits, retiradas de uma lista pré-definida, que se arnazena na memória de programa. As instruções são identificadas por um código de instrução de 4 bits (X 3..X 0 ) o que permite definir até 16 instruções diferentes. Quando necessário, os restantes 4 bits definem o(s) argumento(s) da instrução (A,B,C e D). JS/05 5

A listagem das instruções é a seguinte: X 3 X 2 X 1 X 0 A B C D 0 0 0 0 x x x x NOP 0 0 0 1 x x x x CLR 0 0 1 0 A B x x RDI n 0 0 1 1 A B x x ITZ n 0 1 0 0 A B C D ITO mn 0 1 0 1 x x x x ZTA 0 1 1 0 x x x x ZTB 0 1 1 1 x x C D ZTO n 1 0 0 0 x x x x ZTF 1 0 0 1 A B x x OTZ n 1 0 1 0 A B C D OPR n 1 0 1 1 A B C D GO addr 1 1 0 0 A B C D JMP addr 1 1 0 1 A B x x SKP n 1 1 1 0 A B x x HLD n 1 1 1 1 x x x x END Descrição Realiza um ciclo de instrução sem acção Faz o CLEAR a todos os registos da estrutura Dando o respectivo impulso de clock, actualiza o conteúdo do registo de entrada R in (n dado por AB) Sem dar impulso de clock, copia o conteúdo do registo de entrada R in (n dado por AB) para o registo R z Sem dar impulso de clock, copia o conteúdo do registo de entrada R im (m dado por AB) para o registo de saída R on (n dado por CD) Copia o conteúdo do registo R z para o registo R a Copia o conteúdo do registo R z para o registo R b Copia o conteúdo de R z para o registo de saída R on (n dado por CD) Copia o conteúdo do registo R z para o registo R f Copia o conteúdo do registo de saída R on (n dado por AB) para o registo R z Executa a operação n (n dado por ABCD) sobre o conteúdo dos registos R a e R b e guarda o resultado no registo R z (ver tabela adiante) Salta para a instrução no endereço addr (addr dado por ABCD0000) Salta para a instrução no endereço addr (addr dado por ABCD0000) se o conteúdo do registo R f for 1 Dando o respectivo impulso de clock, copia o conteúdo do registo de entrada R in (n dado por AB) para o registo R f e, se fôr zero, salta a execução da instrução seguinte Dando o respectivo impulso de clock, copia o conteúdo do registo de entrada R in (n dado por AB) para o registo R f e, se fôr zero, não incrementa o Program Counter Assinala o fim de programa JS/05 6

Quanto à instrução OPR n, note-se que esta usa como argumentos o conteúdo dos registos R a e R b e o resultado deve ser armazenado no registo R z. A operação será executada através do multiplexer OPER como função das suas entradas A, B, C e D dadas no argumento da instrução, pelo que se obtém: R a 0 0 1 1 R b 0 1 0 1 n A B C D Operação (R a,r b ) 0 0 0 0 0 ZERO/RESET 1 0 0 0 1 AND 2 0 0 1 0 R A NOTR B 3 0 0 1 1 R A 4 0 1 0 0 NOTR A R B 5 0 1 0 1 R B 6 0 1 1 0 XOR 7 0 1 1 1 OR 8 1 0 0 0 NOR 9 1 0 0 1 NXOR/COMPARE A 1 0 1 0 NOT R B B 1 0 1 1 R A +NOTR B C 1 1 0 0 NOT R A D 1 1 0 1 NOTR A +R B E 1 1 1 0 NAND F 1 1 1 1 ONE/SET Para que o microprocessador funcione correctamente, vai ser necessário desenvolver um circuito de controlo, objectivo deste projecto, tal como apresentado na figura seguinte: Circuito a Controlar X3 X2 X1 X0 Flag Run Step Circuito Controlador Micro Programado En1 En0 Ck2 Ck1 Ck0 Clr Jmp DEC Bus DEC Clk X3 X2 X1 X0 Reset Inputs Outputs JS/05 7

Tendo à entrada o código da instrução que vai ser executada (X 3 a X 0 ), o valor do registo de flag R f e os sinais externos Step, Run e Reset, o circuito controlador deve produzir a sequência de sinais (EN 1, EN 0, CK 2..CK 0, Clr e Jmp) necessários para a correcta execução das instruções que constituem o programa armazenado sequencialmente na memória de programa. No microprocessador, o controlo executa-se por ciclos de instrução em 2 passos: o Descodifica e executa a instrução corrente, aquela cujo endereço está definido pelo contador de programa; o Incrementa o contador de programa para a próxima instrução e recomeça o ciclo. Esse ciclo repete-se até ao fim do programa, sempre sujeito à intervenção dos sinais externos Step, Run e Reset. Note-se que no ciclo de instrução, o incremento do contador de programa pode não ocorrer; casos das instruções GO, JMP, SKP, HLD e END. JS/05 8

Regras e Calendário do Projecto A execução do projecto de laboratório é obrigatória para se conseguir a aprovação na disciplina. Para esse efeito é necessário obter, no minímo, 10 valores nesta componente da avaliação. O projecto só é avaliado quando são satisfeitos os seguintes requisitos: a) Conceptualização, projecto, implementação e teste do trabhalho realizados por todos os elementos do grupo constituído com o conhecimento e consentimento do docente de laboratório; b) Execução prática do trabalho tal como é pedido no enunciado, nomeadamente no que diz respeito à implementação de aspectos obrigatórios; c) Realização do projecto de acordo com a matéria leccionada e/ou a bibliografia recomendada para a cadeira; d) Entrega do relatório completo e conforme as indicações que se apresentam no capítulo seguinte deste documento, sendo obrigatória a justificação das decisões tomadas no projecto; e) Realização da discussão, com a presença de todos os elementos do grupo, em que se demonstre claramente o domínio da matéria e do projecto em si e com demonstração prática do circuito a funcionar correctamente; f) Satisfação rigorosa dos prazos impostos; g) Devolução de todo o material requisitado no laboratório; Contribuem para a avaliação aspectos como: a) Opinião do docente de laboratório relativamente ao comportamento e atitude dos alunos durante a execução do projecto (recomenda-se a apresentação, ao respectivo docente de laboratório, da progressão do trabalho); b) Justificação adequada das decisões tomadas durante a execução do projecto; c) Correcção da forma, linguagem e conteúdo do relatório; d) Execução de opções não descritas no enunciado desde que aprovadas pelo docente de laboratório; e) Qualidade da solução apresentada, quer do ponto de vista funcional quer do ponto de vista do hardware utilizado; f) Execução do trabalho em PCB ou wire-wrapping. JS/05 9

As discussões serão marcadas aquando da entrega do relatório. Esta tem que ser feita pelos elementos do grupo directamente ao seu docente de laboratório pela forma que determinarem em conjunto com aquele. A violação desta disposição pode levar à não realização da discussão e consequente reprovação. Se no período entre a entrega do relatório e a realização da discussão houver lugar a alterações menores no projecto, estas deverão ser devidamente documentadas e justificadas com uma adenda ao relatório que se entrega no próprio momento da discussão. Caso tal não se verifique, a classificação sofrerá uma penalização. Só se admitem alterações significativas ao trabalho quando estas forem previamente autorizadas pelo respectivo docente de laboratório. A não entrega do relatório, a falta de comparência na discussão ou a não devolução dos materiais de laboratório determinam a imediata reprovação nesta componente da avaliação da disciplina o que, de acordo com o estipulado na Ficha de Disciplina, determina a reprovação à disciplina. A realização do projecto decorre ao longo das últimas aulas de laboratório tendo início na semana de 1 de Novembro de 2005. A data limite de entrega dos respectivos relatórios é o fim do dia 3 de Janeiro de 2006. As discussões realizar-se-ão no dia 5 de Janeiro de 2006, em conformidade com um calendário a definir. Nota: Qualquer alteração nas datas apresentadas será devidamente publicitada na página web da disciplina, http://ltodi.est.ips.pt/digitais, pelo que se sugere a sua consulta periódica. JS/05 10

Estrutura do Relatório do Projecto Nos pontos seguintes indicam-se as partes que devem constituir o relatório de projecto de Sistemas Digitais. Não sendo necessário seguir à risca a estrutura indicada é no entanto um bom ponto de partida. 1- Capa Identificação do projecto Nome e número dos alunos Local e Data 2- Resumo Resumir o relatório no máximo de uma página 3- Descrição do problema Explicação do enunciado Diagrama de blocos Descrição funcional de cada bloco 4- Descrição da solução realizada Diagrama lógico de cada bloco Explicação e justificação associadas a cada diagrama lógico Descrição das opções tomadas 5- Conclusões Resumo do trabalho efectuado Resumo crítico do trabalho Possíveis desenvolvimentos futuros (sugerir como) Anexos Esquemáticos (diagrama lógico e diagrama de pinos) Lista de componentes (Não incluir os data-sheets dos componentes) Nota: A estrutura e linguagem do relatório são factores fundamentais a considerar na avaliação. Por isso recomenda-se a utilização de uma linguagem clara e sucinta. Deve evitar-se o uso da primeira pessoa, recomenda-se o uso da forma reflexa, por exemplo, em vez de se escrever nós fizemos deverá escrever-se fez-se. Um relatório não é uma obra literária nem a transcrição de um discurso pelo que se recomenda um especial cuidado na forma como o texto é redigido. JS/05 11