Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Lista de Exercícios Arquitetura de Computadores, Exercícios de Arquitetura de Computadores avançada

Lista de Exercícios Arquitetura de Computadores

Tipologia: Exercícios

2024

Compartilhado em 09/04/2025

vitoria-amaral-27
vitoria-amaral-27 🇧🇷

1 documento

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Lista 2 - Arquitetura de Computadores
Vitória Christie Amaral Santos - 10A
a) Shift left logical (sll): move todos os bits de uma word para a esquerda.
Exemplo:
sll $t2,$s0,4 # reg $t2 = reg $s0 << 4 bits
b) Shift right logical (srl): move todos os bits de uma word para a direita.
Exemplo:
srl d,s,shft # $d gets the logical right shift of $s by shft positions
# shft is a 5-bit integer, 0 ≤ shft < 32
c) AND: operação bit a bit que deixa 1 no resultado somente se os dois bits dos
operandos forem 1. Exemplo:
$t2 = 0000 0000 0000 0000 0000 1101 0000 0000 2
$t1 = 0000 0000 0000 0000 0011 1100 0000 0000 2
and $t0,$t1,$t2 # reg $t1 & reg $t2
$t0 = 0000 0000 0000 0000 0000 1100 0000 0000 2
d) OR: operação bit a bit que deixa 1 no resultado se qualquer um dos bits dos
operandos forem 1. Exemplo:
$t2 = 0000 0000 0000 0000 0000 1101 0000 0000 2
$t1 = 0000 0000 0000 0000 0011 1100 0000 000 2
or $t0,$t1,$t2 # reg $t1 | reg $t2
$t0 = 0000 0000 0000 0000 0011 1101 0000 0000 2
e) NOR: pega um operando e coloca 1 no resultado se um bit do operando for 0,
e vice-versa. Implementado no MIPS pela instrução NOR (NOT OR) para
manter o formato de três operandos. Exemplo:
$t1 = 0000 0000 0000 0000 0011 1100 0000 0000 2
$t3 = 0000 0000 0000 0000 0000 0000 0000 0000 2
nor $t0,$t1,$t3 # reg ~($t1 | reg $t2)
$t0 = 1111 1111 1111 1111 1100 0011 1111 1111 2
f) beq e bne são instruções de desvio condicional usadas em linguagens de
programação de baixo nível, como a linguagem de montagem Assembly, e
pf2

Pré-visualização parcial do texto

Baixe Lista de Exercícios Arquitetura de Computadores e outras Exercícios em PDF para Arquitetura de Computadores avançada, somente na Docsity!

Lista 2 - Arquitetura de Computadores

Vitória Christie Amaral Santos - 10A a) Shift left logical (sll): move todos os bits de uma word para a esquerda. Exemplo: sll $t2,$s0,4 # reg $t2 = reg $s0 << 4 bits b) Shift right logical (srl): move todos os bits de uma word para a direita. Exemplo: srl d,s,shft # $d gets the logical right shift of $s by shft positions

shft is a 5-bit integer, 0 ≤ shft < 32

c) AND: operação bit a bit que deixa 1 no resultado somente se os dois bits dos operandos forem 1. Exemplo: $t2 = 0000 0000 0000 0000 0000 1101 0000 0000 2 $t1 = 0000 0000 0000 0000 0011 1100 0000 0000 2 and $t0,$t1,$t2 # reg $t1 & reg $t $t0 = 0000 0000 0000 0000 0000 1100 0000 0000 2 d) OR: operação bit a bit que deixa 1 no resultado se qualquer um dos bits dos operandos forem 1. Exemplo: $t2 = 0000 0000 0000 0000 0000 1101 0000 0000 2 $t1 = 0000 0000 0000 0000 0011 1100 0000 000 2 or $t0,$t1,$t2 # reg $t1 | reg $t $t0 = 0000 0000 0000 0000 0011 1101 0000 0000 2 e) NOR: pega um operando e coloca 1 no resultado se um bit do operando for 0, e vice-versa. Implementado no MIPS pela instrução NOR (NOT OR) para manter o formato de três operandos. Exemplo: $t1 = 0000 0000 0000 0000 0011 1100 0000 0000 2 $t3 = 0000 0000 0000 0000 0000 0000 0000 0000 2 nor $t0,$t1,$t3 # reg ~($t1 | reg $t2) $t0 = 1111 1111 1111 1111 1100 0011 1111 1111 2 f) beq e bne são instruções de desvio condicional usadas em linguagens de programação de baixo nível, como a linguagem de montagem Assembly, e

em arquiteturas de processadores. Ambas são usadas para controlar o fluxo de execução do programa com base em condições específicas. ● "beq" significa "branch if equal" (desvio se igual) e é usado para desviar o fluxo de execução se dois valores forem iguais. ● "bne" significa "branch if not equal" (desvio se não igual) e é usado para desviar o fluxo de execução se dois valores não forem iguais. g) A finalidade do Jump é permitir que o fluxo de execução de um programa salte de uma parte do código para outra, sem necessariamente executar cada instrução sequencialmente. Existem dois tipos de instruções de salto: ● Jump incondicional: Esta instrução faz com que o programa salte para um endereço específico, independentemente de qualquer condição. É útil para implementar loops, chamadas de função e para controlar a execução do programa em geral. ● Jump condicional: Esta instrução permite que o programa salte para um endereço específico somente se uma determinada condição for atendida. Essa condição pode ser baseada em valores de registros, valores de memória ou flags de status, dependendo da arquitetura do processador. h) Set on less than (slt): compara dois registradores e atribui 1 a um terceiro registrador se o primeiro for menor do que o segundo, caso contrário, é atribuído 0 (slt para inteiros sem sinal: sltu, sltiu). Exemplo: slt $t0,$s3,$s4 # $t0=1 se $s3 < $s slti $t0,$s2,10 # $t0=1 se $s2 < 10 i) A instrução case/switch é utilizada para tomar decisões baseado em um valor de uma expressão ou variável. É muito útil em situações em que há muitas condições a serem analisadas e as ações a serem tomadas variam de acordo com as condições. Ela é implementada por meio de uma sequência de testes condicionais.