Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Микропроцессордың үлгісі
Microprocessor model
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 процессорларында да осыған ұқсас мәселе туды.
The 68010 and 68012 are completely user mode compatible with the 68000, except that the MOVE from SR instruction traps in user mode, so that, to support user mode code using that instruction, a supervisor mode trap handler must simulate the instruction and continue the user mode code after that instruction. This was done so that the 68010 and 68012 would meet the Popek and Goldberg virtualization requirements, specifically that a new OS could run as guest and not be aware. A new unprivileged MOVE from CCR instruction was added to compensate for the penalty of trapping user mode MOVE from SR. The 68010 and 68012 can recover from bus faults, and continue the faulting instruction, allowing them to implement virtual memory. This means that the exception stack frame is different. A 32 bit Vector Base Register (VBR) holds the base address for the exception vector table. The 68000 vector table was always based at address zero. A "loop mode" accelerates loops consisting of only a "loopable" instruction and a DBcc (Decrement/Branch on condition); an example would be MOVE and DBRA. The two instruction mini loop opcodes are prefetched and held in the 6 byte instruction cache while subsequent memory read/write cycles are only needed for the data operands for the duration of the loop. It provided for performance improvements averaging 50%, as a result of the elimination of instruction opcodes fetching during the loop. The MC68012 variant, in addition to its memory space being extended to 2 GiB, also added a read modify write cycle (RMC) pin, indicating that an indivisible read modify write cycle in progress, in order to help the design of multiprocessor systems with virtual memory. The expansion of the memory space in the 68012 caused an issue for any programs that used the high byte of an address to store data, a programming trick that was successful with those processors that only have a 24 bit address bus (68000 and 68010). A similar problem affected the 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 дизайндарын қолданды.
The 68010 was never as popular as the 68000. However, due to the 68010's small speed boost over the 68000 and its support for virtual memory, it can be found in a number of smaller Unix systems, both with the 68451 MMU (for example in the Torch Triple X), and with a custom MMU (such as the Sun 2 Workstation, AT&T UNIX PC/3B1, Convergent Technologies MiniFrame, NCR Tower XP, Apollo Computer's DN300 and DN320, and HP 9000 Model 310) and various research machines. Most other vendors (such as Apple Computer) stayed with the 68000 until the 68020 was introduced. Atari Games used the 68010 in some of their arcade boards such as the Atari System 1. Some owners of Amiga and Atari ST computers and Sega Genesis game consoles replaced their system's 68000 CPU with a 68010 to gain a small speed boost. In practice, the overall speed gain over a 68000 at the same frequency is less than 10%. The 68010 could be used with the 68451 MMU. However, aspects of its design, such as its 1 clock memory access penalty, made this configuration unpopular. Some vendors used their own MMU designs, such as Sun Microsystems in their Sun 2 workstation and Convergent Technologies in the AT&T UNIX PC/3B1.