MOS Technology 6502
MOS Technology 6502, або просто 6502, — восьмирозрядний мікропроцесор, розроблений компанією MOS Technology в 1975 році. На момент появи на ринку це був найдоступніший мікропроцесор, що коштував в 6 разів дешевше, ніж аналогічні вироби компаній-конкурентів (Motorola та Intel). Незважаючи на це, а також низьку тактову частоту, в середньому він показував схожу з ними продуктивність за рахунок продуманих способів адресації пам'яті, коротких циклів виконання команд і деякої конвеєризації. Поява таких процесорів, як 6502 і Zilog Z80, в кінцевому рахунку зумовило появу домашніх комп'ютерів в кінці 1970-х років. Архітектура 6502 була ліцензована компаніями Rockwell, Synertek і багатьма іншими, і використана в багатьох розробках. Процесор 6502 і його модифікації до сих пір застосовуються в вбудовуваних системах.
Процесор 6502 в пластмасовому корпусі DIP-40 | |
Розробник: | MOS Technology |
---|---|
Виробник(и): | MOS Technology, Rockwell International і Synertekd |
Набір команд: | MOS 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 кілобайт оперативної пам'яті. Його відмінними рисами є дуже короткий і точно визначений час виконання інструкцій в тактах (більшість часто використовуваних інструкцій займає від 2 до 4 тактів), мала кількість регістрів (один 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
- Ігрові приставки — 8-розрядні Atari, Atari 2600, Nintendo Entertainment System (відома як «Dendy»)
- Apple II
- Правец 8
- Агат
- Commodore 64 (MOS 6510 — модифікована версія MOS6502)
- Dustforce
6502 в художніх творах
- Процесор 6502 використовує Бендер, робот з мультсеріалу Футурама.[1]
- Також, судячи з усього, під керуванням цього процесора працює головний лиходій у фільмі «Термінатор». Це помітно, коли показується картинка «очима робота»: при цьому на екрані, крім іншої інформації, відображається область з лістингом асемблерної програми, що містить характерні для 6502 команди.
Рекомендована література
- Морер У. Язык Ассемблера для персонального компьютера ЭПЛ. — М.: Мир, 1987. 430 с.
- Хлебаров А. Й. Персонален компютър Правец-82. Програмиране на асемблер. — София: Державно издателство «Техника», 1988. 112 с.(болг.)
- Ангелов А. М., Петров П. Ц. Микропроцесорът — сърцето на микрокомпютъра. — София: Державно издателство «Техника», 1986. 224 с.(болг.)
Примітки
- Епізод «Fry and the Slurm Factory» — Кадр з мультсеріалу Футурама
Посилання
- cpugarden.ru/history/welcpuhistory/
- Полная система команд, включая недокументированные особенности
- www.6502.org(англ.)
- Визуальная симуляция 6502 на javascript(англ.)
- sbc.rictor.org(англ.)