Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Registradores e Endereçamento em Sistemas de Computação, Esquemas de Arquitetura

Este documento aborda o papel dos registradores e do processo de endereçamento em sistemas de computação. Os registradores são responsáveis pela busca, interpretação e controle da execução de instruções, além de armazenar dados da execução do programa. O texto explica os diferentes tipos de registradores, como o registrador de uso geral e o registrador de controle, e os modos de endereçamento, como o modo imediato, direto e indireto. Além disso, são discutidos os desvantages e vantages de cada modo, bem como a importância de memória cache para diminuir o tempo médio no acesso à memória.

O que você vai aprender

  • Qual é a importância da memória cache no processo de endereçamento?
  • Quais são os modos de endereçamento e como eles funcionam?
  • Explique os diferentes tipos de registradores e suas funções.
  • Quais são as vantagens e desvantagens do modo imediato de endereçamento?
  • Qual é a função principal dos registradores em sistemas de computação?

Tipologia: Esquemas

2022

Compartilhado em 07/11/2022

Miguel86
Miguel86 🇧🇷

4.8

(40)

221 documentos

1 / 35

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Arquitetura de Computadores
Unidade Central de Processamento CPU
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Pré-visualização parcial do texto

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