Кіріспе
1975 жылғы 8 биттік микропроцессор
MOS Technology 6502 (көбінесе "алпыс бес ноль екі" деп айтылады) – 8 биттік микропроцессор, ол MOS Technology үшін Чак Педдл басқарған шағын команда жасаған. Дизайн тобы бұрын Motorola компаниясында Motorola 6800 жобасы бойынша жұмыс істеген; 6502 негізінен сол дизайнның қарапайым, арзан және жылдам нұсқасы болып табылады. 1975 жылы пайда болған кезде 6502 микропроцессоры нарықтағы ең арзан микропроцессор болды. Ол бастапқыда 6800 немесе Intel 8080 сияқты ірі компаниялардың бәсекелес дизайнды құнынан кем дегенде алты есе арзан сатылды. Оның енгізілуі процессорлар нарығында бағаның күрт төмендеуіне әкелді. Zilog Z80-мен бірге ол 1980-ші жылдардың басында үй компьютерлері революциясына жол ашқан бірқатар жобаларды тудырды. 1980 және 1990 жылдардың басындағы танымал ойын консольдары мен үй компьютерлері, мысалы Atari 2600, Atari 8 биттік компьютерлер, Apple II, Nintendo Entertainment System, Commodore 64, Atari Lynx, BBC Micro және тағы да басқалары 6502 немесе оның негізгі дизайнының өзгеруін пайдаланды. 6502-нің пайда болуынан кейін көп ұзамай, Commodore International компаниясы MOS Technology компаниясын толығымен сатып алды және микропроцессорды, сондай-ақ басқа өндірушілерге лицензияларды сатуды жалғастырды. 6502-нің алғашқы күндері оны Rockwell және Synertek қосымша өндірді, ал кейін басқа компанияларға лицензия берілді. 1981 жылы Western Design Center 65C02 CMOS нұсқасын әзірлеуді бастады. Ол ендірілген жүйелерде кеңінен қолданылады, өндіріс көлемі жүздеген миллионға жетеді деп есептеледі.
Motorola компаниясының бастамасы
6502 микропроцессоры Motorola 6800 микропроцессорлар отбасын жасаған көптеген инженерлермен жобаланған. Motorola компаниясы 6800 микропроцессор жобасын 1971 жылы Том Беннетт бас архитектор ретінде бастады. Motorola инженерлері IBM 370 165 мейнфрейм компьютерінде аналогты және цифрлық симуляцияларды жүргізе алды. Чиптердің құрылымы 1972 жылдың соңында басталды, алғашқы 6800 чиптері 1974 жылдың ақпанында жасалды және толық отбасы 1974 жылдың қарашасында ресми түрде шығарылды. Джон Бьюкенен 6800 чипінің дизайнері болды, ал кейіннен 6501-ді жасаған Род Орджилл Бьюкененге схемаларды талдау және чиптің орналасуына көмектесті. Билл Мэнш 1971 жылдың маусымында Аризона университетін бітіргеннен кейін (26 жасында) Motorola компаниясына қосылды. Оның алғашқы міндеті 6800 отбасы үшін перифериялық интегралды схемаларды (IC) анықтауға көмектесу болды, ал кейіннен ол 6820 перифериялық интерфейс адаптерінің (PIA) негізгі дизайнері болды. Беннет 1973 жылы Чак Педдлді жұмысқа алды, ол 6800 отбасы өнімдері бойынша архитектуралық қолдау жұмыстарын жүргізді. Ол көптеген салаларда үлес қосты, соның ішінде 6850 ACIA (сериялық интерфейс) дизайнында. Motorola-ның мақсатты клиенттері Hewlett Packard, Tektronix, TRW және Chrysler сияқты белгілі электронды компаниялар болды. 1972 жылдың мамырында Motorola инженерлері таңдалған клиенттерге барып, ROM, RAM, параллель және сериялық интерфейстері бар ұсынылған 8 биттік микропроцессор жүйесінің егжей-тегжейін бөлісе бастады. 1974 жылдың басында олар клиенттерге өздерінің дизайндарын прототиптеу үшін чиптердің инженерлік үлгілерін ұсынды. Motorola компаниясының "толық өнім отбасы" стратегиясы микропроцессордың бағасына емес, клиенттің жалпы жобалау шығындарын азайтуға бағытталған. Олар уақытты бөлісу компьютерінде дамыту бағдарламалық жасақтамасын, "EXORciser" жөндеу жүйесін, оқу орталығындағы оқытуды және техникалық қолдау инженерлерінің қызметін ұсынды. Intel және Motorola бастапқыда бір микропроцессордың бағасын жариялаған болатын. Бірақ өндірістік көлемдегі нақты баға одан әлдеқайда төмен болды. Motorola 6800 микропроцессорын және оны қолдайтын алты чиптен тұратын жиынтықты ұсынды. Педдл сатушылармен бірге клиенттерге сапарлар жасағанда, клиенттер микропроцессор чиптерінің жоғары бағасынан көңілі тоймады. Сонымен қатар, оның ұсынған инженерлері әрқашан 6800-ге енгізілген "барлық осы әсем нұсқаулардан" әлдеқайда кішірек қажетті нұсқаулардың тізімін жасады. Педдл және команданың басқа мүшелері жақсартылған мүмкіндіктерге және кішірек өлшемге ие микропроцессордың дизайнын жасауды бастады. Сол кезде Motorola-ның Техас штатындағы Остин қаласындағы жаңа жартылай өткізгіш өндіріс орны MOS чиптерін өндіруде қиындықтарға тап болды, ал 1974 жылдың ортасы жартылай өткізгіш өнеркәсібінде бір жылдық төмендеудің бастамасы болды. Сонымен қатар, Аризона штатының Меса қаласындағы көптеген қызметкерлер Остинге көшуге наразылық білдірді. Motorola компаниясының жартылай өткізгіш өнімдері бөлімінің басшылығы Педдлдің төмен бағалы микропроцессор ұсынысына қызығушылық танытпады. Ақырында Педдлге жүйеде жұмыс істеуді тоқтату туралы ресми хат берілді. Педдл бұл бұйрыққа жауап ретінде Motorola компаниясына хат жолдап, оның мәлімдемесі "жобаны тоқтату" туралы ресми хабарлама екенін және осыған байланысты ол әзірлеген зияткерлік меншік енді оның меншігі екенін хабарлады. 1975 жылдың қараша айындағы сұхбатында Motorola компаниясының төрағасы Роберт Галвин Педдлдің тұжырымдамасы жақсы екенін және бөлім мүмкіндікті жіберіп алғанын мойындады: "Біз жартылай өткізгіш өнімдері бөлімінде дұрыс басшыларды таңдамадық". Бөлім қайта ұйымдастырылды және басқару құрамы ауыстырылды. Жаңа топтың вице-президенті Джон Велти: "Жартылай өткізгіш сату ұйымы тұтынушылардың қажеттіліктеріне сезімталдығын жоғалтып алды және жылдам шешімдер қабылдай алмады" деді.
Peddle, who would accompany the salespeople on customer visits, found that customers were put off by the high cost of the microprocessor chips. At the same time, these visits invariably resulted in the engineers he presented to producing lists of required instructions that were much smaller than "all these fancy instructions" that had been included in the 6800. Peddle and other team members started outlining the design of an improved feature, reduced size microprocessor. At that time, Motorola's new semiconductor fabrication facility in Austin, Texas, was having difficulty producing MOS chips, and mid 1974 was the beginning of a year long recession in the semiconductor industry. Also, many of the Mesa, Arizona employees were displeased with the upcoming relocation to Austin. Motorola's Semiconductor Products Division management showed no interest in Peddle's low cost microprocessor proposal. Eventually Peddle was given an official letter telling him to stop working on the system. Peddle responded to the order by informing Motorola that the letter represented an official declaration of "project abandonment", and as such, the intellectual property he had developed to that point was now his. In a November 1975 interview, Motorola's Chairman, Robert Galvin, ultimately agreed that Peddle's concept was a good one and that the division missed an opportunity, "We did not choose the right leaders in the Semiconductor Products division." The division was reorganized and the management replaced. The new group vice president John Welty said, "The semiconductor sales organization lost its sensitivity to customer needs and couldn't make speedy decisions."
MOS технологиясы
Педдл осы жаңа жобаны қаржыландыру үшін Motorola компаниясынан тыс көз іздеуді бастады. Ол бастапқыда Mostek компаниясының бас директоры Л. Дж. Севинге жүгінді, бірақ ол бас тартты. Кейін Севин бұл Motorola оларға сот процесін бастауынан қорқытқанын мойындады. Педдл Ford Motor Company компаниясына сапармен барғанда, Боб Джонсон, кейін Ford-тың қозғалтқыштарды автоматтандыру бөлімінің басшысы, олардың бұрынғы әріптесі Джон Пайвиненнің General Instrument компаниясына ауысып, жартылай өткізгіштерді жобалауды үйренгенін айтты. Пайвинен 1969 жылы Пенсильвания штатының Валли Фордж қаласында General Instrument компаниясының тағы екі басшысы – Морт Джаффе және Дон Маклафлинмен бірге MOS Technology компаниясын құрды. Аллен Брэдли, электрондық компоненттер мен өнеркәсіптік басқару жүйелерін жеткізуші, 1970 жылы компанияның көп бөлігіне ие болды. Компания клиенттер үшін арнайы интегралдық схемаларды (ИС) жобалап, өндірді және калькуляторларға арналған чиптер желісін әзірледі. Mostek-пен болған әрекеттер сәтсіз аяқталғаннан кейін Педдл Пайвиненге жүгінді, ол "мүмкіндігін бірден түсінді". 1974 жылдың 19 тамызында Чак Педдл, Билл Мэнш, Род Оргилл, Гарри Бауком, Рей Хирт, Терри Холдт және Уилл Мэтис Motorola компаниясынан MOS компаниясына жұмысқа өтті. Кейін Майк Джэйнс қосылды. 6800 командасының 17 чип жобалаушысы мен құрастырушысының сегізі кетіп қалды. Команданың мақсаты кіріктірілген жүйелерге арналған төмен құнды микропроцессорды жобалау және өндіру, сондай-ақ барынша кең клиенттік базаны қамту болды. Бұл тек микропроцессордың төмен құнды болуы арқылы ғана мүмкін болатын, сондықтан команда бағаны көлемдік өндірісте белгіледі. Мэнш кейіннен мақсаттың процессордың бағасы емес, жақында ұсынылған Intel 4040-пен бәсекелесуге болатын чиптер жиынтығын жасау екенін айтты. Чиптер чип дизайнының бірнеше көшірмесін "пластинаның" бетіне – яғни, жоғары таза кремнийден жасалған жұқа дискке басып шығару арқылы жасалады. Пластинаға кішірек чиптерді көбірек басып шығаруға болады, бұл олардың салыстырмалы құнын төмендетеді. Сонымен қатар, пластиналарда әрқашан бетіне шашыраңқы орналасқан бірнеше кішкентай физикалық ақаулар болады. Ондай жерге басылған кез келген чип бұзылып, кәдесіз болады. Кішірек чиптердің кез келген көшірмесінің ақаулы жерге түсу ықтималдығы төмендеу. Осы екі себептің салдарынан түпкілікті өнімнің құны чип дизайнының мөлшеріне тікелей байланысты. Бастапқы 6800 чиптері жоспарланған еді, бірақ құрастыру 29.0-де немесе 29.0 ауданында аяқталды. Жаңа жоба үшін құн мақсаты мөлшер мақсатын талап етті, яғни 16.6 ауданы. Бұл мақсатқа жету үшін бірнеше жаңа техникалар қажет болды.
NMOS-қа ауысу
6502 жобаланып жатқан кезде нарыққа екі маңызды жетістік келді, олар шығынды едәуір төмендетті. Біріншісі – NMOS-ті тозу арқылы жүктеу. 6800 NMOS процесінің ерте нұсқасын пайдаланды, ол үш қуат көзіне мұқтаж болды. 6800-дің маңызды ерекшеліктерінің бірі – +5, -5 және +12 В үшін ішкі түрде +5 В қуат көзін пайдалануға мүмкіндік беретін кіріктірілген екі еселенген кернеуді қолдану болды, бұл Intel 8080 сияқты басқа чиптерге қарағанда үш жеке қуат көзіне мұқтаждықты жойды. Бұл мүмкіндік қуат көзінің және қосылымдардың күрделілігін азайта отырып, чиптегі әртүрлі қақпаларға жеке қуат сызығын қажет етті, бұл күрделілікті және өлшемді арттырды. Жаңа тозу жүктемелі конструкцияға көшу арқылы, тек бір +5 В қуат көзі қажет болды, бұл барлық күрделілікті жойды. Тағы бір артықшылығы – тозу жүктемелі конструкциялар ауысу кезінде аз қуатты тұтынады, осылайша салқындап жұмыс істейді және жоғары жұмыс жылдамдықтарына мүмкіндік береді. Тағы бір маңызды жайт – бұрынғы процессорлардың сағат сигналы тізбектер арқылы өтетін барлық шығынды сақтап қалуға жеткілікті күшті болуы керек еді, бұл әрқашан қуатты сигнал бере алатын жеке сыртқы чипті қажет етті. Тозу жүктемесінің қуат талаптары төмендегенімен, сағат чипке орнатылуы мүмкін болды, бұл жалпы компьютерлік конструкцияны жеңілдетті. Бұл өзгерістер күрделілікті және толық жүйені жүзеге асыру құнын едәуір төмендетті. Өнеркәсіпте кеңінен орын алған өзгеріс – проекциялық маска қолдану болды. Бұрын чиптерді вафли бетіне масканы қойып, оған жарқыраған жарық шашу арқылы жасаған. Маскалар көбінесе чиптен алынған кезде кішкентай кір немесе фоторезист жинап алатын, бұл кез келген келесі маскалау кезінде сол жерлерде ақауларға әкелетін. CPU сияқты күрделі конструкциялар үшін 5 немесе 6 маскалау қадамы қолданылатын, және кем дегенде осы қадамдардың бірінде ақау тууының ықтималдығы өте жоғары еді. Көп жағдайда мұндай конструкциялардың 90% ақаулы болып шығатын, нәтижесінде 10% ғана пайдалы болар еді. Жұмыс істейтін үлгілердің бағасы лақтырылған 90% өндіріс шығындарын өтеуі керек еді. 1973 жылы Perkin Elmer Micralign жүйесін ұсынды, ол масканың бейнесін вафлиге тікелей жанасусыз проекциялайтын. Маскалар енді вафлиден кір жинамайтын, ал қызмет ету мерзімі 10 емес, 100 000 ретке дейін жететін. Бұл қадамдық сәтсіздіктерді және күрделі конструкцияларда бұрын байқалған жоғары ақаулық деңгейін жойды. CPU-дың өнімділігі бірден 10%-дан 60-70%-ға дейін өсті. Бұл CPU бағасы шамамен бірдей деңгейде төмендеді дегенді білдіріп, микропроцессор кенеттен кең таралған құрылғыға айналды.
Жобалық ескертулер
Чак Педдл, Род Оргилл және Уилл Мэтис жаңа процессорлардың бастапқы архитектурасын жобалады. 1975 жылдың қыркүйегінде EDN журналында жарияланған мақалада жобаның мынадай тұжырымы келтірілген: MOS Technology 650X отбасы – бұл 6800 жүйесін әзірлеуде жұмыс істеген сегіз бұрынғы Motorola қызметкерінің 6800-ді алмастырып, одан да тиімді жұмыс істейтін, бірақ арзанырақ бөлікті жасауға жасаған қасаты. 6800 жобасынан алынған тәжірибелерді пайдалана отырып, Чак Педдл басқаратын MOS Technology командасы Motorola CPU архитектурасында келесі өзгерістерді енгізді.
The MOS Technology 650X family represents a conscious attempt of eight former Motorola employees who worked on the development of the 6800 system to put out a part that would replace and outperform the 6800, yet undersell it. With the benefit of hindsight gained on the 6800 project, the MOS Technology team headed by Chuck Peddle, made the following architectural changes in the Motorola CPU
Чиптің мөлшері тұрғысынан негізгі өзгеріс – адрестік шинаның шығыстарынан үш күйлі драйверлерді жою болды. Үш күйлі шинада «1», «0» және «жоғары кедергі» күйлері болады. Соңғы күй басқа құрылғыларға шинаға қол жеткізуге мүмкіндік беру үшін қолданылады және көбінесе көп процессорлық өңдеу үшін немесе осы рөлдерде, тікелей жадқа қол жеткізу (DMA) үшін қолданылады. Бұл мүмкіндік пайдалы болғанымен, чиптік схемалар тұрғысынан өте қымбатқа түседі. 6502 бұл мүмкіндікті жойды, оның дизайнына сәйкес, ол белгілі бір міндеттерді орындауға және қарапайым құрылғылармен байланысуға арналған арзан контроллер болды. Педдл осы стильдегі қол жеткізімділік қажет болған жағдайда, оны бір 74158 арқылы жүзеге асыруға болатынын ұсынды. Келесі маңызды айырмашылық – тіркелімдерді қарапайымдау болды. Біріншіден, екі аккумулятордың бірі алынып тасталды. Аккумуляторлар сияқты жалпы мақсаттағы тіркелімдерге нұсқаулық декодердің көп бөліктерінен қол жеткізу қажет, сондықтан оларды сақтау үшін және олардан деректерді жылжыту үшін көп сымдар қажет болады. Екі аккумулятор көптеген кодтау міндеттерін жеңілдетсе де, чип дизайнының өзін күрделендіреді. Сонымен қатар, стек тіркелімі 16 биттен 8 битке дейін қысқартылды, яғни стек тек 256 байтқа дейін жетеді, бұл микроконтроллер ретінде оның мақсатына жеткілікті болды. 16 биттік IX индекс тіркелімі екіге бөлініп, X және Y болып аталды. Ең маңыздысы, қол жеткізу стилі өзгерді. 6800-де IX 16 биттік адресті сақтады, ол нұсқаумен бірге сақталған 8 биттік санмен өтеліп, қосылды. 6502 (және басқа да көптеген қазіргі заманғы дизайндарда) 16 биттік негізгі мекенжай нұсқаулықта сақталады, ал 8 биттік X немесе Y оған қосылады. Соңында, нұсқаулар жиынтығы қарапайымдастырылды, бұл декодер мен басқару логикасында орын босатуға мүмкіндік берді. 6800-дегі бастапқы 72 нұсқаудың 56-сы жүзеге асырылды. Алынғандардың арасында 6800-дің екі аккумуляторы арасында жұмыс істейтін нұсқаулар және PDP 11-ден шабыт алған бірнеше тармақталу нұсқаулары болды. Чиптің жоғары деңгейдегі дизайны транзисторлар мен өзара байланыстардың сызбаларына айналдырылды. MOS Technology компаниясында «layout» процесі түрлі-түсті қарындаштармен және пергамент қағазымен қолмен жасалатын. Бұл жоба алты түрлі сызбадағы мыңдаған көпбұрышты пішіндерден тұрады; әр қабатқа бірден. Өлшемі шектеулі болғандықтан, бүкіл чип дизайны үнемі қарастырылуы керек еді. Мэнш пен Пайвинен нұсқаулық декодерінде жұмыс істеді, ал Мэнш, Педдл және Оргилл АЛУ және тіркелімдерде жұмыс істеді. Бір кеште жасалған тағы бір жетістік – ішкі сымдардың бір бөлігін бөлісу арқылы АЛУ-дың мөлшерін азайту болды. Барлық күш-жігеріне қарамастан, соңғы дизайн 5 милге тым кең болып шықты. Алғашқы 6502 чиптерінің ауданы 19,8 болды. Процессордың бастапқы нұсқасында оңға бұру (ROR) мүмкіндігі болмаған, сондықтан бұл нұсқау бастапқы құжаттамадан алынып тасталды. Дизайнның келесі нұсқасы чипті қысқартып, оңға бұру мүмкіндігін қосты, ал ROR қайта қарастырылған құжаттамаға енгізілді.
6501 және 6502 үлгілерін таныстыру
MOS бірдей негізгі жобаға негізделген екі микропроцессорды ұсынатын болады: 6501, Motorola 6800 сияқты ұяға қосылады, ал 6502 чиптегі сағат генераторын қолдау үшін қосылымдарды (пин-аутты) қайта құрастырады. Екеуі де 6800 үшін жасалған басқа да қолдау микросхемаларымен жұмыс істейді. Олар 6800 бағдарламаларын іске қоспайды, себебі оларда әртүрлі нұсқаулар жиынтығы, әртүрлі тіркегіштер және көбінесе әртүрлі адрестеу тәсілдері бар. Осы туралы мақалалар EE Times (1975 жылғы 24 тамыз), EDN (1975 жылғы 20 қыркүйек), Electronic News (1975 жылғы 3 қараша), Byte (1975 жылғы қараша) және Microcomputer Digest (1975 жылғы қараша) басылымдарында жарияланды. 6501 үшін жарнамалар 1975 жылғы тамыздың бірінші аптасында бірнеше басылымда пайда болды. 6501-ші үлгі Wescon көрмесінде әрқайсысынан сатылады. 1975 жылғы қыркүйекте жарнамалар 6501 және 6502 микропроцессорларын қамтыды. 6502 тек құнға бағаланады (1975 жылғы 25,0 доллар қазіргі шақта шамамен <есептелген сомаға> тең). MOS Technology Wescon көрмесіне келгенде, көрмеге қатысушылардың көрме алаңында ештеңе сатуға рұқсаты жоқ екенін анықтады. Олар "Сент-Франсис" қонақ үйіндегі "МакАртур" люксін жалға алып, клиенттерді процессорларды сатып алу үшін сол жерге бағыттады. Люксте процессорлар ірі банкаларда сақталды, бұл чиптер өндірісте және қолжетімді екенін көрсету үшін жасалды. Клиенттер әр банканың төменгі жартысында жұмыс істемейтін чиптер бар екенін білмеді. Чиптер құны болды және құжаттама жиынтығы қосымша төленді. Пайдаланушылар құжаттардың фотокөшірмесін жасауға шақырылды, бұл MOS Technology үшін өнім туралы ақпаратты таратудың арзан тәсілі болды. Алдын ала деректер парақтарында тек 55 нұсқау тізімделген, Rotate Right (ROR) нұсқауын қоспағанда, ол осы алғашқы чиптерде қолдау көрсетілмеген. Byte және EDN журналдарындағы шолуларда ROR нұсқауының жоқтығы атап өтілді. Келесі түзету бұл мәселені шешті және 1976 жылғы мамыр айындағы деректер парағында 56 нұсқау тізімделген. Peddle әрбір қызығушы инженер мен хоббишінің чиптерге және құжаттамаға қол жеткізуін қалады, ал басқа жартылай өткізгіш компаниялары тек "нақты" клиенттермен ғана жұмыс істегісі келеді. Мысалы, Signetics 2650 микропроцессорын ұсынып, жарнамасында оқырмандардан компанияның ресми қағазында ақпарат сұрауын өтінді. + Қосылымдардың (пин-аут) айырмашылықтары Pin 6800 6501 6502 2 Halt Ready Ready 3 ∅1 (in) ∅1 (in) ∅1 (out) 5 Дұрыс жад мекенжайы Дұрыс жад мекенжайы N. C. 7 Бус қолжетімді Бус қолжетімді SYNC 36 Деректер бусын қосу Деректер бусын қосу N. C. 37 ∅2 (in) ∅2 (in) ∅0 (in) 38 N. C. N. C. Overflow флагын орнату 39 Үш күйлі басқару N. C. ∅2 (out)
Motorola-ның сот ісі
6501/6502 моделінің басылымда және Весконда таныстырылуы үлкен табысқа жетті. Бірақ, бұл жағдайдың кері жағы – кең ауқымды баспасөз жарияланымдары Motorola компаниясының назарын аударды. 1975 жылдың қазан айында Motorola бір 6800 микропроцессорының бағасын төмендетіп, оны [баға] долларға дейін жеткізді. Ал жүйелік дизайн жиынтығының бағасы [баға] долларға дейін төмендеді және енді ол басылған тізбек тақтасымен бірге келді. 1975 жылдың 3 қарашасында Motorola Федералды соттан MOS Technology компаниясының микропроцессор өнімдерін жасау мен сатуын тоқтату үшін бұйрық беруді сұрады. Олар сонымен қатар патентті бұзу және коммерциялық құпияларды заңсыз пайдалану туралы да шағымданып сотқа жүгінді. Motorola жеті бұрынғы қызметкерінің MOS Technology компаниясына қосылып, осы компанияның микропроцессор өнімдерін жасағанын мәлімдеді. Motorola миллиард долларлық компания болғандықтан, олардың ісіне негіз бар еді және қымбат заңгерлері болды. 1974 жылдың 30 қазанында Motorola микропроцессорлар отбасы бойынша көптеген патенттік өтінімдерді берді және жиырма бес патент алды. Бірінші патент 1976 жылдың маусым айында, ал екіншісі – 6 шілдеде Билл Мэншке 6820 PIA чипінің схемасы үшін берілді. Бұл патенттер 6800 шинасын және микропроцессормен интерфейс жасайтын перифериялық чиптерді қамтыды. Motorola 1950 жылдан бастап транзисторлар жасауды бастады және жартылай өткізгіш патенттерінің кең портфеліне ие болды. Allen Bradley бұл іске қарсы күресуге шешім қабылдамады және MOS Technology-дегі үлесін негізін қалаушыларға қайтарды. Сотта бұрынғы Motorola инженерлерінің төртеуінің есімі аталды: Чак Педдл, Уилл Мэтис, Билл Мэнш және Род Оргилл. Олардың барлығы 6800 патенттік өтінімдеріндегі өнертапқыштар ретінде тіркелді. Тергеу барысында Motorola компаниясы бір инженер, Майк Жейнстің Педдлдің нұсқауларын елемегенін және өзінің 6800 жобалық құжаттарын MOS Technology компаниясына әкелгенін анықтады. 1976 жылдың наурыз айында енді тәуелсіз MOS Technology ақшасы таусылып, істі реттеуге мәжбүр болды. Олар 6501 процессорынан бас тарды, Motorola компаниясына 5000 доллар төледі және Motorola компаниясының құпия деп санайтын құжаттарды қайтарды. Екі компания да микропроцессор патенттерін өзара лицензиялауға келісті. Сол мамыр айында Motorola бір 6800 микропроцессорының бағасын төмендетіп, қараша айына дейін Commodore компаниясы MOS Technology компаниясын сатып алды.
Компьютерлер мен ойындар
Заңдық мәселелер шешілгеннен кейін, MOS әзірлеушілерді өз процессорларын сынап көруге иктерген мәселесімен күресіп жатты, бұл Чак Педдлді MDT 650 ("микрокомпьютерлік даму терминалы") бір тақталы компьютерін жобалауға түрткі болды. Компания ішіндегі тағы бір топ KIM 1-ді жасады, ол жартылай толық күйде сатылды және үшінші тараптың компьютерлік терминалы мен жинақы кассеталық дискісі қосылғанда пайдалануға болатын жүйеге айналдырылды. Ол мақсатты нарығында жақсы сатылса да, компания KIM 1 хоббистер мен өзіне жарасымды нәрселерді іздейтіндерге де жақсы сатылатынын анықтады. Rockwell-дің AIM 65 бақылау, оқыту және дамыту жүйесі де сәтті болды. AIM 65 бағдарламалық құралы MDT бағдарламалық құралына негізделген. Тағы бір ұқсас өнім – Synertek SYM 1. Бұл жобаның алғашқы "халыққа" таныстырылған қолданылуларының бірі – 1976 жылы ұсынылған Apple I микрокомпьютері. 6502 келесі Commodore PET және Apple II компьютерлерінде қолданылды, екеуі де 1977 жылы шықты. Кейін ол Atari 8-биттік компьютерлерінде, Acorn Atom, BBC Micro, Commodore 64 үй компьютерінде қолданылды. 6500 отбасының тағы бір маңызды қолданылуы – бейне ойындар. Процессор дизайнын алғаш рет 1977 жылы шыққан Atari VCS пайдаланды, кейіннен ол Atari 2600 деп аталды. VCS 6502-нің 6507 деп аталатын түрін қолданды, оның қосылымдары аз болғандықтан, ол тек 8 КБ жадты ғана қолдай алды. Миллиондаған Atari консольдері сатылды, олардың әрқайсысы MOS процессорымен жабдықталған. Тағы бір маңызды қолданылу – Nintendo Entertainment System және Famicom. NES-те қолданылған 6502 Ricoh-тың екінші көзінен алынған нұсқасы болды, ол чиптегі жартылай жүйе, онда бинарлық кодталған ондық режим болмады, бірақ 22 жад тіркелгісі және дыбыс шығару, джойпадты оқу және DMA тізімі үшін аппараттық құралдары қосылды. NTSC консольдерінде 2A03, ал PAL консольдерінде 2A07 деп аталды (айырмашылығы – сағат жиілігінің бөлгіш қатынасы және аудио үлгілеу жылдамдықтарының іздеу кестесі), бұл процессор тек Nintendo үшін жасалған. 6502 немесе оның түрлері Commodore-дің барлық 8-биттік компьютерлеріндегі дискілік дискілерде қолданылды, ПЭТ желісінен бастап Commodore 128D және Commodore 64-ке дейін. 8 дюймдік ПЭТ дискілерінде екі 6502 процессоры болды. Atari өз 810 және 1050 дискілік дискілерінде, 400/800-ден XEGS-ке дейін барлық 8-биттік компьютерлерінде Atari VCS-де қолданылған 6507-ні пайдаланды. 1980 жылдары танымал электроника журналы Elektor/Elektuur процессорды өзінің микропроцессорлық даму тақтасында Junior Computer ретінде пайдаланды. 6502 CMOS-тің ізбасары WDC 65C02 үй компьютерлері мен бейне ойын консольдерінде де қолданылды. Apple оны Apple IIc-ден бастап Apple II желісінде және Apple IIe-нің кейінгі түрлерінде пайдаланды, сондай-ақ ескі IIe жүйелерін жаңа процессормен жаңартуға арналған жиынтық ұсынды. TurboGrafx 16-да қолданылған Hudson Soft HuC6280 чипі 65C02 ядросына негізделген. Atari Lynx Epyx компаниясы жасаған "Mikey" деп аталатын арнайы чипті пайдаланды, онда VLSI VL65NC02 лицензиялық жасушасы болды. GTE Microcircuits (кейін California Micro Devices) компаниясының G65SC12 түрі BBC Master-де қолданылды. BBC Master-дің кейбір модельдері қосымша G65SC102 копроцессорын да қамтыды.
Тіркелімдер
Оның 6800 сияқты, 6502 процессорда да тіркелімдері өте аз. 6502 тіркелімдеріне бір 8 биттік аккумулятор тіркелімі (A), екі 8 биттік индекс тіркелімі (X және Y), 7 процессор күй белгісінің биті (P; 7-ден 0-ға дейін: теріс (N), ағып кету (V), резервтелген, үзіліс (B), ондық (D), үзіліс тежегіш (I), нөлдік (Z) және тасымалдау (C) белгілері), 8 биттік стек көрсеткіші (S) және 16 биттік бағдарлама санағышы (PC) кіреді. Бұл Intel 8080 процессормен салыстырғанда, ол да 8 биттік аккумулятор және 16 биттік бағдарлама санағышына ие, бірақ одан бөлек, алты қосымша жалпы мақсаттағы 8 биттік тіркелімдері (оларды үш 16 биттік көрсеткіш ретінде біріктіруге болады) және үлкен 16 биттік стек көрсеткіші бар. Тіркелімдердің жетіспеушілігін толықтыру үшін 6502 нөлдік бет адрестеу режимін қамтиды, ол жадтың толық 64 адресін көрсету үшін қажетті екі байттың орнына, нұсқаулықта бір адрес байтын пайдаланады. Бұл қысқа нұсқауларды қолдану арқылы RAM-нің алғашқы 256 байтына жылдам қол жеткізуді қамтамасыз етеді. Мысалы, жадтан мәнді аккумулятордағы мәнге қосу нұсқаулықтары әдетте үш байттан тұрады: біреуі нұсқау үшін, екеуі 16 биттік адрес үшін. Нөлдік бетті пайдалану оны 8 байттық адреске дейін азайтады, нұсқаудың жалпы ұзындығын екі байтқа дейін қысқартады, соның нәтижесінде нұсқаудың орындалу жылдамдығы артады. Стек адрестік кеңістігі $01 жад бетіне бекітілген, яғни $0100–$01FF (256–511) адрес диапазонына. Стекке бағдарламалық қол жеткізу төрт имплицитті адрестеу режиміндегі нұсқаулар арқылы жүзеге асырылады, олардың функциялары аккумуляторды немесе процессор күй тіркелімін стекке түрту (push) немесе стектен алу (pop) болып табылады. Осы стек JSR (подпрограммаға секіру) және RTS (подпрограммадан қайту) нұсқаулары арқылы подпрограмма шақырулары үшін, сондай-ақ үзілістерді өңдеу үшін де қолданылады.
Адрестік
Чип индекс пен стек регистрлерін бірнеше адрестеу режимдерімен тиімді пайдаланады, соның ішінде PDP 8-де кездесетін жылдам "тікелей бет" немесе "нөлдік бет" режимі бар, ол 0-ден 255-ке дейінгі жад орналасуларына бір 8 биттік адресімен тікелей кіреді (адрестің жоғары ретті байтын алуға қажетті циклді үнемдейді). 6502 коды нөлдік бетті басқа процессорлар үшін жазылған кодтар сияқты регистрлерді пайдалану арқылы қолданады. 6502 негізіндегі операциялық жүйесі бар микрокомпьютерлерде, операциялық жүйе нөлдік беттің көп бөлігін пайдаланады, пайдаланушыға тек бірнеше орын қалады. Адрестеу режимдеріне сонымен қатар: жасырын (1 байттық нұсқау); абсолютті (3 байт); индекстелген абсолютті (3 байт); индекстелген нөлдік бет (2 байт); салыстырмалы (2 байт); аккумулятор (1); жанама, x және жанама, y (2); және дереу (2) жатады. Абсолюттік режим – жалпы мақсаттағы режим. Тармақтау нұсқаулары тармақтан кейінгі нұсқауға қатысты белгілі 8 биттік ауытқуды қолданады; сандық диапазон -128-ден 127-ге дейін, демек, тармақтан кейінгі нұсқаудан 128 байт артқа және 127 байт алға жылжуға болады (яғни тармақ нұсқаусының басынан 126 байт артқа және 129 байт алға). Аккумулятор режимінде аккумулятор тиімді мекенжай ретінде қолданылады және операнд деректері қажет емес. Дереу режимде 8 биттік литералдық операнд қолданылады.
Тікелей емес адрестік
Жанама режимдер массивтік өңдеу және басқа да циклдар үшін пайдалы. 5/6 циклды "(жанама),y" режимінде 8 биттік Y тіркегі нөлдік беттен оқылған 16 биттік базалық мекенжайға қосылады, ол код операциясынан кейін бір байтпен көрсетіледі. Сондықтан Y тіркегі нақты индексті сақтауға арналған индекс тіркегі болып табылады (6800-дегі X тіркегінен өзгеше, онда базалық мекенжай тікелей сақталады және оған бірден смещение қосылуы мүмкін). Массивті байт бойынша қарап шығу үшін индекс тіркегін арттыру үшін тек екі қосымша цикл қажет. Көбінесе қолданылмайтын "(жанама,x)" режимінде операцияның тиімді мекенжайы X тіркегінің мазмұнына нұсқаудың екінші байтын қосу арқылы қалыптастырылған нөлдік бет мекенжайында табылады. Индекстелген режимдерді пайдалану арқылы нөлдік беттер 128 қосымша (бірақ өте баяу) мекенжай тіркегінің жиынтығы ретінде әрекет етеді. 6502 бинарлық немесе бинарлық кодталған ондық сандармен қосу және алу операцияларын орындай алады. SED (D туын орнату) нұсқауларымен процессорды BCD режиміне қою ондық арифметикаға әкеледі, онда $99 + $01 нәтижесі $00 болады және тасымалдау (C) туы орнатылады. Бинарлық режимде (CLD, D туын тазалау) дәл сол операция $9A нәтижесін береді және тасымалдау туы тазаланады. Atari BASIC-тен басқа, BCD режимі үй компьютерлерінде сирек қолданылды. "Сәлем, әлем!" мақаласын қараңыз, ол 6502 тілінің қарапайым, бірақ ерекше мысалы.
Нұсқаулар мен опкодтар
6502 нұсқаулық операциялық кодтары (опкодтар) 8 биттен тұрады және AAABBBCC деген жалпы пішімге ие, онда AAA және CC опкодты, ал BBB адрестеу режимін анықтайды. Мысалы, ORA нұсқаулығын қарастырайық, ол аккумулятордағы биттерді басқа мәнмен біттік «ЖӘНЕ» (OR) операциясы арқылы өңдейді. Нұсқаулық опкоды 000bbb01 түрінде болады, мұнда bbb тікелей режимдегі мән үшін 010 (тұрақты), нөлдік беттің белгілі мекенжайы үшін 001, абсолюттік мекенжай үшін 011 және т.б. болуы мүмкін. Операнд 6502 процессордың әдеттегі кіші эндиан форматында сақталады. 65C816, 6502 процессордың 16 биттік CMOS ұрпағы, 24 биттік адрестеуді де қолдайды, бұл нұсқауларды үш байттық операндармен құрастыруға мүмкіндік береді, олар да кіші эндиан форматында орналастырылған. Қалған 105 опкод анықталмаған. Бастапқы жобада ең төменгі 4 биттен (ниббл) 3, 7, B немесе F болатын нұсқаулар қолданылмады, бұл болашақта кеңейтуге мүмкіндік жасады. Сондай-ақ, $2x бағанында тек бір ғана жазу бар, яғни LDX #constant. Қалған 25 бос орын бөлінді. 65C02 процессордағы бос слоттардың бір бөлігі жаңа нұсқауларды және жаңа адрестеу режимдерімен ескі нұсқаулардың өзгертілген түрлерін ұсыну үшін пайдаланылды. $Fx нұсқаулары бастапқыда үшінші тарап өндірушілеріне өздерінің нұсқауларын қосуға мүмкіндік беру үшін бос қалдырылды, бірақ 65C02 процессордың кейінгі нұсқалары Rockwell Semiconductor компаниясы әзірлеген биттік операцияларды орындау нұсқауларының жиынтығын стандарттады.
Ассамблея тілі
6502 ассемблер тіліндегі нұсқау үш таңбадан тұратын нұсқаулық мнемоникасынан және одан кейін келетін операндтардан құралады. Жеке операнд қабылдамайтын, бірақ адрестеу режимі бойынша бір ғана тіркелгіні өзгертетін нұсқаулар, мақсат тіркелгіні нұсқаулық мнемоникасымен біріктіреді. Сондықтан, құрастырушы X тіркелгісін арттыру үшін INC X емес, INX-ті пайдаланады.
Нұсқаулар кестесі
6502 командалар жиынтығы үшін операциялық кодтар кестесі. Адрестеу режимдері: – аккумулятор, – дереу, – нөлдік бет, – абсолютті, – жанама, X – X тіркегімен индекстелген, Y – Y тіркегімен индекстелген, – салыстырмалы Жоғары ниббл Төмен ниббл 0 1 2 4 5 6 8 9 A C D E 0BRKORA (ind,X) ORA zpgASL zpgPHPORA #ASL A ORA absASL abs 1BPL relORA (ind),Y ORA zpg,XASL zpg,XCLCORA abs,Y ORA abs,XASL abs,X 2JSR absAND (ind,X) BIT zpgAND zpgROL zpgPLPAND #ROL ABIT absAND absROL abs 3BMI relAND (ind),Y AND zpg,XROL zpg,XSECAND abs,Y AND abs,XROL abs,X 4RTI EOR (ind,X) EOR zpgLSR zpgPHA EOR #LSR AJMP absEOR absLSR abs 5BVC relEOR (ind),Y EOR zpg,XLSR zpg,XCLI EOR abs,Y EOR abs,XLSR abs,X 6RTS ADC (ind,X) ADC zpgROR zpgPLA ADC #ROR AJMP (ind)ADC absROR abs 7BVS relADC (ind),Y ADC zpg,XROR zpg,XSEI ADC abs,Y ADC abs,XROR abs,X 8 STA (ind,X) STY zpgSTA zpgSTX zpgDEY TXASTY absSTA absSTX abs 9BCC relSTA (ind),Y STY zpg,XSTA zpg,XSTX zpg,YTYA STA abs,YTXS STA abs,X ALDY #LDA (ind,X)LDX #LDY zpgLDA zpgLDX zpgTAYLDA #TAXLDY absLDA absLDX abs BBCS relLDA (ind),Y LDY zpg,XLDA zpg,XLDX zpg,YCLVLDA abs,YTSXLDY abs,XLDA abs,XLDX abs,Y CCPY #CMP (ind,X) CPY zpgCMP zpgDEC zpgINYCMP #DEXCPY absCMP absDEC abs DBNE relCMP (ind),Y CMP zpg,XDEC zpg,X CLDCMP abs,Y CMP abs,XDEC abs,X ECPX #SBC (ind,X) CPX zpgSBC zpgINC zpgINXSBC #NOPCPX absSBC absINC abs FBEQ relSBC (ind),Y SBC zpg,XINC zpg,XSEDSBC abs,Y SBC abs,XINC abs,XBlank opcodes (e. g., F2) and all opcodes whose low nibbles are 3, 7, B and F are undefined in the 6502 instruction set. 6502 командалар жиынтығындағы төмен нибблдері 3, 7, B және F болатын бос операциялық кодтар (мысалы, F2) және барлық операциялық кодтар анықталмаған.
Толық мінез-құлық
Процессордың маскаланбайтын үзілісінің (NMI) кірісі жиекті сезімтал, яғни үзіліс сигналдың деңгейінен емес, сигналдың төмендеу жиегімен туындайды. Бұл мүмкіндіктің салдары – сымдық ОР үзіліс тізбегін қолдау қиын. Алайда, бұл аппараттық жабдық NMI кірісін қайтадан инерттендіргенге дейін, көбінесе NMI үзілісін басқарушының бақылауында, тікелей NMI үзілістерінің пайда болуына да жол бермейді. NMI және IRQ (маскаланатын) аппараттық үзіліс сызықтарының бір мезгілде белсенділігі IRQ-ның назарсыз қалдырылуына себеп болады. Бірақ, егер IRQ сызығы NMI қызмет көрсетілгеннен кейін белсенді күйде болса, процессор IRQ деңгейіне сезімтал болғандықтан, IRQ-ға дереу жауап береді. Осылайша, 6502 дизайнында белгілі бір үзіліс басымдығы орнатылды. B туы 6502-нің NMI жиек детекторының шығысын және IRQ кірісін үнемі сынап отыру арқылы орнатылады. IRQ сигналы төменге түскенде, тек I туы рұқсат берген жағдайда ғана танылады. Егер осылайша NMI сұранысы немесе (маскаланатын) IRQ анықталса, B туы нөлге орнатылады және процессор бағдарлама санауышқа сүйенген келесі нұсқауды орындаудың орнына BRK нұсқауын орындауға көшіріледі. BRK нұсқауы процессор күйін стекке салады, B туы биті нөлге орнатылады. BRK нұсқауын орындағаннан кейін B туының мәні бірге қайта орнатылады. B туын өзгертудің жалғыз жолы осы. Егер BRK нұсқауынан басқа нұсқау процессор күйінің бөлігі ретінде B туын стекке салса, B туының мәні әрқашан бір болады. SO кіріс тірегінің жоғарыдан төменге өтуі процессордың толып кету күйін белгілейді. Бұл сыртқы жабдыққа жылдам жауап беру үшін пайдаланылуы мүмкін. Мысалы, жоғары жылдамдықты сауалдау драйвері жабдықты тек үш цикл ішінде бір рет сауалдай алады, SO төмендегенге дейін өзіне тармақталатын Branch on oVerflow Clear (BVC) нұсқауын пайдалана отырып, толып кету орнатылғанға дейін. Commodore 1541 және басқа Commodore дискілері осы әдісті сериализатордың дискілік деректің тағы бір байтын беруге дайын екенін анықтау үшін қолданады. Жүйелік жабдық пен бағдарламалық жасақтама дизайны арифметикалық өңдеу кезінде SO пайда болмайтынын және есептеулерді бұзбайтынын қамтамасыз етуі керек.
16-биттік туындылар
Батыс дизайн орталығы 65C02 процессорының 16 биттік, статикалық өзектік мұрагері WDC 65C816S процессорын жобалап, қазіргі кезде өндіріп отыр. W65C816S – бұл Apple IIGS компьютерінің өзегі болып табылатын 65C816-ның жаңа нұсқасы, сонымен қатар Super Nintendo Entertainment System жүйесін қуаттандыратын Ricoh 5A22 процессорының негізі. W65C816S, 65C816-ға қарағанда шағын жақсартуларға ие, бұл жаңа чипті ескісімен толық аппараттық үйлесімділікке ие емес етеді. Осы жақсартулардың бірі – статикалық өзектікке өту, бұл тіркегіштер деректерін жоғалтпай, сағатты кез келген фазада тоқтатуға мүмкіндік береді. 2020 жылдың наурызынан бастап, W65C816S электрондық дистрибьюторлар арқылы қолжетімді және ресми түрде 14 МГц жиілікте жұмыс істеуге бағаланған. Батыс дизайн орталығы 65C802 процессорын да жобалап, өндірді, ол 65C816 өзегі болып табылады, 65(C)02 ұясымен үйлесімді корпуста 64 килобайттық адрестік кеңістікке ие. 65C802 процессорды 6502 платасына қосымша орнатуға болады және ол қосылған кезде "эмуляция режимінде" 65C02 ретінде жұмыс істейді. 65C816 сияқты, екі команда 65C802-ні "туған режимге" ауыстырады, осы арқылы 16 биттік аккумулятор мен индекс тіркегіштері, сондай-ақ басқа 65C816 мүмкіндіктері қолжетімді болады. 65C802 кеңінен қолданылмады және өндірісі тоқтатылды.