Введение

R800 — это центральный процессор, используемый в домашнем компьютере MSX Turbo R. R800 был разработан компанией ASCII Corporation из Японии и произведен компанией Mitsui & Co. Целью разработки был современный конвейерный процессор, бинарно совместимый с Z80, а значит, и с программным обеспечением MSX, при этом сохраняющий совместимость со старым оборудованием MSX, основанным на Z80.

Совместимость

Во время разработки MSX Turbo R корпорация ASCII рассматривала различные процессоры, как совместимые, так и несовместимые с Z80, в качестве кандидатов. В то время Кадзуя Кисиока (岸岡和也), сотрудник компании, исследовал и разрабатывал ASIC, представлявший собой высокоскоростную версию Z80, в значительной степени настроенную для архитектуры MSX. Для обеспечения совместимости программного обеспечения со старым ПО для MSX, R800 использует тот же набор инструкций, что и Z80, с незначительными, но полезными дополнениями, такими как инструкции умножения 8x8 и 16x16 бит, известные как MULUB (8 бит) и MULUW (16 бит). Кроме того, многие из ранее незадокументированных инструкций Z80 были официально признаны, включая все опкоды для инструкций, работающих с IX и IY как с 8-битными регистрами (IXH, IXL, IYH, IYL). Поскольку R800 не основан напрямую на Z80, а происходит от семейства Z800, ему не хватает некоторых других незадокументированных возможностей Z80. Например, незадокументированные флаги, представленные в битах 3 и 5 регистра F, не имеют тех же значений, что и в Z80 (что приводит к неудаче в тестах ZEXALL), а незадокументированный опкод, часто называемый SLL, является просто синонимом инструкции SLA.

Изменения в аппаратном обеспечении

Будучи гораздо более новой разработкой, реализация R800 значительно отличалась от старого Z80. Изменения были аналогичны линейкам Z800, Z280, Z380 и eZ80 совместимых с Z80 процессоров. Оригинальный Z80 использовал необычное 4-битное аппаратное обеспечение АЛУ, решение, которое фактически могло конкурировать с аналогичными процессорами, использующими полноценную 8-битную логику АЛУ (таким как его непосредственный предшественник, Intel 8080). Однако разработчики R800 реализовали полноценное 16-битное АЛУ, чтобы соответствовать более конвейерному выполнению. Инструкции, такие как ADD HL, BC, которые занимают 11 тактовых циклов на Z80, в некоторых ситуациях могут выполняться всего за один шинный цикл (1-2 такта) на R800 благодаря степени конвейеризации, обеспечиваемой этим АЛУ полной ширины. Максимальная тактовая частота процессора, использованная в новом MSX, составляла 14,32 МГц – в четыре раза быстрее, чем оригинальная частота 3,57 МГц, использовавшаяся в старом MSX, при этом тактовая частота шины была увеличена до 7,16 МГц. Шина данных осталась 8-битной для обеспечения совместимости со старым оборудованием.

Внешнее оборудование

Все это относится только к быстрой оперативной памяти, используемой в MSX Turbo R. Внешнее оборудование, подключенное через слоты картриджей, использует временные характеристики, аналогичные Z80. Даже внутренняя ПЗУ Turbo R недостаточно быстра для данной схемы выборки, поэтому дополнительные микросхемы в Turbo R могут копировать содержимое ПЗУ в оперативную память, чтобы обеспечить более высокую скорость работы.