Monday, October 17, 2016

ARSITEKTUR SET INSTRUKSI

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU. Instruksinya berbentuk machine code (bahasa mesin), aslinya seluruhnya dalam bilangan biner. Untuk programmer, biasanya digunakan representasi yang lebih mudah dimengerti, yaitu bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly.

 Arsitektur dan Organisasi Komputer

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU. KUMPULAN PERINTAH/INSTRUKSI YANG DAPAT DIMENGERTI OLEH SEBUAH CPU atau dikenal dengan sebuah kamus berisi daftar perintah apa saja yang dapat dilakukan (didukung) oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur prosesor tertentu (misal x86, x64)

Jenis-Jenis Instruksi

Ø  Instruksi: CISC

Complex instruction set computer (CISC) adalah sebuah dimana satu instruksi dapat mengeksekusi beberapaoperasi tinkat rendah (seperti memuat dari memori, operasi aritmatika, dan penyimpanan memori) dan/atau mampu melakukan multi-step operations atau addressing mode dalam satu instruksi.
Contoh instruksi dari arsitektur set instruksi CISC adalah : System/360 through z/Architecture, PDP-11, VAX, Motorola 68k, and x86.

Ø  Instruksi: RISC

Reduced instruction set computing (RISC), adalah strategi desain CPU didasarkan pada wawasan yang disederhanakan (sebagai lawan kompleks instruksi) dapat memberikan lebih tinggi kinerja jika kesederhanaan ini memungkinkan banyak eksekusi lebih cepat dari setiap instruksi Arsitektur dan Organisasi Komputer Set Instruksi Spesifik.
Meskipun termasuk dalam satu golongan RISC atau CISC (dari segi jenis instruksinya), atau sama-sama dalam keluarga x86 (golongan arsitekturnya); tiap prosesor bisa memiliki set instruksi spesifik yang berbeda.

Sebagai contoh, Intel Pentium dan AMD Athlon mengimplementasikan versi yang hampir identik dari instruksi x86 mengatur, namun memiliki desain internal yang berbeda secara radikal.

Elemen-elemen Instruksi

Operation Code (OPCODE) / Kode Operasi : Kerjakan ini
Source Operand Reference / Alamat Asal Operand : Terhadap isi alamat ini  
Result Operand Reference / Alamat Hasil Operand : Letakkan hasilnya di alamat ini  
Next Instruction Reference : Alamat yang berisi instruksi selanjutnya
Sebuah instruksi tidak harus memiliki semua elemen di atas, tergantung kebutuhan dan jenis instruksinya.

Semua instruksi deksekusi di dalam CPU, sebuah operasi hanya membutuhkan register sebagai tempat membaca / menyimpan operand sementara. Adakalanya juga operand disimpan di lokasi lain melalui register yang berisi alamat tempat penyimpanan tersebut (memory, cache, modul I/O).

Representasi Instruksi  

Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik. Agar dapat dimengerti manusia, dibuatlah representasi simbolik instruksi, biasanya berupa singkatan (disebut mnemonic). Misal ADD, SUB, LOAD. Sedangkan alamat operand direpresentasikan sebagai berikut:  ADD A,B. Ada beberapa jenis representasi instruksi, yang dibedakan oleh jumlah alamat operand yang dapat diterima oleh satu baris instruksi

Contoh Simbolik Instruksi

ADD: Add (Jumlahkan), SUB: Subtract (Kurangkan), MPY/MUL: Multiply (Kalikan), DIV: Divide (Bagi), 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 data dan lain-lain.

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)
Ø  Data movement: Input dan Output ke modul I/O
Ø  Program flow control: JUMP, HALT, dsb.

Teknik Pengalamatan

  • 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 Kurangkan isi Reg A dengan isi Reg B, kemudian simpan hasilnya di Reg Y.
Mengoperasikan banyak register sekaligus
Program lebih pendek
  • 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 terlalu banyak
  • Format Instruksi 1 Alamat

Bentuk umum: [OPCODE] [AO]
Satu alamat operand, hasil disimpan di accumulator
Misal: SUB B - Bentuk algoritmik 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.
  • Format Instruksi 0 Alamat

Bentuk umum: [OPCODE] [O]
Semua alamat operand implisit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan di bawahnya
Misal: SUB
Bentuk algoritmik: S[top] <= S[top-1] – S[top]
Arti: Kurangkan isi Stack no.2 dari atas dengan isi Stack paling atas,kemudian simpan hasilnya di Stack paling atas

Ada instruksi khusus Stack: PUSH dan POP yang dapat diberi alamat

REFERENSI

No comments:

Post a Comment