stringtranslate.com

КСГ 65CE02

CSG 65CE02 — это 8/16-битный микропроцессор, разработанный Commodore Semiconductor Group в 1988 году. [1] Он принадлежит к семейству MOS Technology 6502 , разработанному на основе CMOS WDC 65C02, выпущенного Western Design Center в 1983 году.

Как и 65C02, 65CE02 был построен по 2-мкм CMOS-процессу вместо 8-мкм NMOS -технологии оригинального 6502, что делает чип меньшего размера (и, следовательно, менее дорогим), а также потребляет гораздо меньше энергии. В дополнение к изменениям, внесенным в 65C02, 65CE02 также включал улучшения в конвейер процессора , позволяющие выполнять однобайтовые инструкции за 1 цикл, а не за 6502 (и большинство вариантов) минимум за 2 цикла. Также были удалены задержки в 1 цикл при пересечении границ страницы . Эти изменения повысили производительность на целых 25% при той же тактовой частоте.

Другие изменения включали добавление третьего индексного регистра Z, а также добавление и модификацию ряда инструкций для использования этого регистра. Нулевая страница, первые 256 байт памяти, которые использовались в качестве псевдорегистров, теперь можно было переместить на любую страницу основной памяти с помощью регистра B (ase page). Регистр стека был расширен с 8 до 16 бит с использованием аналогичного страничного регистра SPH (высокий указатель стека), что позволило перемещать стек за пределы первой страницы и увеличивать его размеры.

65CE02 послужил основой для системы на чипе CSG 4510 , разработанной для неизданного Commodore 65 . Позже 65CE02 использовался для карты последовательного порта A2232 для компьютера Amiga . Другого применения он, похоже, не нашел.

Описание

Распиновка CSG 65CE02

Фон

К концу 1970-х годов первоначальная команда MOS Technology , разрабатывавшая 6502, распалась. Билл Менш переехал в Аризону и основал Западный центр дизайна (WDC), чтобы предоставлять услуги проектирования на базе 6502. Примерно в 1981 году основные лицензиаты конструкции 6502, Rockwell Semiconductor , GTE и Signetics , вместе с Mensch начали работу по модернизации, которая привела к созданию WDC 65C02 . В основном это была CMOS - реализация исходного NMOS 6502, которая потребляла в 10–20 раз меньше энергии, но она также включала ряд новых инструкций, помогающих улучшить плотность кода в некоторых приложениях. Включены новые инструкции INA/DEAдля увеличения и уменьшения аккумулятора , STZзаписи нуля в ячейку памяти, а также BRAпереход с 1-байтовым относительным адресом в стиле ветвления . В 65C02 также исправлен ряд мелких ошибок в исходной конструкции 6502.

Оригинальный 6502 был разработан в эпоху, когда еще не существовало микрокомпьютеров , когда микропроцессоры использовались в качестве основы для более простых систем, таких как интеллектуальные терминалы , настольные калькуляторы и множество различных промышленных систем контроллеров. Это была также эпоха, когда устройства памяти обычно основывались на статической оперативной памяти , которая была очень дорогой и имела низкую плотность памяти . По обеим этим причинам способность обрабатывать «большие» объемы памяти не требовалась, и многие процессоры имели режимы работы, которые работали с небольшими частями большего адресного пространства , чтобы обеспечить более высокую производительность. Так было в 6502, где первая страница памяти , или «нулевая страница», использовалась для обеспечения более быстрого доступа, а вторая страница, «первая страница», — для хранения 256-байтового стека .

К 1980-м годам эти предположения уже не были верны, многие машины на базе этих процессоров теперь поставлялись с максимальными 64 КБ, которые мог адресовать 6502, используя гораздо менее дорогую и более плотную динамическую память . Преимущества в скорости режима адресации с нулевой страницей остались, но теперь существовали в значительно большем пространстве памяти. Аналогичным образом, одностраничный стек вызовов теперь представлял собой жалкую мишуру в общем объеме памяти, а языки высокого уровня , которые широко использовали пространство стека, не могли легко работать на 6502.

Новые возможности

65CE02 — это улучшенная версия 65C02, в которой модель памяти расширена, чтобы сделать ее более подходящей для систем с большим объемом основной памяти. Для этого в него добавлены следующие новые функции:

