Baixe o app para aproveitar ainda mais
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?
Compartilhar