Кіріспе

1990 жылдардағы микропроцессор дизайны

AT&T Hobbit – 1990 жылдардың басында AT&T Corporation компаниясы әзірлеген микропроцессор дизайны. Ол компанияның CRISP (C language Reduced Instruction Set Processor) дизайны негізінде құрылған, бұл классикалық RISC құбыр желісіне ұқсас және ол өз кезегінде 1980 жылдардың соңында Bell Labs компаниясы жасаған C машинасының дизайнынан дамыған. Барлығы C бағдарламалау тілінен жинақталған кодты орындауға бағытталған. Дизайн жылдам нұсқауларды түсіндіруге, индекстелген массивтерге қол жеткізуге және процедураларды шақыруға шоғырланған. Жоба 1994 жылдың наурыз айында тоқтатылды, себебі Hobbit коммерциялық сәттілікке жете алмады.

Дизайн

Жүктілік-қойма архитектурасын іске асыратын дәстүрлі RISC жобасында жадқа деректерді тіркелімдерге тікелей жүктейтін және деректерді жадқа қайта сақтайтын нұсқаулар арқылы қол жеткізіледі, ал деректерді өңдейтін нұсқаулар тіркелімдерде ғана жұмыс істейді. Деректерді өңдеу операцияларын бір сағат циклымен шектеу арқылы нұсқауларды жіберу үшін қарапайым басқару механизмін қолдануға болады, бұл нұсқау құбырларын баптауды жеңілдетеді және суперскалярлық қолдауды қосуға мүмкіндік береді. Алайда, бағдарламалау тілдері осылай жұмыс істемейді. Олар әдетте жергілікті айнымалылар мен басқа да ақпаратты қамтитын стек қолданады, ол процедуралар үшін стектік кадр немесе белсендіру жазбасы деп аталады. Компилятор процессордың жүктемелік-қойма дизайнын пайдалана отырып, белсендіру жазбаларын құру үшін код жазады. CRISP іске асылымындағы C машинасы және одан кейін дамыған Hobbit екеуі де бағдарламалау тілдері қолданатын жадқа қол жеткізу түрлерін қолдауға бағытталған, C бағдарламалау тіліне ерекше мән беріледі. Олар бағдарламалық стек жоғарғы жағына сәйкес келетін адрес кеңістігіне бейімделеді және тек стекке қатысты адрестеу режимін пайдаланып қол жетімді болады. CRISP архитектурасы "2½ адрестік жадтан жадқа машина" деп сипатталды, онда нұсқаулар нөл, бір немесе екі жад адресін пайдалана алады және есептеу нәтижелерін сақтау үшін аккумулятор деп аталатын стек жазбасын қолдана алады. Bellmac 32 архитектурасын еске түсіретін CRISP архитектурасы процедура шақыруын қолдау үшін арнайы нұсқаулар жиынтығын ұсынады: call – қайтару адресін сақтап, процедураға өтеді; enter – процедура үшін стектік кадрды бөліп, қажет болса стек кэш жазбаларын тазартады; return – стектік кадрды босатып, шақырушының қайтару адресіне өтеді; catch – жадтан стек жазбаларын қалпына келтіреді. Android (Dalvik), Parrot және Lua үшін жасалған VM-дер де тіркелімге негізделген.