Como já foi visto, UC recebe como entrada os dois bits da saída do RI e o único bit da saída do RC. A UC gera os sete sinais de controle ( EscM, UltC, EscP, EscT, EscC, ZComp e Mais1 ) e emprega um "flip-flop" de estado ( do tipo D ) que recebe como entrada o complemento do sinal UltC. A saída desse "flip-flop" de estado gera um sinal de estado denominado Est1.
O sinal de controle UltC fica ativo no último ciclo de execução de cada instrução. Esse sinal controla os dois multiplexadores e o RI. Desta forma, no último ciclo de execução de cada instrução esquerda do somador sempre recebe o valor armazenado no RD, o RE sempre recebe os quatorze bits menos significativos do valor lido da memória e o RI sempre recebe os dois bits mais significativos do valor lido da memória.
A tabela apresentada a seguir mostra os sinais de controle que devem estar ativos para cada uma das possíveis combinações dos 3 sinais de entrada da UC e do sinal Est1.
| Instrução | Entradas da UC | Operação | Sinais de Controle | |||||||||
| RI | RC | Est1 | da memória | do somador | EscM | UltC | EscP | EscT | EscC | ZComp | Mais1 | |
| L | 00 | X | 0 | Lê só para RD | Incrementa RP | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | Lê instrução | RT = RD | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |||
| E | 01 | X | 0 | Escrita de RT | Incrementa RP | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | Lê instrução | --- | 0 | 1 | 0 | 0 | 0 | X | X | |||
| S | 10 | X | 0 | Lê só para RD | Incrementa RP | 0 | 0 | 1 | 0 | X | 1 | 1 |
| 1 | Lê instrução | RT = RD-RT, RC = vai | 0 | 1 | 0 | 1 | 1 | 0 | 1 | |||
| T | 11 | 0 | 0 | Lê instrução | RP = RD | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 1 | --- | --- | X | X | X | X | X | X | X | |||
| 1 | 0 | --- | Incrementa RP | 0 | 0 | 1 | 0 | 0 | 1 | 1 | ||
| 1 | Lê instrução | --- | 0 | 1 | 0 | 0 | 0 | X | X | |||
A partir dessa tabela é possível construir as expressões lógicas que devem ser implementadas pela UC para gerar cada um desses sete sinais de controle:
| Sinal de controle | Expressão lógica | Implementação | |||||
| 1. | EscM | I1\ . I0 . Est1\ | Nor3a ( I1, I0\, Est1 ) | ||||
| 2. | UltC | ( I1 . I0 . RC\ ) | Est1 | Nand2a ( Nand3a ( I1, I0, RC\ ), Est1\ ) ) | ||||
| 3. | EscP | Est1\ | |||||
| 4. | EscT | I0\ . Est1 | Nor2a ( I0, Est1\ ) | ||||
| 5. | EscC | I1 . I0\ | Nor2b ( I1\, I0 ) | ||||
| 6. | Zcomp | I1\ | I0 | Est1\ | Nand3b ( I1, I0\, Est1 ); | ||||
| 7. | Mais1 | ( I1 | Est1\ ) . ( I1\ | I0\ | RC ) |
|
A rede lógica descrita acima produz a seguinte tabela verdade:
| Inst. | Entradas da UC | Sinais de Controle gerados pela UC | Ações realizadas | ||||||||||
| I1 | I0 | RC | Est1 | EscM | UltC | EscP | EscT | EscC | Zcomp | Mais1 | no somador | na memória | |
| L | 0 | 0 | X | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | RE=RP=RP+1 | RD=*RE |
| 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | RT=RD | RE:RI=RD=*RE | ||||
| E | 0 | 1 | X | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | RE=RP=RP+1 | *RE=RT |
| 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | RD | RE:RI=RD=*RE | ||||
| S | 1 | 0 | X | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | RE=RP+1, RC=vai | RD=*RE |
| 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | RT=RD-RT, RC=vai | RE:RI=RD=*RE | ||||
| T | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | RP=RD | RE:RI=RD=*RE |
| 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | RD | RE:RI=RD=*RE | ||||
| 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | RE=RP=RP+1 | RD=*RE | |||
| 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | RD+1 | RE:RI=RD=*RE | ||||
Desta forma, a UC pode ser implementada empregando:
- um "Flip-flop" do tipo D;
- Duas portas "NAND" com três entradas;
- Duas portas "NOR" com três entradas;
- Uma porta "NAND" com duas entradas;
- Quatro portas "NOR" com duas entradas;
Se o "flip-flop" do tipo D for implementado usando 16 transistores e cada porta lógica do
tipo "NAND" ou do tipo "NOR" for implementada usando dois transistores por entrada, o número
total de transistores necessários para implementar essa Unidade de Controle será:
16 + 2 x ( 2 x 3 + 2 x 3 + 2 + 4 x 2 ) = 18 + 2 x 22 = 60.
A figura 9 mostra um possível diagrama lógico da UC do processador do CMS.

Figura 9. Diagrama Lógico da Unidade de Controle do processador do CES