Universidade Federal de São Paulo (UNIFESP) Instituto de Ciência e Tecnologia (ICT) Arquitetura e Organização de Computadores Prof. Fábio Cappabianco Prof. Sérgio Ronaldo
Lista de Exercícios 1: Respostas das Questões de Múltiplas Escolhas Obs: As respostas corretas estão na cor verde! Introdução e Conjunto de Instruções
1) Quais são os componentes que compõem uma arquitetura de computador von Neumann? a) Registradores, flip-flops, CPU e interface de entrada e saída. b) CPU, Flip-flops, memória, ALU, unidade de controle. c) Memória, ALU, unidade de controle, interface de entrada e saída. d) Memória, CPU, ALU, unidade de controle, interface interf ace de entrada e saída. 2) A memória da arquitetura von Neumann é utilizada para: a) Armazenar os dados do programa e dos periféricos de entrada. b) Armazenar os dados e os programas. c) Armazenar os programas e as operaçoes realizadas pela ALU. d) Armazenar os endereços dos registradores da CPU. 3) Qual é a função do barramento de endereço na arquitetura von Neumann? a) Fornecer os endereços das localidades de memória e dos periféricos que devem ser acessados. b) Fornecer o endereço da CPU e dos registradores que devem ser acessados. c) Fornecer o endereço dos perífericos e dos registradores que devem ser acessados. d) Fornecer os endereços das localidades de memória e dos registradores que devem ser acessada . 4) O que é linguagem assembly? assembly? a) É a forma usada para processar as informações na CPU. b) É um conjunto de comandos para acessar acessar a CPU c) São os programas armazenados na memória. d) É uma notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa. 5) Qual é a função do opcode em uma instrução? a) Fornecer o endereço de uma localidade de memória. b) Identificar os dados armazenado na memória. c) Identificar a instrução que será executada pela CPU. d) Executar uma operação na CPU. 1
6) Supondo que o processador execute as seguintes instruções: ADD A, B, C; ADD A, A, D; ADD A, A, E; Qual será o valor de A após o processador finalizar a execução? a) A+B+C+D b) B+C+D+E c) B+A+D+E d) A+C+D+E 7) Qual é a vantagem de um processador com registradores em relação ao processador com acumulador? a) A quantidade de registradores disponíveis na CPU. b) O baixo trafego de dados na memória e o aumento da eficiência do processador. c) O rápido acesso a memória. d) A baixa quantidade de instruções utilizadas. 8) Pode-se afirmar que: a) A arquitetura CISC " possui um conjunto menor de instruções especializadas em comparação a arquitetura RISC. b) A arquitetura CISC e RISC possuem o mesmo conjunto de instruções c) A arquitetura RISC possui um conjunto simples e pequeno de instruções que levam aproximadamente a mesma quantidade de tempo para serem executada. d) Nenhuma das alternativas anteriores são verdadeiras. 9) Quais são os principais componentes de um computador pessoal moderno? Descreva-os 10) O que é a lei de Moore? Qual é a extensão de tempo de sua validade? 11) Quais são as principais medidas de desempenho em um computador moderno? 12) Quais são os gargalos no aprimoramento de desempenho dos computadores modernos? 13) O que é a classificação de Flynn? 14) O projeto de uma nova arquitetura envolve o trabalho de três especialistas, o projetista da ISA, o projetista do caminho de dados e o desenvolvedor do compilador. Explique qual as principais preocupações destes especialistas considerando a necessidade de desempenho. 15) O que são conjuntos de instruções RISC e CISC? Descreva quais são as suas características. 16) Quais são os campos existentes em instruções RISC? 17) Qual é a diferença entre big-endian e little-endian? 18) Em relação ao conjunto de instruções, cite e explique três questões de projeto e suas implicações sobre a arquitetura adotada. 2
19) Assuma que um programa tem um “profile” de execução onde 80% das instruções são simples (tais como AND, XOR, DADD e BEQZ) e o restante 20% são instruções complexas (tais como DMUL e DDIV). Adicionalmente considere que as instruções simples precisam de 4 ciclos de máquina e as complexas precisam de 8 ciclos em uma máquina CISC (cada ciclo = 100 ns). Em uma máquina RISC, as instruções simples serão executadas em 1 ciclo, enquanto que as instruções complexas deverão ser simuladas por software necessitando, em média, 14 ciclos por instrução. Devido a sua simplicidade o tempo de ciclo em uma máquina RISC é de 70 ns. A máquina RISC será mais rápida que a CISC para na execução do programa mencionado? Modos de Endereçamento
20) O que é modo de endereçamento? a) A forma usada para acessar os operandos armazenados na memória. b) A forma usada para acessar os operandos nos registradores. c) A forma usada para acessar o opcode na memória. d) A forma usada para escrever um dado na memória. 21) Quais são as técnicas de endereçamento mais comuns? a) Direto, indireto, registrador, registrado indireto, deslocamento e pilha. b) Registrador indireto, imediato, direto, pilha, deslocamento. c) Indireto, registrador, imediato, direto, registrador direto, pilha e deslocamento. d) Indireto, registrador, imediato, direto, pilha, registrador indireto, deslocamento. 22) Qual é a vantagem do endereçamento imediato? a) Esse modo de endereçamento pode ser usada em vários tipos de memória. b) Não necessitar de nenhuma referência de memória, além de obter a instrução em si, economizando dessa forma um ciclo de memória. c) Permitir o acesso a memória de dados e aos registradores. d) Realizar rapidamente o acesso a memória para obter as instruções e os operando. 23) Qual o modo de endereçamento requer apenas uma referência de memória para acessar o operando? a) Imediato. b) Indireto. c) Pilha e registrador. d) Direto. 24) Como pode ser classificado o endereçamento de pilha? a) Endereçamento direto. b) Endereçamento indireto. c) Endereçamento implícito. d) Endereçamento imediato.
3
25) Como é realizada o endereçamento por registrador? a) Semelhante ao endereçamento direto, sendo que o campo de endereço se refere a um registrador em vez do endereço da memória. b) Semelhante ao endereçamento indireto, sendo que o campo de endereço se refere a um registrador em vez do endereço da memória. c) Semelhante ao endereçamento imediato, sendo que o campo de endereço se refere a um registrador em vez do endereço da memória. d) Semelhante ao endereçamento direto, sendo que o campo de endereço se refere a um local de memória em vez do endereço do registrador. 26) Explique a diferença entre os modos de endereçamento por deslocamento dos subtipos relativo, com base no registrador e por indexação. 27) Explique a diferença entre os métodos de indexação offset, pré-indexação e pós-indexação na arquitetura ARM. 28) Explique como funcionam os seguintes tipos de endereçamento: imediato, direto, indireto, registrador, registrador indireto, deslocamento e pilha. 29) Quais fatores devem ser levados em conta para determinar o uso de bits de endereçamento de uma instrução? 30) Quais são as vantagens e as desvantagem em usar o formato das instruções de tamanho variável? 31) Você escreveu duas versões do mesmo programa de 100 instruções. Na primeira versão, 35% das instruções eram de acesso a memória e usavam endereçamento direto. Na segunda versão, 20% das instruções eram de acesso a memória e usavam endereçamento indireto. Qual é o programa mais rápido e quanto ele é mais rápido? Considere que acessos a memória levam dois ciclos (um ciclo é igual a 250 ns), as demais instruções são executadas em apenas um ciclo. 32) Você escreveu um programa onde 35% das instruções são de acesso a memória e executou em duas máquinas. Na máquina o hardware de acesso a memória é 60% mais rápido que o hardware de acesso a memória na máquina . Qual foi a aceleração obtida na execução do programa, comparando a máquina com a máquina ? Arquitetura MIPS
33) O que é conjunto de instruções do MIPS? a) É um conjunto de instruções de baixo nível criado pelo MIPS em 1950. b) São os conjuntos de instruções criado desde a década de 1980 pela MIPS Technology. c) É um conjunto de instruções criado em 1980 pela MIPS Technology. d) É uma linguagem de programação. 4
34) Qual é o objetivo de um projetista de computador? a) Projetar um compuatador com baixo consumo de energia. b) Encontrar uma linguagem de programação que facilite a programação e reduza o tamanho do hardware. c) Encontrar uma linguagem que facilite o projeto do hardware e do compilador enquanto maximiza o desempenho e minimiza o custo. d) Encontrar uma linguagem que facilite o projeto do hardware e do compilador enquanto minimiza o desempenho e maximiza o custo. 35) O que primeiramente deve-se fazer ao projetar um novo microprocessador? a) Definir os tipos de intruções, o tamanho da memória e os periféricos do sistema. b) Definir o tamanho de memória que o microprocessador irá usar. c) Definir a memória e os periféricos. d) Definir os tipos de instruções, de dados e de programas que o microprocessador será capaz de executar.
5