Transcript
Page 1: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

ARSITEKTUR DAN ORGANISASI KOMPUTER

Aditya Wikan [email protected]

TEKNIK INFORMATIKA, UK DUTA WACANA – GENAP 1213

8

Set Instruksi

Page 2: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Apakah Set Instruksi itu?� Set instruksi (instruction set): sekumpulan

lengkap instruksi yang dapat dimengerti olehsebuah CPU

� Instruksinya berbentuk machine code (bahasa mesin), aslinya seluruhnya dalam(bahasa mesin), aslinya seluruhnya dalambilangan biner

� Untuk programmer, biasanya digunakanrepresentasi yang lebih mudah dimengerti �bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly

Page 3: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Apakah Set Instruksi itu?� Set instruksi (instruction set): sekumpulan

lengkap instruksi yang dapat dimengerti olehsebuah CPU:

KUMPULAN PERINTAH/INSTRUKSI YANG KUMPULAN PERINTAH/INSTRUKSI YANG DAPAT DIMENGERTI OLEH SEBUAH CPU

a.k.a. dengan sebuah kamus berisi daftarperintah apa saja yang dapat dilakukan(didukung) oleh sebuah prosesor, danbiasanya terikat dengan sebuah keluargaarsitektur prosesor tertentu (misal x86, x64)

Page 4: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Jenis Instruksi: CISC� A complex instruction set computer

(CISC) is a computer where single instruction can execute several low-level operations (such as a load from memory, an arithmetic operation, and a memory store) and/or are capable of multi-step operations or capable of multi-step operations or addressing modes within single instructions.

� Examples of CISC instruction set architectures are System/360 through z/Architecture, PDP-11, VAX, Motorola 68k, and x86.

Page 5: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Jenis Instruksi: RISC� Reduced instruction set computing, or

RISC, is a CPU design strategy based on the insight that simplified (as opposed to complex) instructions can provide higher performance if this simplicity enables much faster execution of each instruction.faster execution of each instruction.

� Well-known RISC families include DEC Alpha, AMD 29k, ARC, ARM, Atmel AVR, Blackfin, Intel i860 and i960, MIPS, Motorola 88000, PA-RISC, Power (including PowerPC), SuperH, and SPARC. In the 21st century, the use of ARM architecture processors in smart phones and tablet computers such as the iPad and Android tablets provided a wide user base for RISC-based systems.

Page 6: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Set Instruksi Spesifik� Meskipun termasuk dalam satu golongan

RISC atau CISC (dari segi jenisinstruksinya), atau sama-sama dalamkeluarga x86 (golongan arsitekturnya); tiapprosesor bisa memiliki set instruksi spesifikyang berbeda.yang berbeda.

� For example, the Intel Pentium and the AMD Athlonimplement nearly identical versions of the x86 instruction set, but have radically different internal designs.

� Pada intel ada ekstensi instruksi MMX, SSE2, SSE3 dstuntuk menambah kemampuan multimedia.

Page 7: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Elemen-elemen Instruksi� Operation Code (OPCODE) / Kode Operasi

� Kerjakan ini

� Source Operand Reference / Alamat AsalOperand� Terhadap isi alamat ini

� Result Operand Reference / Alamat Hasil� Result Operand Reference / Alamat HasilOperand� Letakkan hasilnya di alamat ini

� Next Instruction Reference� Alamat yang berisi instruksi selanjutnya

Sebuah instruksi tidak harus memiliki semua elemen diatas, tergantung kebutuhan dan jenis instruksinya

Page 8: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Ke mana operand disimpan?� Ingat: Semua instruksi deksekusi di dalam

CPU� Sebuah operasi hanya membutuhkan

register sebagai tempat membaca / menyimpan operand sementaramenyimpan operand sementara

� Adakalanya juga operand disimpan di lokasilain melalui register yang berisi alamattempat penyimpanan tersebut (memory, cache, modul I/O) � cara memanggil ada diminggu depan pada mode pengalamatan

Page 9: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Representasi Instruksi� Pada bahasa mesin, setiap instruksi

berbentuk pola bit biner yang unik� Agar dapat dimengerti manusia, dibuatlah

