AULA 9 - Microprocessadores - Graduação: mudanças entre as edições
Ir para navegação
Ir para pesquisar
imported>Fargoud |
imported>Fargoud |
||
| Linha 14: | Linha 14: | ||
==Componentes== | |||
- Registradores - armazenam armazenam temporariamente dados e | - Registradores - armazenam armazenam temporariamente dados e | ||
| Linha 24: | Linha 24: | ||
==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. | |||
[[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
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.
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).
- 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


