МОП-технология 6502


Из Википедии, бесплатной энциклопедии
  (Перенаправлено с 6502C )
Перейти к навигации Перейти к поиску

MOS Technology 6502 (обычно произносится как « шестьдесят пять-но-два» или «шесть-пять-но-два») [3] представляет собой 8-битный микропроцессор , разработанный небольшой группой под руководством Чака Педдла для MOS Technology . . Команда дизайнеров ранее работала в Motorola над проектом Motorola 6800 ; 6502 по сути является упрощенной, менее дорогой и быстрой версией этой конструкции.

Когда он был представлен в 1975 году, 6502 был самым дешевым микропроцессором на рынке со значительным отрывом. Первоначально он продавался менее чем за одну шестую стоимости конкурирующих разработок более крупных компаний, таких как 6800 или Intel 8080 . Его введение вызвало быстрое снижение цен на всем рынке процессоров. Наряду с Zilog Z80 он положил начало серии проектов, которые привели к революции домашних компьютеров в начале 1980-х годов.

Популярные игровые приставки и компьютеры, такие как 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 году Western Design Center начал разработку версии CMOS 65C02 . Это по-прежнему широко используется во встроенных системах с предполагаемыми объемами производства в сотни миллионов. [4]

История и использование

Истоки в Motorola

Демонстрационная плата Motorola 6800, созданная Чаком Педдлом и Джоном Бьюкененом в 1974 году.

6502 был разработан многими из тех же инженеров, которые разработали семейство микропроцессоров Motorola 6800 . [5] Motorola начала проект микропроцессора 6800 в 1971 году с Томом Беннеттом в качестве главного архитектора. Компоновка микросхемы началась в конце 1972 г., первые микросхемы 6800 были изготовлены в феврале 1974 г., а полное семейство было официально выпущено в ноябре 1974 г. [6] [7] Джон Бьюкенен был разработчиком микросхемы 6800 [8] [9] и Род Оргилл, который позже сделал 6501, помогал Бьюкенену с анализом схемы и компоновкой микросхемы. [10] Билл Менш присоединился к Motorola в июне 1971 года после окончания Университета Аризоны (в возрасте 26 лет). [11]Его первым заданием была помощь в определении периферийных ИС для семейства 6800, а позже он был главным разработчиком адаптера периферийного интерфейса (PIA) 6820. [12] Инженеры Motorola могли выполнять аналоговое и цифровое моделирование на мейнфрейме IBM 370-165 . [13] Беннетт нанял Чака Педдла в 1973 году для поддержки архитектуры продуктов семейства 6800, которые уже находились в разработке. [14] Он участвовал во многих областях, включая разработку 6850 ACIA (последовательный интерфейс). [15]

Целевыми клиентами Motorola были признанные производители электроники, такие как Hewlett-Packard , Tektronix , TRW и Chrysler . [16] В мае 1972 года инженеры Motorola начали посещать избранных клиентов и делиться подробностями о предложенной ими 8-битной микропроцессорной системе с ПЗУ, ОЗУ, параллельным и последовательным интерфейсами. [17]В начале 1974 года они предоставили инженерные образцы микросхем, чтобы клиенты могли создавать прототипы своих конструкций. Стратегия Motorola «полное семейство продуктов» была сосредоточена не на цене микропроцессора, а на снижении общей стоимости проектирования для клиента. Они предложили программное обеспечение для разработки на компьютере с разделением времени, систему отладки «EXORciser», обучение на месте и поддержку инженера по применению на месте. [18] [19] И Intel, и Motorola первоначально объявили цену в 360 долларов за один микропроцессор. [20] [21] Фактическая цена за объемы производства была намного меньше. Motorola предложила дизайнерский комплект, содержащий 6800 с шестью чипами поддержки, за 300 долларов. [22]

Педдл, который сопровождал продавцов при посещении клиентов, обнаружил, что клиентов отталкивала высокая стоимость микропроцессорных чипов. [23] В то же время эти визиты неизменно приводили к тому, что инженеры, которых он представлял, составляли списки необходимых инструкций, которые были намного меньше, чем «все эти причудливые инструкции», которые были включены в 6800. [24] Педдл и другие члены команды начал обрисовывать в общих чертах конструкцию микропроцессора с улучшенными характеристиками и уменьшенного размера. В то время новое предприятие Motorola по производству полупроводников в Остине, штат Техас, испытывало трудности с производством МОП-микросхем, и середина 1974 года стала началом годичного спада в полупроводниковой промышленности. Кроме того, многие из Месы, Аризонасотрудники были недовольны предстоящим переездом в Остин, штат Техас . [25]

Руководство подразделения полупроводниковых продуктов Motorola было перегружено проблемами и не проявило интереса к предложению Педдла по недорогому микропроцессору. В конце концов Педдл получил официальное письмо с просьбой прекратить работу над системой. [26] Педдл ответил на приказ, сообщив Motorola, что письмо представляет собой официальное заявление о «прекращении проекта», и поэтому интеллектуальная собственность, которую он разработал к тому моменту, теперь принадлежит ему. [27]В интервью в ноябре 1975 года председатель Motorola Роберт Гэлвин в конечном итоге согласился с тем, что концепция Педдла была хорошей и что подразделение упустило возможность: «Мы выбрали неправильных руководителей в подразделении полупроводниковых продуктов». Дивизия была реорганизована, сменилось руководство. Новый вице-президент группы Джон Уэлти сказал: «Организация по продажам полупроводников потеряла чувствительность к потребностям клиентов и не могла принимать быстрые решения». [28]

МОП-технология

Реклама MOS Technology 1973 года, в которой подчеркиваются возможности их нестандартных интегральных схем.
MOS Technology MCS6501 в белом керамическом корпусе, изготовлен в конце августа 1975 г.

Педдл начал искать источник финансирования этого нового проекта за пределами Motorola. Сначала он обратился к генеральному директору Mostek Л.Дж. Севину , но тот отказался. Позже Севин признался, что это произошло потому, что он боялся, что Motorola подаст на них в суд. [29]

Когда Педдл посещал Ford Motor Company во время одной из своих поездок по продажам, Боб Джонсон, впоследствии глава подразделения автоматизации двигателей Ford, упомянул, что их бывший коллега Джон Пайвинен перешел в General Instrument и сам изучал дизайн полупроводников. [30] Затем Пайвинен вместе с двумя другими руководителями General Instrument, Мортом Джаффе и Доном Маклафлином, основал компанию MOS Technology в Вэлли-Фордж, штат Пенсильвания, в 1969 году. 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, который требовал трех напряжений питания, но одной из особенностей чипа был встроенный удвоитель напряжения , который позволял использовать один источник питания +5 В для внутренних +5, -5 и +12 В, в отличие от других . чипы той эпохи, такие как Intel 8080 , для которых требовалось три отдельных контакта питания. [39]Хотя эта функция упростила блок питания и расположение контактов, она по-прежнему требовала отдельных шин питания для различных вентилей на микросхеме, что увеличивало сложность и размер. При переходе к новой конструкции с истощающей нагрузкой все, что было необходимо, — это один источник питания +5 В, что устраняло всю эту сложность. [40]

