МОП-технология 6502
Общая информация | |
---|---|
Запущен | 1975 год |
Общий производитель | |
Производительность | |
Макс. процессора Тактовая частота | от 1 МГц до 3 МГц |
Ширина данных | 8 бит |
Ширина адреса | 16 бит |
Архитектура и классификация | |
Набор инструкций | МОС 6502 |
Количество инструкций | 56 (изначально 55) |
Физические характеристики | |
Транзисторы | |
Упаковка |
|
История | |
Предшественники |
|
Преемники |
Технология MOS 6502 (обычно произносится как «шестьдесят пять-два») [3] — это 8-битный микропроцессор , разработанный небольшой командой под руководством Чака Педдла для компании MOS Technology . Команда дизайнеров ранее работала в Motorola над проектом Motorola 6800 ; 6502, по сути, представляет собой упрощенную, менее дорогую и более быструю версию этой конструкции.
Когда он был представлен в 1975 году, 6502 был самым дешевым микропроцессором на рынке со значительным отрывом. Первоначально он продавался менее чем за одну шестую стоимости конкурирующих разработок более крупных компаний, таких как 6800 или Intel 8080 . Его внедрение вызвало быстрое снижение цен на всем рынке процессоров. Вместе с Zilog Z80 он положил начало серии проектов, которые привели к домашних компьютеров революции начала 1980-х годов.
Домашние игровые консоли и домашние компьютеры 1970-х — начала 1990-х годов, такие как Atari 2600 , 8-битные компьютеры Atari , Apple II , Nintendo Entertainment System , Commodore 64 , Atari Lynx , BBC Micro и другие, используют 6502 или его варианты. базовой конструкции. Вскоре после появления 6502 компания MOS Technology была полностью куплена Commodore International , которая продолжала продавать микропроцессор и лицензии другим производителям. На заре существования модели 6502 ее производили компании Rockwell и Synertek , а позже лицензия на нее была передана другим компаниям.
В 1981 году Западный центр дизайна начал разработку КМОП версии 65C02 . Это по-прежнему широко используется во встроенных системах , объемы производства которых оцениваются в сотни миллионов. [4]
История и использование
[ редактировать ]Истоки в Motorola
[ редактировать ]6502 был разработан многими из тех же инженеров, которые разработали семейство микропроцессоров Motorola 6800 . [5] Motorola начала проект микропроцессора 6800 в 1971 году под руководством Тома Беннета в качестве главного архитектора. Инженеры Motorola могли проводить аналоговое и цифровое моделирование на IBM 370-165 . мейнфрейме [6] Компоновка микросхем началась в конце 1972 года, первые чипы 6800 были изготовлены в феврале 1974 года, а полное семейство было официально выпущено в ноябре 1974 года. [7] [8]
Джон Бьюкенен был разработчиком чипа 6800. [9] [10] а Род Оргилл, который позже создал 6501, помогал Бьюкенену с анализом схем и компоновкой микросхем. [11] Билл Менш присоединился к Motorola в июне 1971 года после окончания Университета Аризоны (в возрасте 26 лет). [12] Его первым заданием была помощь в определении периферийных микросхем для семейства 6800, а позже он стал главным разработчиком адаптера периферийного интерфейса 6820 (PIA). [13] Беннетт нанял Чака Педдла в 1973 году для выполнения работ по архитектурной поддержке продуктов семейства 6800, которые уже ведутся. [14] Он внес свой вклад во многие области, включая разработку 6850 ACIA (последовательный интерфейс). [15]
Целевыми клиентами Motorola были признанные компании-производители электроники, такие как Hewlett-Packard , Tektronix , TRW и Chrysler . [16] В мае 1972 года инженеры Motorola начали посещать избранных клиентов и делиться подробностями предлагаемой ими 8-битной микропроцессорной системы с ПЗУ, ОЗУ, параллельным и последовательным интерфейсами. [17] В начале 1974 года они предоставили технические образцы чипов, чтобы клиенты могли создавать прототипы своих проектов. Стратегия Motorola «всего семейства продуктов» фокусировалась не на цене микропроцессора, а на снижении общей стоимости разработки для клиента. Они предложили программное обеспечение для разработки на компьютере с таймшером, систему отладки EXORcisionr, обучение на месте и поддержку инженеров по эксплуатации. [18] [19] И Intel, и Motorola первоначально объявили цену в 360 долларов США за один микропроцессор. [20] [21] Фактическая цена за объемы производства была намного меньше. Motorola предложила комплект разработки, содержащий 6800 с шестью вспомогательными микросхемами, за 300 долларов США . [22]
Педдл, который сопровождал продавцов во время визитов к клиентам, обнаружил, что клиентов отпугивала высокая стоимость микропроцессорных чипов. [23] В то же время эти визиты неизменно приводили к тому, что инженеры, которых он представлял, составляли списки необходимых инструкций, которые были намного меньше, чем «все эти причудливые инструкции», включенные в 6800. [24] Педдл и другие члены команды начали обрисовывать дизайн улучшенного микропроцессора уменьшенного размера. В то время новое предприятие Motorola по производству полупроводников в Остине, штат Техас , испытывало трудности с производством МОП-чипов, и середина 1974 года стала началом годичной рецессии в полупроводниковой промышленности. Кроме того, многие сотрудники Месы, штат Аризона, были недовольны предстоящим переездом в Остин. [25]
Руководство подразделения полупроводниковой продукции Motorola не проявило интереса к предложению Педдла по недорогому микропроцессору. В конце концов Педдлу дали официальное письмо, в котором ему предлагалось прекратить работу над системой. [26] В ответ на приказ Педдл сообщил Мотороле, что письмо представляет собой официальное заявление об «отказе от проекта», и поэтому интеллектуальная собственность, которую он разработал к этому моменту, теперь принадлежит ему. [27] В интервью в ноябре 1975 года президент Motorola Роберт Гэлвин в конечном итоге согласился, что концепция Педдла была хорошей и что подразделение упустило возможность: «Мы выбрали неправильных лидеров в подразделении полупроводниковой продукции». Дивизия была реорганизована и сменилось руководство. Новый вице-президент группы Джон Уэлти заявил: «Организация продаж полупроводников потеряла чувствительность к потребностям клиентов и не может принимать быстрые решения». [28]
МОП-технология
[ редактировать ]Педдл начал искать источник финансирования для этого нового проекта за пределами Motorola. Первоначально он обратился к «Мостэк» генеральному директору Эл. Дж. Севину , но получил отказ. Позже Севин признался, что это произошло потому, что он боялся, что Motorola подаст на них в суд. [29]
Когда Педдл посетил Ford Motor Company во время одной из своих торговых поездок, Боб Джонсон, впоследствии возглавлявший подразделение автоматизации двигателей Ford, упомянул, что их бывший коллега Джон Пайвинен перешел в General Instrument и начал изучать полупроводниковый дизайн. [30] Затем Пайвинен основал компанию MOS Technology в Вэлли-Фордж, штат Пенсильвания, в 1969 году вместе с двумя другими руководителями General Instrument, Мортом Джаффе и Доном Маклафлином. Allen-Bradley , поставщик электронных компонентов и средств промышленного контроля, приобрел контрольный пакет акций в 1970 году. [31] Компания разработала и изготовила для клиентов индивидуальные микросхемы, а также разработала линейку микросхем для калькуляторов. [32]
После того, как усилия Мостека провалились, Педдл обратился к Пайвинену, который «сразу понял это». [33] 19 августа 1974 года Чак Педдл, Билл Менш, Род Оргилл, Гарри Бауком, Рэй Хирт, Терри Холдт и Уил Мэтис покинули Motorola и присоединились к MOS. Майк Джейнс присоединился позже. Из семнадцати разработчиков микросхем и специалистов по макетированию команды 6800 осталось восемь. Целью команды было разработать и произвести недорогой микропроцессор для встраиваемых приложений и охватить как можно более широкую клиентскую базу. Это было бы возможно только в том случае, если бы микропроцессор был дешевым и команда установила целевую цену для оптовых закупок на уровне 5 долларов . [34] Позже Менш заявил, что целью была не сама цена процессора, а создание набора микросхем, которые можно было бы продавать по 20 долларов , чтобы конкурировать с недавно представленным Intel 4040 , который продавался за 29 долларов в аналогичном полном наборе микросхем. [35]
Чипы производятся путем печати нескольких копий дизайна чипа на поверхности пластины — тонкого диска из очень чистого кремния. Чипы меньшего размера можно напечатать в большем количестве на одной и той же пластине, что снижает их относительную цену. Кроме того, пластины всегда содержат некоторое количество крошечных физических дефектов, разбросанных по поверхности. Любой чип, напечатанный в этом месте, выйдет из строя, и его придется выбросить. Чипы меньшего размера означают, что любая единственная копия с меньшей вероятностью будет напечатана с дефектом. По обеим этим причинам стоимость конечного продукта сильно зависит от размера конструкции микросхемы. [36]
Оригинальные чипы 6800 должны были иметь размеры 180 на 180 мил (4,6 × 4,6 мм), но компоновка была завершена с размерами 212 на 212 мил (5,4 × 5,4 мм), или площадью 29,0 мм. 2 . [37] Для нового дизайна цель по стоимости требовала размера 153 на 168 мил (3,9 мм × 4,3 мм) или площади 16,6 мм. 2 . [38] Для достижения этой цели потребуется несколько новых методов.
Переходим к НМОС
[ редактировать ]Одновременно с разработкой модели 6502 на рынке появилось два значительных усовершенствования, которые обеспечили значительное снижение затрат. Первым был переход на NMOS с истощающей нагрузкой . В 6800 использовался ранний процесс NMOS, режим улучшения, который требовал трех напряжений питания. Одной из главных особенностей 6800 был встроенный удвоитель напряжения , который позволял использовать один источник +5 В для внутренних +5, −5 и +12 В, в отличие от других чипов той эпохи, таких как Intel 8080 , которые требовали трех отдельных источников питания. булавки. [39] Хотя эта функция уменьшила сложность источника питания и расположения выводов, она по-прежнему требовала отдельной линии питания для различных затворов чипа, что увеличивало сложность и размер. При переходе на новую конструкцию с истощающей нагрузкой все, что требовалось, — это один источник питания +5 В, что устраняло всю эту сложность. [40]
Еще одним преимуществом было то, что конструкции с истощающей нагрузкой потребляли меньше энергии при переключении, что позволяло работать с меньшим охлаждением и обеспечивать более высокие рабочие скорости. Еще одним практическим ответвлением является то, что тактовый сигнал для более ранних процессоров должен был быть достаточно сильным, чтобы выдерживать все потери при прохождении через схемы, что почти всегда требовало отдельного внешнего чипа, который мог бы подавать мощный сигнал. Благодаря снижению требований к питанию при истощающей нагрузке часы можно было перенести на чип, что упростило общую конструкцию компьютера. Эти изменения значительно снизили сложность и стоимость внедрения полной системы. [40]
Более масштабным изменением, произошедшим в отрасли, стало введение проекционной маскировки . Раньше чипы наносились на поверхность пластины путем размещения маски на поверхности пластины и последующего освещения ее ярким светом. Маски часто собирали крошечные частицы грязи или фоторезиста , когда их снимали с чипа, что приводило к появлению дефектов в этих местах при любом последующем маскировании. В сложных конструкциях, таких как процессоры, нужно было использовать 5 или 6 таких шагов маскировки, и вероятность того, что хотя бы один из этих шагов приведет к появлению дефекта, была очень высока. В большинстве случаев 90% таких конструкций были ошибочными, в результате чего доходность составляла 10%. Цена рабочих образцов должна была покрыть себестоимость 90% выброшенных экземпляров. [41]
В 1973 году компания Perkin-Elmer представила систему Micralign , которая проецировала изображение маски на пластину вместо того, чтобы требовать прямого контакта. Маски больше не собирали грязь с пластин и прослужили порядка 100 000 использований, а не 10. Это устранило пошаговые сбои и высокий уровень дефектов, который раньше наблюдался в сложных конструкциях. Доходность процессоров сразу подскочила с 10% до 60 или 70%. Это означало, что цена ЦП снизилась примерно на такую же величину, и микропроцессор внезапно стал массовым устройством. [41]
Существующие производственные линии MOS Technology были основаны на более старой технологии PMOS; к моменту прибытия команды они еще не начали работать с NMOS. Пайвинен пообещал подготовить и запустить линейку NMOS вовремя, чтобы начать производство нового процессора. Он выполнил свое обещание: новая линия была готова к июню 1975 года. [42]
Примечания к проектированию
[ редактировать ]Чак Педдл, Род Оргилл и Уил Мэтис разработали первоначальную архитектуру новых процессоров. Статья в журнале EDN за сентябрь 1975 года дает такое краткое описание конструкции: [43]
Семейство MOS Technology 650X представляет собой сознательную попытку восьми бывших сотрудников Motorola, которые работали над разработкой системы 6800, создать деталь, которая заменит и превзойдет 6800, но при этом будет продаваться дешевле. Опираясь на опыт работы над проектом 6800, команда MOS Technology под руководством Чака Педдла внесла следующие архитектурные изменения в процессор Motorola:
Основным изменением с точки зрения размера микросхемы стало исключение драйверов с тремя состояниями из выходов адресной шины. Шина с тремя состояниями имеет состояния «1», «0» и «высокое сопротивление». Последнее состояние используется, чтобы разрешить другим устройствам доступ к шине, и обычно используется для многопроцессорной обработки или, что чаще в этих ролях, для прямого доступа к памяти (DMA). Несмотря на свою полезность, эта функция очень дорога с точки зрения встроенной схемы. В 6502 эта функция просто удалена, что соответствует конструкции недорогого контроллера, используемого для решения конкретных задач и взаимодействующего с простыми устройствами. Педдл предположил, что любой, кому действительно нужен этот стиль доступа, может реализовать его с помощью одного 74158 . [44] [а]
Следующим важным отличием было упрощение регистров. один из двух аккумуляторов Для начала был снят . Регистры общего назначения, такие как аккумуляторы, должны быть доступны многим частям декодера команд и, следовательно, требуют значительного количества проводов для перемещения данных в их хранилище и из него. Два аккумулятора облегчают многие задачи кодирования, но существенно усложняют конструкцию самой микросхемы. [43] Дополнительная экономия была достигнута за счет уменьшения регистра стека с 16 до 8 бит, а это означало, что стек мог иметь длину всего 256 байт, что было достаточно для его предполагаемой роли в качестве микроконтроллера. [43] [ не удалось пройти проверку ]
16-битный индексный регистр IX был разделен на две части, превратившись в X и Y. Что еще более важно, изменился стиль доступа. В 6800 IX содержал 16-битный адрес, который был смещен 8-битным числом, сохраненным вместе с инструкцией, и суммировался. В 6502 (и большинстве других современных разработок) 16-битный базовый адрес сохранялся в инструкции, и к нему добавлялись 8-битные X или Y. [44]
Наконец, набор команд был упрощен, освободив место в декодере и логике управления. Из исходных 72 инструкций в 6800 было реализовано 56. Среди удаленных были инструкции, которые работали между двумя аккумуляторами 6800, а также несколько инструкций ветвления, вдохновленных PDP-11 . [44]
Высокоуровневый проект чипа пришлось превратить в чертежи транзисторов и межсоединений. В MOS Technology «макет» представлял собой ручной процесс, выполняемый с помощью цветных карандашей и пергаментной бумаги . Макет состоял из тысяч многоугольников на шести разных рисунках; по одному на каждый уровень производственного процесса. Учитывая ограничения по размерам, приходилось постоянно продумывать всю конструкцию чипа. Менш и Пайвинен работали над декодером инструкций. [46] в то время как Менш, Педдл и Оргилл работали над ALU и регистрами. Еще одним достижением, разработанным на вечеринке, стал способ разделить часть внутренней проводки, чтобы уменьшить размер ALU. [47]
Несмотря на все усилия, окончательная конструкция оказалась на 5 милов шире. [48] Первые чипы 6502 имели размеры 168 на 183 мил (4,3 × 4,6 мм) и площадь 19,8 мм. 2 . Исходная версия процессора не имела возможности вращения вправо (ROR), поэтому инструкция была исключена из исходной документации. В следующей итерации конструкции чип был уменьшен и добавлена возможность поворота вправо, а ROR был включен в пересмотренную документацию. [49] [б]
Представляем модели 6501 и 6502
[ редактировать ]MOS представит два микропроцессора, основанных на одной и той же базовой конструкции: 6501 будет подключаться к тому же разъему, что и Motorola 6800, а у 6502 будет изменена распиновка для поддержки встроенного тактового генератора. Оба будут работать с другими микросхемами поддержки, разработанными для 6800. Они не будут запускать программное обеспечение 6800, потому что у них будет другой набор команд, другие регистры и, в основном, разные режимы адресации. [3] Род Оргилл отвечал за дизайн 6501; он ассистировал Джону Бьюкенену в Motorola на 6800. Билл Менш работал на 6502; он был разработчиком адаптера периферийного интерфейса 6820 (PIA) в Motorola. Гарри Бауком, Майк Джейнс и Сидни-Энн Холт помогли с макетом.
Презентация микропроцессора MOS Technology отличалась от традиционного запуска продукта, длившегося несколько месяцев. Первый запуск новой интегральной схемы обычно используется для внутреннего тестирования и передается избранным клиентам в качестве «технических образцов». Эти чипы часто имеют один или два незначительных конструктивных дефекта, которые будут исправлены до начала производства. Целью Чака Педдла было продать первую партию чипов 6501 и 6502 участникам торговой выставки WESCON в Сан-Франциско, начавшейся 16 сентября 1975 года. Педдл был очень эффективным представителем, и микропроцессоры MOS Technology широко освещались в отраслевой прессе. Одним из первых был полностраничный рассказ о микропроцессорах MCS6501 и MCS6502 в номере журнала Electronics от 24 июля 1975 года . [53] Истории также были опубликованы в EE Times (24 августа 1975 г.): [54] EDN (20 сентября 1975 г.), Electronic News (3 ноября 1975 г.), Byte (ноябрь 1975 г.) [55] и «Микрокомпьютерный дайджест» (ноябрь 1975 г.). [56] Реклама 6501 появилась в нескольких изданиях в первую неделю августа 1975 года. 6501 будет продаваться в Wescon по 20 долларов за штуку. [57] В сентябре 1975 года в рекламе фигурировали микропроцессоры 6501 и 6502. Модель 6502 будет стоить всего 25 долларов (что эквивалентно 142 долларам в 2023 году). [58]
Когда MOS Technology прибыла на Вескон, они обнаружили, что экспонентам не разрешается ничего продавать в выставочном зале. Они арендовали номер «МакАртур» в отеле «Сент-Фрэнсис» и направляли туда клиентов покупать процессоры. В комплексе процессоры хранились в больших банках, что означало, что чипы находятся в производстве и легко доступны. Покупатели не знали, что нижняя половина каждой банки содержит нефункциональные чипы. [59] Чипы стоили 20 и 25 долларов, а пакет документации стоил еще 10 долларов . Пользователям было предложено сделать фотокопии документов, что является для MOS Technology недорогим способом распространения информации о продукте. В предварительных технических характеристиках было указано всего 55 инструкций, не считая инструкции Rotate Right (ROR), которая не поддерживалась этими ранними чипами. В обзорах в Byte и EDN отмечено отсутствие инструкции ROR. Следующая версия схемы устранила эту проблему, и в таблице данных за май 1976 года было указано 56 инструкций. Педдл хотел, чтобы каждый заинтересованный инженер и любитель имел доступ к чипам и документации, тогда как другие полупроводниковые компании хотели иметь дело только с «серьезными» клиентами. Например, Signetics представляла микропроцессор 2650 , и в ее рекламе читателям предлагалось писать информацию на фирменном бланке их компании. [60]
Приколоть | 6800 | 6501 | 6502 |
---|---|---|---|
2 | Остановиться | Готовый | Готовый |
3 | ∅1 (дюйм) | ∅1 (дюйм) | ∅1 (выход) |
5 | Действительный адрес памяти | Действительный адрес памяти | Северная Каролина |
7 | Автобус доступен | Автобус доступен | СИНХРОНИЗАЦИЯ |
36 | Включение шины данных | Включение шины данных | Северная Каролина |
37 | ∅2 (дюйм) | ∅2 (дюйм) | ∅0 (дюйм) |
38 | Северная Каролина | Северная Каролина | Установить флаг переполнения |
39 | Трехуровневый контроль | Северная Каролина | ∅2 (выход) |
Иск Моторолы
[ редактировать ]Представление модели 6501/6502 в печати и на выставке Wescon имело огромный успех. Обратной стороной было то, что широкое освещение в прессе привлекло внимание Motorola. В октябре 1975 года Motorola снизила цену на один микропроцессор 6800 со 175 до 69 долларов . Комплект для проектирования системы стоимостью 300 долларов был уменьшен до 150 долларов , и теперь он поставлялся с печатной платой. [61] 3 ноября 1975 года Motorola обратилась в Федеральный суд с требованием запретить MOS Technology производить и продавать микропроцессорную продукцию. Они также подали иск о нарушении патентных прав и незаконном присвоении коммерческой тайны. Motorola заявила, что семь бывших сотрудников присоединились к MOS Technology для создания микропроцессорной продукции этой компании. [62]
Motorola была компанией с оборотом в миллиард долларов, с правдоподобным делом и дорогими юристами. 30 октября 1974 года компания Motorola подала множество патентных заявок на семейство микропроцессоров и получила двадцать пять патентов. Первый был в июне 1976 года, а второй — Биллу Меншу 6 июля 1976 года по поводу компоновки микросхемы 6820 PIA. Эти патенты касались шины 6800 и того, как периферийные чипы взаимодействуют с микропроцессором. [63] Motorola начала производить транзисторы в 1950 году и имела портфель патентов на полупроводники. Аллен-Брэдли решил не бороться с этим делом и продал свою долю в MOS Technology обратно основателям. В иске фигурируют четверо бывших инженеров Motorola: Чак Педдл, Уилл Мэтис, Билл Менш и Род Оргилл. Все они были названы изобретателями в 6800 патентных заявках. В процессе открытия Motorola обнаружила, что один инженер, Майк Джейнс, проигнорировал инструкции Педдла и передал свои 6800 проектных документов в MOS Technology. [64] В марте 1976 года у теперь уже независимой компании MOS Technology закончились деньги, и ей пришлось урегулировать дело. Они согласились отказаться от процессора 6501, заплатить Motorola 200 000 долларов и вернуть документы, которые, по утверждению Motorola, были конфиденциальными. Обе компании согласились перекрестно лицензировать патенты на микропроцессоры. [65] В мае того же года Motorola снизила цену на один микропроцессор 6800 до 35 долларов . К ноябрю Commodore приобрела MOS Technology. [66] [67]
Компьютеры и игры
[ редактировать ]Несмотря на проблемы с законом, перед MOS все еще стояла проблема заставить разработчиков опробовать свой процессор, что побудило Чака Педдла разработать одноплатный компьютер MDT-650 («терминал разработки микрокомпьютеров») . Другая группа внутри компании разработала KIM-1 , который продавался полукомплектным и мог быть превращен в полезную систему с добавлением компьютерного терминала стороннего производителя и компактного кассетного привода. Хотя KIM-1 хорошо продавался на предполагаемом рынке, компания обнаружила, что KIM-1 также хорошо продается любителям и мастерам. Соответствующая Rockwell AIM-65 система управления, обучения и развития также показала хорошие результаты. Программное обеспечение AIM 65 было основано на программном обеспечении MDT. Еще одним примерно похожим продуктом был Synertek SYM-1 .
Одним из первых «публичных» применений этой конструкции был Apple I микрокомпьютер , представленный в 1976 году. Затем 6502 использовался в Commodore PET и Apple II . [68] оба выпущены в 1977 году. Позже они использовались в 8-битных компьютерах Atari , Acorn Atom , BBC Micro , [68] VIC-20 и другие разработки как для домашних компьютеров, так и для бизнеса, такие как Ohio Scientific и компьютеры Oric . 6510 . , прямой преемник 6502 с цифровым портом ввода-вывода и адресной шиной с тремя состояниями , был процессором , используемым в самых продаваемых процессорах [69] [70] Commodore 64 Домашний компьютер .
Еще одним важным применением семейства 6500 были видеоигры. Первым, кто использовал эту конструкцию процессора, была Atari VCS 1977 года, позже переименованная в Atari 2600 . В VCS использовался вариант 6502 под названием 6507 , у которого было меньше контактов, поэтому он мог адресовать только 8 КБ памяти. Будут проданы миллионы консолей Atari, каждая из которых будет оснащена MOS-процессором. Еще одним значительным применением стали Nintendo Entertainment System и Famicom. 6502, использованная в NES, была второй исходной версией Ricoh , частичной системой на кристалле , в которой отсутствовал двоично-десятичный режим, но были добавлены 22 отображаемых в память регистра и встроенное оборудование для генерации звука, чтения с помощью джойстика и создания спрайтов. список DMA . Этот процессор, получивший название 2A03 в консолях NTSC и 2A07 в консолях PAL (разница заключалась в коэффициенте делителя тактовой частоты и справочной таблице частот дискретизации звука), производился исключительно для Nintendo .
его варианты использовались во всех дисководах Commodore для 6502 или всех их 8-битных компьютеров, от линейки PET до Commodore 128D, включая Commodore 64. 8-дюймовые дисководы PET имели два процессора 6502. Atari использовала тот же 6507, который использовался в Atari VCS для своих 810 и 1050, дисководов используемых во всей линейке 8-битных компьютеров, от 400/800 до XEGS.
В 1980-х годах популярный журнал по электронике Elektor/Elektuur использовал этот процессор в своей плате для разработки микропроцессора Junior Computer .
Преемник CMOS 6502, WDC 65C02 , также нашел применение в домашних компьютерах и игровых консолях. Apple использовала его в линейке Apple II, начиная с Apple IIc и более поздних вариантов Apple IIe , а также предложила комплект для обновления старых систем IIe новым процессором. [71] Чип Hudson Soft HuC6280 , использованный в TurboGrafx-16, был основан на ядре 65C02. В Atari Lynx использовался собственный чип под названием «Майки». [72] разработанный Epyx , который включал лицензированную ячейку VLSI VL65NC02. Вариант G65SC12 от GTE Microcircuits (переименованный в California Micro Devices) использовался в BBC Master . Некоторые модели BBC Master также включали дополнительный сопроцессор G65SC102.
Техническое описание
[ редактировать ]1 5 | 1 4 | 1 3 | 1 2 | 1 1 | 1 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | (битовая позиция) |
Основные регистры | ||||||||||||||||
А | аккумулятор | |||||||||||||||
Индексные регистры | ||||||||||||||||
Х | Х индекс | |||||||||||||||
И | Y Индекс | |||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | СП | Указатель стека | |||||||
Счетчик программ | ||||||||||||||||
ПК | Программный счетчик | |||||||||||||||
Регистр состояния | ||||||||||||||||
Н | V | - | Б | Д | я | С | С | процессора Флаги |
6502 — это прямым порядком байтов 8-битный процессор с и 16-битной адресной шиной . Оригинальные версии были изготовлены с использованием 8 мкм [73] Техпроцесс чипа с размером кристалла 3,9 мм × 4,3 мм (153 на 168 мил), общей площадью 16,6 мм. 2 . [38]
Внутренняя логика работает с той же скоростью, что и внешняя тактовая частота. Он имел простой конвейер; в каждом цикле процессор извлекает один байт из памяти и обрабатывает другой. Это означает, что выполнение любой отдельной инструкции может занять всего два цикла, в зависимости от количества операндов, которые использует инструкция. Для сравнения, Zilog Z80 требовалось два цикла для выборки памяти, а минимальное время выполнения команды составляло четыре цикла. Таким образом, несмотря на более низкие тактовые частоты по сравнению с конкурирующими моделями, обычно в пределах от 1 до 2 МГц , производительность 6502 была конкурентоспособной с процессорами, использующими значительно более высокие тактовые частоты. Частично это связано с простым конечным автоматом, реализованным с помощью комбинационной (безтактовой) логики в большей степени, чем во многих других конструкциях; двухфазные часы (обеспечивающие две синхронизации за цикл) могли, таким образом, напрямую управлять машинным циклом.
Этот дизайн также привел к одному полезному замечанию по дизайну модели 6502 и предшествующей ей модели 6800. Поскольку чип обращался к памяти только в течение определенных частей тактового цикла, а эти циклы обозначались выводом тактового выхода PHI2-low, другие чипы в системе могли обращаться к памяти в те моменты, когда 6502 был отключен от шины. Иногда это называлось «скрытым доступом». Этот метод широко использовался компьютерными системами; они будут использовать память с частотой доступа 2 МГц, а затем запускать ЦП на частоте 1 МГц. Это гарантировало, что процессор и видеооборудование смогут чередовать доступы с общей производительностью, соответствующей производительности устройства памяти. Поскольку этот доступ осуществлялся через каждый второй цикл, не было необходимости сигнализировать ЦП об отказе от использования шины, что упрощало реализацию такого рода доступа без какой-либо логики шины. [74] Когда в 1980-х годах стала доступна более быстрая память, новые машины могли использовать ту же самую технику, работая на более высоких тактовых частотах. BBC Micro использовала более новую оперативную память, которая позволяла ее процессору работать на частоте 2 МГц, при этом используя те же методы совместного использования шины.
Как и большинство простых процессоров той эпохи, динамический чип NMOS 6502 не секвенируется микрокодом , а декодируется напрямую с использованием выделенного PLA . Декодер занимал около 15% площади чипа. Это можно сравнить с более поздними разработками на основе микрокода, такими как Motorola 68000 , где ПЗУ микрокода и механизм декодера представляли около трети вентилей в системе.
Регистры
[ редактировать ]Как и его предшественник 6800, 6502 имеет очень мало регистров . Они включают в себя [75]
A
= 8-битный аккумуляторный регистрP
= 7-битный регистр состоянияn
= отрицательныйv
= переполнениеb
= разрыв (только в значениях стека, а не в аппаратном обеспечении) [76] )d
= десятичныйi
= прерывание отключеноz
= нольc
= нести
PC
= 16-битный счетчик программS
= 8-битный указатель стекаX
= 8-битный индексный регистрY
= 8-битный индексный регистр
Это сравнимо с конкурентом того времени, Intel 8080 , который также имеет один 8-битный аккумулятор и 16-битный программный счетчик, но имеет еще шесть 8-битных регистров общего назначения (которые можно объединить в три 16-битных указателя). и больший 16-битный указатель стека. [77]
Чтобы компенсировать недостаток регистров, 6502 включает режим адресации нулевой страницы , в котором в инструкции используется один адресный байт вместо двух, необходимых для адресации всех 64 КБ памяти. Это обеспечивает быстрый доступ к первым 256 байтам ОЗУ с помощью более коротких инструкций. Например, инструкция по добавлению значения из памяти к значению в аккумуляторе обычно состоит из трех байтов: один для инструкции и два для 16-битного адреса. Использование нулевой страницы уменьшает его до 8-байтового адреса, уменьшая общую длину инструкции до двух байтов и, таким образом, улучшая производительность инструкций.
Адресное пространство стека жестко привязано к странице памяти. $01
, то есть диапазон адресов $0100
– $01FF
( 256
– 511
). Программный доступ к стеку осуществляется с помощью четырех инструкций режима неявной адресации, функции которых заключаются в перемещении или извлечении (вытягивании) аккумулятора или регистра состояния процессора. Тот же стек также используется для вызовов подпрограмм с помощью инструкций JSR (переход к подпрограмме) и RTS (возврат из подпрограммы), а также для прерываний обработки .
Адресация
[ редактировать ]Чип эффективно использует индексные и стековые регистры в нескольких режимах адресации , включая быстрый режим «прямой страницы» или «нулевой страницы», аналогичный тому, который используется в PDP-8 , который обеспечивает доступ к ячейкам памяти с адресами от 0 до 255 с помощью одной 8-битный адрес (сохранение цикла, который обычно требуется для выборки старшего байта адреса) — код для 6502 использует нулевую страницу так же, как код для других процессоров использует регистры. На некоторых микрокомпьютерах на базе процессора 6502 с операционной системой операционная система использует большую часть нулевой страницы, оставляя пользователю лишь несколько мест.
Режимы адресации также включают подразумеваемые (1-байтовые инструкции); абсолютный (3 байта); индексированный абсолютный (3 байта); индексированная нулевая страница (2 байта); относительный (2 байта); аккумулятор (1); косвенный,x и косвенный,y (2); и немедленный (2). Абсолютный режим — это режим общего назначения. В инструкциях перехода используется 8-битное смещение со знаком относительно инструкции после перехода; Таким образом, числовой диапазон -128..127 преобразуется в 128 байтов назад и 127 байтов вперед от инструкции, следующей за ветвью (что составляет 126 байтов назад и 129 байтов вперед от начала инструкции ветвления). Режим аккумулятора использует аккумулятор в качестве эффективного адреса и не требует никаких данных операнда . Непосредственный режим использует 8-битный литеральный операнд.
Косвенная адресация
[ редактировать ]Косвенные режимы полезны для обработки массивов и других циклов. В режиме 5/6 циклов «(косвенный),y» 8-битный регистр Y добавляется к 16-битному базовому адресу, считываемому с нулевой страницы, который расположен в одном байте после кода операции. Таким образом, регистр Y является индексным регистром в том смысле, что он используется для хранения фактического индекса (в отличие от регистра X в 6800, где базовый адрес хранился напрямую и к которому можно было немедленно добавить смещение). Увеличение индексного регистра для побайтового обхода массива занимает всего два дополнительных цикла. В менее часто используемом режиме «(косвенный, x)» эффективный адрес для операции находится по адресу нулевой страницы, образованному добавлением второго байта инструкции к содержимому регистра X. При использовании индексированных режимов нулевая страница фактически действует как набор из 128 дополнительных (хотя и очень медленных) адресных регистров.
Модель 6502 способна выполнять сложение и вычитание в двоичном или десятичном формате . Перевод процессора в режим BCD с помощью команды SED
(установить флаг D) приводит к десятичной арифметике, в которой $99 + $01
приведет к $00 установке и флага переноса (C). В двоичном режиме ( CLD
, очистить флаг D), та же операция приведет к очистке $9A и флага переноса. За исключением Atari BASIC , режим BCD редко использовался в приложениях для домашних компьютеров.
См. Привет, мир! статья на простом, но характерном примере языка ассемблера 6502 .
Инструкции и коды операций
[ редактировать ] инструкций 6502 Коды операций ( коды операций ) имеют длину 8 бит и имеют общий вид AAABBBCC, где AAA и CC определяют код операции, а BBB определяет режим адресации. [78] Например, ORA
Инструкция выполняет побитовое ИЛИ над битами аккумулятора с другим значением. Код операции инструкции имеет вид 000bbb01, где bbb может быть 010 для значения немедленного режима (константы), 001 для фиксированного адреса нулевой страницы, 011 для абсолютного адреса и т. д. [78] Этот шаблон не является универсальным, поскольку существуют исключения, но он позволяет легко преобразовывать значения кода операции в мнемонику ассемблера для большинства инструкций, обрабатывая крайние случаи с помощью специального кода. [78]
Из 256 возможных кодов операций, доступных с использованием 8-битного шаблона, исходный 6502 использует 151 из них, организованных в 56 инструкций с (возможно) несколькими режимами адресации . В зависимости от инструкции и режима адресации код операции может потребовать ноль, один или два дополнительных байта для операндов. Следовательно, длина машинных инструкций 6502 варьируется от одного до трех байтов. [79] [80] Операнд хранится в обычном для 6502 формате с прямым порядком байтов .
65C816 . , 16-битный потомок CMOS 6502, также поддерживает 24-битную адресацию, в результате чего инструкции собираются с трехбайтовыми операндами, также организованными в формате с прямым порядком байтов
Остальные 105 опкодов не определены. В исходной конструкции инструкции, в которых младшие 4 бита ( полубайта ) были 3, 7, B или F, не использовались, оставляя место для будущего расширения. Аналогично, в столбце $2x была только одна запись: LDX #constant
. Оставшиеся 25 пустых мест были розданы. Некоторые из пустых слотов использовались в 65C02 для предоставления как новых инструкций, так и вариаций существующих с новыми режимами адресации. Инструкции $Fx изначально были оставлены свободными, чтобы позволить сторонним поставщикам добавлять свои собственные инструкции, но более поздние версии 65C02 стандартизировали набор инструкций по манипуляции битами, разработанный Rockwell Semiconductor .
Язык ассемблера
[ редактировать ] 6502 Оператор языка ассемблера состоит из трехсимвольной мнемоники инструкции , за которой следуют любые операнды . Инструкции, которые не принимают отдельный операнд, а нацелены на один регистр в зависимости от режима адресации, объединяют целевой регистр в мнемонике инструкции, поэтому ассемблер использует INX
в отличие от INC X
для увеличения регистра X.
Таблица инструкций
[ редактировать ]Матрица кодов операций для набора инструкций 6502 |
---|
Пример кода
[ редактировать ]Следующий ассемблера исходный код 6502 предназначен для подпрограммы с именем TOLOWER
, который копирует завершающуюся нулем, строку символов, из одного места в другое, преобразуя символы прописных букв в буквы нижнего регистра. Копируемая строка является «источником», а строка, в которой сохраняется преобразованный источник, — «назначением».
0080 0080 00 04 0082 00 05 0600 0600 A0 00 0602 B1 80 0604 F0 11 0606 C9 41 0608 90 06 060A C9 5B 060C B0 02 060E 09 20 0610 91 82 0612 C8 0613 D0 ED 0615 38 0616 60 0617 91 82 0619 18 061A 60 061B |
; TOLOWER:
;
; Convert a null-terminated character string to all lower case.
; Maximum string length is 255 characters, plus the null term-
; inator.
;
; Parameters:
;
; SRC – Source string address
; DST – Destination string address
;
ORG $0080
;
SRC .WORD $0400 ;source string pointer
DST .WORD $0500 ;destination string pointer
;
ORG $0600 ;execution start address
;
TOLOWER LDY #$00 ;starting index
;
LOOP LDA (SRC),Y ;get from source string
BEQ DONE ;end of string
;
CMP #'A' ;if lower than UC alphabet...
BCC SKIP ;copy unchanged
;
CMP #'Z'+1 ;if greater than UC alphabet...
BCS SKIP ;copy unchanged
;
ORA #%00100000 ;convert to lower case
;
SKIP STA (DST),Y ;store to destination string
INY ;bump index
BNE LOOP ;next character
;
; NOTE: If Y wraps the destination string will be left in an undefined
; state. We set carry to indicate this to the calling function.
;
SEC ;report string too long error &...
RTS ;return to caller
;
DONE STA (DST),Y ;terminate destination string
CLC ;report conversion completed &...
RTS ;return to caller
;
.END
|
Подробное поведение
[ редактировать ](NMI) процессора немаскируемого прерывания Вход чувствителен к фронту , что означает, что прерывание запускается по заднему фронту сигнала, а не по его уровню. Следствием этой функции является то, что схема прерывания по принципу «проводное ИЛИ» не поддерживается. Однако это также предотвращает возникновение вложенных прерываний NMI до тех пор, пока аппаратное обеспечение снова не сделает вход NMI неактивным, часто под контролем обработчика прерываний NMI .
Одновременное установление линий аппаратного прерывания NMI и IRQ (маскируемых) приводит к игнорированию IRQ. Однако, если линия IRQ остается активной после обслуживания NMI, процессор немедленно ответит на IRQ, поскольку IRQ чувствителен к уровню . Таким образом, в конструкции 6502 был установлен своего рода встроенный приоритет прерываний.
Флаг B устанавливается устройством 6502, периодически производящим выборку выходного сигнала детектора фронта NMI и входа IRQ. Сигнал IRQ, имеющий низкий уровень, распознается только в том случае, если IRQ разрешены флагом I. Если таким образом обнаруживается запрос NMI или (маскируемое) IRQ, флаг B устанавливается в ноль и заставляет процессор выполнять следующую инструкцию BRK вместо выполнения следующей инструкции на основе счетчика программ. [81] [82]
Затем команда BRK помещает состояние процессора в стек, при этом бит флага B устанавливается в ноль. В конце своего выполнения инструкция BRK сбрасывает значение флага B на единицу. Это единственный способ изменить флаг B. Если инструкция, отличная от инструкции BRK, помещает флаг B в стек как часть состояния процессора [83] флаг B всегда имеет значение единица.
Переход от высокого к низкому уровню на входном контакте SO установит бит состояния переполнения процессора. Это можно использовать для быстрого реагирования на внешнее оборудование. Например, драйвер высокоскоростного устройства опроса может опрашивать оборудование только один раз всего за три цикла, используя команду Branch-on-oVerflow-Clear ( BVC
) инструкция, которая разветвляется до самой себя до тех пор, пока переполнение не будет установлено падающим переходом SO. Commodore 1541 и другие Commodore дисководы используют этот метод, чтобы определить, когда сериализатор готов передать еще один байт дисковых данных. Конструкция аппаратного и программного обеспечения системы должна гарантировать, что во время арифметической обработки не возникнет SO и не будет нарушено выполнение вычислений.
Вариации и производные
[ редактировать ]6502 был наиболее производительным вариантом семейства 65xx от MOS Technology .
Модели 6501 и 6502 имеют 40-контактный DIP- корпус; 6503, 6504, 6505 и 6507 представляют собой 28-контактные версии DIP, позволяющие снизить стоимость микросхем и печатных плат. Во всех 28-контактных версиях количество контактов уменьшено за счет исключения некоторых адресных контактов старшего порядка и различных комбинаций функциональных контактов, что делает эти функции недоступными.
Обычно 12 контактов опускаются, чтобы уменьшить количество контактов с 40 до 28, — это три неподключенных контакта (NC), один из двух контактов Vss, один из тактовых контактов, контакт SYNC, контакт установки переполнения (SO), либо маскируемое прерывание, либо немаскируемое прерывание (NMI), а также четыре наиболее значимые адресные строки (A12–A15). Отсутствие четырех адресных контактов уменьшает внешнюю адресацию до 4 КБ (с 64 КБ у 6502), хотя внутренний регистр ПК и все эффективные вычисления адреса остаются 16-битными .
В 6507 отсутствуют оба контакта прерывания, чтобы включить адресную линию A12, что обеспечивает 8 КБ внешней адресации, но не имеет возможности прерывания. 6507 использовался в популярной игровой консоли Atari 2600 , конструкция которой делит пространство памяти размером 8 КБ пополам, отводя нижнюю половину внутренней оперативной памяти и периферийным устройствам консоли, а верхнюю половину - игровому картриджу, поэтому Atari 2600 картриджи имеют ограничение адреса в 4 КБ (и такое же ограничение емкости, если картридж не содержит схемы переключения банков ).
Один популярный компьютер на базе 6502, Commodore 64 , использовал модифицированный процессор 6502, 6510 . В отличие от 6503–6505 и 6507, 6510 представляет собой 40-контактный чип, который добавляет внутреннее оборудование: 6-битный параллельный порт ввода-вывода, сопоставленный с адресами 0000 и 0001. 6508 — это еще один чип, который, как и 6510, добавляет внутренние Аппаратное обеспечение: 256 байт SRAM и 8-битный порт ввода-вывода, аналогичный тем, что есть в 6510. Хотя эти микросхемы не имеют уменьшенного количества контактов по сравнению с 6502, им нужны новые контакты для добавленного параллельного порта ввода-вывода. В этом случае среди удаленных выводов нет адресных линий.
Компания | Модель | Описание |
---|---|---|
6502 | Чип с частотой 1 МГц, использовавшийся в KIM-1 и других одноплатных компьютерах в середине 1970-х годов. | |
6502А | Чип с частотой 1,5 МГц используется в Asteroids Deluxe и с частотой 2 МГц в BBC Micro. | |
6502Б | Версия 6502 способна работать на максимальной частоте 3 МГц вместо 2 МГц. B использовался как в Apple III , так и в ранних 8-битных компьютерах Atari, каждый из которых работал на частоте ~ 1,8 МГц. [с] | |
6502C | «Официальный» 6502C представлял собой версию оригинального 6502, способную работать на частоте до 4 МГц.
Не путать с SALLY, специальной моделью 6502, разработанной для Atari (и иногда называемой ими «6502C»). [84] ), ни с одноименным 65C02 . | |
САЛЛИ, C014806, "6502C" | Пользовательский вариант 6502, разработанный для Atari, используемый в более поздних 8-битных компьютерах Atari и Atari 5200 и Atari 7800 консолях .
Имеет сигнал HALT на контакте 35 и сигнал R/W на контакте 36 (эти контакты не подключены (НЗ) в стандарте 6502). При низком значении HALT тактовый сигнал фиксируется, приостанавливая работу процессора. Это использовалось для обеспечения прямого доступа к памяти видеосхемы (DMA). [85] Хотя в документации Atari его иногда называют «6502C», это не то же самое, что «официальный» 6502C, и сам чип никогда не помечается как таковой. [84] | |
нет | 6503 | Уменьшенная возможность адресации памяти (4 КБ) и отсутствие входа RDY в 28-контактном корпусе DIP (при этом контакты фазы 1 (OUT), SYNC, резервные Vss и SO в 6502 также опущены). [86] |
нет | 6504 | Уменьшенная возможность адресации памяти (8 КБ), отсутствие входа NMI и RDY в 28-контактном корпусе DIP (при этом контакты фазы 1 (OUT), SYNC, резервные Vss и SO в 6502 также опущены). [86] |
нет | 6505 | Уменьшенная возможность адресации памяти (4 КБ) и отсутствие NMI в 28-контактном корпусе DIP (выводы фазы 1 (OUT), SYNC, резервные Vss и SO в 6502 также опущены). [86] |
нет | 6506 | Уменьшенная возможность адресации памяти (4 КБ), отсутствие NMI и входа RDY, но все 3 тактовых контакта 6502 (т. е. 2-фазный выходной тактовый сигнал) в 28-контактном корпусе DIP (с SYNC, резервным Vss, и контакты SO 6502 также опущены). [86] |
нет | 6507 | Уменьшенная возможность адресации памяти (8 КБ) и отсутствие прерываний в 28-контактном корпусе DIP (выводы фазы 1 (OUT), SYNC, резервные Vss и SO в 6502 также опущены). [86] Этот чип использовался в Atari 2600 игровой системе . |
нет | 6508 | Имеет встроенный 8-битный порт ввода/вывода и 256 байт внутренней статической оперативной памяти. |
нет | 6509 | Может адресовать до 1 МБ ОЗУ в виде 16 банков по 64 КБ и использовался в серии Commodore CBM-II . |
нет | 6510 | Имеет встроенный 6-битный программируемый порт ввода/вывода и использовался в Commodore 64 . 8500 фактически является версией HMOS 6510 и заменил ее в более поздних версиях C64. |
нет | 6512 6513 6514 6515 |
Каждая из технологий MOS 6512, 6513, 6514 и 6515 опирается на внешнюю тактовую частоту вместо использования внутреннего тактового генератора, такого как 650x (например, 6502). Это использовалось в некоторых проектах, где часы могли работать асимметрично, увеличивая общую производительность процессора.
6512 — это 6502 с двухфазным тактовым входом для внешнего тактового генератора вместо встроенного тактового генератора. [86] 6513, 6514 и 6515 аналогично эквивалентны (соответственно) 6503, 6504 и 6505 с тем же двухфазным тактовым входом. [86] 6512 использовался в BBC Micro B+64 . |
Рико | РП2А03 РП2А07 |
Нелицензионные варианты 6502, работающие на частоте 1,8 МГц. [с] включая блок обработки звука, но без режима BCD, используемого в Nintendo Entertainment System . |
нет | 6591 6592 |
Система на кристалле , в которой используется полная версия Atari 2600 в 48-контактном DIP-корпусе. [87] [88] |
МЦД | 65C02 | CMOS- версия NMOS 6502, разработанная Биллом Меншем из Western Design Center (WDC), отличающаяся пониженным энергопотреблением, поддержкой гораздо более высоких тактовых частот, новыми инструкциями, новыми режимами адресации для некоторых существующих инструкций и исправлением ошибок NMOS. такие как JMP ($xxFF) ошибка.
|
КСГ, МОС | 65CE02 | Вариант КМОП, разработанный Commodore Semiconductor Group (CSG), ранее называвшейся MOS Technology. 65CE02 обеспечивает дополнительный расширенный набор команд по сравнению с 65C02, включающий третий индексный регистр (Z), регистр базовой страницы, 16-битный стек и более быстрое выполнение программы с минимальным временем выполнения команды, уменьшенным с 2 до 1 тактового цикла. |
Роквелл | R6511Q Р6500/11, Р6500/12, Р6500/15 « Однокристальные микрокомпьютеры » |
Расширенные версии процессора на базе 6502, включающие также отдельные операции манипуляции с битами (RMB, SMB, BBR и BBS), встроенную 192-байтовую оперативную память с нулевой страницей, UART и т. д. [89] [90] |
Роквелл | Р65Ф11 Р65Ф12 |
Rockwell R65F11 (представленный в 1983 году) и более поздний R65F12 представляют собой расширенные версии процессора на базе 6502, также включающие отдельные операции манипуляции с битами (RMB, SMB, BBR и BBS), встроенное ОЗУ с нулевой страницей, встроенный Forth. ПЗУ ядра, UART и т. д. [91] [92] [93] [94] [95] |
ГТД | G65SC12 | Добавлен вариант 6502 CMOS без отдельных операций манипуляции битами (RMB, SMB, BBR и BBS). [96] Это использовалось в BBC Master . |
ГТД | G65SC102 | Программное обеспечение совместимо с 6502, но имеет немного другую распиновку и схему генератора. BBC Master Turbo включал версию этого процессора с тактовой частотой 4 МГц на карте сопроцессора, которую также можно было купить отдельно и добавить к Master 128. |
Роквелл | Р65К00 Р65С21 Р65С29 |
R65C00, R65C21 и R65C29 имеют две улучшенные CMOS 6502 в одной микросхеме, а R65C00 и R65C21 дополнительно содержат 2 КБ ПЗУ, программируемого по маске. [97] [98] |
СМ630 | с частотой 1 МГц Клон 6502 Восточного блока , который использовался в Pravetz 8A и 8C, болгарских клонах Apple II . [99] | |
нет | 7501 8501 |
Варианты 6510 (улучшенный 6502), представленные в 1984 году. [100] Они увеличили количество контактов порта ввода-вывода с 6 до 7, но опустили контакты для немаскируемого прерывания и тактового выхода. [101] Используется в компьютерах Commodore C-16 , C-116 и Plus/4 . Основное различие между процессорами 7501 и 8501 заключается в том, что 7501 был изготовлен с использованием процесса HMOS -1, а 8501 - с использованием HMOS-2. [100] |
нет | 8500 | Представлен в 1985 году как версия HMOS модели 6510 (которая, в свою очередь, основана на модели 6502). За исключением модификации процесса, 8500 практически идентичен версии 6510 с NMOS . Он заменил 6510 в более поздних версиях Commodore 64 . |
нет | 8502 | Разработан компанией MOS Technology и используется в Commodore 128 . Основанный на MOS 6510, использованном в Commodore 64, 8502 мог работать с удвоенной тактовой частотой по сравнению с 6510. [102] В семейство 8502 также входят MOS 7501, 8500 и 8501. |
Хадсон Софт | HuC6280 | японской компании видеоигр Hudson Soft Улучшенная версия WDC 65C02 от . Изготовлено для них Seiko Epson и NEC для SuperGrafx . Самым известным продуктом, использующим HuC6280, является игровая консоль NEC TurboGrafx-16. |
СБИС | ВЛ65NC02 [103] | Лицензионный вариант VLSI 65C02 был включен в основную системную микросхему Atari Lynx под названием Mikey. |
16-битные производные
[ редактировать ]Западный центр дизайна разработал и в настоящее время производит процессор WDC 65C816 S, 16-разрядный процессор со статическим ядром, преемник 65C02 . W65C816S — это новый вариант 65C816, который является ядром компьютера Apple IIGS и основой процессора Ricoh 5A22 , который используется в Super Nintendo Entertainment System . W65C816S включает в себя незначительные улучшения по сравнению с 65C816, которые делают новый чип не точной аппаратно-совместимой заменой предыдущего. Среди этих улучшений был переход на статическое ядро, которое позволяет останавливать тактовую частоту на любой фазе без потери данных в регистрах. W65C816S, доступный через дистрибьюторов электроники, с марта 2020 года официально рассчитан на работу на частоте 14 МГц.
Западный центр дизайна также разработал и произвел 65C802 , который представлял собой ядро 65C816 с адресным пространством 64 килобайта в корпусе, совместимом по выводам 65(C)02. 65C802 можно было установить на плату 6502, и при включении питания он работал бы как 65C02, работая в «режиме эмуляции». Как и в случае с 65C816, последовательность из двух инструкций переключит 65C802 в «собственный режим», открывая доступ к его 16-битному аккумулятору и индексным регистрам , а также к другим функциям 65C816. 65С802 не получил широкого распространения, и производство было прекращено.
Баги и странности
[ редактировать ]У 6502 было несколько ошибок и особенностей, которые необходимо было учитывать при его программировании:
- Самые ранние версии 6502, например, поставляемые с некоторыми компьютерами KIM-1 , не имели инструкции ROR (поворот правой памяти или аккумулятора). Операция ROR в этих микросхемах фактически представляет собой инструкцию ASL (арифметический сдвиг влево), которая не влияет на бит переноса в регистре состояния. MOS полностью исключила эту инструкцию из документации по чипам, пообещав, что ROR появится на чипах 6502, начиная с 1976 года. [49] [д] Подавляющее большинство существующих сегодня чипов 6502 не обладают этой особенностью.
- Семейство NMOS 6502 имеет множество недокументированных инструкций , которые варьируются от одного производителя чипов к другому. Декодирование инструкций 6502 реализовано в виде жестко зашитой логической матрицы (аналогично программируемой логической матрице ), которая определена только для 151 из 256 доступных кодов операций . Остальные 105 вызывают странные и порой труднопредсказуемые действия, такие как сбой процессора, последовательное выполнение двух допустимых инструкций, выполнение странных смесей двух инструкций или просто ничего не делается. Компания Eastern House Software разработала «Trap65», устройство, которое подключалось между процессором и его разъемом для преобразования (перехвата) нереализованных кодов операций в инструкции BRK (программное прерывание). [ нужна ссылка ] Некоторые программисты использовали эту функцию для расширения набора команд 6502, обеспечивая функциональность нереализованных кодов операций с помощью специально написанного программного обеспечения, перехватываемого вектором 0xFFFE инструкции BRK. [104] [105] Все неопределенные коды операций были заменены инструкциями NOP в 65C02 , расширенной версии CMOS 6502, хотя и с разными размерами байтов и временем выполнения. В 65C802/65C816 все 256 кодов операций выполняют определенные операции.
- 6502 Команда косвенного перехода из памяти ,
JMP (<address>)
, частично сломан. Если <адрес> имеет шестнадцатеричное значение xxFF (т. е. любое слово, оканчивающееся на FF ), процессор не перейдет по адресу, хранящемуся в xxFF , иxxFF+1
как и ожидалось, а скорее тот, который определен xxFF и xx00 (например,JMP ($10FF)
перейдет к адресу, хранящемуся в 10FF и 1000, вместо адреса, хранящегося в 10FF и 1100). Этот дефект сохранялся во всей линейке NMOS, но был исправлен в производных CMOS. - Индексированная адресация NMOS 6502 через границы страницы будет выполнять дополнительное чтение недопустимого адреса. Эта характеристика может вызвать случайные проблемы при доступе к оборудованию, которое действует при чтении, например, при очистке таймера или флагов IRQ, отправке подтверждения ввода-вывода и т. д. Этот дефект сохранялся на протяжении всей линейки NMOS, но был исправлен в производных CMOS, в при котором процессор выполняет дополнительное чтение последнего байта инструкции.
- 6502 Инструкции чтения-изменения-записи выполняют один цикл чтения и два цикла записи. Сначала немодифицированные данные, которые были прочитаны, записываются обратно, а затем записываются измененные данные. Эта характеристика может вызвать проблемы при двойном доступе к оборудованию, которое выполняет запись. Эта аномалия продолжалась во всей линейке NMOS, но была исправлена в производных CMOS, в которых процессор выполняет два цикла чтения и один цикл записи. Практика защитного программирования обычно позволяет избежать этой проблемы, не выполняя инструкции чтения/изменения/записи аппаратных регистров.
- N (отрицательный результат), V (переполнение знакового бита) и Z (нулевой результат) Флаги состояния обычно бессмысленны при выполнении арифметических операций, когда процессор находится в режиме BCD , поскольку эти флаги отражают двоичный, а не BCD-результат. Это ограничение было снято в производных КМОП. Следовательно, эту функцию можно использовать, чтобы отличить процессор CMOS от версии NMOS. [106]
- Если 6502 окажется в двоично-десятичном режиме при возникновении аппаратного прерывания, он не вернется в двоичный режим. Эта особенность может привести к неявным ошибкам в процедуре обслуживания прерываний, если ей не удастся очистить режим BCD перед выполнением каких-либо арифметических операций. Например, Commodore 64 KERNAL во время неправильно обрабатывал эту характеристику процессора, требуя IRQ отключения или перенаправления математических операций BCD. Эта проблема также была решена в производных КМОП.
- Набор команд 6502 включает BRK (код операции $00), который технически является программным прерыванием (по духу схожим с мнемоникой SWI процессоров Motorola 6800 и ARM ). BRK чаще всего используется для прерывания выполнения программы и запуска монитора машинного языка для тестирования и отладки во время разработки программного обеспечения. BRK также можно использовать для маршрутизации выполнения программы с использованием простой таблицы переходов (аналогично тому, как Intel 8086 и его производные обрабатывают программные прерывания по номерам). Однако если происходит аппаратное прерывание , когда процессор получает инструкцию BRK, версия процессора NMOS не сможет выполнить BRK и вместо этого продолжит работу, как если бы произошло только аппаратное прерывание. Эта ошибка была исправлена в реализации CMOS процессора.
- При выполнении инструкций JSR (переход к подпрограмме) и RTS (возврат из подпрограммы) адрес возврата, помещаемый в стек JSR, соответствует последнему байту операнда JSR (то есть самому значимому байту адреса подпрограммы). а не адрес следующей инструкции. Это связано с тем, что фактическое копирование (из счетчика программы в стек и обратно) происходит до автоматического увеличения счетчика программы, которое происходит в конце каждой инструкции. [107] Эта характеристика осталась бы незамеченной, если бы код не проверял адрес возврата с целью получения параметров в потоке кода (идиома программирования 6502, описанная в Техническом справочном руководстве ProDOS 8 ). Это остается характеристикой 6502 деривативов и по сей день.
- Доступ к чтению ЦП можно отложить, временно установив на выводе RDY низкий уровень. Однако во время доступа к записи, который может занять до трех тактов для инструкции BRK, ЦП остановится только в следующем цикле чтения. [108] Эта особенность была исправлена в производных CMOS, а также в 6510 и его вариантах.
См. также
[ редактировать ]- Список 6502 ассемблеров
- Домашние компьютеры на базе MOS Technology 6502
- Количество транзисторов
- Ускорители Apple II
- cc65 – макроассемблер 6502 и компилятор C
Примечания
[ редактировать ]- ^ Одним из примеров такой конструкции были 8-битные компьютеры Atari , которые используют DMA для разделения памяти между 6502 и видеочипом ANTIC. Это было реализовано с помощью одного триггера, который позже был встроен в специальные версии 6502 «Салли», используемые в этих машинах. [45]
- ^ Поскольку код OP все еще что-то делал в исходной версии процессора, но не правильную инструкцию ROR, это вызвало устойчивый миф о том, что в исходной версии процессора 6502 была ошибка в инструкции ROR. [50] [51] [52]
- ^ Jump up to: а б Точнее, эти системы внутренне делят главный тактовый генератор NTSC на восемь, что дает 315/176 = МГц 1,78977 27 МГц
- ^ Эрик Шлепфер, построивший транзисторную копию 6502 на сайте monster6502.com, в своем видео на Youtube «Миф о повороте вправо 6502» (от TubeTimeUS) утверждает, что, по мнению Чака Педдла и Билла Менша, ошибки ROR не было. Вместо этого инструкция вообще не была реализована, поскольку была сочтена ненужной. Затем Шлепфер сравнивает снимки экрана ранней версии с более поздними версиями 6502 и доказывает, что инструкция ROR не присутствовала ни в декодирующих инструкциях, ни в проводных, ни в исполнительных частях чипа.
Ссылки
[ редактировать ]Цитаты
[ редактировать ]- ^ «MOS 6502 и лучший верстальщик в мире» . swtch.com. 03 января 2011 г. Архивировано из оригинала 8 сентября 2014 г. Проверено 9 августа 2014 г.
- ^ «MONSter6502 Полная работающая копия классического микропроцессора MOS 6502 на дискретных транзисторах (т.е. не интегрированная в один кристалл) . monster6502.com. 2017. Архивировано из оригинала 12 мая 2017 г. Проверено 1 мая 2017 г.
- ^ Jump up to: а б Уильям Менш (9 октября 1995 г.). «Интервью с Уильямом Меншем» (Интернет-видео). Беседовал Роб Уокер. Атертон, Калифорния: Проект «Кремниевый генезис» , Библиотеки Стэнфордского университета. Архивировано из оригинала 4 марта 2016 года . Проверено 22 декабря 2023 г. Уильям Менш и модератор оба произносят микропроцессор 6502 как «шестьдесят пять-два» .
- ^ «Центр западного дизайна (WDC), где разрабатываются микропроцессорные технологии 65xx» . www.westerndesigncenter.com . Архивировано из оригинала 08 апреля 2019 г. Проверено 08 апреля 2019 г.
- ^ «Motorola подает в суд на технологию MOS» (PDF) . Микрокомпьютерный дайджест . 2 (6). Купертино, Калифорния: Microcomputer Associates: 11 декабря 1975 г. Архивировано из оригинала (PDF) 4 июля 2009 г.
- ^ Дженкинс, Фрэнсис; Лейн, Э.; Латтин, В.; Ричардсон, В. (ноябрь 1973 г.). «Моделирование МОП-устройств для компьютерной реализации». Транзакции IEEE по теории цепей . 20 (6). ИИЭР: 649–658. дои : 10.1109/tct.1973.1083758 . ISSN 0018-9324 . Все авторы работали в подразделении полупроводниковой продукции Motorola.
- ^ «Motorola присоединяется к гонке микропроцессоров с 8-битной записью». Электроника . 47 (5). Нью-Йорк: МакГроу-Хилл: 29–30. 7 марта 1974 года.
- ^ Устная история Motorola 6800 (2008), с. 9
- ^ US3942047A , Бьюкенен, Джон К., «МОП-схема повышения напряжения постоянного тока», выпущено 2 марта 1976 г. Архивировано 13 февраля 2024 г. в Wayback Machine.
- ^ US3987418A , Бьюкенен, Джон К., «Топография микропроцессора MOS с интегральной схемой», выпущено 19 октября 1976 г. Архивировано 13 февраля 2024 г. в Wayback Machine.
- ^ Устная история Motorola 6800 (2008), с. 8
- ^ Устная история Менша (1995) Менш получил степень младшего специалиста в Университете Темпл в 1966 году, а затем работал в Philco Ford техником-электронщиком, прежде чем поступить в Университет Аризоны.
- ^ US3968478A , младший, Уильям Д. Менш, «Топография кристалла для схемы интерфейса МОП», выдано 6 июля 1976 г. Архивировано 13 февраля 2024 г. в Wayback Machine.
- ^ Донохью, Джеймс Ф. (27 октября 1988 г.). «Микропроцессор первые два десятилетия: как это было». ЭДН . 33 (22А). Издательство Канерс: 18–32. ISSN 0012-7515 . Страница 30. Беннетт уже работал над тем, что впоследствии стало 6800. «Он нанял меня, — говорит Педдл о Беннетте, — чтобы я занимался архитектурной поддержкой продукта, который он уже начал». … говорит Педдл. «Motorola несколько раз пыталась уничтожить его. Без Беннета 6800 не было бы, как и многих других предприятий отрасли».
- ^ US3975712A , Хепворт, Эдвард К.; Минс, Родни Дж. и Педдл, Чарльз И., «Адаптер интерфейса асинхронной связи», выпущено 17 августа 1976 г. Архивировано 13 февраля 2024 г. в Wayback Machine.
- ^ Моторола (5 августа 1976 г.). «Они остаются впереди с семейством Motorola M6800» . Электроника . 49 (16). McGraw-Hill: 51. Архивировано из оригинала 10 января 2014 года . Проверено 4 июня 2012 г. Реклама, показывающая три встроенных приложения от TRW, HP и RUSCO.
- ^ Устная история Motorola 6800 (2008), с. 89
- ^ «Это все семейство продуктов» . Электроника . 48 (1). Нью-Йорк: McGraw Hill: 37. 9 января 1975. Архивировано из оригинала 11 ноября 2012 года . Проверено 4 июня 2012 г. Реклама Motorola, подчеркивающая полный набор периферийных микросхем и инструментов разработки. Это сократило цикл проектирования продукта клиента.
- ^ Устная история Motorola 6800 (2008), с. 18
- ^ «Набор микропроцессоров Motorola - n-MOS 1 МГц». Техника управления . 21 (11): 11 ноября 1974 г. Цена микропроцессора MC6800 составляла 360 долларов. Адаптер асинхронного интерфейса связи MC6850 (ACIA) планировалось представить в первом квартале 1975 года.
- ^ Кэй, Глиннис Томпсон, изд. (1984). Революция в процессе: история Intel до настоящего времени (PDF) . Корпорация Интел. п. 14. Номер заказа: 231295. Архивировано из оригинала (PDF) 23 октября 2012 года . Проверено 30 декабря 2016 г. «Шима реализовала 8080 примерно за год, а новое устройство было представлено в апреле 1974 года по цене 360 долларов».
- ^ «Motorola устанавливает привод M6800». Электроника . 48 (8). Нью-Йорк: McGraw-Hill: 25. 17 апреля 1975 г. «Дистрибьюторы снабжаются семейством M6800, и подразделение также предлагает вводный комплект, включающий шесть начальных частей семейства, а также приложения и руководства по программированию, за 300 долларов. "
- ^ Интервью 2014 , 52:30.
- ^ Интервью 2014 , 54:45.
- ^ Бэгналл (2010), с. 11. Новое предложение Peddle пришло в подходящий момент для разработчиков 6800. «Они не хотели ехать в Остин, штат Техас», — объясняет Менш.
- ^ Интервью 2014 , 54:40.
- ^ Интервью 2014 , 55:50.
- ^ Уоллер, Ларри (13 ноября 1975 г.). «Моторола стремится положить конец заносу». Электроника . 48 (23). Нью-Йорк: МакГроу-Хилл: 96–98. Краткое описание: Полупроводниковая продукция разделена на две части: интегральные схемы и дискретные компоненты. Убытки полупроводников за последние четыре квартала превысили 30 миллионов долларов. Сбытовая организация потеряла чувствительность к нуждам клиентов: «задержки с реакцией на снижение цен означали, что клиенты покупали в другом месте». Технические проблемы преследовали производство микросхем. Проблемы «не в конструкции, а в производительности чипов и кристаллов». Проблемы решены. Микропроцессор MC6800 «появился в ноябре 1974 года».
- ^ Интервью 2014 , 56:30.
- ^ Интервью 2014 , 55:00.
- ^ Бэгналл (2010), с. 13.
- ^ МОП-технология (14 ноября 1974 г.). «Первые однокристальные массивы научных калькуляторов» . Электроника . 47 (23). МакГроу-Хилл: 90–91. Архивировано из оригинала 10 января 2014 года . Проверено 4 июня 2012 г.
- ^ Интервью 2014 , 57:00.
- ^ Интервью 2014 , 58:30.
- ^ Касс, Стивен (16 сентября 2021 г.). «Вопросы и ответы с соавтором процессора 6502» . IEEE-спектр . Архивировано из оригинала 20 сентября 2021 года . Проверено 20 сентября 2021 г.
- ^ Хо, Джошуа (9 октября 2014 г.). «Введение в физику, технологию и промышленность полупроводников» . Анандтех . Архивировано из оригинала 24 февраля 2020 года . Проверено 24 февраля 2020 г. .
- ^ Устная история Motorola 6800 (2008), с. 10.
- ^ Jump up to: а б с Кушман 1975 , с. 40.
- ^ «Микропроцессор 8080А – корпус DIP 40» . Мир процессоров . Архивировано из оригинала 15 сентября 2020 г. Проверено 24 февраля 2020 г.
- ^ Jump up to: а б Кушман 1975 , с. 38.
- ^ Jump up to: а б «Основные этапы закона Мура» . ИИЭЭ . 30 апреля 2015 г. Архивировано из оригинала 24 февраля 2020 г. Проверено 24 февраля 2020 г.
- ^ Бэгналл (2010), с. 19: «Пайвинен пообещал Педдлу, что подготовит n-канальный процесс. Он сдержал свое слово».
- ^ Jump up to: а б с Кушман 1975 , с. 36.
- ^ Jump up to: а б с Кушман 1975 , с. 41.
- ^ Пуркару, Джон (2014). Игры против оборудования. История компьютерных видеоигр: 80-е . п. 317.
- ^ Интервью 2014 г. , 1:01:00.
- ^ Интервью 2014 г. , 1:02:00.
- ^ Интервью 2014 г. , 1:02:30.
- ^ Jump up to: а б Файл:Набор инструкций MCS650x.jpg
- ^ «Измерение ошибки ROR в ранней версии MOS 6502 – pagetable.com» . Архивировано из оригинала 21 марта 2023 г. Проверено 25 февраля 2023 г.
- ^ «Как проверить керамику 6502 на наличие ошибки ROR? | Applefritter» . Архивировано из оригинала 25 февраля 2023 г. Проверено 25 февраля 2023 г.
- ^ «Миф о повороте вправо 6502» . Ютуб . Архивировано из оригинала 25 февраля 2023 г. Проверено 25 февраля 2023 г.
- ^ «Линейка микропроцессоров предлагает 4, 8, 16 бит». Электроника . 48 (15). Нью-Йорк: McGraw-Hill: 118. 24 июля 1975 г. В статье рассматриваются 6501 и 6502, а также 28-контактные версии, которые поддерживают только 4 КБ памяти. В нем также обсуждались будущие устройства, такие как «дизайн, который Педдл называет псевдо 16».
- ^ Шугармен, Роберт (25 августа 1975 г.). «Нужен ли стране хороший микропроцессор за 20 долларов ?» (PDF) . ЭЭ Таймс . Манхассет, Нью-Йорк: Публикации CMP: 25. Архивировано из оригинала (PDF) 3 февраля 2007 г. . Проверено 5 февраля 2008 г.
- ^ Филстра, Дэниел (ноябрь 1975 г.). «Сын Моторолы (или процессорный чип за 20 долларов )». Байт . 1 (3). Питерборо, Нью-Хэмпшир: Green Publishing: 56–62. Сравнение микропроцессоров 6502 и 6800. Автор посетил MOS Technology в августе 1975 года.
- ^ «Микропроцессор 3-го поколения» (PDF) . Микрокомпьютерный дайджест . 2 (2). Купертино, Калифорния: Microcomputer Associates : 1–3. Август 1975 г. Архивировано из оригинала (PDF) 4 июля 2009 г. Проверено 27 ноября 2009 г.
- ^ «Микропроцессор MOS 6501 превосходит их всех». Электроника . 48 (16). Нью-Йорк: МакГроу-Хилл: 60–61. 7 августа 1975 года.
- ^ «MOS 6502 — второй из семейства недорогих высокопроизводительных микропроцессоров» . Компьютер . 8 (9). Компьютерное общество IEEE: 38–39. Сентябрь 1975 г. doi : 10.1109/CM.1975.219074 . Архивировано из оригинала 24 февраля 2021 г. Проверено 4 июня 2012 г.
- ^ Бэгналл (2010), стр. 33–35.
- ^ Сигнетика (30 октября 1975 г.). «Самый простой в использовании микропроцессор» . Электроника . 48 (22). МакГроу-Хилл: 114–115. Архивировано из оригинала 20 ноября 2015 года . Проверено 20 ноября 2015 г.
- ^ Моторола (30 октября 1975 г.). «Все это и отдельный за 69 долларов микропроцессор » . Электроника . 48 (22). McGraw-Hill: 11. Архивировано из оригинала 15 декабря 2011 года . Проверено 8 августа 2010 г. Цена одной партии MC6800 была снижена со 175 до 69 долларов . Предыдущая цена за 50–99 единиц составляла 125 долларов .
- ^ Уоллер, Ларри (13 ноября 1975 г.). «Сводка новостей: Motorola стремится остановить врага-микропроцессора» . Электроника . 48 (23). Нью-Йорк: McGraw-Hill: 38. «На прошлой неделе компания Motorola заявила, что будет добиваться немедленного судебного запрета, чтобы запретить компании MOS Technology Inc., Норристаун, Пенсильвания, производить и продавать микропроцессорную продукцию, включая ее MCS6500». (Этот номер вышел 7 ноября.)
- ^ Motorola получила следующие патенты США на семейство микропроцессоров 6800: 3962682, 3968478, 3975712, 3979730, 3979732, 3987418, 4003028, 4004281, 4004283, 4006457, 4010448, 4016546, 4020472, 4030079, 4032896, 4037204, 4040035, 4069510, 4071887, 4086627, 4087855, 4090236, 4145751, 4218740, 4263650.
- ^ Бэгналл (2010), с. 53–54. «Он [Майк Джейнс] хранил все свои оригинальные работы с 6800 и скрывал их от Motorola…
- ^ «Motorola и MOS Technology урегулировали патентный иск» . Электроника . 49 (7). Нью-Йорк: McGraw-Hill: 39. 1 апреля 1975 г. «MOS Technology Inc. из Норристауна, Пенсильвания согласилась отозвать с рынка свой микропроцессор MCS6501 и выплатить Motorola Inc. 200 000 долларов …» «MOS Technology и восемь бывшие сотрудники Motorola вернули по решению суда документы, которые, по утверждению Motorola, являются конфиденциальными». «…обе компании согласились на перекрестную лицензию на патенты в области микропроцессоров».
- ^ Бэгналл (2010), стр. 55-56.
- ^ «Слияния и поглощения». Мини-микросистемы . 9 (11). Канерс: 19 ноября 1976 г. «Commodore International… покупает MOS Technology (Норристаун, Пенсильвания). Это спасает шестилетний полупроводниковый дом от надвигающейся катастрофы».
- ^ Jump up to: а б Гудвинс, Руперт (4 декабря 2010 г.). «Жертвы Intel: восемь потенциальных убийц-гигантов» . ЗДНет . Архивировано из оригинала 5 мая 2013 года . Проверено 7 марта 2012 г.
- ^ Реймер, Джереми. «Доля рынка персональных компьютеров: 1975–2004 гг.» . Архивировано из оригинала 6 июня 2012 года . Проверено 17 июля 2009 г.
- ^ «Сколько компьютеров Commodore 64 было продано?» . Архивировано из оригинала 06 марта 2016 г. Проверено 1 февраля 2011 г.
- ^ «Комплект расширения Apple IIe — Периферийные устройства — История вычислений» . www.computinghistory.org.uk . Архивировано из оригинала 08 августа 2020 г. Проверено 23 октября 2023 г.
- ^ «4. ЦП/ПЗУ» . www.monlynx.de . Архивировано из оригинала 20 сентября 2023 г. Проверено 23 октября 2023 г.
- ^ Кордер, Майк (весна 1999 г.). «Большие вещи в маленьких упаковках» . Прогресс пионеров с технологией picoJava . Сан Микроэлектроника. Архивировано из оригинала 12 марта 2006 г. Проверено 23 апреля 2012 г.
Первый 6502 был изготовлен по 8-микронной технологии, работал на частоте 1 мегагерц и имел максимальную память 64 КБ.
- ^ «Как реализовать совместное использование шины/DMA в системе 6502» . Архивировано из оригинала 15 августа 2020 г. Проверено 30 сентября 2020 г.
- ^ «ПРОГРАММИРУЮЩАЯ МОДЕЛЬ MCS650X». РУКОВОДСТВО ПО ПРОГРАММИРОВАНИЮ МОП-МИКРОКОМПЬЮТЕРОВ . MOS TECHNOLOGY, INC. Январь 1976 г.
- ^ «Флаги состояния» . NESdev Wiki . Проверено 11 июня 2024 г.
- ^ «8080A/8080A-1/8080A-2 8-битный N-канальный микропроцессор» (PDF) . Интел. Архивировано (PDF) из оригинала 15 ноября 2021 г. Проверено 16 ноября 2021 г.
- ^ Jump up to: а б с Паркер, Нил. «Раскодированный набор команд 6502/65C02/65C816» . Страница Apple II Нила Паркера . Архивировано из оригинала 16 июля 2019 г. Проверено 16 июля 2019 г.
- ^ Набор инструкций 6502. Архивировано 8 мая 2018 г. на Wayback Machine .
- ^ Коды операций NMOS 6502 . Архивировано 14 января 2016 г. в Wayback Machine .
- ^ Breaking NES Book - 6502 Core (PDF) (изд. B5). 24 июня 2022 г. стр. 61–62. Архивировано (PDF) из оригинала 12 апреля 2024 г. Проверено 24 декабря 2023 г.
Поступление любого прерывания отражается на флаге B, выход которого (B_OUT) заставляет процессор выполнить инструкцию BRK...
- ^ «6502 BRK и бит B» . Визуальные чипы . Архивировано из оригинала 5 апреля 2021 г. Проверено 15 мая 2021 г.
- ^ «ФЛАГИ» . огеймспек . Проверено 15 мая 2021 г.
Б_ВЫХ; ВНУТРЕННЯЯ ШИНА ДАННЫХ (DB)
- ^ Jump up to: а б «Часто задаваемые вопросы 400 800 XL XE: Что такое САЛЛИ, ANTIC, CTIA/GTIA/FGTIA, POKEY и FREDDIE?» . Архивировано из оригинала 19 июля 2020 года.
Инженеры Atari назвали его САЛЛИ, но [в сопроводительных документах оно называется] «6502 (Модифицированный)», «6502 Модифицированный», «Пользовательский 6502» или «6502C». [..] Чипы SALLY 6502 никогда не имеют маркировки «6502C», но, за исключением UMC UM6502I, всегда [маркируются] C014806. [..] [Другие] чипы с маркировкой «6502C» [..] НЕ являются Atari «6502C», а [стандарт 6502], сертифицированный для 4 МГц
- ^ «6502 (модифицированный) Микропроцессор ЦП». РУКОВОДСТВО ПО ПОЛЕВОМУ ОБСЛУЖИВАНИЮ ДОМАШНЕГО КОМПЬЮТЕРА ATARI 1200 XL . АТАРИ. Февраль 1983 года.
- ^ Jump up to: а б с д и ж г Каталог данных MOS-технологий 1982 г. (PDF получен с сайта bitsavers.org)
- ^ «AtariAge: клон A2600, распиновка чипа 6591» . 3 августа 2015 г. Архивировано из оригинала 05 августа 2020 г. Проверено 22 июля 2019 г.
- ^ «Hackaday: самая маленькая Atari 2600» . 7 апреля 2012 г. Архивировано из оригинала 22 июля 2019 г. Проверено 22 июля 2019 г.
- ^ «Роквелл R6511Q» . Архивировано из оригинала 15 сентября 2020 года . Проверено 30 апреля 2020 г.
- ^ «Однокристальные микрокомпьютеры Rockwell R6500/11, R6500/12 и R6500/15» . 7 июня 1987 года. Архивировано из оригинала 4 августа 2020 года . Проверено 30 апреля 2020 г.
- ^ Рэнди М. Дамсе. «Однокристальные компьютеры R65F11 и F68K Forth». [1] [ постоянная мертвая ссылка ] [2] Архивировано 2 декабря 2014 г. в Wayback Machine. 1984.
- ^ Эд Шмаух. «Компьютеризированная система мониторинга коррозии» [ постоянная мертвая ссылка ] . 1986.
- ^ Лоуренс П. Форсли. «Встроенные системы: Четвертая конференция Рочестера 1990 г.: 12–16 июня 1990 г., Рочестерский университет». Архивировано 25 марта 2015 г. в Wayback Machine . п. 51.
- ^ Роквелл. «Руководство пользователя RSC-Forth». Архивировано 7 декабря 2013 г. на Wayback Machine . 1983.
- ^ «Микрокомпьютеры Rockwell R65F11 R65F12 на базе Форта» (PDF) . Июнь 1987 г. Архивировано (PDF) из оригинала 4 августа 2020 г. Проверено 28 апреля 2020 г.
- ^ Zaks, Rodnay. Programming the 6502 . p. 348.
- ^ «Arquivo.pt» (PDF) . Архивировано из оригинала (PDF) 15 мая 2016 г. Проверено 26 октября 2014 г.
- ^ «rockwell :: dataBooks :: Rockwell Data Book 1985» - через Интернет-архив.
- ^ «Восточно-европейский домашний компьютер: Болгария» . HCM: Музей домашних компьютеров . Архивировано из оригинала 1 июля 2006 года . Проверено 3 октября 2020 г. .
- ^ Jump up to: а б http://plus4world.powweb.com/hardware/MOS_75018501 Архивировано 20 февраля 2020 г. в Wayback Machine Hardware – MOS 7501/8501.
- ^ https://ist.uwaterloo.ca/~schepers/MJK/7501.html. Архивировано 19 июля 2021 г. на процессоре Wayback Machine 7501/8501.
- ^ Руководство по обслуживанию компьютера C-128/C128D , Commodore Business Machines, PN-314001-08, ноябрь 1987 г.
- ^ «ВЛ65NC02». Технический паспорт микросхемы: 1988 VTI ASIC . стр. 225–238.
- ^ Мозер, Карл В. (январь 1979 г.). «Добавьте вектор-ловушку для нереализованных кодов операций 6502» (PDF) . Журнал доктора Добба по компьютерной гимнастике и ортодонтии . № 31. Менло-Парк, Калифорния. п. 32. Архивировано (PDF) из оригинала 11 июня 2016 г. Проверено 7 января 2017 г.
- ^ Харрод, Деннетт А. (октябрь 1980 г.). «6502 получает микропрограммируемые инструкции» . БАЙТ . Том. 5, нет. 10. Питерборо, Нью-Гэмпшир. п. 282 . Проверено 7 января 2017 г.
- ^ Драко (19 июня 1997 г.). «65c02, 6502, 65816 ??? Процессор продается, но кто покупает…» Архивировано из оригинала 2 января 2008 г.
- ^ Эндрюс, Марк (1984). «6» . Корни Atari — Руководство по языку ассемблера Atari . Датамост, Корпорация. ISBN 0-88190-171-7 . Архивировано из оригинала 24 апреля 2008 г. Проверено 14 июня 2008 г.
- ^ «1.4.1.2.8 RDY — Готов (стр. 37)». Руководство по аппаратному обеспечению серии 6500; 2-е изд . MOS Technology, INC. Январь 1976 г.
Библиография
[ редактировать ]- Педдл, Чак (12 июня 2014 г.). «Устная история Чака Педдла» (интервью). Беседовали Дуг Фэйрберн и Стивен Даймонд. Архивировано из оригинала 18 ноября 2021 г.
- Бэгналл, Брайан (2010). Commodore, компания на грани (2-е изд.). Виннипег, Манитоба: Вариант Пресс. ISBN 978-0-9738649-6-0 .
- Беннетт, Томас; Экисс, Джон; Латтин, Уильям (Билл); Лавелл, Джефф (28 марта 2008 г.). «Панель устной истории Motorola 6800» (PDF) (интервью). Беседовал Дэвид Лоуз. Архивировано (PDF) из оригинала 13 апреля 2021 г. Проверено 30 января 2021 г.
- Кушман, Роберт Х. (20 сентября 1975 г.). «Микропроцессоры 2-1/2 поколения — детали за 10 долларов, которые работают как бюджетные модели Mini» (PDF) . ЭДН . 20 (17). Бостон: Cahners Publishing: 36–42. Архивировано из оригинала (PDF) 24 апреля 2016 года.
- Интервью с Уильямом Меншем из Стэнфорда и проекта «Силиконовая долина», 9 октября 1995 г. Стенограмма
Дальнейшее чтение
[ редактировать ]- Таблицы данных и руководства
- Технический паспорт серии 6500 ; МОП-технология; 12 страниц; 1976.
- Руководство по аппаратному обеспечению серии 6500. Архивировано 13 сентября 2011 г. в Wayback Machine ; 2-е изд.; МОП-технология; 182 страницы; 1976.
- Руководство по программированию серии 6500. Архивировано 13 сентября 2011 г. в Wayback Machine ; 2-е изд.; МОП-технология; 262 страницы; 1976.
- Книги
- 6502 Applications Book ; 1st Ed; Rodnay Zaks ; Sybex; 281 pages; 1979; ISBN 978-0895880154 . (архив)
- 6502 Программирование на языке ассемблера ; 2-е изд.; Лэнс Левенталь; Осборн/МакГроу-Хилл; 650 страниц; 1986 год; ISBN 978-0078812163 . (архив)
- 6502 Подпрограммы языка ассемблера ; 1-е изд; Лэнс Левенталь и Уинтроп Сэвилл; Осборн/МакГроу-Хилл; 550 страниц; 1982 год; ISBN 978-0931988592 . (архив)
- 6502 Games ; 1st Ed; Rodnay Zaks; Sybex; 292 pages; 1980; ISBN 978-0895880222 . (архив)
- 6502 Руководство пользователя ; 1-е изд; Джозеф Карр; Рестон; 288 страниц; 1984 год; ISBN 978-0835970020 . (архив)
- Расширенное программирование 6502 ; 1-е изд; Родней Закс; Джон Уайли и сыновья; 292 страницы; 1982 год; ISBN 978-0895880895 . (архив)
- Машинный язык для начинающих — программирование на машинном языке для персональных компьютеров для компьютеров Atari, VIC, Apple, C64 и PET ; 1-е изд; Ричард Мэнсфилд; Вычислите! Публикации; 350 страниц; 1983 год; ISBN 978-0942386110 . (архив) Архивировано 10 августа 2016 г. в Wayback Machine.
- Programming the 6502 ; 4th Ed; Rodnay Zaks; Sybex; 408 pages; 1983; ISBN 978-0895881359 . (архив)
- Программирование 65816 – включая 6502, 65C02 , 65802 ; 1-е изд; Дэвид Айс и Рон Личти; Прентис Холл; 636 страниц; 1986 год; ISBN 978-0893037895 . (архив)
- Микропроцессоры и язык ассемблера ; Турецкий; 7-е изд; Нуреттин Топалоглу; Секин Яиневи; 328 страниц; 2021 год; ISBN 978-975-02-6663-8 .
- Справочные карточки
- 6502 Мгновенная справочная карта микропроцессора ; Джеймс Льюис; Микро Логика; 2 страницы; 1980. (архив). Архивировано 4 сентября 2019 г. в Wayback Machine.
Внешние ссылки
[ редактировать ]- 6502.org - ресурс микропроцессора 6502. Архивировано 29 ноября 2020 г. в Wayback Machine - репозиторий.
- Развитие технологии MOS и 6502 - архив Commodore
- 650-кратная информация. Архивировано 11 марта 2020 г. на Wayback Machine . Краткое описание, фотографии MOS и микросхем сторонних источников; на cpu-collection.de
- mdfs.net — набор инструкций 6502
- Умно, Эрик. «6502 – первый RISC-мкП» . Архивировано из оригинала 24 мая 2012 года.
- Харрод, Деннетт А. (октябрь 1980 г.). «6502 получает микропрограммируемые инструкции» . Байт . Том. 5, нет. 10. МакГроу Хилл . стр. 282–285. ISSN 0360-5280 . Архивировано из оригинала 25 мая 2006 г. Проверено 14 мая 2006 г.
- Симуляторы, эмуляторы
- Онлайн-ассемблер и эмулятор, совместимый с 6502, написанный на JavaScript. Архивировано 8 февраля 2011 г. на Wayback Machine.
- Список из 6502 программных эмуляторов. Архивировано 19 сентября 2020 г. на Wayback Machine - Zofar's Domain.
- Симулятор 6502 для Windows. Архивировано 4 декабря 2004 г. в Wayback Machine - штаб-квартира Atari Gaming.
- Визуальное моделирование процессора 6502 на уровне транзистора. Архивировано 14 марта 2011 г. на Wayback Machine.
- Ядро ЦП MCL65 6502, код C на GitHub – MicroCore Labs
- Доски
- Плата 6502 с 7/8 микросхемами Grant. Архивировано 6 июня 2022 г. в Wayback Machine.
- Учебная плата микропроцессора 6502. Архивировано 14 июля 2019 г. на Wayback Machine.
- Создайте свою собственную учебную доску KIM-1. Архивировано 14 июля 2019 г. на Wayback Machine — см. KIM-1.
- Домашний компьютер 6502 на GitHub
- Одноплатный компьютер PE6502. Архивировано 3 мая 2020 г. на Wayback Machine.
- Одноплатный компьютер BE6502 на GitHub – на основе видеороликов Бена Итера
- ПЛИС
- cpu6502_tc 6502 Ядро ЦП – исходный код VHDL – OpenCores
- ag_6502 Ядро ЦП 6502 — исходный код Verilog. Архивировано 4 августа 2020 г. на Wayback Machine — OpenCores.
- Ядро ЦП M65C02 65C02 — исходный код Verilog. Архивировано 4 августа 2020 г. на Wayback Machine — OpenCores.
- Ядро процессора MCL65 6502 на GitHub – Verilog – MicroCore Labs