Vous êtes sur la page 1sur 4

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Estrutura e Funo da CPU Organizao do Processador. Tarefas da CPU: - Busca da Instruo. - Interpretao da instruo. - Busca dos dados - Processamento dos dados - Escrita dos dadosNecessidade de armazenar os dados temporariamente.

Fig 11.1(Stallings): CPU c/ System Bus

CPU

ALU (Unidade Lgica e Aritmtica) CU (Unidade de Controle) Registradores

Fig 12.2 (Stallings): CPU vista de maneira mais detalhada.

Nota-se que do ponto de vista de fluxo dos dados, a CPU e o computador com BUS so muito semelhantes: existe um BUS de dados e um outro para controle em mquinas RISC (ou mais modernas) os dados devem acessar somente registradores, ou seja, transfere-se da memria para registradores a ALU opera apenas sobre dados em seus registradores internos, sendo necessrio transferir os dados dos registradores para a ALU.

Organizao dos registradores. Hierarquia de memria. Funo dos registradores: - Registradores visveis aos usurios: Permite ao programador em linguagem de maquina ou assembler minimizar as referencias memria principal otimizando o uso dos registradores. - Registradores de controle e estado: usados pela unidade de controle para controlar a operao da CPU e por programas do sistema operacional como privilgio de controlar a execuo de programas. Essa separao em duas categorias nem sempre vlida. Por exemplo, no VAX o PC visvel ao usurio. Registradores Visveis ao usurio: podem ser referenciados pela linguagem de mquina que a CPU executa. Podem ser categorizados em: de uso geral de dados de endereos de cdigos de condies Registradores de uso geral: - podem ser usados para guardar qualquer operando: uso em conjuntos de instrues ortogonais operao - normalmente h restries. Por exemplo: registradores dedicados para pontos flutuantes e operaes de pilha. - podem ser usados para endereamento Pode haver separao clara entre registradores de dados e de endereos: - registradores de dados: podem ser usados apenas para dados. No podem ser usados em clculos de endereo! - registradores de endereos podem ser de alguma maneira de uso geral. Por exemplo: ponteiros para segmentos registradores de ndices ponteiros para pilha Detalhes de projeto: Registradores especializados reduzem o nmero de bits Registradores especializados dificultam o trabalho do programador Maior nmero de registradores reduz acesso memria O tamanho do registrador deve ser suficiente para acomodar o maior endereo O tamanho do registrador de dados deve acomodar valores de diversos tipos de dados. Algumas mquinas provm dois registradores contguos para acomodar valores de dupla preciso.

Flags (cdigos de condio) - bits escritos pela CPU como resultados de operaes: overflow, zero. Podem ser usados em testes de condio - Em algumas mquinas uma chamada a subrotina salva automaticamente os registros visveis ao usurio. Em outras o usurio deve incluir instrues especficas no programa. Registradores de Estado e Controle: Uma CPU possui uma variedade de registradores utilizados para o seu controle de uso. A maior parte destes no visvel ao usurio. Alguns, no entanto, podem ser visveis a instrues de mquina executadas no modo de controle ou de sistema operacional. Quatro registradores so essenciais execuo de instrues: PC (contador do programa) Registrador de instrues (IR) Registrador de endereos de memria (MAR) Registrador buffer de memria (MBR) PC: - Atualizado pela CPU aps a busca da instruo - Um desvio ou skip tambm atualiza o seu contedo IR: - A instruo buscada colocada em IR MAR e MBR: - Dados e instrues so trocados com a memria via MAR e MBR MAR bus de endereos MBR bus de dados Registradores visveis ao usurio bus de dados Dentro da CPU a ALU deve ter acesso direto ao MBR e aos registradores visveis ao usurio. Pode haver tambm registradores de buffer nas proximidades da ALU (I/O para a ALU e trocas de dados entre o MBR e os registradores visveis ao usurio). Toda CPU contm um registrador (ou conjunto de registradores) conhecido como palavra de estado do programa (Program State Word ou PSW) que contm informaes de estado (Flags e outros): sinal zero carry: carry out bit de uma operao equal: assinalada se o resultado de uma comparao lgica for igual overflow interrupt enable/disable: habilita ou desabilita interrupes supervisor: indica se a CPU est executando np modo supervisor ou usurio