Processador - Professora Dra. Carolina

Propaganda
Disciplina: Organização de
computadores
Professora: Carolina D. G. dos Santos
E-mail: [email protected]
Página: profcarolinadgs.webnode.com.br
Unip / Prof.a Carolina
1
Processador
Componentes básicos de um computador
Processador
Dispositivo de
Entrada
Memória principal
(RAM)
ou primária
Dispositivo de
Saída
Memória
secundária
2
Processador (CPU)
● CPU (Central Processing Unit) é o coordenador de todas as
“atividades” de um computador (“cérebro”) ou UCP (Unidade
Central de Processamento).
● É interligado aos outros elementos do computador a partir de
um barramento:
– Barramento: coleção de fios para transmitir endereços,
dados e sinais de controle.
● Existem barramentos internos e externos ao processador
Buscar uma instrução
Interpretar a instrução
Executar a operação
indicada pela interpretação
3
Analogia com o cérebro humano
Se uma pessoa de repente deseja levantar seu braço direito
(executar operação primitiva – o processador – executar a soma de
dois números <seqüência de execução vem de fábrica embutida na
UC do processador>).
 Realiza primeiro a atividade cerebral de interpretar a ordem
(instrução de máquina) de levantar o braço (somar 2 valores)
 Gera sinais elétricos que percorrem os nervos (nossa “fiação”
interna, barramento no processador) até os músculos do braço –
essa seqüência faz parte da atividade cerebral, semelhante à da área
de controle do processador.
 Ao atingir os músculos, os sinais acionam o movimento de
suspender o braço (atividade muscular – atividade de execução da
operação ou atividade de processamento).
4
Visão geral da CPU
Unidade Central
de Processamento (CPU)
Unidade de
Controle (UC)
Unidade
Aritmética
Lógica
(UAL)
Busca e decodificação
Operações lógicas e aritméticas
Armazenamento para processar
Dispositivos de I/O
Registradores
A
B
C
D
PC
IR
..
.
..
.
Memória
Principal
Disco
Impressora
Barramento
5
Processador (CPU)
● Função do processador: executar instruções (programas)
obtidas a partir da memória principal.
● Um programa é composto por uma série de instruções
que são executadas seqüencialmente pela CPU, através de
operações básicas como somar, subtrair, comparar e
movimentar dados.
● A CPU é composta por diversas partes:
– Unidade de Controle (UC)
– Unidade Aritmética e Lógica (UAL ou ULA)
– Registradores (propósito geral e propósito específico)
● PC (Program Counter), IR (Instruction Register)
6
clock
UC
ULA
R0
..
.
RK
PC
RI
ACC
RDM
REM
7
Processador (CPU)
● Unidade de controle (UC)
– responsável pela busca das instruções na memória principal, sua
decodificação e execução.
– Controla todos os componentes e dispositivos de um computador,
emitindo sinais elétricos periódicos (pulsos de controle) gerados por
um dispositivo de relógio (clock).
– Inicia ou termina a leitura de dados, controla o armazenamento de
palavras na memória, a execução de uma instrução, o início de uma
operação aritmética, etc.
8
clock
UC
ULA
R0
..
.
RK
PC
RI
ACC
RDM
REM
9
Processador (CPU)
– Contador de Instrução (Program Counter – PC): é quem
armazena o endereço da (aponta para a) próxima instrução a
ser executada. Determina a seqüência (fluxo) de execução de
um programa, endereçando instrução por instrução
– Registrador de Instruções (Instruction Register – RI):
armazena (contém) a instrução que está sendo executada.
10
clock
UC
ULA
R0
..
.
RK
PC
RI
ACC
RDM
REM
11
Processador (CPU)
– Unidade de Lógica e Aritmética (ULA): possui os circuitos
necessários para executar operações lógicas e aritméticas.
• Exemplos: Somas, subtrações, determinação de sinal,
comparações algébricas de números, verificar se um
número é maior ou menor que zero, etc.
– Possui também pelo menos um registrador encarregado de
armazenar números a serem operados pela ULA ou resultados
de operações. Esse registrador é chamado de Acumulador
(ACC).
12
clock
UC
ULA
R0
..
.
RK
PC
RI
ACC
RDM
REM
13
Processador (CPU)
● Registradores: os registradores são dispositivos de pequena
capacidade e alta velocidade, localizados na CPU, para
armazenamento temporário de dados e certas informações de
controle.
● O número de registradores varia em função da arquitetura de
cada processador.
● Formada por:
• Registradores de uso geral: acessíveis ao usuário no
nível convencional de máquina
• Registradores de uso específico: acessíveis diretamente
apenas pela UC durante a execução de um programa.
14
clock
UC
ULA
R0
..
.
RK
PC
RI
ACC
RDM
REM
15
Processador (CPU)
● Registradores Especiais mais Comuns (de uso específico)
- ACC - Acumulador (Accumulator) - guarda dados utilizados
em operações matemáticas e lógicas, auxiliando a ALU.
- RI - Registrador de Instruções (ou IR – Instruction Register) guarda o código binário da operação corrente (em linguagem
de máquina)
- CI - Contador de Instruções (ou PC – Program Counter) Guarda o endereço de memória da próxima instrução a ser
executada.
16
Processador (CPU)
● Registradores Especiais mais Comuns (cont.):
- RDM - Registrador de Dados da Memória (ou MBR - Memory
Buffer Register, ou ainda, MAR - Memory Data Register) guarda os dados que serão lidos ou gravados na memória
- REM - Registrador de Endereços da Memória (ou MAR Memory Address Register) - guarda o endereço de localização
para o acesso à memória.
17
Processador (CPU)
● A velocidade de processamento (desempenho) de uma CPU
é determinada pelo número de instruções que o processador
executa por unidade de tempo.
● Alguns fabricantes utilizam unidades de processamento
próprias, já que não existe uma padronização.
● O mais comum é o MIPS (Milhões de instruções por segundo)
e o MFLOPS/GFLOPS (Milhões/Bilhões de instruções de ponto
flutuante por segundo).
18
Processador (CPU)
● Clock: o clock é um dispositivo, localizado na CPU, que gera
pulsos elétricos síncronos em um determinado intervalo de tempo
(período).
● A quantidade de vezes que este pulso se repete em um segundo
define a freqüência do clock.
● O sinal do clock é utilizado pela UC para sincronizar a execução
das instruções.
● A freqüência do clock é expressa em Hertz, o que significa o
número de pulsos gerados em um segundo.
● Então, um computador com um clock de 100 MHz significa que o
pulso se repete cem milhões de vezes por segundo.
19
Clock
 Ciclo do relógio (clock cycle ou cycle) – intervalo de tempo entre o
