Capítulo 2 (Novas perguntas) Flashcards
No tipo D, qual campo define o endereço de memória?
Address
Em LEGv8, quanto vale o deslocamento entre doublewords?
8 bytes
O que é tabela de símbolos?
Associa labels aos endereços
O que é uma corrida de dados?
Dois acessos à mesma memória sem sincronização
Qual o tamanho de uma double word?
64 bits
Qual registrador é o ponteiro de quadro?
X29 (FP)
Instruções mais poderosas significam maior desempenho?
Não
Qual par de instruções permite sincronização em LEGv8?
LDXR e STXR
Todos os dados durante a instrução residem na memória?
Não todos, variáveis temporárias residem apenas nos registradores.
Qual instrução realiza chamada de procedimento?
BL
Quais registradores são usados para parâmetros e retorno?
X0–X7
Qual instrução faz desvio incondicional?
B
Qual formato de instrução LEGv8 é usado para transferência de dados?
Tipo D
Qual instrução compara e desvia se não zero?
CBNZ
Por que não se usa muitos registradores no processador?
Pois pela demora dos sinais eletrônicos de chegarem, o tempo do clock aumentaria.
Qual abordagem evita multiplicações no loop?
Ponteiros
Qual registrador sempre vale zero?
XZR
Qual tipo de instrução é usado para branch incondicional?
Tipo B
Conjuntos de instruções bem-sucedidos não mudam?
Falácia
Qual formato de instrução LEGv8 é usado para operações aritméticas?
Tipo R
O que o loader faz?
Coloca o programa na memória
Qual modo de endereçamento o registrador é o operando?
O endereçamento de registrador
Qual modo de endereçamento o operando é um espaço na memória identificado pela soma do valor em um registrador e uma constante?
O endereçamento de base ou deslocamento
Qual instrução retorna de uma chamada de procedimento?
BR
Escrever em assembly garante melhor desempenho?
Não
Qual registrador recebe o endereço de retorno de BL?
X30 (LR)
O que o STXR faz?
Escreve se não houve alteração
Qual a primeira etapa para rodar um programa?
Compilação
Palavras em máquinas com endereçamento por byte diferem por quanto?
Tamanho da palavra, não 1
Qual instrução armazena uma doubleword na memória?
STUR
O que o linker faz?
Resolve referências e une módulos
Quantos registradores existem no LEGv8? De quantos bits?
32 registradores de 64 bits cada.
Qual registrador é o ponteiro de pilha?
X28 (SP)
Quais registradores devem ser salvos pelo callee?
X19–X28
O que o assembler faz?
Traduz assembly para linguagem de máquina
Quantos bytes um ponteiro é incrementado em um array de long long int?
8 bytes
Qual o tamanho de uma half-word?
16 bits
Qual o tamanho de uma word?
32 bits
Qual o tamanho de todas as instruções LEGv8?
32 bits
Qual instrução compara e desvia se zero?
CBZ
Qual a nomenclatura dos registradores do LEGv8?
x0, x1, x2… Até x30.
O que é exclusão mútua?
Apenas um processador opera na região crítica
O que o LDXR faz?
Lê memória com exclusividade
Qual o tamanho dos registradores do LEGv8?
Double-word
Qual instrução carrega uma doubleword da memória?
LDUR
O que o campo shamt representa no tipo R?
Quantidade de shift
Qual formato é usado para instruções com constante imediata?
Tipo I
Pode-se usar ponteiro para variável automática fora do escopo?
Não
Words devem começar em endereços múltiplos de quanto?
4
Doublewords devem começar em endereços múltiplos de quanto?
8
O que é pseudo-instrução?
Instrução do assembly não implementada no hardware
Qual abordagem requer multiplicação a cada iteração?
Array com índice
Qual modo de endereçamento o endereço da branch é uma soma de constante ao PC?
Endereçamento relativo ao PC
Qual o modo de endereçamento onde o operando é uma constante na própria instrução?
Endereçamento imediato
Qual o tamanho de um byte?
8 bits
Qual tipo de instrução é usado para branch condicional?
Tipo CB
Quais são os registradores temporários?
X9–X17
Quantos registradores há no LEGv8?
32
Qual o nome do registrador que guarda o valor de 0 no LEGv8?
XZR.
Qual categoria de instruções diferencia o computador de uma calculadora comum?
As condicionais, como CBZ e CBNZ.
O que torna mais eficiente o bloco condicional em Assembly?
Comparar a condição oposta (else) antes da que desejamos (if).
O que é link register?
Registrador responsável por armazenar o endereço de retorno de uma função
Qual registrador é o link register?
O x30 (LR).
Quais os registradores responsáveis por guardar parâmetros e retornos de função?
O x0 ao x7.
O que é endereçamento imediato?
Quando uma constante é operando dentro da própria instrução.
O que é endereçamento de base ou deslocamento?
Quando o operando é um espaço na memória acessado pelo valor da soma de um registrador com uma constante.
O que é endereçamento de registrador?
Quando o registrador é um operando.
O que é endereçamento relativo ao PC?
Quando o endereço da branch é a soma do PC com uma constante.