Arsitektur Set
Intruksi
Arsitektur
set intruksi merupakan suatu rancangan yang melibatkan banyak pengaturan
intruksi atau perintah yang dapat dimengerti oleh CPU dengan sebuah library
yang berisi daftar perintah apa saja yang dapat dilakukan oleh sebuah prosesor,
dan biasanya terikat dengan sebuah arsitektur prosesor tertentu sebagai contoh
arsitektur prosesor x86 dan x64). Yang mana arsitektur tersebut berbentuk kode
mesin atau biasa disebut bahasa mesin atau juga dikenal sebagai bilangan biner.
Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau
dijalankannya.
Dalam
arsitektur komputer terdapat dua bagian utama, yaitu sebagai berikut:
·
Instruction set
architecture (ISA) / arsitektur set instruksi ISA meliputi spesifikasi yang
menentukan bagaimana programmer bahasa mesin akan berinteraksi oleh
komputer. ISA menentukan sifat komputasional komputer.
·
Hardware system
architecture (HSA) / arsitektur system hardware HSA berkaitan dengan
subsistem hardware utama computer (CPU, system memori dan
IO). HSA mencakup desain logis dan organisasi arus data dari subsistem
Jenis Instruksi
Jenis instruksi dalam arsitektur komputer meliputi
point-point berikut:
·
Data processing/pengolahan
data : instruksi aritmetika dan logika
Data processing adalah jenis pemrosesan yang dapat mengubah
data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan
komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini
biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara
terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai
sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan
data mengolah dan memanipulasi data mentah menjadi informasi (hasil
pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan
menghasilkan informasi sebagai produk keluaran.
·
Data storage/penyimpanan
data: instruksi-instruksi memori
Sering disebut sebagai memori komputer, merujuk kepada
komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan
data digital yang digunakan untuk beberapa interval waktu. Penyimpanan data
komputer menyediakan salah satu tiga fungsi inti dari komputer modern, yakni
mempertahankan informasi. Ia merupakan salah satu komponen fundamental yang
terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan
mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media
penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access
Memory (RAM), dan kadang-kadang dalam bentuk lainnya yang lebih cepat tapi
hanya dapat menyimpan data secara sementara. Akan tetapi, istilah “computer
storage” sekarang secara umum merujuk kepada media penyimpanan massal, yang
bisa berupa cakram optis, beberapa bentuk media penyimpanan magnetis (seperti
halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat
ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.
·
Data movement/perpindahan
data: instruksi I/O
Proses data movement ini adalah memindahkan (dapat
diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand,
schema, dan lain – lain ketempat baru. Tempat baru ini bisa ke dalam database
baru atau memang untuk dibackup saja.
Data movement
terdiri dari 2 bagian besar yaitu :
·
Load & Upload [difokuskan untuk memindahkan
data yang berupa indeks atau data itu sendiri alias isi dari database tersebut]
·
Export & Import [memindahkan data secara
lengkap, mulai dari grand, schema, dan seluruhnya]
Jika dilihat,
load tersebut behubungan dengan import dan upload berhubungan dengan export
Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat
dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk
membuat dari data table ke fisik / file. Kelemahan load adalah dalam prosesnya
bisa saja terjadi data yang tidak berpindah secara sempurna.
Upload
Parameter
• Limit [membatasi beberapa record]
• Sample [mencari sample yang telah ditentukan]
• When [berdasarkan kondisi]
Dan pada upload, hanya satu parameter saja yang dapat berjalan alias tak bisa
berjalan bersamaan apabila parameternya lebih dari 1.
Bulk Data
Movement (Software Pendukung)
• ETL [Extrat Transform Load], software yang focus terhadap data warehouse
• Replication and Propagation, software yang memonitoring source database dan
target, dan yang dihasilkan oleh software ini adalah pencatatatn log.
Perlu
diperhatikan juga hak akses dalam load & unload, import & export
minimal adalah akses select.
Distribution
Database
Dalam distribution database terdapat 3 istilah yaitu :
• Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari
setiap user.
• Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
• Transparancy [all user], akses tabel terpisah dari user tetapi user masih
dapat mengaksesnya.
Lawan dari database terdistribusi adalah database terpusat. Server yang
terpusat memang diuntungkan dalam sisi maintenance sedangkan server
terdistribusi lebih rumit dalam proses integrasinya.
Jika database terdistribusi paling tidak membutuhkan Sumber Daya Manusia [SDM]
yang baik, network yang lebih baik karena permasalahan network itu sangat fatal
dan biasanya permasalahannya tidak jauh – jauh dari permasalahan traffic
network. Dan yang tidak boleh dilupakan adalah request dan respon.
·
Control/control : instruksi
pemeriksaan dan percabangan
Unit kendali (bahasa Inggris: Control Unit –
CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan
arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU
(Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan
mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang
susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah
microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).
Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang
dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda
dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register
instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern,
setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU
sebagai pemantaunya (supervisor).
Selain jenis-jenis instruksi ada juga jenis-jenis
operand, sebagai berikut:
·
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
Operand dari suatu sistem operasi dapat berbeda
pada:
·
Memori
Utama atau memori virtual
·
Register
CPU
·
Perangkat I/O
Desain Set
Instruksi
Desain set instruksi itu merupakan aspek
yang sangat kompleks yang melibatkan kelengkapan set instruksi, ortogonalitas
yaitu sifat indepentdent instruksi, dan kompatibilitas. Kompatibilitas juga
memliki dua bagian yaitu source code compatibility, dan object code
compatibility.
Selain ketiga aspek tersebut juga
melibatkan hal-hal sebgai berikut:
·
Operation
Repertoire, yaitu berapa banyak operasi dan apa saja yang disediakan, dan
seberapa sulit operasinya.
·
Data Types, yaitu
jenis data apa saja yang dapat diolah
·
Instruction
Format, yaitu seberapa panjang dan banyaknya alamat yang digunakan
·
Register, yaitu
banyaknya memori instruksi yang dapat digunakan
·
Addressing,
yaitu mode pengalamatan yang mana saja untuk operand
Teknik
Pengalamatan
Teknik pengalamatan meliputi sebagai berikut:
1.
Immediate Addressing
2.
Direct Addressing
3.
Indirect Addressing
4.
Register addressing
5.
Register indirect addressing
6.
Displacement addressing
7.
Stack addressing
Gamabar 1. Table Basic Addressing Modes
Gambar 2. Addressing Mode
·
Immediate Addressing
Immediate addressing merupakan teknik pengalamatan yang paling sederhana
diantara pengalamatan yang lainnya, karena operand benar-benar ada dalam
instruksi atau bagian dari intruksi, operand sama dengan field alamat, umumnya
bilangan akan disimpan dalam bentuk complement dua, bit paling kiri merupakan
bit tanda, ketika operand dimuatkan ke dalam register data bit tanda digeser ke
kiri hingga maksimum word data, contoh dari pengalamatan ini adalah ADD 7 yaitu
menambahkan 7 pada aktuator. Ada keuntungannya jika menggunakan teknik
pengalamatan ini yaitu sebagai berikut:
Ø Tidak adanya referensi
memori selain dari instruksi yang diperlukan untuk memperoleh operand
Ø Menghemat siklus
instruksi sehingga proses keseluruhanakan akan cepat
Sedangkan
kekurangannya yaitu:
Ø
Ukuran bilangan dibatasi oleh ukuran field
·
Direct Addressing
Teknik ini banyak digunakan pada komputer keluaran lamadan komputer
kecil, dan direct addressing ini hanya memerlukan sebuah referensi memori dan
tidak memerlukan kalkulis khusus, kelebihannya yaitu field alamat berisi
efektif address sebuah operand. Sedangkan kekurangannya adalah keterbatasan
field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang
word. Contohnya yaitu ADD A yaitu menambahkan isi pada lokasi alamat A ke
akumulator.
Gambar 3. Ilustrasi Contoh Direct Addressing
·
Indirect Addressing
·
Indirect addrssing
merupakan mode pengalamatan tak langsung, field alamat mengacu pada alamat word
di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang,
Contohnya ADD (A) artinya tambahkan isi memori yang ditunjuk oleh isi alamat A
ke akumulator, kelebihannya adalah ruang bagi alamat
menjadi besar sehingga semakin banyak alamat yang dapat referensi, sedangkan
kekurangannya yaitu diperlukannya referensi memori ganda dalam satu fetch
sehingga memperlambat proses operasi.
Gambar 4. Ilustrasi contoh Indirect Addressing
·
Register Addressing
Metode pengalamtan register ini mirip dengan mode pengalamatan langsung,
perbedaanya terletak pada field 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. Keuntungannya yaitu 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. Sedangkan kekurangannya adalah ruangan alamat
menjadi terbatas.
Gambar 5. Contoh Register Addressing
·
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.
Gambar 6. Contoh Register Indirect Addressing
·
Displacement
Addressing
Menggabungkan kemampuan pengalamatan langsung
dan pengalamatan register tidak langsung, mode ini mensyaratkan instruksi
memiliki dua buah field 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
Ø Merupakan kebalikan dari
mode base register
Ø Field alamat dianggap
sebagai alamat memori dalam indexing
Ø Manfaat penting dari
indexing adalah untuk eksekusi program-pprogram iteratif
Gambar 7. Contoh Displacement Addressing
·
Stack Addressing
Stack adalah array
lokasi yang linier = pushdown list = last-in-firs-out, stack merupakan blok
lokasi yang terbaik, butir 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.
Daftar Pustaka
http://www.scribd.com/doc/34681874/2-SetInstruksi
-
http://endahajah.wordpress.com/2009/03/31/hello-world/
http://queenofharmony.blogspot.com/2011/11/arsitektur-set-instruksi.html
http://id.wikipedia.org/wiki/Set_instruksi
http://queenofharmony.blogspot.com/2011/11/arsitektur-set-instruksi.html
https://sanusiadam79.wordpress.com/2015/12/30/set-instruksi-program-dan-jenis-jenis-instruksi/
http://sodiqengineering.blogspot.co.id/2015/01/arsitektur-set-instruksi-desain-set.html