Buscar

GABARITO-ARQ COMP-Questionário 9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2020.2 - ARQUITETURA DE COMPUTADORES 
QUESTIONÁRIO 9 –Processadores- parte 2 – Instruções de Máquina-Ciclo-Inst-
Componentes-vídeos 38-42 
 
 
GABARITO 
 
1. O que significa CI – contador de instrução? Qual sua função em um processador? 
Resp: CI – contador de instrução. É um registrador que armazena o endereço da próxima 
instrução a ser realizada. A alteração de seu conteúdo indica a sequência de execução de 
um programa. Normalmente, o CI é alterado (em um dos passos do ciclo de instrução 
soma-se um valor x ao seu conteúdo) para apontar para aa próxima instrução contígua na 
memória, na sequência, conforme estabelecido pelo princípio da localidade). Porém, às 
vezes, a sequência deve ser alterada e isso acontece por meio de uma instrução de 
máquina específica para isso (instrução de desvio). 
2. Qual a finalidade de um Ciclo de Instrução? 
Resp: Sabe-se que os processadores são projetados para executar instruções de 
máquina, uma a uma. A execução de uma instrução é realizada em pequenas 
etapas (microoperações) segundo um algoritmo predetermiando, armazenado na 
unidade de controle (“cérebro”) do processador. Este algoritmo é denominado 
Ciclo de Instrução. 
Assim, como se diz que um determinado processador é capaz ade realizar, por 
exemplo, 100 bilhões de instruções por segundo (100 MIPS), isso é igual a se 
afirmar que o referido processador executa 100 milhões de ciclos de instrução por 
segundo. 
A partir das etapas do ciclo de uma instrução pode-se deduzir quais os dispositivos 
básicos que um processador precisa ter para funcionar adequadamente. 
 
3. Quando um processador obtém uma cópia da instrução que será realizada naquele 
momento, como ele identifica o que ela faz (qual operação) e, em consequência, 
inicia sua execução propriamente dita? 
Resp: Cada instrução tem um grupo de seus bits que indica qual a operação a ser 
realizada (código da operação-C.Op). Em um dos passos do ciclo de instrução, este C.Op. 
é introduzido em um dispositivo chamado de decodificador de instrução. Sua saída é 
específica para cada instrução e vai desencadear a execução de microperações para 
execução da referida operação. 
 
 
 Associação Carioca de Ensino Superior 
 
Centro Universitário Carioca 
4. Quais são as partes componentes de uma instrução de máquina. Qual o segnificado 
de cada uma? 
Resp: Uma instrução de máquina é constituída de 2 partes básicas (2 grupos de bits para cada 
uma): código de operação e operando (s). O C.Op é um grupo de bits que identifica qual a 
operação a ser realizada por aquela instrução; p.ex., a instrução SOMAR A, B tem o C.Op de 
SOMAR (em linguagem de máquina é um grupo de bits com esta finalidade. Cada instrução tem 
um C.Op. específico, havendo tantos C.Op. quantas operações foram programadas em fábrica 
naquele processador. 
Campo Operando (s) – Op, identifica o ou os dado(s) que serão manipulados pela instrução. Se é 
SOMAR então devem existir 3 operandos (um dado a ser somado com outro dado e o resultado); 
há instruções que os 3 campos operandos são explícitos e dizemos que é uma instrução de 3 
operandos e há outras que só tem 2 operandos e até mesmo instruções com 1 operando. 
 
5. Como se interpreta a instrução Assembly: OUT tec7, AX? 
Resp: É uma instrução de E/S com 2 operandos. Ela transfere um dado de um registrador para 
uma porta de saída (o barramento). No exemplo, o C.Op é OUT e AX é o nome do registrador de 
origem e tec7 é a porta de saída especificada (pode ser uma impressora ou outro dispositivo 
qualquer de saída). 
Usualmente não se precisa saber de cabeça cada significado de instrução assembly (a não ser 
programadores muito experientes em uma determinada linguagem), pois basta olhar no manual o 
significado. Este exercício serviu apenas para se verificar a lembrança dos slides do vídeo 21, pois 
no exemplo de instruções há uma muito semelhante a esta. 
 
6. Um processador possui 16 registradores de dados e um conjunto de 97 instruções 
de máquina, todas com 2 operandos, cada um deles indicando um endereço de 
registrador. Qual seria o tamanho mínimo do registrador RI? Supondo que a 
memória desse sistema tenha 64M endereços, qual deverá ser a largura mínima do 
CI? 
Resp: O RI (registrador de instrução) é um registrador que armazena a instrução corrente 
(a que está sendo executada) e, por isso, deve ter uma largura em bits igual a de uma 
instrução. Então, para saber sua largura deve-se obter o tamanho (a largura) em bits das 
instruções que ele armazena. 
No caso, o enunciado informa que toda instrução tem 2 operandos (que são endereços de 
cada um dos 16 registradores) mais um campo que toda instrução tem: o do C.Op. 
Como há 16 registradores, então endereço de cada um é um número com 4 bits, pois 
sabe-se que 2E = N, sendo N=16 e E=4. E o campo C.Op tem 7 bits, para poder conter cada 
um dos 97 C.Op. (se tiver 6 bits só pode representar 64 C.Op (26 = 64) e 7 dará para 128 
códigos, sobrando C.Op ainda não definidos. 
Somando alargura dos 3 campos (7 + 4 + 4) dará 15 bits para largura de cada instrução, 
que também será a largura do RI 
Como 2E = N e, há N = 64M endereços, então E = 26 bits 
7. A manipulação de dados pelo processador requer que ele entenda o tipo de dados 
que vai manipular, de forma a representá-lo corretamente. O tipo de dados é 
informado ao processador por: 
A) análise léxica e sintática 
b)declaração de variável 
c)compilação 
d)interpretação 
e)análise prévia de tipo de dados 
Resp: Quando o programador declara a variável, isso está indicando ao compilador e, 
posteriormente, ao processador qual o tipo de dado da respectiva variável. 
8. Um processador (UCP-Unidade Central de Processamento) executa cada 
instrução em pequenas etapas, apresentadas a seguir, em uma ordem não 
necessariamente correta: 
1. Alterar o contador de programa para indicar a próxima instrução. 
2. Se a instrução usar uma palavra na memória, determinar onde essa palavra 
está. 
3. Determinar o tipo de instrução trazida. 
4. Trazer a próxima instrução da memória até o registrador. 
5. Voltar à primeira etapa para iniciar a execução da instrução seguinte. 
6. Trazer a palavra para dentro de um registrador da CPU, se necessário. 
7. Executar a instrução. 
 
