Buscar

6.1 Nível ISA Exercício

Prévia do material em texto

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA 
CAMPUS CAMPINA GRANDE 
CURSO: TECNOLOGIA EM TELEMÁTICA 
DISCIPLINA: ARQUITETURA DE COMPUTADORES 
PROFESSORA: DANIELLA DIAS 
 
 
 
 
 
LISTA DE EXERCÍCIOS SOBRE NÍVEL ISA 
 
1. Explique a metodologia empregada pelos arquitetos de sistemas para o projeto do nível ISA. 
2. Quais são as características de uma boa ISA? 
3. Qual o papel do compilador na ligação entre uma linguagem de alto nível e o ISA? 
4. Quais são os modos de execução do nível ISA? Qual a diferença entre esses modos? 
5. Os registradores no nível ISA podem ser classificados como? 
6. Qual a função do registrador PSW? 
7. Quais os tipos de dados que o nível ISA reconhece? 
8. Qual a composição de uma instrução? 
9. Quais os formatos mais comuns de instrução? 
10. Qual a vantagem e desvantagem de se ter instruções de tamanho fixo ou variável? 
11. Quais são os critérios para a determinação do formato das instruções? 
12. Quais os modos de endereçamento existente? 
13. Explique cada um dos modos de endereçamento. 
14. Elabore um esquema de expansão do código de operação para permitir que os formatos de 
instruções mostrados a seguir sejam codificados em 36 bits: 
7 instruções com dois endereços de 15 bits e um número de registrador de 3 bits 
500 instruções com um endereço de 15 bits e um número de registrador de 3 bits 
50 instruções sem referência a endereço ou a registrador 
15. É possível elaborar um esquema de expansão do código de operação que permita que as instruções 
seguintes sejam codificadas em 12 bits? Uma referência a registrador gasta 3 bits. Justifique. 
4 instruções com três registradores 
255 instruções com um registrador 
16 instruções sem referência a registrador 
16. Compare máquinas de 0, 1, 2 e 3 endereços escrevendo os programas para que cada uma delas 
calcule o valor da expressão abaixo: 
X = (A + B X C)/(D – E X F) 
As instruções disponíveis para o uso em cada uma das máquinas são as seguintes: 
0 endereço 1 Endereço 2 Endereços 3 Endereços 
PUSH M LOAD M MOV (X = Y) MOV (X = Y) 
POP M STORE M ADD (X = X + Y) ADD (X = Y + Z) 
ADD ADD M SUB (X = X – Y) SUB (X = Y – Z) 
SUB SUB M MUL (X = X * Y) MUL (X = Y*Z) 
MUL MUL M DIV (X = X/Y) DIV (X = Y/Z) 
DIV DIV M 
 
M é um endereço de memória de 16 bits e X, Y e Z são endereços de memória de 16 bits ou números de 
registradores de 4 bits. A máquina que não faz referência a qualquer endereços usa uma pilha, a que 
referencia somente um endereço, usa o acumulador e as outras duas têm 16 registradores e instruções que 
operam sobre todas as combinações de endereços de memória e registradores. SUB X, Y subtrai Y de X e 
SUB X,Y,Z subtrai Z de Y e coloca o resultado em X. Considerando códigos de operação de 8 bits e 
comprimentos de instrução sempre múltiplos de 4, pergunta-se: quantos bits cada uma das máquinas gasta 
para calcular o valor de X?

Continue navegando