Кіріспе

R800 – MSX Turbo R үй компьютерінде қолданылатын орталық процессор. R800 Жапонияның ASCII Corporation компаниясымен жобаланып, Mitsui & Co компаниясымен құрастырылған. Мақсаты – Z80 процессорымен, демек MSX бағдарламалық қамтамасымен толық үйлесімді, сонымен қатар ескі MSX Z80 негізіндегі аппараттық құралдармен де үйлесімділікті сақтайтын, заманауи және конвейерлік CPU құру болды.

Бір-біріне үйлесімділік

MSX Turbo R-ді әзірлеу кезінде ASCII корпорациясы Z80-мен үйлесімді және үйлесімсіз әртүрлі процессорларды кандидаттар ретінде қарастырды. Сол кезде компанияның қызметкері Кадзуя Кисиока (岸岡和也) Z80-дің жоғары жылдамдықты нұсқасы болып табылатын және MSX архитектурасына кеңінен бейімделген ASIC-ті зерттеді және әзірледі. Ескі MSX бағдарламалық қамтамасымен бағдарламалық үйлесімділікті қамтамасыз ету үшін R800 Z80-мен бірдей нұсқаулар жиынтығын пайдаланады, сонымен қатар 8x8 биттік және 16x16 биттік көбейту нұсқаулары сияқты шағын, бірақ пайдалы қосымшалар бар – MULUB (8 бит) және MULUW (16 бит). Сонымен қатар, көптеген құжатталмаған Z80 нұсқаулары ресми мәртебе алды, IX және IY 8 биттік регистрлер ретінде қолданылатын нұсқаулардың барлық опкодтары да олардың ішінде (IXH, IXL, IYH, IYL). R800 тікелей Z80-ге негізделмеген, бірақ Z800 отбасынан туындағандықтан, Z80-дің кейбір басқа құжатталмаған мүмкіндіктеріне ие емес. Мысалы, F регистрінің 3 және 5-ші біттерінде көрсетілген құжатталмаған флагтар Z80-дегідей мәндерге ие болмайды (бұл ZEXALL сынақтарында сәтсіздікке әкеледі), ал SLL деп аталатын құжатталмаған опкод SLA нұсқаулығының псевдонимі ғана.

Жабдықтардағы өзгерістер

R800 моделі жаңадан жасалғандықтан, бұрынғы Z80-ден едәуір өзгеше болды. Бұл өзгерістер Z800, Z280, Z380 және eZ80 процессорларының Z80 үйлесімді желілеріне ұқсас еді. Алғашқы Z80 ішкі жағынан ерекше 4 биттік ALU аппараттық құрылғысын қолданды, бұл толыққанды 8 биттік ALU логикасын пайдаланатын басқа процессорлармен (мысалы, оның тікелей алдағысы Intel 8080) бәсекелесе алатын шешім болды. Дегенмен, R800 жасаушылары оның конвейерлік орындалуын жақсарту үшін толық 16 биттік ALU-ны енгізді. Z80-де 11 сағаттық циклді қажет ететін ADD HL, BC сияқты командалар, R800-де кейбір жағдайларда бір ғана шина циклінде (1-2 сағат) орындалуы мүмкін, бұл толық енді ALU арқасында мүмкін болған конвейерлік жүйенің нәтижесі. Бұл жаңа MSX-те процессордың максималды сағаттық жиілігі 14.32 МГц-ге жетті – бұл ескі MSX-те қолданылған бастапқы 3.57 МГц жиілігінен төрт есе жоғары, ал шина жиілігі 7.16 МГц-ке дейін артты. Ескі құрылғылармен үйлесімділікті сақтау үшін дерек шинасы 8 биттік қалды.

Сыртқы жабдық

Мұның бәрі тек MSX Turbo R-де қолданылатын жылдам жадқа қатысты. Картридж ұясы арқылы қосылған сыртқы аппараттық құрылғылар Z80-ге ұқсас уақыт өлшемдерін пайдаланады. Тіпті Turbo R-дің ішкі ROM-ы да осы дерек алу схемасы үшін жеткілікті жылдам емес, сондықтан Turbo R-дегі қосымша чиптер ROM мазмұнын жадқа көшіріп, оның жұмысын жылдамдата алады.