Кіріспе

CPU архитектурасы

DLX (делюкс деп айтылады) – Джон Л. Хеннесси мен Дэвид А. Паттерсон жасаған RISC процессор архитектурасы, олар Стэнфорд MIPS және Беркли RISC жобаларының (сәйкесінше) негізгі авторлары, RISC дизайнының екі басты үлгісі (Беркли дизайнының атымен аталған). DLX, негізінен, тазартылған (және жаңартылған) қарапайым Stanford MIPS CPU болып табылады. DLX қарапайым 32 биттік жүктеу/сақтау архитектурасына ие, бұл қазіргі MIPS архитектуралы CPU-дан едәуір өзгеше. DLX басты назарда оқыту мақсатында жасалғандықтан, DLX дизайны университет деңгейіндегі компьютерлік архитектура курстарында кеңінен қолданылады. Екі белгілі "жұмсақ ядролы" аппараттық іске асыру бар: ASPIDA және VAMP. ASPIDA жобасы көптеген пайдалы мүмкіндіктерге ие ядроны құрады: ол ашық кодты, Wishbone-ды қолдайды, асинхронды дизайнға ие, бірнеше ISA-ны қолдайды және ASIC-те сынақтан өткен. VAMP – Verisoft жобасы аясында математикалық тұрғыдан тексерілген DLX нұсқасы. Ол PVS арқылы сипатталған, Verilog-та іске асырылған және Xilinx FPGA-да жұмыс істейді. Оның үстіне, компилятордан ядроға және TCP/IP-ге дейін толық жиын құрылды.

Тарих

Стэнфорд MIPS архитектурасында өнімділікті арттыру үшін қолданылатын әдістердің бірі – барлық нұсқауларды бір сағат циклында орындауға мәжбүрлеу болды. Бұл компиляторларды, егер нұсқау орындалуы бір сағаттан артық уақыт алатын болса, "бос операциялар" енгізуге мәжбүр етті. Осылайша, кіріс-шығыс операциялары (мысалы, жадқа қол жеткізу) осы мінез-құлықты күшейтті, нәтижесінде бағдарламаның көлемі жасанды түрде ұлғайды. Жалпы, MIPS бағдарламалары көптеген пайдасыз NOP нұсқауларын қамтуға мәжбүр болды, бұл көзделмеген салдар болды. DLX архитектурасы нұсқауларды бір сағат циклында орындауға мәжбүрлемейді, сондықтан бұл мәселеден қорғалған. DLX жобасында ұзақ нұсқауларды өңдеуге қазіргі заманғы тәсіл қолданылды: деректерді алға жіберу және нұсқауларды қайта реттеу. Бұл жағдайда ұзақ нұсқаулар функционалдық бөлімдерінде "тоқтатылады", содан кейін олар аяқталуға дайын болғанда нұсқау ағынына қайта енгізіледі. Сырттан қарағанда, бұл жобалау мінез-құлқы орындалудың тікелей жүргендей көрінуін қамтамасыз етеді.

Қалай жұмыс істейді

DLX нұсқауларын үш типке бөлуге болады: R, I және J типтері. R типіндегі нұсқаулар – үш регистрлік сілтемесі бар таза регистрлік нұсқаулар, олар 32 биттік сөзде орналасқан. I типіндегі нұсқаулар екі регистрді көрсетеді және 16 бит бірден мәнді сақтауға пайдаланылады. Ал J типіндегі нұсқаулар – 26 биттік адресті қамтитын секіру нұсқаулары. Опкодтардың ұзындығы 6 бит, яғни барлығы 64 негізгі нұсқау бар. 32 регистрдің біреуін таңдау үшін 5 бит қажет. R типіндегі нұсқаулар үшін 32 биттік сөздің 21 биті ғана қолданылады, бұл төменгі 6 битті «қосымша нұсқаулар» ретінде пайдалануға мүмкіндік береді. Егер нұсқаулар тек регистрлермен жұмыс істейтін болса, DLX 64-тен астам нұсқауды қолдай алады. Бұл мүмкіндік, мысалы, FPU қолдау үшін пайдалы.