MOS Technology 6502

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
6502
Процессор 6502 в пластмассовом корпусе DIP-40
Процессор 6502
в пластмассовом корпусе DIP-40
Разработчик MOS Technology
Разрядность 8-бит
Представлена 1975
Архитектура CISC
Тип Регистр-Память
Кодирование СК 1..3 байта
Реализация переходов Флаги условий
Расширения 65C02
Регистры
Общего назначения 4
Логотип Викисклада Медиафайлы на Викискладе

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

История[править | править код]

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

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

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

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

Другим важным применением семейства 65xx были видеоигры. Первой была приставка Atari 2600, которая использовала модель 6507 с меньшим количеством выводов и могла адресовать только 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, выпускается фирмой Western Design Center (WDC) до сих пор.

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

Особенности архитектуры процессора 6502[править | править код]

6502 Pin configuration (40-Pin DIP)
MOS 6502 registers
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
Main registers
  A Accumulator
Index registers
  X X index
  Y Y index
0  0  0  0  0  0  0  1 SP Stack Pointer
Program counter
PC Program Counter
Status register
  N V - B D I Z 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 работает робот Бендер — персонаж мультсериала Футурама[1].
  • Также, судя по всему, под управлением этого процессора работает главный злодей в фильме «Терминатор». Это заметно, когда показывается картинка «глазами робота»: при этом на экране, помимо прочей информации, отображается область с листингом ассемблерной программы, содержащим команды, характерные для 6502.

Примечания[править | править код]

Литература[править | править код]

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

Ссылки[править | править код]