Еще одним практическим преимуществом было то, что тактовый сигнал для более ранних процессоров должен был быть достаточно сильным, чтобы выдержать все рассеивание при прохождении через схемы, что почти всегда требовало отдельного внешнего чипа, который мог подавать мощный сигнал. При снижении энергопотребления NMOS часы можно было перенести на микросхему, что упростило общую конструкцию компьютера. Эти изменения значительно снизили сложность и стоимость внедрения полной системы. [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…

Основное изменение с точки зрения размера микросхемы заключалось в исключении драйверов с тремя состояниями из выходов адресной шины. Это было включено в 6800, чтобы позволить ему работать с другими микросхемами в ролях прямого доступа к памяти (DMA) и совместной обработки за счет значительного пространства на кристалле. На практике использование такой системы требовало, чтобы другие устройства были такими же сложными, и вместо этого разработчики, как правило, использовали внешние системы для координации такого доступа. В 6502 просто убрана эта функция, в соответствии с его конструкцией недорогого контроллера, используемого для конкретных задач и взаимодействующего с простыми устройствами. Педдл предположил, что любой, кому действительно нужен этот стиль доступа, может реализовать его с помощью одного 74158 . [44] [б]

Следующим важным отличием было упрощение регистров. Для начала был снят один из двух аккумуляторов . К регистрам общего назначения, таким как аккумуляторы, должны обращаться многие части декодера команд, и, следовательно, требуется значительное количество проводов для перемещения данных в их хранилище и из них. Два аккумулятора упрощают многие задачи кодирования, но требуют значительной сложности самой конструкции микросхемы. [43] Дальнейшая экономия была достигнута за счет уменьшения регистра стека с 16 до 8 бит, а это означало, что стек мог иметь длину только 256 байт, что было достаточно для предполагаемой роли микроконтроллера. [43]

16-битный индексный регистр IX был разделен на две части, став X и Y. Что еще более важно, изменился стиль доступа; в 6800 IX содержал 16-битный адрес, который был смещен на 8-битное число, указанное в инструкции, два были добавлены для получения окончательного адреса. В 6502 (и большинстве других конструкций) 16-битный базовый адрес сохранялся в инструкции, и к нему добавлялись X или Y. [44]

Наконец, набор инструкций был упрощен, освободив место в декодере и логике управления. Из исходных 72 инструкций в 6800 осталось 56. Среди удаленных были любые инструкции, которые перемещали данные между двумя аккумуляторами 6800, а также ряд инструкций ветвления, вдохновленных PDP-11 , например, возможность прямого сравнения двух числовых значений. В 6502 использовалась более простая система, которая обрабатывала сравнения, выполняя математические операции с аккумулятором, а затем проверяя флаги результата. [44]

Высокоуровневый дизайн чипа пришлось превратить в чертежи транзисторов и межсоединений. В MOS Technology «макет» был очень ручным процессом, выполняемым цветными карандашами и пергаментной бумагой . Макет состоял из тысяч многоугольников на шести разных рисунках; по одному для каждого слоя производственного процесса. Учитывая ограничения по размеру, приходилось постоянно учитывать всю конструкцию микросхемы. Менш и Пайвинен работали над декодером инструкций [46] , а Менш, Педдл и Оргилл работали над АЛУ и регистрами. Еще одним усовершенствованием, разработанным на вечеринке, стал способ совместного использования части внутренней проводки, что позволило уменьшить размер ALU. [47]

Несмотря на все их усилия, окончательная конструкция оказалась на 5 милов шире. [48] ​​Первые 6502 чипа имели размер 168 × 183 мил (4,3 × 4,7 мм) или площадь 19,8 мм 2 . Инструкция повернуть вправо (ROR) не работала в первом кремнии, поэтому инструкция была временно исключена из опубликованных документов, но следующая итерация проекта уменьшила размер чипа и исправила инструкцию повернуть вправо, которая затем была включена в пересмотренную документацию. . [49]

Представляем модели 6501 и 6502

Вводная реклама микропроцессоров MOS Technology MCS6501 и MCS6502.

MOS представит два микропроцессора, основанных на той же базовой конструкции: 6501 будет подключаться к тому же разъему, что и Motorola 6800, а 6502 переделает распиновку для поддержки встроенного тактового генератора. Оба будут работать с другими микросхемами поддержки, разработанными для 6800. Они не будут запускать программное обеспечение 6800, потому что у них другой набор инструкций, другие регистры и, в основном, разные режимы адресации. [50] Род Оргилл отвечал за дизайн 6501; он помогал Джону Бьюкенену в Motorola с 6800. Билл Менш сделал 6502; он был разработчиком адаптера периферийного интерфейса 6820 (PIA) в Motorola. Гарри Боуком, Майк Джейнс и Сидни-Энн Холт помогли с макетом.

Представление микропроцессора MOS Technology отличалось от традиционного запуска продукта, который длился несколько месяцев. Первый запуск новой интегральной схемы обычно используется для внутреннего тестирования и предоставляется избранным клиентам в качестве «технических образцов». Эти чипы часто имеют один или два незначительных конструктивных дефекта, которые будут исправлены до начала производства. Цель Чака Педдла состояла в том, чтобы продать первые партии чипов 6501 и 6502 посетителям торговой выставки Wescon в Сан-Франциско, начавшейся 16 сентября 1975 года. Педдл был очень эффективным представителем, и микропроцессоры MOS Technology широко освещались в отраслевой прессе. Одним из первых был полностраничный рассказ о микропроцессорах MCS6501 и MCS6502 в выпуске журнала Electronics от 24 июля 1975 года .EE Times (24 августа 1975 г.), [52] EDN (20 сентября 1975 г.), Electronic News (3 ноября 1975 г.), Byte (ноябрь 1975 г.) [53] и Microcomputer Digest (ноябрь 1975 г.). [54] Реклама 6501 появилась в нескольких публикациях в первую неделю августа 1975 года. 6501 будет продаваться на Wescon по 20 долларов за штуку . [55] В сентябре 1975 года реклама включала микропроцессоры 6501 и 6502. 6502 будет стоить всего 25 долларов (что эквивалентно 126 долларам в 2021 году). [56]

Когда MOS Technology прибыла на Вескон, они обнаружили, что экспонентам не разрешается ничего продавать на выставочной площадке. Они арендовали MacArthur Suite в отеле St. Francis и направили туда клиентов для покупки процессоров. В комплексе процессоры хранились в больших банках, что означало, что чипы находятся в производстве и легко доступны. Покупатели не знали, что нижняя половина каждой банки содержит нефункциональные чипсы. [57] Чипы стоили 20 и 25 долларов , а пакет документации — еще 10 долларов . Пользователям было предложено сделать ксерокопиидокументов — недорогой способ для MOS Technology распространять информацию о продуктах. В предварительных таблицах данных было указано всего 55 инструкций, за исключением инструкции Rotate Right (ROR), которая не работала правильно на этих ранних чипах. Обзоры в Byte и EDN отметили отсутствие инструкции ROR. Следующая версия макета устранила эту проблему, и в таблице данных за май 1976 г. было указано 56 инструкций. Педдл хотел, чтобы каждый заинтересованный инженер и любитель имел доступ к чипам и документации; другие полупроводниковые компании хотели иметь дело только с «серьезными» клиентами. Например, компания Signetics представляла микропроцессор 2650 , и в ее рекламе читателям предлагалось писать для получения информации на фирменном бланке своей компании.[58]

MOS Technology MCS6502, в белом керамическом корпусе, конец 1975 г. выпуска.

Иск Motorola

В техническом описании за май 1976 года не указан микропроцессор 6501, который был в версии от августа 1975 года.

Представление 6501/6502 в печати и на Wescon имело огромный успех. Обратной стороной было то, что широкое освещение в прессе привлекло внимание Motorola. В октябре 1975 года Motorola снизила цену одного микропроцессора 6800 со 175 до 69 долларов . Комплект для проектирования системы за 300 долларов был уменьшен до 150 долларов , и теперь он поставлялся с печатной платой. [59] 3 ноября 1975 г. Motorola обратилась в Федеральный суд с требованием запретить компании MOS Technology производить и продавать микропроцессорные продукты. Они также подали иск о нарушении патентных прав и незаконном присвоении коммерческой тайны. Motorola заявила, что семь бывших сотрудников присоединились к MOS Technology для создания микропроцессорных продуктов этой компании. [60]

Motorola была миллиардной компанией с правдоподобным делом и юристами. 30 октября 1974 года Motorola подала многочисленные патентные заявки на семейство микропроцессоров и получила двадцать пять патентов. Первый был в июне 1976 года, а второй был передан Биллу Меншу 6 июля 1976 года для макета микросхемы 6820 PIA. Эти патенты касались шины 6800 и того, как периферийные микросхемы взаимодействовали с микропроцессором. [61]Motorola начала производить транзисторы в 1950 году и имела портфель патентов на полупроводники. Allen-Bradley решила не бороться с этим делом и продала свою долю в MOS Technology обратно основателям. В иске фигурировали имена четырех бывших инженеров Motorola: Чак Педдл, Уилл Мэтис, Билл Менш и Род Оргилл. Все они были названы изобретателями в 6800 патентных заявках. В процессе обнаружения Motorola обнаружила, что один инженер, Майк Джейнс, проигнорировал инструкции Педдла и передал свои 6800 проектных документов в MOS Technology. [62] В марте 1976 года у теперь уже независимой MOS Technology заканчивались деньги, и ей пришлось урегулировать дело. Они согласились отказаться от процессора 6501, заплатив Motorola 200 долларов.000 и вернуть документы, которые Motorola утверждала как конфиденциальные. Обе компании согласились на перекрестное лицензирование патентов на микропроцессоры. [63] В мае того же года Motorola снизила цену на один микропроцессор 6800 до 35 долларов . К ноябрю Commodore приобрела MOS Technology. [64] [65]

Компьютеры и игры

Несмотря на проблемы с законом, перед MOS все еще оставалась проблема заставить разработчиков опробовать свой процессор, что побудило Чака Педдла разработать одноплатный компьютер MDT-650 («терминал для разработки микрокомпьютеров») . Другая группа внутри компании разработала KIM-1 , который продавался полукомплектным и мог быть превращен в пригодную для использования систему с добавлением компьютерного терминала стороннего производителя и компакт-кассетного привода. К их большому удивлению, КИМ-1 хорошо продавался любителям и ремонтникам, а также инженерам, для которых он предназначался. Родственный Rockwell AIM 65система контроля/обучения/развития также преуспела. Программное обеспечение AIM 65 было основано на программном обеспечении MDT. Другим примерно подобным продуктом был Synertek SYM-1 .

Одним из первых «публичных» применений этого дизайна был микрокомпьютер Apple I , представленный в 1976 году. Затем 6502 использовался в Commodore PET и Apple II , [66] выпущенных в 1977 году. Позже он был использован в Atari . 8-битное семейство и домашние компьютеры Acorn Atom , BBC Micro , [66] Commodore VIC-20 и другие проекты как для домашних компьютеров, так и для бизнеса, такие как Ohio Scientific и Oric . 6510 , прямой преемник 6502 с цифровым портом ввода-вывода и адресной шиной с тремя состояниями , был ЦП . используется в самом популярном [67] [68] домашнем компьютере Commodore 64 . ЦП 6502 или 6502 использовались во всех дисководах гибких дисков Commodore для всех их 8-битных компьютеров, от линейки PET (некоторые из которых имели два ЦП на базе 6502) до Commodore 128D, включая Commodore 64, и во всех дисководах Atari для всей линейки их 8-битных компьютеров, от 400/800 до XEGS.

Еще одним важным применением семейства 6500 были видеоигры. Первым, кто использовал дизайн процессора, была Atari VCS, позже переименованная в Atari 2600 . В VCS использовался вариант 6502 под названием 6507 , который имел меньше контактов и, как следствие, мог адресовать только 8  КБ памяти. Будут проданы миллионы консолей Atari, каждая с процессором MOS. Другое значительное использование было Nintendo Entertainment System и Famicom . 6502, использовавшаяся в NES, была второй исходной версией Ricoh , частичной системой на кристалле , в которой отсутствовал двоично-десятичный код .режиме, но добавлены 22 регистра с отображением памяти и аппаратное обеспечение на кристалле для генерации звука, чтения с джойстика и DMA списка спрайтов . Этот процессор, получивший название 2A03 в консолях NTSC и 2A07 в консолях PAL (разница в коэффициенте деления памяти и таблице поиска частот дискретизации звука), производился исключительно для Nintendo . В Atari Lynx использовалась версия чипа 65SC02 с частотой 4 МГц .

В 1980-х годах популярный журнал по электронике Elektor/Elektuur использовал процессор в своей плате для разработки микропроцессоров Junior Computer .

  • Домашние компьютеры и игровые приставки, использующие 6502 или его варианты
  • Желудь Атом

  • Желудь Электрон

  • Яблоко I

  • Яблоко 2

  • Apple IIe

  • Атари 2600

  • Атари 5200

  • Атари 7800

  • Атари 800

  • Атари Рысь

  • Мастер BBC

  • Би-би-си микро

  • Коммодор ПЭТ

  • Коммодор ВИК-20

  • Коммодор 64

  • Коммодор 128

  • Семейный компьютер (Famicom)

  • Развлекательная система Нинтендо

  • Огайо Научный Челленджер 4P

  • Орао

  • Орик-1

  • Орик Атмос

  • Тамагочи цифровой питомец [69]

  • ТурбоГрафкс-16

Техническое описание

Процессор 6502 кристалл. Обычный раздел вверху — это ПЗУ для декодирования инструкций, кажущийся случайным раздел в центре — это управляющая логика, а внизу — регистры (справа) и АЛУ (слева). Соединения шины данных расположены в правом нижнем углу, а адресная шина — в нижнем и левом нижнем углу. [38]
Конфигурация контактов 6502 (40-контактный DIP )
Регистры MOS 6502

6502 — это 8-разрядный процессор с прямым порядком байтов и 16-разрядной адресной шиной . Первоначальные версии были изготовлены с использованием 8-микронного [70] технологического чипа с размером кристалла 3,9 мм × 4,3 мм (рекламируется как 153 mils × 168 mils ) общей площадью 16,6 мм 2 . [38]

Внутренняя логика работает с той же частотой, что и внешняя тактовая частота, но, несмотря на низкую тактовую частоту (обычно в районе 1–2  МГц ), производительность 6502 была конкурентоспособной с другими современными процессорами, использующими значительно более быстрые часы. Отчасти это связано с тем, что простой конечный автомат реализован комбинационной (бестактовой) логикой в ​​большей степени, чем во многих других конструкциях; двухфазные часы (обеспечивающие две синхронизации за цикл) могли бы, таким образом, напрямую управлять машинным циклом. Для выполнения типичных инструкций на 6502 может потребоваться вдвое меньше циклов, чем на современных конструкциях. Как и большинство простых процессоров той эпохи, динамический чип NMOS 6502 не содержит ПЗУ с микрокодом .требуется разъяснение ]но используетPLA(который занимал около 15% площади чипа) для декодирования и упорядочивания инструкций. Как и в большинстве 8-разрядных микропроцессоров, чип в некоторой степени частично перекрывает выборку и выполнение.

