Anda di halaman 1dari 27

ARSITEKTUR

SET INSTRUKSI
Pengertian Set Instruksi
• Set Instruksi (bahasa Inggris : Instruction Set, atau Instruction Set Architecture
(ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat
dilihat oleh para pemrogram.

• Secara umum, ISA mencakup jenis data yang didukung, jenis instruksi yang
dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan
interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).

• ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode)
yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain
prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa
mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer
digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola
68000, Sun SPARC, DEC Alpha, dan lain-lain.
KARAKTERISTIK DAN FUNGSI SET INSTRUKSI
Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau
dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine
instructions) atau instruksi komputer (computer instructions).Kumpulan dari
instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set
Instruksi (Instruction Set).
FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi
tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction
Format).

- OPCODE
- OPERAND REFERENCE
• JENIS-JENIS OPERAND Addresses (akan dibahas pada addressing
modes)

Numbers :
- Integer or fixed point
- Floating point
- Decimal (BCD)

Characters :
- ASCII
- EBCDIC

Logical Data : Bila data berbentuk binary: 0 dan 1


JENIS INSTRUKSI Data processing: Arithmetic
dan Logic Instructions
• Data storage: Memory instructions
• Data Movement: I/O instructions
• Control: Test and branch instructions
Elemen Set Instruksi
• Operation Code (Opcode), menspesifikasikan operasi yang akan dilakukan. Kode
operasi berbentuk kode biner. Dalam komputasi, sebuah opcode (disingkat dari
kode operasi) adalah bagian dari instruksi bahasa mesin yang menentukan
operasi yang akan dilakukan.

• Source Operand Reference, operasi dapat berasal dari lebih satu sumber.
Operand adalah input instruksi. Sumber dan hasil operand dapat berada di salah
satu dari ketiga daerah di bawah ini.
- Memori utama atau memori virtual dengan referensi alamat berikutnya, maka
alamat memori utama atau virtual harus diketahui.
- Register CPU : instruksi harus diberi nomor register yang dimaksud.
- Perangkal I/O : instruksi harus menspesifikasikan modul I/O yang diperlukan oleh
operasi.
Elemen Set Instruksi

• Result Operand Reference, merupakan hasil atau keluaran operasi. Result


Operand Reference : merupakan hasil dari operasi yang dilaksanakan.

• Next Instruction Reference, menginformasikan CPU untuk melakukan


instruksi berikutnya yang harus diambil dan dieksekusi atau juga
memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah
instruksi yang dijalankan selesai (fetching).
Jenis Instruksi
• lnstruksi-instruksi diklasifikasikan dalam tipe yang berbeda
berdasarkan faktor-faktor berikut :

•Opcode : kode operasi yang harus dikerjakan oleh instruksi.


•Data : tipe data : biner, desimal dan sebagainya.
•Lokasi operand : memori, register, dan sebagainya.
•Pengalamatan operand : metode penentuan lokasi operand (alamat).
•Panjang instruksi : satu byte, dua byte, dan sebagainya.
•Jumlah medan alamat : nol alamat, satu alamat, dua alamat, dan
sebagainya.
Jenis Instruksi
• Instruksi-instruksi dapat diklasifikasikan ke dalam delapan
jenis :

- lnstruksi transfer data : instruksi ini menyalin data dari satu register/lokasi
memori ke yang lainnya.
- lnstruksi aritmetika : instruksi ini melakukan operasi-operasi aritmetika.
- lnstruksi logika : instruksi ini melakukan operasi-operasi logika Boolean.
- lnstruksi transfer kontrol : instruksi ini modifikasi/mengubah urutan
eksekusi program.
- lnstruksi I/O : instruksi ini melakukan transfer informasi
antara peripheral eksternal dan inti sistem (CPU/memori).
- lnstruksi manipulasi strint : instruksi ini melakukan manipulasi
string byte, word, double word, dan sebagainya.
- lnstruksi Translate: instruksi ini melakukan konversi data dari satu format
ke format lain.
- lnstruksi kontrol prosesor: instruksi ini melakukan kontrol operasi prosesor.
Beberapa contoh instruksi untuk setiap jenis instruksi
Beberapa contoh instruksi untuk setiap jenis instruksi
Beberapa contoh instruksi untuk setiap jenis instruksi
Teknik Pengalamatan
Terdapat 2 cara yang biasa digunakan dalam penempatan operand instruksi yaitu pada
lokasi memori utama dan register CPU.

Jika operand ditempatkan pada memori utama, alamat lokasi harus diberikan oleh instruksi
dalam medan operand. Tidak perlu memberikan alamat secara eksplisit pada instruksi. Banyak
metode yang berguna yang dipakai untuk menentukan alamat operand. Mode yang berbeda
dalam penentuan alamat operand pada instruksi dikenal dengan addressing modes (mode
pengalamatan). suatu komputer bisa saja tidak menggunakan semua mode pengalamatan
tersebut.
Teknik Pengalamatan
Mode pengalamatan yang populer adalah :
- Pengalamatan immediate
- Pengalamatan langsung (absolut)
- Pengalamatan tak-langsung
- Pengalamatan tak-langsung register
- Pengalamatan register
- Pengalamatan indeks
- Pengalamatan relatif
- Pengalamata Base dengan indeks dan offset
Teknik Pengalamatan
Mengapa kita perlu begitu banyak mode pengalamatan?
Beberapa mode pengalamatan memberikan fleksibilitas pada pemrogram dalam menulis
program yang efisien (singkat dan cepat).

