1. introdução u o processador é o componente vital do sistema de computação, responsável pela...
TRANSCRIPT
![Page 1: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/1.jpg)
1. Introdução
O processador é o componente vital do sistema de computação,
responsável pela realização das operações de processamento (os
cálculos matemáticos etc.) e de controle, durante a execução de
um programa.
Um programa, para ser efetivamente executado pelo
processador, deve ser constituído de uma série de instruções de
máquina. Para que a execução tenha início, as instruções devem
ser armazenadas em células sucessivas, na memória principal.
![Page 2: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/2.jpg)
2. A influência do tamanho da palavra
A capacidade de processamento de uma CPU (a velocidade com que realiza o ciclo de uma instrução) é em grande parte determinada pelas facilidades embutidas no hardware da UAL para realizar as operações matemáticas projetadas.
Um dos elementos fundamentais para isso é a definição do tamanho da palavra da CPU. O valor escolhido no projeto de fabricação da CPU determinará o tamanho dos elementos ligados à área de processamento, entre estes, a UAL.
Um tamanho maior ou menor de palavra (e, por conseguinte, da UAL, dos registradores de dados, do barramento interno) acarreta, sem dúvida, diferenças fundamentais de desempenho da CPU.
![Page 3: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/3.jpg)
No projeto de uma CPU, a definição do tamanho da palavra tem enorme
influência no desempenho global de toda a CPU e, por conseguinte, do
sistema como um todo:
a) influência ou desempenho devido ao maior ou menor tempo na execução de
instruções com operações matemáticas na UAL.
b) influência no desempenho devido ao tamanho escolhido para o barramento interno e externo da CPU. Se a largura do barramento for, p.ex., igual a 16 bits em um sistema com palavra de 32 bits (UAL e registradores de 32 bits), então o movimento de 4 bytes de um dado tipo caractere requererá dois ciclos de tempo do barramento, ao passo que em barramento de 32 bits requereria apenas um ciclo de tempo;
![Page 4: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/4.jpg)
c) influência também na implementação física do acesso à memória, porque o movimento de dados entre CPU e memória é normalmente medido em palavras (o barramento de dados que une o RDM à memória deve acompanhar em largura o valor da palavra). Para uma CPU de 32 bits de palavra, por exemplo, é desejável que a memória seja organizada de modo que sejam acessadas 4 células contíguas (4 bytes = 32 bits) em um único ciclo de memória. Se isto não ocorrer, a CPU deverá ficar em estado de espera ("wait state").
![Page 5: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/5.jpg)
3. Funções da CPU
• A CPU é projetada e fabricada com o propósito único de executar sucessivamente pequenas operações matemáticas (ou outras manipulações simples com dados), na ordem e na sequência definidas pela organização do programa.
• As atividades realizadas pela CPU podem ser divididas em duas grandes categorias funcionais:
– Função processamento;
– Função controle.
![Page 6: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/6.jpg)
3.1 - Função de processamento
• A função processamento se encarrega de realizar as atividades relacionadas com a efetiva execução de uma operação, ou seja, processar.
• Processar o dado é executar com ele uma ação que produza algum tipo de resultado.
![Page 7: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/7.jpg)
• Tarefas comuns a esta função são as que realizam:
– Operações aritméticas (somar, subtrair, multiplicar, dividir);
– Operações lógicas (and, or, xor, etc);
– Movimentação de dados (memória - CPU, CPU - memória, registrador - registrador etc);
– Desvios (alteração de sequência de execução de instruções);– Operações de entrada ou saída.
![Page 8: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/8.jpg)
• Fazem parte dessa área funcional os seguintes dispositivos:
– Unidade Aritmética e Lógica (UAL);
– Acumulador (ACC);
– Registradores.
![Page 9: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/9.jpg)
M P
UAL ACCReg
Barramentode endereços
Barramentode dadosU C P
![Page 10: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/10.jpg)
3.1.1 - Unidade Aritmética e Lógica – UAL (ou ULA)
A UAL é o dispositivo da CPU que executa realmente as operações matemáticas com os dados. Tais operações podem ser:
– soma, multiplicação, subtração e divisão;
– op lógica AND, OR e XOR;
– deslocamentos à direita e à esquerda;
– incremento e decremento;
– op complemento.
![Page 11: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/11.jpg)
Qualquer UAL é um aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações já mencionadas.
Essas operações são sempre realizadas sobre duas palavras da máquina.
Em geral, esse circuito que trabalha com palavras de n bits é construído a partir de n circuitos idênticos, cada qual responsável por uma posição individual de bits.
![Page 12: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/12.jpg)
A seqüência a seguir, mostra a construção de uma ULA que pode calcular uma de quatro funções a saber:
A and B; A or B; B; A + B.
![Page 13: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/13.jpg)
Os processadores mais modernos utilizam em sua arquitetura mais de uma UAL, de modo a tornar a execução das instruções mais rápida.
CACHE para instruções
BTB
ULA 1 ULA 2 FPU
Registradores
CACHE para dados
BIU
Barramento Interno
Barramento Externo
BIU = Interface do barramentoCache para instruções e dados = 8 KB
ULA 1 e 2 = nº inteirosFPU = nº fracionários
![Page 14: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/14.jpg)
3.1.2 – Registradores
Para que um dado possa ser transferido para a UAL, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em um registrador (a memória da CPU).
O resultado de uma operação aritmética ou lógica realizada na UAL é armazenado temporariamente, para que possa ser reutilizado (por outra instrução) ou apenas para ser transferido para a memória.
Para atender a estes propósitos, a CPU é fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados.
O número de registradores e suas funções varia de processador para processador e é um dos maiores problemas no projeto de uma CPU.
![Page 15: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/15.jpg)
Há sistemas nos quais um desses registradores, denominado acumulador (abrevia-se, em inglês, ACC), além de armazenar dados, serve de elemento de ligação da ULA com os outros dispositivos da CPU.
Os registradores da CPU são divididos em 2 tipos:
Registradores visíveis para o usuário– Permite ao usuário minimizar referências à memória através do uso
deles.
Registradores de controle e de estado– Utilizados pela UC para controlar operações da CPU e programas
privilegiados do sistema operacional para controlar a execução de programas.
![Page 16: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/16.jpg)
3.1.2.1. Registradores visíveis para o usuário3.1.2.1. Registradores visíveis para o usuário
Categorias:
a. Registradores de propósito geral
b. Registradores de dados
c. Registradores de endereço (segmento, apontador de pilha e de índice)
d. Registradores de código de condição (flags)
![Page 17: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/17.jpg)
3.1.2.2. Registradores de Controle e de Estado3.1.2.2. Registradores de Controle e de Estado
Categorias:
a. Contador de Programa– Contém o endereço da instrução a ser buscada.
b. Registrador de Instrução– Contém a última instrução a ser buscada.
c. Registradores de endereçamento à memória– Contém o endereço de uma posição da memória.
d. Registradores de armazenamento temporário de dados.– Contém uma palavra de dados a ser escrita na memória ou a palavra lida
mais recentemente.
![Page 18: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/18.jpg)
3.2 - Função de controle:
Atividades:
• Busca da instrução a ser executada, armazenando-a em um registrador especialmente projetado para esta finalidade;
• Interpretação das ações a serem desencadeadas com a execução da instrução (se é soma, subtração, etc e como realizá-la);
• Geração de sinais de controle apropriados para ativação das atividades requeridas para a execução propriamente dita da instrução identificada. Estes sinais são enviados tanto para componentes internos (ULA, por ex.) quanto externos (MEM, E/S).
![Page 19: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/19.jpg)
• Em resumo, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer, no momento adequado.
• Os dispositivos básicos que devem fazer parte dessa área funcional são:
– Unidade de controle (UC);– Decodificador;– Registrador de instrução (RI) ou IR - "instruction register";– Contador de instrução (CI) ou PC "program counter";– Relógio ou "clock";– Registradores de endereço de memória (REM) e de dados da memória
(RDM).
![Page 20: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/20.jpg)
M P
UAL
RDM
REMCIACCReg
Barramentode endereços
Barramentode dadosU C P
U CDecodificadorde instruções
RIRelógio
Barramentode controle
![Page 21: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/21.jpg)
RI
DECODIFICADOR
UCGeradorde tempo
Código da operação
t0
tN
Pulsos do relógio
Barramento de Controle
Sinais de controle para o barramento de sistema
Sinais de controle para dispositivos internos da CPU
*
* Sinais de controle vindos do barramento do sistema
![Page 22: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/22.jpg)
3.2.1 - Registrador de Instrução - RI
É o registrador que tem a função específica de armazenar a instrução a ser executada pela CPU.
Ao se iniciar um ciclo de instrução, a UC emite o sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória, e que, via barramento de dados e RDM, será armazenada no RI.
![Page 23: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/23.jpg)
3.2.2 - Contador de Instrução – CI
É o registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada.
Tão logo a instrução que vai ser executada seja buscada (lida) da memória para a UCP (início do ciclo de instrução), o sistema providencia a modificação do conteúdo do CI de modo que ele passe a armazenar o endereço da próxima instrução na seqüência.
Por isso, é comum definir a função do CI como sendo a de "armazenar o endereço da próxima instrução", que é o que realmente ele faz durante a maior parte da realização de um ciclo de instrução.
![Page 24: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/24.jpg)
3.2.3 - REM e RDM
Já vistos em memória.
![Page 25: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/25.jpg)
3.2.4 - Unidade de Controle
É o dispositivo mais complexo da CPU.
Possui a lógica necessária para realizar a movimentação de dados e instruções de e para a CPU, através dos sinais de controle que emite em instantes de tempo programados.
Exemplo: busca de 1 instrução:
T0 : REM (CI)T1 : CI CI + N RDM M(op)T2 : RI RDM
M = Célula
M(op) = Conteúdo da célula
As operações menores são conhecidas como microoperações
![Page 26: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/26.jpg)
4. Instruções de máquina4. Instruções de máquina
Uma instrução de máquina é a especificação de uma operação básica (ou primitiva) que o hardware é capaz de realizar diretamente.
O conjunto de instruções fornece os requisitos funcionais para a CPU.
Quando se escreve "conjunto de instruções", estamos nos referindo a todas as possíveis instruções que podem ser interpretadas e executadas por um processador.
![Page 27: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/27.jpg)
4.1 - Tipos de instruções:
Operações matemáticas (aritméticas, lógicas, de complemento, de deslocamento);
Movimentação de dados (memória - UCP e vice-versa); Entrada e saída (leitura e escrita em dispositivo de E/S); Controle (desvio da sequência de execução, parar etc.).
Observação: Quando se escreve "conjunto de instruções", estamos nos referindo a todas
as possíveis instruções que podem ser interpretadas e executadas por um
processador.
![Page 28: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/28.jpg)
4.2 - Formato das instruções:
C.Op. Operando 1 Operando 2
C.Op. Operando 1
C.Op. Don’t care
![Page 29: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/29.jpg)
De modo geral, podemos separar o grupo de bits que constitui a
instrução em dois campos:
– Um campo (um subgrupo de bits) chama-se código de operação;
– O restante grupo de bits (se houver) denomina-se campo do(s) operando(s) ou, simplesmente, operando(s).
![Page 30: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/30.jpg)
5. Funcionamento da UCP5. Funcionamento da UCP
![Page 31: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/31.jpg)
Ciclo de Instrução:Início
Buscar a próxima instrução
![Page 32: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/32.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
![Page 33: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/33.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Ciclode
busca
![Page 34: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/34.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Ciclode
busca
![Page 35: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/35.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Tem operando?
Ciclode
busca
![Page 36: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/36.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Tem operando?sim
Ciclode
busca
Buscar earmazenaroperando
Cálculode endereçodo operando
![Page 37: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/37.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Executar aoperação
Tem operando?sim
não
Ciclode
busca
Buscar earmazenaroperando
Cálculode endereçodo operando
![Page 38: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/38.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Executar aoperação
Tem operando?sim
não
Ciclode
busca
Buscar earmazenaroperando
Cálculode endereçodo operando
Ciclode
execução
![Page 39: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/39.jpg)
Início
Buscar a próxima instrução
Incrementar o CI
Decodificaçãodo C. Op.
Executar aoperação
Tem operando?
Cálculode endereçoda instrução
Buscar earmazenaroperando
Cálculode endereçodo operando
sim
não
Ciclode
busca
Ciclode
execução
![Page 40: 1. Introdução u O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos](https://reader031.vdocuments.site/reader031/viewer/2022013013/5706384b1a28abb8238f5c4e/html5/thumbnails/40.jpg)
Ciclo de Instrução: Buscar a próxima instrução:
– RI (CI)
Incrementar o CI:
– (CI) (CI) + 1
Decodificação do C.Op.:
– o decodificador recebe os bits do C.Op. e gera uma saída para a UC.
Buscar Op se houver:– RDM (Op)
Executar a instrução