Низкая тактовая частота снижала требования к скорости памяти и периферийных устройств, подключенных к ЦП, поскольку для доступа к памяти было доступно только около 50% тактового цикла (из-за асинхронной конструкции эта доля сильно различалась в зависимости от версии чипа). Это было критически важно в то время, когда доступная память имела время доступа в диапазоне 250–450 нс .

Поскольку микросхема обращалась к памяти только в определенные части тактового цикла, и эти циклы обозначались выводом тактовой частоты PHI2-low, другие микросхемы в системе могли обращаться к памяти в то время, когда 6502 был отключен от шины. Иногда это называли «скрытым доступом». Этот метод широко использовался компьютерными системами; они будут использовать память с доступом на частоте 2 МГц, а затем запускать процессор на частоте 1 МГц. Это гарантировало, что ЦП и видеооборудование могут чередовать свои обращения с общей производительностью, соответствующей производительности устройства памяти. [71] Когда в 1980-х годах стала доступна более быстрая память, новые машины могли работать на более высоких тактовых частотах, таких как ЦП 2 МГц в BBC Micro , и по-прежнему использовать методы совместного использования шины.

Регистры

Как и его предшественник 6800, 6502 имеет очень мало регистров . Регистры 6502 включают один 8-битный накопительный регистр (A), два 8-битных индексных регистра (X и Y), 7 битов флага состояния процессора (P; от бита 7 до бита 0 это отрицательный (N), переполнение ( V), зарезервировано , прерывание (B), десятичное число (D), отключение прерывания (I), ноль (Z) и флаг переноса (C)), 8-битный указатель стека (S) и 16-битный программный счетчик (ПК). [72] Это можно сравнить с типичным дизайном той же эпохи, Z80 ., который имеет восемь 8-битных регистров общего назначения, которые можно объединить в четыре 16-битных. Z80 также имел полный набор альтернативных регистров, всего шестнадцать регистров общего назначения.

