Todo processador é constituído de circuitos capazes de ... · Decodificador de instruções RI PC...

Post on 08-Nov-2020

1 views 0 download

Transcript of Todo processador é constituído de circuitos capazes de ... · Decodificador de instruções RI PC...

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