Minggu, 06 November 2011

Organisasi arsitektur dan komputer (tgs 2 part 1)

1.  Arsitektur Set Instruksi

1.1.  JENIS INSTRUKSI

Walaupun komponen hardware membentuk basis atau dasar kemampuan
komputer,namun set instruksi hanyalah yang menentukan kompleksitas komputasional.
mesin tersebut.Oleh karena itu, ketika arsitek merancang komputer, ia akan sangat
mempertimbangkan ISA-nya. Ia memilih atau mempertimbangkan set data type, set
operasi pada data type tersebut: set teknik untuk menangani data dalam memori atau
register, dan operasi untuk .mengontrol berjalannya program - yaitu arus kontrol
logis. Lebih dari itu, bila ia telah menetapkan ISA, ia harus menentukan format
instruksi,yang menentukan bagaimana hardware akan menampilkan setiap instruksi.
Kita akan membahas format instruksi secara ringkas.
1.1.1.       Instruksi Operate
Instruksi operate menentukan operasi mesin dan oleh karenanya ia menentukan
operand untuk operasi mesin tersebut. Instruksi bisa menentukan operand secara
eksplisit ataupun implisit. Operand yang ditentukan oleh op code disebut implicit
operand(operandimplisit);ia tidak mempunyai spesiftkasi yang lain.Sebagai contoh,
instruksi CLEAR CARRY memberitahu unit kontrol untuk menghapus flag carry,
yang menyimpan bit carry dari instruksi ADD yang terakhir. Instruksi CLEAR
CARRY ini tidak mempunyai pengaruh lain, dan flag carry merupakan operand
implisit dari instruksi. Explicit operand (operand eksplisit) adalah operand yang
ditentukan oleh instruksi dalam fteld selain fteld op-code. Kebanyakan operand
ditentukan secara eksplisit.
1.1.1.1.  Instruksi Aritmetik, Logika, dan Shift
Instruksi aritmetik, logika, clan shift hampir ada pada semua komputer dan
biasanya berada dalam beberapa "flavor" (cirikhas).Disini kita akan mendeskripsikan
instruksi biasa dari ketiga kategori tersebut.
Komputer mempunyai instruksi aritmetik, seperti ADD, SUBTRAC (dengan
atau tanpa carry), MULTIPLY,dan DIVIDE untuk operasi numerik. Jika komputer
mempunyai lebih dari satu format numerik (misalnya,bilangan bulat, bilangan titik
ambang, dan bilangan BCD) atau beberapa presisi, maka ia mungkin mempunyai
instruksi yang berbeda untuk tiap jenis tersebut.
1.1.1.2. Instruksi Pemrosesan Karakter dan String
String karakter khususnya digunakan untuk memproses informasi tekstual.
Akibatnya,walaupun instruksi Boolean dan shift dapat memanipulasi string karakter,
sebagian besar komputer dilengkapi instruksi khusus untuk memanipulasi string
tersebut. Instruksi karakter meliputi MOVE CHARAClER, MOVE STRING,
COMPARE CHARAClERS, dan COMPARESTRINGS.MOVE CHARAClER
dan COMPARE CHARAClERS adalah instruksi berorientasi (didasarkan) pada
byte. Alamat memori utama dari kedua operand ini disebut source address dan
destination address.Jika dijalankan,MOVESTRING menggerakkan byte berdekatan
yang berawal pada alamat sumber ke byte berdekatan yang berawal pada alamat
tujuan.Gambar 2.10 menunjukkan bagaimana instruksi MOVESTRING ini bekerja.
COMPARE STRINGS adalah sarna, namun mengembalikan nomor karakter dari
ketidak sesuaian karakter yang pertama. Ada berbagai carn yang dilakukan oleh
berbagai komputer dalam menentukan address dan length, dan sebagian besar
arsitektur komputer akan menentukan result jika string sumber dan tujuan tumpang
tindih.

