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 kumpulan semua kode-kode biner (opcode) yang diimplementasikan
dalam bentuk aslinya (native form) dalam sebuah
desain prosesor tertentu. Kumpulanopcode 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.
- Jenis-jenis Instruksi
Instruksi-instruksi memori diperlukan untuk memindah data yang
terdapat di memori dan register. Instruksi-instruksi I/O diperlukan untuk
memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi
kepada pengguna.
Jenis-jenis intruksi operasi-operasi yang dilakukan teutama untuk
data di register CPU yaitu :
1. Data
Processing/Pengolahan Data : instruksi-instruksi aritmetika dan logika.
2. Data
Storage/Penyimpanan Data : instruksi-instruksi memori.
3. Data
Movement/Perpindahan Data : instruksi I/O.
4. Control/Kontrol :
instruksi pemeriksaan dan percabangan.
Instruksi aritmetika
(arithmetic instruction) memiliki kemampuan untuk mengolah data numeric.
Sedangkan instruksi logika (logic instruction) beroperasi pada bit-bit word
sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan
terutama dilakukan untuk data di register CPU. Instruksi-instruksi memori diperlukan
untuk memindahkan data yang terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam
memori dan mengembalikan hasil komputasi kepada pengguna.
- Teknik Pengalamatan
Teknik pengalamatan merupakan aspek dari set instruksi
arsitektur di sebagian unit pengolah pusat(CPU) desain yang didefinisikan dalam
set instruksi arsitektur dan menentukan bagaimana bahasa mesin petunjuk dalam
arsitektur untuk mengidentifikasi operand dari setiap instruksi. Sebuah mode
pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari
operand dengan menggunakan informasi yang diadakan di register dan / atau
konstanta yang terkandung dalam instruksi mesin atau di tempat lain.
Beberapa cara teknik pengalamatan, diantaranya :
1. Pengalamatan Langsung
Teknik pengalamatan
langsung dilakukan dengan memberikan nilai ke suatu register secara
langsung. Untuk melaksankan teknik pengalamatan langsung digunakan tanda
#.
2. Pengalamatan Tak Langsung
Teknik pengalamatan
tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori
yang akan digunakan dalam operasi. Lokasi yang sebenarnya tergantung pada isi
register saat instruksi dijalankan. Untuk melaksanakan pengalamatan tidak
langsung digunakan simbol @.
3. Pengalamatan Bit
Teknik pengalamatan bit
adalah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat
keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.), misalnya
FLAGS.3, 40.5, 21H.5, dan ACC.7. Sebagai contoh instruksi:
4. EQU (Equate)
Equ digunakan untuk
mendefinisikan sebuah simbol atau lambang assembler secara bebas.
5. Delay Time
Program delay merupakan
program tunda yang ditentukan oleh waktu.
Desain Set Instruksi
Aspek paling menarik
dalam arsitektur komputer adalah perancangan set intruksi, karena rancangan ini
berpengaruh banyak pada aspek lainnya. Set instruksi menentukan banyak fungsi
yang harus dilakukan CPU, dan merupakan alat bagi para pemrogram untuk
mengontrol kerja CPU.
Dalam pembuatan desain
set instruksi perlu memperhatikan segala aspek, diantaranya
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat indepedensi instruksi)
3. Kompatibilitas ,source code compatibility &
object code compatibility
Selain ketiga aspek
tersebut juga melibatkan hal-hal sebagai berikut :
a. Operation Repertoire :
berapa banyak dan operasi apa saja yang disediakan,
dan berapa sulit operasinya
b. Data Types
: tipe/jenis data yang dapat
diolah
c. Instruction Format
: panjangnya, banyaknya alamat, dsb
d. Register
:
banyaknya register yang dapat digunakan
e. Addressing
: mode pengalamatan untuk
operand
Central Processing Unit ( CPU )
Central processing unit (CPU) adalah bagian dari sebuah komputer sistem yang
melaksanakan instruksi dari program komputer , untuk melakukan aritmatika,
logis, dan dasar input / output dari sistem operasi.
- Sistem Bus
System bus atau bus sistem, dalam
arsitektur komputer merujuk pada bus yang digunakan oleh sistem
komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah
bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer.
Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen
atau lebih. Data atau program yang tersimpan dalam memori dapat diakses
dan dieksekusi oleh CPU melalui perantara sistem bus. Sebuah
komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang
terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang
digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel
Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus
PCI, bus USB, bus ISA dan bus-bus lainnya.
- ALU (Arithmatic Logic Unit)
ALU, singkatan dari Arithmetic And Logic Unit (bahasa
Indonesia: unit aritmatika dan logika), adalah salah satu bagian dalam dari
sebuah mikroprosesor yang berfungsi untuk melakukan operasi
hitungan aritmatika dan logika. Contoh operasi aritmatika adalah
operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah
logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah
melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai
dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya.
Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan
dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika ini disebut adder. ALU melakukan
operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang
lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar
penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU
adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program.
Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika
dengan menggunakan operator logika, yaitu :
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama
dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
- CLU (Central Logic Unit)
Central Logic Unit 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).
- Set Register
Register prosesor, dalam arsitektur
komputer, adalah sejumlah kecil memori komputer yang
bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi
terhadap program-program komputer dengan menyediakan akses yang cepat
terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum
digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
Register prosesor berdiri pada tingkat tertinggi
dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling
cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling
tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem
komputer untuk melakukan manipulasi data. Register umumnya diukur dengan
satuan bit yang dapat ditampung olehnya, seperti "register
8-bit", "register 16-bit", "register 32-bit", atau "register
64-bit" dan lain-lain. Istilah register saat ini dapat merujuk kepada
kumpulan register yang dapat diindeks secara langsung untuk melakukan
input/output terhadap sebuah instruksi yang didefinisikan oleh set
instruksi. untuk istilah ini, digunakanlah kata "Register
Arsitektur". Sebagai contoh set instruksi Intel
x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit,
tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari
delapan register 32-bit.
Register
terbagi menjadi beberapa kelas:
1. Register
data, yang digunakan untuk menyimpan angka-angka dalam bilangan
bulat (integer).
2. Register
alamat, yang digunakan untuk menyimpan alamat-alamat memori dan
juga untuk mengakses memori.
3. Register general
purpose, yang dapat digunakan untuk menyimpan angka dan
alamat secara
sekaligus.
4. Register floating-point,
yang digunakan untuk menyimpan angka-angka bilangan
titikmengambang (floating-point).
5. Register
konstanta (constant register), yang digunakan untuk menyimpan angka-
angka tetap yang hanya dapat dibaca (bersifat read-only),
semacam phi, null, true, false dan lainnya.
6. Register
vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang
dilakukan oleh prosesor SIMD.
7. Register special
purpose yang dapat digunakan untuk menyimpan data internal
prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
8. Register
yang spesifik terhadap model mesin (machine-specific register), dalam
beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan
yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register
langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin
register
jenis ini tidak menjadi standar antara generasi prosesor
- Cache Memory
Cache memori adalah memori berkapasitas
terbatas, berkecepatan tinggi yang lebih mampu mahal daripada memiri utama.
Cache memori ini ada diantara memori utama dan register pemroses, berfungsi
agar pemroses tidak langsung mengacu pada memori utama agar kinerja dapat
ditingkatkan.
Cache
memori ini ada dua macam yaitu :
1. Cache
Memori yang terdapat pada internal processor,
Cache memori jenis ini kecepatan
aksesnya sangat tinggi, dan harganya sangat
mahal. Hal ini bisa terlihat pada
processor yang berharga mahal. semakin tinggi
kapasitas cache memori maka
semakin mahal dan semakin cepat processor.
2. Cache
memori yang terdapat diluar processor,
yaitu berada pada motherboard. Cache memori jenis ini kecepatan aksesnya
sangat tinggi, meskipun tidak secepat cache
memori jenis pertama (yang ada
pada internal processor).semakin besar
kapasitasnya maka semakin mahal dan
cepat. Hal ini bisa kita lihat pada
motherboard dengan beraneka ragam kapasitas
cache memori yaitu 256kb, 512kb,
1Mb, 2Mb dll.
- Virtual Memory
Virtual Memori adalah sebuah sistem yang
digunakan oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder
yaitu Harddisk seolah-olah ia menggunakannya sebagai memori internal/utama
(RAM) fisik yang terpasang di dalam sebuah sistem komputer. Sistem ini
beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke
sebuah berkas di dalam hard drive yang disebut dengan page file. Proses
pemakaian Virtual memori di windows umumnya dapat dilihat di Task manager.
Dalam sistem operasi berbasis Windows NT,
terdapat sebuah komponen yang mengatur memori virtual yaitu Virtual Memory
Manager (VMM) yang memiliki fungsi untuk dapat memetakan alamat-alamat virtual
yang dimiliki oleh sebuah proses yang berjalan ke dalam page memori fisik di
dalam komputer. Dengan cara ini maka setiap proses dapat memperoleh memori
virtual yang cukup agar dapat berjalan dan tidak mengganggu memori yang sedang
digunakan oleh proses lainnya. VMM menangani paging antara RAM dan page file
agar setiap aplikasi 32-bit dapat mengakses memori hingga 4 Gigabyte, meskipun
Windows hanya membatasinya pada kisaran 2 Gigabyte.
Sumber :
http://ismail-adhari.blogspot.com/2012/10/arsitektur-set-instruksi-dan-cpu.html
Tidak ada komentar:
Posting Komentar