Minggu, 06 November 2011

Organisasi arsitektur dan komputer (tgs 2 part 2)

1.  Arsitektur Set Instruksi

1.2.  TEKNIK PENGALAMATAN
Bagian ini difokuskan untuk membahas teknik pengalamatan, yaitu cara instruksi
dalam mereferensi operand-nya. Kita mulai dengan membahas pengalamatan register.
Selanjutnya, kita akan mendeskripsikan boundary alignment (penggabungan
lingkup), metode penempatan variabel dalam memori untuk menyesuaikan diri
dengan cara sistem penyimpanan dalam mengakses data. Selebihnya dari bagian ini
digunakan untuk membahas cara paling umum yang digunakan oleh instruksi dalam
menentukan alamat memori utama. Para arsitek telah mengembangkan teknik
pengalamatan untuk mendapatkan dukungan hardware yang efisien bagi string,
array, stack, dan pemrosesan prosedur.
1.2.1.  Pengalamatan Register
Bila instruksi menentukan operand, maka operand tersebut mungkin berada di
dalarn instruksi itu sendiri, dalarn memori utama, atau dalarn sat atau beberapa
register operasional.Operand yang disimpan oleh instruksi disebut operand immediate,
seperti yang telah kita bahas sebelumnya.
Operand yang berada dalarn register disebut register operand, dan operand
yang berada di dalarn memori disebut memory operand.Pada bagian ini, kita akan
mendeskripsikan cara instruksi menentukan operand register.
1.2.2.  Boundary Alignment (penjajaran batas)
CPU dari kebanyakan komputer menetapkan alarnat memori utama sebagai
alarnat byte, bukan alarnat word. Sebaliknya, sistem penyimpanan biasanya
menggunakan alarnat word dan menyimpan dan memanggil kembali word tersebut.
Akibatnya, sistem penyimpananatau CPU memerlukanputaran (circuitry) khusus
untuk operasi byte.
1.2.3.  Pengalamatan Memori
Semua komputer mempunyai instruksi yang mereferensi memori, dan pada
bab ini kita akan mendeskripsikan beberapa teknik pengalamatan memori biasa.
Umumnya,arsitek mengembangkan teknik pengalamatan ini untuk berbagai macam
tujuan. Beberapa arsitek bertujuan agar dukungan hardware-nya efisien dalam
mengakses elemen dari array. Beberapa yang lain bertujuan memberikan dukungan
untuk menyertakan parameter. Sedangkan yang lain bertujuan agar terjadi spesifikasi
alamat yang kecil untuk menghasilkan alamat yang besar. Umumnya, teknik
pengalamatan memberikan dukungan lebih dari satu fungsi.
1.2.4.  Permasalahan Desain Pengalamatan
Para arsitek harus mempertimbangkan beberapa fasilitas pengalamatan ketika
ia merancang komputer atau farnili komputer. Kita akan membahas tiga dari fasilitas
tersebut disini, yaitu jangkauan pengalamatan, homogenitas pengalamatan, dan
efisiensi pengalamatan.
REFERENSI  :  http://elearning.gunadarma.ac.id/index.php?option=com_wrapper&Itemid=36

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