Organização e Projeto de Computadores Flashcards
Quais são os cinco componentes de um computador?
Entrada, saída, memória, caminho de dados e controle.
Quais são os três fatores principais que influenciam o tempo de execução de um programa?
Quantas instruções o programa tem, quantos ciclos de clock cada instrução possui (em média) e quanto tempo dura um ciclo de clock.
Quais fatores relevantes no tempo de execução de um programa são influenciados pelos seguintes componentes:
- Algoritmo
- Linguagem de Programação
- Compilador
- Arquitetura do conjunto de instruções
Tanto o algoritmo quanto a linguagem de programação quanto o compilador afetam a contagem de instruções e o CPI. A arquitetura do conjunto de instruções afeta a contagem de instruções, o CPI e a taxa de clock.
O que diz a lei de Amdahl? Qual o seu principal corolário?
Ela diz que a melhoria de desempenho possível com um aprimoramento é limitada pela quantidade de vezes que o recurso aprimorado é utilizado.
Seu principal corolário diz que é geralmente melhor aprimorar os casos mais comuns ao invés dos casos mais lentos.
Em assembly MIPS, o que faz a instrução “add a, b, c”? Qual princípio de projeto está relacionado com essa instrução?
Essa instrução soma as variáveis b e c e salva seu valor em a. Essa operação sempre requer três valores e isso está relacionado ao princípio que diz que simplicidade favorece a regularidade.
Qual o tamanho de um registrador na arquitetura MIPS? Quantos existem? Que princípio de projeto está relacionado a esses valores?
Um registrador na arquitetura MIPS possui 32 bits. Existem 32 registradores e isso está relacionado ao princípio que diz que menor significa mais rápido.
Esse princípio não é absoluto (31 não é necessariamente mais rápido que 32), mas uma quantidade muito grande de registradores levaria a um tempo maior de clock devido à distância que o sinal teria que percorrer.
Visto que a arquitetura MIPS possui um número pequeno de registradores, o que ocorre quando uma quantidade maior de memória precisa ser alocada? Como (e por que) o MIPS acessa esses valores?
Quando uma quantidade grande de memória precisa ser usada, o MIPS armazena esses valores na memória principal. Para acessá-la, é necessário que a instrução informe o endereço onde está o valor. Esses acessos são necessários para executar as funções principais do processador (de soma e subtração até comparações).
Visto que a arquitetura MIPS possui um número pequeno de registradores, o que ocorre quando uma quantidade maior de variáveis precisa ser alocada? Qual o nome desse processo e quem o executa?
Quando existem mais variáveis que registradores, as usadas com menor frequência são mantidas na memória. Esse processo é chamado “spilled registers” e é executado pelo compilador.
Qual a diferença entre endereçamento little end e big end?
Endereçamento little end ocorre quando o endereço de uma palavra é o endereço de seu byte mais à esquerda. Endereçamento big end ocorre quando o endereço da palavra é o endereço de seu byte mais à direita.
Qual a maior vantagem, do ponto de vista de arquitetura de processador, de se ter um registrador que armazena apenas o valor zero?
Um registrador com o valor zero permite que o arquiteto do processador reduza a quantidade de instruções diferentes que precisam ser implementadas.
Por exemplo, a instrução “mover o conteúdo do registrador a para o registrador b” pode ser implementada como “some o valor do registrador a com 0 e armazene no registrador b”.
Qual a diferença entre a representação sinal e magnitude e a representação de complemento de dois? Quais as maiores vantagens da segunda forma em relação à primeira?
Na representação sinal e magnitude, um dígito é responsável por dizer o sinal do número enquanto o restante representa o valor.
Em complemento de dois, o dígito mais significativo é multiplicado por -2 (elevado à n-ésima potência) enquanto o restante é multiplicado por 2 (elevado à n-ésima potência).
As maiores vantagens de usar complemento de dois envolve a padronização da localização do bit de sinal e possuir uma única representação para o número 0.
Em que situações uma representação diferente de complemento de dois pode ser necessária? Como é chamada essa representação?
Quando apenas valores positivos fazem sentido para um número (por exemplo, endereçamento de registradores). Essa representação é popularmente conhecida como sem sinal (unsigned).