Kompiuterių mikroarchitektūrinis lygmuo
Damušis, Eimantas |
Pagrindinė kompiuterio sudedamoji dalis yra duomenų traktas. Jį sudaro keletas registrų, dvi arba trys magistralės bei vienas ar keli funkciniai blokai, tokie kaip aritmetinis ir loginis įrenginys. Pagrindinis ciklas susideda iš keleto operandų iškvietimo, kurie yra registruose ir jų perdavimui magistralėmis į ALĮ ar kitą funkcinį bloką. Po šių operacijų įvykdymo rezultatai yra saugomi atgal į registrus. Duomenų traktas gali būti valdomas eiliškumo tvarka, kuri iškviečia mikroinstrukcijas iš atminties. Kiekvieną mikroinstrukciją sudaro bitai, kurie yra valdomi duomenų trakto vieno ciklo metu. Šie bitai nustato kuriuos operandus reikia išrinkti, kokią operaciją reikia atlikti ir ką reikia daryti su rezultatais. IJVM – mašina su stekine organizacija ir vieno baito operacijos kodu, kuris padeda žodžius į steką, taip pat juos paima iš steko ir atlieka įvairias operacijas su žodžiais iš steko. Kalbant apie kompiuterių produktyvumą galima paminėti, jog pagrindinis metodas yra dalinės atminties naudojimas. Tiesioginio atvaizdavimo ir asociatyvi tarpin÷ atmintis plačiai taikoma kreipimosi į atmintį pagreitinimui. Nagrinėti trys pavyzdžiai, Pentium II, UltraSPARC II ir picoJava II daugumoje atvejų skiriasi vieni nuo kitų, tačiau vykdant instrukcijas jie yra labai panašūs. Pentium II turi CISC tipo instrukcijas, kurias padalina į mikroinstrukcijas. Jos yra apdirbamos superskaliarinės architektūros instrukcijos su šakojimosi numatymu. UltraSPARC II yra modernus 64 bitų procesorius su RISC tipo instrukcijomis. Čia taip pat naudojama šakojimosi numatymo galimybė. PicoJava II yra daug paprastesnio dizaino procesorius priskiriamas prie pigesnių įrenginių. Tokiu būdu jis neturi dinaminio šakojimosi galimybių. Tačiau ši mašina sugeba įvykdyti JVM instrukcijas pakankamai greitai, jog atrodo, kad tai yra daroma su RISC sistema. Visos trys mašinos turi vienodus funkcinius blokus, kurie apdoroja trigubas registrines mikroinstrukcijas, kai šios praeina pro konvejerį.
The main component of the computer is a data path. It consists of several registers, two or three buses, one or more functional blocks, such as ALU. The primary cycle consists of a call of operands from registers. Operands are transferred to ALU by buses. After these operations, results are saved in again in the registers. The data path can be controlled by the sequence method, which calls the microinstruction from the memory. Every microinstruction consists of bits, which are controlled by data path in one cycle. These bits determine which operands they have to choose, what you need to execute and what to do with the results. IJVM – a machine with stack organization. It has one-byte operations, which places words on the stack, pushing them from the stack and carry out various operations with words from the stack. Our three examples, Pentium II, UltraSPARC II and picoJava II in many ways differs from each other, but surprisingly are similar in executing instructions. Pentium II takes CISC instructions and splits them into microinstructions. UltraSPARC II is a modern 64 – bit processor with instruction set of RISC. PicoJava II is a simple designed processor for lowcost devices. It has no such features like dynamic branch prediction, but it can execute JVM instructions rather quickly like its done with RISC instructions. All three machines contain similar functional blocks that can process three microinstructions when they pass through the conveyor.