AULA 9 - Microprocessadores - Graduação: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Fargoud
imported>Fargoud
Linha 14: Linha 14:




* Componentes:
==Componentes==


- Registradores - armazenam armazenam temporariamente dados e
- Registradores - armazenam armazenam temporariamente dados e
Linha 24: Linha 24:
   
   


* ULA: é o “núcleo” da CPU.
==ULA==
** Executa as operações de processamento de dados. Podem ser diferentes para cálculos com inteiros e ponto flutuante.
 
** Ativa bits especiais (''flags''), como resultado da operação. Ex: operação nula (bit Z), operação negativa (bit N), overflow, etc.
é o “núcleo” da CPU.
** Está conectada a um grupo de registradores pelo barramento interno, formando o caminho de dados.
 
** Pode-se utilizar um conjunto de conjunto de ULAs para a execução paralela de instruções.
* Executa as operações de processamento de dados. Podem ser diferentes para cálculos com inteiros e ponto flutuante.
* Ativa bits especiais (''flags''), como resultado da operação. Ex: operação nula (bit Z), operação negativa (bit N), overflow, etc.
* Está conectada a um grupo de registradores pelo barramento interno, formando o caminho de dados.
* Pode-se utilizar um conjunto de conjunto de ULAs para a execução paralela de instruções.


