DLX

Mula sa Wikipedia, ang malayang ensiklopedya
(Idinirekta mula sa DLX Microprocessor)

Ang DLX (bigkas: Deluxe) ay isang Reduced Instruction Set Computer (RISC) processor na nilikha nina John L. Henessy at David A. Patterson. Ito ay nakabatay at may pagkakahawig sa MIPS processor. Ang pangunahing layunin sa paggawa nito ay para sa pagtuturo at pagpapalawak ng kaalaman tungkol sa pagsasakatuparan ng disenyo ng isang processor kaya naman mas simple ito kumpara sa MIPS. Ito ay batay at sumusunod sa disenyo at panuntunan ng RISC. Ito rin ay may 32-bit load/store architecture at mayroong 32-bit general purpose registers. Ang mga instraksyon na ginagawa nito ay mayroong pinagbabatayang permanenteng ayos (fixed instruction format). Ang mga instruksyon na ito ay maaring nakaayos gamit ang R-type, I-type, o J-type na format. Ang R-type ay karaniwang ginagamit para sa mga instruksyon na gumagamit ng mga halaga (value) o operando na kinukuha sa rehistro. Ang I-type naman ay sinusunod sa mga instruksyon na nangangailangan ng halaga mula sa rehistro at isang kagyat na halaga (immediate value). Samantalang ang J-type ay ginagamit kapag nagsasagawa ng mga instruksyon ukol sa jump. Dahil sa sumusunod ito sa pamantayang simple, ang 32-bit na instraksyon ay naglalaan ng unang anim na bit mula sa kaliwa (most significant bit) para sa kodigong operasyon o pagkikilanlan ng kung anong instraksyon ang nais gawin. Ito ay sinusunod sa tatlong uri ng format na nabanggit. Samantalang ang mga natitirang mga bit ay hinahati depende sa format ng instruksyon.

Ang DLX ay gumagamit ng konsepto ng pipelining na isang paraan ng pagpapaganda ng pagganap ng isang processor sa pamamagitan ng mas madaming natatapos na instruksyon (throughput) sa parehong oras na ginugugol kumpara sa single-cycle datapath implementation. Ito ay nahahati sa limang bahagi at gumagamit ng pipeline registers; ang IF, ID, EXE, MEM, at WB stage. Sa bahagi ng IF nagaganap ang pagkuha ng 32-bit na instruksyon mula sa lagayan ng instruksyon (instruction memory) na siyang pinoproseso sa bahagi ng ID. Sa ID, nalalaman kung anong instruksyon ang kinakailangang gawin gayundin ang pagkuha ng mga halaga para sa mga operando mula sa register file. Nandito rin ang control unit na naglalabas ng mga hudyat para sa iba't ibang bloke na bumubuo sa processor. Samantala, sa EXE naman matatagpuan ang ALU. Dito isinasagawa ang mga operasyong aritmetika at lohika. Sa bahagi naman ng MEM ginagawa ang pagkuha at paglalagay ng mga halaga sa memorya depende sa hinihingi ng instruksyon. At panghuli, sa WB (write-back) naman ginagawa ang pagsusulat sa rehistro ng halaga na maaring mula sa memorya o kaya ay sa ALU.