Когда в регистре состояния устанавливается новый бит расширения стека , с использованием новых CLE/SEEинструкций указатель стека становится истинным 16-битным значением. Значение в SPH добавляется к значению в исходном SP, теперь известном как SPL (что означает «низкий указатель стека»), чтобы создать 16-битный указатель на нижнюю часть стека. Это позволяет стеку вырасти намного больше исходных 256 байт, которые были слишком малы для языков высокого уровня. [1]
Это означает, что существует два типа стеков: 256-байтовый, который может находиться где угодно, или 16-битный, охватывающий всю память. Хотя последний вариант более гибок, он означает, что для доступа к стеку необходимо создать 16-битный адрес из двух регистров, что занимает дополнительный цикл и, таким образом, снижает общую производительность. Использование меньшего стека, где это возможно, обеспечивает лучшую производительность. [1]

Улучшения конвейера

INXГлавной странностью оригинального 6502 было то, что выполнение однобайтовых инструкций типа « все еще» занимало два цикла. Это позволило упростить трубопроводную систему ; следующий байт из памяти был извлечен во время декодирования операции, то есть следующий байт был извлечен несмотря ни на что. Для большинства инструкций этот байт будет частью (или целым) операнда, который затем можно будет немедленно ввести в декодированную инструкцию. [2]

Если инструкции требовался только один байт, процессор все равно считывал следующий байт, декодируя первый. В этом случае следующим байтом была следующая инструкция, но у него не было возможности передать ее обратно на первый этап конвейера для ее декодирования. Вместо этого полученная инструкция отбрасывалась и перечитывалась для подачи в декодер. Это приводит к потере цикла. Хотя это привело к тому, что ряд инструкций выполнялись медленнее, чем могли бы, эта «функция» была сохранена в 65C02, хотя в доступных источниках не объясняется, было ли это сделано для того, чтобы сохранить простоту конвейера или время цикла. [2]

Поддержание совместимости циклов не было требованием для 65CE02, а новые производственные процессы сделали дополнительные схемы в конвейере не проблемой, поэтому конвейер был переорганизован для правильной обработки однобайтовых инструкций за один цикл. [2] Эти улучшения позволяют 65CE02 выполнять код до 25% быстрее, чем предыдущие модели 65xx. [1]

Дальнейшее улучшение решает проблему, связанную с инструкциями адресации, которые добавляют значения для получения окончательного адреса. Примеры включают «индексированную косвенную обработку», когда значение в одном из индексных регистров добавляется к базовому адресу, а затем инструкция применяется к полученному адресу. В оригинальном 6502, если сложение двух значений пересекало границу страницы, каждые 256 позиций требовался дополнительный цикл для получения окончательного значения адреса. Модель 65CE02 устранила это ограничение, тем самым улучшив производительность этих часто используемых режимов. [1]

Физические детали

Он изготовлен с использованием CMOS -технологии 2 мкм, что позволяет снизить энергопотребление по сравнению с предыдущими версиями NMOS и HMOS семейства 65xx. Он размещен в 40-контактном DIP-разъёме , совместимом по выводам с 6502. [3]

КСГ 4510

КСГ 4510

4510 представляет собой вариант системы в корпусе (SiP) 65CE02, который включает в себя два контроллера портов ввода-вывода 6526 CIA и специальный MMU для расширения адресного пространства до 20 бит (1 мегабайт). Он размещен в 84-контактном PLCC . [4]

Модель 4510 использовалась в неизданном домашнем компьютере Commodore 65 [5] и в неизданной недорогой версии Commodore CDTV . [5] [6]

Приложения

65CE02 использовался в карте последовательного порта Commodore A2232 для компьютера Amiga . [7] [8]

Смотрите также

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

  1. ^ abcdefghijklm «Технические данные микропроцессора MOS 65CE02» (PDF) .
  2. ^ abc «Патент США 5088035: Система для ускорения выполнения программных инструкций микропроцессором».
  3. ^ "Технический справочник Commodore Semiconductor Group CSG65CE02" . zimmers.net. 18 августа 2009 г. Проверено 21 июня 2013 г.
  4. ^ "Вещи Amiga: Информация об оборудовании 4510" .
  5. ^ ab «База знаний Commodore: Commodore 65» .
  6. ^ «База данных оборудования Amiga: CDTV II» .
  7. ^ "Вещи Amiga: Информация об оборудовании 65CE02" .
  8. ^ «Большая книга оборудования Amiga: Commodore A2232» .

дальнейшее чтение

Внешние ссылки