MAKALAH SISTEM KOMPUTER
SET INSTRUKSI DAN MODE PENGALAMATAN (ADDRESSING)
DISUSUN OLEH:
NAMA : YAYA AMEYLIA CATHERIN
KELAS : XI TJA 2
NO: 35
TAHUN PELAJARAN 2014/2015
TELKOM SCHOOLS SMK TELKOM PURWOKERTO
1. SET INSTRUKSI
A. Karakteristik 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).Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
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).
d. Beberapa Simbolik Instruksi
MPY/MUL : Multiply (Kalikan)
DIV : Divide (Bagi).
MOVE : Memindahkan data dari satu tempat ke tempat lain.
SHR : Shift kanan data.
SHL : Shift kiri data .dan lain-lain.
ADD : Add (jumlahkan).
SUB : Subtract (Kurangkan)
LOAD : Load data dari register/memory.
STOR : Menyimpan data ke register/memory
e. Jenis Instruksi
Data storage: Memory instructions STOR, LOAD, MOVE, dsb)
Data processing: Arithmetic (ADD, SUB, dsb) dan Logic
Instructions (AND, OR, NOT, SHR, dsb)
Data Movement: I/O instructions
Control: Test and branch instructions (JUMP, HALT,dsb)
MPY/MUL : Multiply (Kalikan)
DIV : Divide (Bagi).
MOVE : Memindahkan data dari satu tempat ke tempat lain.
SHR : Shift kanan data.
SHL : Shift kiri data .dan lain-lain.
ADD : Add (jumlahkan).
SUB : Subtract (Kurangkan)
LOAD : Load data dari register/memory.
STOR : Menyimpan data ke register/memory
e. Jenis Instruksi
Data storage: Memory instructions STOR, LOAD, MOVE, dsb)
Data processing: Arithmetic (ADD, SUB, dsb) dan Logic
Instructions (AND, OR, NOT, SHR, dsb)
Data Movement: I/O instructions
Control: Test and branch instructions (JUMP, HALT,dsb)
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 :
~ Memindahkan data dari
satu lokasi ke lokasi lain.
~ 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. 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).
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
Macam-macam instruksi menurut sifat akses terhadap memori atau register
1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction
2. MODE PENGALAMATAN (ADDRESSING)
·
Membatasi
keterbatasan format instruksi dapat mereferensi lokasi memori yang besar.
Mode pengalamatan adalah bagaimana cara menunjuk dan mengalamati suatu lokasi
memori pada sebuah alamat dimana operand akan diambil. Mode pengalamatan diterapkan pada
set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat.
Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting.
memori pada sebuah alamat dimana operand akan diambil. Mode pengalamatan diterapkan pada
set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat.
Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting.
·
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
Mode
|
Algorithm
|
Principal Advantage
|
Principal Disadvantage
|
Immediate
|
Operand
=
A
|
No
memory
reference
|
Limited
operand magnitude
|
Direct
|
EA = A
|
Simple
|
Limited
address space
|
Indirect
|
EA = (A)
|
Large address
space
|
Multiple
memory references
|
Register
|
EA = R
|
No
memory
Reference
|
Limited
address space
|
Register
Indirect
|
EA = (R)
|
Large
address space
|
Extra
memory reference
|
Displace-ment
|
EA=A+(R)
|
flexibility
|
Complexity
|
Stack
|
EA=top
of
Stack
|
No
memory
Reference
|
Limited
applicability
|
