A.
Pengertian
set instruksi
Tugas Softskill 3
Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) 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 (jika ada).
Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) 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 (jika ada).
Set instruksi (instruction set) biasa disebut
juga sebagai sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU
dengan sebuah kamus berisi daftar perintah apa saja yang dapat dilakukan (didukung)
oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur
prosesor tertentu.
ISA merupakan sebuah spesifikasi dari Pullman
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.
ISA kadang-kadang digunakan untuk membedakan
kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor,
yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set
instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan
lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi
set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor
AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi
Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat
radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang
terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang
diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai
mesin virtual. TIMI didesain untuk meningkatkan masa hidup sebuah platform dan
aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar
dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus
memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini
membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor
CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian
dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya.
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 instructions).
› Kumpulan
dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut
set Instruksi (Instruction Set).
C. ELEMEN-ELEMEN
DARI INSTRUKSI MESIN (SET INSTRUKSI)
- 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.

› Main
or Virtual Memory
› CPU
Register
› I/O
Device
D.
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 :
-
Source code compatibility
- 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, dsb.
3. Register: Banyaknya register
yang dapat digunakan
4.Addressing: Mode pengalamatan
untuk operand
v 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).
v Jenis-Jenis
Operand
· Addresses (akan dibahas pada addressing
modes)
· Numbers : Integer or fixed point, Floating
point, Decimal (BCD)
· Characters : ASCII, EBCDIC
· Logical Data : Bila data berbentuk binary ( 0 dan 1 )
v Jenis-Jenis Instruksi
1.
Pengolahan Data
Instruksi
untuk aritmetika dan logika. Instruksi Aritmetika memiliki kemampuan untuk
mengolah data numeric. Instruksi Logika beroperasi pada bit-bit word sebagai
bit bukan sebagai bilangan.
2.
Penyimpanan Data
Instruksi
untuk Memori. Instruksi memori diperlukan untuk memindahkan data yang terdapat
pada memori dan register.
3.
Perpindahan Data
Instruksi
untuk I/O. Instruksi I/O diperlukan untuk memindahkan program dan data ke dalam
memori dan mengembalikan hasil komputansi kepada pengguna.
4.
Kontrol
Instruksi
untuk pemeriksaan dan percabangan. Instruksi kontrol digunakan untuk memeriksa
nilai data dannmencambangkan ke set industri lain.
E.
Jenis
Addressing Mode (Teknik Pengalamatan)
Yang termasuk Teknik pengalamatan yaitu : Immediate,
Direct, Indirect, Register, Register Indirect, Displacement, Stack
Ø Immediate Addressing
o
Pengalamatan yang paling sederhana.
o
Operand benar-benar ada dalam instruksi atau
bagian dari intsruksi
o
Operand sama dengan field alamat
o
Umumnya bilangan akan disimpan dalam bentuk
complement dua
o
Bit paling kiri sebagai bit tanda
o
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
Ø Direct Addressing
o
Teknik ini banyak digunakan pada komputer lama
dan komputer kecil
o
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
Ø Indirect Addressing
o
Merupakan mode pengalamatan tak langsung
o
Field alamat mengacu pada alamat word di alamat
memori, yang pada gilirannya akan berisi alamat operand 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
Ø Register Addressing
o
Metode pengalamatan register mirip dengan mode
pengalamatan langsung
o
Perbedaanya terletak pada field alamat yang
mengacu pada register, bukan pada memori utama
o
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
Ø Register Indirect Addressing
Metode
pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak
langsung
o
Perbedaannya adalah field alamat mengacu pada
alamat register
o
Letak operand berada pada memori yang dituju
oleh isi register
o
Keuntungan dan keterbatasan pengalamatan
register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung
o
Keterbatasan field alamat diatasi dengan
pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi
makin banyak
o
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
Ø Displacement Addressing
o
Menggabungkan kemampuan pengalamatan langsung
dan pengalamatan register tidak langsung
o
Mode ini mensyaratkan instruksi memiliki dua
buah field alamat, sedikitnya sebuah field yang eksplisit
o
Operand berada pada alamat A ditambahkan isi
register
Tiga model displacement
o
Relative addressing : register yang direferensi
secara implisit adalah Program Counter (PC)
o
Alamat efektif didapatkan dari alamat instruksi
saat itu ditambahkan ke field alamat
o
Memanfaatkan konsep lokalitas memori untuk
menyediakan operand-operand berikutnya
o
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
o
Indexing
: 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-pprogram iteratif
Contoh
:
-
Field eksplisit bernilai A dan field imlisit mengarah pada register
Ø Stack Addressing
o
Stack adalah array lokasi yang linier =
pushdown list = last-in-firs-out
o
Stack merupakan blok lokasi yang terbaik
o
Btir ditambahkan ke puncak stack sehingga
setiap blok akan terisi secara parsial
o
Yang berkaitan dengan stack adalah pointer yang
nilainya merupakan alamat bagian paling atas stack
o
Dua elemen teratas stack dapat berada di dalam
register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga
stack
o
Stack pointer tetap berada dalam register
o
Dengan demikian, referensi-referensi ke lokasi
stack di dalam memori pada dasarnya merupakan pengalamatan register tidak
langsung.
Referensi :
1.
https://en.wikipedia.org/wiki/Instruction_set
2.
https://en.wikipedia.org/wiki/Complex_instruction_set_computing
3. https://docs.google.com/document/d/1shUV_xUF89iHyomHPD_VDNaaJr6jbqCJDw4aY2mKQU/edit?usp=sharing
4. https://rosdianasetiawan.blogspot.co.id/2013/02/set-instruksi-teknik-pengalamatan.html
Tidak ada komentar:
Posting Komentar