Instituto Federal de Educação, Ciência e Tecnologia
Curso: Bacharelado em Ciência da Computação
Disciplina: Arquitetura e Organização de Computadores
Professor: Mário Luiz Rodrigues Oliveira/Otávio de Souza Martins Gomes
Atividade: 2ª Lista de Exercícios
Formiga, MG, 25 de fevereiro de 2014
INSTRUÇÕES:
1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes.
2. Caso você ache que falta algum detalhe nas especificações, você deverá fazer as suposições que
julgar necessárias e escrevê-las com as suas respostas. Pode acontecer também de algum
enunciado conter dados e/ou especificações supérfluas para a solução de alguma pergunta
específica. Utilize sua capacidade de julgamento para separar o supérfluo do necessário.
3. Entregue apenas uma resolução por grupo.
4. A data final para entrega desta lista de exercícios é o dia 12/03/2014, no início da aula.
5. Listas plagiadas serão desconsideradas, sendo atribuída nota 0 (zero) a todos os envolvidos.
EXERCÍCIOS
1) [TAN-Adaptado]Considere o conteúdo de cada posição de memória, conforme descrito a seguir:
•
registrador 8 contém o valor 40
•
registrador de base (RB) contém o valor 10
•
palavra 20 contém o valor 40
•
palavra 30 contém o valor 50
•
palavra 40 contém o valor 60
•
palavra 50 contém o valor 70
Considere que as instruções a seguir referem-se a uma máquina com um endereço e com um acumulador.
Explique qual o valor estará carregado no acumulador após a execução de cada instrução (as operações não
devem ser consideradas cumulativas e referem-se sempre ao estado descrito acima):
a) LOAD IMEDIATO 20
b) LOAD REGISTRADOR DIRETO 8
c) LOAD REGISTRADOR INDIRETO 8
d) LOAD ABSOLUTO DIRETO 20
e) LOAD ABSOLUTO INDIRETO 20
f) LOAD RELATIVO DIRETO 20
g) LOAD RELATIVO INDIRETO 20
Instituto Federal de Educação, Ciência e Tecnologia
Curso: Bacharelado em Ciência da Computação
Disciplina: Arquitetura e Organização de Computadores
Professor: Mário Luiz Rodrigues Oliveira/Otávio de Souza Martins Gomes
Atividade: 2ª Lista de Exercícios
Formiga, MG, 25 de fevereiro de 2014
2) [EXAME QUALIFICAÇÃO DOUTORADO UFMG-2010-1] a) Descreva objetivamente as duas
vantagens da arquitetura load/store?
b) As arquiteturas load/store são mais típicas de máquinas Reduced Instruction Set Computer (RISC) ou
Complex Instruction Set Computer (CISC)? Explique objetivamente.
c) Assumindo que os demais fatores sejam iguais, uma arquitetura load/store apresentará uma CPI maior ou
menor do que uma arquitetura memory-memory? Justifique objetivamente.
d) Descreva objetivamente, para cada uma das seguintes arquiteturas, sua principal característica e o número
de endereços de memória explícitos em uma instrução típica:
1. load/store
2. memory-memory
3. pilha
4. acumulador
3) [PAT-Adaptado] Este exercício tem por objetivo comparar diferentes estilos de conjunto de instruções. Os
estilos de instruções a serem comparados são:
•
Acumulador: um operando é implicitamente o acumulador.
•
Memory-Memory: todos os três operandos da instrução estão na memória.
•
Pilha: todas operações ocorrem considerando que os operandos estão no topo da pilha. Apenas as
instruções push e pop podem fazer acessos à memória.
•
Load-Store: todas as operações ocorrem nos registradores e as instruções register- register possuem
três operandos.
Assuma que o opcode de cada instrução possui 4 bits, todos os endereços de memória são de 2 bytes, todos
os operandos ocupam 4 bytes de memória, existem 16 registradores de propósito geral e que o tamanho das
instruções é múltiplo inteiro de um byte.
Considere as seguintes instruções e suponha que todas as variáveis estão inicialmente na memória:
E:= F + G;
F:= E * G;
D:= E / F;
a) Para a sequência de código acima, calcule a quantidade de bytes necessários para executá-la em cada um
dos estilos de instrução acima especificados.
Instituto Federal de Educação, Ciência e Tecnologia
Curso: Bacharelado em Ciência da Computação
Disciplina: Arquitetura e Organização de Computadores
Professor: Mário Luiz Rodrigues Oliveira/Otávio de Souza Martins Gomes
Atividade: 2ª Lista de Exercícios
Formiga, MG, 25 de fevereiro de 2014
b) Qual estilo de arquitetura é mais eficiente considerando como parâmetro de desempenho o tamanho do
código em bytes? Justifique sua resposta.
c) Qual estilo de arquitetura é mais eficiente considerando como parâmetro de desempenho o tráfego de
memória gerado pelo código durante a execução, incluindo busca de instruções? Justifique sua resposta.
d) Algumas arquiteturas são caracterizadas considerando o número de endereços de memória por instrução.
Normalmente usam-se os termos 0,1,2 e 3 endereços por instrução. Associe esses termos a cada categoria de
arquitetura acima especificadas.
4) [TAN] Nas CPU´s Intel, as instruções podem conter qualquer número de bytes, par ou ímpar. Nas CPU´s
Motorola, todas as instruções contém um número par de bytes. Dê uma vantagem do esquema Intel.
5) [STA-Adaptado] a) Uma instrução em linguagem de máquina é formada por opcode e operandos. A
especificação de onde estão os operandos é conhecida como endereçamento. Cite e explique 3 (três) modos
de endereçamento.
b) Quantas vezes a CPU acessa a memória quando busca e executa uma instrução que requer um único
operando, usando os seguintes modos de endereçamento?
1. direto
2. indireto
3. imediato
4. registrador
c) Quantas vezes a CPU acessa a memória quando busca e executa uma instrução que requer dois operandos,
usando os seguintes modos de endereçamento?
1. direto
2. indireto
3. imediato
4. registrador
6) [TAN-Adaptado] Algumas arquiteturas Complex Instruction Set Computer (CISC) possuem uma operação
denominada CLR (limpar) que inicializa uma posição de memória ou registrador com o valor zero. As
arquiteturas Reduced Instruction Set Computer (RISC) são desprovidas de tal instrução, pois uma de suas
características é possuir um número simples e reduzido de instruções. No entanto, nada impede a criação de
Instituto Federal de Educação, Ciência e Tecnologia
Curso: Bacharelado em Ciência da Computação
Disciplina: Arquitetura e Organização de Computadores
Professor: Mário Luiz Rodrigues Oliveira/Otávio de Souza Martins Gomes
Atividade: 2ª Lista de Exercícios
Formiga, MG, 25 de fevereiro de 2014
um programa que inicializa uma posição de memória ou registrador com o valor zero. Planeje uma maneira
eficiente de limpar uma posição de memória ou registrador numa máquina com arquitetura MIPS
(Microprocessor Without Interlocked Pipeline Stages). Lembre-se que a arquitetura MIPS é um exemplo
típico de máquina RISC.
7) [STA-Adaptado] Considere um processador Reduced Instruction Set Computer (RISC) e a função A=(BC)*(D-E). Suponha opcode de 8 bits, operandos e endereços de memória de 16 bits. Considere ainda que o
processador possui registradores endereçados por 4 bits. Escreva um programa para calcular essa função.
Seu código não deve sobrescrever quaisquer dos operandos e você pode utilizar quaisquer registradores
temporários necessários.
a) Qual o número máximo de registradores a disposição do programador? Justifique sua resposta.
b)Qual o tamanho do seu programa em bytes? Justifique sua resposta.
c)Qual o tráfego de memória gerado pelo seu programa durante a execução, incluindo a busca de instruções?
Justifique sua resposta.
8) [PAR-Adaptado] Vários autores sugerem que adicionar um modo de endereçamento register-memory
numa arquitetura laod-store pode ser útil. A ideia é trocar sequências do tipo:
LOAD R1, M
ADD R2,R2,R1
Por
ADD R2, M, onde M é o endereço de uma posição de memória qualquer.
Suponha que a nova instrução faça o ciclo de clock aumentar 10%. Suponha também que a frequência média
de loads em programas típicos na máquina load-store é 20%. A nova instrução só afeta o ciclo de clock e
não a quantidade de ciclos por instrução (CPI). Qual a porcentagem de loads deve ser eliminada para que a
máquina com a nova instrução tenha pelo menos o mesmo desempenho?
9) [TAN] Uma máquina contém instruções de 16 bits e endereços de 6 bits. Algumas instruções têm um
endereço e outras têm dois. Se houver n instruções de dois endereços, qual o número máximo de instruções
de um endereço?
Instituto Federal de Educação, Ciência e Tecnologia
Curso: Bacharelado em Ciência da Computação
Disciplina: Arquitetura e Organização de Computadores
Professor: Mário Luiz Rodrigues Oliveira/Otávio de Souza Martins Gomes
Atividade: 2ª Lista de Exercícios
Formiga, MG, 25 de fevereiro de 2014
10) [TAN] Um de seus amigos lhe informa que teve um brilhante ideia: uma instrução com dois opcodes.
Você deve mandá-lo para o cartório de registro de patentes ou de volta a prancheta?
Referências:
[TAN] TANENBAUM, Andrew S. Organização Estruturada de Computadores. 5ª edição. São Paulo:
Pearson Prentice Hall, 2007.
[PAT] PATTERSON, David A. e HENNESSY, John L. Organização e Projeto de Computadores: a interface
hardware/software. 3ª edição. São Paulo: Campus, 2008.
[STA] STALLINGS, William. Arquitetura e Organização de Computadores. 8ª edição. São Paulo: Pearson
Prentice Hall, 2010.
[PAR] PARHAMI, Behrooz. Arquitetura de Computadores: de microprocessadores a supercomputadores. 1ª
edição. McGraw-Hill, 2008.
[HEN] HENNESSY, John L. e PATTERSON, David A. Arquitetura de Computadores: uma abordagem
quantitativa. 5ª edição. São Paulo: Campus, 2014.
Download

File - Ciência da Computação