Чтобы компенсировать нехватку регистров, в процессоре 6502 реализован режим адресации с нулевой страницей , в котором в инструкции используется один адресный байт вместо двух, необходимых для полной адресации.64 КБ памяти. Это обеспечивает быстрый доступ к первому256 байт ОЗУ с использованием более коротких инструкций. Чак Педдл сказал в интервью, что конкретное намерение состояло в том, чтобы позволить этим первым256 байт оперативной памяти для использования в качестве регистров. [ нужна ссылка ]

Адресное пространство стека жестко привязано к странице памяти $01, т.е. диапазон адресов $0100$01FF( 256511). Программный доступ к стеку осуществляется с помощью четырех подразумеваемых инструкций режима адресации, функции которых заключаются в том, чтобы поместить или вытолкнуть (вытащить) аккумулятор или регистр состояния процессора. Тот же стек также используется для вызовов подпрограмм с помощью инструкций 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 определяет режим адресации. [73]

Например, рассмотрим ORAинструкцию, которая выполняет побитовое ИЛИ над битами в аккумуляторе с другим значением. Код операции инструкции имеет форму 000bbb01, где bbb может быть 010 для значения непосредственного режима (константа), 001 для фиксированного адреса с нулевой страницей, 011 для абсолютного адреса и так далее. [73]

Эта закономерность не абсолютна, и есть ряд исключений. Однако там, где это применимо, это позволяет легко деконструировать значения кода операции обратно в мнемонику ассемблера для большинства инструкций, обрабатывая крайние случаи с помощью кода специального назначения. [73]

Из 256 возможных кодов операций, доступных с использованием 8-битного шаблона, исходный 6502 использует 151 из них, организованных в 56 инструкций с (возможно) несколькими режимами адресации . В зависимости от инструкции и режима адресации код операции может потребовать ноль, один или два дополнительных байта для операндов. Следовательно, машинные инструкции 6502 различаются по длине от одного до трех байтов. [74] [75] Операнд хранится в обычном для 6502 формате с прямым порядком байтов .

65C816 , 16 - битный CMOS - потомок 6502, также поддерживает 24-битную адресацию, в результате чего инструкции собираются с трехбайтовыми операндами, также расположенными в формате с прямым порядком байтов.

Остальные 105 кодов операций не определены. В первоначальном дизайне инструкции, в которых младшие 4 бита ( полубайта ) были 3, 7, B или F, не использовались, оставляя место для будущего расширения. Аналогично, в столбце $2x была только одна запись, . Оставшиеся 25 пустых слотов были распределены. Некоторые из пустых слотов использовались в 65C02 для предоставления как новых инструкций, так и вариаций существующих с новыми режимами адресации. Инструкции $Fx изначально были оставлены свободными, чтобы сторонние поставщики могли добавлять свои собственные инструкции, но более поздние версии 65C02 стандартизировали набор инструкций по работе с битами , разработанный Rockwell Semiconductor .LDX #constant

язык ассемблера

Оператор языка ассемблера 6502 состоит из трехсимвольной мнемоники инструкции , за которой следуют любые операнды . Инструкции, которые не принимают отдельный операнд, но нацелены на один регистр на основе режима адресации, объединяют целевой регистр в мнемонике инструкции, поэтому ассемблер использует INXвместо INC Xувеличения регистра X.

Таблица инструкций

Подробное поведение

Кристалл процессора 6502 с втянутыми NMOS-транзисторами и этикетками, намекающими на функциональность компонентов 6502

Вход немаскируемого прерывания процессора (NMI) чувствителен к фронту , что означает, что прерывание запускается по заднему фронту сигнала, а не по его уровню. Следствием этой функции является то, что схема прерывания проводного ИЛИ не всегда поддерживается. Однако это также предотвращает возникновение вложенных прерываний NMI до тех пор, пока аппаратное обеспечение снова не сделает вход NMI неактивным, часто под управлением обработчика прерывания NMI .

Одновременная активация линий аппаратного прерывания NMI и IRQ (маскируемого) приводит к игнорированию IRQ. Однако, если линия IRQ остается активной после обслуживания NMI, процессор немедленно ответит на IRQ, поскольку IRQ чувствителен к уровню . Таким образом, в конструкции 6502 был установлен своего рода встроенный приоритет прерывания.

Флаг B устанавливается 6502, периодически опрашивающим выход своего детектора фронта NMI и его вход IRQ. Низкий уровень сигнала IRQ распознается только в том случае, если IRQ разрешены флагом I. Если таким образом обнаруживается запрос NMI или (маскируемый) IRQ, флаг B устанавливается в ноль и заставляет процессор выполнять следующую инструкцию BRK вместо выполнения следующей инструкции на основе счетчика команд. [76] [77]

Затем инструкция BRK помещает состояние процессора в стек, при этом бит флага B устанавливается в ноль. В конце своего выполнения инструкция BRK сбрасывает значение флага B в единицу. Это единственный способ изменить флаг B. Если инструкция, отличная от инструкции BRK, помещает флаг B в стек как часть состояния процессора [78] , флаг B всегда имеет значение 1.

Переход с высокого на низкий уровень на входном контакте SO установит бит состояния переполнения процессора. Это можно использовать для быстрого реагирования на внешнее оборудование. Например, драйвер высокоскоростного опрашивающегоBVC устройства может опрашивать аппаратное обеспечение только один раз за три цикла, используя инструкцию Branch-on-oVerflow-Clear(), которая переходит к самой себе до тех пор, пока не будет установлено переполнение переходом SO. Commodore 1541 и другие дисководы Commodore используют эту технику, чтобы определить, когда сериализатор готов передать еще один байт данных с диска. Аппаратное и программное обеспечение системы должно гарантировать, что SO не произойдет во время арифметической обработки и не нарушит расчеты.

Вариации и производные

Было множество вариантов оригинального NMOS 6502.

16-битные производные

Западный дизайн-центр разработал и в настоящее время производит процессор W65C816S , 16-разрядный преемник 65C02 со статическим ядром . W65C816S — это более новый вариант 65C816, который является ядром компьютера Apple II GS и основой процессора Ricoh 5A22 , на котором работает Super Nintendo Entertainment System .. W65C816S включает в себя незначительные улучшения по сравнению с 65C816, которые делают новый чип не точной аппаратно-совместимой заменой более раннего. Среди этих улучшений было преобразование в статическое ядро, которое позволяет останавливать часы в любой фазе без потери данных регистрами. W65C816S, доступный через дистрибьюторов электроники, по состоянию на март 2020 года официально рассчитан на работу на частоте 14 МГц.