representasi simbolik instruksi, biasanyaberupa singkatan (disebut mnemonic)� misal ADD, SUB, LOAD� misal ADD, SUB, LOAD

� Sedangkan alamat operand direpresentasikan sebagai berikut:� ADD A,B

� Ada beberapa jenis representasi instruksi, yang dibedakan oleh jumlah alamatoperand yang dapat diterima oleh satu barisinstruksi

Page 10: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Format Instruksi (Biner)� Misal Instruksi dengan 2 Alamat Operand:� ADD A, B � A & B suatu alamat register

ADD A B(dalam bentuk biner tentunya)

Page 11: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Contoh Simbolik Instruksi� ADD: Add (Jumlahkan)� SUB: Subtract (Kurangkan)� MPY/MUL: Multiply (Kalikan)� DIV: Divide (Bagi)� LOAD: Load data dari register/memory� LOAD: Load data dari register/memory� STOR: Simpan data ke register/memory� MOVE: pindahkan data dari satu tempat ke

tempat lain� SHR: shift kanan data� SHL: shift kiri datadan lain-lain

Page 12: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Cakupan Jenis Instruksi� Data processing: Aritmetik (ADD, SUB, dsb);

Logic (AND, OR, NOT, SHR, dsb); konversi data

� Data storage (memory): Transfer data (STOR, LOAD, MOVE, dsb)(STOR, LOAD, MOVE, dsb)

� Data movement: Input dan Output ke modul I/O

� Program flow control: JUMP, HALT, dsb.Set Instruksi lengkap bisa dilihat di kitabnya

William Stallings

Page 13: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Format Instruksi 3 Alamat� Bentuk umum: [OPCODE] [AH], [AO1], [AO2]� Satu alamat hasil, dua alamat operand� Misal: SUB Y, A, B

- Bentuk algoritmik: Y � A – B- Arti: Kurangkan isi Reg A dengan isi Reg B,- Arti: Kurangkan isi Reg A dengan isi Reg B,

kemudian simpan hasilnya di Reg Y.� Mengoperasikan banyak register sekaligus� Program lebih pendek

AH: Alamat Hasil, AO1: Alamat Asal Operand 1, AO2: Alamat Asal Operand 2

Page 14: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Format Instruksi 2 Alamat� Bentuk umum: [OPCODE] [AH], [AO] � Satu alamat hasil merangkap operand, satu

alamat operand� Misal: SUB Y, B

- Bentuk algoritmik: Y � Y – B- Arti: Kurangkan isi Reg Y dengan isi Reg B,- Bentuk algoritmik: Y � Y – B- Arti: Kurangkan isi Reg Y dengan isi Reg B,

kemudian simpan hasilnya di Reg Y.� Bentuk ini masih digunakan di komputer

sekarang� Mengoperasikan lebih sedikit register, tapi

panjang program tidak bertambah terlalubanyak AH: Alamat Hasil, AO: Alamat Asal Operand

Page 15: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Format Instruksi 1 Alamat� Bentuk umum: [OPCODE] [AO] � Satu alamat operand, hasil disimpan di

accumulator� Misal: SUB B

- Bentuk algoritmik: AC � AC – B- Bentuk algoritmik: AC � AC – B- Arti: Kurangkan isi Acc. dengan isi Reg B,

kemudian simpan hasilnya di Acc.� Hanya mengoperasikan satu register, tapi

program menjadi bertambah panjang

AO: Alamat Asal Operand

Page 16: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Format Instruksi 0 Alamat� Bentuk umum: [OPCODE] [O]� Semua alamat operand implisit, disimpan

dalam bentuk stack. Operasi yang biasanyamembutuhkan 2 operand, akan mengambil isistack paling atas dan di bawahnya

� Misal: SUB- Bentuk algoritmik: S[top] � S[top-1] – S[top]- Arti: Kurangkan isi Stack no.2 dari atasdengan isi Stack paling atas,kemudiansimpan hasilnya di Stack paling atas

� Ada instruksi khusus Stack: PUSH dan POPyang dapat diberi alamat

Page 17: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Contoh Format Instr 3 Alamat� A, B, C, D, E, T, Y adalah register� Program: Y = (A – B) / ( C + D × E)

