Ciclo de Instrução
Busca de Instrução: Lê a instrução e armazena em uma área de armazenamento.
Decodificação da Instrução: Determina o código de operação da instrução e as referências a operandos.
Cálculo de Operando: Determina o endereço efetivo de cada operando fonte.
Busca de Operando: Busca cada operando localizado na memória.
Execução da Instrução: Efetua a operação indicada e armazena o resultado.
Escrita de Operando: Armazena o resultado na memória.
CISC RISC
Bloco de instruções complexo Bloco de instruções reduzido
Instruções de Tamanho variado Instrução de tamanho único (fixo)
Maior Nº de transistores Maior memória cache
Uso de Microprograma (Kernel) Uso de microcódigo
Uma instrução por etapa de ciclo Duas ou mais instruções por etapa de ciclo
Recursos Computacionais
Análise do fluxo de dados
Execução Especulativa
Previsão de Desvio
Princípio Estatístico Comprovado
Pipeline
Questões
1) O que é Pipeline? Como funciona?
Pipeline é uma técnica de implementação de processadores que permite a
sobreposição temporal das diversas fases de execução das instruções. O
funcionamento deste consiste em realizar várias instruções de forma simultânea,
embora em estágios diferentes. Em um microprocessador com Pipeline minimiza-
se a quantidade de recursos ociosos e reduz-se o tempo global necessário para
executar todas as 4 tarefas (buscar, decodificar, executar e escrever instruções),
por exemplo. Portanto o pipeline (paralelismo, canalização) divide em muitas
partes
(uma dúzia ou mais), cada uma manipulada por uma parte dedicada do hardware,
e todas elas podem executar em paralelo.
2) Como é o ciclo de instrução da arquitetura RISC? Relacione sua resposta
ao tempo de cada etapa.
O ciclo de instrução da arquitetura RISC possui duas ou mais instruções por etapa
de ciclo. São utilizadas duas filas simultâneas uma para cada instrução, por
exemplo no tempo 1 teremos a busca das instruções A e B. No segundo tempo
temos a decodificação destas instruções A e B, podendo haver ao mesmo tempo, a
busca de duas ou mais novas instruções, por exemplo C e D. Em um terceiro
tempo as instruções A e B estarão sendo executadas enquanto C e D serão
decodificadas e outras novas instruções, como E e F estarão sendo buscadas. E por
fim em um quarto tempo as primeiras instruções A e B vão estar sendo escritas,
enquanto as C e D estarão sendo executadas, E e F vão estar sendo decodificadas e
outras novas instruções serão buscadas e assim por diante.
3) Qual das arquiteturas necessita de cache grande? Por quê?
A arquitetura RISC necessita de cache grande, pois para compensar essa entrega
de informação maior que na arquitetura CISC, com mais instruções por etapa e
processamento simultâneo destas é necessário uma memória cache mais próxima
e cada vez maior. Também porque na maior parte dos casos as instruções RISC são
requisitadas a performar com a mesma funcionalidade de instruções CISC, fazendo
assim com que programas RISC tenham maior requerimentos de memória.
4) Qual a diferença entre um S.O. utilizado na arquitetura CISC e RISC?
Explique.
Máquinas CISC (Complex Instruction Set Computer) têm um conjunto de instruções
grande, de tamanhos variáveis, com formatos complexos.
Muitas dessas instruções são bastante complicadas, executando múltiplas
operações quando uma única instrução é dada (por exemplo, é possível realizar
um loop complexo usando apenas uma operação assembly).
O problema básico com máquinas CISC é que um conjunto pequeno de instruções
complexas torna o sistema consideravelmente mais lento.
A arquitetura RISC (Reduced Instruction Set Computer), como o próprio nome já
diz, tem como principal objetivo simplificar as instruções de modo que elas possam
ser executadas mais rapidamente. Cada instrução executa apenas uma operação,
que
são todas do mesmo tamanho, tem poucos formatos, e todas as operações
aritméticas devem ser executadas entre registradores (dados da memória não
podem ser utilizados como operandos).