Arsitektur
Set Instruksi
Set Instruksi didefinisikan sebagai
suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.
Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang
dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan
interupsi, eksepsi, dan operasi I/O eksternalnya.
ISA merupakan sebuah spesifikasi dari kumpulan semua
kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native
form) dalam sebuah desain prosesor tertentu.Kumpulan opcode tersebut,
umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang
bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel
x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.
Karakteristik
dan Fungsi Set Instruksi
Operasi dari CPU ditentukan oleh instruksiinstruksi yang
dilaksanakan atau dijalankannya.Instruksi ini sering disebut sebagai instruksi
mesin (mechine instructions) atau instruksi komputer (computer instructions).
Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh
CPU disebut set Instruksi (Instruction Set).
Jenis-Jenis
Set Instruksi:
1. Data
Processing/Pengolahan Data: instruksi-instruksi aritmetika dan logika.
2. Data
Storage/Penyimpanan Data: instruksi-instruksi memori.
3. Data
Movement/Perpindahan Data: instruksi I/O.
4. Control/Kontrol:
instruksi pemeriksaan dan percabangan.
Instruksi aritmetika (arithmetic instruction)
memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika (logic
instruction) beroperasi pada bit-bit word sebagai bit, bukan sebagai
bilangan. Operasi-operasi tersebut dilakukan terutama dilakukan untuk data di
register CPU. Instruksi-inslruksi memori diperlukan untuk memindah data yang
terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan program
dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.
Instruksi-instruksi kontrol digunakan untuk memeriksa nilai data, status
komputasi dan mencabangkan ke set instruksi lain.
Desain set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan
banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi
instruksi)
3. Kompatibilitas :
a. Source code compatibility
b. Object code compatibility
Selain ketiga aspek tersebut juga
melibatkan hal-hal sebagai berikut :
a. Operation Repertoire
Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
b. Data Types
Tipe/jenis data yang dapat olah
c. Instruction Format
Panjangnya, banyaknya alamat,dsb.
d. Register
Banyaknya register yang dapat digunakan
Banyaknya register yang dapat digunakan
e. Addressing
Mode pengalamatan untuk operand
Mode pengalamatan untuk operand
Teknik Pengalamatan
Metode pengalamatan merupakan aspek dari set instruksi
arsitekturdi sebagian unit pengolah pusat(CPU) desain yang didefinisikan dalam
set instruksi arsitektur dan menentukan bagaimana bahasa mesinpetunjuk dalam
arsitektur untuk mengidentifikasi operan dari setiap instruksi. Sebuah mode
pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari
operand dengan menggunakan informasi yang diadakan di registerdan / atau
konstanta yang terkandung dalam instruksi mesin atau di tempat lain.
Jumlah Alamat
Salah satu cara tradisional untuk menggambarkan arsitektur
prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap
instruksinya.
1. Jumlah
alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
a) Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
b) Tiga Alamat (dua operand, satu hasil)
c) Dua Alamat (satu operand merangkap hasil, satunya lagi operand
d) Satu Alamat (menggunakan accumulator untuk menyimpan operand dan
hasilnya)
2.
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan :
a) – Address Instruction
b) 1 – Addreess Instruction
c) N – Address Instruction
d)
M + N – Address Instruction
3.
Macam-macam instruksi menurut sifat akses terhadap memori atau register
a) Memori To Register Instruction
b) Memori To Memori Instruction
c) Register To Register Instruction
Jenis-Jenis Metode Pengalamatan
a) Direct Absolute (pengalamatan langsung)
Hal ini membutuhkan ruang dalam sebuah instruksi untuk cukup
alamat yang besar.. Hal ini sering tersedia di mesin CISC yang memiliki panjang
instruksi variabel, seperti x86.. Beberapa mesin RISC memiliki Literal khusus
Atas instruksi Load yang menempatkan sebuah 16-bit konstan di atas setengah
dari register.. Sebuah literal instruksi ATAUdapat digunakan untuk menyisipkan
16-bit konstan di bagian bawah mendaftar itu, sehingga alamat 32-bit kemudian
dapat digunakan melalui mode pengalamatan tidak langsung mendaftar, yang itu
sendiri disediakan sebagai "base- plus-offset "dengan offset 0.
b) Immidiate
Bentuk
pengalamatan ini yang paling sederhana
1. Operand benar-benar ada dalam instruksi atau bagian dari
instruksi = operand sama dengan field alamat 2. Umumnya bilangan akan
disimpan dalam bentuk kompleent dua
3. Bit paling kiri sebagai bit tanda
4. Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data Contoh: ADD 5 ; tambahkan 5 pada akumulator.
3. Bit paling kiri sebagai bit tanda
4. Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data Contoh: ADD 5 ; tambahkan 5 pada akumulator.
c) Indirect register
1. Metode pengalamatan
register tidak langsung mirip dengan mode pengalamatan tidak langsung
2. Perbedaannya adalah field alamat mengacu pada alamat register
3. Letak operand berada pada memori yang dituju oleh isi register
4. Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung
2. Perbedaannya adalah field alamat mengacu pada alamat register
3. Letak operand berada pada memori yang dituju oleh isi register
4. Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung
Keterbatasan field alamat diatasi dengan pengaksesan memori
yang tidak langsung sehingga alamat yang dapat direferensi makin banyak Dalam
satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak
langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat
daripada mode pengalamatan tidak langsung.
d) Indirect- memori
Salah satu mode pengalamatan yang disebutkan dalam artikel
ini bisa memiliki sedikit tambahan untuk menunjukkan pengalamatan tidak
langsung, yaitu alamat dihitung menggunakan modus beberapa sebenarnya alamat
dari suatu lokasi (biasanya lengkap kata) yang berisi alamat efektif
sebenarnya.Pengalamatan tidak langsung dapat digunakan untuk kode atau data.Hal
ini dapat membuat pelaksanaan pointer ataureferensi atau menanganilebih mudah,
dan juga dapat membuat lebih mudah untuk memanggil subrutin yang tidak
dinyatakan dialamati.Pengalamatan tidak langsung tidak membawa hukuman
performansi karena akses memori tambahan terlibat.
Beberapa awal
minicomputer (misalnya Desember PDP-8, Data General Nova) hanya memiliki
beberapa register dan hanya rentang menangani terbatas (8 bit).Oleh karena itu
penggunaan memori tidak langsung menangani hampir satu-satunya cara merujuk ke
jumlah yang signifikan dari memori.
e) Register
Pada beberapa komputer, register dianggap sebagai menduduki
16 pertama 8 atau kata-kata dari memori (misalnya ICL 1900, DEC PDP-10).Ini
berarti bahwa tidak perlu bagi yang terpisah "Tambahkan register untuk
mendaftarkan" instruksi - Anda hanya bisa menggunakan "menambahkan
memori untuk mendaftar" instruksi. Dalam kasus model awal PDP-10, yang
tidak memiliki memori cache, Anda benar-benar dapat memuat sebuah loop dalam
ketat ke dalam beberapa kata pertama dari memori (register cepat sebenarnya),
dan berjalan lebih cepat daripada di memori inti magnetik. Kemudian model dari
DEC PDP-11seri memetakan register ke alamat di output / area input, tetapi ini
ditujukan untuk memungkinkan diagnostik terpencil. register 16-bit dipetakan ke
alamat berturut-turut byte 8-bit.
f) Index
Indexing adalah field alamat mereferensi alamat memori
utama, dan register yang direferensikan berisi pemindahan positif dari alamat
tersebut
1. Merupakan kebalikan dari mode
base register
2. Field alamat dianggap sebagai alamat memori dalam indexing
3. Manfaat penting dari indexing adalah untuk eksekusi program-program iterative
2. Field alamat dianggap sebagai alamat memori dalam indexing
3. Manfaat penting dari indexing adalah untuk eksekusi program-program iterative
g) Base index
Base index, register yang direferensi berisi sebuah alamat
memori, dan field alamat berisi perpindahan dari alamat itu Referensi register
dapat eksplisit maupun implicit.Memanfaatkan konsep lokalitas memori.
h) Base index plus offset
Offset biasanya nilai 16-bit masuk (walaupun 80386 diperluas
ke 32 bit). Jika offset adalah nol, ini menjadi contoh dari register
pengalamatan tidak langsung, alamat efektif hanya nilai dalam register dasar.
Pada mesin RISC banyak, register 0 adalah tetap sebesar nilai nol. Jika register
0 digunakan sebagai register dasar, ini menjadi sebuah contoh dari pengalamatan
mutlak. Namun, hanya sebagian kecil dari memori dapat diakses (64 kilobyte,
jika offset adalah 16 bit). 16-bit offset mungkin tampak sangat kecil
sehubungan dengan ukuran memori komputer saat ini (yang mengapa 80386 diperluas
ke 32-bit). Ini bisa lebih buruk: IBM System/360 mainframe hanya memiliki
12-bit unsigned offset. Namun, prinsip berlaku: selama rentang waktu yang
singkat, sebagian besar item data program ingin mengakses cukup dekat satu sama
lain. Mode pengalamatan ini terkait erat dengan mode pengalamatan terindeks
mutlak.
Contoh 1: Dalam sebuah sub rutin programmer terutama akan
tertarik dengan parameter dan variabel lokal, yang jarang akan melebihi 64 KB,
yang satu basis register (yang frame pointer) sudah cukup. Jika rutin ini
adalah metode kelas dalam bahasa berorientasi objek, kemudian register dasar
kedua diperlukan yang menunjuk pada atribut untuk objek saat ini (ini atau diri
dalam beberapa bahasa tingkat tinggi).
Contoh 2: Jika register dasar berisi alamat dari sebuah tipe
komposit (record atau struktur), offset dapat digunakan untuk memilih field
dari record (catatan paling / struktur kurang dari 32 kB).
i) Relatif
Pengalamatan Relative, register yang direferensi secara
implisit adalah program counter (PC)Alamat efektif didapatkan dari alamat
instruksi saat itu ditambahkan ke field alamat Memanfaatkan konsep lokalitas
memori untuk menyediakan operand-operand berikutnya.
Sumber
http://siezwoyouye.blogspot.com/2012/10/arsitektur-set-instruksi.html
http://id.wikipedia.org/wiki/Set_instruksi
http://id.scribd.com/doc/34681874/2-Set-Instruksi
http://siezwoyouye.blogspot.com/2012/10/arsitektur-set-instruksi.html
http://id.wikipedia.org/wiki/Set_instruksi
http://id.scribd.com/doc/34681874/2-Set-Instruksi
Tidak ada komentar:
Posting Komentar