Qual deve ser a sequência correta das etapas com que um processador realiza suas 
atividades durante a execução de um programa? Como é conhecido o conjunto 
dessas etapas? 
Resp: O ciclo de instrução é usualmente constituído das seguintes etapas: 
Busca da instrução- Incremento do CI – Decodificação do código de operação- Busca dos 
operandos – Execução da operação – Volta ao início para buscar a próxima. 
A seuqência correta das etapas é, então:: 
4– 1 – 3 – 2 – 6 – 7 – 5 
 
9. Por que o registrador Contador de Instrução (CI) ou Programa Counter (PC) é 
incrementado sempre que uma instrução é buscada na memória para ser 
executada? 
Resp: Para que o processamento seja automático. Como se deseja que o processador 
execute uma instrução em sequência a outra anterior, ao buscar uma, ele deve já se 
preparar para a buscar a outra e para isso, deve obter seu endereço. Ora, como o CI é o 
registrador que armazena endereços de instruções, ele deve ser sempre incrementado para 
o próximo endereço. 
 
10. Durante a realização do ciclo de uma instrução, uma das etapas é: 
 
“Decodificar o C. Op. para definir qual a operação a ser realizada e emissão dos 
sinais apropriados para sua execução.” 
Qual é o dispositivo do processador que é responsável por implementar esta etapa? 
E a qual das duas áreas lógicas do processador ele se enquadra? 
Resp: O dispositivo é o decodificador de instruções. Ele pertence a área de controle. O 
decodificador de instrução deve ter, na entrada, uma quantidade de fios igual a largura 
do C. Op. e na saída 2COp fios, um apontando para a execução de cada instrução de 
máquina. A maioria dos processadores,no entanto, não sai de fábrica com a quantidade 
de instruções em valor máximo possível (2COp), sobrando sempre alguns códigos de 
operação para uma versão futura. 
11. Um processador possui 32 registradores de dados e um conjunto de 184 instruções 
de máquina, todas com 2 operandos, cada um deles indicando um endereço de 
memória do dado. As instruções desse sistema possuem todas a mesma largura de 
48 bits. Pergunta-se: 
 
a) Qual deverá ser a capacidade máxima de endereços da memória deste sistema? 
b) Qual deverá ser o valor de fios de entrada e de saída do decodificador de 
instruções? 
c) Se o projeto do processador fosse alterado para que o formato de todas as 
instruções fosse C.Op R1, R2, R3, onde R1, R2 e R3 fossem endereços dos 
registradores de dados, qual deveria ser o tamanho mínimo de cada instrução de 
máquina, conservando-se os demais dados? 
Resp: 
 
 
 
 
 
