• Nenhum resultado encontrado

Unidade de Controlo Hardwired

N/A
N/A
Protected

Academic year: 2021

Share "Unidade de Controlo Hardwired"

Copied!
7
0
0

Texto

(1)

ARQUITECTURA DE COMPUTADORES

2º Trabalho de Laboratório

Unidade de Controlo Hardwired

Objectivo: Pretende-se que os alunos compreendam a metodologia usada na síntese, implementação e programação de um computador elementar de Ciclo Único, constituído por uma Unidade de Controlo “Hardwired” e por uma Unidade de Processamento. O trabalho terá uma duração de 2 semanas, devendo o relatório ser entregue na aula de laboratório da segunda semana. O trabalho deverá ser preparado (projecto e edição de esquemático) fora do horário de laboratório, destinando-se as 4 horas de laboratório à resolução de eventuais problemas e demonstração do trabalho realizado. Aconselha-se, para facilitar a execução do trabalho, a consulta dos textos “Manual de Introdução ao Xilinx” e “Notas sobre utilização de Símbolos e Buses em Xilinx” disponíveis na página da cadeira.

1 I

NTRODUÇÃO

Pretende-se projectar um computador elementar de Ciclo Único, constituído por uma Unidade de Controlo Hardwired, uma Unidade de Processamento de 4 bits e ainda pelos registos, memória e lógica adicional necessárias à sua operação.

2 U

NIDADE DE

P

ROCESSAMENTO

(UP)

A Unidade de Processamento (UP) a controlar é uma versão expandida daquela que foi projectada e implementada no primeiro trabalho de laboratório. Esta UP (datapath) será fornecida pelo corpo docente. O seu diagrama de blocos é o seguinte:

MA 0 1 0 1 MB MUX A MUX B Input A Input B Address out Data out UA (R0,R1,R2,R3) RW A B X Y Z UF FS Z N 4 4 4 4 4 4 4 4 4 3 Bsel 2 Asel 2 DA 2 Bus A Bus B

(2)

Aspectos importantes relativos ao funcionamento da UP:

 Existem 4 registos na Unidade de Armazenamento (UA), denominados R0, R1, R2 e R3. Cada um destes registos tem 4 bits.

 Asel selecciona qual dos 4 registos da UA é colocado no Bus A da UP: Asel=00 selecciona R0, Asel=01 selecciona R1, etc. Do mesmo modo, Bsel selecciona qual dos 4 registos da UA é colocado no Bus B da UP: Bsel=00 selecciona R0, Bsel=01 selecciona R1, etc.

 A entrada RW determina se a saída da Unidade Funcional (UF) é escrita num dos registos (RW=1) ou não (RW=0). Quando RW=1, as linhas DA (Destination Address) seleccionam qual dos registos é escrito: DA=00 selecciona R0, DA=01 selecciona R1, etc.

 Os dados para cada um dos operandos X e Y da UF são provenientes, ou do banco de registos da UA , ou das entradas externas Input A e Input B: quando MA=0 o operando X da UF é lido do Bus A e quando MA=1 o operando X da UF provém da entrada externa Input A; o operando Y da UF é controlado de forma similar pela entrada MB.

 As linhas FS (Function Selection) determinam qual a microoperação executada pela UF:

FS2 FS1 FS0 Microoperação Descrição 000 Z = X Transferência de X 001 Z = Y Transferência de Y 010 Z = X+1 Incremento de X 011 Z = Y+1 Incremento de Y 100 Z = X-1 Decremento de X 101 Z = Y-1 Decremento de Y 110 Z = X+Y Adição 111 Z = X-Y Subtracção

 A micro-operação executada na UF afecta 2 flags: Zero (Z) e Negative (N). Estas flags são guardadas num registo de Flags após a execução de cada instrução. Dessa forma, elas ficam acessíveis para serem testadas durante a instrução seguinte.

(3)

3 A

RQUITECTURA DO

C

OMPUTADOR E DA

U

NIDADE DE

C

ONTROLO

(UC)