início da subida (ou da descida) de um pulso até o início da subida
(ou da descida) do outro pulso;
 Período (cycle time ou period) – intervalo de tempo gasto para se
obter um ciclo do sinal do relógio (ns - nanossegundos)
 Lado de subida (rising edge) – é a parte do pulso que realiza a
transição do valor baixo para o valor alto;
 Tempo de subida (rising time) – é o período de tempo gasto pelo
sinal para realizar toda a subida (ns - nanossegundos).
1
(clock cycle)
1 ciclo
Lado de subida
Lado de descida
0
tempo
Período
20
Esquema Simplificado da CPU
21
Área funcional de
processamento
(Execução de operação)
Área funcional do
controle
(Busca, interpretação e
controle de instrução)
Barramento interno
Funções do Processador
 Funções de processamento
 Funções de controle
~~~
~~~
~~~
Para memória
Barramento do Sistema
(System bus)
Diagrama de bloco (básico)
de um processador
22
Funções do Processador
 Função de processamento se encarrega de realizar
atividades relacionadas com a efetiva execução de uma
operação, ou seja, processar, realizar um cálculo aritmético ou
lógico.
 Função controle é exercida pelos componentes do
processador que se encarregam das atividades de 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).
23
Funções de Processamento
 Unidade Lógica e Aritmética (ULA, UAL, ALU)
 Registradores de dados e registradores especiais de estado
(PSW – program status word)
Componentes as área funcional
de processamento
24
Componentes com função de Processamento
25
Funções de Controle
Unidade de controle,
 relógio (clock)
 Registradores especiais