Western Design Center также разработал и произвел 65C802 , который представлял собой ядро ​​​​65C816 с 64-килобайтным адресным пространством в корпусе, совместимом по выводам 65 (C) 02. 65C802 может быть модернизирован до платы 6502 и будет функционировать как 65C02 при включении питания, работая в «режиме эмуляции». Как и в случае с 65C816, последовательность из двух инструкций переключает 65C802 в «основной режим», открывая его 16-битный аккумулятор и индексные регистры , а также другие функции 65C816. 65C802 не получил широкого распространения, и его производство было прекращено.

Пример кода

Следующий исходный код на языке ассемблера 6502 предназначен для подпрограммы с именем , которая копирует строку символов , заканчивающуюся нулем, из одного места в другое, преобразуя буквы верхнего регистра в буквы нижнего регистра. Копируемая строка является «источником», а строка, в которой сохраняется преобразованный источник, является «назначением».TOLOWER


Ошибки и причуды

У 6502 было несколько ошибок и особенностей, которые нужно было учитывать при его программировании:

  • Самые ранние версии 6502, например те, которые поставлялись с некоторыми компьютерами KIM-1 , имели серьезную ошибку в инструкции ROR (поворот правой памяти или аккумулятора). Операция ROR в этих микросхемах фактически представляет собой инструкцию ASL (арифметический сдвиг влево), которая не влияет на бит переноса в регистре состояния. MOS полностью исключила эту инструкцию из документации по чипу из-за дефекта, пообещав, что ROR появится на чипах 6502, начиная с 1976 года. [98] Подавляющее большинство существующих сегодня чипов 6502 не имеют этой ошибки.
  • Семейство NMOS 6502 имеет множество недокументированных инструкций , которые варьируются от одного производителя микросхемы к другому. Декодирование инструкций 6502 реализовано в аппаратной логической матрице (похожей на программируемую логическую матрицу ), которая определена только для 151 из 256 доступных кодов операций . Остальные 105 вызывают странные и иногда труднопредсказуемые действия, такие как сбой процессора, последовательное выполнение двух допустимых инструкций, выполнение странных комбинаций двух инструкций или просто полное бездействие. Компания Eastern House Software разработала «Trap65», устройство, которое подключалось между процессором и его сокетом для преобразования (перехвата) нереализованных кодов операций в BRK.(программное прерывание) инструкции. [ править ] Некоторые программисты использовали эту функцию для расширения набора инструкций 6502, предоставляя функциональные возможности для нереализованных кодов операций со специально написанным программным обеспечением, перехваченным в векторе 0xFFFE инструкции BRK. [99] [100] Все неопределенные коды операций были заменены инструкциями NOP в 65C02 , улучшенной версии CMOS 6502, хотя и с различными размерами байтов и временем выполнения. В 65C802/65C816 все 256 кодов операций выполняют определенные операции.
  • Инструкция косвенного перехода к памяти 6502 JMP (<address>)частично нарушена. Если <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 , поскольку эти флаги отражают двоичный, а не двоично-десятичный результат. Это ограничение было снято в производных CMOS. Следовательно, эту функцию можно использовать, чтобы отличить процессор CMOS от версии NMOS. [101]
  • Если 6502 окажется в двоично-десятичном режиме, когда произойдет аппаратное прерывание, он не вернется в двоичный режим. Эта характеристика может привести к скрытым ошибкам в подпрограмме обслуживания прерывания, если она не сможет очистить режим BCD перед выполнением каких-либо арифметических операций. Например, KERNAL Commodore 64 неправильно обрабатывал эту характеристику процессора, требуя, чтобы IRQ были отключены или повторно векторизованы во время математических операций BCD. Эта проблема также была решена в производных CMOS.
  • Набор инструкций 6502 включает BRK (код операции $00), который технически является программным прерыванием (по духу напоминает мнемонику SWI процессоров Motorola 6800 и ARM ). BRK чаще всего используется для прерывания выполнения программы и запуска монитора машинного языка для тестирования и отладки во время разработки программного обеспечения. BRK также можно использовать для маршрутизации выполнения программы с помощью простой таблицы переходов (аналогично тому, как Intel 8086 и его производные обрабатывают программные прерывания по номеру). Однако, если аппаратное прерываниепроисходит, когда процессор извлекает команду BRK, версия процессора NMOS не сможет выполнить BRK и вместо этого продолжит работу, как если бы произошло только аппаратное прерывание. Эта ошибка была исправлена ​​в CMOS-реализации процессора.
  • При выполнении инструкций JSR (переход к подпрограмме) и RTS (возврат из подпрограммы) адрес возврата, помещаемый в стек JSR, является адресом последнего байта операнда JSR (то есть старшего байта адреса подпрограммы), а не адрес следующей инструкции. Это связано с тем, что фактическое копирование (из счетчика команд в стек и обратно) происходит до автоматического увеличения счетчика программ, которое происходит в конце каждой инструкции. [102] Эта характеристика осталась бы незамеченной, если бы код не проверял адрес возврата, чтобы получить параметры в потоке кода (идиома программирования 6502, описанная в Техническом справочном руководстве по ProDOS 8) .). Это остается характеристикой 6502 деривативов и по сей день.

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

  • Список 6502 ассемблеров
  • Домашние компьютеры на базе MOS Technology 6502
  • Прерывания в процессорах 65xx
  • Количество транзисторов
  • Ускорители Apple II
  • cc65 - макроассемблер 6502 и компилятор C

Заметки

  1. В то время в технической литературе длина и ширина каждого чипа указывалась в милах (0,001 дюйма).
  2. Одним из примеров такой конструкции было семейство 8-битных домашних компьютеров Atari, которые использовали DMA для разделения памяти между 6502 и видеочипом ANTIC. Это было реализовано с помощью одного триггера, который позже был встроен в специальные версии «Салли» 6502, используемые в этих машинах. [45]

использованная литература