Berikut adalah tujuan yang memengaruhi arsitek komputer ketika memilih mode
pengalamatan :
- Mengurangi panjang instruksi dengan mempunyai medan yang pendek untuk alamat.
- Menyediakan bantuan yang tangguh kepada pemrogram untuk penanganan data
kompleks seperti pengindeksan sebuah array, kontrol loop, relokasi progam, dan
sebagainya.
Teknik Pengalamatan
Mode pengalamatan yang tepat yang digunakan oleh suatu instruksi ditunjukkan pada unit
kontrol, ada dua cara yaitu :

- Medan terpisah dalam instruksi menunjukkan mode pengalamatan yang digunakan


- Opcode sendiri yang secara eksplisit menunjukkan mode pengalamatan yang digunakan dalam
instruksi.
Macam-macam instruksi menurut jumlah
operasi yang dispesifikasikan
• O – Address Instruction
• 1 – Addreess Instruction.
• N – Address Instruction
• M + N – Address Instruction
Macam-macam instruksi menurut sifat akses
terhadap memori atau register

• 1. Memori To Register Instruction


• 2. Memori To Memori Instruction
• 3. Register To Register Instruction
Desain Set Instruksi

• Pekerjaan yang paling penting dan kompleks dalam mendesain komputer adalah
membuat set instruksi.

• Komputer era sebelumnya tidak melakukan perencanaan set instruksi. Kelemahan


desain set instruksi adalah mereka secara drastis memengaruhi ruang memori utama
karena panjang program (bahasa mesin). Karena itu, dalam desain yang baik,
perencanaan awal set instruksi memungkinkan kompiler membuat kode objek yang
kompak (tersusun baik dan padat) tersimpan pada ruang memori.
Desain Set Instruksi
Masalah rancangan yang fundamental meliputi :
- Operation repertoire :
• Berapa banyak dan operasi – operasi apa yang harus tersedia
• Sekompleks apakah operasi itu seharusnya
- Data types :
• Jenis data
• Format data
- Instruction format
• Panjang instruksi,
• Jumlah alamat,
• Ukuran field
- Registers
• Jumlah register CPU yang dapat direferensikan oleh instruksi, dan fungsinya
- Addressing
• mode untuk menspesifikasi alamat suatu operand
Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak
aspek, seperti :
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :- Source code compatibility- Object code Compatibility

Selain ketiga aspek tersebut juga melibatkan


1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan
berapa sulit operasinya
2. Data Types: tipe/jenis data yang dapat olahInstruction Format: panjangnya,
banyaknya alamat, dsb.
3. Register: Banyaknya register yang dapat digunakan
4.Addressing: Mode pengalamatan untuk operand
Desain Set Instruksi

Seorang arsitek komputer harus mempertimbangkan aspek-aspek berikut sebelum


menyelesaikan set instruksi :
• Kenyamanan pemrograman : Jumlah instruksi; pemrogram lebih suka mempunyai
sebanyak mungkin instruksi supaya operasi yang tepat dapat dikerjakan oleh rangkaian
instruksi. Tetapi mempunyai terlalu banyak instruksi dalam set instruksi menghasilkan
desain unit kontrol yang kompleks. Pendekodean instruksi memerlukan sirkuit dan
waktu yang besar.
• Pengalamatan yang fleksibel : Pemrogram senang jika memungkinkan semua mode
pengalamatan operand ada di dalam arsitektur. Hal ini memberikan fleksibilitas yang
banyak kepada pemrogram, walaupun desain unit kontrol menjadi kompleks.
Desain Set Instruksi
• Jumlah General Purpose Register (GPR) : Jika CPU mempunyai register yang banyak,
pemrogram memperoleh pemrosesan dan transfer data yang cepat. Tetapi, biaya
perangkat keras CPU meningkat dengan banyaknya

• Target segmen pasar : Sasaran bidang aplikasi untuk komputer memerlukan operasi-
operasi khusus untuk pemrosesan data yang efisien. Komputer saintifik harus
mempunyai aritmetika floating-point yang tingkat presisinya baik/tidak terlalu jelek.
Sedangkan komputer bisnis harus mendukung aritmetika desimal, dan komputer
hiburan harus mempunyai operasi-operasi multimedia.

• Kinerja sistem : Jika sebuah program mempunyai instruksi sedikit, kinerja sistem
meningkat karena waktu yang digunakan oleh CPU dalam pengambilan instruksi
berkurang. Untuk program yang pendek, instruksi yang digunakan harus instruksi
kompleks. Jadi, instruksi tunggal harus dapat melakukan beberapa mikrooperasi.
Pemrogram menyadari hal ini mengurangi ukuran program. Tapi di sisi lain menambah
kompleksitas unit kontrol dan waktu eksekusi instruksi.
Desain Set Instruksi
• Secara tradisional, superioritas suatu komputer ditentukan pada basis set
instruksinya. Jumlah total instruksi dan ketangguhan yang dimilikinya menjadi sangat
penting karena faktor tersebut berkontribusi pada efisiensi komputer. Program yang
efisien adalah bila program itu pendek dan menempati ruang memori yang sedikit.
waktu eksekusi juga merupakan faktor kunci.
• Kecenderungan sekarang adalah mengikuti penggunaan instruksi-instruksi sederhana
yang menghasilkan unit kontrol yang sederhana. Sirkuit CPU lebih penting dari ukuran
memori. Jadi, kecepatan CPU meningkat pada pemrosesan instruksi dari
arsitektur RISC.
• Pemilihan set instruksi untuk suatu komputer bergantung pada cara CPU disusun.
secara tradisional, ada tiga organisasi CPU dengan instruksi-instruksi spesifik tertentu :
- CPU berbasis akumulator
- CPU berbasis register
- CPU berbasis stack
Transfer Data
Instruksi tranfer data harus menetapkan :
• Lokasi operand sumber
• Lokasi operand tujuan
• Panjang data yang akan dipindahkan
• Mode pengalamatannya

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

Anda mungkin juga menyukai