O computador de Ciclo Único a projectar utilizará instruções de 12 bits e operará dados de 4 bits. A Unidade de Controlo (UC) a implementar será do tipo Hardwired. A memória de instruções tem uma dimensão 64x12, ou seja, é constituída por 64 palavras de 12 bits cada. A memória de dados tem uma dimensão 16x4, ou seja, é constituída por 16 palavras de 4 bits. Ambas as memórias serão fornecidas sob a forma de um símbolo.

O seguinte diagrama de blocos apresenta a arquitectura do computador a projectar e implementar:

MA 0 1 0 1 MB

MUX A MUX B

Mem. Address Bus

Mem. Data Out Bus Mem. Data Out Bus

Mem. Data In Bus UA (R0,R1,R2,R3) RW J Z,N A B X Y Z UF FS Z N Bsel Asel DA Memoria Dados (16 x 4) MW Descodificador de Instrucoes PC Memoria Instrucoes (64 x 12) Controlo de Salto

Mem. Address Bus

DA RW Asel Bsel MA MB FS MW J Jsel Jsel

Bus Salto Input A Bus

No diagrama de blocos é possível identificar as variáveis de controlo da UP indicadas na secção anterior, e ainda as seguintes variáveis adicionais:

 MW (1 bit): Memory Write. Controla a operação de escrita na memória de dados: se MW=1 o conteúdo de Mem. Data In Bus é escrito na posição de memória indicada no Mem. Address Bus; se MW=0, a memória não é escrita.

 J (1 bit): Jump. Indica se existe um salto (J=1), ou se o PC (Program Counter) é simplesmente incrementado de uma unidade (J=0);

 Jsel (2 bits): Jump Select. Quando J=1, as linhas Jsel indicam o tipo de salto a executar:

Jsel Condição de Salto 00 Salto incondicional 10 Salta se N = 1 01 Salta se Z = 1

(4)

O sequenciamento das instruções do programa é efectuado através do Contador do Programa (PC), do bloco identificado como “Controlo de Salto”, das flags Z e N e ainda através das instruções de salto dedicadas especialmente para esse efeito, as quais controlam as variáveis J e JSel. O funcionamento do “Controlo de Salto” pode ser descrito da seguinte forma:

 Se J=0, então o PC deve ser incrementado uma unidade;

 Se J=1:

 Se JSel=00, então ao valor de PC deve ser adicionado ou decrementado o valor de 6 bits presente no bus Salto. Como esse valor está sob a forma de complemento para 2, então pode-se realizar um salto de até 31 posições de memória para a frente, ou até 32 para trás;

 Se JSel=10,01 então se N ou Z (respectivamente) estiverem inactivos, incrementa-se o PC 1 unidade; se estiverem activos deve ser adicionado ou decrementado ao PC o valor presente nos 6 bits do bus Salto. Pode assim efectuar-se um salto condicional de até +31 ou -32 posições de memória.

4 C

ONJUNTO DE

I

NSTRUÇÕES

O conjunto de instruções que se pretende implementar está contido na tabela seguinte. Para cada instrução indica-se o seu OpCode, sua designação simbólica, descrição e tipo de endereçamento utilizado.

Notação usada na tabela: o símbolo (RA) representa o conteúdo do registo RA e M[(SR)] denota a posição de memória cujo endereço é dado pelo conteúdo do registo RB. Note que, nas instruções de salto, o campo Offset está sob a forma de complemento para 2.

OpCode Operação Descrição Endereçamento

0000 LD DR, M[RB] (DR) ← M[(RB)] Registo

0001 STR M[RB], RA M[(RB)] ← (RA) Registo

0010 SUM DR, RA, RB (DR) ← (RA)+(RB) Registo

0011 SUB DR, RA, RB (DR) ← (RA)-(RB) Registo

0100 CMP RA, RB (RA) – (RB) Registo

0101 DEC DR (DR) ← (DR)-1 Registo

0110 INC DR (DR) ← (DR) + 1 Registo

0111 MOVI DR, Op (DR) ← Op Imediato

1000 SUMI DR, SR, Op (DR) ← (SR)+Op Imediato

1001 CMPI Op, SR Op – (SR) Imediato

