Мано машина - Mano machine

В Мано машина это компьютер теоретически описывается М. Моррис Мано. Он содержит центральное процессорное устройство, оперативная память, и шину ввода-вывода. Его ограниченный набор инструкций и небольшое адресное пространство ограничивают его использование в качестве Микроконтроллер. Но его можно легко расширить до 32-битного регистра накопителя и 28-битной адресации с использованием языка HDL, такого как Verilog или VHDL; И в то же время освободите место для новых инструкций.

Характеристики

Машина Mano во многом похожа на PDP-8, например, одно и то же адресное пространство, только один регистр накопителя и множество подобных инструкций. Машина Mano имеет сегмент разделяемой памяти данных / программ размером 4096x16, требующий 12-битной адресной шины. Шина данных - 16 бит. Имеются 8-битные шины ввода / вывода для внешней связи и соответствующие флаги прерывания.

Имеется один 16-битный регистр накопителя и однобитовые регистры (защелки) для дополнительного переноса и остановки системы.

Набор инструкций

Существует 25 инструкций, которые делятся на 3 категории: операции прямого / косвенного обращения к памяти, операции обращения к регистрам и операции ввода / вывода / прерывания.

Каждая инструкция имеет длину 16 бит [4 нибайта или 1 слово]. Это означает, что инструкции обращения к памяти содержат 4 бита данных кода операции и 12 разрядов, выделенных для адреса.

Бит 15Биты 14-12Биты 11-0МнемоническийОписание
00(Прямой адрес)ИИ прямая память в аккумулятор
01(Прямой адрес)ДОБАВИТЬДобавить прямую память в аккумулятор (влияет на бит переноса)
02(Прямой адрес)LDAЗагрузить прямую память в аккумулятор
03(Прямой адрес)STAСохранить аккумулятор в прямую память
04(Прямой адрес)BUNБезусловный переход к прямой памяти
05(Прямой адрес)BSAСохранение текущего программного счетчика для направления памяти и перехода по следующему адресу
06(Прямой адрес)ISZУвеличить значение в прямой памяти и пропустить следующую инструкцию, если сумма равна нулю
10-6(Косвенный адрес)Версии с косвенной адресацией приведенных выше инструкций
07800CLAОчистить аккумулятор
07400CLEОчистить бит переноса
07200CMAДополняем аккумулятор
07100CMEДополнить переносной бит
07080CIRЦиркуляция гидроаккумулятора справа (через переносное долото)
07040CILЦиркуляционный аккумулятор слева (через бит)
07020INCАккумулятор приращения (не влияет на бит переноса)
07010СПАПропустить следующую инструкцию, если аккумулятор положительный
07008СНСПропустить следующую инструкцию, если аккумулятор отрицательный
07004SZAПропустить следующую инструкцию, если аккумулятор равен нулю
07002SZEПропустить следующую инструкцию, если бит переноса равен нулю
07001HLTОстановите компьютер, сняв защелку битов остановки
17800INPВвод из символьной шины в аккумулятор
17400ИЗВывод из аккумулятора в символьную шину
17200ЛЫЖИПропустить следующую инструкцию, если установлен флаг ввода
17100ЮКОПропустить следующую инструкцию, если установлен флаг вывода
17080ИОНРазрешить прерывания
17040ИОФОтключить прерывания

Приложения к теории компьютерной оптимизации

Технические характеристики машины включают конечный автомат который определяет микрооперации процессора. Каноническая реализация конечного автомата является отличным кандидатом на сокращение, а также может быть повторно реализована как конвейерный процессор.

внешняя ссылка

Рекомендации

Мано, М. Моррис (октябрь 1992 г.). Архитектура компьютерной системы (3-е изд.). Прентис-Холл. ISBN  0-13-175563-3.