Series 16

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Honeywell 316 (H316), 16-битный мини-компьютер, 1969 год

Series 16 — серия 16-битных мини-компьютеров, анонсированная в 1964 году компанией Computer Control Corporation. С 1966 года выпускались компанией Honeywell, которая купила Computer Control Corporation.

Компьютеры этой серии:

Архитектура и ассемблер[править | править код]

Оригинал

Стандартный компьютер имеет 16 КБ памяти, возможно расширение до 32 КБ. Память делится на логические секторы по 512 слов.

Машина имеет следующие регистры: программный счётчик P, индексный регистр X, аккумулятор A, вспомогательный регистр B и флаговый регистр C, который используется в качестве флага переполнения. Разные версии компьютеров могут добавлять свои регистры.

Устройства подключаются к компьютеру по шине I/O. Используется 16 бит для данных, 6 для определения устройства и 4 для определения функций, которые будет выполнять устройство. Существует 6 инструкций для работы с портами ввода-вывода:

Инструкция Краткое описание Опкод Время выполнения
INA Чтение данных из устройства в регистр A 54 1.92
OTA Запись данных в устройство из регистра A 74 1.92
OCP Установка режима работы устройства 14 1.92
SKS Пропуск следующей инструкции в зависимости от состояния устройства 34 1.92

Также существуют инструкции для высокоскоростной передачи данных — DMC и DMA.

Здесь показаны основные адреса устройств: Адрес — Устройство.

  • '01 — Высокоскоростной читатель ленты.
  • '02 — Высокоскоростной перфоратор.
  • '03 — Строчный принтер.
  • '04 — Телетайп.
  • '05 — Кардридер.
  • '10 … '17 — Устройства, использующие магнитную ленту.
  • '20 — Псевдо-устройство для использования SMK инструкций. (таймер реального времени, например)
  • '23 — PIC контроллер.
  • '24 — DMA.
  • '30 — Параллельные каналы ввода-вывода.
  • '33 — Прерывания PIC контроллера.
  • '34 — SKS/OCP.

Формат инструкции[править | править код]

           ___ ___ _______________ ___ ___________________________________
          | F | T |    Опкод      | S |          9-битный адрес           |
          |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
           1   2   3           6   7   8                               16

F — Флаг
T — Тег
S — Сектор

Расшифровка опкода
Опкод Инструкция Описание
0000 Универсальная
0001 JMP Безусловный переход
0010 LDA [EA]->(A)
0011 ANA Применить AND с A
0100 STA (A)->[EA]
0101 ERA Применить XOR с A
0111 SUB Вычитание
1000 JST Перейти и загрузить текущий адрес
1001 CAS Сравнить
1010 IRS Инкрементировать. Если [EA] = 0, пропустить следующую инструкцию
1011 IMA Взаимная перестановка памяти и A
1100 Ввод/Вывод
1101 LDX/STX T=1, [EA]->(X) / T=0 , (X)->[EA]
1110 MPY Умножение
1111 DIV Деление

Примечания[править | править код]

  1. Ceruzzi, 2003, p. 194.

Литература[править | править код]

  • Ceruzzi, P. E. A History of Modern Computing. — MIT Press, 2003. — 445 p. — ISBN 9780262532037. Архивная копия от 5 мая 2012 на Wayback Machine