1. ULA (unidade lógica e aritmética, UAL – unidade aritmética e lógica ou ainda ALU –
arthmetic logic unit): É principal parte da CPU, porque é quem realmente processa. A ULA
realiza as operações lógicas e aritméticas com os dados. Para executar as instruções é
conveniente lembrar que há micro instruções gravadas diretamente na ULA (informam como
fazer), estes comandos gravados em hardware é chamado de firmware.
Normalmente não é necessário conhecimento profundo sobre as unidades internas do
processador, porém, vamos tentar compreender algo mais do que o básico.
1.1. Portas lógicas: Quando a corrente passa pelos transistores estes podem ser
programados para serem ligados ou desligados e também podem ser programados para
controlar a atividade de outros transistores, esta capacidade de controlar a atividade dos outros
transistores é chamada de porta. As portas podem ser encadeadas para produzir cálculos
simples ou complexos, com diferentes combinações de portas o processador consegue efetuar
as operações matemáticas. As portas podem ser:
1.1.1. Porta NÃO lógica: A porta NÃO lógica é formada por apenas um transistor e
produz como saída sempre o oposto da entrada do transistor anterior.
Entrada Saída
1 0
0 1
1.1.2. Porta OU lógica: A porta OU lógica utiliza a comparação de dois transistores e
produz 1 se o primeiro ou o segundo transistores forem 1.
1ª Entrada 2ª Entrada Saída
0 0 0
0 1 1
1 0 1
1 1 1
1.1.3. Porta E lógica: A porta E lógica utiliza a comparação de dois transistores e
produz 1 se o primeiro e o segundo transistores forem 1.
1ª Entrada 2ª Entrada Saída
0 0 0
0 1 0
1 0 0
1 1 1
1.1.4. Porta XOR lógica (OU EXCLUSIVO): A porta XOR lógica utiliza a comparação
de dois transistores e produz 1 se o primeiro e o segundo transistores forem diferentes.
1ª Entrada 2ª Entrada Saída
0 0 0
0 1 1
1 0 1
1 1 0
1.2. Operações aritméticas: Por meio da combinação das diferentes portas o
computador é capaz de realizar as quatro operações básicas: soma, subtração, multiplicação e
adição (em verdade só existe soma, porque a subtração é soma de número negativo, a
multiplicação é o resultado de somas repetidas e a divisão é a soma repetida de números
negativos).
As operações de soma de dois números binários, por exemplo, podem ser efetuadas
por meio da combinação de uma porta E e uma porta XOR. Para somar números mais
complexos é necessário combinar diversas portas.
1.3. Operações lógicas e operadores relacionais: As operações lógicas que a ULA
pode realizar são, na verdade, comparações. Comparar números, letras, cores pode ser
essencial para a realização das tarefas, pois o computador poderá executar ações com base
nos resultados das combinações realizadas. Os programadores utilizam operadores relacionais
para representar as combinações. Apesar de as operações lógicas poderem ser resumidas em
apenas três (igual, menor e maior), vamos também falar das combinações entre elas e mostrar
os respectivos operadores relacionais (=, < e >):
1.3.1.Condição de igualdade (=): Compara dois valores para determinar se há
igualdade entre eles.
1.3.2. Condição menor que (<): Compara dois valores para determinar se o primeiro é
menor que o segundo.
1.3.3. Condição maior que (>): Compara dois valores para determinar se o primeiro é
maior que o segundo.
1.3.4. Condição não é igual a (<>): É a combinação entre a condição de menor que e
a de maior que. Esta condição compara se um valor é maior ou menor que outro, ou
seja, se o primeiro é diferente do segundo. Sabendo que o primeiro é maior ou menor
que o segundo saberá que se não é igual ao primeiro.
1.3.5. Condição de menor ou igual a (<=): Também é uma combinação de duas
condições e compara se o primeiro é menor ou igual ao segundo;
1.3.6. Condição de maior ou igual a (>=):Também é uma combinação de duas
condições e compara se o primeiro é maior ou igual ao segundo.
7.2. Tempo de execução: Diz respeito às etapas finais do ciclo de processamento, ou seja, é a
reunião das etapas de execução e registro do resultado.
7.2.1. Executar: A unidade de controle não executa, porém, é responsável por
transferir os dados da memória para os registrados (memória de apoio) da ULA. A ULA é que
será responsável por executar a instrução por meio de suas operações aritméticas e lógicas.
No nosso exemplo a ULA executa a soma dos números 27 e 28.
7.2.2. Armazenar ou registrar: A unidade de controle armazena o resultado (no nosso
exemplo o resultado da soma é 55). Enviará para a memória principal se este resultado bastar
para completar a instrução do software ou armazenará o resultado em um acumulador caso o
resultado seja necessário para executar a próxima instrução de máquina.
8. Esquema básico da
organização do
processador: O dado a ser MEMÓRIA PRINCIPAL
processado é requerido à
memória principal, da
memória principal é
transferido para a cachê L2
(pela freqüência do clock CACHÊ L2
externo). Daqui para frente
(veja o quadro ao lado) a
velocidade será definida pelo
clock interno. Então, a
instrução segue da cachê L2
para a cachê L1 (cachê de CACHÊ L1 DE INSTRUÇÕES
instruções) e desta para a
unidade de busca que, ao
identificar a instrução a ser
processada faz a
decodificação da mesma e a
BUSCA
envia à unidade de execução.
A unidade de execução
(normalmente a ULA) por sua
vez encaminha à cachê L1
(cachê de dados). Da
memória cachê L1 de dados a DECODIFICAÇÃO
instrução pode retornar à
memória principal ou pode ser
enviada a um periférico de
saída ou a um dispositivo de
armazenamento, tudo
dependerá da instrução EXECUÇÃO
seguinte do software.
CACHÊ L1 DE DADOS