Arsitektur Set Instruksi
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). 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. Ketika mendesain mikroarsitektur, para desainer menggunakan Register
Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang
terdapat dalam ISA. Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat
lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang
dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika
dibandingkan dengan menjalankan program secara langsung di atas perangkat keras
yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau
mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan
oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk
perangkat keras dirilis oleh vendor.
1.1. Jenis instruksi
·
Data procecessing: Arithmetic dan Logic Instructions
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: Memory instructions
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: I/O instructions
Data Movement
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:
1. Autonomi [idependent], untuk tabel umum akses
yang diberikan berbeda dari setiap user.
2. Isolation [standalone], untuk tabel khusus
(privacy) itu terpisah dari user.
3. Transparancy [all user], akses tabel terpisah
dari user tetapi user masih dapat mengaksesnya.
1.2. TEKNIK PENGALAMATAN
Ada 3 teknik dasar untuk pengalamatan, yaitu:
1.
Pemetaan langsung
Pemetaan langsung (direct mapping), terdiri
dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan
relatif (relative addressing).
a)
Pengalamatan
Mutlak
Untuk teknik pengalamatan ‘alamat mutlak’ ini, tidak terlalu
mempermasalahkan kunci atribut karena diminta langsung menuliskan di mana
alamat record yang akan di masukkan. Jika kita menggunakan hard disk atau
magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1)
cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder
addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder),
permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing,
maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track),
dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat
memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang
kita masukkan banyak, kita bisa lupa di mana alamat record tertentu.
b)
Pengalamatan
relatif
Teknik ini menjadikan atribut kunci sebagai alamat memorinya,
jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan alamat
dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan
kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya.
Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan
karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan kerugian
lainnya.Teknik ini termasuk dalam katagori address space dependent.
2. Pencarian Tabel
(directory look-up)
Teknik ini dilakukan dengan cara mengambil seluruh kunci atribut
dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel
itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan
NIM) yang telah disorting (diurut) dan alamat memorinya. Jadi, sewaktu
dilakukan pencarian data, tabel yang pertama dibaca adalah tabel INDEX itu,
setelah ditemukan atribut kuncinya, maka data alamat yang ada di sana digunakan
untuk meraih alamat record dari data (berkas/ file/ tabel) yang sebenarnya.
Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan
teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah
Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak
terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah
alamat yang ada di INDEX-nya.
3. Kalkulasi
(calculating).
pada teknik pencarian tabel kita harus menyediakan ruang memori
untuk menyimpan tabel INDEX-nya, maka pada teknik ini tidak diperlukan hal itu.
Yang dilakukan di sini adalah membuat hitungan sedemikian rupa sehingga dengan
memasukkan kunci atribut record-nya, alamatnya sudah dapat diketahui. Tinggal
masalahnya, bagaimana membuat hitungan dari kunci atribut itu sehingga hasilnya
bisa efisien (dalam penggunaan memori) dan tidak berbenturan nilainya
(menggunakan alamat yang sama).
1.3. Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang
melibatkan banyak aspek, diantaranya adalah:
· Kelengkapan set instruksi
· Ortogonalitas (sifat independensi instruksi)
· 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 4 Addressing: Mode pengalamatan untuk operand
Sumber
Tidak ada komentar:
Posting Komentar