a) Se ele possui 108 instruções de máquina, então também deve ter 
108 C.Op. e, neste caso, o campo C.Op da instrução deve ter largura mínima de 7 bits 
(pois 6 bits só permitiria 64 C.Op). Assim, sobram 40 bits para os dois campos 
operandos (47 – 7 = 40) e, conclui-se que cada campo Op deve ter 20 bits, pois é o 
resultado da divisão de 40 / 2. Como o campo Op armazena o endereço dos dados, 
significa que cada endereço tem 20 bits e N = 2E = 220 = 1M (um mega) endereços. 
b) 7 fios de entrada (COp = 7 bits) e no mínimo 108 de saída ( o normal seria ter 128 fios 
de saída, pois 27 = 128. 
c) Como o sistema tem 32 registradores, isso significa que cada registrador tem um 
endereço com largura de 5 bits (25 = 32). E como tem 3 campos de endereços de 
registradores, a instrução terá 3 x 5 bits = 15 bits para os campos de R1, R2 e R3. O 
campo C.Op permanece com 7 bits, pois foi afirmado para conservar os demais dados. 
Então, 7 + 8 = 15 bits seria o tamanho de cada instrução. 
 
47 bits 
Op 2 Op 1 C.Op 
7 bits 
 
12. O que se entende, em computação, por código fonte? E código executável? 
Resp: Código fonte é o conjunto de instruções de um programa elaborado, por um 
programador, em linguagem de alto nível. É o programa original desenvolvido. 
Para este programa (código fonte) se tornar um elemento executável (isto é, cujas 
instruções estão em binário, no formato interpretável pelo processador), 
necessita ser convertido no referido código binário, este sim, chamado código 
executável (normalmente, o arquivo com o código binário possui terminação 
.EXE). 
Quando um usuário do sistema aciona a execução do programa (clicando duas 
vezes no arquivo .exe ou no ícone representativo do programa, etc) o Sistema 
Operacional inicia o processo de execução do mesmo. 
 
13. O Zilog Z80 é um microprocessador de 8 bits, projetado e vendido pela Zilog, que 
foi largamente utilizado, por exemplo, em desktops e sistemas embarcados. 
A linguagem de montagem (assembly) do Z80 é projetada para minimizar o número 
de diferentes códigos de operação (“opcodes”) correspondentes ao conjunto de 
operações primitivas e para fornecer uma descrição consistente de operandos. 
O movimento de dados é indicado em primeiro lugar por um único código de 
operação, por exemplo LD, independente do movimento ser entre diferentes 
registradores ou registradores e locais de memória. O primeiro operando de uma 
instrução LD é o destino da operação, e o segundo operando é a fonte da operação. 
Descreva o que ocorre quando o processador lida com o código de operação a 
seguir: 
LD A, B 
Resp: Ele transfere um valor armazenado no endereço B (fonte ou origem) para 
um outro local de armazenamento cujo endereço é representado por A (destino). 
14. Todo processador é projetado para executar diretamente um conjunto de 
operações promitivas, cuja descrição e implementação é realizada por meio de 
binários chamados de Instrução de Máquina. Sobre este assunto, analise as 
afirmações a seguir e indique a opção verdadeira: 
A) Toda instrução de máquina possui obrigatoriamente um campo de bits 
chamado Código da Operação 
CORRETO- senão, a instrução não seria identificada nem executada pelo 
processador. 
B) Um processador que possui instruções de máquina com largura do campo 
código da operação igual a 7 bits, poderá ter, no máximo, 127 instruções 
INCORRETO- poderia ter, no máximo, 128 instruções (27 = 128) 
C) cada instrução de máquina é processada na unidade aritmética e lógica, 
redundando na chamada área de controle 
INCORRETA- tudo errado, pois cita duas áreas superpostas. E as instruções são 
executadas usando-se as duas áreas, de processamento e de controle. 
D) Instruções do tipo SSE ou MMX foram criadas pela Intel em seus processadores, 
com o objetivo de processar números inteiros de 64 bits 
INCORRETO- elas foram criadas ainda com os processadores de 32 bits. 
E) Instruções de máquina com dois códigos de operação podem executar o dobro 
da quantidade de instruções de um processador comum, com apenas um código 
de operação 
INCORRETO- não existem instruções com dois códigos de operação 
 
Resp: OPÇÂO A 
 
