Кіріспе

Микропроцессордың үлгісі

68010/68012 және 68000 арасындағы айырмашылықтар

68010 және 68012 процессорлары 68000-мен толыққандай пайдаланушы режимінде үйлесімді, бірақ SR регистрінен MOVE нұсқауын орындау пайдаланушы режимінде қатеге (trap) түсіреді. Сондықтан, осы нұсқауды қолданатын пайдаланушы режиміндегі кодты қолдау үшін, бақылаушы режиміндегі қатеге түсіруді басқарушы (trap handler) осы нұсқауды симуляциялап, содан кейін пайдаланушы режиміндегі кодты жалғастыруы керек. Бұл 68010 және 68012 процессорларының Попек пен Голдбергтің виртуализациялау талаптарына сай болуы үшін жасалды, атап айтқанда, жаңа операциялық жүйе (ОЖ) қонақ ретінде жұмыс істеп, оның виртуализацияланғанын білмеуі үшін. SR регистрінен MOVE нұсқауын орындаудың қатеге түсіруінің салдарынан туындаған кемшілікті өтеу үшін, CCR регистрінен жаңа, артықшылықтары жоқ MOVE нұсқаулы қосылды. 68010 және 68012 процессорлары шинадағы қателерден қалпына келіп, қате тудырған нұсқауды жалғастыра алады, бұл оларға виртуалды жадты іске асыруға мүмкіндік береді. Бұл ерекше жағдайлар стегінің (exception stack frame) құрылымының өзгеше болуын білдіреді. 32 биттік Векторлық Базалық Регистр (VBR) ерекше жағдайлар векторының кестесіне арналған базалық адресті сақтайды. 68000 процессорларының векторы кестесі әрқашан нөлдік адрестен басталады. "Loop mode" (цикл режимі) тек "loopable" нұсқаулы мен DBcc (Decrement/Branch on condition) нұсқаулынан тұратын циклдарды жеделдетеді; мысалы, MOVE және DBRA нұсқаулы. Екі нұсқаулықтан тұратын шағын циклдың операциялық кодтары (opcode) алдын ала оқылып, 6 байттық нұсқаулық кэшінде сақталады, ал циклдің ішіндегі жадтан деректерді оқу/жазу операциялары тек дерек операторлары үшін ғана қажет болады. Бұл цикл кезінде нұсқаулық кодтарын оқу қажеттілігін болдырмау арқасында орташа есеппен 50%-ға дейін өнімділікті арттыруға мүмкіндік берді. MC68012 нұсқасы, жад кеңістігін 2 Гигабайтқа дейін кеңейтумен қатар, виртуалды жады бар көппроцессорлық жүйелерді жобалауға көмектесу үшін оқу-өзгерту-жазу (RMC) тірегін қосты, бұл үзіліссіз оқу-өзгерту-жазу операциясы жүріп жатқанын көрсетеді. 68012 процессорларындағы жад кеңістігінің кеңеюі, деректерді сақтау үшін мекенжайдың жоғары байтын пайдаланған бағдарламалар үшін мәселе тудырды, бұл тек 24 биттік мекенжай шинасы бар процессорларда (68000 және 68010) сәтті қолданылған бағдарламалау тәсілі еді. 68020 процессорларында да осыған ұқсас мәселе туды.

Қолданылуы

68010 процессоры 68000 процессорындай кең таралған жоқ. Дегенмен, 68010 процессоры 68000-ға қарағанда сәл жылдам жұмыс істегені және виртуалды жадты қолдағандықтан, оны көптеген кішігірім Unix жүйелерінде кездестіруге болады. Олар 68451 MMU (мысалы, Torch Triple X-те) және арнайы MMU (мысалы, Sun 2 Workstation, AT&T UNIX PC/3B1, Convergent Technologies MiniFrame, NCR Tower XP, Apollo Computer-дің DN300 және DN320, сондай-ақ HP 9000 Model 310) және түрлі зерттеу машиналарында қолданылған. Көптеген өндірушілер (мысалы, Apple Computer) 68020 процессоры шыққанша 68000 процессорымен жұмыс істеді. Atari Games компаниясы 68010 процессорын өздерінің кейбір аркадтық тақталарында, мысалы Atari System 1-де пайдаланды. Amiga және Atari ST компьютерлерінің, сондай-ақ Sega Genesis ойын консольдерінің кейбір иелері жылдамдықты сәл арттыру үшін жүйедегі 68000 процессорын 68010 процессорымен ауыстырды. Іс жүзінде, бірдей жиілікте 68000 процессорымен салыстырғанда жылдамдықтың жалпы артуы 10%-дан кем. 68010 процессорын 68451 MMU-мен де пайдалануға болады. Алайда, оның дизайнының кейбір ерекшеліктері, мысалы, жадқа бір сағаттық кіру кешігуі, осы конфигурацияны танымал ете алмады. Кейбір өндірушілер, мысалы Sun Microsystems (Sun 2 жұмыс станциясында) және Convergent Technologies (AT&T UNIX PC/3B1-де) өздерінің MMU дизайндарын қолданды.