Processador

Propaganda
Processador
Execução de Tarefas

O software consiste num conjunto de códigos ou instruções desenvolvidos para
facilitar o controlo da máquina.
Um programa para ser executado normalmente precisa de uma requisição ou
ordem externa, uma solicitação feita pelo utilizador.
Em alguns casos os programas são executados automaticamente – por exemplo, o
Windows.
Quando um comando é feito pelo utilizador ou pelo próprio sistema em uso, é
enviada uma solicitação para o processador, que faz o processamento da
informação e, por sua vez, faz também uma requisição de dados e instruções ao
disco rígido, que é o local onde está armazenado o programa.
Execução de Tarefas

Os dados são enviados através de blocos e passam pela memória RAM antes de
serem processados.
A RAM, ao contrário do disco rígido, é uma memória dinâmica que permite leitura
e gravação em velocidades muito superiores ao HD (disco rígido).
Ela existe justamente para evitar que o processador esteja constantemente a fazer
requisições ao disco rígido, o que tornaria a execução de programas algo muito
lento.
Dentro do processador também existem outras memórias dinâmicas, que
armazenam temporariamente resultados de processamento (cálculos e operações
lógicas) e fazem o controlo das informações.
São as conhecidas Caches.
Memória Cache

A memória cache consiste numa pequena quantidade de memória
embutida no processador.
Quando o processador precisa ler dados da memória RAM, um circuito
especial chamado "controlador de cache" transfere blocos de dados muito
utilizados da RAM para a memória cache.
Assim, no próximo acesso do processador, este consultará a memória
cache, que é bem mais rápida, permitindo o processamento de dados de
maneira mais eficiente.
Desta forma, a memória cache actua como um intermediário, isto é, faz
com que o processador nem sempre necessite chegar à memória RAM
para aceder os dados dos quais necessita. O trabalho da memória cache
é tão importante que, sem ela, o desempenho de um processador pode
ser seriamente comprometido.
Memória Cache

Os processadores trabalham, basicamente, com dois tipos de cache:
cache L1 (Level 1 - Nível 1)
cache L2 (Level 2 - Nível 2).

A cache L2 é ligeiramente maior em termos de capacidade e passou a ser
utilizado quando a cache L1 se mostrou insuficiente. Antigamente, um tipo
distinguia-se do outro pelo facto da memória cache L1 estar localizada
junto ao núcleo do processador, enquanto a cache L2 ficava localizada na
motherboard.
Atualmente, ambos os tipos ficam localizados dentro do chip do
processador, sendo que, em muitos casos, a cache L1 é dividida em duas
partes: "L1 para dados" e "L1 para instruções".
Barramentos

Uma das características principais de um processador ou CPU são os seus
barramentos.
Os barramentos são “auto-estradas” por onde circula a informação, seja no interior
do CPU, ou do interior para o exterior e vice-versa. Vão permitir a comunicação
entre o CPU, memória e dispositivos de entrada e saída.
Barramentos internos – transportam a informação entre os vários componentes
internos do processador, isto é, registos, ALU,etc.
Barramentos externos
- Barramento de Dados
- Barramento de Endereços
- Barramento de Controlo
Barramento de dados
CPU
Barramento de endereços
Barramento de controlo
Memória
Barramentos

Barramento de endereços
Que têm por função transportar a identificação/localização ("endereço")
dos sítios onde se pretende ler ou escrever dados (por ex., o endereço de
uma célula de memória)
Barramento de Dados
Neste barramento, tal como o nome indica, circulam os dados que são
recebidos ou enviados, de e para periféricos e memória.
Quanto maior a sua "largura", maior o número de bits que é possível
transportar em simultâneo.

Barramentos
Barramento de Controle
Tem como função a sincronização do processador com os restantes
componentes.
Como estes são sempre mais lentos do que o processador, provocam
estados de espera que necessitam ser controlados, de modo a que a
comunicação processador e os componentes externos seja feita
eficazmente.
por ex., sinais para indicar que a informação que circula no barramento
de dados é para ser escrita e não lida da célula de memória cuja
localização segue no barramento de endereços.
Tarefas

Os fatores determinantes para o desempenho de todo este procedimento de
execução de tarefas, realizado pela máquina, são:
• a frequência de clock do processador, identificado por Hertz (ex.: 2.6GHz);
• a frequência do barramento externo na motherboard (ex.: 400MHz);
• a quantidade e frequência de memória RAM (ex.: 1GB e 533MHz);
•
a taxa de transferência e velocidade de rotação do disco rígido (ex.:
300MB/s e 7200RPM).
•
Outros fatores também podem ser considerados, como a quantidade de núcleos
disponíveis no processador (ex.: Core 2 Duo, de 2 núcleos) e etc.
Tarefas