1010 SWAP DR, M[RB] (DR) ↔ M[(RB)] Registo

1011 DECM DR, M[RB] (DR) ← M[(RB)]-1 Registo

1100 INCM DR, M[RB] (DR) ← M[(RB)]+1 Registo

1101 JMP Offset (PC) ← (PC) + Offset Relativo

1110 JN Offset N: (PC) ← (PC) + Offset Relativo

(5)

As instruções são armazenadas na memória das instruções de acordo com os seguintes formatos:

 Endereçamento Imediato:

4 2 2 4

OpCode DR SR OP

 Endereçamento por Registo:

4 2 2 2 2

OpCode DR RA RB 00

 Endereçamento Relativo (saltos condicionais e incondicionais):

4 2 6

OpCode 00 Offset

em que:

 OpCode (4 bits): código da operação a executar;

 DR (2 bits), SR (2 bits), RA(2 bits), RB(2 bits): qualquer destes campos pode valer 00(R0), 01(R1), 10(R2) ou 11(R3);

 Op (4 bits): operando (constante) de 4 bits;

 Offset (6 bits): constante em formato de complemento para 2 que indica o diferencial usado no salto relativo.

5 P

ROJECTO

5.1 Conjunto de Instruções e palavra de controlo (1ª Semana)

Apresente um exemplo para cada uma das 16 instruções tabeladas, a forma como ela deve ser armazenada na memória de instruções, e qual a palavra de controlo necessária para que essa instrução seja executada na arquitectura computacional proposta. Por exemplo:

Instrução Representação na Memória de Instruções

DA RW Asel BSel MA MB FS MW J Jsel

SUM R3,R1,R2 1001 11 01 10 00 11 1 01 10 0 0 110 0 0 XX

CMP R3,M[R0] 0111 00 11 00 00 XX 0 11 00 0 1 111 0 0 XX

JZ –13 1110 00 110011 X 0 X X X X X 0 1 10

5.2 Descodificador de Instruções (1ª Semana)

Como foi indicado anteriormente, o Descodificador de Instruções deverá ser do tipo hardwired, ou seja, deverá ser implementado como um circuito combinatório. Projecte e implemente no Xilinx o Descodificador de Instruções. Crie um símbolo a partir do circuito implementado.

5.3 Controlo de Salto (1ª Semana)

Projecte e implemente no Xilinx o bloco de Controlo de Salto e o Program Counter. Crie um símbolo a partir do circuito implementado. Pode utilizar os circuitos que lhe parecerem mais adequados.

5.4 Computador de Ciclo Único (2ª Semana)

Utilize o Xilinx para ligar todos os módulos disponíveis (Memórias, UP, UC, Controlo de Salto...) de forma a obter o Computador de Ciclo Único.

(6)

6 F

ASEAMENTO E

R

ELATÓRIO

O trabalho decorrerá durante 2 semanas, devendo ser discutido e apresentado a correr no computador durante a segunda aula de laboratório. As aulas de laboratório destinam-se, essencialmente, à correcção de erros e bugs e a tirar dúvidas que possam existir sobre a implementação do projecto. O trabalho deverá ser planeado e desenvolvido, tanto quanto possível, fora do horário de laboratório, sendo impossível realizá-lo sem qualquer preparação prévia e apenas durante as 3 horas de laboratório. Tendo em consideração estes aspectos, o trabalho desenvolvido será avaliado por fases. Assim:

1ª SEMANA

No início da 1ª aula de laboratório os alunos deverão apresentar o trabalho correspondente às alíneas 5.1, 5.2 e 5.3, quer a nível de preparação e projecto (diagrama de blocos e tabelas), quer a nível de implementação em Xilinx. Deverão igualmente ter projectado o Computador de Ciclo Único (5.4) a nível de diagrama de blocos.

O trabalho será apresentado, testado e discutido (através de questões individuais dirigidas). 2ª SEMANA

• No início da 2ª aula deverão trazer todo o projecto implementado em Xilinx, de preferência completamente funcional, mas admite-se que poderão existir alguns erros que necessitem da ajuda do docente (não esquecer que existem aulas de dúvidas).

