set
instruksi (instruction set) merupakan
sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU, disebut
juga machine code (bahasa mesin), aslinya juga berbentuk biner atau bahasa
assembly. Untuk konsumsi manusia (programmer), biasanya
digunakan representasi yang lebih mudah dimengerti manusia.
Elemen-elemen Instruksi
·
Operation code (Op code)
: Kerjakan ini
·
Source Operand reference : Terhadap isi alamat ini
·
Result Operand reference : Letakkan hasilnya di alamat ini
·
Next Instruction Reference :Kalau sudah selesai, selanjutnya
kerjakan alamat ini
Dalam sebuah instruksi, tidak harus semua elemen
ini dicantumkan, tergantung kebutuhan dan jenis instruksinya.
Semua
instruksi dijalankan dalam CPU. Rata-rata operasi hanya membutuhkan register
sebagai tempat membaca atau menyimpan operand. Adakalanya
juga register tidak berisi operand tapi
menunjuk ke tempat penyimpanan lainnya (memory, cache, modul I/O)
I.
Jenis – jenis instruksi
·
Data Processing/Pengolahan Data: instruksi-instruksi
aritmetika dan logika.
·
Data Storage/Penyimpanan Data: instruksi-instruksi memori.
·
Data Movement/Perpindahan Data: instruksi I/O.
·
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 control digunakan untuk
memeriksa nilai data, status komputasi dan mencabangkan ke set instruksi lain.
II.
Teknik Pengalamatan Desain Set Instruksi
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.
Jenis-jenis
metode pengamatan
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
·
Operand benar-benar ada dalam instruksi atau
bagian dari instruksi = operand sama dengan field 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 maksimum word data Contoh: ADD 5 ; tambahkan 5
pada akumulator.
C.Indirect
register.
·
Metode pengalamatan register tidak langsung
mirip dengan mode pengalamatan tidak langsung
·
Perbedaannya adalah field alamat mengacu pada
alamat register.
·
Letak operand berada pada memori yang dituju
oleh isi register
·
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
·
Merupakan kebalikan dari mode base register
·
Field alamat dianggap sebagai alamat memori
dalam indexing
·
Manfaat penting dari indexing adalah untuk
eksekusi program-program iteratif
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.
PengalamatanRelative, 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.
III.DESAIN
SET INSTRUKSI.
Desain set instruksi merupakan masalah yang
sangatkomplek yang melibatkan banyak aspek, diantaranya
adalah:1. Kelengkapan set instruksi2. Ortogonalitas (sifat independensi instruksi)3. Kompatibilitas :
– source
code compatibility
– Object
code Compatibility
Selain ketiga aspek tersebut juga melibatkan
hal-hal sebagaiberikut :
1.
Operation Repertoire
: Berapa banyak dan operasiapa saja yang
disediakan, dan berapa sulitoperasinya
1.
Data Types
: tipe/jenis data yang dapat olah
1.
Instruction Format
: panjangnya, banyaknya alamat,dsb.
1.
Register:
REFRENSI

Tidak ada komentar:
Posting Komentar