Kod dan struktur arahan
Domain Kod dan struktur arahan menguji sama ada anda faham bagaimana arahan yang ditulis manusia ditukar kepada arahan yang boleh dilaksanakan oleh pemproses, dan bagaimana satu atur cara disusun daripada bahagian-bahagiannya. Soalan lazim meminta anda membezakan aras kod, menterjemah satu pernyataan bahasa peringkat tinggi kepada beberapa arahan mesin, dan menjejak nilai daftar selepas satu jujukan arahan.
Aras kod
- Kod mesin: jujukan bit binari; satu-satunya bentuk yang difahami CPU; tidak mudah alih antara keluarga pemproses yang berbeza.
- Kod himpunan (assembly): mnemonik seperti
LOAD,ADD,STORE,HALT; satu arahan himpunan biasanya sepadan dengan satu arahan mesin; diterjemah oleh assembler. - Bahasa peringkat tinggi: satu pernyataan seperti
jumlah = a + bboleh menjadi beberapa arahan mesin; diterjemah oleh compiler (seluruh kod diterjemah sebelum dijalankan) atau interpreter (baris demi baris semasa dijalankan).
Struktur satu arahan
Setiap arahan mengandungi opcode (operasi yang hendak dibuat) dan operand (data atau alamat yang terlibat). Dalam ADD R1, R2, opcode ialah ADD manakala operand ialah daftar R1 dan R2. Operand boleh berbentuk nilai segera (LOAD 5), daftar, atau alamat memori.
Kitaran fetch–decode–execute
- Fetch: alamat dalam PC dihantar ke memori; arahan disalin ke CIR; PC ditambah supaya menunjuk arahan seterusnya.
- Decode: unit kawalan mentafsir opcode dan menentukan operand.
- Execute: operasi dijalankan; hasil disimpan dalam daftar atau memori.
Contoh berperingkat
Jujukan: LOAD 5, ADD 3, STORE X.
LOAD 5→ pemampan (accumulator) = 5.ADD 3→ operand ialah nilai segera, jadi pemampan = 5 + 3 = 8.STORE X→ kandungan pemampan disalin ke lokasiX; pemampan kekal 8 kerana STORE tidak mengosongkannya.
Perangkap yang menghilangkan markah
- Menyatakan compiler yang menjalankan program; compiler hanya menterjemah kepada kod objek.
- Menukar opcode dengan operand, atau menganggap
ADD 3menambah nilai yang tersimpan di alamat 3. - Menganggap satu pernyataan peringkat tinggi = satu arahan mesin.
- Terlupa PC ditambah semasa fetch, bukan selepas execute.