O trabalho será apresentado, testado e discutido (através de questões individuais dirigidas).

• No fim da aula deverá ser entregue o relatório (que deverá vir impresso e pronto a entregar com excepção de pontos referentes a alterações de última hora e conclusões). Este deverá ser sucinto (dispensam-se introduções teóricas alongadas), mas terá obrigatoriamente que conter:

o Um diagrama de blocos geral do Computador de Ciclo Único e um esquemático de todas as unidades projectadas;

o As etapas de projecto e as opções gerais e tomadas no desenho das diversas unidades; o A resposta a todas as questões colocadas no enunciado;

o O programa que requerido no seu computador;

o Conclusões e um anexo indicando alterações de última hora.

7 A

VALIAÇÃO DOS ESQUEMAS

De modo a testar-se o funcionamento do descodificador e Unidade de controlo de salto, estes esquemas deverão seguir as seguintes regras:

 O esquema do descodificador de instruções dever-se-á chamar decod_inst o Este esquema deverá ter o seguinte sinal de entrada:

 DI_instrucao(11:0)

o Os alunos deverão tomar a decisão acerca dos sinais de saída que deverão existir e quais os seus nomes (estas decisões contaro para a avaliação final do trabalho).

o Para testar e verificar o descodificador de instruções os alunos deverão usar o ficheiro de teste teste_di.tbw

 O esquema do controlo de salto dever-se-á chamar controlo_salto o Este esquema deverá ter os seguintes sinais de entrada:

 CLK  J  JSel(1:0)  Offset(5:0)  N  Z

(7)

o Os alunos deverão tomar a decisão acerca de dos sinais de saída que deverão existir e quais os seus nomes (estas decisões contarão para a avaliação final do trabalho).

o Para testar e verificar o descodificador de instruções os alunos deverão usar o ficheiro de teste teste_c_salto.tbw

O computador de ciclo Único será avaliado na 2ª semana. Para tal, serão fornecidas as memorias (dados e instruções). Também será fornecido um documento com as indicações necessárias à programação das memorias e teste do computador de ciclo único.

8 A

VALIAÇÃO

A avaliação do projecto será realizada parcelarmente e de acordo com os seguintes pontos:

 Relatório com Projecto (10 Val.)

 Funcionamento do Descodificador de Instruções (2.5 Val.)

 Funcionamento da Unidade de Controlo de Salto (2.5 Val.)

 Funcionamento do computador (2.5 Val.)

 Programa de implementado (2.5Val.)

9 B

IBLIOGRAFIA

[1] M. Morris Mano, Charles R. Kime, “Logic and Computer Design Fundamentals”, Second Edition, Prentice-Hall International, Inc. (Capítulo 8)

[2] N. Horta, J.P. Carvalho, “Microprocessadores – Unidade de Controlo”, Aulas Teóricas, 2005.

[3] A. Parreira, H. Neto, “Introdução ao Editor de Esquemáticos e Simulador Lógico da Xilinx TM” (Manual de Introdução ao Xilinx), Aulas de Laboratório, 2005.

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC)

O presente estudo objetivou demarcar a idade de segregação, por meio da variação radial da massa espe- cífica básica, caracterizar o comportamento de propriedades físicas no

O PDI atual (2010-2019) apresenta, em seu Projeto Pedagógico Institucional – PPI, um princípio metodológico para todas as atividades acadêmicas: o desenvolvimento de atividades

A primeira explica as normas do novo Código Florestal para pequenos proprietários rurais, utilizando como exemplo o Bairro dos Pereiras- Amparo- SP e a segunda cartilha aborda

A não disponibilidade do diagnóstico laboratorial precoce limita a rápida identificação, diagnóstico e manejo de casos; identificação e seguimento dos contatos;

Atualmente são mais de 35.000 famílias, que tem como principal renda recursos da produção e venda de produtos oriundos das florestas da acácia negra ou atividades

Vantagem Competitiva da Empresa Mudar a Vantagem Competitiva Explorar a Vantagem Competitiva Produção no País: Exportação Produção no Estrangeiro: Investimento Forma