Capítulo 2: Instruções Flashcards
- Operações - Operandos - Sinal e sem sinal - Representando instruções - Operações lógicas - Decisões - Funções e procedimentos - LEGv8 - Paralelismo e sincronização - Array vs Pointers - Falácias (91 cards)
O que é um conjunto de instruções?
Vocabulário de comandos entendido por uma determinada arquitetura.
Quais são os princípios de design de hardware?
- Simplicidade favorece regularidade
- Menor é mais rápido
- Um bom design exige bons compromissos.
Qual é a unidade natural de acesso em um computador geralmente representada como um grupo de 64 bits?
Doubleword.
Qual é a convenção LEGv8 para escrever instruções?
Usar X seguida pelo número do registrador.
O que é uma instrução de transferência de dados?
Comando que move dados entre a memória e os registradores.
Qual é a instrução LEGv8 para carregar dados da memória para um registrador?
LDUR (Load Unscaled Register).
Qual é a restrição de alinhamento para words e doublewords na memória?
- Words devem começar em endereços múltiplos de 4
- Doublewords devem começar em endereços múltiplos de 8.
O que é o processo de spilling registers?
Colocar variáveis usadas com menos frequência na memória.
Como os números são representados no hardware do computador?
Como uma série de sinais eletrônicos altos e baixos, ou seja, números binários.
O que é o bit menos significativo em uma doubleword LEGv8?
Bit mais à direita.
O que é a representação two’s complement?
Forma de representar números negativos onde todos os negativos têm 1 no bit mais significativo.
O que ocorre quando o bit retido mais à esquerda de um padrão de bit binário não corresponde ao bit de sinal?
Overflow.
Qual é a função de um signed load?
Copiar repetidamente o sinal para preencher o resto do registrador.
Qual é o atalho para negar números em two’s complement?
Inverter cada 0 para 1 e cada 1 para 0, depois somar um ao resultado.
O que é o conceito de programa armazenado?
Ideia de que instruções e dados podem ser armazenados na memória como números.
Quais são as operações lógicas básicas em um computador?
- AND
- OR
- NOT
- EOR.
Quais são os tipos de instruções de tomada de decisão no LEGv8?
- CBZ: compare and branch if zero
- CBNZ: compare and branch if not zero
- B: branch.
O que são códigos de condição ou flags?
São quatro bits que registram o que ocorreu durante uma instrução que termina com S.
Inclui se o resultado foi zero (Z), se negativo (N), se houve overflow (O), se houve carryout (C).
Quais são os quatro bits extras que registram o que ocorreu durante uma instrução?
Negative (N), Zero (Z), Overflow (V), Carry (C)
Esses bits são conhecidos como códigos de condição ou flags.
O que significa a flag Negative (N)?
O resultado que definiu o código de condição teve um 1 no bit mais significativo.
O que significa a flag Zero (Z)?
O resultado que definiu o código de condição foi 0.
O que significa a flag Overflow (V)?
O resultado que definiu o código de condição sofreu overflow.
O que significa a flag Carry (C)?
O resultado que definiu o código de condição teve um carry out do bit mais significativo ou um empréstimo no bit mais significativo.
Quais são algumas das instruções de comparação com sinal no LEGv8?
- EQ: branch if equal
- NE: branch if not equal
- LT: branch if less than
- LE: branch if less or equal
- GT: branch if greater than
- GE: branch if greater or equal to
- MI: branch on minus; N=1
- PL: branch on plus; N=0
- VS: branch on overflow set; V=1
- VC: branch on overflow clear; V=0