Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidade de controle: controla a realizacao das fases que compoem a interpretacao de instrucoes;
Memoria de rascunho: armazena a instrucao em execucao e seus dados associados (é a menor, mais cara,
mais rapida)
Unidade logica aritmetica (ULA): sao circuitos responsaveis pela execucao das instrucoes
3) Quais são as fases realizadas durante a interpretação de uma instrução? Qual o objetivo de cada uma
dessas fases?
Decodificacao das instrucoes: descoberta do que a instrução faz mediante a analise de uma sequencia
binaria, que informa se esta precisa de operandos, dentro outros mecanismos.
Porque é necessario realizar a busca de uma instrucao para que o processo seja iniciado, a cpu manda o
endereço para a memoria e ela manda a instrucao a ser executada
b) Qual a função do Contador de Programa e do Registrador de Instrução? Onde eles se situam dentro da CPU?
lista 2 1
Contador de programas (PC - Program Counter)- armazena o endereco da memoria principal que contem a
proxima isntrucao a ser executada
c) Descreva os passos realizados durante a busca de uma instrução destacando como o Contador de
Programa e o Registrador de Instruções são utilizados.
as instrucoes estao alocadas em uma ou mais palavras da memoria principal, ous eja, cada instrucao tem
um endereço
um exemplo é executar a instrucao 1 que esta na linha 20; A cpu vai ler o conteudo do contador de programa,
e percebe que a proxima instrucao a ser buscada esta na posicao 20 da memoria principal (IR pode conter
qualquer coisa nesse momento)
O valor da PC é atualizado para que ele aponte para uma nova instrucao, a proxima a ser executada
5) Considere uma máquina com uma memória principal composta por 1024 células agrupadas em palavras de
4 células. Adotando que cada célula possui 1 byte e que cada instrução ocupa 1 palavra, calcule o tamanho (em
bits) que o Contador de Programa e o Registrador de Instruções devem ter para que a interpretação de
instruções ocorra normalmente.
1. Contador de Programa (PC - Program Counter): Este registrador mantém o endereço da próxima instrução a
ser buscada e executada pela CPU.
2. Registrador de Instruções (IR - Instruction Register): Este registrador armazena a instrução atual que está
sendo executada pela CPU.
Cada instrução ocupa 1 palavra de 4 células, e cada célula tem 1 byte, então cada instrução ocupa 4 bytes.
lista 2 2
Uma palavra tem 4 células, o que significa que uma palavra tem 4x1byte=4 bytes
Como cada instrução ocupa 1 palavra, uma instrução tem 4x8 bits=32 bits
Portanto, o Registrador de Instruções precisa ter 32 bits para armazenar uma instrução.
Resumindo:
A fase de decodificação de instrução é realizada antes da fase de execução em um processador por algumas
razões fundamentais:
2. Preparação dos Operandos: Durante a decodificação, o processador também pode acessar a memória para
buscar os operandos necessários para a execução da instrução. Esses operandos podem estar armazenados
em registros da CPU, na memória principal ou em outras fontes. A fase de decodificação permite que o
processador prepare os operandos de acordo com as necessidades da instrução antes que a execução real
ocorra.
4. Detecção de Erros e Conflitos: Durante a fase de decodificação, o processador também pode verificar a
validade da instrução e detectar possíveis erros ou conflitos que possam ocorrer durante a execução. Isso
permite que o processador tome medidas apropriadas para lidar com tais situações, como interrupções,
exceções ou re-execução de instruções.
Passos da decodificacao:
Ao realizar a busca, IR contem a instrucao a ser executada, e numa maquina, muitas instrucoes podem ser
executadas,
Para saber qual é ainstrucao presente em IR, é necessario decodificar essa instrucao, sendo assim;
A instrucao contida em IR corresponde a uma sequencia binarioa que representa uma dentre todas as
instrucoes que a cpu pode executar
esse processo de decodificacao consistem na descoberta do que a instrucao faz mediante analise
dessa sequencia binaria.
lista 2 3
7) A respeito da fase de execução de instruções, responda:
a) O que é caminho de dados? Quais partes da CPU fazem parte desse caminho?
Caminho de dados - caminho percirrido pelos dados na execucao de instrucoes, constituida por:
Vias internas
b) O que é ciclo de máquina? Descreva os passos realizados durante a execução desse ciclo.
Ciclo de maquina - sao operacoes sobre o caminho de dados que correspondem a execucao da instrucao
Os operandos sao lidos da memoria de rascunho e escritos nos registradores de entrada da ULA
1. Os operando sao lidos da memoria de rascunho e escritos nos registradores de entrada da ULA
c) Quem é o responsável pela gerencia da execução dos passos que compõem o ciclo de máquina? Como essa
entidade efetua esse gerenciamento?
Interpretacao por hardware - maquina RISC (Reduced Instruction set Computer) - responsavel por buscar,
decodificar e executar as instrucoes dos programas
Hardware barato
o conjunto de instrucoes da maquina é pequeno e suas instrucoes sao frequentemente usadas nos
programas
lista 2 4
hardware simples e barato
Máquinas RISC (Reduced Instruction Set Computer) e máquinas CISC (Complex Instruction Set Computer) são
abordagens diferentes para projetar arquiteturas de processadores. Vamos abordar suas características e
responder aos questionamentos:
Máquinas RISC:
Favorecem o pipeline profundo, permitindo que as instruções sejam executadas em estágios separados de
forma eficiente.
Máquinas CISC:
Têm como objetivo executar operações mais complexas em uma única instrução.
Oferecem uma grande variedade de modos de endereçamento e instruções que operam diretamente na
memória.
Máquinas RISC:
A complexidade reside na necessidade de dividir as operações em instruções mais simples, o que pode
exigir mais instruções para realizar tarefas complexas.
A simplicidade do conjunto de instruções requer que certas operações complexas sejam decompostas em
uma sequência de instruções mais simples, o que pode aumentar a carga de trabalho do programador e do
compilador.
Máquinas CISC:
Em geral, é mais fácil manter a compatibilidade em máquinas RISC do que em máquinas CISC.
1. Simplicidade do Conjunto de Instruções: As máquinas RISC tendem a ter conjuntos de instruções mais
simples e consistentes. Isso significa que há menos variações entre diferentes implementações de
lista 2 5
processadores RISC. Programas escritos para uma arquitetura RISC são mais portáteis e menos propensos a
requererem modificações significativas para funcionar em diferentes processadores RISC.
2. Maior Estabilidade na Arquitetura: As arquiteturas RISC tendem a mudar menos ao longo do tempo. Uma vez
estabelecido o conjunto de instruções e a arquitetura do processador, mudanças significativas são menos
comuns. Isso facilita a manutenção da compatibilidade entre diferentes versões e implementações de
processadores RISC.
3. Abordagem de Compilação: Os compiladores para arquiteturas RISC são mais diretos devido à natureza
simples das instruções. Isso significa que os programas compilados para uma arquitetura RISC são menos
dependentes de otimizações específicas de hardware e, portanto, mais portáteis entre diferentes
implementações de processadores RISC.
Em contraste, as máquinas CISC podem ter conjuntos de instruções mais complexos e variados, o que pode
tornar a manutenção da compatibilidade mais desafiadora. Além disso, as arquiteturas CISC podem sofrer mais
alterações ao longo do tempo, o que pode introduzir incompatibilidades entre diferentes versões de
processadores CISC.
Portanto, em termos de facilidade de manutenção da compatibilidade, as máquinas RISC têm uma vantagem
sobre as máquinas CISC.
9) Como as máquinas CISC conseguem atender programadores (que desejam utilizar programas com
instruções complexas) e usuários (que desejam um computador de baixo custo) ao mesmo tempo?
As máquinas CISC (Complex Instruction Set Computer) conseguem atender programadores que desejam utilizar
programas com instruções complexas e usuários que desejam um computador de baixo custo de várias maneiras:
2. Acesso a Recursos de Hardware Avançados: As instruções complexas das máquinas CISC podem permitir
acesso direto a recursos de hardware avançados, como unidades de ponto flutuante, vetores de instrução e
operações de criptografia. Isso pode simplificar o desenvolvimento de software que depende desses recursos
e pode melhorar o desempenho de certos tipos de aplicativos.
3. Eficiência na Execução de Código Legado: As máquinas CISC podem ser capazes de executar código legado
compilado para versões anteriores da arquitetura, sem necessidade de modificação. Isso é importante para
muitas empresas e usuários que dependem de software existente e não desejam reescrever ou atualizar seus
programas.
No entanto, é importante notar que as máquinas CISC também têm desafios, como o aumento da complexidade
do hardware, a necessidade de decodificação de instruções complexas e o potencial de menor eficiência devido
a instruções que podem não ser usadas com frequência. Esses aspectos precisam ser equilibrados para garantir
que as máquinas CISC continuem a atender às necessidades dos programadores e dos usuários de forma eficaz.
lista 2 6