[[image: MIC1cpu-ULA.png|center]]
[[image: MIC1cpu-ULA.png|center]]
==Banco de registradores==
Pequenas unidades de memória com alta velocidade.
* Mais rápidas que as memórias principal e cache.
* Utilizam o barramento interno da CPU.
Armazenamento temporário de dados, instruções e endereços, em utilização pelo processador.
* Possuem diferentes funções, mas têm um uso bem definido, dentro da arquitetura.
* Possibilitam operações de leitura e escrita.
===Registradores de uso geral===
* Utilizados para armazenar dados que serão processados ou produzidos pela ULA. Ex: AX-DX, AC, R0-R13.
* Coletivamente são chamados conjunto de registradores de dados (''data register file'').
===Registradores de controle controle===
* Utilizados no controle das operações pela CPU e nas trocas de informações com a MP. Ex: PC, IR, MAR, MBR.
* Alguns desses são invisíveis aos programadores.
===Registradores (Processador 8088/8086)===
* CPU possui 14 registradores de 16 bits visíveis.
* 4 registradores de uso geral:
** AX (Acumulador): armazena operandos e resultados dos cálculos aritméticos e lógicos.
** BX (Base): armazena endereços indiretos.
** CX (Contador): conta iterações de loops ou especifica o n° de caracteres de uma string.
** DX (Dados): armazena overflow e endereço de E/S.
** Podem ser usados como registradores de 8 bits: Ex: AH e AL (byte alto e byte baixo de AX). [[image: bregs8088.png|center]]
* 4 registradores de segmento:
** CS (Segmento de Código): contém o endereço da área com as instruções de máquina em execução.
** DS (Segmento de Dados): contém o endereço da área com os dados do programa. Geralmente aponta para as variáveis globais do programa.
** SS (Segmento de Pilha): contém o endereço da área com a pilha. Que armazena informações importantes sobre o estado da máquina, variáveis locais, endereços de retorno e parâmetros de subrotinas.
**  ES (Segmento Extra): utilizado para ganhar acesso a alguma área da memória quando não é possível usar os outros registradores de segmento. Ex: transferências de bloco de dados.
* 5 registradores de offset:
**  PC (Program Counter) ou IP (Instruction Pointer): usado em conjunto com o CS para apontar a próxima instrução.
**  SI (source index) e DI (destiny index): utilizados para mover blocos de bytes de um lugar (SI) para outro (DI) e como ponteiros para endereçamento (junto com os registradores CS, DS, SS e ES).
**  BP (Base Pointer): usado em conjunto com o SS para apontar a base da pilha. Similar ao registrador BX. Usado para acessar parâmetros e variáveis locais.
**  SP (Stack Pointer): usado em conjunto com o SS para apontar o topo da pilha.
* 1 registrador de estado do processador (PSW) :
**  Registrador especial composto por sinalizadores (flags) que ajudam a determinar o estado atual do processador. Coleção de valores de 1 bit. Apenas 9 bits são utilizados:
** 4 mais utilizados: ZF - zero; CF - carry ("vai um“) ou borrow (“vem um”);
SF - sinal; e OF - overflow ou underflow.
Organização dos Registradores – Família Intel
==Unidade de Controle==

Edição das 12h21min de 30 de abril de 2019

CPU - Unidade de Controle

MIC1cpu.png

A CPU é o "cérebro" do processador.


  • Funções:

- Interpretação e execução dos programas da memória principal;

- Controle dos demais componentes.


Componentes

- Registradores - armazenam armazenam temporariamente dados e instruções.

- Unidade Lógica e Aritmética (ULA)- “processa” os dados e atualiza os registradores.

- Unidade de Controle (UC) - “dispara” cada um das etapas de execução da instrução.


ULA

é o “núcleo” da CPU.

  • Executa as operações de processamento de dados. Podem ser diferentes para cálculos com inteiros e ponto flutuante.
  • Ativa bits especiais (flags), como resultado da operação. Ex: operação nula (bit Z), operação negativa (bit N), overflow, etc.
  • Está conectada a um grupo de registradores pelo barramento interno, formando o caminho de dados.
  • Pode-se utilizar um conjunto de conjunto de ULAs para a execução paralela de instruções.
MIC1cpu-ULA.png

Banco de registradores

Pequenas unidades de memória com alta velocidade.

  • Mais rápidas que as memórias principal e cache.
  • Utilizam o barramento interno da CPU.

Armazenamento temporário de dados, instruções e endereços, em utilização pelo processador.

  • Possuem diferentes funções, mas têm um uso bem definido, dentro da arquitetura.
  • Possibilitam operações de leitura e escrita.

Registradores de uso geral

  • Utilizados para armazenar dados que serão processados ou produzidos pela ULA. Ex: AX-DX, AC, R0-R13.
  • Coletivamente são chamados conjunto de registradores de dados (data register file).

Registradores de controle controle

  • Utilizados no controle das operações pela CPU e nas trocas de informações com a MP. Ex: PC, IR, MAR, MBR.
  • Alguns desses são invisíveis aos programadores.

Registradores (Processador 8088/8086)

  • CPU possui 14 registradores de 16 bits visíveis.
  • 4 registradores de uso geral:
    • AX (Acumulador): armazena operandos e resultados dos cálculos aritméticos e lógicos.
    • BX (Base): armazena endereços indiretos.
    • CX (Contador): conta iterações de loops ou especifica o n° de caracteres de uma string.
    • DX (Dados): armazena overflow e endereço de E/S.
    • Podem ser usados como registradores de 8 bits: Ex: AH e AL (byte alto e byte baixo de AX).
      Bregs8088.png
  • 4 registradores de segmento:
    • CS (Segmento de Código): contém o endereço da área com as instruções de máquina em execução.
    • DS (Segmento de Dados): contém o endereço da área com os dados do programa. Geralmente aponta para as variáveis globais do programa.
    • SS (Segmento de Pilha): contém o endereço da área com a pilha. Que armazena informações importantes sobre o estado da máquina, variáveis locais, endereços de retorno e parâmetros de subrotinas.
    • ES (Segmento Extra): utilizado para ganhar acesso a alguma área da memória quando não é possível usar os outros registradores de segmento. Ex: transferências de bloco de dados.
  • 5 registradores de offset:
    • PC (Program Counter) ou IP (Instruction Pointer): usado em conjunto com o CS para apontar a próxima instrução.
    • SI (source index) e DI (destiny index): utilizados para mover blocos de bytes de um lugar (SI) para outro (DI) e como ponteiros para endereçamento (junto com os registradores CS, DS, SS e ES).
    • BP (Base Pointer): usado em conjunto com o SS para apontar a base da pilha. Similar ao registrador BX. Usado para acessar parâmetros e variáveis locais.
    • SP (Stack Pointer): usado em conjunto com o SS para apontar o topo da pilha.
  • 1 registrador de estado do processador (PSW) :
    • Registrador especial composto por sinalizadores (flags) que ajudam a determinar o estado atual do processador. Coleção de valores de 1 bit. Apenas 9 bits são utilizados:
    • 4 mais utilizados: ZF - zero; CF - carry ("vai um“) ou borrow (“vem um”);

SF - sinal; e OF - overflow ou underflow.


Organização dos Registradores – Família Intel


Unidade de Controle