Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Prof. Pedro B. Velloso 2a Lista de exerc´ıcios 1. Explique cada um dos seguintes termos com suas pro´prias palavras: a) Interpretador b) Tradutor c) Ma´quina virtual 2. Projete um opcode crescente para permitir que todas as instruc¸o˜es seguintes sejam codificadas em 36 bits:? a) 7 instruc¸o˜es com dois enderec¸os de 15 bits e um nu´mero de registrador de 3 bits; b) 500 instruc¸o˜es com um enderec¸o de 15 bits e um nu´mero de registrador de 3 bits; c) 16 instruc¸o˜es sem enderec¸o nem registradores. 3. Uma determinada ma´quina tem instruc¸o˜es de 16 bits e enderec¸os de 6 bits. Algumas instruc¸o˜es teˆm um enderec¸o e outras teˆm dois. Se ha´ n instruc¸o˜es de dois enderec¸os, qual e´ o nu´mero ma´ximo de instruc¸o˜es de um enderec¸o? 4. Dados os valores de memo´ria abaixo e uma ma´quina de um enderec¸o com um acumulador, que valores as seguintes instruc¸o˜es carregam no acumulador? palavra 20 conte´m 40 palavra 30 conte´m 50 palavra 40 conte´m 60 palavra 50 conte´m 70 a) CARREGA IMEDIATO 20 b) CARREGA DIRETO 20 c) CARREGA INDIRETO 20 d) CARREGA IMEDIATO 30 e) CARREGA DIRETO 30 f) CARREGA INDIRETO 30 5. Converta as seguintes fo´rmulas de notac¸a˜o infixa para a polonesa reversa: a) A+B + C +D + E b) (A+B)× (C +D) + E c) (A×B) + (C ×D) + E) d) (A−B)× (((C −D × E)/F )/G×H 6. Converta as seguintes fo´rmulas da notac¸a˜o polonesa reversa para infixa: a) AB + C +D× b) AB/CD/+ c) ABCDE +×× / d) ABCDE × F/+G−H/×+ 7. Quais dos seguintes pares de fo´rmulas em notac¸a˜o polonesa reversa sa˜o matematicamente equiva- lentes? a) AB + C+ e ABC ++ b) AB − C− e ABC −− c) AB × C+ e ABC +× d) ABCDE × F/+G−H/×+ 8. Converta a seguinte fo´rmula em notac¸a˜o infixa para a polonesa reversa e a avalie usando uma pilha, como mostrado em sala de aula: (2× 3 + 4)− (4/2 + 1) 9. Em um certo computador e´ poss´ıvel transferir um nu´mero de registrador para outro, deslocar cada um deles para a esquerda de quantidades diferentes e somar os resultados em menos tempo que uma multiplicac¸a˜o. Explique como esta sequeˆncia de instruc¸o˜es pode agilizar a multiplicac¸a˜o. 10. Quais as formas de comunicac¸a˜o da CPU com os dispositivos de entrada e sa´ıda? Explique como elas funcionam. 11. Escreva uma sub-rotina em linguagem de montagem para converter uma expressa˜o na notac¸a˜o infixa para polonesa reversa. 12. Escreva duas sub-rotinas em linguagem de montagem para N !. A primeira deve ser iterativa e a segunda deve ser recursiva 13. Explique o compromisso entre escrever um programa em linguagem de montagem e escreveˆ-lo em uma linguagem de alto n´ıvel. Qual a melhor pra´tica a ser adotada? 14. Quais as diferenc¸as entre a linguagem de montagem, a linguagem de ma´quina (n´ıvel ISA), e uma linguagem de alto n´ıvel? 15. Qual a diferenc¸a de um compilador, um interpretador e um montador? 16. Explique cada um dos passos de um montador de dois passos. 17. Qual a diferenc¸a entre instruc¸a˜o e pseudo-instruc¸a˜o? 18. O que e´ uma macro e qual a diferenc¸a para uma chamada a uma rotina (CALL)? 19. As definic¸o˜es de macros devem preceder a suas chamadas. Qual seria o impacto para a montagem caso fosse permitido colocar as macros ao final do programa? 20. Qual a funcionalidade de um linker? 21. Explique o processo de ligac¸a˜o?
Compartilhar