Set Instruksi
1) Tujuan
- Memahami representasi set instruksi dan jenis-jenis format instruksi
- Mengetahui jenis-jenis type operand yang digunakan
- Mengetahui jenis-jenis type operand yang digunakan
- Macam-macam mode pengalamatan
- Format instruksi
- Format instruksi pada Pentium
- Memahami implementasi set instruksi pada pentium II
2) Sasaran
· Pengetahuan tentang set instruksi sangat dirasakan manfaatnya oleh
programmer bahasa tingkat rendah, seperti bahasa assembler.
· Bagi programmer bahasa tingkat rendah sangat memerlukan informasi tentang
penggunaan register dan spesifikasinya, struktur memory, maupun format
instruksi.
· Memahas tentang karakteristik mesin instruksi, tipe-tipe operasi, mode
pengalamatan dan format instruksi.
3) Karakteristik instruksi mesin
Ä Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
Ä Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
Ä Mempelajari karakteristik instruksi mesin, meliputi:
- elemen-elemen instruksi mesin
- elemen-elemen instruksi mesin
- representasi instruksinya
- jenis-jenis instruksi
- penggunaan alamat
- rancangan set instruksi
Berikut penjelasannya :
1) Elemen Instruksi Mesin
Untuk dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas.
* Elemen – elemennya:
1. Operation Code (Opcode)
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3. Result Operand Reference
Merupakan hasil atau keluaran operasi.
4. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
* Operand dari Operasi
Melihat dari operasi, operand suatu operasi dapat berada di salah satu dari ketiga daerah berikut:
- memori utama atau memori virtual
- register CPU
- perangkat I/O
2) Representasi Instruksi
ð Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
ð Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
ð Layout instruksi dikenal dengan format instruksi.
Format Instruksi :
[opcode] [alamat]
* Kode operasi (opcode) direpresentasikan dengan singkatan-singkatan yang disebut mnemonic.
* Mnemonic mengindikasikan suatu operasi bagi CPU.
* Contoh mnemonic:
- ADD = penambahan
- SUB = subtract (pengurangan)
- LOAD = muatkan data ke memori
*Contoh representasi operand secara simbolik :
ADD X, Y
artinya: tambahkan nilai yang berada pada lokasi Y dengan isi register X dan simpan hasilnya di register X.
*Programmer dapat menuliskan program bahasa mesin dalam bentuk simbolik.
*Setiap opcode simbolik memiliki representasi biner yang tetap dan programmer dapat menetapkan lokasi masing-masing operand.
*Setiap opcode simbolik memiliki representasi biner yang tetap dan programmer dapat menetapkan lokasi masing-masing operand.
3) Jenis – jenis Instruksi
Contoh suatu ekspresi bilangan :
X = X + Y;
X dan Y berkorespondensi dengan lokasi 210 dan 211.
Pernyataan dalam bahasa tingkat tinggi tersebut menginstruksikan komputer untuk melakukan langkah berikut ini :
-Muatkan sebuah register dengan isi lokasi memori 210.
-Tambahkan isi lokasi memori 211 ke register.
-Simpan isi register ke lokasi memori 210.
Korelasi
-Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
-Dalam bahasa tangkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
-Dalam bahasa tangkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
-Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
-Dapat ditarik kesimpulan bahwa instruksi-instruksi mesin harus mampu mengolah data sebagai implementasi keinginan-keinginan kita.
-Terdapat kumpulan unik set instruksi.
4) Jumlah Alamat
o Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format masing-masing CPU.
o Ada format operasi yang menggunakan 3, 2, 1 dan 0 register.
o Umumnya yang digunakan adalah 2 register dalam satu operasi.
o Desain CPU saat ini telah menggunakan 3 alamat dalam satu operasi,
terutama dalam MIPS. (million instruction per second)
terutama dalam MIPS. (million instruction per second)
o Alamat instruksi yang lebih sedikit akan membuat instruksi lebih sederhana dan pendek, tetapi lebih sulit diimplementasikan fungsi-fungsi yang kita inginkan. Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana.
o Jumlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan eksekusi lebih cepat.
o Jumlah instruksi per program biasanya jauh lebih banyak. Pada jumlah alamat per instruksi banyak, jumlah bit dan referensi instruksi lebih banyak sehingga waktu eksekusi lebih lama. Diperlukan register CPU yang banyak, namun operasi antar register lebih cepat.
o Lebih mudah mengimplementasikan fungsi-fungsi yang kita inginkan.
o Jumlah instruksi per program jauh lebih sedikit.
o Untuk lebih jelas perhatikan contoh instruksi – instruksi dengan jumlah register berbeda untuk menyelesaikan persoalan yang sama.
Contoh penggunaan instruksi dengan alamat 1, 2 dan 3 untuk menyelesaikan operasi hitungan:
Y = (A – B) : (C + D * E)
Y = (A – B) : (C + D * E)
Contoh instruksi 2 dan 3 alamat
Instruksi 3 alamat
Instruksi Komentar
SUB Y, A, B Y =A — EI
MF’Y T, D, E T= D >< E
ADD T, T, C T=T + C
DIV Y, Y, T Y= Y + T
Instruksi 2 alamat
Instruksi Kommentar
MOVE Y, A Y = A
SUB Y, B Y = Y – B
MOVE T, D T = D
MPY T, E T = T E
ADD T, C T = T + C
DIV Y, T Y = Y + T
Contoh instruksi 1 alamat
Instruksi Komentar
LOAD D AC =D
MPY E AC = AC E
ADD C AC= AC + CSTOP Y Y = AC
LOAD A AC = A
SUB B AC = AC – B
DN Y AC =AC + Y
STOP Y Y= AC
Instruksi Keterangan isi stack
PUSH B B
PUSH A B.A
SUB A-B (A-B)
PUSH E (A·B).E
PUSH D (A-B).E.D
MUL D*E (A-B).(D*E)
PUSH C [A-B).(D*E).C
ADD C+(D*E) (A-B).(C+D*E)
DIV {A-B)/(C+(D*E)} (A-B)/(C+(D”E}}
ü Spesifikasi instruksi 3 alamat
ð Simbolik: a = b + c
ð Format alamat: hasil, operand1, operand2
ð Digunakan dalam arsitektur MIPS
ü Spesifikasi instruksi 2 alamat
ð Simbolik: a = a + b
ð Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk menyimpan hasilnya.
ð Tidak memerlukan instruksi yang panjang.
ð Jumlah instruksi per program akan lebih banyak dari 3 alamat.
ð Diperlukan penyimpanan sementara untuk menyimpan hasil.
ü Spesifikasi instruksi 1 alamat
ð Memerlukan alamat implisit untuk operasi
ð Menggunakan register accumulator (AC) dan digunakan pada mesin lama.
ð Spesifikasi instruksi 0 alamat
ð Seluruh alamat yang digunakan adalah implicit
ð Digunakan pada organisasi memori, terutama operasi stack
5) Rancangan Set Instruksi
Ø Aspek paling menarik dalam arsitektur komputer adalah perancangan ini berpengaruh banyak pada aspek lainnya.
Ø Set instruksi menentukan banyaknya fungsi yang harus dilakukan CPU.
Ø Set instruksi merupakan alat bagi pemrogram untuk mengontrol kerja CPU.
Ø Pertimbangan: kebutuhan pemrogram menjadi bahan pertimbangan dalam merancang set instruksi.
Masalah yang fundamental meliputi :
· Operation repertoire:
Berapa banyak dan operasi-operasi apa yang tersedia.
Sekompleks apakah operasi itu seharusnya
Sekompleks apakah operasi itu seharusnya
· Data Types:
Jenis data
Format data
· Instruction format:
Panjang instruksi
Jumlah alamat
Ukuran field
· Register:
Jumlah register CPU yang dapat direferensikan oleh instruksi dan fungsinya
Jumlah register CPU yang dapat direferensikan oleh instruksi dan fungsinya
· Addressing:
Mode untuk menspesifikasikan alamat suatu operand
Mode untuk menspesifikasikan alamat suatu operand
Tidak ada komentar:
Posting Komentar