Friday, April 30, 2010

Set Instruksi

By Andri Riantana   Posted at  11:52 PM   Sistem Operasi 1 comment

Set Instruksi

Tujuan

-Memahami representasi set instruksi dan jenis-jenis format instruksi.
-Mengetahui jenis-jenis type operand yang digunakan.
-Macam-macam mode pengalamatan
-Format instruksi
-Format instruksi pada pentium
-Memahami implementasi set instruksi pada pentium II


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.
-Bab ini juga akan membahas tentang karakteristik mesin instruksi, tipe-tipe operasi,
mode pengalamatan dan format instruksi.



Karakteristik instruksi mesin

1.Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU.
2.Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
3.Mempelajari karakteristik instruksi mesin, meliputi:
- elemen-elemen instruksi mesin
- representasi instruksinya
- jenis-jenis instruksi
- penggunaan alamat
- rancangan set instruksi



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.



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 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, yang dapat digolongkan dalam jenis-jenisnya, yaitu:
*.Pengolahan data (data processing)
Meliputi operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi
untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai
bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
*.Perpindahan data (data movement)
berisi instruksi perpindahan data antar register maupun modul I/O.
untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan
data operand yang diperlukan.
*.Penyimpanan data (data storage)
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting
dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya,
minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
*.Kontrol aliran program (program flow control)
berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.


4. Jumlah Alamat

-Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format masing-masing CPU.
-Ada format operasi yang menggunakan 3, 2, 1 dan 0 register.
-Umumnya yang digunakan adalah 2 register dalam satu operasi.
-Desain CPU saat ini telah menggunakan 3 alamat dalam satu operasi,
-terutama dalam MIPS. (million instruction per second)
-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.
-Jumlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan eksekusi lebih cepat.
-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.
-Lebih mudah mengimplementasikan fungsi-fungsi yang kita inginkan.
-Jumlah instruksi per program jauh lebih sedikit.
-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)


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 + C
STOP 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 implisit
-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
*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
*Addressing:
Mode untuk menspesifikasikan alamat suatu operand


Tipe Operasi

Dalam perancangan arsitektur komputer, jumlah kode operasi akan sangat berbeda untuk masing-masing komputer,
tetapi terdapat kemiripan dalam jenis operasinya.

Jenis operasi komputer

-Transfer data – konversi
-Aritmatika – input/output
-Logika – kontrol sistem dan transfer kontrol


Transfer Data

1.Instruksi transfer data harus menetapkan:
-Lokasi operand sumber
-Lokasi operand tujuan
-Panjang data yang akan dipindahkan
-Mode pengalamatannya

2.Apabila sebuah atau kedua operand berada di dalam memori, maka CPU harus melakukan sebagian atau seluruh tindakan berikut:
-Menghitung alamat memori, yang didasarkan pada mode alamat.
-Apabila alamat mengacu pada virtual memori harus dicari alamat memori sebenarnya.
-Menentukan apakah alamat berada dalam cache memori.
-Bila di cache tidak ada, dikeluarkan perintah ke modul memori.

1 comment:

  1. Makasih bgd artikelnya gan..dah ngebantu gw ngrjain tugas..pi ada g contoh instruksi yg 0 alamatnya??

    ReplyDelete

Back to top ↑
Connect with Us

© 2013 Istana. WP Mythemeshop Converted by Bloggertheme9
Blogger templates. Proudly Powered by Blogger.