Baixe Registradores e Endereçamento em Sistemas de Computação e outras Esquemas em PDF para Arquitetura, somente na Docsity!
Arquitetura de Computadores
Unidade Central de Processamento – CPU
• Funções realizadas pelo processador:
– Função controle
Responsável pela busca, interpretação e controle da execução das instruções,
bem como do controle da ação dos demais componentes do sistema de
computação (memória, entrada/saída).
– Função processamento
Responsável por realizar as atividades relacionadas com a efetiva execução
de uma operação, ou seja, processar, realizar um cálculo aritmético ou lógico,
etc.
CPU
Os registradores são divididos em dois tipos:
- Uso Geral (dados) Os registradores de uso geral são usados para armazenar dados da execução do programa, como os valores que serão operados e o resultado das operações.
- Acc (Acumulador) Este registrador é especial porque ele é normalmente usado como fonte e destino de dados e costuma ser um operando implícito nas instruções.
- Uso Específico (informações de uso interno da CPU) Os registradores de uso específico guardam informações especiais, como por exemplo:
- REM Guarda o endereço utilizado na comunicação com a memória.
- RDM Guarda o dado utilizado tanto na leitura como na escrita com a memória.
- PC ou CI Sigla proveniente de “Program Counter” e “Contador de Instrução” respectivamente. Este registrador guarda o endereço da próxima instrução a ser executada pela CPU.
- RI Sigla proveniente de “Registrador de Instruções”. Este registrador guarda a instrução que está sendo executada pela CPU.
- FLAGS ou STATUS Registrador especial para guardar informações referente a última execução realizada e sinais de controle para a CPU realizar controle de fluxo (desvios).
CPU
Componentes da CPU
CPU
ULA (^) Registradores 0 a R – 1
Acumulador
PC ou CI
RDM
REM
RI
Unidade de Controle (UC)
Decodificador Clock de Instruções
Barramento de Dados
Barramento de Endereços
Barramento de Controle
Término
Início
Busca^ Buscar a instrução na memória e atualizar o PC ou CI.
Decodificar a instrução, interpretar a operação a ser realizada e buscar operandos (se houver).
Decodificação
Executar a Operação.
Escrever o resultado.
Execução
Resultado
Fluxograma resumido de um Ciclo de Instrução
Busca Decod. Resul.
Sequência de Execução das Instruções em uma CPU tradicional
Exec.
Busca Decod. Exec. Resul.
Ciclos de Clock 1 2 3 4 5 6 7 8
Instrução i
Instrução i + 1
Como podemos observar, teremos uma instrução finalizada a cada 4 ciclos de clock.
Isto é, 1 inst/4 ciclos ou 0,25 inst/ciclo.
Busca Decod. Exec. Resul.
Busca Decod. Exec. Resul.
Busca Decod. Exec. Resul.
Busca Decod. Exec. Resul.
Busca Decod. Exec. Resul.
Ciclos de Clock 1 2 3 4 5 6 7 8
Instrução i
Instrução i + 1
Instrução i + 2
Instrução i + 3
Instrução i + 4
Como podemos observar, após o preenchimento do pipeline, teremos uma instrução finalizada a cada ciclo de clock, logo temos, 1 inst/ciclo. O aumento de desempenho foi de 4. Isto é, o aumento de desempenho é equivalente ao número de estágios do pipeline quando o pipeline estiver cheio.
Sequência de Execução das Instruções em uma CPU com Pipeline
• Um novo aprimoramento realizado foi de implementar mais de um pipeline,
possibilitando a execução de mais de uma instrução simultaneamente no
mesmo estágio.
• A este tipo de CPU dá-se o nome de Superescalar.
Aprimoramento da CPU
Pipeline 0
Pipeline 1
CPU
2 Instruções 2 Resultados
• Além de indicar a operação, a maioria delas necessita de
parâmetros (operandos). Então, além do opcode, a instrução
possui campos com os operandos da operação em questão.
• Nas arquiteturas mais comuns, as instruções podem ir desde
apenas o opcode, zero operando, até três operandos.
Formato das Instruções de Máquina
Operandos
Instrução OPCODE^ OP. 1 OP. 2 OP. 3
- Colocar o dado diretamente na instrução muitas das vezes é insuficiente para
algumas estruturas de dados. Sendo assim, existem outras formas de informar o
local onde os dados ou instruções estão guardados.
- Dentre os diversos modos de endereçamentos desenvolvidos para processadores,
os principais são:
- Imediato;
- Direto;
- Indireto;
- Por registrador;
- Indexado;
- Base mais deslocamento.
- Nem todos estes modos estão incluídos nos conjuntos de instruções dos
processadores contemporâneos, mas devem ser descritos não só por razões
históricas mas para percepção do processo evolutivo da tecnologia.
Modos de Endereçamentos
Modos de Endereçamentos
Operando
Instrução OPCODE
Registrador
ou ULA
Dado
Dado
Dado
Modo Imediato
O dado é transferido diretamente da instrução para o Registrador ou ULA.
Modo Direto
- Para contornar as limitações do modo de endereçamento imediato, o modo direto guarda o dado na Memória Principal.
- Sendo assim, o valor binário contido no campo operando da instrução indica o endereço de memória onde se localiza o dado.
- O endereço pode ser o de uma célula onde o dado está inteiramente contido ou a célula onde começa o armazenamento do dado no caso dele ocupar mais de uma célula.
- É também um modo simples de acesso, pois requer apenas uma referência à MP para buscar o dado, sendo, porém mais lento que o modo imediato devido à referência à memória.
- Quando um dado for variar de valor ao longo da execução do programa, a melhor maneira de utilizá- lo é, inicialmente, armazená-lo na MP. O programa, então, usa o dado através do modo direto, onde a instrução indica apenas o endereço onde ele se localiza. Esta é a característica de uma variável de programa: representar o endereço de uma variável.
- Uma possível desvantagem desse processo está na limitação da memória a ser usada, conforme o tamanho do campo operando. Isto é, se o campo tiver um tamanho, por exemplo, de 12 bits, com o emprego do modo direto somente se pode acessar as células de endereço na faixa de 0 a (4.095) 10.
Modos de Endereçamentos
Modo Indireto
- Para contornar as limitações do modo de endereçamento direto, o modo indireto guarda o endereço do dado na Memória Principal.
- Nesse método, o valor binário contido no campo operando da instrução representa o endereço onde está armazenado o endereço do dado.
- Assim, há um duplo endereçamento para o acesso a um dado e, consequentemente, mais ciclos de memória para buscar o dado, comparativamente com os métodos já apresentados.
- O endereço intermediário (conteúdo da célula endereçado pelo valor do campo operando) é conhecido como ponteiro, pois indica a localização do dado.
- Com esse processo, elimina-se o problema do modo direto, delimitação do valor do endereço do dado, pois estando o endereço armazenado na memória (podendo ocupar uma ou mais células), este se estenderá ao tamanho necessário à representação do maior endereço da MP do sistema de computação em uso além de poder ser modificado ao longo da execução do programa.
Modos de Endereçamentos
Modos de Endereçamentos
Operando
Instrução OPCODE
Registrador
ou ULA
End 1End 1
Modo Indireto
Após a primeira referência à memória, a CPU pega o endereço do dado e retorna à memória para uma segunda referência sendo que nesta o dado é transferido da memória para o Registrador ou ULA.
MP
End 2 DadoDado
End 1 End 2End 2