588ВУ2

Материал из Emuverse
Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0.
Условное графическое обозначение микросхемы К588ВУ2 (Гришин)
Условное графическое обозначение микросхемы К588ВУ2 (Шахнов)

К588ВУ2 (КР588ВУ2, КА588ВУ2) — микросхема управляющей памяти микрокоманд из микропроцессорного комплекта 588.

Кодировки

Всего есть 7 типов (кодировок) микросхем 588ВУ2: 0001..0007, вместе они реализуют систему команд компьютера «Электроника-60» (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой).

Кодировка Применение
0001..0004 Управление арифметико-логическим устройством (АЛУ) 588ВС2. Четыре микросхемы 0001..0004 соединяются параллельно, на входы МС0..МС3 подаётся слово-состояние (Z, V, С, N), с выходов передаётся информация в АЛУ: 12-разрядный код является собственно микрокомандой для АЛУ; разряд 12 используется в качестве строба микрокоманды.
0005 Разрядами 0..6 вырабатывает сигналы разрешения прерывания, разряды 7..12 управляют системным контроллером 588ВГ1
0006 Управление арифметическим умножителем 16×16 588ВР2 для реализации команд расширенной арифметики (MUL, DIV, ASH, ASHC)
0007 Разрядами 0..6 вырабатывает сигналы разрешения прерывания, разряды 7..12 управляют системным контроллером 588ВГ1

Назначение выводов

Номер
вывода
Назначение Обозначение Другое
обозначение
Тип
1..4 Магистраль состояния МС0..МС3 K2(0..3) Вход
5..20 Шина команд Д0..Д15 K1(0..15) Вход
21 Общий GND GND
22..34 Магистраль микрокоманд МК0..МК12 MNS0..12 Вход
35 Не используется
36 Завершение выполнения микрокоманды Ф1 F1 Вход
37 Установка / Пуск 1 R1 R1 Вход
38 Конец команды КК ENDNS Вход-выход
39 Установка / Пуск 2 R0 R0 Вход
40 Команда принята П IPA Выход
41 Команда выдана В OPA Вход
42 Напряжение питания Ucc Ucc

Система команд

Система команд и распределение команд по кодировкам микросхем 588ВУ2, согласно Немига/ТО#Приложение_1.

───────────────────┬───────────────┬─────────────────────┬─────────
    Код команды    │  Признаки     │                     │  Номер
──────────┬────────┼───┬───┬───┬───┤ Содержание команды  │кодировки
Мнемоника │8-ричный│ N │ Z │ V │ C │                     │
──────────┼────────┼───┼───┼───┼───┼─────────────────────┼─────────
CLR (A)   │*050DD  │ 0 │ 1 │ 0 │ 0 │Очистка              │ 0001
COM (A)   │*051DD  │ + │ + │ 0 │ 1 │Инвертирование       │ 0001
INC (A)   │*052DD  │ + │ + │ + │ - │Инкрементация        │ 0001
DEC (A)   │*053DD  │ + │ + │ + │ - │Декрементация        │ 0001
NEG (A)   │*054DD  │ + │ + │ + │ + │Дополнение           │ 0001 
ADC (A)   │*055DD  │ + │ + │ + │ + │Сложение с переносом │ 0001
SEC (A)   │*056DD  │ + │ + │ + │ + │Вычитание переноса   │ 0001
TST (A)   │*057DD  │ + │ + │ 0 │ 0 │Проверка             │ 0001
ROR (A)   │*060DD  │ + │ + │ + │ + │Сдвиг цикл.правый    │ 0001
ROL (A)   │*061DD  │ + │ + │ + │ + │Сдвиг цикл.левый     │ 0001
ASR (A)   │*062DD  │ + │ + │ + │ + │Сдвиг арифм.правый   │ 0001
ASL (A)   │*063DD  │ + │ + │ + │ + │Сдвиг арифм.левый    │ 0001
MOV (A,B) │*1SSDD  │ + │ + │ 0 │ - │Пересылка            │ 0001
CMP (A,B) │*2SSDD  │ + │ + │ + │ + │Сравнение            │ 0001
BIT (A,B) │*3SSDD  │ + │ + │ 0 │ - │Проверка разрядов    │ 0001
BIC (A,B) │*4SSDD  │ + │ + │ 0 │ - │Очистка разрядов     │ 0001
BIS (A,B) │*5SSDD  │ + │ + │ 0 │ - │Логическое "ИЛИ"     │ 0001
ADD (A,B) │06SSDD  │ + │ + │ + │ + │Сложение             │ 0001
SUB (A,B) │16SSDD  │ + │ + │ + │ + │Вычитание            │ 0001
──────────┼────────┼───┼───┼───┼───┼─────────────────────┼─────────
NOP       │000240  │   │   │   │   │Нет операции         │ 0002
CLC       │000241  │ - │ - │ - │ 0 │Очистка "С"          │ 0002
CLV       │000242  │ - │ - │ 0 │ - │Очистка "V"          │ 0002
CLZ       │000244  │ - │ 0 │ - │ - │Очистка "Z"          │ 0002
CLN       │000250  │ 0 │ - │ - │ - │Очистка "N"          │ 0002
SEC       │000261  │ - │ - │ - │ 1 │Установка "С"        │ 0002
SEV       │000262  │ - │ - │ 1 │ - │Установка "V"        │ 0002
SEZ       │000264  │ - │ 1 │ - │ - │Установка "Z"        │ 0002
SEN       │000270  │ 1 │ - │ - │ - │Установка "N"        │ 0002
SCC       │000277  │ 1 │ 1 │ 1 │ 1 │Установка "С", "V"   │ 0002
          │        │   │   │   │   │          "Z", "N"   │
