MOS Technology 6502
| Разработчик | |
|---|---|
| Разрядность |
8-бит |
| Представлена | |
| Архитектура |
CISC |
| Тип |
Регистр-Память |
| Кодирование СК |
1..3 байта |
| Переходы |
Флаги условий |
| Расширения | |
| Регистры | |
| Общего назначения |
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, хотя их инструкции и отличались). Тут же последовал иск, после чего создали модель 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 — 8-разрядный процессор с 16-разрядной шиной адреса, позволяющей адресовать до 64 килобайтов оперативной памяти. Его отличительными чертами являются очень короткое и точно определённое время выполнения инструкций в тактах (большинство часто используемых инструкций занимает от двух до четырёх тактов), малое количество регистров (один 8-разрядный аккумулятор A, два 8-разрядных индексных регистра X и Y, 8-разрядный указатель стека S, 8-разрядный регистр флажков P, 16-разрядный указатель команды PC) и большое количество режимов адресации и работы с памятью. В том числе, имеются такие экзотические режимы адресации, как, например, «пред-индексная косвенная адресация с индексацией по X» и «пост-индексная косвенная адресация с индексацией по Y». Первые 256 байт оперативной памяти (т. н. нулевая страница) могут адресоваться специальным образом и фактически могут использоваться в качестве 8-разрядных или 16-разрядных регистров. Таким образом, архитектура процессора 6502 имеет ряд свойств, приближающих её к RISC. При одинаковой тактовой частоте 6502 выполняет управляющие команды в несколько раз быстрее, чем 8-разрядные процессоры большинства других архитектур. В то же время, его слабым местом является наличие из всей арифметики только 8-разрядных целочисленных инструкций сложения и вычитания (в двоичном либо двоично-десятичном коде), уже 16-разрядные целочисленные сложение и вычитание требуют нескольких команд, а умножение и деление, даже целочисленные — написания специальных программ.
Примечательно, что фиксированное время выполнения команд 6502 позволило в компьютерах серии Apple II обойтись без каких-либо таймеров, отмеряя все задержки (включая программную реализацию кодирования битов на магнитных дисках) исключительно по времени выполнения команд процессора, то есть работая полностью синхронно по CPU.
Системы, использующие 6502[править | править вики-текст]
- Игровые приставки — Atari 2600, Nintendo Entertainment System (в России более известная как «Dendy»)
- Компьютеры — 8-разрядные Atari, Apple II, Правец 8, Агат, Commodore 64 (MOS6510 — модифицированная версия MOS6502)
- Домашние компьютеры и игровые приставки на основе процессора 6502
6502 в художественных произведениях[править | править вики-текст]
- Также, судя по всему, под управлением этого процессора работает главный злодей в фильме «Терминатор». Это заметно, когда показывается картинка «глазами робота»: при этом на экране, помимо прочей информации, отображается область с листингом ассемблерной программы, содержащим команды, характерные для 6502.
- Под управлением 6502 работает робот Бендер — персонаж мультсериала Футурама[1].
Рекомендуемая литература[править | править вики-текст]
- Морер У. Язык Ассемблера для персонального компьютера ЭПЛ. — М.: Мир, 1987. 430 с.
- Хлебаров А. Й. Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с. (болг.)
- Ангелов А. М., Петров П. Ц. Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с. (болг.)
Примечания[править | править вики-текст]
Ссылки[править | править вики-текст]
- 6502 Онлайн эмулятор
- cpugarden.ru/history/welcpuhistory/
- Полная система команд, включая недокументированные особенности
- www.6502.org (англ.)
- Визуальная симуляция 6502 на javascript (англ.)
- Изучение работы 6502 по микрофотографиям процессора (англ.)
- sbc.rictor.org (англ.)
|
||||||

