Interested Article - MOS Technology 6502
- 2020-06-28
- 1
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
MOS 6502 registers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
- Игровые приставки — Atari 2600 , Nintendo Entertainment System (в России более известны аппаратные клоны Famicom, японского варианта этой приставки, продававшиеся под торговой маркой « Dendy »), PC Engine
- Компьютеры — 8-разрядные Atari , Apple II , Правец 8 , Агат , Commodore 64 ( MOS6510 — модифицированная версия MOS6502)
6502 в художественных произведениях
- Под управлением 6502 работает робот Бендер — персонаж мультсериала Футурама .
- Также, судя по всему, под управлением этого процессора работает главный злодей в фильме « Терминатор ». Это заметно, когда показывается картинка «глазами робота»: при этом на экране, помимо прочей информации, отображается область с листингом ассемблерной программы, содержащим команды, характерные для 6502.
Примечания
- . Дата обращения: 17 апреля 2014. 7 июля 2017 года.
Литература
- Морер У. Язык Ассемблера для персонального компьютера ЭПЛ. — М. : Мир, 1987. 430 с.
- Хлебаров А. Й. Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с. (болг.)
- Ангелов А. М., Петров П. Ц. Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с. (болг.)
Ссылки
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- , онлайн версия книги про устройство схемотехники процессора 6502
- 2020-06-28
- 1