SEL0415 Lista02_Resolucao
SEL0415 Lista02_Resolucao
SEL0415 Lista02_Resolucao
RESOLUÇÃO
[2] Descreva o modelo de Von Neumann, citando os quatro blocos que o compõem e o papel de cada
um deles nesse modelo.
Segundo o modelo de Von Neumann, um computador é composto por 4 partes principais: CPU,
memória, dispositivos de E/S, e barramentos. A CPU executa as instruções lidas na memória de
programa, controla o fluxo de informações no duto de dados e monitora os demais blocos do sistema;
a memória consiste na memória ROM, que armazena o conjunto de instruções, e a memória RAM,
que armazena os dados gerados; os dispositivos de E/S permitem a comunicação da CPU com o meio
externo; e os barramentos ligam todos os outros blocos e permitem o tráfego de dados e instruções
entre os componentes do computador.
[3] Quais são os três elementos que compõe uma CPU e qual a função de cada um deles?
A CPU é composta por: ULA (Unidade Lógica Aritmética), registradores, e unidade de controle. A ULA
é responsável por realizar operações lógicas (XOR, AND, NOT...) e operações aritméticas (soma,
subtração, multiplicação...); os registradores são como memórias, são espaços de armazenamento
internos à CPU baseados em flip-flops que armazenam dados temporários úteis para ações
específicas; e a unidade de controle, que são contadores que geram os sinais necessários para
controle, temporização e sincronização das operações (clock).
b) Isso é possível por meio de portas tristate, que permitem criar portas bidirecionais e permitem criar
uma lógica de seleção, habilitando apenas o dispositivo desejado a cada instante.
[6] Diferencie Special Function Registers (SFRs) e General Purpose Registers (GPRs).
- Special Function Registers são registradores que são usados para tarefas específicas necessárias
para o funcionamento do microcontrolador, como por exemplo, o Program Counter (PC), o Data Pointer
(DPTR), o Stack Pointer (SP), o Acumulador (ACC), o Timer (TMR) e o Instruction Register (IR).
- General Purpose Registers são registradores que não possuem propósitos específicos, e podem ser
utilizados pelo programador para armazenar dados gerais conforme desejado.
[7] Suponha um microcontrolador com memória ROM de 16k endereços de 10 bits, memória RAM de
32k endereços de 8 bits, e microprocessador de 16 bits. Determine o tamanho dos registradores PC,
DPTR, IR e ACC.
PC: 14 bits, DPTR: 15 bits, IR: 10 bits, ACC: 16 bits
(F) O sistema operacional do computador está gravado na sua BIOS, que é uma memória do tipo
ROM.
A BIOS é sim uma memória do tipo ROM (apenas leitura), mas nela está gravado apenas firmware,
o conjunto de instruções (programa) do sistema, usado para inicialização do hardware. O sistema
operacional está gravado na memória secundária, que é uma memória de dados.
(F) As memórias podem ser do tipo ROM (apenas leitura, acesso sequencial, armazena o conjunto
de instruções a serem executados), do tipo RAM (apenas escrita, acesso aleatório, armazena o
conjunto de dados gerados pelo processamento), ou memória secundária (escrita e leitura,
armazena grande quantidade de dados não voláteis).
As memórias ROM também possuem acesso aleatório, e as memórias RAM são de leitura e
escrita.
(V) Um microprocessador de 64 bits é mais rápido que um de 32 bits pois pode processar duas
vezes mais dados por ciclo de máquina
(F) O ciclo de máquina é composto pelo ciclo de busca mais o ciclo de execução, cada qual
demorando um pulso de clock.
O ciclo de busca e o ciclo de execução duram mais de um pulso de clock, pois é necessário realizar
diversas pequenas ações para realizar um ciclo, como configurar o duto de controle e o duto de
endereços. A frequência de clock dividida pelo número de pulsos necessários para um ciclo de
máquina nos dá a frequência de trabalho
(V) Cada microprocessador possui seu próprio conjunto de instruções, portanto, não é possível
determinar uma forma global de se programar diferentes microprocessadores.
(V) Dentro do microprocessador, há um registrador que armazena flags, que são bits que sinalizam
resultados de operações lógicas e aritméticas. Carry, borrow e bit de sinal são exemplos de flags.