Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi
tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction
Format).
•Format Opcode
Format opcode adalah sebuah format yang menentukan operasi-operasi yang akan
dilakukan (misalnya: ADD,I/O). Operasi itu dispesifilan oleh sebuah kode biner, dikenal sebagai kode
operasi.
Di dalam computer, instruksi dipresentasikan oleh sehimpunan bit. Himpunan bit ini dibagi menjadi
beberapa bidang, dengan bidang-bidang ini berkaitan dengan elemen-elemen yang akan memuat
instruksi. Layout instruksi ini dikenal sebagai bentuk instruksi. Contoh yang sederhana ditunjukkan
pada gambar. Pada sebagian besar set instruksi, dapat digunakan lebih dari satu bentuk. Selama
berlangsungnya eksekusi instruksi, instruksi dibaca ke dalam register instruksi yang terdapat dalam
CPU. Untuk melakukan operasi yang diperlukan, CPU harus dapat mengeluarkan data dari berbagai
bidang instruksi. Opcode direpresentasikan dengan singkatan-singkatan, yang disebut mnemorik,
yang mengindikasikan operasi, contohnya adalah: ADD Add (Menambahkan),SUB Substract
(Pengurangan),MPY Multiply (Perkalian),DIV Divide (Pembagian0),LOAD Muatkan data data dari
memori,STOR Simpan data ke memori.
-Bentuk instruksi:
•Format instruksi 3 alamat
Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu
alamat hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk
algoritmik : Y := A — B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B,
kemudian simpan hasilnya di reg Y. Bentuk bentuk pada format ini tidak umum digunakan di dalam
computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register
sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A — B) / ( C + D × E)
SUB Y, A, B Y := A — B
MPY T, D, E T := D × E
ADD T, T, C T := T + C
DIV Y, Y, T Y:= Y / T
Memerlukan 4 operasi
Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A — B) / ( C + D × E)
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
Memerlukan 6 operasi
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A — B) / ( C + D × E)
PUSH A S[top] := A
PUSH B S[top] := B
SUB S[top] := A — B
PUSH C S[top] := C
PUSH D S[top] := D
PUSH E S[top] := E
MPY S[top] := D × E
ADD S[top] := C + S[top]
DIV S[top] := (A — B) /S[top]
POP Y Out := S[top]
• Format Operand
Format instruksi menentukan layout bit suatu instruksi dan harus mencakup opcode dan
secara implisit atau eksplisit, nol operand atau lebih. Suatu instruksi terdiri dari beberapa field yang
sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai
Format Instruksi (Instruction Format). Kolom operand, disebut juga address field, dapat berisi
data/konstanta yang langsung dipakai pada operasi kode operasi atau alamat lokasi dimana data
disimpan.
Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode
pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing. Direct
addressing adalah mode pengalamatan yang operand-nya merupakan alamat memori yang sebenarnya.
Indirect addressing adalah mode pengalamatan yang operand-nya berisi alamat memori yang berisi
data yang sebenarnya. Immediate addressing adalah mode pengalamatan yang operand-nya
merupakan data yang sebenarnya.
Dalam set instruksi, terdapat beberapa jenis type operand yang digunakan, yaitu:
- Register operand: operand yang berisi nilai dari register tertentu.
- Memory operand: operand yang berisi nilai dari lokasi memori tertentu.
- Immediate operand: operand yang berisi nilai konstan atau data yang langsung digunakan dalam
operasi.
- I/O operand: operand yang berisi nilai dari port I/O tertentu.
- Flag operand: operand yang berisi nilai dari suatu flag register.
Setiap jenis operand memiliki format yang berbeda-beda dan harus didefiniskan secara jelas di
dalam set instruksi. Operand-operand juga direpresentasikan secara simbolik. Misalnya instruksi ADD
R,Y Berarti tambahkan niali yang terdapat pada lokasi Y ke isi register R. Dalam contoh ini, Y
berkaitan dengan alamat lokasi di dalam memori, dan R berkaitan dengan register tertentu. Perlu
dicatat bahwa operasi dilakukan terhadap isi alamat, bukan terhadap alamatnya.Sehingga adalah
mungkin untuk menuliskan program bahasa mesin dalam bentuk simbolik. Setiap opcode simbolik
memiliki representasi biner yang tetap, dan pemrograman dapat menetapkan masing-masing operand
simbolik. Misalnya, pemrograman dapat memulainya dengan definisi-definisi:
X=523
Y=514
dan seterusnya. Sebuah program yang sederhana akan menerima input simbol ini, kemudian
mengkonversiakn opcode dan acuan operand menjadi bentuk biner, dan akhirnya membentuk
instruksi mesin biner.
4.1.2 Contoh-contoh format yang digunakan dalam berbagai arsitektur komputer
Berikut adalah beberapa contoh format umum yang digunakan dalam arsitektur komputer:
1. ** Format instruksi**: Menentukan bit layout dari sebuah instruksi. Ini harus menyertakan
sebuah opcode dan secara implisit atau eksplisit, nol atau lebih operan.
2.**Instruksi pemrosesan data**: Ini adalah aritmetika dan instruksi logika.
3. **Instruksi penyimpanan data**: Ini adalah instruksi memori.
4. **Instruksi transfer data**: Ini adalah instruksi I/O.
5 . ** Instruksi kontrol**: Ini adalah instruksi pemeriksaan dan pencabangan.
6**Mode pengalamatan**: Menentukan bagaimana operan diakses.
7. **Format memori**: Menentukan bagaimana data dan instruksi disimpan dalam memori.
8. **Operand**: Data atau register yang sedang dioperasikan oleh suatu instruksi.
9. **Instruksi**: Seperangkat aturan yang digunakan komputer untuk melakukan operasi
tertentu.
4.2.2 Hubungan antara encoding dengan format instruksi dan implementasi arsitektur komputer
Encoding dan format instruksi memiliki hubungan yang erat saat memproses data di komputer.
Berikut adalah beberapa contoh keterkaitannya:
- Instruksi mesin adalah kumpulan instruksi yang dapat diproses oleh komputer. Setiap instruksi
mesin memiliki bentuk atau susunan yang disebut bentuk instruksi. Format perintah terdiri dari
beberapa bagian, seperti B.opcode, address space dan data.
- Encoding adalah proses mengubah data menjadi bentuk yang dapat diproses oleh komputer. Dalam
konteks instruksi mesin, pengkodean adalah representasi biner dari instruksi mesin. Setiap instruksi
mesin memiliki kode akses unik yang digunakan untuk mengidentifikasi instruksi tersebut.
- Format instruksi dan pengkodean saling terkait karena format instruksi menentukan bagaimana
instruksi dibagi menjadi bagian-bagian yang dikodekan. Misalnya, dalam bentuk instruksi, opcode
digunakan untuk mengidentifikasi instruksi dan kemudian dikodekan ke dalam representasi biner
yang sesuai. Ruang alamat dari format instruksi juga mempengaruhi pengkodean, karena format
alamat menentukan bagaimana data diambil dan diproses menggunakan instruksi. Ini menunjukkan
bahwa pengkodean dan format instruksi terkait dalam pemrosesan data komputer, karena format
instruksi menentukan bagaimana instruksi dipecah menjadi bagian-bagian yang dikodekan, dan
pengkodean mewakili instruksi dalam bentuk biner yang dapat diproses oleh komputer.
Arsitektur komputer terdiri dari dua bagian utama yaitu arsitektur set instruksi dan arsitektur sistem
perangkat keras. Arsitektur set instruksi adalah spesifikasi yang menentukan bagaimana pemrogram
bahasa mesin berinteraksi dengan komputer. Arsitektur sistem perangkat keras merupakan subsistem
perangkat keras dasar seperti CPU.
Beberapa contoh dari arsitektur komputer adalah Arsitektur von Neumann, CISC, RISC, blue gene,
dan lain-lain. Arsitektur komputer mempelajari atribut sistem komputer yang terkait dengan seorang
programmer seperti set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.
Organisasi komputer mempelajari bagian yang terkait dengan unit-operasional komputer dan
hubungan antara komponen sistem komputer seperti sinyal kontrol, interface, teknologi memori.
Implementasi arsitektur komputer dapat ditemukan dalam kehidupan sehari-hari seperti dalam proses
pembacaan dan pengolahan data. Arsitektur komputer juga digunakan dalam pengembangan program
dan teknologi baru dan lebih baik.
Sumber:
https://www.slideshare.net/jumiathyasiz/pertemuan-2-instruksi-mesin-dan-program
https://adi-lecture.blogspot.com/2013/02/set-instruksi-dan-pengalamatan.html?m=1&view=flipcard
https://eprints.kwikkiangie.ac.id/4723/3/BAB%20II%20KAJIAN%20PUSTAKA.pdf
https://mkazis.medium.com/2-xv-arsitektur-komputer-danorganisasi-komputer-b11bacccee4e
https://raflinurfauzipratama.wordpress.com/2019/09/23/implementasi-arsitektur-komputer-dan-
organisasi-dalam-kehidupan-sehari-hari/
https://www.suara.com/tekno/2022/12/05/080000/apa-itu-sistem-bilangan-biner-dan-cara-kerjanya-di-
komputer
https://diyaurrahman.blogspot.com/2016/09/sistem-pengkodean.html?m=1
https://mkazis.medium.com/2-xxii-set-instruksi-dalam-organisasi-dan-arsitektur-komputer-
dc24c18ea26c
https://eling.ub.ac.id/mod/resource/view.php?id=29401
https://sisfo.itp.ac.id/bahanajar/index.php?dir=Andi+M+Nur+Putra%2FPengantar+Teknologi+Inform
asi%2F&file=BAB+VI+Arsitektur+Komputer.pdf