Specifications

MICROPROCESSADORES
O MICROPROCESSADOR 8086
1
Luís Miguel Charrua Figueiredo 1 - 4 E.N.I.D.H.
Execution Unit
A unidade de execução é responsável pela descodificação e execução de todas as instruções de
código. A EU é constituída por uma ALU (Aritmethic Logic Unit), flags de estado e controlo, oito
registos de uso geral e lógica de controlo de queue.
A EU processa as instruções no registo de queue da BIU, processa a descodificão destas
instruções, gera endereços de operandos - se necessário -, transfere estes endereços para a BIU,
requisitando ciclos de leitura/escrita na memória ou I/O e processa a operação especificada pela
instrução sobre os operandos. Durante a execução a EU testa as flags de estado e controlo,
alterando-as se necessário conforme o resultado da instrução corrente.
Geralmente o registo de queue contém pelo menos um byte de código de instrução fazendo com
que a EU não necessite de esperar pela busca em memória da instrução seguinte.
Quando a EU executa uma instrução de salto, ou desvio, ela transfere o conteúdo para uma nova
posição de memória, neste instante, a BIU reinicializa a queue passando a executar a pre-fetch a
partir da nova localização de memória.
Os registos do 8086
Os registos podem ser classificados em 4 grupos:
Registos de uso geral ou de dados;
Registos de ponteiro e de índice;
Registos de segmento;
Registos de estado ou flags e indicadores de instrução.
Registos de dados
Cada um dos registos de dados AX, BX, CX e DX, pode ser usado como dois registos de 8 bits
independentes, passando a ser designados como por ex.: AH e AL, em que AH é o byte mais
significativo e AL o menos significativo de AX.
Apesar de normalmente serem usados para operações aritméticas de 8 e 16 bits, operações
lógicas e transferência de dados, por vezes têm funções específicas.