Selasa, 31 Oktober 2017
A. Set
Instruksi
Set Instruksi didefinisikan sebagai suatu aspek
dalam arsitektur komputer yang dapat dilihat oleh para pemrogram, atau dengan
kata lain Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan
oleh CPU disebut set Instruksi (Instruction Set). Operasi dari CPU ditentukan
oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Set instruksi didefinisikan sebagai
suatu aspek dalam arsitektur computer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
1.
Instruction set architecture (ISA) / arsitektur set
instruksi ISA meliputi spesifikasi yang menentukan bagaimana programmer bahasa
mesin akan berinteraksi oleh computer. ISA menentukan sifat komputasional
computer.
2.
Hardware system architecture (HSA)
/ arsitektur system hardware
HAS berkaitan dengan subsistem
hardware utama computer (CPU, system memori dan IO). HSA mencakup desain logis
dan organisasi arus data dari subsistem.
Pada beberapa mesin, semua instruksi
memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak
panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki
panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua
instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat
pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi
dengan demikian harus sama panjang seperti instruksi yang paling panjang.
Ada 2 jenis klasifikasi set
instruksi yang utama yaitu :
1. CISC (Complex
Instruction Set of Computing)
2. RISC (Reduced
Instruction Set of Computing)
Perbandingan set instruksi CISC dan RISC antara
lain :
1.
CISC (Complex Instruction Set of Computing)
CISC (Complex Instruction Set of Computing)
adalah desain prosesor dimana instruksi tunggal dapat menjalankan beberapa
operasi tingkat rendah (seperti beban dari memori, operasi aritmatika, dan
penyimpanan memori) atau mampu menjalankan operasi multi-langkah atau mode
pengalamatan dalam instruksi tunggal. Istilah ini surut diciptakan berbeda
dengan Reduced Instruction Set of Computing (RISC) dan karena
itu telah menjadi sesuatu dari istilah umum untuk segala sesuatu yang bukan
RISC, dari komputer mainframe yang besar dan kompleks untuk mikrokontroler
sederhana di mana beban memori dan operasional penyimpanan tidak lepas dari
instruksi aritmatika.
2. RISC(Reduced
Instruction Set of Computing)
RISC (Reduced Instruction Set of Computing)
adalah strategi desain CPU berdasarkan ide bahwa set instruksi yang
disederhanakan memberikan kinerja yang lebih tinggi bila dikombinasikan dengan
arsitektur mikroprosesor mampu melaksanakan instruksi tersebut menggunakan
siklus mikroprosesor yang lebih sedikit per instruksi. Sebuah komputer
berdasarkan strategi ini adalah set instruksi komputer berkurang, juga disebut
RISC. Arsitektur menentang disebut kompleks set instruksi komputasi (CISC).
Karakteristik dan Fungsi Set Instruksi
B. Karakteristik dan Fungsi set instruksi
• Operasi dari CPU
ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya.
Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions)
atau instruksi komputer (computer instruction).
• Kumpulan dari
instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set
instruksi (instruction set)
C.
Jenis-jenis Instruksi
1. Data
Processing / Pengolahan Data : instruksi-instruksi aritmetika dan
logika. Instruksi aritmetika memiliki
kemampuan untuk mengolahdata numeric, sedangkan instruksi logika beroperasi
pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut
dilakukan terutama untuk data di register CPU.
2. Data
Storage / Penyimpanan Data : instruksi-instruksi memori.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di
memori dan register.
3. Data
Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O
diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan
hasil komputansi kepada pengguna.
4. Control /
Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi kontrol
digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set
instruksi lain.
Instruksi aritmetika memiliki kemampuan untuk mengolah
data numeric. Sedangkan instruksi logika beroperasi pada bit-bit word sebagai
bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan teutama untuk
data di register CPU. Instruksi-instruksi 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.
D. Elemen - Elemen Dari Set Instruksi
a. Operation
Code (opcode) adalah menentukan operasi yang akan dilaksanakan.
b. Source
Operand Reference adalah input bagi operasi yang akan dilaksanakan.
c. Result
Operand Reference adalah hasil
dari operasi yang dilaksanakan.
d. Next
Instruction Reference adalah
memberitahukan CPU untuk mengambil instruksi
berikutnya setelah instruksi yang dijalankan selesai.
E. Teknik Pengalamatan
1. Immediate Addressing
Immediate
Addressing (Pengalamatan Segera) Adalah bentuk pengalamatan yang paling sederhana.
Penjelasan :
·
Operand benar-benar ada dalam instruksi atau bagian dari intsruksi.
·
Operand sama dengan field alamat.
·
Umumnya bilangan akan disimpan dalam
bentuk complement dua.
·
Bit paling kiri sebagai bit tanda.
·
Ketika operand dimuatkan
ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data.
Keuntungan :
·
Tidak adanya referensi memori selain
dari instruksi yang diperlukan untuk memperoleh operand.
·
Menghemat siklus instruksi sehingga
proses keseluruhanakan akan cepat.
Kekurangan :
Ukuran bilangan
dibatasi oleh ukuran field.
Contoh :
ADD 7 ; tambahkan 7
pada akumulator.
2. Direct
Addressing
·
Teknik ini banyak digunakan pada
komputer lama dan komputer kecil.
·
Hanya memerlukan sebuah referensi memori
dan tidak memerlukan kalkulus khusus.
Kelebihan :
· Field alamat berisi
efektif address sebuah operand.
Kekurangan :
· Keterbatasan field alamat
karena panjang field alamat biasanya lebih kecil dibandingkan
panjang word.
Contoh :
ADD A ; tambahkan isi
pada lokasi alamat A ke akumulator.
3. Indirect
Addressing
·
Merupakan mode pengalamatan tak
langsung.
·
Field alamat mengacu
pada alamat word di alamat memori, yang pada gilirannya akan berisi alamatoperand yang
panjang.
Kelebihan :
·
Ruang bagi alamat menjadi besar sehingga
semakin banyak alamat yang dapat referensi.
Kekurangan :
·
Diperlukan referensi memori ganda dalam
satu fetch sehingga memperlambat proses operasi.
Contoh :
ADD (A) ; tambahkan isi memori yang
ditunjuk oleh isi alamat A ke akumulator.
4. Register
addressing
Penjelasan :
·
Metode pengalamatan register mirip
dengan mode pengalamatan langsung.
·
Perbedaanya terletak pada field alamat
yang mengacu pada register, bukan pada memori utama.
·
Field yang mereferensi
register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16
register general purpose.
Keuntungan :
·
Diperlukan field alamat
berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
·
Akses ke register lebih cepat daripada
akses ke memori, sehingga proses eksekusi akan lebih cepat.
Kerugian :
·
Ruang alamat menjadi terbatas.
5. Register
indirect addressing
·
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.
6. Displacement
addressing
Penjelasan :
·
Menggabungkan kemampuan pengalamatan
langsung dan pengalamatan register tidak langsung.
·
Mode ini mensyaratkan instruksi memiliki
dua buahfield alamat, sedikitnya sebuah field yang
eksplisit.
·
Operand berada pada alamat A ditambahkan isi register.
·
Tiga model displacement : - Relative
addressing : 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.
·
Base register addressing : Register yang
direferensi berisi sebuah alamat memori dan field alamat
berisi perpindahan dari alamat itu : - Referensi register dapat eksplisit
maupun implisit memanfaatkan konsep lokalitas memori.
·
Indexing : field alamat
mereferensi alamat memori utama, dan register yang direferensikan berisi
pemindahan positif dari alamat tersebut
o Merupakan kebalikan dari mode base register.
o Field alamat dianggap sebagai alamat memori
dalam indexing.
o Manfaat penting dari indexing adalah untuk eksekusi
program-program iteratif.
Contoh :
Field eksplisit bernilai A dan field implisit
mengarah pada register
7. Stack
addressing
Penjelasan :
·
Stack adalah array lokasi yang linier =
pushdown list = last-in-firs-out.
·
Stack merupakan blok lokasi yang
terbaik.
·
Btir ditambahkan ke puncak stack sehingga
setiap blok akan terisi secara parsial.
·
Yang berkaitan dengan stack adalah
pointer yang nilainya merupakan alamat bagian paling atas stack.
·
Dua elemen teratas stack dapat berada di
dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen
ketiga stack.
·
Stack pointer tetap berada dalam
register.
·
Dengan demikian, referensi-referensi ke
lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register
tidak langsung.
F. Design 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 :
· Source Code Compatibility.
· Object Code Compatibility.
Selain ketiga aspek tersebut juga
melibatkan hal-hal sebagai berikut :
· Operation Repertoire
Berapa banyak dan
operasi apa saja yang disediakan, dan berapa sulit operasinya
· Data Types
Tipe/jenis data yang
dapat olah
· Instruction Format
Panjangnya, banyaknya
alamat,dsb.
· Register
Banyaknya register
yang dapat digunakan
·
Addressing
Mode pengalamatan untuk operand
Mode pengalamatan untuk operand




