Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
MIC 1 – Эндрю С. Таненбаумның «Структураланған компьютер ұйымы» атты оқулығында қарапайым, бірақ толық мысал ретінде қолдану үшін ойлап тапқан процессор архитектурасы. Ол 512 сөздік жадтан микрокодты орындайтын өте қарапайым басқару блогынан тұрады. Micro Assembly Language (MAL) IJVM интерпретаторын оңай жазуға мүмкіндік беру үшін жасалған, ал мұндай интерпретатордың бастапқы коды оқулықта келтірілген.
The MIC 1 is a processor architecture invented by Andrew S. Tanenbaum to use as a simple but complete example in his teaching book Structured Computer Organization. It consists of a very simple control unit that runs microcode from a 512 words store. The Micro Assembly Language (MAL) is engineered to allow simple writing of an IJVM interpreter, and the source code for such an interpreter can be found in the book.
Деректер жолы
Деректер жолы MIC 1-дің ядросы болып табылады. Онда 32 биттік тіркегіштер, шиналар, арифметикалық-логикалық құрылғы және ығыстырғыш бар.
The data path is the core of the MIC 1. It contains 32 bit registers, buses, an ALU and a shifter.
Тіркелімдер
Тізілімдер 2 басқару желісі арқылы таңдалады: біреуі B шинасын қосуға, екіншісі C шинасын қосуға арналған. B шинасын бір уақытта тек бір тізілім ғана қоса алады, себебі екі тізілімнен бірден деректерді беру осы деректерді қарама-қайшы етеді. Керісінше, C шинасын бір уақытта бірнеше тізілім қоса алады; шындығында, C шинасындағы ағымдағы мәнді бірнеше тізілімге қатесіз жазуға болады. Оқу және жазу операциялары 1 такталық цикл ішінде жүзеге асырылады. MBR тізілімі – тек оқуға арналған тізілім, және ол 2 басқару сызығын қамтиды. Бұл 8 биттік тізілім болғандықтан, оның шығысы B шинасының ең кіші маңызды 8 битіне қосылған. Ол өзінің шығысын 2 тәсілмен беруге орнатылуы мүмкін:
Registers are selected by 2 control lines: one to enable the B bus and the other to enable the C bus. The B bus can be enabled by just one register at a time, since the transfer of data from 2 registers at the same time, would make this data inconsistent. In contrast, the C bus can be enabled by more than 1 register at the same time; as a matter of fact, the current value present in the C bus can be written to more than 1 register without problems. The reading and writing operations are carried out in 1 clock cycle. The MBR register is a readonly register, and it contains 2 control lines. Since it is an 8 bit register, its output is connected to the least significant 8 bits of the B bus. It can be set to provide its output in 2 ways:
2-лік толықтыру (MBR): егер ол теріс сан болса, B шинасының қалған 24 биті 1-ге орнатылады, немесе егер ол оң сан болса, 0-ге орнатылады (белгі кеңейтілуі). Толықтырусыз (MBRU): қалған 24 бит (барлығы 32 бит) 0-ге орнатылады.
2's complement (MBR): all the remaining 24 bits of the B bus are set to 1, if it's a negative number, or they are set to 0, if it's a positive number (sign extension). Without complement (MBRU): the remaining 24 bits (of 32 total) are set to 0.
Ауыспалы
Ауыстырғышта 32 биттік кіріс және шығыс бар. Шығыс тікелей C шинасына қосылған. Ауыстырғыш логикалық және арифметикалық жылжыту операцияларын жүзеге асыру үшін қолданылады, SLL8 (Shift Left Logical) және SRA1 (Shift Right Arithmetic) басқару сигналдарын тиісінше орнату арқылы.
The shifter contains a 32 bit input and output. The output is connected directly to the C bus. The shifter is used to perform logical and arithmetic shift operations, by simply setting respectively the control signal SLL8 (Shift Left Logical) and SRA1 (Shift Right Arithmetic).