SUB Y, A, B Y � A – BMPY T, D, E T � D × EADD T, T, C T � T + CADD T, T, C T � T + CDIV Y, Y, T Y � Y / T

� Memerlukan 4 operasi

Page 18: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Contoh Format Instr 2 Alamat� A, B, C, D, E, T, Y adalah register� Program: Y = (A – B) / ( C + D × E)

MOVE Y, A Y � ASUB Y, B Y � Y - BMOVE T, D T � DMOVE T, D T � DMPY T, E T � T × EADD T, C T � T + CDIV Y, T Y � Y / T

� Memerlukan 6 operasi

Page 19: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Contoh Format Instr 1 Alamat� A, B, C, D, E, Y adalah register� Program: Y = (A – B) / ( C + D × E)

LOAD D AC � DMPY E AC � AC × EADD C AC � AC + CADD C AC � AC + CSTOR Y Y � ACLOAD A AC � ASUB B AC � AC – BDIV Y AC � AC / YSTOR Y Y � AC

� Memerlukan 8 operasi

Page 20: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Contoh Format Instr 0 Alamat� A, B, C, D, E, Y adalah register� Program: Y = (A – B) / ( C + D × E)

PUSH A S[top] � APUSH B S[top] � BSUB S[top] � A - BPUSH C S[top] � CPUSH C S[top] � CPUSH D S[top] � DPUSH E S[top] � EMPY S[top] � D × EADD S[top] � C + S[top] DIV S[top] � (A - B) / S[top]POP Y Out � S[top]

� Memerlukan 10 operasi

Page 21: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Yang Perlu Diperhatikan� Semakin banyak register yang diolah dalam

satu instruksi � semakin lambat� Semakin banyak baris operasi untuk

mengeksekusi sebuah program � jugasemakin lambatsemakin lambat

� Komputer sekarang karena menggunakanCISC dan RISC, maka menggunakan format instruksi 3 atau 2 alamat.

Page 22: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Who uses what?Format Instruksi 3 Alamat:� CISC — It becomes either a single instruction:

add a,b,c, or more typically: move a,reg1; addreg1,b,c as most machines are limited to two memory operands.

� RISC — arithmetic instructions use registers only, so explicit 2-operand load/store instructions are needed: load a,reg1; loadb,reg2; add reg1+reg2->reg3; store reg3,c; unlike 2-operand or 1-operand, this leaves all three values a, b, and c in registers available for further reuse

Page 23: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Who uses what?Format Instruksi 2 Alamat:� CISC — often load a,reg1; add reg1,b; store

reg1,c on machines that are limited to one memory operand per instruction; this may be load and store at the same location

� CISC — move a->c; add c+=b.� RISC — Requiring explicit memory loads, the

instructions would be: load a,reg1; load b,reg2; add reg1,reg2; store reg2,c

Page 24: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Who uses what?Format Instruksi 1 Alamat:� 1-operand (one-address machines), so called

accumulator machines, include early computers and many small microcontrollers: most instructions specify a single right operand (that is, constant, a register, or a memory location), is, constant, a register, or a memory location), with the implicit accumulator as the left operand (and the destination if there is one): load a, addb, store c. A related class is practical stack machines which often allow a single explicit operand in arithmetic instructions: push a, addb, pop c.

Page 25: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Who uses what?Format Instruksi 0 Alamat:� 0-operand (zero-address machines), so called

stack machines: All arithmetic operations take place using the top one or two positions on the stack: push a, push b, add, pop c. For stack machines, the terms "0-operand" and "zero-machines, the terms "0-operand" and "zero-address" apply to arithmetic instructions, but not to all instructions, as 1-operand push and pop instructions are used to access memory.

Page 26: ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan …lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf · bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. ... perintah

Arsitektur dan Organisasi Komputer

Latihan� Kerjakan X = (A + B × C) / (D – E × F)

Dengan:� Format Instruksi 3 Alamat

Format Instruksi 2 Alamat� Format Instruksi 2 Alamat� Format Instruksi 1 Alamat� Format Instruksi 0 Alamat


Top Related