15. Os Sistemas de Computação são popularmente conhecidos como computadores e desde 
sua criação inicial na década de 1940 vem se desenvolvendo de forma bastante acelerada. 
O referido desenvolvimento tem ocorrido em diversos aspectos, tais como: velocidade de 
processamento, inclusão de memórias internas chamadas de cache e na quantidade de 
unidades de cálculo e este conjunto de aperfeiçoamentos tem sido possível 
 
PORQUE 
 
tem aumentado a quantidade de instruções de máquina criadas nos novos processadores, 
devido à redução de custo do material usado na fabricação dos transistores. 
 
Assinale a opção correta: 
A – a primeira afirmação é verdadeira , sendo justificada pela segunda. 
B – as duas afirmações são falsas. 
C – a primeira afirmação é falsa mas a segunda é verdadeira. 
D – a primeira afirmação é verdadeira mas a segunda é falsa. 
Resp: OPÇÃO D, pois as causas do crescente desenvolvimento dos computadores são, 
entre outras, as que foram mencionadas na primeira afirmação. No entanto, a 
segunda afirmação é falsa, pois se trata do contrário. Desde há algum tempo que se 
constatou ser melhor ter poucas instruções do que muitas (arquitetura RISC), o que 
acontece nas máquinas modernas. 
 
16. Os processadores possuem diversos componentes que, para funcionarem corretamente, 
precisam ser instruidos por meio de ordens de execução de cada atividade. Há diversas 
linguagens utilizadas para computação. Analise as afirmações a seguir e assinale qual a 
única que é verdadeira: 
 
a) há dois tipos de linguagens de programação: as de baixo nível e as de alto nível. Exemplo 
de uma linguagem de baixo nível é a linguagem Assembly 
CERTO 
b) Linguagens de programação são códigos binários que permitem a comunicação entre o 
homem e a máquina, ou seja, entre o ser humano e os computadores 
ERRADO. Elas permitem a transmissão d eordens mas não há comunicação direta 
c) Linguagens de alto nível são utilizadas apenas em microcomputadores, sendo substituidas 
por códigos binários em processadores móveis 
ERRADO. São usadas em qualquer máquina 
d) Um código binário é constituido sempre de duas partes: a origem da transmissão e o 
destinatário 
ERRADO. Não existe isso 
e )programas criados diretamente em linguagem assembly podem ser diretamente 
executados pelo hardware, já que assembly é uma linguagem de máquina 
ERRADO. É uma linguagem de máquina simbólica, não diretamente de máquina (código 
binário sim). 
17. Segue-se o trecho final de uma memória principal, contendo o trecho de endereços 3F2 até 
o endereço 3F9, onde todos os números são representados em sistema de numeração 
hexadecimal. 
3F2 0102 
3F3 5CD4 
3F4 500F 
3F5 6609 
3F6 BBE8 
3F7 3478 
3F8 1B4E 
3F9 0037 
 
Considerando que em um dado instante, o CI – Contador de Instrução do processador tem 
armazenado o valor 3F6 e que o sistema é “congelado” exatamente nesteinstante e que ele 
estava executando a etapa de decodificação do código de operação da instrução, qual o valor 
que deverá estar armazenado, respectivamente, no RI e no CI neste instante. 
Resp: Dois fatos precisam ser sabidos aqui: 1.que o CI armazena o endereço de próxima instrução 
a ser buscada DEPOIS de execução da atual. 2. Os passos do cilo de instrução: busca da instrução 
– incremento do CI-decodificação – execução- voltar. 
CI = 3F6. Isso está no enunciado e é o valor armazenado no INSTANTE do passo de 
decodificação, que está DEPOIS do passo de incremento do CI. Ou seja, no início deste ciclo 
de instrução mencionado, o CI tinha o valor de endereço da instrução corrente (valor ANTES 
de ser 
 
18. Suponha um sistema de computação que possua um processador que contém 32 
registradores de dados, cada um tendo uma largura de 24 bits, isto é, podem armazenar 
dados ou endereços de valor máximo igual a 224 – 1. Havendo necessidade de identificar os 
registradores de dados, qual deverá ser a largura , em bits, do endereço de cada registrador. 
E se um deles fosse designado para armazenar endereços da MP (memória principal), qual 
deverá ser o espaço máximo de endereçamento da MP (capacidade da MP).? 
 
Resp: 32 registradores. Então como universalmente X = 2n e X = 32, n = 5 bits . Endereço de 
cada registrador 
Ora, se cada registrador armazena um dado (ou endereço) com 24 bits de largura, então, 
MP tem capacidade igual a 224 endereços ou 16M endereços, 224 = 24 (16) x 220 (M)

Continue navegando