• PC – program counter
(CI - contador de instruções)
• IR – instruction register
(RI – registrador de
instrução)
• REM – registrador de
endereços de memória
(MAR)
• RDM – registrador de
dados de memória (MDR)
26
Componentes com função de Controle
27
Unidade de Controle
Registrador de Instrução
Código de operação
Pulsos
de
Relógio
DECODIFICADOR
Sinal resultante da
decodificação
(apenas 1 saída
ativada de cada vez)
...
t0
Gerador
de
tempo
t1
...
t2
UNIDADE DE CONTROLE
tn
Sinais de controle
para o barramento
de sistema
Sinais de controle
vindos do barramento
de sistema
Sinais de controle para
Dispositivos internos da UCP
(registradores, UAL, etc)
BARRAMENTO DE CONTROLE
28
Processador (CPU)
● Conjunto de Instruções de um Processador:
A CPU (hardware) espera encontrar um programa em
linguagem de máquina (uma seqüência de instruções de
máquina em código binário).
● Linguagem de Máquina: a linguagem de máquina é
composta de códigos binários, representando instruções,
endereços e dados e está totalmente vinculada ao conjunto de
instruções da máquina.
● Todo processador já vem com seu conjunto de instruções
pré-definido.
29
Instruções
– São comandos fornecidos ao computador para que ele execute
uma tarefa específica (soma, teste, desvio, etc)
– Uma série dessas instruções constituem um programa.
– Cada computador (processador) tem um repertório particular de
instruções, cuja rapidez de execução é um fator determinante na
“potência de computação” (desempenho / performance) da máquina
– Conforme proposto por Von Neumann, as instruções, tal qual os
dados, devem residir na MP, e dispostas seqüencialmente.
– A seqüência de execução pode ser alterada por Instruções de
Desvio
30
Formato das Instruções
Código da Instrução
(OpCode)
Operando – Op
(Informação Complementar)
Código de Operação ou OPCODE - campo da instrução cujo valor
binário identifica (código binário) a operação a ser realizada. Este código
é a entrada no decodificador de instruções na unidade de controle. Cada
instrução deverá ter um código único que a identifique.
Operando(s) - campo(s) da instrução cujo valor binário indica a
localização do dado (ou é o próprio dado) que será manipulado pela
instrução durante a operação. Um operando pode conter:
- o endereço de memória onde está o dado
- o endereço onde o resultado da operação será armazenado
- a indicação de um registrador que conterá o dado ou endereço de
memória onde está armazenado o dado
31
Formato das Instruções
Código da Instrução
(OpCode)
Operando – Op
(Informação Complementar)
– OpCode: identifica a instrução a ser efetuada
– Op: identifica sobre o que (quem) a instrução manipulará
– Existem instruções de 1, 2 ou 3 operandos
– O tamanho do OpCode indica o número máximo de
instruções da máquina.
• n bits => até 2n instruções
– Ciclo de Instrução: conjunto de operações realizadas pelo
computador para completar a execução de uma instrução
32
Ciclo de Instrução básico
Início
Buscar
instrução
na memória
Endereço da instrução está no
Registrador PC (Program Counter)
Interpretar a
operação a
ser realizada
Conteúdo da instrução está no
Registrador IR (Instruction Register)
Buscar
operandos
(se houver)
Executar a
Operação
Escrever
resultado
Término
 Este ciclo repete-se indefinidamente até que o
sistema seja desligado ou reiniciado, ou ocorra algum
tipo de erro ou, ainda, que seja encontrada uma
instrução de parada.
 Projetado e fabricado com o propósito único de
executar sucessivamente pequenas operações
matemáticas (ou outras manipulações de dados), na
ordem e na seqüência definidas pela organização do
programa.
33
INÍCIO
Ciclo de Instrução básico
Buscar
instrução
na memória
Interpretar a
Instrução
Buscar
os
Dados
Executar
a
Instrução
FETCH
DECODE
LOAD
EXECUTE
FIM
Salvar
os
Resultados
STORE
34
Ciclo de Instrução básico
• Palavras são as unidades de dados movidas entre a memória e os
registradores.
• Instruções Registrador-Memória
– Permitem que o conteúdo de palavras de memória seja
armazenado nos registradores (LOAD) ou conteúdos de
registradores armazenados na memória (STORE)
• Referências a uma palavra deve ser feita através de Endereços
• Instruções Registrador-Registrador
– Típico:
• busca dois operandos em registradores
• coloca-os nas entradas da ULA
• realiza alguma operação sobre eles
• ... e armazena o resultado em um dos registradores
– Determina um caminho de dados
35
Ciclo de Instrução básico
• Caminho de Dados
– Registradores
– ULA
– Controlado pela UC
• A velocidade do ciclo
do caminho de dados
(Ciclo de Instrução)
determina, em última
análise, a velocidade
do processador.
36
Ciclo de Instrução básico
• Ciclo de Instrução
– Conjunto de ações (operações) realizadas pela CPU para
completar a execução de uma instrução
– Divide-se em Ciclo de Busca (Fetch Cycle) e Ciclo de
Execução (Execution Cycle).
• Ciclo de busca (FETCH Cycle)
1. A UC lê (busca) a instrução na memória e carrega
(armazena) a instrução em RI para ser decodificada e
executada.
2. Atualização do valor de PC (incremento), fazendo-o apontar
para a instrução seguinte
37
Ciclo de Instrução básico
• Ciclo de execução (EXECUTION cycle)
3. Determinação do tipo de instrução que está armazenada em
RI (decodificação)
4. Determinação de onde (endereço) uma palavra está
armazenada, caso necessário
5. Busca da palavra, se necessário, e armazenamento em um
dos registradores do processador
6. Execução da instrução
7. Retorno ao passo 1 para iniciar a execução da instrução
seguinte
38
Download