Informática Numaboa - Tutoriais e Programação
Arquitetura básica dos microprocessadores
Sab 25 Abr 2009 19:45 |
- Detalhes
- Categoria: Assembly Numaboa (antigo oiciliS)
- Atualização: Sábado, 25 Abril 2009 20:26
- Autor: vovó Vicki
- Acessos: 26751
A Unidade Central de Processamento (CPU - Central Processing Unit), também chamada simplesmente de Processador ou Microprocessador, é o "cérebro" do computador. Sua missão consiste em controlar e coordenar todas as operações do sistema. Extrai todas as instruções dos programas residentes na memória do computador (memória RAM), uma de cada vez, as analisa e emite as ordens necessárias para serem realizadas.
Para entender como funciona um microprocessador, primeiro é necessário ter uma idéia muito clara das partes ou blocos que o compõem. Sem conhecer a arquitetura básica de um processador é praticamente impossível entender seu funcionamento. De forma geral, podemos considerar que os processadores possuem dois grandes blocos ou unidades: a de controle, com duas unidades responsáveis pela decodificação e execução, e a unidade aritmético-lógica (ALU - aritmethic logic unit).
| Decodificação UNIDADE DE CONTROLE --------------| | Execução ALU - UNIDADE ARITMÉTICO-LÓGICA
A unidade de decodificação, uma das principais unidades da unidade de controle, identifica a instrução que está para ser executada. Quando o processador lê uma instrução que está na memória, o código desta instrução é enviado para esta unidade. A unidade então interpreta este código, verifica se é válido e determina o tipo da instrução que deve ser executada (por exemplo uma soma), a trasnferência de dados para a memória e o que mais for necessário. Uma vez identificada a instrução, a unidade de decodificação comunica a unidade de execução.
A unidade de execução, ao ser informada da instrução que deve ser executada, aciona de forma coordenada as diversas partes do processador para que ocorra a execução da instrução recebida.
A ALU, ou unidade aritmético-lógica, é o bloco encarregado de realizar todas as operações aritméticas. As operações que esta unidade realiza são soma, subtração, multiplicação, divisão e as operações lógicas, como AND, OR, NOT, XOR.
Buscar instrução na RAM -----> Decodificar a instrução -----> Buscar os operandos | V Armazenar o resultado <----- Executar a instrução
A unidade de controle
Para realizar as tarefas indicadas no fluxograma, os mais diversos elementos da unidade de controle do microprocessador precisam realizar tarefas específicas. Os elementos mais importantes são:
- O contador
- Os registradores
- O decodificador
- O clock
- O sequenciador
Se as instruções armazenadas na memória são executadas numa determinada ordem, sequencialmente ou com saltos, é óbvio que precisa existir um componente que indique o endereço de memória onde se encontra a instrução que deve ser executada. É o contador do programa.
A própria instrução que foi obtida da memória precisa ser armazenada no interior do processador para poder ser analisada e executada. Para isto existem componentes chamados registradores de instruções. As instruções são compostas por um código e, na maioria das vezes, por operandos (valores ou endereços de memória).
O decodificador, da unidade de decodificação, precisa comparar a instrução que está no registrador com o conjunto de instruções que pertencem ao processador (cada modelo possui um conjunto particular) e ativar o sequenciador que ativa os outros elementos responsáveis pela execução.
O ritmo de trabalho é dado por um clock que emite sinais elétricos numa frequência constante. Estes impulsos marcam os instantes em que os passos de cada instrução devem ser executados.
A ordem seguida na execução de uma instrução é ditada por um elemento sequenciador que, no ritmo do clock, gera as ordens necessárias para completar a instrução passo a passo. São as chamadas micro-ordens.
A Unidade Aritmético-Lógica (ALU)
Os principais elementos da ALU, responsável pelos cálculos aritméticos (soma, subtração, multiplicação e divisão) e pelas operações lógicas (comparações) são:
- Circuito Operacional
- Registradores de Entrada (REN)
- Acumulador
- Registrador de Estado (flags ou sinalizadores)
O circuito operacional contém os circuitos necessários para realizar as operações com os dados procedentes dos registradores de entrada (REN). Estes registradores armazenam os dados ou endereços de memória onde se localizam os dados necessários para que o circuito operacional possa efetuar as operações de acordo com a instrução recebida. Apesar do nome, estes registradores também são utilizados para armazenar resultados intermediários das respectivas operações.
O acumulador é um registrador que armazena os resultados das operações efetuadas pelo circuito operacional. Está conectado com os registradores de entrada para realimentação nos casos de operações em cadeia. Também está diretamente conectado ao bus interno para poder enviar os resultados para a memória ou para a unidade de controle.
O registrador de estado, como o nome indica, guarda as condições resultantes da última operação realizada e que possam ser necessárias para as operações subsequentes. Cada um dos seus bits é chamado de sinalizador (ou flag) e indica, por exemplo, se o resultado foi zero, positivo ou negativo.
O Conjunto de Instruções
Cada modelo de processador possui um conjunto de instruções próprio. De acordo com o número de instruções que compõem o conjunto, podemos classificar os processadores em CISC e RISC. CISC é a sigla para Computador de Conjunto Complexo de Instruções (Complex Instructions Set Computer) e RISC é a sigla para Computador de Conjunto Reduzido de Instruções (Reduced Instructions Set Computer). Os processadores CISC possuem um número muito maior de instruções (algumas centenas) do que os processadores RISC (algumas dezenas), porém são mais lentos. Os primeiros microprocessadores da Intel eram do tipo CISC e, à medida que evoluíram, foram incorporando algumas características RISC.
Quanto mais evoluído um microprocessador, maior é o número de instruções que consegue executar. Basicamente, as instruções podem ser classificadas em:
- Instruções de transferência de dados
- Instruções de cálculos
- Instruções de transferência de controle do programa
- Instruções de controle
As instruções de transferência de dados permitem movimentar dados dentro do processador - entre registradores - ou movimentar dados entre a memória e o processador.
As instruções de cálculos possibilitam efetuar os cáculos aritméticos e lógicos, assim como o deslocamento e a rotação bit a bit.
As instruções de transferência de controle do programa permitem interromper a sequência linear do programa e saltar para um outro ponto do mesmo.
As instruções de controle são instruções especiais que atuam sobre o próprio microprocessador, desativando interrupções, bloqueando sua atividade ou passando ordens ao co-processador.
As instruções são compostas por um código identificador e, na maioria das vezes, por um ou mais operandos. Considere-as como sendo um jogo completo de informações para que a instrução possa ser realizada. Por exemplo, se for uma instrução de soma, esta vem acompanhada por dois operandos que devem ser somados.