MICROPROCESSADORES 1º TESTE

Propaganda
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
MICROPROCESSADORES
1º TESTE
Ano Lectivo: 2003/2004
Data: 30 de Abril de 2004
Ano Curricular: 1º Ano – 2º Semestre
Duração: 1h30
INFORMAÇÕES GERAIS
1. Identifique todas as folhas do enunciado com nome e nº.
2. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta).
3. Responda no espaço delimitado a seguir a cada questão.
4. Utilize o verso da página, onde se encontra a pergunta, para rascunho ou para espaço adicional.
5. A não entrega do teste tem o mesmo significado que a não comparência ao teste.
1 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
I - Unidade de Processamento
DATA
Sel D
DA
FSUA
Escrita de
Registos
Unidade de
Armazenamento
Sel A
AA
Sel B
BA
A
B
Endereço
Const.
Dado
0 1
MUX B
A
Função
Bits de
Estado
MB
Nota: RD, RA e RB correspondem aos registos seleccionados, respectivamente, pelos
sinais SelD, SelA e SelB.
DA, AA, BA
Função Cod.
R0
00
R1
01
R2
10
R3
11
B
FSUF
Unidade
Funcional
C,N,Z,V
DATA_IN
0 1
MUX D
Considere a seguinte Unidade de Processamento (UP) composta por uma Unidade de
Armazenamento (UA), com 4 registos (R0, R1, R2 e R3) de 8 bits, e uma Unidade
Funcional (UF) que implementa as 8 funções indicadas na tabela. A presente UA, para
compensar o reduzido número de operações de manipulação de dados da UF,
especificadas pelo sinal FSUF, incorpora um conjunto de funções suplementares de
transferências de dados entre registos, conforme descrito pelo sinal FSUA. As linhas
Endereço, Dado e Data_In destinam-se à comunicação com uma memória externa.
MD
FSUF
MB
MD
Função
Cod.
Função Cod. Função Cod.
B
000 Constante
0
Função
0
A+B
001
Registo
1
DataIn
1
A-B
010
A+1
011
AND (A,B)
100
OR (A,B)
101
NOT A
110
SR A
111
FSUA
Função
Não Escreve
RD = DATA
Ri = 0 (i=0 ... 3)
RA <> RB (Swap)
Cod.
00
01
10
11
1. [2,5 Val] Analise os dados fornecidos sobre a UP e assinale a resposta correcta em cada alínea:
a) A UP inclui uma Unidade de Armazenamento composta por __ registos de __ bits.
8, 4;
4, 8;
4, 4;
8, 8.
b) A UP permite endereçar directamente uma memória de __ palavras de __ bits.
256,16;
16,16;
256,8;
16,8.
c) A dimensão mínima da Palavra de Controlo, nas condições do enunciado, é de __ bits.
20;
9;
12;
13.
d) O simples aumento da complexidade da UF para 32 funções conduz _____ da dimensão da Palavra de Controlo,
nesta mesma situação o número de registos da UA deve ser ______.
ao aumento, expandido; à redução, expandido;
ao aumento, mantido;
à manutenção, reduzido;
e) A execução de uma micro-operação é realizada em ___ ciclo(s) do sinal de relógio.
1;
2;
1 ou 2;
número variável.
2. [1,5 Val] Defina um formato para a palavra de controlo e descreva para a operação indicada o conteúdo da(s) palavra(s) de
controlo necessárias à sua execução. (Sugestão: Para uma melhor legibilidade da(s) palavra(s) de controlo consideradas
utilize linguagem simbólica, isto é, as designações das funções e não as suas codificações.)
R3 ← (DATA_IN – R1)/2
2 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
3. [2,5 Val] Considere uma Unidade de Armazenamento de 4 registos de 8 bits que permita incorporar as operações FSUA
especificadas na tabela da página anterior. Projecte a lógica combinatória para gerar o sinal de activação do carregamento
paralelo (LOAD_H) do registo R1. Suponha que o registo apenas tem o LOAD como sinal de controlo, portanto, os únicos
modos de operação serão manutenção do dado anterior ou carregamento paralelo. Admita, ainda e por simplicidade, que as
entradas de selecção SelD, SelA e SelB são entradas de descodificadores de 2/4 e que as respectivas saídas estão
identificadas com SD0 a SD3, SA0 a SA3 e SB0 a SB3, isto é, a entrada SelD = 01 activará o sinal SD1.
4. [2,5 Val] Admita que pretende projectar uma U. Aritmética para implementar as funções indicadas na tabela, considere,
ainda, que lhe é disponibilizado um somador completo de 8 bits. Projecte o circuito de lógica combinatória necessário a
geração do bit menos significativo do operando Y e ainda a lógica para activação do Cin.
Bloco A
F(A,FSUF)
Cin
X
Soma
Somador S
Bloco B
F(B,FSUF)
Y
Carry
FSUF
Função
B
A+B
A-B
A+1
AND (A,B)
OR (A,B)
NOT A
SR A
Cod.
000
001
010
011
100
101
110
111
3 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
II - Unidade de Controlo
Considere a seguinte arquitectura de ciclo único:
Considere para esta questão a UP descrita
anteriormente.
Bits de
Estado
PL,JB,BC
Controlo e
Actualização
do PC
Sel D
Offset
DATA
DA
FSUA
Escrita de
Registos
Formatos das Instruções (10 bits):
Endereçamento por Registo
OpCode DR SA SB
Endereçamento Imediato
OpCode DR Operan.
Enderçamento Relativo
OpCode Offset
Unidade de
Armazenamento
Sel A
AA
Sel B
BA
A
B
Endereço
PC
Conc. 0s
Const.
Dado
UP
End.
0 1
MUX B
Memória de
Instruções
A
Função
Data Out
Bits de
Estado
PC – Registo de 8 bits
MB
MW
Data In MW End.
B
FSUF
Unidade
Funcional
Memória
deDados
C,N,Z,V
Descodificador
de Instruções
DAT A_IN
SelD,SelA,SelB,FSUA,
FSUF, MB,MD, MW
0 1
MUX D
OpCode
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Operação
MOVI DR, Op
ADD DR, SA, SB
SUB DR, SA, SB
INC DR
AND DR, SA, SB
OR DR, SA, SB
NOT DR
SR DR
LD DR, M[SA]
STR M[SA], SB
JMP Offset
JZ Offset
JN Offset
CMP SA, SB
SWAP SA, SB
INIT
PL – (0- Incremento ou
1- Carregamento Paralelo)
JB – (0- Salto Incondicional ou 1-Salto
Condicional)
BC – Selecção da Condição de Salto
0 – Salta se Z,
1 – Salta se N
Data Out
SelD, Sela e SelB – Selecção de um registo de
R0 a R3
MD
Descrição
(DR) ← Op
(DR) ← (SA)+(SB)
(DR) ← (SA)-(SB)
(DR) ← (DR) + 1
(DR) ← (SA) AND (SB)
(DR) ← (SA) OR (SB)
(DR) ← NOT (DR)
(DR) ← SR (DR)
(DR) ← M[(SA)]
M[(SA)] ← (SB)
(PC) ← (PC) + Offset
Z: (PC) ← (PC) + Offset
N: (PC) ← (PC) + Offset
(SA) – (SB)
(SA) ↔ (SB)
(Ri) ← 0, i = 0..3
Nota: As flags Z e N são guardadas num
registo na UF.
Bits de Estado
N, Z
N, Z
N, Z
N, Z
Z
Z
Z
Z
não são alteradas
não são alteradas
não são alteradas
não são alteradas
não são alteradas
N, Z
não são alteradas
não são alteradas
Endereçamento
Imediato
Registo
Registo
Registo
Registo
Registo
Registo
Registo
Registo
Registo
Relativo
Relativo
Relativo
Registo
Registo
Registo
4 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
1. [2,5 Val] Assinale a resposta correcta em cada alínea:
a)
Considerando o armazenamento de programas com um máximo de 200 instruções numa memória, com a dimensão
mínima, o número de linhas de endereçamento deverá ser de ___ e a dimensão das palavras deverá ser de ___ bits.
200, 8;
256, 10;
8, 10;
16, 8.
b) Para o conjunto de instruções apresentado o(s) sinai(s) de selecção ___ retiram-se directamente da instrução enquanto
o(s) sinal(s) de selecção ___ devem ser gerados pelo descodificador de instruções.
(SelD,SelA), (SelB);
(SelD), (SelA,SelB);
(SelD,SelB), (SelA);
(SelA), (SelD,SelB);
c) Admitindo que pretendia utilizar uma memória para implementar toda a lógica combinatória relativa ao
descodificador de instruções (excluindo os sinais SelD, SelA e SelB), a dimensão mínima da memória deverá ser de
___ palavras de ___ bits.
4, 11;
16, 11;
4, 8;
16, 8.
d) No caso do “offset” ser especificada através dos campos DR, SA e SB da instrução, o bloco de extensão de sinal
deverá adicionar ___ bits.
4;
2;
1;
0.
e) No caso da “constante” ser especificada através dos campos SA e SB da instrução, o bloco de concatenação de zeros
deve adicionar ___ bits
4;
2;
1;
0.
2. Considere que se pretende projectar a Unidade de Controlo para a arquitectura da pergunta 1 de modo a permitir executar o
conjunto de instruções da tabela anterior (Admita que as Flags são guardadas num registo na UF).
a)
[1,5 Val] Determine a expressão da função lógica correspondente ao sinal MB=f(OpCode), a ser gerado pelo
Descodificador de Instruções.
b) [1,5 Val] Considere os seguintes conteúdos nas memórias de instruções e dados. Preencha a tabela com o conteúdo
dos registos e memória de dados após a execução de cada instrução e apenas quando se der alguma alteração.
Nota: caso alguma instrução seja executada mais do que uma vez apresente os valores relativos apenas à primeira
execução.
Endereço
..
01
02
03
04
05
06
07
08
Instrução
...
MOVI R0, 00
LD R1, M[R0]
INC R0
LD R2, M[R0]
CMP R2, R3
JZ +2
JMP -4
STR M[R0], R1
PC
01
02
03
04
05
06
07
03
09
Z
0
1
-0
-0
----
N
0
--0
-1
----
R0
07
00
-01
------
R1
01
-01
-------
R2
02
---02
-----
R3
04
---------
M[0]
01
---------
M[1]
02
---------
M[2]
03
---------
M[3]
04
-------01
5 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
3. [2,5 Val] Considere a seguinte arquitectura elementar de computador de ciclo múltiplo:
PL,PI
Controlo e
Actualização
do PC
PC
Escrita de
Registos
DATA
Offset
Sel D
Para
Memória
DA
Formatos das Instruções (10 bits):
Endereçamento por Registo
OpCode DR SA SB
Endereçamento Imediato
OpCode DR Operan.
Enderçamento Relativo
OpCode Offset
FSUA
Unidade de
Armazenamento
Sel A
Da
Memória
AA
Sel B
BA
A
B
Do PC
Endereço
IL
IR
Conc. 0s
MC
0 1
MUX B
Bits de
Estado
Const.
Dado
UP
0 1
MUX B
MS
A
CAR
Controlo
CAR
Função
Bits de
Estado
MM
0 1
MUX B
MB
MW
Data In MW End.
B
FSUF
Memória
de Instruções e
Dados
Unidade
Funcional
C,N,Z,V
Memória de
Controlo
NA
Data Out
PC – Registo de 8 bits
PI – ( 0- Inactivo, 1- Incremento)
PL – (0- Inactivo, 1- Carregamento Paralelo)
IR – Registo de 8 bits
IL – (0- Inactivo, 1- Carregamento)
MS – Selecciona modo de actualização do
registo
CAR
(00Incremento,
01Carregamento, 10- Carregamento se Z, 11Carregamento se N)
MC – Selecciona fonte para carregamento de
CAR (0- Memória de Controlo, 1- IR)
MM – Selecciona Endereço
(0- do operando A, 1- do PC)
DATA_IN
MS, MC, IL PI, PL,
TD, TA, TB, FSUA,
FSUF, MB, MD,
MW, MM
0 1
MUX D
MD
Para IR
SelD, Sela e SelB – Selecção de um registo de
R0 a R4 (o registo R4 é um registo auxiliar de
uso exclusivo das microinstruções)
Nota: As flags Z e N são guardadas num
registo na UF.
a)
Na presente arquitectura de ciclo múltiplo a aquisição da instrução, a descodificação da instrução e a execução da
operação associada à instrução é executada em ___ ciclo(s) de relógio.
1;
2;
3;
número variável.
b) Em geral a arquitectura de ciclo múltiplo é mais ____ na execução de instruções _____ quando comparada com a
arquitectura de ciclo único.
lenta, complexas;
lenta, elementares;
rápida, elementares;
Nenhuma das anteriores
c) Durante os vários ciclos de execução de uma mesma instrução o registo IR __ o seu conteúdo, enquanto o registo
CAR ___ o respectivo conteúdo.
mantém, altera;
altera; altera;
mantém, mantém;
altera, mantém.
d) A memória de instruções e dados é endereçada pelo _____ para aquisição de instruções pelo ____ para escrita/leitura
de dados
operando A, IR;
Operando A; PC
PC, Operando A
PC, IR
e) Na arquitectura definida o deslocamento associado a uma instrução de salto pode assumir valores entre _ e _.
0, 256;
-31, 32;
-32, 31
0, 255;
6 de 7
Departamento de Engenharia Electrotécnica e de Computadores
Instituto Superior Técnico - Universidade Técnica de Lisboa
Microprocessadores 2003/2004
LEEC
Nome:
Nº:____________
5. Considere a arquitectura de computador elementar de ciclo múltiplo. Admita a utilização de: (1) uma memória de controlo
de 64 palavras de N bits; (2) 1 registo auxiliar R4 cuja utilização é restrita às micro-instruções, passando nesta situação o
endereçamento dos registo a ser realizado por 3 bits (o endereço do registo Ri corresponderá à representação binária de i,
na palavra de controlo apenas se especifica a “1” o bit TD, TA e TB a quando da utilização do registo R4 para DR, SA ou
SB).
a)
[1,5 Val] Complete as linhas da memória de controlo de modo a definir o conjunto de micro-instruções (IF, EX0, ...)
necessárias à execução das seguintes instruções (utilize notação simbólica):
(DR) ← (SA)+(SB)
(SA) ↔ (SB)
M[(SA)] ← (SB)
N: (PC) ← (PC) + Offset
ADD DR, SA, SB
SWAP SA, SB
STR M[SA], SB
JN Offset
Notação simbólica a utilizar em cada campo das micro-instruções:
MS
00-INC
01-LOAD
10-LIFZ
11-LIFN
MC
0-MC
1-IR
IL
0-NL
1-LD
PI
0-NI
1-IN
PL
0-NL
1-LD
TD
0-DR
1-R4
TA
0-SA
1-R4
TB
0-SB
1-R4
MB
0-CT
1-RG
FSUF
Função
MD
0-FC
1-DT
FSUA
00-NW
01-WR
10-IN
11-SW
MM
0-RG
1-PC
MW
0-NW
1-WR
Conteúdo parcial da memória de controlo:
Endereço
IF
EX0
MOVI
ADD
SWAP
STR
JN
JN1
JN2
JN2
JN2
* Endereço
NA*
EX0
--IF
IF
IF
IF
JN2
IF
IF
IF
IF
MS
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
LIFN
LOAD
LOAD
LIFN
LIFN
MC
MC
IR
MC
MC
MC
MC
MC
MC
MC
MC
MC
IL
LD
NL
NL
NL
NL
NL
NL
NL
NL
NL
NL
PI
IN
NI
NI
NI
NI
NI
NI
NI
NI
NI
NI
PL
NL
NL
NL
NL
NL
NL
NL
NL
LD
LD
LD
TD
----DR
DR
--------
TA
-----SA
SA
SA
------
TB
-----SB
SB
SB
------
MB
----CT
RG
--------
FSUF
----------------------F=B
A+B
--------
MD
----FC
FC
--------
FSUA
NW
NW
WR
WR
SW
NW
NW
NW
NW
NW
NW
MM
PC
------RG
------
MW
NW
NW
NW
NW
NW
WR
NW
NW
NW
NW
NW
b) [1,5 Val] Defina o fluxograma ASM correspondente a uma micro-rotina, conjunto de micro-instruções, que permita
implementar a seguinte instrução:
MULM DR, Op
M[DR] ← M[DR] x Op
Sugestão: Implemente a multiplicação através de Op somas do M[DR].
Nota: Neste caso pode utilizar o número de registos auxiliares que entender e não apenas R4
7 de 7
Download