ASCII R800

ASCII R800
Микропроцессор R800

ASCII R800 — частично 16-разрядный микропроцессор, разработанный компанией ASCII на основе Zilog Z800 и производимый ею специально для бытовых компьютеров стандарта MSX Turbo R. Основной целью создания процессора было получение максимальной производительности при сохранении обратной совместимости со старым программным и аппаратным обеспечением компьютеров стандарта MSX, использующих микропроцессор Zilog Z80.

Для сохранения программной совместимости со старым программным обеспечением MSX, R800 использует расширенную систему команд процессора Z80. В обычный набор команд Z80 добавлены операции аппаратного умножения — MULUB (8-разрядное), и MULUW (16-разрядное). Также, многие из недокументированных возможностей Z80 сделаны официальными, например, операции с 8-разрядными половинами индексных регистровых пар (IXh, IXl, IYh, IYl).

R800 является развитием процессоров Z800 (16-разрядные микропроцессоры совместимые с Z80), но в нём отсутствуют некоторые недокументированные возможности Z80. Например, состояние бит 3 и 4 флагового регистра F не соответствует состоянию этих бит для процессора Z80 (что приводит к непрохождению R800 теста ZEXALL). Также, недокументированная команда, обычно называемая SLL, заменена другой командой — TST, также недокументированной.

Значительные изменения произошли с аппаратной стороны. Внутреннее 8-разрядное АЛУ процессора было заменено новым, 16-разрядным. Операции типа ADD HL,BC (сложение регистровых пар), выполнение которых ранее требовало 11 тактов, при определённых условиях могут выполняться на R800 за один такт. Максимальная тактовая частота повышена до 7.16 МГц, это вдвое больше по сравнению со стандартной частотой 3.57 МГц, на которой работал процессор Z80 в компьютерах MSX. Шина данных осталась 8-разрядной, для сохранения совместимости со старым аппаратным обеспечением.

Дополнительные изменения были произведены в механизме выборки кода операции. Оригинальный Z80 использует 4 такта для выборки кода простых команд, типа OR A, в компьютерах MSX также добавляется один такт ожидания из-за особенностей их архитектуры. Механизм выборки для Z80 в типичном окружении MSX выглядит следующим образом:

  • Z80, такт 1: установка старших 8 разрядов текущего адреса выполнения
  • Z80, такт 2: установка младших 8 разрядов текущего адреса выполнения
  • Z80, такт 3: такт ожидания
  • Z80, такт 4: выборка кода команды, часть 1
  • Z80, такт 5: выборка кода команды, часть 2

Так как большинство реализаций ОЗУ в компьютерах MSX имеют организацию в виде блока 256 x 256 байт, на установку адреса команды затрачивается два такта. R800 запоминает состояние старших 8 разрядов адреса, что позволяет экономить один такт в случае, если адрес следующей команды не пересекает границу 256-байтного блока. Однако, на процессоре Z80 значения старших 8 разрядов адреса теряются в процессе регенерации ОЗУ, что также требует решения.

Решение, применённое на R800, представляет собой использование регенерации целых блоков ОЗУ, вместо регенерации одной строки при выполнении каждой инструкции. Каждые 30 микросекунд происходит останов процессора на 4 микросекунды, в течение которых выполняется регенерация блока ОЗУ. В этом случае не требуется выполнения процесса регенерации при обработке каждой команды. За счёт этого, а также из-за использования более быстродействующего ОЗУ, не требующего введения такта ожидания, простые команды могут выполняться всего за один такт. Однако, такое быстродействие может быть получено только при выполнении программы в ОЗУ компьютеров MSX Turbo R. Все обращения к внешней аппаратуре, например к устройствам, подключённым к слотам картриджа, требуют столько же времени, сколько и для процессора Z80. ПЗУ, используемое в Turbo R, также не обладает достаточным быстродействием для реализации подобной схемы выборки инструкций, поэтому, для повышения скорости выполнения кода из ПЗУ, его содержимое с помощью дополнительной аппаратуры Turbo R копируется в ОЗУ.



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "ASCII R800" в других словарях:

  • R800 — ASCII R800 8 разрядный микропроцессор, разработанный и производимый компанией ASCII (Япония) специально для использования в бытовых компьютерах стандарта MSX Turbo R. Radeon R800 кодовое название семейства графических процессоров компании AMD …   Википедия

  • ASCII (значения) — ASCII может значить: ASCII  американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. ASCIIZ (Нуль терминированная строка)  способ представления строк в памяти компьютера, при котором конец… …   Википедия

  • R800 — Saltar a navegación, búsqueda Microprocesador RISC R800 El R800 es la CPU principal de los ordenadores domésticos MSX Turbo R (tienen además como CPU secundaria un Zilog Z80A). Fue diseñado por ASCII Corporation de Japón, con el objetivo de tener …   Wikipedia Español

  • R800 — The R800 is the central processing unit used in the MSX Turbo R home computer. The R800 was designed by the ASCII company of Japan, and the goals were to have the fastest CPU possible, while maintaining compatibility with old MSX Zilog Z80 based… …   Wikipedia

  • S-1990 — The S 1990 is a VLSI integrated circuit created by NEC for the MSX Turbo R home computer, and is called the TurboR bus controller . Together with a R800 CPU and a T9769 MSX Engine chip it forms the heart of a TurboR MSX system. The S 1990 was… …   Wikipedia

  • MSX — Тип Бытовой компьютер Выпущен 1983 (MSX1) …   Википедия

  • Zilog Z80 — One of the first Z80 microprocessors manufactured; the date stamp is from June 1976. Produced 1976 Common manufacturer(s) Zilog …   Wikipedia

  • Zilog Z80 —      Zilog Z80   >> Центральный процессор Микропроцессор Zilog Z80, одна из самых ранних ре …   Википедия

  • Z-80 —      Zilog Z80   >> Центральный процессор Микропроцессор Zilog Z80 Производство: 1976 Производитель: ЦП: 8 МГц 20 МГц …   Википедия

  • Z80 —      Zilog Z80   >> Центральный процессор Микропроцессор Zilog Z80 Производство: 1976 Производитель: ЦП: 8 МГц 20 МГц …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»