Fichas
Instruções e a CPU no MIPS - aulas 5 e 6
Fichas del conjunto (40)
- 1Quais as implementações de instruções mais importantes do MIPS?As implementações mais importantes são: lw, sw, add, sub, and, or, slt, beq, j.
- 2Quais são as instruções de acesso à memória?Load word (lw) e Store word (sw).
- 3Quais são as instruções aritméticas?Adição (add) e subtração (sub).
- 4Quais são as instruções lógicas?AND, OR, slt
- 5Quais são as instruções de fluxo de controle?Branch equal (beq) e jump (j). Sendo que o beq é uma instrução de tomada de decisão e o j é uma instrução de salto.
- 6O que é o PC (program counter)?PC é o registrador que salva o endereço da instrução atualmente sendo executada no programa armazenado.
- 7Qual a diferença de um circuito combinacional e um sequencial?Um circuito combinacional gera uma saída que é a combinação das entradas atuais, não dependendo de mais nada. Um sequencial também depende de entradas anteriores, depende dos estados.
- 8A implementação do MIPS possui tanto circuitos combinacionais quanto sequenciais? Quando usa cada?......
- 9Do que são feitos os registradores?32 Flip-flops (no MIPS)
- 10Qual o tamanho das instruções do MIPS?32 bits
- 11Quantos formatos de instruções o MIPS possui? Quais são eles?3 formatos: tipo-R (de registrador), tipo-I (de imediado) e tipo-J.
- 12O que é uma instrução?É uma palavra em linguagem de máquina.
- 13Considerando o MIPS, onde estão os operandos de uma instrução?Todos os operandos das instruções do MIPS estão em registradores. Uma instrução pode ter no máximo 3 operandos.
- 14Para que serve o campo "shamt" nas instruções do tipo-R?"shamt" significa Shift Amount (quantidade de deslocamento) e é usada por instruções lógicas de deslocamento. Ex: sll (shift left logical) e srl (shift right logical). O valor desse campo diz quantos bits deve ser deslocado o valor que está em um dos registradores, o resultado é salvo em outro registrador (portanto, usa-se 2 registradores nessa instrução, rt e rd).
- 15Dê um exemplo de um número binário deslocado 4 bits.(0000 1001)bin = (9)dec
(1001 0000)bin = (144)dec.
Deslocar um número binário i bits é o mesmo que multiplicá-lo por 2^i. - 16Como ficaria em assembly a seguinte instrução: reg $t2 = reg $s0 << 4 bitssll $t2, $s0, 4
- 17Em que tipo de instrução load/store podem ser classificadas?Load e store são instruções de transferência de dados. Usam o formato do tipo-I de instruções.
- 18O que as instruções load e store fazem? Qual a sintaxe usada em assembly?Load: copia os dados da memória para um registrador;
lw $destino, deslocamento($base)
Store: copia os dados de um registrador para a memória.
sw $fonte, deslocamento($base) - 19Como a memória do MIPS é organizada?A memória do MIPS é dividida em grupos de 4 bytes (32 bits).
- 20Como é o formato de uma instrução do tipo R?
- 21Como é o formato da instrução tipo-I?
- 22O que são instruções de desvio condicional? Dê exemplos.São instruções que requerem a comparação de dois valores (condição) e que leva em conta uma transferência de controle para um novo endereço no programa (desvio) com base no resultado da comparação. Ex: beq, bne.
- 23Qual a diferença entre beq e bne?Beq significa "branch if equal" (ou seja, desviar se for igual). E bne, "branch if not equal" (desviar se não for igual). São as instruções de desvio condicional que desviam se a comparação de dois registradores forem iguais e se forem diferentes, respectivamente.
- 24Qual a sintaxe das instruções beq e bne?beq registrador1, registrador2, L1
bne registrador1, registrador2, L1
L1 é um "label" e é para onde a instrução desvia se a condição for atendida. - 25Como as instruções de desvio condicional são representadas em linguagens de alto nível?As instruções de desvio condicional são a base para que códigos usando if, go to, switch/case, etc, funcionem.
- 26Qual instrução pode ser classificada como desvio incondicional? Qual sua sintaxe?A instrução que desvia para outro endereço do programa independente de condições é o jump. Sua sintaxe é:
j L1
L1 é o "label" para onde o programa será desviado. - 27O que faz a instrução "set on less than" (slt)? Qual sua sintaxe?A instrução slt compara se uma variável é menor que a segunda.
Sintaxe: slt $t0, $s3, $s4
O registrador $t0 = 1 se $s3 < $s4. Caso contrário, $t0 = 0. - 28Quais são as seis etapas que o programa precisa seguir para a execução de um procedimento?1. Colocar os parâmetros onde o procedimento possa acessar;
2. Ir para o endereço do procedimento;
3. Reservar espaço para armazenar as operações e variáveis temporárias do procedimento;
4. Realizar a tarefa;
5. Colocar o valor de retorno onde o programa possa acessar;
6. Retornar para o endereço de origem da chama de função do programa. - 29Como é o formato da instrução tipo-J?
- 30O que é um endereçamento relativo ao PC? Que instrução usa esse tipo de endereçamento e porque?É um endereçamento calculado pela soma do PC mais uma constante de desvio da instrução. (PC = PC + endereço de desvio).
As instruções de desvio condicional usam esse endereçamento, pois seu campo para endereço é de apenas 16 bits.
Obs: na realidade é um endereçamento relativo à próxima instrução (PC+4), pois o MIPS sempre calcula a próxima instrução automaticamente. - 31Como colocar uma constante de 32 bits num registrador se os operandos do tipo-R são de apenas 5 bits e o imediato do tipo-I de 16 bits?Usando instruções especiais do tipo-I que dividem a constante de 32 bits em duas de 16 bits. Uma instrução (lui) carrega os primeiros 16 bits no registrador e outra (ori) carrega os 16 últimos bits.
lui = load upper immediate
ori = OR immediate - 32Quais são os 5 tipos de endereçamento do MIPS?1. Endereçamento imediato (addi);
2. Endereçamento por registrador (add);
3. Endereçamento de base ou deslocamento (lw, sw);
4. Endereçamento relativo ao PC (beq, bne);
5. Endereçamento pseudodireto (jump, onde o endereçamento são os 26 bits da instrução concatenados com os 4 bits mais significativos do PC). - 33Quais são os 3 primeiros passos de todas as implementações de instruções?1. Receber o endereço da instrução (PC);
2. Ler a instrução na memória;
3. Ler os registradores da instrução;
4. Depende da instrução... - 34Todas as instruções usam a ALU?Sim.t
- 35O que é uma metodologia de clock?É o que define quando os sinais podem ser lidos e quando podem ser escritos.
- 36Porque a implementação com um único ciclo é ineficiente?Usando apenas um ciclo, o ciclo deve ser longo o suficiente para acomodar a instrução mais longa (load). Além disso, com um único ciclo, não pode haver nenhum recurso que seja usado mais de uma vez por instrução (para evitar incoerências), por isso, todos os componentes que precisam ser usados novamente devem ser duplicados (como ter que criar uma memória para instrução e uma para dados).
- 37Imagem de implementação de ciclo único:
- 38Imagem da implementação multiciclo:
- 39Dê um exemplo de operações que ocorrem em paralelo na implementação de ciclo único.O PC é incrementado ao mesmo tempo que a instrução é lida.
- 40—
Información
- Descripción
- Capítulo 2, Capítulo 4 e Apêndice D.
- Creado por
- Bela Cunha
- Visitas
- 45
- Valoración