Кіріспе
32 биттік микропроцессор
Motorola 68020 – Motorola компаниясының 1984 жылы шыққан 32 биттік микропроцессоры. Арзан нұсқасы да қолжетімді болды, ол 68EC020 деп аталды. Motorola дизайнына тән атау ережелеріне сәйкес, 68020 әдетте "020" деп аталады, оны "нол екі нол" немесе "нол жиырма" деп айтады. 020 нарықта салыстырмалы түрде аз ғана уақыт болды. Motorola 68030 1986 жылдың қыркүйегінде жарияланды және 1987 жылдың жазында жеткізілімдер басталды. Сол кездегі 020 бағасымен шамалас болғанымен, 030 әлдеқайда жылдам болды және дерлік барлық қолданыста 020-ні тез алмастырды.
68000 және 68010
Motorola 68000 жобаланған кезде Motorola-ның жобалау және өндіріс қызметтері көнеріп қалған еді. MOS Technology және Zilog сияқты тіпті шағын компаниялар үлкенірек кремний пластиналардағы кремний қақпалық азайту режиміндегі NMOS логикасына көшкенімен, Motorola әлі де металл қақпаларды және күшейту режимін пайдаланды, ал олардың ең ірі зауыты көптеген өндіріс желілері 5 дюймдік пластиналарға ауысқаннан кейін де 4 дюймдік пластиналарда жұмыс істеді. 68000 енгізілген кезде ең жылдам процессор болу мақсатына жеткенімен, ол заманауи технологиялармен жобаланғанда одан да қуатты болуға мүмкіндігі бар еді. 68000 жобаланған кезеңде компания Hitachi-мен олардың технологиялық процесі бойынша жұмыс істеді және осының аясында Intel-ден лицензия алған соңғы HMOS процесін пайдалана отырып, 5 дюймдік пластиналарды қолданатын MOS 8 жаңа зауытын ашты. Бұл желі жаңа технологиялардың барлығын жасауға қабілетті болды, бірақ 68000 олардың жұмыс істейтініне сенімді болғандықтан ескі жобамен алға жылжыды. Жаңа жобалау әдістеріне көшу жоба нарыққа шыққанша күтіп тұру қажет еді. Жаңа жобалау әдістеріне көшу Motorola 68010 жобасы аясында жүзеге асырылды, бұл Unix жұмыс станциялары нарығы үшін негізгі виртуалды жад қолдауын қосқан бастапқы жобаға қарағанда салыстырмалы түрде шағын жаңарту болды.
020-шы тұжырымдама пайда болды
Бұл күш-жігер жалғасып жатқан кезде Motorola клиенттерінен болашақ дамуларға қатысты тілектерін білу үшін сауалнама жүргізді. Барлық жауаптар толық 32 биттік жүйеге ұмтылуды көрсетті. Unix жүйелерінде 68k процессорын пайдаланатындар, егер қолжетімді болса, әрбір машинаға қозғалатын нүктелік процессор сатып алуға дайын екендерін мәлімдеді. Алғашқы 68000 процессоры негізінен 16/32 биттік гибридтік жүйе ретінде жасалған, себебі екі қатарлы корпуста (DIP) болатын контактілердің максималды саны 64-ке жететін, тіпті осы көлемде де монтаждау қиындықтар тудыратын. Адрестік контактілердің санын 24-ке, ал деректердік контактілерді 16-ға дейін азайту арқасында, үзілістер және қуат көздері сияқты қажетті барлық қосымша элементтерді орнатуға жеткілікті бос контактілер пайда болды. 24 контактілік адрес шинасы жадтың жалпы көлемінің 16 МБ-қа дейін шектелетінін білдірді, бұл сол кезде шектеуге айнала бастады. 16 биттік дерек шинасы 32 биттік сөзді жадтан оқу үшін екі шина циклын қажет етті. Егер адрес және дерек шиналары үшін 32 контактілі дизайн болғанда, деректерге қол жеткізу екі есе жылдамдатылып, машинаны басқа өзгерістерсіз де жылдамдататын еді. 32 биттік адрестеуге көшу виртуалды жадты іске асыруды жеңілдетіп, 16 МБ-тан астам жедел жадты пайдалануға мүмкіндік берер еді. Бірақ мұндай жағдай контактілердің жалпы санын күрт арттыруды талап ететін. 1980 жылдардың басында барлық заманауи процессорлардың ұқсас шектеулерінен туындап, DIP корпусын алмастырған контактілер тізбегі пайда болды. Жаңа жоба үшін Motorola 169 контактілі схеманы таңдады, бұл оларға жұмыс істеу үшін кең мүмкіндіктер берді. Ақырында, олардың тек 114-і қолданылды. Жаңа чиптің негізгі дизайсын маркетингтік материалдарда қалай атау керектігі туралы қызу пікірталас басталды. Техникалық тұрғыдан алғанда, 020 процессоры ұзақ жылдар бойы қолданылып келген NMOS логикалық дизайнынан CMOS схемасына көшті, ол әрбір логикалық элементке екі транзисторды қажет етеді. Сол кездегі жалпы түсінік бойынша, CMOS NMOS-тан төрт есе қымбатқа түсетін, ал нарықтың көп бөлігі "CMOS – нашар" деген пікірде болды.
Іске қосу, өндіріс мәселелері
Жоба 1983 жылдың жазында аяқталып, 1984 жылдың маусым айында жарияланды. Бұл "супер чип" сол кезде маңызды жаңалық болды, «Нью-Йорк Таймс» газеті оны бизнес бөлімінің басты мақаласына шығарды. Бастапқы бағасы 487 долларға бағаланды, бұл 1980 жылы шығарылған 68000 чипінің бастапқы бағасымен бірдей болды, бірақ 68000 қазір шамамен 15 долларға сатылатын. Дегенмен, жаңа чипті пайдаланатын компьютерлердің қолжетімді болуына біршама уақыт керек екені түсінікті болды, өйткені оның мүмкіндіктерін толыққанды пайдалану үшін қолданыстағы жобаларды күрт өзгерту қажет болатын. Бұл жаңалық Motorola компаниясының клиенттерінің үлкен сұранысын тудырды. Осы кезде өнімді қамтамасыз етуде қиындықтар пайда бола бастады. Чиптің өндірісі 68000 чипіне ұқсас MOS 8 зауытында жүзеге асырылатын болды, бірақ оны қолдау үшін бірнеше жаңа жабдықтар енгізілді. Бірақ, жаңа чиптің өнімділігі нөлдік болды. Яғни, көп қадамды өндіріс процесінен өткен әрбір кремний пластинадан бірде-бір жұмыс істейтін чип шығарылмайтын. Гари Джонсон мәселенің себебін MOS 8 зауытының басқарушысы Том Фелеси екенін анықтады және оны сол кезде MOS 2 зауытын басқарып тұрған Билл Уокермен алмастыруға шешім қабылдады. Уокер 1985 жылдың 5 шілдесінде зауытқа келгенде, Джонсон Фелесиге өзгеріс туралы ескертпегенін білді. Содан кейін пікір алмасу болды. Джонсон ақырында Фелесиге бұл өзгеріс орын алып жатқанын мәлімдеді. Уокер зауытты аралап, оның өндіріс желісі емес, ғылыми-зерттеу және әзірлеу зертханасына айналғанын, басқа еш жерде қолданылмаған көптеген жабдықтардың орналасқанын көрді. Бір маңызды мәселе – Genius компаниясынан алынған, силицид өндіретін жаңа жабдық болды. Машина жасай алмады. Уокер Калифорнияға ұшып барып, Genius компаниясының бас директорымен кездесті, ол тек ақталумен ғана жауап берді. Уокер ақырында үстелге соғып, сағатының белдігін сындырып, «Енді ақталудың қажеті жоқ! Мен бұл мәселені бүгін жөндеуді қалаймын!» деді. Genius компаниясы бұл талапты қабылдап, машинаны жөндеді. Кейіннен бас директор Уокерге осы оқиғаны еске түсіретін жаңа сағат белдігін жіберді. Осы уақытта Уокер MOS 8 зауытының жағдайын жақсарту үшін жаңа саясат енгізді. Ол әдетте таңғы сағат 6:30-да жиналыс өткізетін. Егер жағдай нашар болса, ол уақытын 5:30-ға, тіпті 4:30-ға дейін жылдыратын. Бұл зауытты іске қосуға күшті ынталандыру болды. Өндірістегі мәселелер тез арада шешіліп, сол жылдың соңында жаппай жеткізілімдер басталды. Осы кезде олардың жұмыс станцияларының клиенттері 020 және жаңа жылжымалы нүктелі процессор Motorola 68881-ді пайдалануға дайын толық жүйелерді әзірледі. Жүйелер 020 жарияланғаннан кейін бес-алты ай өткен соң ғана нарықта пайда болды.
Ауыстыру
020-ның дизайны дерлік бірден басталды. Hitachi компаниясымен үздіксіз жұмыс істеу барысында Motorola компаниясының өндіріс жүйесі, сондай-ақ ішкі жобалау ағыны бәсекелестерге жете бастады. Бұл оларға жұмыс істеу үшін көп мүмкіндік берді, үлкен процессор кэштерін, жадты басқару блогын (MMU) және басқа да мүмкіндіктерді қосуға жол ашты. Motorola 68030 1986 жылдың қыркүйек айында жарияланды, ал келесі жазда жеткізілімдер басталды. Өндіріс желілеріндегі өзгерістерге байланысты, жаңа 030-ның бастапқы бағасы 020-ге қарағанда төмен болды. 68000 мен 020 арасында маңызды айырмашылықтар болды, әсіресе 32 биттік жад интерфейсіне байланысты. Бұл оны қолданатын компьютерлердің дизайны бұрынғы үлгілерден едәуір өзгеше болуын қажет етті. Керісінше, 020 мен 030 арасында аз өзгерістер болды, соңғысы көптеген жағдайларда тікелей алмастырылатын болды. Осы себепті 030-ды қолданатын дизайн, оның шығарылымынан кейін 020-ге қарағанда әлдеқайда жылдам пайда болды. 020 процессорлы алғашқы Macintosh – 1987 жылдың наурыз айында шыққан Macintosh II, ол 020 кеңінен қолжетімді болғаннан кейін екі жыл өткен соң пайда болды. Бастапқы партия жеткізілімдері екі айдан кейін басталды. Тек он сегіз айдан кейін Macintosh IIx оны 030 процессормен алмастырды. IIx сол 16 МГц сағаттық жиілікте жұмыс істесе де, II-нің 2,6 МИПС-іне қарағанда 3,9 МИПС өнімділік көрсетті.
Сипаттама
68020 процессорда 32 биттік ішкі және сыртқы деректер мен адрес шиналары бар, ал ертерек 680x0 модельдерінде 16 биттік деректер және 24 биттік адрес шиналары болған. 68020 процессордың арифметикалық-логикалық құрылғысы (ALU) да түпкілікті 32 биттік, сондықтан ол бір сағат циклында 32 биттік операцияларды орындай алады, ал 68000 процессорда 16 биттік ALU болғандықтан кемінде екі сағат циклы қажет болды. Жаңа қаптамалау әдістері '020 процессорға бұрынғы екі қатарлы қаптамалау әдісіне қарағанда үлкен өлшемсіз көптеген сыртқы қосылымдарды орнатуға мүмкіндік берді. 68EC020 24 биттік адрес шинасы арқылы құнын төмендетті. 68020 процессорлары 12 МГц-тен 33 МГц-ке дейінгі жылдамдықпен өндірілді.
68010-ға қарағанда жақсартылған
68020 процессорда 32 биттік арифметикалық-логикалық құрылғы (ALU) және 32 биттік сыртқы деректер мен адрестік шиналар бар. Ол қосымша командалар мен адрестеу тәсілдерін қосады. 68020 (және 68030) процессорларында толыққанды үш сатылы конвейерлік желі бар. 68010 процессорда "цикл режимі" болғанмен, ол іс жүзінде өте шағын командалар кэші арқылы циклдарды жылдамдатып, тек екі қысқа команданы сақтайтын және сондықтан көбінесе қолданылмаған. 68020 процессор бұл мүмкіндікті 256 байттық командалар кэшімен алмастырды, бұл чиптегі нағыз кэш-жадына ие болған алғашқы 68k сериялы процессор. Алдыңғы 68000 және 68010 процессорлары жадтағы сөздік (16 биттік) және ұзын сөздік (32 биттік) деректерге тек сөздік шегіліс болған жағдайда (жұп мекен-жайда орналасқан) ғана қол жеткізе алатын. 68020 деректерге қол жеткізуде шегіліс жоқ. Әрине, шегіліссіз қол жеткізулер шегілісті қол жеткізулерге қарағанда баяу, себебі оларға қосымша жадқа қол жеткізу қажет. 68020 процессорда 64 төрт байттық жазба ретінде ұйымдастырылған 256 байттық тікелей карталанған командалар кэші бар. Шағын болғанымен, ол көптеген қосымшалардың өнімділігіне елеулі үлес қосты. Бұған байланысты шина трафигінің төмендеуі, әсіресе DMA-ға көп көз жабатын жүйелерде маңызды болды.
Копроцессорды қолдау
68020 процессоры сегізге дейін копроцессорды қолдайтын копроцессор интерфейсіне ие. Басты процессор (CPU) "F line" нұсқауларын (ең маңызды төрт опкод биті біріктірілген) таниды және осы нұсқауларды орындау үшін копроцессормен байланысу үшін арнайы шина циклдарын пайдаланады. Копроцессорлардың екі түрі анықталған: қозғалатын нүктелі процессорлар (MC68881 немесе MC68882 FPU) және беттік жадты басқару блогы (MC68851 PMMU). Бір CPU-мен тек бір PMMU-ны қолдануға болады. Теориялық тұрғыдан алғанда, бірнеше FPU-ны бір CPU-мен пайдалануға болады, бірақ мұндай жағдай сирек кездеседі. Копроцессор интерфейсі асинхронды болғандықтан, копроцессорларды CPU-дан өзге такталық жиілікте жұмыс істеуге болады.
Көп өңдеу мүмкіндіктері
Көппроцессорлық қолдау процесінде, өзгертү-жазу циклінің аяқталуын көрсету үшін RMC пині сыртқы түрде қолданылады. Барлық басқа процессорлар цикл аяқталғанға дейін жадқа қол жеткізуден бас тартуы керек. Көп өңдеуді бағдарламалық қолдау TAS, CAS және CAS2 нұсқауларын қамтиды. Көппроцессорлық жүйеде копроцессорларды процессорлар арасында ортақ пайдалану мүмкін емес. Копроцессордан қайтарылатын мәселелерді, шина қателерін және адрестік қателерді болдырмау үшін, көппроцессорлық жүйеде барлық процессорлардың бірдей модельде болуы және барлық FPU-лардың да бірдей модельде болуы қажет болды.
Нұсқаулар жиынтығы
Жаңа нұсқаулар супервайзерлік күйге шағын жақсартулар мен кеңейтулерді, көппроцессорлық жүйені бағдарламалық түрде басқаруға арналған бірнеше нұсқауларды (68060 процессорында жойылды), көп қолданылмаған жоғары деңгейдегі тілдерді қолдауды (кейінгі 680x0 процессорларынан алынып тасталды), үлкен көбейту (32 × 32→64 бит) және бөлу (64÷32→32 биттің бөліндісі және 32 биттің қалдығы) нұсқауларын, сондай-ақ биттік өрістермен жұмыс істеу мүмкіндіктерін қамтиды. Жаңа адрестеу режимдері көптеген бұрынғы режимдерге масштабталған индекстеу және қосымша деңгейдегі аралық адрестеуді қосады.
Сәулет
Motorola 68020 тіркелгілері 31 23 15 07 00 (бит позициясы) Дерек тіркелгілері D0 Дерек 0 D1 Дерек 1 D2 Дерек 2 D3 Дерек 3 D4 Дерек 4 D5 Дерек 5 D6 Дерек 6 D7 Дерек 7 Адрестік тіркелгілер A0 Адрес 0 A1 Адрес 1 A2 Адрес 2 A3 Адрес 3 A4 Адрес 4 A5 Адрес 5 A6 Адрес 6 Стек көрсеткіштері A7 / USP Стек көрсеткіші (пайдаланушы) A7' / SSP Стек көрсеткіші (көзбенші) Бағдарлама санағышы PC Бағдарлама санағышы Жағдай кодын тіркеуі 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (бит позициясы) T S M 0 I 0 0 0 X N Z V C CCR
Толық 32 биттік ішкі және сыртқы адрес шиналарымен, адрестік тіркелгілер (A0-ден A7-ға дейін) өздерінің толық 32 биттік енін пайдалана алады және 4 ГБ-қа дейінгі барлық адрес кеңістігін пайдалануға қабілетті болды. Адрес тіркелгілерінің үлкен тиімді ені "32 биттік таза" деп есептелмейтін бұрынғы бағдарламалық қамтамасыздар үшін кейбір мәселелер тудырды. Кейбір бағдарламалар әртүрлі флаг биттерін сақтау үшін адресстердің жоғары 8 битін (24-31 биттер) пайдаланды, осылайша ертерек 680x0 процессорлары осы жоғары биттерді қауіпсіз түрде елемейтінін түсінді. Мұндай бағдарламалық қамтамасыздар 68020 және одан кейінгі процессорларға қол жетімді үлкен физикалық адрес кеңістігіне бейімделу үшін қайта жазылуы керек болды.
Қолданылуы
68020 Apple Macintosh II және Macintosh LC жеке компьютерлерінде, Sun 3 жұмыс станцияларында, Amiga 1200 (68EC020 нұсқасы), Hewlett Packard 8711 сериялы желілік анализаторларында, HP 9000/320, HP 9000/330, Apollo Computer DN3000 және DN4000 жұмыс станцияларында және Alpha Microsystems AM 2000 компьютерлерінде қолданылды. 68020, Miracle Systems компаниясының Super Gold Card интерфейсіндегі Sinclair QL 68008 процессорының балама жаңартуы болды. Amiga 2500 және A2500UX үлгілері 68020, 68881 FPU және 68851 MMU процессорларымен бірге A2620 үдеткішімен (Accelerator) бірге жеткізілді. 2500UX үлгісі Amiga Unix жүйесімен бірге келді, оған '020 немесе '030 процессоры қажет болды. 80-жылдардың ортасынан 90-жылдардың соңына дейінгі көптеген цифрлық осциллографтар 68020 процессорын пайдаланды, соның ішінде LeCroy 9300 сериясы (жоғары деңгейдегі үлгілер, әсіресе "C" қосымшасы бар үлгілер, қуаттырақ 68EC030 процессорын қолданды; 68020 процессоры бар 9300 үлгілерін CPU тақтасын ауыстыру арқылы 68EC030-қа жаңартуға болады) және бұрынғы LeCroy 9400 сериясы (68000 процессорын қолданған 9400/9400A үлгілерінен басқа барлық үлгілер), сондай-ақ Tektronix TDS сериясының кейбір үлгілері. HP 54520, 54522, 54540 және 54542 үлгілері де 68020 процессорын, сонымен қатар 68882 FPU процессорын пайдаланады. Бұл процессор TGV пойыздарында рельстер арқылы пойыздарға жіберілетін сигналдық ақпаратты декодтау үшін де қолданылады. Ол Eurofighter Typhoon истребителінің ұшуды басқару және радарлық жүйелерінде қолданылады. Nortel Networks DMS 100 телефон станциясының коммутаторы да SuperNode есептеу ядросының алғашқы микропроцессоры ретінде 68020 процессорын пайдаланды.
Түрі
68EC020 – Motorola 68020-ның төмен қысқартылған нұсқасы. Басты айырмашылық – 68EC020 толық 68020-ның 32 биттік адрестік шинасының орнына 24 биттік адрестік шинаға ие, сондықтан ол тек 16 МБ жадты ғана адрестей алады. Amiga 1200 компьютері және Amiga CD32 ойын консолі арзан бағалы 68EC020 процессорын пайдаланады; Namco System 22, Taito F3 және Konami GX аркадтық тақталары да осы процессорды қолданды. Atari Jaguar II прототипі бастапқы Atari Jaguar консоліндегі 68000 процессорын алмастыру үшін жасалған. Ол сонымен қатар лазерлік принтерлерде де қолданылды. Apple оны LaserWriter IIx модельінде пайдаланды. Kodak оны Ektaplus 7016PS-де, ал Dataproducts LZR 1260 модельінде қолданды. 2014 жылы Rochester Electronics 68020 микропроцессорының өндірісін қайта жаңғыртты және ол бүгінге дейін қолжетімді.