Arsitektur Komputer “Instruksi Set Arsitektur” Kurniawan Teguh Martono Sistem Komputer UNDIP
Pendahuluan Instruksi Bahasa yang digunakan untuk memerintahkan obyek untuk beraksi. Instruksi set arsitektur kumpulan susunan perintah Karena bicara mengenai komputer maka ISA merupakan bahasa yang digunakan untuk memerintah mesin untuk dapat melakukan operasi Sehingga : Operasi dari CPU ditentukan oleh instruksi yang dilaksanakan atau dijalankan
Jenis Intruksi CISC, Complex Instruction Set Computer Sebuah arsitektur dari set instruksi komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi RICS, Reduce Instruction Set Computer Rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja.
Instruksi Set Architecture Harus memiliki spesifikasi Format instruksinya Dalam berapa bit panjang instruksinya? Lokasi operand dan result Data type dan size Operation Kondisi
Diagram eksekusi Intruksi Set Arsitektur Instruction fetch Instruction Decode Operand Fetch Next Instruction Execute Store Result
Basic ISA class Load and Store Operasi Logika Operasi Aritmatik Load dari memori Store ke Memory Operasi Logika And / or Negation Shift Operasi Aritmatik Add, sub Branch Spesial Instruksi Data Processing Data Storage Data Movement Control
Elemen Instruksi Set Operation Code (opcode) Source Operand Reference Nilai yang menentukan operasi satu set intruksi. Source Operand Reference Nilai asal yang akan dioperasikan Result Operand Reference Hasil dari operasi Next Instruction Reference
Lokasi source dan result operand Main memory atau virtual memory CPU Register I/O Device
Format Instruksi Suatu instruksi terdiri atas beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format instruksi OPCODE Result Reference Operand Reference
Jenis Operand Address Number Character Logical Data
Operand disimpan? Ingat : semua instruksi dieksekusi di dalam CPU Sebuah operasi hanya membutuhkan register sebagai tempat membaca dan menyimpan Adakalanya juga operand disimpan dilokasi lain melalui register yang berisi alamat tempat penyimpanan. (dibahas di lain hari mode pengalamatan)
Transfer Data Memindahkan data dari satu lokasi ke lokasi lain Menetapkan lokasi operand sumber dan operand tujuan Lokasi dapat berupa : Memory Register Menetapkan panjang data yang dipindahkan Menetapkan mode pengalamatan
Opcode transfer data MOVE STORE LOAD EXCHANGE CLEAR/RESET SET PUSH POP
Operasi Aritmatika Tindakan CPU : Operasi : Transfer data sebelum atau sesudah Melakukan fungsi dalam ALU Operasi : ADD SUBTRACT MULTIPLY DIVIDES ABSOLUTE NEGATIVE DECREMENT INCREMENT
Operasi Logika Operasi nya : AND OR NOT EXOR COMPARE SHIFT ROTATE
Input / Output Operasi yang dilakukan Input Output Start I/O Test I/O
Transfer control Mengupdate PC untuk Subrutin, call, return Operasi Jump Jump bersyarat Return Skip Halt Wait NOP
Penggunaan alamat dan ISA Zero Operand One Operand Two Operand Three Operand
Zero Operand A, B, C, D, E, Y adalah register Misal : Y = (A - B) / (C + D x E) Instruksi : PUSH A #S[tos]A PUSH B #S[tos]B SUB #S[tos]A-B PUSH C #S[tos]C PUSH D #S[tos]D PUSH E #S[tos]E MPY #S[tos]D x E ADD #S[tos]C +S[tos] DIV #S[tos](A-B) / S[tos] POP Y #outS[tos] Jadi dengan zero operand memerlukan 10 operasi
One Operand A, B, C, D, E, Y adalah register Menggunakan AC (Accumulator sebagai tempat penyimpan sementara) Misal : Y = (A - B) / (C + D x E) Instruksi : LOAD D MPY E ADD C STOR Y LOAD A SUB B DIV Y Sehingga memerlukan 8 operasi
Two Operand Menggunakan Temporary A, B, C, D, E, T, Y adalah register Program Y= (A - B) / (C + D x E) Instruksi : MOVE Y, A SUB Y, B MOVE T, D MPY T, E ADD T, C DIV Y, T Sehingga memerlukan 6 operasi
Three operand Menggunakan Temporary A, B, C, D, E, T, Y adalah register Program Y= (A - B) / (C + D x E) Instruksi : SUB Y, A, B MPY T, D, E ADD T, T, C DIV Y, Y, T Sehingga memerlukan 4 operasi
Big endian dan little endian alamat yang digunakan adalah MSB Nilai terkecil berada di MSB Contoh : IBM 360/370 Motorla 68K MIPS SPARC Little Endian : Alamat yang digunakan dalah LSB Nilai terkecil berada di LSB Intel 80x86 DEC Vax DEC Alpha
Sekian Terima kasih