Exercícios 1.Explique o que é: a) arquitetura de computador, b) ISA, c) linguagem de programação de alto nível, d) linguagem de montagem, e) conjunto de instruções, f) montador, g) sistemas operacionais, h) bit, i) instrução, j) registrador, k) memória, l) processador, m) placa mãe, n) periférico, o) dispositivo de entrada, p) dispositivo de saída, q) mapa de bits, r) RGB, s) caminho de dados, t) unidade de controle, u) palavra. 2. Tanto o ser humano e a máquina conseguem se comunicar através de uma linguagem, onde cada um entende sua própria linguagem. Sendo assim, como ocorre a comunicação de uma pessoa com um computador? Aproveite e explique em sua resposta o que é uma linguagem. 3. Como um programa é transformado da linguagem humana para a linguagem da máquina? 4. Explique brevemente como ocorreu a evolução dos computadores até os computadores atuais. Responda as seguintes questões limitando-se à arquitetura MIPS estudada em sala de aula. 5. Quais são as instruções aritméticas que o processador consegue executar? Explique sua sintaxe. 6. Quantos bits tem um registrador e qual o tamanho de qualquer instrução em bits? 7. Transforme o seguinte pseudocódigo para linguagem de montagem: a=b+c d = (a – b) + 1 + (a+c) a=a*3 8. Como um array é armazenado na memória e como acessá-lo? 9. Quais são as instruções de acesso à memória (transferência de dados) que o processador consegue executar? Explique sua sintaxe. 10. Transforme o seguinte pseudocódigo para linguagem de montagem: a = b + d[20] c[12] = a + 1 11. Como um montador traduz uma instrução em linguagem de montagem para uma instrução de máquina? 12. Como é organizada uma instrução do Tipo R e uma instrução do Tipo I? (lembre-se de explicar o que é op, rs, rt, etc.) 13. Como são divididos os registradores dentro de um processador? 14. Quais são as instruções de desvio (condicionais e incondicionais) que o processador consegue executar? Explique suas sintaxes. 15. Qual a diferença entre desvios condicionais e desvios incondicionais? Dê dois exemplos. 16. Transforme o seguinte pseudocódigo para linguagem de montagem: LACO: a = a + b[i] i=i+j if (i != b) vápara LACO 17. Para que serve e como funciona a instrução jal? Dê um exemplo. 18. Na chamada de procedimentos, deve-se utilizar posições de memória para armazenar valores antigos de registradores com a intenção de preservá-los. Essas posições de memória fazem parte de uma pilha. Explique o que é essa pilha e como ela deve ser utilizada. 19. Transforme o seguinte pseudocódigo para linguagem de montagem: Troca: tmp = a a=c c=a FazConta: # parametro_a = parametro_a + 10 b = b * 2 + parametro_a retorne b Main: a = 10 b = 20 c=a*3 a=c+a chame Troca( &a, &c ) d = FazConta( 10 )