Kamis, 15 November 2012

Arsitektur Komputer



Arsitektur Komputer
atribut–atribut sistem komputer yang terkait dengan seorang programmer
Contoh: set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.

Set instruksi
  • Kumpulan instruksi lengkap yang dimengerti oleh CPU 
  •   Kode mesin 
  •  Biner 
  •  Kode assembly 


Elemen Instruksi
          Operation code (Op code)
Kerjakan, menentukan operasi yang akan dilaksanakan.

          Source Operand reference
Dengan data ini, merupakan input bagi operasi yang akan
Dilaksanakan

          Result Operand reference
Simpan hasilnya kesini, merupakan hasil dari operasi yang
Dilaksanakan

          Next Instruction Reference
Setelah selesai, kerjakan ini ... , memberitahu CPU untuk mengambil
(fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.

Operands pada sistem berasal dari:
  •     Main memory (or virtual memory or cache)
  •      CPU register
  •    I/O device

Representasi Instruksi
·         Dlm kode mesin setiap instruksi memiliki pola-bit tertentu
·         Untuk konsumsi programmers disediakanpenyajian simbolik
o   Contoh: ADD, SUB, MPY, DIV, LOAD, STORE
·         Operand juga disajikan secara simbolik
o   Contoh: ADD A,B
 
Jenis Instruksi
  •  Data processing, Arithmetic dan Logic Instructions
  •  Data storage (main memory), Memory instructions
  •  Data movement (I/O), I/O instructions
  •  Program flow control, Test and branch instructions

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.
  • o Set Instruksi lengkap bisa dilihat di kitabnya William Stallings

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,
  •    kemudian simpan hasilnya di Reg Y.
  •    Bentuk ini tidak umum digunakan di komputer.
  •    Mengoperasikan banyak register sekaligus.
  •    Program lebih pendek.

Format Instruksi 2 Alamat
  •  Bentuk umum: [OPCODE] [AH], [AO] 
  •   Satu alamat hasil merangkap operand, satu alamat operand
o   Misal: SUB Y, B
o   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
o   Misal: SUB B
o   Bentuk algoritmik: AC = AC – B
  •    Arti: Kurangkan isi Acc. dengan isi Reg B, kemudian simpan hasilnya di Acc.
  •   Bentuk ini digunakan di komputer jaman dahulu.
  •   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
o   Misal: SUB
o   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.


Metode Pengalamatan
Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari operand dengan menggunakan informasi yang diadakan di registerdan / atau konstanta yangterkandung dalam instruksi mesin atau di tempat lain.
Terdapat beberapa macam metode pengalamatan, yaitu:

1.      Immediate addressing
Immediate addressing merupakan mode pengalamatan yang digunakan untuk mengisisuatu register dengan data. Data yang dimaksud di sini adalah suatu nilai atau bilangan tertentuatau bisa juga berupa sebuah konstanta (didefinisikan dengan instruksi EQU).
Contoh: ADD 5 (tambahkan 5 pada akumulator)

Karakteristik :
  •  Operand benar-benar ada dalam instruksi atau bagian dari instruksi = operand sama           denganfield alamat
  • Umumnya bilangan akan disimpan dalam bentuk kompleent dua
  • Bit paling kiri sebagai bit tanda
  • Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimumword data.
Keuntungan :
  • Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperolehoperand
  • Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kekurangan :
  •          Ukuran bilangan dibatasi oleh ukuran field alamat

2.      Direct addressing
merupakan mode pengalamatan untuk mentransfer data antar memoridan register. Hal ini berdampak pada bertambahnya kebutuhan ruang dalam sebuah instruksiagar cukup untuk alamat yang besar.

Contoh: ADD A (tambahkan isi pada lokasi alamat A ke akumulator).
 
Keuntungan :
  •  Field alamat berisi efektif address sebuah operand
  •  Teknik ini banyak digunakan pada komputer lama dan komputer ecil 
  •    Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus.
Kekurangan :
  • Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkanpanjang word Contoh: ADD A ; tambahkan isi pada lokasi alamat A ke akumulator.

3.      Indirect addressing
Merupakan metode pengalamatan dimana field alamat mengacu pada alamat word di dalammemori, yang pada gilirannya akan berisi alamat operand yang panjang. Pengalamatan tidak langsung dapat digunakan untuk kode atau data.

Contoh : ADD (A) (tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator).
Karakteristik : 
  •  Field alamat mengacu pada alamat word di alamat memori, yang pada gilrannya akan   berisialamat operand yang panjang
Keuntungan : 
  •  Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi. 
 Kekurangan:
  • Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi.


4.      Register addressing
Register addressing merupakan suatu proses penyalinan data (bisa byte atau word) dari registerke register atau ke suatu lokasi memori. Proses tersebut harus menggunakan dua buah operandyang berukuran sama, misalnya AX dan BX, AL dan BH (tapi ada beberapa instruksi tertentuyang dikecualikan, misalnya : SHL DX,CL.
Contoh : MOV AX,DS; MOV ES,AX (memindahkan isi DS ke AX, kemudian AX ke ES).
Karakteristik :
  •          Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8atau 16 register general purpose.
Kelebihan :
  • Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensimemori. 
  •    Akses ke regster lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebihcepat.
Kerugian :
  •           Ruang alamat menjadi terbatas.

5.      Register indirect addressing
Register indirect addressing mirip dengan mode pengalamatan tidak langsung. Perbedaannyaadalah field alamat mengacu pada alamat register. Pada metode ini, letak operand berada padamemori yang dituju oleh isi register sehingga keuntungan dan keterbatasan pengalamatanregister tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung.
Contoh : MOV AL,[DI] (memindahkan data dari DI secara sementara ke register AL).
Karakteristik :
  •           Letak operand berada pada memori yang dituju oleh isi register.
Kelebihan :
  •           Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensimemori.
  •           Akses ke regster lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebihcepat.
Kerugian :
  •        Ruang alamat menjadi terbatas.

6.      Displacement addressing
Metode displacement addressing merupakan suatu metode pangalamatan yang menggabungkankemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode inimensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit.
Karakteristik :
  • Bersifat relative addressing. artinya register yang direferensi secara implisit adalah programcounter (PC) 
  •  Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alama 
  •  Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
  •  Base register addressing. register yang direferensi berisi sebuah alamat memori, dan fieldalamat  berisi perpindahan dari alamat itu
  •  Referensi register dapat eksplisit maupun implisit 
  •   Memanfaatkan konsep lokalitas memori 
  •   Merupakan kebalikan dari mode base register
  • Field alamat dianggap sebagai alamat memori dalam indexing.

7.      Stack addressing
Stack adalah bagian memory yang digunakan untuk menyimpan nilai dari suatu register untuk sementara. Operasi- operasi pada assembler yang langsung menggunakan stack misalnya padaperintah PUSH dan POP.Stack dapat kita bayangkan sebagai sebuah tabung yang panjang. Sedangkan nilai pada registerdapat dibayangkan berbentuk koin yang dapat dimasukkan dalam tabung tersebut. Untuk memasukkan nilai suatu register pada stack, digunakan perintah push. Perintah POP akanmengambil koin nilai pada stack yang paling atas. Dari sini dapat anda lihat bahwa data yangterakhir dimasukkan akan merupakan yang pertama dikeluarkan. Inilah sebabnya operasi stack dinamankan LIFO (Last In First Out).

Sumber :
http://ciptawahyudi.web.id/Orkom%20II/1%20-%20Set%20Instruksi.pdf

Tidak ada komentar: