MOS Technology 6502: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
мНет описания правки |
Пушёк (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии 4 участников) | |||
Строка 15: | Строка 15: | ||
}} |
}} |
||
'''MOS Technology 6502''', или просто '''6502''', — восьмиразрядный [[микропроцессор]], разработанный компанией [[MOS Technology]] в [[1975 |
'''MOS Technology 6502''', или просто '''6502''', — восьмиразрядный [[микропроцессор]], разработанный компанией [[MOS Technology]] в [[1975 год]]у. В момент появления на рынке был дешевле аналогичных изделий компаний-конкурентов ([[Motorola]] и [[Intel]]). Несмотря на это (и более низкую тактовую частоту) в среднем показывал сходную с ними производительность за счёт продуманных способов адресации памяти, коротких циклов исполнения команд и некоторой [[Вычислительный конвейер|конвейеризации]]. Появление таких процессоров, как 6502 и [[Zilog Z80]], в конечном счёте предопределило появление [[Персональный компьютер (бытовой)|домашних компьютеров]] в конце [[1970-е|1970-х]] годов. Лицензии на архитектуру 6502 были приобретены компаниями [[Rockwell International|Rockwell]], [[Synertek]] и многими другими, и она была использована во многих разработках. |
||
На 2006 год процессор 6502 и его модификации до сих пор применялись во [[встраиваемые системы|встраиваемых системах]]. |
|||
== История == |
== История == |
||
Строка 24: | Строка 26: | ||
6502 был представлен в [[сентябрь|сентябре]] [[1975]] по цене в 25 $, в то время как 6800 и [[Intel 8080]] продавались за 179 $. Первоначально никто не верил, что это не обман или ошибка, но вскоре и Motorola и Intel снизили цену на свои процессоры до 79 $, чем добились противоположного: снижение цен оправдало 6502 и он стал продаваться сотнями. |
6502 был представлен в [[сентябрь|сентябре]] [[1975]] по цене в 25 $, в то время как 6800 и [[Intel 8080]] продавались за 179 $. Первоначально никто не верил, что это не обман или ошибка, но вскоре и Motorola и Intel снизили цену на свои процессоры до 79 $, чем добились противоположного: снижение цен оправдало 6502 и он стал продаваться сотнями. |
||
Одним из известных использований 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 Entertainment System|Nintendo Famicom]], в США и Европе больше известная как [[Nintendo Entertainment System]]. Компания [[Ricoh]] разработала специальную однокристальную модель 6502 для NES, в которой отказалась от поддержки [[Двоично-десятичный код|BCD]], зато добавила 22 отображаемых на память регистра для генерации звука, чтения состояния джойстика, и управления простым контроллером [[Прямой доступ к памяти|ПДП]]. Модель называлась 2A03 для NTSC-консолей и 2A07 для PAL-консолей и производилась только для [[Nintendo]]. |
Другим важным применением семейства 65xx были видеоигры. Первой была приставка [[Atari 2600]], которая использовала модель [[6507]] с меньшим количеством выводов и могла адресовать только 8 Кб памяти. Были проданы миллионы таких приставок. Другим значимым применением была японская приставка [[Nintendo Entertainment System|Nintendo Famicom]], в США и Европе больше известная как [[Nintendo Entertainment System]]. Компания [[Ricoh]] разработала специальную однокристальную модель 6502 для NES, в которой отказалась от поддержки [[Двоично-десятичный код|BCD]], зато добавила 22 отображаемых на память регистра для генерации звука, чтения состояния джойстика, и управления простым контроллером [[Прямой доступ к памяти|ПДП]]. Модель называлась 2A03 для NTSC-консолей и 2A07 для PAL-консолей и производилась только для [[Nintendo]]. |
||
Строка 30: | Строка 32: | ||
В [[Болгария|Болгарии]] производился процессор CM630 — клон 6502. Использовался в компьютере [[Правец (компьютер)|Правец-8С]]. |
В [[Болгария|Болгарии]] производился процессор CM630 — клон 6502. Использовался в компьютере [[Правец (компьютер)|Правец-8С]]. |
||
Дальнейшим развитием 6502 стал 8-разрядный процессор [[65C02]] (с небольшими улучшениями, реализованный на базе CMOS-технологии), а затем |
Дальнейшим развитием 6502 стал 8-разрядный процессор [[65C02]] (с небольшими улучшениями, реализованный на базе CMOS-технологии), а затем — программно совместимый с ним снизу вверх 16-разрядный микропроцессор с 24-разрядной шиной адреса [[WDC 65816/65802|65C816]], использовавшийся в персональном компьютере [[Apple II|Apple II GS]]. В связи с неуспехом Apple II GS на рынке и переходом компании [[Apple]] к стратегической поддержке семейства [[Macintosh]] процессор 65C816 в компьютерах общего назначения распространения не получил, но используется во встроенных системах и, как и 65C02, выпускается фирмой [[Western Design Center]] (WDC) до сих пор. |
||
Советская военная промышленность выпускала совместимый с 65C02 процессор [[4К602ВМ1]] (разработка НПО «Физика») для использования во встроенных системах. Однако в советских персональных компьютерах [[Агат (компьютер)|Агат]] использовались процессоры 6502 зарубежного производства. |
Советская военная промышленность выпускала совместимый с 65C02 процессор [[4К602ВМ1]] (разработка НПО «Физика») для использования во встроенных системах. Однако в советских персональных компьютерах [[Агат (компьютер)|Агат]] использовались процессоры 6502 зарубежного производства. |
||
== Особенности архитектуры процессора 6502 == |
== Особенности архитектуры процессора 6502 == |
||
⚫ | |||
⚫ | |||
{| class="infobox" style="font-size:88%" |
{| class="infobox" style="font-size:88%" |
||
|- |
|- |
||
Строка 64: | Строка 65: | ||
|colspan="17" | '''[[Регистр процессора|Main registers]]''' |
|colspan="17" | '''[[Регистр процессора|Main registers]]''' |
||
|- style="background:silver;color:black" |
|- style="background:silver;color:black" |
||
| style="text-align:center; background:white" colspan="8"| |
| style="text-align:center; background:white" colspan="8"| |
||
| style="text-align:center;" colspan="8"| A |
| style="text-align:center;" colspan="8"| A |
||
| style="width:auto; background:white; color:black;"| '''A'''ccumulator |
| style="width:auto; background:white; color:black;"| '''A'''ccumulator |
||
|- |
|- |
||
|colspan="17" | '''[[Индексный регистр|Index registers]]''' |
|colspan="17" | '''[[Индексный регистр|Index registers]]''' |
||
|- style="background:silver;color:black" |
|- style="background:silver;color:black" |
||
| style="text-align:center; background:white" colspan="8"| |
| style="text-align:center; background:white" colspan="8"| |
||
| style="text-align:center;" colspan="8"| X |
| style="text-align:center;" colspan="8"| X |
||
| style="background:white; color:black;"| '''X''' index |
| style="background:white; color:black;"| '''X''' index |
||
|- style="background:silver;color:black" |
|- style="background:silver;color:black" |
||
| style="text-align:center; background:white" colspan="8"| |
| style="text-align:center; background:white" colspan="8"| |
||
| style="text-align:center;" colspan="8"| Y |
| style="text-align:center;" colspan="8"| Y |
||
| style="background:white; color:black;"| '''Y''' index |
| style="background:white; color:black;"| '''Y''' index |
||
|- style="background:silver;color:black" |
|- style="background:silver;color:black" |
||
| style="text-align:center; background:#DDDDDD" colspan="8"| 0 |
| style="text-align:center; background:#DDDDDD" colspan="8"| 0 0 0 0 0 0 0 1 |
||
| style="text-align:center;" colspan="8"| SP |
| style="text-align:center;" colspan="8"| SP |
||
| style="background:white; color:black;"| '''S'''tack '''P'''ointer |
| style="background:white; color:black;"| '''S'''tack '''P'''ointer |
||
Строка 89: | Строка 90: | ||
|colspan="17" | '''[[Регистр флагов|Status register]]''' |
|colspan="17" | '''[[Регистр флагов|Status register]]''' |
||
|- style="background:silver;color:black" |
|- style="background:silver;color:black" |
||
| style="text-align:center; background:white" colspan="8" | |
| style="text-align:center; background:white" colspan="8" | |
||
| style="text-align:center;"| [[Sign flag|N]] |
| style="text-align:center;"| [[Sign flag|N]] |
||
| style="text-align:center;"| [[Флаг переполнения|V]] |
| style="text-align:center;"| [[Флаг переполнения|V]] |
||
Строка 99: | Строка 100: | ||
| style="text-align:center;"| [[Флаг переноса|C]] |
| style="text-align:center;"| [[Флаг переноса|C]] |
||
| style="background:white; color:black" | '''P''' Processor flags |
| style="background:white; color:black" | '''P''' Processor flags |
||
|} |
|} |
||
|} |
|} |
||
Строка 107: | Строка 108: | ||
* очень короткое и точно определённое время выполнения инструкций в тактах (большинство часто используемых инструкций занимает от двух до четырёх тактов), |
* очень короткое и точно определённое время выполнения инструкций в тактах (большинство часто используемых инструкций занимает от двух до четырёх тактов), |
||
* малое количество регистров (один 8-разрядный аккумулятор A, два 8-разрядных индексных регистра X и Y, 8-разрядный указатель стека S, 8-разрядный регистр флажков P, 16-разрядный указатель команды PC), что приводит к тому, что подавляющее большинство арифметико-логических команд должно брать второй аргумент из памяти. |
* малое количество регистров (один 8-разрядный аккумулятор A, два 8-разрядных индексных регистра X и Y, 8-разрядный указатель стека S, 8-разрядный регистр флажков P, 16-разрядный указатель команды PC), что приводит к тому, что подавляющее большинство арифметико-логических команд должно брать второй аргумент из памяти. |
||
* большое количество режимов адресации и работы с памятью. В том числе имеются такие экзотические режимы адресации, как, например, «пред-индексная косвенная адресация с индексацией по X» и «пост-индексная косвенная адресация с индексацией по Y». Первые 256 байт оперативной памяти ( |
* большое количество режимов адресации и работы с памятью. В том числе имеются такие экзотические режимы адресации, как, например, «пред-индексная косвенная адресация с индексацией по X» и «пост-индексная косвенная адресация с индексацией по Y». Первые 256 байт оперативной памяти (так называемая нулевая страница) могут адресоваться сокращенным и потому более быстрым образом, что стимулирует размещение в ней важных переменных. |
||
Таким образом, архитектура процессора 6502 имеет ряд свойств, приближающих её к [[RISC]]. При одинаковой тактовой частоте 6502 выполняет управляющие команды в несколько раз быстрее, чем 8-разрядные процессоры большинства других архитектур. |
Таким образом, архитектура процессора 6502 имеет ряд свойств, приближающих её к [[RISC]]. При одинаковой тактовой частоте 6502 выполняет управляющие команды в несколько раз быстрее, чем 8-разрядные процессоры большинства других архитектур. |
||
Строка 116: | Строка 117: | ||
== Системы, использующие 6502 == |
== Системы, использующие 6502 == |
||
* Игровые приставки — [[Atari 2600]], [[Nintendo Entertainment System]] (в России более |
* Игровые приставки — [[Atari 2600]], [[Nintendo Entertainment System]] (в России более известны аппаратные клоны Famicom, японского варианта этой приставки, продававшиеся под торговой маркой «[[Dendy]]»), [[PC Engine]] |
||
* Компьютеры — [[Atari 400/800/XL/XE|8-разрядные Atari]], [[Apple II]], [[Правец (компьютер)|Правец 8]], [[Агат (компьютер)|Агат]], [[Commodore 64]] ([[MOS Technology 6510|MOS6510]] — модифицированная версия MOS6502) |
* Компьютеры — [[Atari 400/800/XL/XE|8-разрядные Atari]], [[Apple II]], [[Правец (компьютер)|Правец 8]], [[Агат (компьютер)|Агат]], [[Commodore 64]] ([[MOS Technology 6510|MOS6510]] — модифицированная версия MOS6502) |
||
⚫ | |||
* Ведётся разработка домашнего компьютера [https://www.commanderx16.com/ Commander X16] на доступных сегодня компонентах под руководством Дэвида Мюррея, известного под псевдонимом [http://www.the8bitguy.com/ 8-Bit Guy] (David Murray aka The 8-Bit Guy) |
|||
⚫ | |||
File:Apple iieb.jpg|[[Apple IIe]] |
File:Apple iieb.jpg|[[Apple IIe]] |
||
File:BBC Micro Front Restored.jpg|[[BBC Micro]] |
File:BBC Micro Front Restored.jpg|[[BBC Micro]] |
||
Строка 142: | Строка 142: | ||
== Литература == |
== Литература == |
||
* ''Морер У.'' Язык Ассемблера для персонального компьютера ЭПЛ. — {{М.}}: Мир, 1987. 430 с. |
* ''Морер У.'' Язык Ассемблера для персонального компьютера ЭПЛ. — {{М.}}: Мир, 1987. 430 с. |
||
* ''Хлебаров |
* ''Хлебаров А. Й.'' Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с.{{ref-bg}} |
||
* ''Ангелов |
* ''Ангелов А. М., Петров П. Ц.'' Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с.{{ref-bg}} |
||
== Ссылки == |
== Ссылки == |
||
Строка 152: | Строка 152: | ||
* [http://breaknes.com Изучение работы 6502 по микрофотографиям процессора]{{ref-en}} |
* [http://breaknes.com Изучение работы 6502 по микрофотографиям процессора]{{ref-en}} |
||
* [http://sbc.rictor.org/ sbc.rictor.org]{{ref-en}} |
* [http://sbc.rictor.org/ sbc.rictor.org]{{ref-en}} |
||
*[https://github.com/emu-russia/breaks/releases/tag/6502-book-revA-russian Breaking NES |
* [https://github.com/emu-russia/breaks/releases/tag/6502-book-revA-russian Breaking NES — 6502 Core], онлайн версия книги про устройство схемотехники процессора 6502 |
||
{{MOS CPU}} |
{{MOS CPU}} |
||
Строка 160: | Строка 160: | ||
[[Категория:История компьютерной техники]] |
[[Категория:История компьютерной техники]] |
||
[[Категория:Микросхемы MOS Technology]] |
[[Категория:Микросхемы MOS Technology]] |
||
[[Категория:Появились в 1975 |
[[Категория:Появились в 1975 году в США]] |
Текущая версия от 05:46, 23 июня 2024
6502 | |
---|---|
| |
Разработчик | 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 и многими другими, и она была использована во многих разработках.
На 2006 год процессор 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
[править | править код]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 работает робот Бендер — персонаж мультсериала Футурама[1].
- Также, судя по всему, под управлением этого процессора работает главный злодей в фильме «Терминатор». Это заметно, когда показывается картинка «глазами робота»: при этом на экране, помимо прочей информации, отображается область с листингом ассемблерной программы, содержащим команды, характерные для 6502.
Примечания
[править | править код]- ↑ The Truth About Bender’s Brain. David X. Cohen, of «Futurama», reveals how MOS Technology’s 6502 processor ended up in the robot’s head . Дата обращения: 17 апреля 2014. Архивировано 7 июля 2017 года.
Литература
[править | править код]- Морер У. Язык Ассемблера для персонального компьютера ЭПЛ. — М.: Мир, 1987. 430 с.
- Хлебаров А. Й. Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с. (болг.)
- Ангелов А. М., Петров П. Ц. Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с. (болг.)
Ссылки
[править | править код]- cpugarden.ru/history/welcpuhistory/
- Полная система команд, включая недокументированные особенности
- www.6502.org (англ.)
- Визуальная симуляция 6502 на javascript (англ.)
- Изучение работы 6502 по микрофотографиям процессора (англ.)
- sbc.rictor.org (англ.)
- Breaking NES — 6502 Core, онлайн версия книги про устройство схемотехники процессора 6502
В другом языковом разделе есть более полная статья MOS Technology 6502 (англ.). |