Pengertian Set Instruksi
Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Komputer pada dasarnya membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini dilakukan dengan cara mengeksekusi serangkaian instruksi program tersebut pada prosesor. Sebuah program biasanya memiliki suatu bentuk model pengeksekusian tertentu agar dapat secara langsung dieksekusi oleh komputer.
Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Komputer pada dasarnya membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini dilakukan dengan cara mengeksekusi serangkaian instruksi program tersebut pada prosesor. Sebuah program biasanya memiliki suatu bentuk model pengeksekusian tertentu agar dapat secara langsung dieksekusi oleh komputer.
Program yang sama dalam format kode
yang dapat dibaca oleh manusia disebut sebagai kode sumber, bentuk program yang
memungkinkan programmer menganalisis serta melakukan penelaahan algoritma yang
digunakan pada program tersebut. Kode sumber tersebut pada akhirnya dikompilasi
oleh utilitas bahasa pemrograman tertentu sehingga membentuk sebuah program.
bentuk alternatif lain model pengeksekusian sebuah program adalah dengan
menggunakan bantuan interpreter, kode sumber tersebut langsung dijalankan oleh
utilitas interpreter suatu bahasa pemrograman yang digunakan.
Dalam pengertiannya Set Instruksi
(instruction set) adalah sekumpulan instruksi yang lengkap dan berbeda. Set
instruksi ini dapat di mengerti oleh sebuah CPU, set instruksi sering juga
sering disebut sebagai bahasa mesin (machine code), karena aslinya juga
berbentuk biner kemudian dimengerti sebagai bahasa assembly, agar dapat
dimengerti oleh manusia (programmer).
Set instruksi didefinisikan sebagai
suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
- 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 komputer (CPU, system memori dan IO). HSA mencakup desain logis
dan organisasi arus data dari subsistem.
Jenis – Jenis Instruksi
1.Data procecessing: Arithmetic dan
Logic Instructions
data processing adalah jenis pemrosesan yang dapat
mengubah data menjadi informasiatau 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.
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
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: Test and branch instructions
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).
Teknik Pengalamatan
Metode pengalamatan merupakan aspek
dari set instruksi arsitekturdi sebagian unit pengolah pusat(CPU) desain yang
didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa
mesinpetunjuk dalam arsitektur untuk mengidentifikasi operan dari setiap
instruksi.. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat
memori yang efektif dari operand dengan menggunakan informasi yang diadakan di
registerdan / atau konstanta yang terkandung dalam instruksi mesin atau
di tempat lain.
Jumlah Alamat
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 :
- a) Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
- b) Tiga Alamat (dua operand, satu hasil)
- c) Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
- d) Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)
- Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan :
- a) – Address Instruction
- b) 1 – Addreess Instruction
- c) N – Address Instruction
- d) M + N – Address Instruction
- Macam-macam instruksi menurut sifat akses terhadap memori atau register
- a) Memori To Register Instruction
- b) Memori To Memori Instruction
- c) Register To Register Instruction
Jenis-jenis Metode Pengalamatan
- a) Direct Absolute (pengalamatan langsung)
Hal ini membutuhkan ruang dalam
sebuah instruksi untuk cukup alamat yang besar.. Hal ini sering tersedia di
mesin CISC yang memiliki panjang instruksi variabel, seperti x86.. Beberapa
mesin RISC memiliki Literal khusus Atas instruksi Load yang
menempatkan sebuah 16-bit konstan di atas setengah dari register.. Sebuah literal instruksi ATAUdapat
digunakan untuk menyisipkan 16-bit konstan di bagian bawah mendaftar itu,
sehingga alamat 32-bit kemudian dapat digunakan melalui mode pengalamatan tidak
langsung mendaftar, yang itu sendiri disediakan sebagai “base- plus-offset
“dengan offset 0.
- b) Immidiate
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 kompleent 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.
- c) Indirect register
- 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.
- d) Indirect- memori
Salah satu mode pengalamatan yang
disebutkan dalam artikel ini bisa memiliki sedikit tambahan untuk menunjukkan
pengalamatan tidak langsung, yaitu alamat dihitung menggunakan modus beberapa
sebenarnya alamat dari suatu lokasi (biasanya lengkap kata) yang berisi alamat
efektif sebenarnya. Pengalamatan tidak langsung dapat digunakan untuk kode atau
data.. Hal ini dapat membuat pelaksanaan pointer ataureferensi atau menanganilebih
mudah, dan juga dapat membuat lebih mudah untuk memanggil subrutin yang tidak
dinyatakan dialamati. Pengalamatan tidak langsung tidak membawa hukuman
performansi karena akses memori tambahan terlibat.
Beberapa awal minicomputer (misalnya
Desember PDP-8, Data General Nova) hanya memiliki beberapa register dan hanya
rentang menangani terbatas (8 bit).Oleh karena itu penggunaan memori tidak
langsung menangani hampir satu-satunya cara merujuk ke jumlah yang signifikan
dari memori.
- e) Register
Pada beberapa komputer, register
dianggap sebagai menduduki 16 pertama 8 atau kata-kata dari memori (misalnya
ICL 1900, DEC PDP-10). Ini berarti bahwa tidak perlu bagi yang terpisah
“Tambahkan register untuk mendaftarkan” instruksi – Anda hanya bisa menggunakan
“menambahkan memori untuk mendaftar” instruksi. Dalam kasus model awal PDP-10,
yang tidak memiliki memori cache, Anda benar-benar dapat memuat sebuah loop
dalam ketat ke dalam beberapa kata pertama dari memori (register cepat
sebenarnya), dan berjalan lebih cepat daripada di memori inti magnetik.
Kemudian model dari DEC PDP-11seri memetakan register ke alamat di output /
area input, tetapi ini ditujukan untuk memungkinkan diagnostik terpencil.
register 16-bit dipetakan ke alamat berturut-turut byte 8-bit.
- f) Index
Indexing adalah 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
- g) Base index
Base index, register yang
direferensi berisi sebuah alamat memori, dan field alamat berisiperpindahan
dari alamat itu Referensi register dapat eksplisit maupun implicit.
Memanfaatkan konsep lokalitas memori.
- h) Base index plus offset
Offset biasanya nilai 16-bit masuk
(walaupun 80386 diperluas ke 32 bit). Jika offset adalah nol, ini menjadi
contoh dari register pengalamatan tidak langsung, alamat
efektif hanya nilai dalam register dasar. Pada mesin RISC banyak, register 0
adalah tetap sebesar nilai nol. Jika register 0 digunakan sebagai register dasar,
ini menjadi sebuah contoh dari pengalamatan mutlak. Namun, hanya
sebagian kecil dari memori dapat diakses (64 kilobyte, jika offset adalah 16
bit). 16-bit offset mungkin tampak sangat kecil sehubungan dengan ukuran memori
komputer saat ini (yang mengapa 80386 diperluas ke 32-bit). Ini bisa lebih
buruk: IBM System/360 mainframe hanya memiliki 12-bit unsigned offset. Namun,
prinsip berlaku: selama rentang waktu yang singkat, sebagian besar item data
program ingin mengakses cukup dekat satu sama lain. Mode pengalamatan ini
terkait erat dengan mode pengalamatan terindeks mutlak.
Contoh 1: Dalam sebuah sub rutin programmer terutama akan
tertarik dengan parameter dan variabel lokal, yang jarang akan melebihi 64 KB,
yang satu basis register (yang frame pointer) sudah cukup. Jika rutin ini
adalah metode kelas dalam bahasa berorientasi objek, kemudian register dasar
kedua diperlukan yang menunjuk pada atribut untuk objek saat ini (ini atau diri
dalam beberapa bahasa tingkat tinggi).
Contoh 2: Jika register dasar berisi alamat dari sebuah tipe
komposit (record atau struktur), offset dapat digunakan untuk memilih field
dari record (catatan paling / struktur kurang dari 32 kB).
- i) Relatif
Pengalamatan Relative, 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.
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 dan 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.
Format Set 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).
Jenis-Jenis Operand antara lain :
- 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
- Transfer Data
- a) Menetapkan lokasi operand sumber dan operand tujuan.
- b) Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
- c) Menetapkan panjang data yang dipindahkan.
- d) Menetapkan mode pengalamatan.
- e) Tindakan CPU untuk melakukan Transfer Data adalah :
- Memindahkan data dari satu lokasi ke lokasi lain.
- Apabila memori dilibatkan :
o Menetapkan alamat
memori.
o Menjalankan
transformasi alamat memori virtual ke alamat memori aktual.
o Mengawali pembacaan /
penulisan memori
- f) 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
- Aritmatika dan Logika
- a) Tindakan CPU untuk melakukan operasi Aritmatika Dan Logika :
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- Menset kode-kode kondisi dan flag.
- b) Operasi set instruksi untuk Aritmatika :
- ADD : penjumlahan
- SUBTRACT : pengurangan
- MULTIPLY : perkalian
- DIVIDE : pembagian
- c) Operasi set instruksi untuk operasi Logika :
- AND, OR, NOT, EXOR
- COMPARE : melakukan perbandingan logika
- TEST : menguji kondisi tertentu
- SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit
- ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin
- Konversi
- a) Tindakan CPU sama dengan Aritmatika dan Logika.
- b) Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
- c) Misalnya pengubahan bilangan desimal menjadi bilangan biner.
- d) Operasi set instruksi untuk Konversi :
- TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
- CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
- Input / Ouput
- a) Tindakan CPU untuk melakukan INPUT /OUTPUT :
- Apabila memory mapped I/O maka menentukan alamat memory mapped.
- Mengawali perintah ke modul I/O
- b) Operasi set instruksi Input / Ouput :
- INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan.
- OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O.
- START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O.
- TEST I/O : memindahkan informasi dari sistem I/O ke tujuan TRANSFER CONTROL.
- Transfer Control
- a) Tindakan CPU untuk transfer control :
- Mengupdate program counter untuk subrutin , call / return.
- b) Operasi set instruksi untuk transfer control :
- JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
- JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
- JUMP SUBRUTIN : melompat ke alamat tertentu.
- RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
- EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
- SKIP : menambah PC sehingga melompati instruksi berikutnya.
- SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
- HALT : menghentikan eksekusi program.
- WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi.
- NO OPERATION : tidak ada operasi yang dilakukan.
- Control System
- a) 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.
- b) Contoh : membaca atau mengubah register kontrol.
Sumber Referensi :
http://rizkyanggakusumaa.blogspot.co.id/2015/12/set-instruksi-program-dan-jenis-jenis.htmlhttp://muhammadbambangutama.blogspot.co.id/2015/12/set-instruksi-program-dan-jenis-jenis.html
Tidak ada komentar:
Posting Komentar