Jump to content

КСГ 65CE02

(Перенаправлено с MOS Technology 4510 )
КСГ 65CE02
Общая информация
Запущен 1988
Снято с производства 1988
Общий производитель
Производительность
Макс. процессора Тактовая частота от 2 МГц до 10 МГц
Архитектура и классификация
Набор инструкций 6502
Физические характеристики
Упаковка

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
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
Основные регистры
  А аккумулятор
Индексные регистры
  Х Х индекс
  И Y Индекс
  С Z -индекс
СПХ СПЛ Указатель стека
Б   Базовая страница
Счетчик программ
ПК Программный счетчик
Регистр состояния
  Н V И Б Д я С С процессора Флаги
Распиновка 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, в которой модель памяти расширена, что делает ее более подходящей для систем с большим объемом основной памяти. Для этого в него добавлены следующие новые функции:

  • В 65CE02 добавлен 8-битный регистр B для базовой страницы, который смещает нулевую страницу в любое место в памяти. B устанавливается в ноль при включении питания или сбросе, поэтому 65CE02 изначально работает точно так же, как 6502. Если значение помещается в регистр B с помощью TAB (Перенос A в B) затем нулевая страница перемещается в новое место. Важным применением этой функции является разрешение небольшим программам, которые могут уместиться в 256 байт страницы, использовать адресацию нулевой страницы (теперь известную как адресация базовой страницы), что уменьшает размер кода, поскольку адреса больше не имеют второго байта, что также ускоряет выполнение кода, поскольку второй байт не нужно выбирать из памяти. [1]
  • 65CE02 также расширяет стек от исходных 256 байт первой страницы до теоретически всего адресного пространства. Это делается путем добавления еще одного 8-битного регистра SPH для высокого уровня указателя стека. Обычно это работает как B, смещая базовый адрес стека с первой страницы на любую выбранную страницу. В остальном он продолжает работать по-прежнему, имея максимальный размер одной страницы — 256 байт. Как и B, при запуске или сбросе SPH устанавливается на 01, поэтому он работает точно так же, как 65C02. [1]
новый бит расширения стека , используя новый Когда в регистре состояния установлен CLE/SEE инструкции, указатель стека становится настоящим 16-битным значением. Значение в SPH добавляется к значению в исходном SP, теперь известном как SPL (что означает низкий указатель стека), чтобы создать 16-битный указатель на нижнюю часть стека. Это позволяет стеку вырасти намного больше исходных 256 байт, которые были слишком малы для языков высокого уровня. [1]
Это означает, что существует два типа стеков: 256-байтовый, который может находиться где угодно, или 16-битный, охватывающий всю память. Хотя последний вариант более гибок, он означает, что для доступа к стеку необходимо создать 16-битный адрес из двух регистров, что занимает дополнительный цикл и, таким образом, снижает общую производительность. Использование меньшего стека, где это возможно, обеспечивает лучшую производительность. [1]
  • В 65CE02 также добавлен новый индексный регистр Z. Он устанавливается в ноль при запуске или сбросе, что означает, что его инструкция сохранения Z в память STZ, работает так же, как в 65C02, где та же инструкция означает сохранение нуля в памяти. Это позволяет запускать немодифицированный код 65C02 на 65CE02. Ряд других инструкций добавлен или изменен для обеспечения доступа к регистру Z. Среди них LDZ загрузить значение из памяти, TZA/TAZ для передачи значения в аккумулятор или из аккумулятора, PHZ/PLZ помещать и тянуть Z в стек, INZ/DEZ для увеличения и уменьшения, и CPZ для сравнения значения в Z со значением в памяти. [1]
  • Добавлен 65C02. BRA, Branch Always, который по сути был JMP в котором использовался 8-битный относительный адрес в стиле ветвления вместо абсолютного 16-битного адреса. По неизвестным причинам 65CE02 изменил мнемонику на BRU (Ответить безоговорочно). Они также добавили BSR инструкции перехода к подпрограмме, которая использует тот же режим относительной адресации, что и команда JSR, Перейти к подпрограмме. [1]
  • Кроме того, CE добавил 16-битную адресацию или «относительное слово» ко всем существующим инструкциям ветвления. Раньше ветки могли перемещаться только на 128 позиций назад или на 127 позиций вперед в зависимости от 8-битного значения со знаком, «относительного адреса». В 65CE02 это могут быть ячейки -32768 или +32767, если следовать за веткой с 16-битным значением. Раньше для выполнения «длинной ветки» обычно приходилось использовать JMP до 16-битной цели, а затем переходить по этим трем байтам, когда вы не хотите этого делать. Например, если бы кто-то захотел перейти к адресу $1234, если аккумулятор равен нулю, нужно было бы сделать CMP #$00/BNE +3/JMP $1234, то есть вы хотите пропустить 3-байтовый JMP addr если аккумулятор не равен нулю. В 65CE02 это можно свести к чему-то вроде CMP #$00/BEQ $0123, тем самым делая код более очевидным, удаляя два байта инструкций и устраняя необходимость в потерянных циклах выборки и запуска ветки. Однако, поскольку он по-прежнему использует относительную адресацию, относительный адрес должен быть рассчитан по метке программистом или ассемблером при преобразовании в машинный код. [1]
  • Еще одним дополнением к системе стал ряд «словных» инструкций, выполнявших операции с 16-битными данными. Это включало INW/DEW для увеличения и уменьшения значения в памяти и ASW/ROW для выполнения слова арифметического сдвига (влево) или слова ROtate (влево). [1]
  • Более мелкие изменения включают добавление ASR для выполнения арифметического (знакового) сдвига вправо (у 6502 был только логический или беззнаковый сдвиг вправо), NEG A инструкция, которая выполняет с дополнением до двух , и отрицание аккумулятора RTN, вариация на тему RTS (ReTurn from Subroutine), который возвращает адрес, смещенный в стек, а не наверх, что позволяет избежать необходимости явно POP отключить все, что добавила процедура во время ее работы. В систему также добавлен новый режим адресации, в котором базовый адрес в стеке используется в качестве основы для косвенной адресации. [1]
  • Наконец, новый четырехбайтовый AUG инструкция была добавлена ​​для будущего расширения. Хотя в технических характеристиках неясно его конечная цель, похоже, что это заполнитель, предназначенный для передачи инструкций в сопроцессорные блоки, такие как блок управления памятью . [1]

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

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

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 69bae06c0a5a10b4077ec62bdf19dcab__1717853280
URL1:https://arc.ask3.ru/arc/aa/69/ab/69bae06c0a5a10b4077ec62bdf19dcab.html
Заголовок, (Title) документа по адресу, URL1:
CSG 65CE02 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)