Sie sind auf Seite 1von 7

Associação Carioca de Ensino Superior

Centro Universitário Carioca

2018.2 - ARQUITETURA DE COMPUTADORES

QUESTIONÁRIO 9 – sobre TEMA 9- Processadores- parte 1 - vídeo aulas 24 – 25 - 26

GABARITO

1. Um Sistema de Computação (computador) é constituido de diversos componentes


básicos, que permitem a ele executar as atividades de processamento de dados.
Entre esses componentes há o processador, principal instrumento de
processamento de dados. Os processadores são usualmente organizados em duas
áreas lógicas. Cite essas áreas, descreva suas funções e indique um dispositivo
existente em cada uma.

Resp: Áreas de processamento ou execução (também chamada de “caminho de dados”) e área de


Controle. A primeira realiza a atividade fim de um processador: executa as operações primitivas
que foram nele programadas em fábrica (p. ex., somar 2 números, subtrair 2 números, mover um
dado de um local para outro, desviar execução das instruções, buscar um dado no barramento de
entrada, etc).
A outra (controle) realiza as atividades “cerebrais”. É responsável pela execução de cada etapa do
ciclo de cada instrução, emitindo os sinais de controle dentro da programação pré-estabelecida.
Na área de controle: ULA, registradores de dados, registradores de controle
Na área de controle: a UC (unidade de controle), o CI (contador de instrução), o RI (registrador de
instrução), decodificador de instrução, etc

2. Sabe-se que os processadores são fabricados contendo a programação de


inúmeras operações simples (primitivas) que podem executar diretamente. Essas
operações são formalizadas pelo arquiteto do processador em um instrumento,
que permitem ao processador interpretar qual é a operação e como realiza-la; qual
é esse instrumento que viabiliza o funcionamento de um processador? Como os
processadores executam cada operação dessas (transformadas no referido
instrumento)?
Resp: o instrumento de entendimento do processador do que fazer é o conjunto de bits chamado
de Instrução de Máquina; eles executam cada instrução por meio de um algoritmo chamado de
Ciclo de Instrução (um passo a passo para executar uma determinada instrução)

3. Considerando que os processadores podem ser considerados (dentro de limites, é


claro) semelhantes aos corpo humano, no que se refere aos seus movimentos.
Assim, pode-se afirmar que a área de controle de um processador é responsável
pela execução de seus movimentos, enquanto a área de processamento é
responsável por “interpretar” o que fazer em cada movimento.
Analise estas afirmações e comente.

Resp: Realmente, pode-se considerar a “semelhança” entre os movimentos dos


seres humanos e os processadores (a semelhança é apenas no que se refere a
movimentos). Os processadores também possuem duas áreas distintas: área de
processamento, responsável pelas atividades relativas à execução de operações (é
semelhante à parte dos seres humanos que realiza seus movimento, de pernas, de
braços, do torço ou da cabeça ou das cordas vocais) e a área de controle,
responsável pela interpretação do que fazer e como fazer, emitindo sinais de
controle para os diversos dispositivos executarem sua atividade, assim como nosso
cérebro atua.
Dessa forma, verifica-se que a firmação acima está INVERTIDA, visto que a área de
controle do processador é responsável pela atividade “cerebral” e não de
movimentos, a qual é realizada pela área de processamento.

4. 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).

5. 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.

6. 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.

7. 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.

8. 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.

9. 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

10. Um determinado sistema de computação tem um processador que opera com


frequência de relógio (“clock”) de 1GHz. Qual deverá ser a duração de cada pulso
de relógio?
Resp: Sabe-se da física, que F = 1 T e T = 1/ F, sendo F = frequência, em Hz ou KHz (103 ou
MHz (106 )ou GHz (109) e T = período, em seg ou miliseg (10-3 seg) ou micro (10-6 seg) ou
nanoseg (10-9) , etc

1 GHz = 109 Hz (1 bilhão de pulsos por seg).

Então 1 pulso = 1 /F = 1 / 109 ou 10-9 seg ou 1 nanoseg

11. 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.

12. 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

13. 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.

14. 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.

15. 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:
47 bits

C.Op Op 1 Op 2

7 bits
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.

16. Quais são os dois tipos de unidade de cálculo que existem atualmente em todos os
processadores?

Resp: Unidade para operações aritméticas com números inteiros e para operações
lógicas (normalmente chamadas de ULA-unidade lógica e aritmética ou Unidade de
Execução) e Unidade para operações acom números representados em ponto flutuante
(números fracionários ou muito grandes ou muito pequenos)

17. Qual é o componente de um processador que determina o período de duração de


cada uma de suas atividades e controla o sincronismo entre elas?

Resp: O relógio (“clock”)

18. 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.
19. 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).

20. 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

Das könnte Ihnen auch gefallen