A fronteira entre hardware e software não sempre é bem definida e
muda constantemente. Máquinas mais antigas tinham as
instruções aritméticas e booleanas diretamente implementadas
em hardware. Máquinas mais modernas, muitas vezes, tem suas
instruções do nível convencional realizadas passo a passo
por um interpretador executando um microprograma. Exemplos de
máquinas microprogramadas incluem as famílias Intel e
Motorola. Uma classe de máquinas modernas, chamadas RISC,
entretanto, não são microprogramadas e serão objeto de estudo
mais adiante. Aqui vamos descrever o mecanismo de
microprogramação.
O nível de microprogramação supõe a existência de um repertório primitivo de operações executadas diretamente por circuitos, que podem envolver registradores, barramentos, ALU, etc. Para a manipulação de tais componentes são usados sinais de controle, cada qual com a finalidade bem definida. Daremos a seguir alguns sinais de controle fundamentais, bem como alguns outros sinais importantes.