Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:...

31
Unidade Central De Processamento: Processador

Transcript of Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:...

Page 1: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Unidade Central De Processamento: Processador

Page 2: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Funções Básicas

Page 3: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Funções Básicas

Page 4: 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 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

Processador: Funções Básicas

Page 5: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Funções Básicas

Page 6: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

◦ 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

Processador: Funções Básicas

Page 7: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Buscar a próxima instrução

Início

Interpretar instrução(decodificar)

Buscar operandos

Executar instrução

Armazenar resultados

Fim

Page 8: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Funções Básicas

Page 9: 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 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

Processador: Funções Básicas

Page 10: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

ProcessadorOrganização Interna

Page 11: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

ProcessadorOrganização Interna

Page 12: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador de instruções

RI

PC RDM

REM

Barramento de endereços

Barramento de dados

Relógio

Barramento de controle

Page 13: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador de instruções

RI

PC RDM

REM

Barramento de endereços

Barramento de dados

Barramento de controle

Relógio

Page 14: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador de instruções

RI

PC RDM

REM

Barramento de endereços

Barramento de dados

Barramento de controle

Relógio

Page 15: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Operações da ULA:

ULA – Unidade Lógica E Aritmética

SomaMultiplicaçãoSubtraçãoDivisãoOperação ANDOperação OR

Operação XORDeslocamento à direitaDeslocamento à esquerda

IncrementoDecremento

Page 16: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

ULA – Unidade Lógica e Aritmética

Page 17: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Palavra

Page 18: 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 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

Processador: Palavra

Page 19: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Regs de 8 bits

25 + 2C

3A + 17

CPU

3A

25

17

2C

MP

8 bits

Barramento de dados8 bits

8 bits

Processador com palavra de 8 bits A operação de soma é

realizada em duas etapas

A

B

Page 20: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Regs de 16 bits

3A25 + 172C

CPU

3A

25

17

2C

MP

8 bits

Barramento de dados16 bits

16 bits

Processador com palavra de 16 bitsA operação de soma dos mesmos números

é realizada em uma etapa

A

B

Page 21: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Palavra

Page 22: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Palavra

Page 23: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Relógio

Page 24: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Processador: Relógio

Page 25: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Gerador de tempo

Unidade de controle

Relógiot0

t1t2t3t4t5

Um clock t0 e seus 5 subclocks

Processador: Relógio

Page 26: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

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

Page 27: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

Buscar a próxima instrução

O reg. de instruções recebe a instrução

buscadaRI 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çõesPara a busca de uma instrução

subciclo

Page 28: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador 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

Page 29: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador de instruções

RI

1000RDM

REM

Barramento de endereços

Barramento de dados

Relógio

Barramento de controle

PC

CI CI + N

1000

1000

10041004

Page 30: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador 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

Page 31: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: ◦ Somar e subtrair ◦ Mover um dado de um local de armazenamento.

ULA Registradores0 a R-1

ACC

UCDecodificador 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