Você está na página 1de 17

Componentes de uma CPU, funcionamento de uma CPU e Ciclo de Instruo

Ricardo de Oliveira Duarte DECOM - ICEB

O que um programa?
Uma seqncia de passos. Para cada passo uma operao aritmtica ou lgica realizada. Para cada operao, uma seqncia de sinais de controle necessria.

Funo da Unidade de Controle


Cada operao possu um nico cdigo.
Ex.: SOMA, MOVE

Para cada cdigo interpretado, uma seqencia de microoperaes realizada. O sinal de clock d a cadncia da execuo das microoperaes.

Componentes
CPU = ALU + Unidade de Controle Dados e instrues entram e saem da CPU
Entrada/Sada (barramentos)

Dados e Instrues necessitam ser temporariamente armazenados dentro da CPU para serem processados.
Registradores

Componentes de um Sistema Computacional (CPU, I/O e MP):

Ciclo de Intrues:
Realizado em 2 passos:
Busca da Instruo (Fetch) Execuo da Instruo

Ciclo de Busca de Instrues


Program Counter (PC) armazena o endereo da MP da prxima instruo a ser buscada. A CPU busca a instruo da MP apontada pelo contedo do registrador PC. De quanto? O PC incrementado.
E em caso de desvio (if, ou a chamada de uma funo)?

Instruo carregada no Registrador de Instrues (RI). CPU interpreta a instruo e executa as atividades (aes) necessrias.

Ciclo de Execuo
CPU MP
Transferncia de dados CPU MP.

Processador de I/O
Transferncia de dados CPU I/O.

Processamento de dados
Operaes lgicas ou aritmticas com os dados.

Controle
Alterao da seqncia de operaes. Ex.: if, chamada de uma funo, etc.

Combinaes quaisquer dos tens anteriores.

Exemplo de um Programa em Execuo

Diagrama de Estados de um Ciclo de Instruo

Interrupes:
Mecanismo pelo qual outros mdulos INTERROMPEM a seqencia normal de processamento. Ex.: DVD, Impressora, etc. Programa
Ex.: overflow, diviso por zero.

Temporizadores (Timers)
Gerado internamente pela CPU. Usado em processamento multi-tarefas (pre-emptive).

I/O
Pedido do controlador de I/O.

Falha de Hardware
Ex.: Erro na Paridade de Memria.

Fluxo de Controle do Programa

Ciclo de Instruo com Interrupo


Aumenta o ciclo de instruo. CPU verifica se h interrupo.
Indicada por um sinal (bit) de interrupo.

Se no houve, busca a prxima instruo. Se houver interrupo pendente:


Suspende a execuo do programa atual. Salva o contexto. Coloca o endereo da rotina de tratamento da interrupo no PC. Processa a interrupo. Recupera o contexto e continua o programa que havia sido interrompido.

Diagrama de Estados de um Ciclo de Instruo (c/ interrupo)

Interrupes mltiplas
Desabilitar interrupes:
A CPU ignorar prximas interrupes, at que a mesma seja completamente processada. Interrupes continuam pendente e so verificadas depois que a primeira for processada. Interrupes so tratadas em seqencia, na medida que as mesmas ocorrem.

Definio de prioridades:
Interrupes de baixa prioridade podem ser interrompidas pelas de alta prioridade. Quando as interrupes de alta prioridade so processadas at o fim, a CPU retorna para tratar a interrupo na qual vinha tratando antes.

Interrupes mltiplas (seqencial)

Interrupes mltiplas (aninhadas)

Você também pode gostar