Interested Article - MOS Technology 6502

MOS Technology 6502 , или просто 6502 , — восьмиразрядный микропроцессор , разработанный компанией MOS Technology в 1975 году . В момент появления на рынке был дешевле аналогичных изделий компаний-конкурентов ( Motorola и Intel ). Несмотря на это (и более низкую тактовую частоту) в среднем показывал сходную с ними производительность за счёт продуманных способов адресации памяти, коротких циклов исполнения команд и некоторой конвейеризации . Появление таких процессоров, как 6502 и Zilog Z80 , в конечном счёте предопределило появление домашних компьютеров в конце 1970-х годов. Лицензии на архитектуру 6502 были приобретены компаниями Rockwell , и многими другими, и она была использована во многих разработках. Процессор 6502 и его модификации до сих пор применяются во встраиваемых системах .

История

6502 первоначально разработан командой инженеров, разработавшей процессор Motorola 6800 . После того, как команда целиком вышла из компании Motorola, они быстро разработали 6501, полностью новый процессор, совместимый по выводам с 6800 (то есть, его можно было поместить на ту же материнскую плату, что и процессор Motorola, хотя их инструкции и различались). Тут же последовал иск от Motorola, после чего создали модель 6502, уже несовместимую с платами для 6800.

Чтобы заинтересовать разработчиков, инженер Чак Педдл разработал одноплатный компьютер KIM-1 . К их великому удивлению, KIM-1 так же хорошо продавался любителям, как и разработчикам, для которых он первоначально и предназначался. Достаточно быстро появились похожие продукты: и .

6502 был представлен в сентябре 1975 по цене в 25 $, в то время как 6800 и Intel 8080 продавались за 179 $. Первоначально никто не верил, что это не обман или ошибка, но вскоре и Motorola и Intel снизили цену на свои процессоры до 79 $, чем добились противоположного: снижение цен оправдало 6502 и он стал продаваться сотнями.

Одним из известных использований 6502 был компьютер « Apple I », представленный в 1976 году . Он также использовался далее в линейке Apple II и Commodore PET . Позже 6502 использовался в семействе домашних компьютеров Atari , BBC Micro и множестве других забытых разработок, таких как . Даже когда появилась более новая модель 6510 , прямой потомок 6502 с цифровым портом ввода-вывода и шиной с тремя состояниями, которая (модель 6510) использовалась как центральный процессор в домашнем компьютере Commodore 64 , 6502 не ушёл со сцены, а использовался как контроллер привода диска.

Другим важным применением семейства 65xx были видеоигры. Первой была приставка Atari 2600 , которая использовала модель с меньшим количеством выводов и могла адресовать только 8 Кб памяти. Были проданы миллионы таких приставок. Другим значимым применением была японская приставка Nintendo Famicom , в США и Европе больше известная как Nintendo Entertainment System . Компания Ricoh разработала специальную однокристальную модель 6502 для NES, в которой отказалась от поддержки BCD , зато добавила 22 отображаемых на память регистра для генерации звука, чтения состояния джойстика, и управления простым контроллером ПДП . Модель называлась 2A03 для NTSC-консолей и 2A07 для PAL-консолей и производилась только для Nintendo .

В Болгарии производился процессор CM630 — клон 6502. Использовался в компьютере Правец-8С .

Дальнейшим развитием 6502 стал 8-разрядный процессор 65C02 (с небольшими улучшениями, реализованный на базе CMOS-технологии), а затем — программно совместимый с ним снизу вверх 16-разрядный микропроцессор с 24-разрядной шиной адреса 65C816 , использовавшийся в персональном компьютере Apple II GS . В связи с неуспехом Apple II GS на рынке и переходом компании Apple к стратегической поддержке семейства Macintosh процессор 65C816 в компьютерах общего назначения распространения не получил, но используется во встроенных системах и, как и 65C02, выпускается фирмой (WDC) до сих пор.

Советская военная промышленность выпускала совместимый с 65C02 процессор 4К602ВМ1 (разработка НПО «Физика») для использования во встроенных системах. Однако в советских персональных компьютерах Агат использовались процессоры 6502 зарубежного производства.

Особенности архитектуры процессора 6502

6502 Pin configuration (40-Pin DIP )
MOS 6502 registers
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (bit position)
Main registers
A A ccumulator
Index registers
X X index
Y Y index
0  0  0  0  0  0  0  1 SP S tack P ointer
Program counter
PC P rogram C ounter
Status register
V - B D C P Processor flags

6502 — 8-разрядный процессор с 16-разрядной шиной адреса , позволяющей адресовать до 64 килобайт оперативной памяти.

Его отличительными чертами являются:

  • очень короткое и точно определённое время выполнения инструкций в тактах (большинство часто используемых инструкций занимает от двух до четырёх тактов),
  • малое количество регистров (один 8-разрядный аккумулятор A, два 8-разрядных индексных регистра X и Y, 8-разрядный указатель стека S, 8-разрядный регистр флажков P, 16-разрядный указатель команды PC), что приводит к тому, что подавляющее большинство арифметико-логических команд должно брать второй аргумент из памяти.
  • большое количество режимов адресации и работы с памятью. В том числе имеются такие экзотические режимы адресации, как, например, «пред-индексная косвенная адресация с индексацией по X» и «пост-индексная косвенная адресация с индексацией по Y». Первые 256 байт оперативной памяти (т. н. нулевая страница) могут адресоваться сокращенным и потому более быстрым образом, что стимулирует размещение в ней важных переменных.

Таким образом, архитектура процессора 6502 имеет ряд свойств, приближающих её к RISC . При одинаковой тактовой частоте 6502 выполняет управляющие команды в несколько раз быстрее, чем 8-разрядные процессоры большинства других архитектур.

В то же время его слабым местом является наличие из всей арифметики только 8-разрядных целочисленных инструкций сложения и вычитания (в двоичном либо двоично-десятичном коде), уже 16-разрядные целочисленные сложение и вычитание требуют нескольких команд, а умножение и деление, даже целочисленные — написания специальных программ.

Примечательно, что фиксированное время выполнения команд 6502 позволило в компьютерах серии Apple II обойтись без каких-либо таймеров, отмеряя все задержки (включая программную реализацию кодирования битов на магнитных дисках) исключительно по времени выполнения команд процессора, то есть работая полностью синхронно по CPU.

Системы, использующие 6502

6502 в художественных произведениях

  • Под управлением 6502 работает робот Бендер — персонаж мультсериала Футурама .
  • Также, судя по всему, под управлением этого процессора работает главный злодей в фильме « Терминатор ». Это заметно, когда показывается картинка «глазами робота»: при этом на экране, помимо прочей информации, отображается область с листингом ассемблерной программы, содержащим команды, характерные для 6502.

Примечания

  1. . Дата обращения: 17 апреля 2014. 7 июля 2017 года.

Литература

  • Морер У. Язык Ассемблера для персонального компьютера ЭПЛ. — М. : Мир, 1987. 430 с.
  • Хлебаров А. Й. Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с. (болг.)
  • Ангелов А. М., Петров П. Ц. Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с. (болг.)

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • , онлайн версия книги про устройство схемотехники процессора 6502
Источник —

Same as MOS Technology 6502