Цитаты

  1. ^ «MOS 6502 и лучший в мире макетчик» . swtch.com. 03 января 2011 г. . Проверено 9 августа 2014 г. .
  2. ^ «MONSter6502 Полная, работающая дискретная транзисторная (то есть не интегрированная все на одном кристалле) копия классического микропроцессора MOS 6502» . monster6502.com. 2017 . Проверено 1 мая 2017 г. .
  3. Уильям Менш, Роб Уокер (9 октября 1995 г.). Интервью с Уильямом Меншем (веб-видео). Атертон, Калифорния: Silicon Genesis, библиотеки Стэнфордского университета. Архивировано из оригинала 8 мая 2012 года . Проверено 4 июня 2012 г. .Уильям Менш и модератор произносят микропроцессор 6502 как «шестьдесят пять-но-два» .
  4. ^ «Западный центр дизайна (WDC), дом микропроцессорной технологии 65xx» . www.westerndesigncenter.com . Проверено 08 апреля 2019 г. .
  5. ^ «Motorola подает в суд на технологию MOS» (PDF) . Микрокомпьютерный дайджест . Купертино, Калифорния: Microcomputer Associates. 2 (6): 11 декабря 1975 г. Архивировано из оригинала (PDF) 4 июля 2009 г.
  6. ^ «Motorola присоединяется к гонке микропроцессоров с 8-битной записью» . Электроника . Нью-Йорк: Макгроу-Хилл. 47 (5): 29–30. 7 марта 1974 г.
  7. ^ Устная история Motorola 6800 (2008), с. 9
  8. Бьюкенен, Джон К., «МОП-схема повышения напряжения постоянного тока», патент США 3942047 , выдан 2 марта 1976 г.
  9. Бьюкенен, Джон К., «Топография микросхемы микропроцессорной микросхемы с интегральной схемой МОП», патент США 3987418 , выдан 19 октября 1976 г.
  10. ^ Устная история Motorola 6800 (2008), с. 8
  11. Mensch Oral History (1995) Менш получил степень младшего специалиста в Университете Темпл в 1966 году, а затем работал в Philco Ford техником по электронике, прежде чем поступить в Аризонский университет.
  12. ^ Менш, Уильям Д., «Топография микросхемы для схемы интерфейса МОП», патент США 3968478 , выдан 6 июля 1976 г.
  13. ^ Дженкинс, Фрэнсис; Лейн, Э .; Латтин, В .; Ричардсон, В. (ноябрь 1973 г.). «Моделирование МОП-устройств для компьютерной реализации». IEEE Transactions по теории цепей . IEEE. 20 (6): 649–658. doi : 10.1109/tct.1973.1083758 . ISSN 0018-9324 . Все авторы работали в подразделении полупроводниковых продуктов Motorola.
  14. Донохью, Джеймс Ф. (27 октября 1988 г.). «Первые два десятилетия микропроцессора: каким он был». ЭДН . Издательство Канерс. 33 (22А): 18–32. ISSN 0012-7515 . Страница 30. Беннетт уже работал над тем, что стало моделью 6800. «Он нанял меня, — говорит Педдл о Беннетте, — для выполнения архитектурной поддержки продукта, который он уже начал». … говорит Педдл. «Motorola пыталась его убить несколько раз. Без Беннета не было бы 6800, и не было бы и многих других достижений отрасли».
  15. Хепворт, Эдвард С., Родни Дж. Минс, Чарльз И. Педдл, «Адаптер интерфейса асинхронной связи», патент 3975712 , выдан 17 августа 1976 г. Примечание: Motorola обычно перечисляет изобретателей в алфавитном порядке.
  16. Motorola (5 августа 1976 г.). «Они остаются впереди благодаря семейству M6800 от Motorola» . Электроника . Макгроу-Хилл. 49 (16): 51.Реклама с изображением трех встроенных приложений от TRW, HP и RUSCO.
  17. ^ Устная история Motorola 6800 (2008), с. 89
  18. ^ «Это полное семейство продуктов» . Электроника . Нью-Йорк: Макгроу Хилл. 48 (1): 37. 9 января 1975 г.Реклама Motorola, подчеркивающая их полный набор периферийных чипов и средств разработки. Это сокращает цикл проектирования продукта клиентов.
  19. ^ Устная история Motorola 6800 (2008) с. 18
  20. ^ «Набор микропроцессоров Motorola - n-MOS с частотой 1 МГц» . Инженерия управления . 21 (11): 11 ноября 1974 г.Цена микропроцессора MC6800 составляла 360 долларов. Адаптер интерфейса асинхронной связи (ACIA) MC6850 должен был быть представлен в первом квартале 1975 года.
  21. ^ Корпорация Intel (1984). Кэй, Глиннис Томпсон (ред.). Революция в процессе — история Intel на сегодняшний день (PDF) . Корпорация Интел. п. 14. Номер заказа: 231295. Архивировано (PDF) из оригинала 23 октября 2012 г .. Проверено 30 декабря 2016 г. «Шима внедрила 8080 примерно через год, а новое устройство было представлено в апреле 1974 года по цене 360 долларов».
  22. ^ «Motorola устанавливает диск M6800» . Электроника . Нью-Йорк: Макгроу-Хилл. 48 (8): 25. 17 апреля 1975 г.«Дистрибьюторы снабжены семейством M6800, и подразделение также предлагает начальный комплект, включающий шесть начальных компонентов семейства, а также приложения и руководства по программированию, за 300 долларов».
  23. ↑ Интервью 2014 г., 52:30 .
  24. ↑ Интервью 2014 г., 54:45 .
  25. ^ Бэгнолл (2010), с. 11. Новое предложение Peddle пришло как нельзя кстати для разработчиков 6800. «Они не хотели ехать в Остин, штат Техас, — объясняет Менш.
  26. ↑ Интервью 2014 г., 54:40 .
  27. ↑ Интервью 2014 г., 55:50 .
  28. Уоллер, Ларри (13 ноября 1975 г.). «Motorola стремится положить конец заносу». Электроника . Нью-Йорк: Макгроу-Хилл. 48 (23): 96–98.Резюме: Полупроводниковая продукция делится на две части: интегральные схемы и дискретные компоненты. Убытки полупроводников за последние четыре квартала превысили 30 миллионов долларов. Организация продаж потеряла чувствительность к потребностям клиентов, «задержки с реагированием на снижение цен означали, что клиенты покупали в другом месте». Технические проблемы преследовали производство ИС. Проблемы «не в дизайне, а в производительности микросхем и кристаллов». Проблемы были решены. Микропроцессор MC6800 «прибыл в ноябре 1974 года».
  29. Интервью 2014 г., 56:30.
  30. ↑ Интервью 2014 г., 55:00 .
  31. ^ Бэгнолл (2010), с. 13.
  32. ^ Технология MOS (14 ноября 1974 г.). «Первые массивы научных вычислителей с одним чипом» . Электроника . Макгроу-Хилл. 47 (23): 90–91.
  33. ↑ Интервью 2014 г., 57:00 .
  34. ↑ Интервью 2014 г., 58:30 .
  35. Касс, Стивен (16 сентября 2021 г.). «Вопросы и ответы с соавтором процессора 6502» . IEEE Спектр .
  36. Хо, Джошуа (9 октября 2014 г.). «Введение в физику, технологию и промышленность полупроводников» . Анандтех .
  37. ^ Устная история Motorola 6800 (2008), с. 10.
  38. ^ a b c Cushman 1975 , с. 40.
  39. ^ «Микропроцессор 8080A - пакет DIP 40» . Мир процессоров .
  40. ^ б Кушман 1975 , с . 38.
  41. ^ a b "Вехи закона Мура" . IEEE .
  42. ^ Бэгнолл (2010), с. 19: «Пайвинен пообещал Педдлу, что он подготовит n-канальный процесс. Он был верен своему слову».
  43. ^ a b c Cushman 1975 , с. 36.
  44. ^ a b c Cushman 1975 , с. 41.
  45. ^ Пуркару, Джон (2014). Игры против оборудования. История видеоигр для ПК: 80-е . п. 317.
  46. ↑ Интервью 2014 г., 1:01:00 .
  47. ↑ Интервью 2014 г., 1:02:00 .
  48. ↑ Интервью 2014 г., 1:02:30 .
  49. В таблице данных за август 1975 г. было 55 инструкций без ROR, в таблице данных за май 1976 г. было ROR и 56 инструкций. Файл:Набор инструкций MCS650x.jpg
  50. Стэнфордский университет, проект Silicon Genesis: видеозапись устного исторического интервью Уиллама Менша.
  51. ^ «Линейка микропроцессоров предлагает 4, 8, 16 бит» . Электроника . Нью-Йорк: Макгроу-Хилл. 48 (15): 118. 24 июля 1975 г.В статье рассматриваются 6501 и 6502, а также 28-контактные версии, которые будут адресовать только 4 КБ памяти. Он также охватывал будущие устройства, такие как «дизайн, который Педдл называет псевдо 16».
  52. ↑ Шугарман , Роберт (25 августа 1975 г.). «Нужен ли стране хороший микропроцессор за 20 долларов(PDF) . ЕЕ Таймс . Манхассет, Нью-Йорк: Публикации CMP: 25. Архивировано из оригинала (PDF) 3 февраля 2007 г .. Проверено 5 февраля 2008 г.
  53. ^ Филстра, Дэниел (ноябрь 1975 г.). «Сын Motorola (или процессорный чип за 20 долларов )» . Байт . Питерборо, Нью-Хэмпшир: Green Publishing. 1 (3): 56–62.Сравнение микропроцессоров 6502 и 6800. Автор посетил MOS Technology в августе 1975 года.
  54. ^ «Микропроцессор 3-го поколения» (PDF) . Микрокомпьютерный дайджест . Купертино, Калифорния: Microcomputer Associates . 2 (2): 1–3. Август 1975 г. Архивировано из оригинала (PDF) 04 июля 2009 г .. Проверено 27 ноября 2009 г. .
  55. ^ «Микропроцессор MOS 6501 побеждает их всех» . Электроника . Нью-Йорк: Макгроу-Хилл. 48 (16): 60–61. 7 августа 1975 г.
  56. ^ «MOS 6502, второй в семействе недорогих высокопроизводительных микропроцессоров» . Компьютер . Компьютерное общество IEEE. 8 (9): 38–39. Сентябрь 1975 г. doi : 10.1109/CM.1975.219074 .
  57. Bagnall (2010), стр. 33–35.
  58. Signetics (30 октября 1975 г.). «Самый простой в использовании микропроцессор» . Электроника . Макгроу-Хилл. 48 (22): 114–115.
  59. Motorola (30 октября 1975 г.). «Все это и отдельный микропроцессор за 69 долларов » . Электроника . Макгроу-Хилл. 48 (22): 11.Начальная цена MC6800 была снижена со 175 до 69 долларов . Предыдущая цена от 50 до 99 единиц составляла 125 долларов .
  60. Уоллер, Ларри (13 ноября 1975 г.). «Сводки новостей: Motorola стремится остановить врага микропроцессоров» . Электроника . Нью-Йорк: Макгроу-Хилл. 48 (23): 38.«Motorola заявила на прошлой неделе, что будет добиваться немедленного судебного запрета, чтобы остановить MOS Technology Inc., Норристаун, Пенсильвания, от производства и продажи микропроцессорной продукции, включая ее MCS6500». (Этот выпуск был опубликован 7 ноября.)
  61. ^ Motorola was awarded the following US Patents on the 6800 microprocessor family: 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.
  62. ^ Бэгнолл (2010), с. 53–54. «У него [Майка Джейнса] были все его оригинальные работы с 6800, и он скрыл их от Motorola…
  63. ^ «Motorola, MOS Technology урегулировала патентный иск» . Электроника . Нью-Йорк: Макгроу-Хилл. 49 (7): 39. 1 апреля 1975 г.«MOS Technology Inc. из Норристауна, штат Пенсильвания, согласилась отозвать свой микропроцессор MCS6501 с рынка и выплатить Motorola Inc. 200 000 долларов …» «MOS Technology и восемь бывших сотрудников Motorola вернули по решению суда документы, которые Motorola утверждает. являются конфиденциальными». «…обе компании согласились на перекрестную лицензию, касающуюся патентов в области микропроцессоров».
  64. ^ Бэгнолл (2010), стр. 55-56.
  65. ^ «Слияния и поглощения» . Мини-микросистемы . Канерс. 9 (11): 19 ноября 1976 г.«Commodore International… покупает MOS Technology (Норристаун, Пенсильвания). Это спасает шестилетнюю компанию по производству полупроводников от надвигающейся катастрофы».
  66. ^ a b Гудвинс, Руперт (4 декабря 2010 г.). «Жертвы Intel: восемь потенциальных убийц гигантов» . ЗДНет . Архивировано из оригинала 5 мая 2013 года . Проверено 7 марта 2012 г.
  67. ^ Реймер, Джереми. «Доля рынка персональных компьютеров: 1975–2004 гг.» . Архивировано из оригинала 6 июня 2012 года . Проверено 17 июля 2009 г. .
  68. ^ "Сколько компьютеров Commodore 64 было продано?" . Архивировано из оригинала 06 марта 2016 г. Проверено 1 февраля 2011 г. .
  69. ^ «Выполнение кода на тамагочи» . kwartzlab.ru . 7 мая 2013 г. Архивировано из оригинала 31 августа 2018 г .. Проверено 23 декабря 2018 г. .
  70. Кордер, Майк (весна 1999 г.). «Большие дела в маленьких упаковках» . Прогресс пионеров с технологией picoJava . Сан Микроэлектроника. Архивировано из оригинала 12 марта 2006 г. Проверено 23 апреля 2012 г. Первый 6502 был изготовлен по 8-микронной технологии, работал на частоте 1 мегагерц и имел максимальную память 64 КБ.
  71. ^ «Как реализовать совместное использование шины / DMA в системе 6502» .
  72. ^ "МОДЕЛЬ ПРОГРАММИРОВАНИЯ MCS650X" . РУКОВОДСТВО ПО ПРОГРАММИРОВАНИЮ МОС МИКРОКОМПЬЮТЕРОВ . MOS TECHNOLOGY, INC. Январь 1976 г.
  73. ^ a b c Паркер, Нил. «Расшифрованный набор инструкций 6502/65C02/65C816» . Страница Apple II Нила Паркера .
  74. ^ 6502 Набор инструкций .
  75. ^ Коды операций NMOS 6502 . Архивировано 14 января 2016 г. в Wayback Machine .
  76. ^ "ОБРАБОТКА ПРЕРЫВАНИЯ" . огаспец . Проверено 15 мая 2021 г. . ФЛАГ B УПРАВЛЕНИЕ; ФЛАГ Б
  77. ^ "6502 BRK и бит B" . Визуальные чипы . Архивировано из оригинала 05.04.2021 . Проверено 15 мая 2021 г. .
  78. ^ "ФЛАГИ" . огаспец . Проверено 15 мая 2021 г. . Б_ВЫХОД; ВНУТРЕННЯЯ ШИНА ДАННЫХ (БД)
  79. ^ a b «FAQ 400 800 XL XE: что такое SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY и FREDDIE?» . Архивировано из оригинала 19 июля 2020 года. Инженеры Atari назвали SALLY, но [документы поддержки называют это] «6502 (модифицированный)», «6502 Modified», «Custom 6502» или «6502C». [..] Чипы SALLY 6502 никогда не имеют маркировки «6502C», но, кроме UMC UM6502I, всегда [маркируются] C014806. [..] [Другие] чипы с пометкой "6502C" [..] НЕ являются чипами Atari "6502C", а [стандартные 6502] сертифицированы для работы на частоте 4 МГц
  80. ^ «6502 (модифицированный) микропроцессор ЦП» . РУКОВОДСТВО ПО ОБСЛУЖИВАНИЮ ДОМАШНЕГО КОМПЬЮТЕРА ATARI 1200 XL . АТАРИ. Февраль 1983 года.
  81. ^ a b c d e f g Каталог данных технологии MOS 1982 г. (PDF получен с сайта bitsavers.org)
  82. ^ AtariAge: клон A2600, распиновка чипа 6591
  83. ↑ Hackaday : самая маленькая Atari 2600 за всю историю.
  84. ^ Закс, Родней. Программирование 6502 . п. 348.
  85. Викискладе есть медиафайлы по теме Rockwell R6511Q . Проверено 30 апреля 2020 г. .
  86. ^ «Однокристальные микрокомпьютеры Rockwell R6500/11, R6500/12 и R6500/15» . 7 июня 1987 г. Проверено 30 апреля 2020 г. .
  87. ^ Рэнди М. Дамс. «Однокристальные компьютеры Forth R65F11 и F68K». [1] [ постоянная мертвая ссылка ] [2] Архивировано 2 декабря 2014 г. в Wayback Machine 1984.
  88. ^ Эд Шмаух. «Компьютеризированная система мониторинга коррозии» [ постоянная мертвая ссылка ] . 1986 год.
  89. ^ Лоуренс П. Форсли. «Встроенные системы: Рочестерская четвертая конференция 1990 г.: 12–16 июня 1990 г., Рочестерский университет» . п. 51.
  90. ^ Роквелл. "Руководство пользователя RSC-Forth" . 1983.
  91. ^ «Микрокомпьютеры на базе Rockwell R65F11 R65F12 Forth» (PDF) . июнь 1987 года . Проверено 28 апреля 2020 г.
  92. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 15 мая 2016 г .. Проверено 26 октября 2014 г. . {{cite web}}: CS1 maint: заархивированная копия как заголовок ( ссылка )
  93. ^ "rockwell :: dataBooks :: Книга данных Rockwell за 1985 год" - через Интернет-архив.
  94. ^ "Восточноевропейский домашний компьютер: Болгария" . HCM: Музей домашних компьютеров . Проверено 3 октября 2020 г. .
  95. ^ a b http://plus4world.powweb.com/hardware/MOS_75018501 Аппаратное обеспечение — MOS 7501/8501
  96. ^ https://ist.uwaterloo.ca/~schepers/MJK/7501.html ЦП 7501/8501
  97. ↑ Руководство по обслуживанию компьютера C-128 / C128D , Commodore Business Machines, PN-314001-08, ноябрь 1987 г.
  98. ^ «Измерение ошибки ROR в ранней версии MOS 6502» . Проверено 8 мая 2011 г.
  99. Мозер, Карл В. (январь 1979 г.). «Добавить вектор-ловушку для нереализованных кодов операций 6502» (PDF) . Журнал компьютерной гимнастики и ортодонтии доктора Добба . № 31. Менло-Парк, Калифорния. п. 32 . Проверено 7 января 2017 г. .
  100. ^ Харрод, Деннетт А. (октябрь 1980 г.). «6502 получает микропрограммируемые инструкции» . БАЙТ . Том. 5, нет. 10. Питерборо, Нью-Гэмпшир. п. 282 . Проверено 7 января 2017 г. .
  101. Драко (19 июня 1997 г.). «65c02, 6502, 65816 ??? ЦП продается, но кто покупает ...» Архивировано из оригинала 2 января 2008 г.
  102. ^ Эндрюс, Марк (1984). "6" . Atari Roots — руководство по языку ассемблера Atari . ISBN 0-88190-171-7.

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

  • Педдл, Чак (12 июня 2014 г.). «Устная история Чака Педдла» (интервью). Беседовали Дуг Фэйрберн и Стивен Даймонд. Архивировано из оригинала 18 ноября 2021 г.
  • Багнолл, Брайан (2010). Commodore, компания на грани (2-е изд.). Виннипег, Манитоба: Variant Press. ISBN 978-0-9738649-6-0.
  • Беннетт, Томас; Экисс, Джон; Латтин, Уильям (Билл); Лавелл, Джефф (28 марта 2008 г.). «Панель устной истории Motorola 6800» (PDF) (интервью). Беседовал Дэвид Лоуз.
  • Кушман, Роберт Х. (20 сентября 1975 г.). « μP 2-1 / 2 поколения - детали по 10 долларов, которые работают как недорогие Mini» (PDF) . ЭДН . Бостон: Издательство Канерс. 20 (17): 36–42. Архивировано из оригинала (PDF) 24 апреля 2016 года.
  • Интервью с Уильямом Меншем , Стэнфорд и проект Силиконовой долины, 9 октября 1995 г. Стенограмма

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

