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 And / or Negation Shift Operasi Aritmatik Load dari memori Store ke Memory Add, sub Branch Spesial Instruksi Data Processing Data Storage Data Movement Control Elemen Instruksi Set Operation Code (opcode) Source Operand Reference Nilai asal yang akan dioperasikan Result Operand Reference Nilai yang menentukan operasi satu set intruksi. 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 : 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 STOR 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 Big 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 Contoh : Intel 80x86 DEC Vax DEC Alpha Sekian Terima kasih