Введение

Hitachi вариант 8-битного микропроцессора Motorola 6809

6309 – это CMOS-версия микропроцессора Motorola 6809, разработанная компанией Hitachi и выпущенная в конце 1982 года. Изначально он позиционировался как версия 6809 с низким энергопотреблением, без упоминания многочисленных внутренних улучшений. В "режиме эмуляции" он полностью совместим с 6809. По сравнению со спецификациями 6809, он обладает более высокой тактовой частотой, расширенными функциями, новыми инструкциями и дополнительными регистрами. Большинство новых инструкций были добавлены для поддержки дополнительных регистров, а также для выполнения 32-битных математических операций, аппаратного деления, битовых манипуляций и блочных передач данных. В собственном режиме 6309 обычно на 30% быстрее, чем 6809. Эта информация никогда не была опубликована компанией Hitachi. Первое описание дополнительных возможностей 6309 появилось в апрельском выпуске 1988 года японского журнала "Oh! FM", предназначенного для пользователей персональных компьютеров Fujitsu. Позже Хиротсугу Какугава опубликовал подробную информацию о новых функциях и инструкциях 6309 на новостной группе comp.sys.m6809. Это привело к разработке операционной системы NitrOS 9 для Tandy Color Computer 3.

Отличия от Motorola 6809

6309 отличается от 6809 в нескольких ключевых областях.

Технология процессов

6309 изготовлен с использованием КМОП-технологии, а 6809 – это НМОП-устройство. В результате, 6309 потребляет меньше энергии, чем 6809. Низкое энергопотребление также позволяет приостанавливать его работу до 15 циклов, поскольку ему не требуется постоянное обновление внутреннего состояния. Это полезно при прямом доступе к памяти, так как позволяет внешним устройствам приостанавливать работу процессора для освобождения шины памяти, чтения или записи небольших объемов памяти, а затем возобновлять его работу. Дополнительная логика не требуется. Это динамическая схема. В техническом описании указана минимальная частота тактирования, и при слишком низкой частоте он теряет свое состояние.

Часовой режим

6309 имеет версии B (2 МГц), как и 6809. Однако, существовала версия с рейтингом "C", работающая на максимальной тактовой частоте 3,0 или 3,5 МГц, в зависимости от используемой спецификации. (На ряде японских компьютеров использовались процессоры 63C09 с частотой 3,58 МГц, соответствующей частоте цветовой поднесущей NTSC, поэтому наиболее вероятным представляется рейтинг 3,5). Отдельные сообщения и данные, полученные от пользователей, указывают на то, что вариант 63C09 можно разогнать до 5 МГц без негативных последствий. Как и 6809, процессор Hitachi выпускался как с внутренним, так и с внешним тактовым генератором (HD63B/C09 и HD63B/C09E соответственно).

Вычислительная эффективность

При переключении в 6309 Нативный режим (в отличие от режима совместимости с 6809 по умолчанию) многие ключевые инструкции будут завершаться за меньшее количество тактов. Это часто повышает скорость выполнения на 30%.

Дополнительные реестры

Два 8-битных аккумулятора: 'E' и 'F'. Они могут быть объединены для формирования 16-битного аккумулятора 'W'. Существующий 16-битный аккумулятор 6809 D может быть объединен с 'W' для формирования 32-битного аккумулятора 'Q'. Вероятно, 'D' является сокращением от 'Double' (удвоенный), а 'Q' от 'Quad' (четверной), отражая количество байтов, которые они хранят. Регистр переноса 'V' для внутрирегистровых инструкций. Его значение не изменяется аппаратным сбросом, что позволяет ему сохранять постоянную величину, отсюда и название 'V'. 8/16-битный нулевой регистр '0' для ускорения операций с использованием нулевой константы. Этот регистр всегда возвращает ноль, а любые записи в него игнорируются. Реестр режима 'MD' – дополнительный регистр кодов условий, управляющий режимом работы. Определены только 4 бита этого регистра.

Дополнительные аппаратные функции

Возможно изменить режим работы прерывания FIRQ. Вместо помещения в стек регистров PC и CC (стандартное поведение 6809), прерывание FIRQ можно настроить на помещение в стек всего набора регистров, как это делает прерывание IRQ. Кроме того, 6309 имеет два возможных режима обработки исключений: один для попытки выборки нелегальной инструкции и один для деления на ноль. Обработка исключения при выборке нелегальной инструкции не может быть заблокирована, и многие пользователи TRS-80 Color Computer сообщали, что их 6309 "неисправны", хотя на самом деле это указывало на наличие расширенных и неизвестных функций.

Недокументированные функции

Существует дополнительный регистр, называемый M, который также можно использовать для временного хранения данных.