CCC       │000257  │ 0 │ 0 │ 0 │ 0 │Очистка   "С", "V"   │ 0002
          │        │   │   │   │   │          "Z", "N"   │ 
SWAB      │0003DD  │ + │ + │ 0 │ 0 │Перестановка байтов  │ 0002
MARK      │0064NN  │ - │ - │ - │ - │Восстановление указа-│ 0002
          │        │   │   │   │   │теля стека           │ 
XOR (R,A) │074RDD  │ + │ + │ 0 │ - │Исключающее "ИЛИ"    │ 0002
BR (A)    │0004XXX │               │Ветвление безусловное│ 0002
BNE (A)   │0010XXX │     Z=0       │Ветвление, если   =0 │ 0002
BEQ (A)   │0014XXX │     Z=1       │Ветвление, если   =0 │ 0002
BGE (A)   │0020XXX │   NOV=0       │Ветвление, если   >0 │ 0002
BLT (A)   │0024XXX │   NOV=1       │Ветвление, если   <0 │ 0002
BGT (A)   │0030XXX │ ZV(NOV)?0     │Ветвление, если   >0 │ 0002
BLE (A)   │0034XXX │ ZV(NOV)=1     │Ветвление, если   <0 │ 0002
SOB (A)   │077RNN  │     Z=0       │Вычитание единицы,   │ 0002
          │        │               │если результат    =0 │ 0002
BLR (A)   │1000XXX │     N=0       │Ветвление, если +    │ 0002
BMI (A)   │1004XXX │     N=1       │Ветвление, если -    │ 0002
BHI (A)   │1010XXX │   ZVC=0       │Ветвление, если >    │ 0002
BLOS (A)  │1014XXX │   ZVC=1       │Ветвление, если <    │ 0002
BVC (A)   │1020XXX │     V=0       │Ветвление, если нет  │ 0002
          │        │               │переполнения         │ 0002
BVS (A)   │1024XXX │     V=1       │Ветвление, если      │ 0002
          │        │               │переполнение         │ 0002
BHIS (A)  │1030XXX │     C=0       │Ветвление, если нет  │ 0002
          │        │               │переноса             │ 
BLO (A)   │1034XXX │     C=1       │Ветвление, если      │ 0002
          │        │               │перенос              │ 
SXT (A)   │0067DD  │ - │ + │ 0 │ - │Расширение знака     │ 0002
MTPS (A)  │1064SS  │ + │ + │ + │ + │Запись ССП           │ 0002
MFPS (A)  │1067DD  │ - │ + │ 0 │ - │Чтение ССП           │ 0002
──────────┼────────┼───┴───┴───┴───┼─────────────────────┼─────────
HALT      │000000  │               │Останов              │ 0004
WAIT      │000001  │               │Ожидание             │ 0004
RTI       │000002  │               │Возврат из прерыва-  │ 0004
          │        │               │ния                  │ 
BPT       │000003  │               │Прерыв.для отладки   │ 0004
IOT       │000004  │               │Прерыв.для ВВ/ВЫВ    │ 0004
RESET     │000005  │               │Сброс                │ 0004
RTT       │000006  │               │Возврат из прерыва-  │ 0004
          │        │               │ния                  │ 
JMP (A)   │0001DD  │               │Безусловный переход  │ 0004
RTS (R)   │00020R  │               │Возврат из подпрогр. │ 0004
JSR (R,A) │0004RDD │               │Переход к подпрограм-│ 0004
          │        │               │ме                   │ 
EMT       │104000- │               │Командное прерывание │ 0004
          │104377  │               │                     │ 
TRAP      │104400- │               │Командное прерывание │ 0004
          │104777  │               │                     │
──────────┼────────┼───┬───┬───┬───┼─────────────────────┼─────────
MUL (R,A) │070RSS  │ + │ + │ 0 │ + │Умножение            │ 0006
DIV (R,A) │071RSS  │ + │ + │ + │ + │Деление              │ 0006
ASH (R,A) │072RSS  │ + │ + │ + │ + │Многоразрядный сдвиг │ 0006
ASHC (R,A)│073RSS  │ + │ + │ + │ + │Сдвиг комбинированный│ 0006
──────────┴────────┴───┴───┴───┴───┴─────────────────────┴─────────

    П р и м е ч а н и я:
    1.    R - восьмеричный код РОН (0-7);
         SS - поле адресации операнда источника;
         DD - поле адресации операнда приемника;
          * - операция производится над байтом, если * = 1
              над словом, если * = 0;
        XXX - смещение (8 разрядов);
         NN - смещение (6 разрядов).
    2. В графе "признаки" указаны значения признаков N,Z и C,V
слова состояния процессора, которые устанавливаются после выполнения
процессором каждой команды. Знак "+" означает, что данный разряд ССП
будет установлен в "0" или "1" в зависимости от результата выполне-
ния команды. Знак "-" означает, что команда не оказывает воздействия
на данный разряд ССП.
    3. B графе 8 указан номер кодировки микросхемы КР588ВУ2‚ отве-
чающей за выполнение соответствующей команды.