1.1.2.      Instruksi Akses Memori
1.1.2.1. Instruksi LOAD dan STORE
Kornputer dilengkapi dengan sejumlah instruksi untuk rnernuat register darl
untuk rnenyirnpan isi register ke dalam rnernori utama.Instruksi LOAD dan STORE
ini rnenentukan ukuran operand (misalnya, byte, word, atau doubleword) dan
rnenentukan jenis operasi (misalnya, LOAD POSITIVE, LOAD NEGATIVE).
Instruksi yang rnenjalankan operasi selain load, seperti LOAD POSITIVE dan
LOAD NEGATIVE, adalah instruksi operate dan juga instruksi load.
1.1.2.2.  Instruksi LOAD ADDRESS
Banyak kornputer yang dilengkapi dengan instruksi LOAD ADDRESS guna
untuk rnendapatkan alamat (address) data yang efektif atau alamat instruksi itu
sendiri. Narnun demikian, tidak seperti halnya dengan instruksi LOAD, instruksi
LOAD ADDRESS tidak rnengakses rnernori sarna sekali. Kornputer yang,
menggunakan pengalamatan base-displacement (penggantian base), yang akan
dibahas kemudian pada bab ini, juga mempunyai instruksi LOAD ADDRESS.
Programmer kemudian dapat menggunakan instruksi LOAD ADDRESS untuk
menempatkan alamat instruksi itu sendiri dalam register base.
1.1.2.3.  Instruksi Sinkronisasi Proses (Opsional)
Sistem yang digunakanuntuk berbagai tugas (eksekusidua program atau lebih
pada sekali saat) memerlukan instruksi untuk mendukung empat jenis aktivitas:
1. sinkronisasi
2. komunikasi antarproses
3. penjalanan tugas
4. penghentian tugas.
Instruksi yang akan kita bahas disini adalah instruksi sinkronisasi,karena banyak
komputer yang di dalam hardwarenya dilengkapi dengan instruksi ini. Instruksi
sinkronisasi,yang juga disebut synchronization primitives,banyak digunakan dalam
sistem pengoperasian dan oleh pemakai yang mempunyai multitasking (berbagai
tugas).
1.1.3.      Instruksi Kontrol.
Instruksi kontrol meliputi instruksi branch clan instruksi subroutine-linkage.
Lima bagian berikut ini mendeskripsikan instruksi tersebut dan teknik untuk
menentukan dan mengevaluasi branch test.
1.1.3.1. Instruksi Branch Kondisional dan Tak-kondisional
Instruksi branch umumnya menentukan satu alamat, yaitu branch address.
Branch address (alarnat cabang) adalah alarnat instruksi berikutnya yang akan
dijalankan CPU. Instruksi ini disebut branch-target instruction (instruksi target
cabang). Oleh karenanya, alarnat cabang merupakan operand dari instruksi cabang.
Untuk menjalankan instruksi cabang, unit kontrol hanya memcahkan alarnat target
cabang dan menempatkannya dalarn counter program.
1.1.3.2.  Instruksi Hubungan Subroutine
Kita telah mendeskripsikan kenapa satu prosedur mungkin akan mengakibatkan
terjadinya prosedur yang lain, dan kenapa prosedur yang kedua ini akan
mengembalikan kontrol ke calling procedure (prosedur yang pertama). Kebanyakan
komputer paling tidak dilengkapi dua instruksi hubungan subroutine (subroutinelinkage
instruction) untuk tujuan tersebut. Yang satu untuk mencabang ke prosedur
dan yang satunya untuk mengembalikan dari prosedur tersebut. Kita akan
menggunakann JSR (jump and save register) sebagai instruksi mencabang-keprosedur
biasa, dan RET (return) sebagai instruksi kembali-ke-prosedur biasa.
1.1.4.  Instruksi Jenis Lain dan Khusus
Pada bagian ini, kita akan mendeskripsikan instruksi yang tidak termasuk
dalam ketiga kategori sebelumnya. Instruksi ini meliputi instruksi I/O, interrupt,
instruksi state-swapping,dan instruksi yang mengubah tingkat kekhususan.
1.1.4.1.  Instruksi I/O
Banyak komputer yang tidak mempunyai instruksi I/O sarna sekali, dan Bagian
3.3.5 akan mendeskripsikan bagaimana komputer seperti itu menjalankan I/O. Bila
komputer mempunyai instruksi I/O, maka instruksi I/O tersebut akan menjalankan
(mengawali) signal kontrol yang mengontrol peralatan I/O. Instruksi I/O biasa
menentukan I/O device address (bilangan yang menentukan peralatan I/O) dan
menetapkan kode yang memberitahu peralatan mengenai operasi yang akan
dijalankan. Kemungkinan lain, op code dari instruksi tersebut bisa menentukan
operasi peralatan (device) tersebut. Instruksi I/O biasa meliputi INPUT, yang
membaca byte data dari peralatan yang telah ditentukan; OUTPUT, yang menulis
byte data ke peralatan yang telah ditentukan; TEST DEVICE, yang menguji kondisi
yang telah ditentukan dan bit status prosesor menurut hasil dari pengujian tersebut;
dan CONTROL DEVICE, yang menentukan operasi khusus peralatan untuk peralatan
yang akan dijalankan.
1.1.4.2.  Instruksi Khusus
Sebagian besar komputer mempunyai instruksi khusus, yang disebut privile gedinstruction(
Instruksi khusus),yang memungkinkan system software melindungi
dirinya sendiri dari manipulasi software pemakai. Sekarang, banyak komputer
personal (PC) yang juga mempunyai instruksi khusus, walaupun komputer yang
menggunakan mikroprosesor,misalnya IBM PC, tidak mempunyainya.
1.1.5.  Instruksi Vektor
Walaupun sebagian besar komputer tidak dilengkapi dengan instruksi vektor,
namun ia dapat dijumpai di super computer dan berbagai computer berkinerja tinggi,
termasuk beberapa mesinRISC. Lebih dari itu,banyak computer yang bisa ditambahi
dengan hardware vektor khusus untuk mempercepat operasi vektor dan matriks.
Karena kegunaannya terns meningkat dalam aplikasi ilmiah, kita akan
mendeskripsikan sejumlah operasi vektor biasa, matriks, dan vektor skalar secara
mendalam.
1.1.5.1.  Instruksi Vektor LOAD dan STORE
Instruksi vector LOAD dan STORE adalah saran dengan instruksi scalar LOAD
dan STORE. Perbedaannya, bahwa yang pertama tersebut menentukan langkah
vektor dan mereka memuatdan menyimpan beberapa nilai ke dalarn register vektor.
Vector register (register vektor) adalah set register yang dapat direferensi oleh
instruksi vektor secara individual atau sebagai suatu unit. Nilai yang direfrensi oleh
instruksi vektor ini terjadi pada sejumlah lokasi memori yang terpisah narnun
berkaitan.
REFERENSI  :  http://elearning.gunadarma.ac.id/index.php?option=com_wrapper&Itemid=36

Tidak ada komentar:

Posting Komentar