Спецификации и руководства
  • Техническое описание серии 6500 ; МОП-технология; 12 страниц; 1976 год.
  • Руководство по аппаратному обеспечению серии 6500 ; 2-е изд.; МОП-технология; 182 страницы; 1976 год.
  • Руководство по программированию серии 6500 ; 2-е изд.; МОП-технология; 262 страницы; 1976 год.
Книги
  • Книга приложений 6502 ; 1-е изд.; Роднай Закс ; Сайбекс; 281 страница; 1979 год; ISBN 978-0895880154 . (архив) 
  • 6502 Программирование на языке ассемблера ; 2-е изд.; Лэнс Левенталь; Осборн/Макгроу-Хилл; 650 страниц; 1986 год; ISBN 978-0078812163 . (архив) 
  • 6502 Подпрограммы языка ассемблера ; 1-е изд.; Лэнс Левенталь и Уинтроп Сэвилл; Осборн/Макгроу-Хилл; 550 страниц; 1982 год; ISBN 978-0931988592 . (архив) 
  • 6502 Игры ; 1-е изд.; Роднай Закс; Сайбекс; 292 страницы; 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 . (архив) 
  • Программирование 6502 ; 4-е изд.; Роднай Закс; Сайбекс; 408 страниц; 1983 год; ISBN 978-0895881359 . (архив) 
  • Программирование 65816  — в том числе 6502, 65C02 , 65802 ; 1-е изд.; Дэвид Айс и Рон Личти; Прентис Холл; 636 страниц; 1986 год; ISBN 978-0893037895 . (архив) 
Справочные карты
  • 6502 Микропроцессорная справочная карта мгновенного действия ; Джеймс Льюис; Микро Логик; 2 страницы; 1980 г. (архив)

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

  • 6502.org - ресурс микропроцессора 6502  - репозиторий
  • Расцвет технологии MOS и 6502  - архив Commodore
  • Информация 650x  — краткое описание, фотографии MOS и чипов второго источника; на cpu-collection.de
  • mdfs.net  - набор инструкций 6502
  • Умно, Эрик. «6502 — первый RISC µP» . Архивировано из оригинала 24 мая 2012 года.
  • Харрод, Деннетт А. (октябрь 1980 г.). «6502 получает микропрограммируемые инструкции» . БАЙТ . Том. 5, нет. 10. Макгроу Хилл . стр. 282–285. ISSN  0360-5280 . Архивировано из оригинала 25 мая 2006 г. Проверено 14 мая 2006 г. .
Симуляторы / Эмуляторы
  • Онлайн-совместимый ассемблер и эмулятор 6502, написанный на JavaScript . Архивировано 08 февраля 2011 г. в Wayback Machine .
  • Список программных эмуляторов 6502  — Zophar's Domain
  • Симулятор 6502 для Windows  — Штаб-квартира Atari Gaming
  • Визуальное моделирование процессора 6502 на уровне транзисторов
  • Ядро ЦП MCL65 6502 — код C  — MicroCore Labs GitHub
Доски
  • 7/8-чиповая плата Гранта 6502
  • Учебная плата с микропроцессором 6502
  • Создайте свою собственную тренировочную доску KIM-1  — см. KIM-1
  • 6502 домашний компьютер
  • Одноплатный компьютер PE6502
  • Одноплатный компьютер BE6502  — на основе видеороликов Бена Итера .
ПЛИС
  • cpu6502_tc 6502 CPU core — исходный код VHDL  — OpenCores
  • ag_6502 6502 Ядро процессора — Исходный код Verilog  — OpenCores
  • Ядро ЦП M65C02 65C02 — исходный код Verilog  — OpenCores
  • Ядро ЦП MCL65 6502 — Verilog  — MicroCore Labs GitHub
Получено с " https://en.wikipedia.org/w/index.php?title=MOS_Technology_6502&oldid=1094201009#variants "