Перейти к содержанию

Микрокод и PLA

PLA-таблицы

Файл Назначение Формат
CU_PLA.txt Основное управляющее устройство 16-битный вход → 36-битный выход
MICROCODE_PLA.txt Упрощённая таблица микрокода 16-битный вход → 16-битный выход
LENGHT_PLA.txt Длины инструкций 5-битный вход → 4-битный выход
ALU_PLA.txt Операции АЛУ/BSU 8-битный вход → 4-битный выход

Формат входа

Вход у CU_PLA и MICROCODE_PLA формируется из двух полей:

IN:
        OP      SF
     ╒══════╕╒══════╕
FF < XXXXXXXXXXXXXXXX < 00
  • OP - opcode (8 бит).
  • SF - суффикс / режим (8 бит).

Выход CU_PLA

CU_PLA выдаёт 36-битный управляющий вектор. Пример:

0000001100000000 000000000010000000000000010000000100 # ADD

Здесь вход - 03h 00h, выход - 36-битный вектор микрокоманд.

MICROCODE_PLA

Упрощённая версия с 16-битным выходом. Формат полей:

OUT:
      IT     FM    MD
     ╒═══╕╒══════╕╒═╕
FF < XXXXXXXXXXXXXXXX < 00
  • IT - Instruction Type (5 бит, формат инструкции).
  • FM - Flag Mask (8 бит, маска флагов).
  • MD - Mode (3 бита, режим доступа).

Таблица микрокода

Полная таблица MICROCODE_PLA для всех инструкций:

Имя OP SF IT FM MD
NOP 00h 00h 00h 00h
HALT 01h 00h 00h 00h
WAIT 02h 00h 00h 00h
ADD 03h 00h 07h 1Dh 04h
ADD.b 03h 01h 08h 1Dh 00h
ADD.w 03h 02h 09h 1Dh 01h
ADD.dw 03h 03h 0Ah 1Dh 02h
ADC 04h 00h 07h 1Dh 04h
SUB 05h 00h 07h 1Eh 04h
SBB 06h 00h 07h 1Eh 04h
MUL 07h 00h 07h 1Ch 04h
IMUL 08h 00h 07h 1Ch 04h
DIV 09h 00h 07h 1Ch 04h
IDIV 0Ah 00h 07h 1Ch 04h
NOT 0Bh 03h 1Ch 04h
INC 0Ch 03h 1Dh 04h
DEC 0Dh 03h 1Eh 04h
PUSH 0Eh 02h 00h 04h
POP 0Fh 01h 00h 04h
CALL 10h 06h 00h 04h
CALLR 11h 02h 00h 04h
CLABS 12h 06h 00h 04h
RET 13h 00h 00h 04h
LSL 14h 0Eh 1Ch 04h
LSR 15h 0Eh 1Ch 04h
ASR 16h 0Eh 1Ch 04h
ROL 17h 0Eh 1Ch 04h
ROR 18h 0Eh 1Ch 04h
AND 19h 00h 07h 1Ch 04h
OR 1Ah 00h 07h 1Ch 04h
XOR 1Bh 00h 07h 1Ch 04h
CMP 1Ch 00h 07h FEh 04h
ICMP 1Dh 00h 07h FEh 04h
JMP 1Eh 0Bh 00h 00h
JMPR 1Fh 0Ch 00h 04h
JMA 20h 0Bh 00h 00h
COPY 21h 00h 0Fh 00h 04h
LDI.b 21h 01h 10h 00h 00h
LDI.w 21h 02h 11h 00h 01h
LDI.dw 21h 03h 12h 00h 02h
INT 25h 04h 00h 00h
IRET 26h 00h 00h 00h
CLI 27h 00h 00h 00h
STI 28h 00h 00h 00h
REM 29h 00h 07h 1Ch 04h
IREM 2Ah 00h 07h 1Ch 04h

Длины инструкций

Таблица LENGHT_PLA приведена в разделе Форматы инструкций.

ALU_PLA

Таблица операций АЛУ/BSU описана в разделе ALU и BSU.