Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair
◦ Mover um dado de um local de armazenamento para outro
◦ Transferir um dado para um dispositivo de saída
A função do processador é executar programas: ◦ Um programa executável é constituído de um
conjunto de instruções de máquina seqüencialmente organizadas
Para que a execução de um programa tenha início é necessário que: ◦ As instruções devem estar armazenadas em células
sucessivas, na MP ou MC
◦ O endereço da primeira instrução deve estar armazenado no processador
A partir daí, o processador: ◦ Busca uma instrução (op. de leitura), uma de cada
vez, cujo endereço deve estar armazenado em um registrador específico
◦ Interpreta a instrução ◦ Busca os dados (operandos) onde estiverem
armazenados, para trazê-los até o processador
◦ Executa efetivamente a operação com os dados buscados e guarda o resultado no local definido na instrução
◦ Reinicia o processo buscando uma nova instrução
Os passos descritos formam um ciclo de instrução e ele é repetido até que seja encontrada uma instrução de parada ou até que ocorra algum erro
Buscar a próxima instrução
Início
Interpretar instrução (decodificar)
Buscar operandos
Executar instrução
Armazenar resultados
Fim
As atividades do processador estão divididas em duas categorias: ◦ Função de processamento
◦ Função de controle
Busca, interpretação e controle da execução das instruções
Controle dos componentes do sistema
Para efeito didático, o processador executará as instruções seqüencialmente ◦ Processo lento e pouco eficiente
Os processadores atuais utilizam a técnica pipeline ◦ Execução de instruções em paralelo
O diagrama de blocos a seguir ilustra os principais componentes de um processador e sua organização lógica ◦ Não se trata de uma organização física
Os componentes principais são: ◦ ULA (Unidade Lógica Aritmética) ◦ UC (Unidade Controle) ◦ Banco de Registradores
Registradores específicos ◦ RI - registrador de instrução: armazena
instrução corrente em execução ◦ CI (contador de instruções) ou PC
(Program Counter): armazena o endereço da próxima instrução ◦ ACC: acumulador ◦ RDM: registrador de dados da memória ◦ REM: registrador de endereço da memória
Registradores de propósito geral: 0 a R-1
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
PC RDM
REM
Barramento de endereços
Barramento de dados
Relógio
Barramento de controle
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
PC RDM
REM
Barramento de endereços
Barramento de dados
Barramento de controle
Relógio
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
PC RDM
REM
Barramento de endereços
Barramento de dados
Barramento de controle
Relógio
Operações da ULA:
Soma
Multiplicação
Subtração
Divisão
Operação AND
Operação OR
Operação XOR
Deslocamento à direita
Deslocamento à esquerda
Incremento
Decremento
As operações podem utilizar: ◦ Dois operandos pois a ULA tem somente duas
entradas
◦ Um operando no caso do incremento ou decremento
A saída da ULA está ligada diretamente aos registradores, através do barramento interno
A capacidade de processamento de uma CPU (velocidade que ela executa uma instrução) é determinado pelo tamanho da palavra
O tamanho da palavra determina o tamanho da ULA, do barramento interno e dos registradores
Para comparar processadores em relação ao tamanho da palavra, considere a seguinte operação: ◦ 3A25 + 172C (A + B)
◦ Ambos números inteiros, sem sinal com 16 bits de tamanho cada um
Regs de 8 bits
25 + 2C
3A + 17
CPU
3A
25
17
2C
MP
8 bits
Barramento de dados
8 bits
8 bits
Processador com palavra de 8 bits
A operação de soma é realizada em duas etapas
A
B
Regs de 16 bits
3A25 + 172C
CPU
3A
25
17
2C
MP
8 bits
Barramento de dados
16 bits
16 bits
Processador com palavra de 16 bits
A operação de soma dos mesmos números é realizada em uma etapa
A
B
O tamanho da palavra influencia também no tamanho do barramento de dados ◦ Para melhor desempenho, o BD deve ter uma
palavra de largura ◦ Se a largura do barramento for menor, por
exemplo, metade da palavra, seriam necessários dois ciclos de tempo do barramento
O tamanho da palavra influencia também na organização da memória ◦ A memória está organizada em bytes mas
os dados que se movimentam entre processador e memória devem estar organizados em palavras Se isto não ocorrer, o processador ficará em
estado de espera (wait state) até que a palavra completa seja transferida
A transferência irá gastar mais de um ciclo de memória
Dispositivo gerador de pulsos cuja duração é chamada de ciclo
A quantidade de vezes que o pulso se repete em um segundo define a freqüência ◦ A freqüência é usada para definir a velocidade do
processador
Durante um ciclo de clock ocorre a realização de uma operação elementar do ciclo de instrução
Uma operação elementar não se realiza em um só passo logo o ciclo de clock é dividido em ciclos menores (subciclos)
Os passos de uma operação elementar denominam-se microoperações
Gerador de tempo
Unidade de controle
Relógio t0
t1 t2 t3 t4 t5
Um clock t0 e seus 5 subclocks
Processador: Relógio
Buscar a próxima instrução
Início
Interpretar instrução (decodificar)
Buscar operandos
Executar instrução
Armazenar resultados
Fim
Passo elementar que ocorre em um ciclo de clock
Buscar a próxima instrução
O reg. de instruções recebe a instrução
buscada RI RDM
O RDM recebe a instrução
RDM Mem
Incrementar o CI para armazenar o endereço da próxima instrução
PC PC + N
Colocar o endereço da instrução a ser
buscada no REM REM (PC)
Microoperações Para a busca de uma instrução
subciclo
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
1000 RDM
1000
Barramento de endereços
Barramento de dados
Relógio
Barramento de controle
1000
PC
REM
REM (PC)
1000
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
1000 RDM
REM
Barramento de endereços
Barramento de dados
Relógio
Barramento de controle
PC
CI CI + N
1000
1000
1004 1004
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
RI
1004 A = B + C
REM
Barramento de endereços
Barramento de dados
Relógio
Barramento de controle
PC
RDM Mem
RDM
ULA Registradores 0 a R-1
ACC
UC Decodificador de instruções
A = B + C
1004 A = B + C
REM
Barramento de endereços
Barramento de dados
Relógio
Barramento de controle
PC
RI RDM
A = B + C
RI
RDM