Jump to content

МДЦ 65C816

(Перенаправлено с WDC 65816/65802 )
МДЦ 65C816
Пакет PDIP40
Общая информация
Запущен 1985 год ; 39 лет назад ( 1985 )
Общий производитель
Производительность
Макс. процессора Тактовая частота от 1 МГц до 14 МГц
Ширина данных
  • 8 (внешний)
  • 16 (внутренний)
Ширина адреса 24 бита
Архитектура и классификация
Набор инструкций 6502
Количество инструкций 92
Физические характеристики
Пакеты
Продукты, модели, варианты
Вариант
    • W65C802 (совместим по выводам с W65C02)
    • W65C265 (МК)
История
Предшественники
Преемник МДЦ 65C832 [1] [2] [3] (никогда не выпускался)

W65C816S ) — (также 65C816 или 65816 это 16-битный микропроцессор (MPU), разработанный и продаваемый Western Design Center (WDC). Представленный в 1983 году, [4] W65C816S — это усовершенствованная версия MPU WDC 65C02 8-битного , который сам по себе является усовершенствованием CMOS почтенного MOS Technology 6502 NMOS MPU. 65C816 — это процессор Apple IIGS и, в модифицированной форме, Super Nintendo Entertainment System .

Цифра 65 в обозначении детали соответствует режиму совместимости 65C02, а цифра 816 означает, что MPU имеет выбираемые 8 и 16 бит размеры регистров . Помимо наличия 16-битных регистров, W65C816S расширяет адресацию памяти до 24 бит , поддерживая до 16 мегабайт оперативной памяти . Он имеет расширенный набор команд и 16-битный указатель стека , а также несколько новых электрических сигналов для улучшения управления аппаратным обеспечением системы.

При сбросе W65C816S запускается в «режиме эмуляции», что означает, что он по существу ведет себя как 65C02. После этого W65C816S можно переключить в «собственный режим» с помощью последовательности из двух инструкций, в результате чего он задействует все расширенные функции, сохраняя при этом значительную степень обратной совместимости с большинством программного обеспечения 65C02. Однако, в отличие от PDIP40 версии 65C02 , которая является совместимой по выводам заменой своего предка NMOS, PDIP40 W65C816S не совместим по выводам ни с одним другим MPU семейства 6502.

W65C802 . или 65802 полностью программно совместим с 65C816, но электрически совместим с 6502 и 65C02 Следовательно, 65C802 можно использовать в качестве замены в большинстве систем, оснащенных 6502 или 65C02. Однако 65C802 не может выдавать 24-битный адрес, что ограничивает его адресное пространство размером 64 КБ. 65C802 больше не производится.

PLCC-44 Версия микропроцессора W65C816S , показанная установленной на одноплатном компьютере .

В 1981 году Билл Менш , основатель и генеральный директор WDC, начал разработку 65C02 вместе со своими партнерами по производству, в первую очередь Rockwell Semiconductor и Synertek . Основной целью разработки 65C02 был переход от оригинального процесса NMOS 6502 к процессу CMOS, который позволил бы ему работать на гораздо более низких уровнях мощности, где-то между 1 10 и 1 20 на любой заданной тактовой частоте. Также желательной была возможность повысить максимальную поддерживаемую тактовую частоту. В конструкции 65C02 устранены ошибки микросхемы, присутствующие в NMOS 6502 (например, пресловутая ошибка JMP (<addr>) ошибка) и представил новые инструкции и новые режимы адресации для некоторых существующих инструкций. [5]

Разработка W65C816S началась в 1982 году после того, как Менш проконсультировался с Apple Computer по поводу новой версии Apple II серии персональных компьютеров , которая, помимо прочего, имела бы улучшенную графику и звук. Apple хотела MPU, который был бы программно совместим с 6502, который тогда использовался в Apple II, но с возможностью адресации большего объема памяти, а также загрузки и хранения 16-битных слов. Результатом стал 65C816, законченный в марте 1984 года, образцы которого были предоставлены Apple и Atari во второй половине года, а полный выпуск состоялся в 1985 году. [6] В процессе проектирования Меншу помогала его сестра Кэтрин, которая отвечала за часть компоновки устройства.

Тот же процесс привел к созданию 65C802, который внутри был идентичен 65C816. Оба выпускались на одних и тех же производственных линиях и расходились только на последних этапах металлизации, когда чип подключался к внешним выводам. В 65C802 эти контакты имели ту же схему, что и в исходном 6502, что позволяло использовать его в качестве замены, сохраняя при этом возможность использования 16-битной обработки ЦП. Однако, поскольку он использовал исходную распиновку, он имел только 16 адресных контактов и, следовательно, мог получить доступ только к 64 КБ внешней памяти. [7] Обычно, когда производители оборудования разрабатывали проект с нуля, они использовали 65С816, а не 65С802, в результате чего последний снимался с производства.

Впоследствии Apple интегрировала 65C816 в компьютер Apple IIGS . Базовая конструкция 65C816 была разработана компанией VLSI Technology . [8] GTE , Sanyo и другие с середины-конца 1980-х до начала 1990-х годов.

В 1990-х годах и 65C816, и 65C02 были преобразованы в полностью статическое ядро , что позволило полностью остановить тактовую частоту Ø2 процессора без потери содержимого регистров. Эта особенность, наряду с использованием асинхронной статической оперативной памяти , позволила создавать конструкции, потребляющие минимальное энергопотребление в режиме ожидания.

По состоянию на апрель 2024 г. W65C816S доступен от WDC в 40-контактном корпусе PDIP , PLCC44 или 44-контактном TQFP , а также в качестве MCU через W65C265, [9] и в качестве IP-ядер для ASIC интеграции [10] [11] (например, Winbond W55V9x. серия телевизионных образовательно-развлекательных микросхем [12] ).

W65C802P
Регистры WDC 65c816
23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (битовая позиция)
Основные регистры
Б А аккумуляторы ( C комбинированные)
Индексные регистры
Х Х индекс
И и индекс
0 0 0 0 0 0 0 0 ДП Прямой возраста страницы указатель
0 0 0 0 0 0 0 0 СП Указатель стека
БД 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 данных банка Регистр
ПБ ПК Банк счетчик программ программ :
Регистр состояния
н v м х д я С с программы Регистр состояния
и программы регистрации состояния Флаг режима

Особенности WDC 65c816:

  • Полностью статическая конструкция КМОП обеспечивает низкое энергопотребление (300 мкА МГц 1 на частоте ) и повышенную помехоустойчивость.
  • Широкий диапазон рабочего напряжения : от 1,8 В до 5,0 В ± 5%.
  • Широкий диапазон рабочих частот , официально максимум 14 МГц при напряжении 5 В (20 МГц в SuperCPU ), с использованием однофазного источника тактовой частоты.
  • Режим эмуляции обеспечивает существенную совместимость программного обеспечения с NMOS 6502 и CMOS 65C02, за исключением недокументированных кодов операций . Все 256 кодов операций в 65C816 работоспособны в обоих режимах работы.
  • 24-битная адресация памяти обеспечивает доступ к 16 МБ памяти .
  • 16-битное АЛУ , аккумулятор ( C), указатель стека ( SP) и индексные регистры ( X и Y).
  • 16-битный регистр прямой страницы (также известный как нулевая страница) ( DP).
  • 8-битный банк данных ( DB) и банк программ ( PB) регистры, генерирующие биты 16–23 24-битного кода и адреса данных. Отдельные регистры банка данных и программ позволяют сегментировать программы и линейную адресацию данных размером 16 МБ.
  • Действительный адрес данных ( VDA) и действительный адрес программы ( VPA) управляющие выходы для квалификации памяти, реализации двойного кэша и DMA с перехватом цикла .
  • Векторное притяжение ( VPB) управляющий выход, чтобы указать, когда выборка вектора прерывания . выполняется
  • Прервать ( ABORTB) входной сигнал и связанный вектор поддерживают исправление процессором ошибок шины, таких как ошибки страниц и нарушения доступа к памяти.
  • Прямая регистрация страниц и относительная адресация стека обеспечивают возможность реентерабельного , рекурсивного и перемещаемого программирования.
  • 24 режима адресации — 13 исходных режимов 6502 с 92 инструкциями , использующими 256 кодов операций , включая большинство новых кодов операций, реализованных в 65C02.
  • Инструкции по блокированию копирования ( MVN и MVP), позволяющий быстро копировать структуры данных из одной области оперативной памяти в другую с минимальным использованием кода.
  • Ожидание прерывания ( WAI) и «Остановка часов» ( STP) инструкции дополнительно снижают энергопотребление , уменьшают задержку прерываний и обеспечивают синхронизацию с внешними событиями.
  • Сопроцессор ( COP) инструкция со связанным вектором поддерживает конфигурации сопроцессора, например, процессоры с плавающей запятой .
  • Зарезервированный «побег» ( WDM) инструкция для будущих двухбайтовых кодов операций и ссылка на будущие конструкции (WDM — это инициалы дизайнера W65C816S Уильяма Д. Менша ).

Сравнение с более ранними моделями

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

Два режима

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

65C816 имеет два режима работы: «режим эмуляции», в котором 16-битные операции невидимы — индексные регистры принудительно переводятся в восемь бит — и микросхема очень похожа на 6502, с теми же временами цикла для коды операций; и «собственный режим», в котором открываются все новые функции. ЦП автоматически переходит в режим эмуляции при включении питания или перезагрузке, что позволяет ему заменить 65(C)02 при условии внесения необходимых изменений в схему для соответствия другому расположению контактов. [5]

16-битные регистры

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

Наиболее очевидным изменением 65C816 при работе в собственном режиме является увеличение размеров различных регистров с 8 до 16 бит. Это улучшение влияет на аккумулятор ( A), X и Y индексные регистры и указатель стека ( SP). это не влияет На счетчик программ ( PC), который всегда был 16-битным. [13]

При работе в основном режиме два бита в регистре состояния меняют свое значение. В оригинальном 6502 биты 4 и 5 не использовались, хотя бит 4 называется разрывом ( b) флаг. В основном режиме бит 4 становится x флаг и бит 5 становятся m флаг. Эти биты управляют тем, будут ли индексные регистры ( x) и аккумулятор/память ( m) имеют размер 8 или 16 бит. Нули в этих битах задают 16-битные размеры, единицы — 8-битные. Эти биты фиксируются на единицах, когда процессор включается или сбрасывается, но становятся изменяемыми, когда процессор переключается в собственный режим. [13]

В собственном режиме размер аккумулятора и индексных регистров может быть установлен на 16 или 8 бит по усмотрению программиста с помощью REP и SEP инструкции по манипулированию m и x биты регистра состояния. Эта функция дает программисту возможность выполнять операции с данными размером как в слова, так и в байты. Поскольку размеры аккумулятора и индексного регистра устанавливаются независимо, можно, например, установить аккумулятор на восемь бит, а индексные регистры на 16 бит, что дает программисту возможность манипулировать отдельными байтами в диапазоне 64 КБ без необходимости выполнять арифметику указателей.

Когда размеры регистров установлены на 16 бит, доступ к памяти будет извлекать или сохранять два смежных байта со скоростью один байт за такт. Следовательно, инструкция чтения-изменения-записи, такая как ROR <addr>, при использовании, когда аккумулятор установлен на 16 бит, повлияет на два смежных байта памяти, а не на один, и будет потреблять больше тактовых циклов, чем когда аккумулятор установлен на восемь бит. Аналогично, все арифметические и логические операции будут 16-битными. [14]

24-битная адресация

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

Другое важное изменение в системе при работе в собственном режиме заключается в том, что модель памяти расширена до 24-битного формата по сравнению с исходным 16-битным форматом 6502. 65c816 использует два 8-битных регистра, банк данных. зарегистрироваться ( DB) и реестр банка программ ( PB), чтобы установить биты 16–23 адреса, эффективно генерируя 24-битные адреса. В обоих случаях «банк» относится к непрерывному сегменту памяти размером 64 КБ, ограниченному диапазоном адресов. $xx0000-$xxFFFF, где xx — адрес банка, то есть биты 16–23 эффективного адреса. Оба DB и PB инициализируются как $00 при включении или сбросе. [15]

Во время кода операции или операнда цикла выборки PB добавляется к счетчику программ ( PC) для формирования 24-битного эффективного адреса. Должен PC «завернуть» (возврат к нулю), PB не будет увеличиваться. Следовательно, программа ограничена пределами банка, в котором она выполняется. В этой модели памяти подразумевается, что цели ветвей и подпрограмм должны находиться в том же банке, что и инструкция, выполняющая ветку или вызов, если только «длинные» переходы или вызовы подпрограмм не используются для выполнения кода в другом банке. Не существует программных средств, с помощью которых PB можно изменить напрямую. [16]

Во время цикла выборки или сохранения данных DB добавляется к 16-битному адресу данных, чтобы сформировать 24-битный эффективный адрес, по которому будет осуществляться доступ к данным. Эта характеристика процессора позволяет разумно выполнять код 6502 или 65c02, который использует 16-битные адреса для ссылки на элементы данных. В отличие от PB, DB может быть изменен под управлением программы, что может быть сделано для доступа к данным за пределами 16-битной адресации. Также, DB будет временно увеличиваться, если адрес индексируется за пределами банка, который в данный момент находится в DB. DB игнорируется, если в качестве операнда инструкции выборки/сохранения данных указан 24-битный адрес или если эффективный адрес находится на прямой (нулевой) странице или в аппаратном стеке . В последнем случае подразумеваемый банк $00 используется для генерации эффективного адреса. [17]

Еще одним дополнением к набору регистров является 16-битный регистр прямой страницы ( DP), который устанавливает базовый адрес для того, что раньше называлось нулевой страницей , но теперь называется прямой страницей . При прямой адресации страниц используется 8-битный адрес, что обеспечивает более быстрый доступ, чем при использовании 16- или 24-битного адреса. Кроме того, некоторые режимы адресации, предлагающие косвенную адресацию, возможны только на прямой странице. В 65(c)02 прямой страницей всегда являются первые 256 байт памяти, отсюда и «нулевая страница». В собственном режиме 65c816 может перемещать прямую (нулевую) страницу в любое место банка. $00 (первые 64 КБ памяти), записывая 16-битный начальный адрес в DP. Существует штраф за доступ в один цикл, если DP не установлена ​​на точную границу страницы, то есть, если значение в DP не $xx00, где xx это самый старший байт. [18]

Переключение между режимами

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

Текущий режим работы сохраняется в эмуляции ( e) кусочек. Уже добавил новый x и m бит к предыдущему набору из шести флагов в регистре состояния ( SR), осталось недостаточно битов для хранения бита нового режима. Вместо этого было использовано уникальное решение, в котором бит режима остался «невидимым», и к нему невозможно было получить прямой доступ. XCE (e X изменить C arry с эмуляцией ) меняет значение бита эмуляции на перенос ( c) бит, бит 0 в SR. Например, если кто-то хочет войти в собственный режим после запуска процессора, можно использовать CLC чтобы очистить бит переноса, а затем XCE чтобы записать его в бит эмуляции. [19] При возврате в режим эмуляции 65c02 используется SEC с последующим XCE. [20]

Внутренне 65c816 представляет собой полностью 16-битную конструкцию. m и x биты в SR определить, как пользовательские регистры (аккумулятор и индекс) будут выглядеть в остальной части системы. После сброса 65c816 запускается в режиме эмуляции 6502, в котором m и x привязаны к 1. Следовательно, регистры привязаны к восьмибитному размеру. Самый старший байт (MSB) аккумулятора ( B-аккумулятор) недоступен напрямую, но его можно заменить младшим значащим байтом (LSB) аккумулятора ( A-аккумулятор) с помощью XBA инструкция. Для индексных регистров нет соответствующей операции ( X и Y), чьи старшие разряды заблокированы по адресу $00.

При переключении в собственный режим старший бит X и Y будет равен нулю, а B-аккумулятор не изменится. Если m немного в SR очищается, B-аккумулятор будет «привязан» к A-аккумулятор для формирования 16-битного регистра (называемого C-аккумулятор). Операция загрузки/сохранения или арифметическая/логическая операция с использованием аккумулятора или памяти будет 16-битной операцией — для выборки/сохранения 16-битного значения требуется два цикла шины.

Если x немного в SR очищен, оба индексных регистра будут установлены на 16 бит. Если используется для индексации адреса, например, LDA SOMEWHERE,X16-битное значение индексного регистра будет добавлено к базовому адресу для формирования эффективного адреса.

Если m немного в SR установлен, аккумулятор снова станет 8-битным регистром, и последующие операции с аккумулятором, за некоторыми исключениями, будут 8-битными операциями. B-аккумулятор сохранит значение, которое оно имело, когда аккумулятор был установлен на 16 бит. Исключение составляют инструкции, передающие регистр прямой страницы ( DP) и указатель стека ( SP) к/от аккумулятора. Эти операции всегда имеют ширину 16 бит в собственном режиме, независимо от состояния m немного в SR.

Если x немного в SR установлен, индексные регистры не только вернутся к 8-битному значению, но и все, что находилось в старших битах, пока их ширина составляла 16 бит, будет потеряно, о чем программист на языке ассемблера не может позволить себе забыть. [21]

Приложения

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

Системы на базе вариантов 65c816:

См. также

[ редактировать ]
  1. ^ Менш, Уильям Д. «Отчет о 65c832» . Архивировано из оригинала 7 апреля 2024 года . Проверено 7 апреля 2024 г.
  2. ^ «Информация, характеристики и паспорт W65C832 (март 1990 г.)» (PDF) . РеАктив Микро . 6 сентября 2010 г. [март 1990 г.]. Архивировано (PDF) из оригинала 7 апреля 2024 г. Проверено 7 апреля 2024 г.
  3. ^ «Информация, характеристики и паспорт W65C832» (PDF) . 6502.org . Архивировано из оригинала (PDF) 30 июня 2023 года . Проверено 7 апреля 2024 г.
  4. ^ Хронология микропроцессоров (1980–1989)
  5. ^ Jump up to: Перейти обратно: а б Глаза и Лихти 1986 , с. 42.
  6. ^ Eyes & Lichty 1986 , с. 44.
  7. ^ Eyes & Lichty 1986 , с. 45.
  8. ^ Справочник по логическим продуктам для конкретных приложений, 1988 г. . VLSI Technology Inc., 1988. стр. 257–279 . Проверено 18 марта 2024 г.
  9. ^ «16-битный микроконтроллер W65C265S» . Западный центр дизайна, Inc. 5 января 2021 г. Архивировано из оригинала 2 апреля 2024 г. Проверено 7 апреля 2024 г.
  10. ^ «W65C816 8/16-битный микропроцессор» . Западный центр дизайна, Inc. 5 января 2021 г. Архивировано из оригинала 15 ноября 2023 г. Проверено 7 апреля 2024 г.
  11. ^ «W65C265S 8/16-битный микроконтроллер» . Западный центр дизайна, Inc. 5 января 2021 г. Архивировано из оригинала 7 апреля 2024 г. Проверено 7 апреля 2024 г.
  12. ^ «Технические данные контроллера игрушки для телевизора W55V92» (PDF) . Стрелковая электроника . 2 мая 2006 года . Проверено 12 июня 2024 г.
  13. ^ Jump up to: Перейти обратно: а б Глаза и Лихти 1986 , с. 46.
  14. ^ Eyes & Lichty 1986 , с. 52.
  15. ^ Eyes & Lichty 1986 , с. 53.
  16. ^ Eyes & Lichty 1986 , с. 54.
  17. ^ Eyes & Lichty 1986 , с. 55.
  18. ^ Eyes & Lichty 1986 , с. 80.
  19. ^ Eyes & Lichty 1986 , с. 64.
  20. ^ Eyes & Lichty 1986 , с. 65.
  21. ^ Eyes & Lichty 1986 , с. 51.
  22. ^ «16-битный процессор — новые ретро-компьютеры» . Феникс Ретро Системы .
  23. ^ «Ф256К» . Феникс Ретро Системы .

Библиография

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

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

[ редактировать ]
  • 65C816 Технический паспорт ; Центр западного дизайна; 55 страниц; 2018.
  • Глаза, Дэвид и Рон Личти; Программирование 65816: включая 6502, 65C02 и 65802 ; Брейди Паблишинг; 636 стр; 2015 год
  • Фишер, Майкл; 65816/65802 программирование на языке ассемблера ; Осборн/МакГроу-Хилл; 686 стр; 1986 год
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a607dc8ec7ee7b2d19674920390a32c7__1721102340
URL1:https://arc.ask3.ru/arc/aa/a6/c7/a607dc8ec7ee7b2d19674920390a32c7.html
Заголовок, (Title) документа по адресу, URL1:
WDC 65C816 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)