Um sistema Operacional não executa apenas os programa que estamos a ver no
momento no computador.
As aplicações que normalmente executa reúnem diversas instruções e comandos,
porém, são os processos que efetivamente executam esses comandos.
Uma única aplicação pode ter vários processos relacionados.
Por exemplo, o Browser pode ter vários separadores.
Para cada separador existe uma tarefa/processo associado.
Um processo é um programa que está a ser utilizado num determinado momento,
é uma tarefa em execução.

Estados de um processo
Durante a execução de um processo, ele altera o seu estado.
Possíveis estados:
Novo (new): O processo está a ser criado.
A Exeutar (running):as instruções estão a ser executadas.
Em Espera (waiting): O processo está à espera que algum evento aconteça.
Pronto (ready): O processo está à espera de ser associado a um processador.
Terminado (terminated): O processo terminou sua execução.

Estados de um processo
Durante a execução de um processo, ele altera o seu estado.
Possíveis estados:
Novo (new): O processo está a ser criado.
A Exeutar (running):as instruções estão a ser executadas.
Em Espera (waiting): O processo está à espera que algum evento aconteça.
Pronto (ready): O processo está à espera de ser associado a um processador.
Terminado (terminated): O processo terminou sua execuçã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.
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.

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;
–
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").



Processador com 16 bits manipula número de
valor até 65.535
Operação com um número de 100.000, terá que
fazer a operação em duas partes
32 bits, ele pode manipular números de valor
até 4.294.967.295
Intel Core 2 Extreme Quad-Core
Fabricação
Cilindro formado por silício (ingot).
– Cilindro é "fatiado.
– Cada fatia é chamada Wafer (bolacha).
Fabricação
Engenheiro segurando um wafer
Fabricação
Clock




Feita em hertz (Hz), que indica o número de
oscilações ou ciclos que ocorre dentro de uma
determinada medida de tempo, no caso,
segundos
processador trabalha à 800 Hz>800 operações
de ciclos de clock por segundo
megahertz (MHz) é usado para indicar 1000
KHz (ou 1 milhão de hertz)
freqüência de 800 MHz>800 milhões de ciclos
por segundo.

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.
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.
• 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.
–
• Fazem parte dessa área funcional os seguintes
dispositivos:
•
– Unidade Aritmética e Lógica (UAL);
– Acumulador (ACC);
– Registradores.
UAL
Barramento
de dados
MP
UCP
ACC
Reg
Barramento
de endereços
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.

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.

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.
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
Barramento
Externo
ULA 1
ULA 2
FPU
BIU
Barramento
Interno
Registradores
CACHE para dados
BIU = Interface do barramento
Cache para instruções e dados = 8 KB
ULA 1 e 2 = nº inteiros
FPU = nº fracionários
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.

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.

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)
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.
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).
• 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).
Barramento
de dados
UCP
MP
RDM
ACC
UAL
Reg
CI
REM
Barramento
de endereços
RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle

Pulsos do
relógio






RI
DECODIFICADOR
t0
Gerador
de tempo


UC
tN



Código da operação

*
Sinais de controle para
o barramento de
sistema

Barramento de Controle
Sinais de controle para
dispositivos internos
da CPU
- Sinais de controle vindos do barramento do sistema
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.
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.
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


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.
Tipos de instruções:





Operações matemáticas (aritméticas, lógicas, 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.).
complemento,
de

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.

Formato das instruções:

C.Op.

Don’t care

C.Op.

Operando 1

C.Op.

Operando 1

Operando 2

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).
5. Funcionamento da UCP
Ciclo de Instrução:
Início
Buscar a próxima
instrução
Início
Buscar a próxima
instrução
Incrementar o CI
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Decodificação
do C. Op.
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Decodificação
do C. Op.
Tem operando?
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Cálculo
de endereço
do operando
Decodificação
do C. Op.
sim
Tem operando?
Buscar e
armazenar
operando
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Cálculo
de endereço
do operando
Decodificação
do C. Op.
sim
Tem operando?
não
Executar a
operação
Buscar e
armazenar
operando
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Cálculo
de endereço
do operando
Decodificação
do C. Op.
Ciclo
de
execução
sim
Tem operando?
não
Executar a
operação
Buscar e
armazenar
operando
Início
Ciclo
de
busca
Buscar a próxima
instrução
Incrementar o CI
Cálculo
de endereço
da instrução
Ciclo
de
execução
Cálculo
de endereço
do operando
Decodificação
do C. Op.
sim
Tem operando?
não
Executar a
operação
Buscar e
armazenar
operando
Ciclo de Instrução:

Buscar a próxima instrução:
– RI

Incrementar o CI:
– (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
Download