Download Document Lengkap (Ada Gambarx) --> [DOWNLOAD] via 4shared.com
A.
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 instructions).
·
Kumpulan dari instruksi-instruksi yang
berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).
a.
Elemen-Elemen
dari Instruksi Mesin
·
Operation Code (opcode) : menentukan
operasi yang akan dilaksanakan
·
Source Operand Reference : merupakan
input bagi operasi yang akan dilaksanakan
·
Result Operand Reference : merupakan
hasil dari operasi yang dilaksanakan
·
Next instruction Reference : memberitahu
CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang
dijalankan selesai.
Source dan result operands dapat berupa
salah Satu diantara tiga jenis berikut ini:
1. Main
or Virtual Memory
2. CPU
Register
3. I/O
Device
b.
Jumlah
Alamat (Number Of Addresses)
Salah satu cara
tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat
jumlah alamat yang terkandung dalam setiap instruksinya. Jumlah alamat maksimum
yang mungkin diperlukan dalam sebuah instruksi :
1. Empat
Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga
Alamat (dua operand, satu hasil)
3. Dua
Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu
Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O–
Address Instruction
2. 1
– Addreess Instruction.
3. N
– Address Instruction
4. M
+ N – Address Instruction
Jenis instruksi menurut sifat akses terhadap memori atau
register
1. Memori
To Register Instruction
2. Memori
To Memori Instruction
3. Register
To Register Instruction
c.
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:
1. Operation
Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa
sulit operasinya
2. Data
Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya,
banyaknya alamat, dan sebagainya.
3. Register:
Banyaknya register yang dapat digunakan
4. Addressing:
Mode pengalamatan untuk operand
c. Format
Instruksi
-
Suatu instruksi terdiri dari beberapa
field yang sesuai dengan elemen dalam instruksi tersebut.
-
Layout dari suatu instruksi sering
disebut sebagai Format Instruksi (Instruction Format).
B.
Jenis-jenis
Operand
1. Addresses
2. Numbers
a. Integer
or fixed point
b. Floating
point
c. Decimal
(BCD)
3. Characters
a. ASCII
b. EBCDIC
(Extended Binary Coded Decimal Interchange Code)
4. Logical
Data : Bila data berbentuk binary: 0 dan 1
a. Jenis
Instruksi
Data processing:
Arithmetic dan Logic Instructions
Data storage: Memory
instructions
Data Movement: I/O
instructions
Control: Test and
branch instructions
C.
Tipe
Operasi
a.
Transfer
Data
·
Menetapkan lokasi operand sumber dan
operand tujuan.
·
Lokasi-lokasi tersebut dapat berupa
memori, register atau bagian paling atas daripada stack.
·
Menetapkan panjang data yang
dipindahkan.
·
Menetapkan mode pengalamatan.
·
Tindakan CPU untuk melakukan transfer
data adalah :
o
Memindahkan data dari satu lokasi ke
lokasi lain.
o
Apabila memori dilibatkan :
§ Menetapkan
alamat memori.
§ Menjalankan
transformasi alamat memori virtual ke alamat memori aktual.
§ Mengawali
pembacaan / penulisan memori
Operasi set instruksi
untuk transfer data:
Ø MOVE
: memindahkan word atau blok dari sumber ke tujuan
Ø STORE
: memindahkan word dari prosesor ke memori.
Ø LOAD : memindahkan word dari memori ke
prosesor.
Ø EXCHANGE
: menukar isi sumber ke tujuan.
Ø CLEAR
/ RESET : memindahkan word 0 ke tujuan.
Ø SET
: memindahkan word 1 ke tujuan.
Ø PUSH
: memindahkan word dari sumber ke bagian paling atas stack.
Ø POP
: memindahkan word dari bagian paling atas sumber
b.
Arithmetic
Tindakan CPU untuk
melakukan operasi arithmetic :
1. Transfer
data sebelum atau sesudah.
2. Melakukan
fungsi dalam ALU.
3. Menset
kode-kode kondisi dan flag.
Operasi set instruksi
untuk arithmetic :
1. ADD
: penjumlahan 5.
ABSOLUTE
2. SUBTRACT
: pengurangan 6. NEGATIVE
3. MULTIPLY
: perkalian 7.
DECREMENT
4. DIVIDE
: pembagian 8.
INCREMENT
Nomor 5 sampai 8
merupakan instruksi operand tunggal.
c.
Logical
Tindakan CPU sama
dengan arithmetic
Operasi set instruksi
untuk operasi logical :
1. AND,
OR, NOT, EXOR
2. COMPARE
: melakukan perbandingan logika.
3. TEST
: menguji kondisi tertentu.
4. SHIFT
: operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5. ROTATE
: operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
d.
Konversi
Tindakan CPU sama
dengan arithmetic dan logical. Instruksi yang mengubah format instruksi yang
beroperasi terhadap format data.
Misalnya pengubahan
bilangan desimal menjadi bilangan biner.
Operasi set instruksi
untuk conversi :
Ø TRANSLATE
: menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel
korespodensi.
Ø CONVERT
: mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
e.
Input
/ Ouput
Tindakan CPU untuk
melakukan INPUT /OUTPUT :
1. Apabila
memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali
perintah ke modul I/O
Operasi set instruksi
Input / Ouput :
1. INPUT
: memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT
: memindahkan data dari sumber tertentu ke perangkat I/O
3. START
I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST
I/O : memindahkan informasi dari sistem I/O ke tujuan
f.
Sistem
Kontrol
Hanya dapat dieksekusi
ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi
suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem
operasi.
Contoh : membaca atau
mengubah register kontrol.
g.
Transfer
Control
·
Tindakan CPU untuk transfer control :
Mengupdate program
counter untuk subrutin , call / return.
·
Operasi set instruksi untuk transfer
control :
1. JUMP
(cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2. JUMP
BERSYARAT : menguji persyaratan tertentu danmemuat PC dengan alamat tertentu
atau tidak melakukan apa tergantung dari persyaratan.
3. JUMP
SUBRUTIN : melompat ke alamat tertentu.
4. RETURN
: mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5. EXECUTE
: mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi
6. SKIP
: menambah PC sehingga melompati instruksi
berikutnya.
7. SKIP
BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
8. HALT
: menghentikan eksekusi program.
9. WAIT
(HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi.
10. NO
OPERATION : tidak ada operasi yang dilakukan.
D.
Addressing
·
Membatasi keterbatasan format instruksi
dapat mereferensi lokasi memori yang besar
·
Jenis-jenis
addressing modes (Teknik Pengalama-tan) yang paling umum:
1. Immediate
2. Direct
3. Indirect
4. Register
5. Register
Indirect
6. Displacement
7. Stack
1.
Immediate
Addressing
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 komplement 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
Keuntungan
dan Kekurangan Immediate Addressing
Ø Keuntungan
ü Tidak
adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh
operand.
ü Menghemat
siklus instruksi sehingga proses keseluruhan akan cepat
Ø Kekurangan
ü Ukuran
bilangan dibatasi oleh ukuran field alamat
2.
Direct
Addressing
Ø Kelebihan
ü Field
alamat berisi efektif address sebuah operand
ü Hanya
memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Ø Kelemahan
ü 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
Mode Pegalamatan tak langsung
ü Field
alamat mengacu pada alamat word di alamat memori
ü Pada
gilrannya akan berisi alamat operand yang panjang
Contoh:
ADD (A); tambahkan isi
memori yang ditunjuk oleh isi alamat A ke akumulator
Kelebihan
dan Kekurangan Indirect Addressing
Ø Kelebihan
Ruang bagi alamat
menjadi besar sehingga semakin banyak alamat yang dapat referensi
Ø Kekurangan
Diperlukan referensi
memori ganda dalam satu fetch sehingga memperlambat preoses operasi
4.
Register
Addressing
Ø Metode
pengalamatan register mirip dengan mode pengalamatan langsung
Ø Perbedaannya
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
dan Kerugian Register Addressing
Ø Keuntungan
pengalamatan register
o
Diperlukan field alamat berukuran kecil
dalam instruksi dan tidak diperlukan referensi memori
o
Akses ke regster lebih cepat daripada
akses ke memori, sehingga proses eksekusi akan lebih cepat
Ø Kerugian
o
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
Ø Menggabungkan
kemampuan pengalamatan langsung dan pengalamatan
register tidak langsung
Ø Mode
in mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
Field
eksplisit bernilai A dan field implisit mengarah pada register
Operand
berada pada alamat A ditambahkan isi register
Tiga model displacement
·
Relative addressing
·
Base register addressing
·
Indexing
Ø Relative addresing, 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 addresing, 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 dalah 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 iterative
7.
Stack
Addressing
Ø Stack
adalah array lokasi yang linier = pushdown list = last-in-first-out
Ø Stack
merupakan blok lokasi yang terbalik
Ø Butir
ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsial
Ø Yang
berkaitan dengan stack adalah pointer yang nilainya merupakanalamat 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
Tabel
Basic Addressing Modes
0 komentar
Post a Comment