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.
ELEMEN - ELEMEN DARI 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 instruksi berikutnya
setelah instruksi yang dijalankan selesai
FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa
field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu
instruksi sering disebut sebagai Format Instruksi.
Contoh suatu Format Instruksi adalah
sbb :
Ilustrasi Format Instruksi Sederhana
(Stallings, W. 1990, hal. 294)
JENIS - JENIS INSTRUKSI
Ø
Data
Processing / Pengolahan Data : instruksi-instruksi aritmetika dan logika.
Instruksi aritmetika memiliki kemampuan untuk mengolahdata numeric, sedangkan
instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan.
Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.
Ø
Data
Storage / Penyimpanan Data : instruksi-instruksi memori. Instruksi-instruksi
memori diperlukan untuk memindah data yang terdapat di memori dan register.
Ø
Data
Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O diperlukan
untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil
komputansi kepada pengguna.
Ø
Control
/ Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi kontrol
digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set
instruksi lain.
TEKNIK PENGALAMATAN
Metode pengalamatan merupakan aspek
dari set instruksi arsitektur disebagian unit pengolah pusat (CPU) desain yang
didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa
mesin petunjuk 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
register dan / atau konstanta yang terkandung dalam instruksi mesin atau di
tempat lain.
Ada tiga
teknik dasar untuk pengalamatan, yakni
·
Pemetaan
langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute
addressing) dan Pengalamatan relatif (relative addressing),
·
Pencarian
Tabel (directory look-up), dan
·
Kalkulasi
(calculating).
Ø Pemetaan Langsung
Teknik
ini dapat dijuluki dengan device dependent (tergantung pada peralatan
rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke
komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat
rekam yang berbeda spesifikasinya.
Teknik
ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat
yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas
ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu
alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.
Ø Teknik Pencarian Tabel
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.
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.
Ø
Teknik Kalkulasi Alamat
Perhitungan
(kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat
disebut dengan fungsi hash.
Bisa
juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas,
tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis
saja (fungsi hash saja atau pencarian tabel saja).
Jenis-jenis
metode pengalamatan diantaranya :
1.
Immediate Addressing Mode
2.
Register Addressing Mode
3.
Direct Addressing Mode
4.
Indirect Addressing Mode
§
R0
atau R1 digunakan untuk menunjukkan Destination Address
§
MOV
A,#30h ; salin immediate data 30h ke
Akumulator
§
MOV
R0,#7Fh ; salin immediate data 7Fh ke
register R0
§
MOV
@R0,A ; salin the data in A ke alamat
di R0
§
R0
atau R1 digunakan untuk menunjukkan Source Address
§
MOV
R0,#7Fh ; salin immediate data 7Fh ke
register R0
§
MOV
@R0,#30h ; salin immediate data 30 ke
alamat di R0
§
MOV
A,@R0 ; salin isi dari alamat di R0 ke
Akumulator
DESAIN SET INSTRUKSI
Desain set
instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek,
diantaranya :
·
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 diolah.
·
Instruction
Format, panjangnya, banyaknya alamat, dsb.
·
Register,
banyaknya register yang dapat digunakan.
·
Addressing,
mode pengalamatan untuk operand.
Membahas tentang CPU,ALU,LOGIC UNIT,SET REGISTER
DAN MEMORY
- Pengertian CPU
CPU merupakan
singkatan dari Central
Prosessor Unit yang
sering diartikan oleh
manusiasebagai tubuh maupun
dari otak sikomputer.
Selain dapat mengolah
berbagaihitungan Aritmatika, CPU
juga dapat mengolah
data-data yang telah
masuk kedalam komputer
dan menyimpannya kedalam Hardisk
maupun alat penyimpanan
lainnya melalui perintah prosessor yang ada di CPU. CPU
sendiri terbuat dari lempengan yang
berbahan silicon yang terdiri
atas 10 juta
transitor yang biasa
disebut “chip”. Perkembangan
CPU dari waktu
ke waktu semakin meningkat. Awal munculnya
processor, yakni hadir
dengan microprocessornya
yang di buat
oleh INTEL, satu-satunya
produsen pada masa
itu untuk pembuatan processor.
Namun, sekarang ini
sudah banyak perusahaan-perusahaan yang membuat processor.
· b. bagian-bagian CPU dan Fungsi-fungsinya
Perangkat pengolah
atau pemroses data
dalam komputer adalah
prosesor atau lengkapnyaadalah mikroprosesor, namun
umumnya pengguna komputer
menyebutnya sebagai CPU (Central Processor Unit). CPU merupakan
otak bagi sebuah system komputer. CPU memiliki 3 komponen utama yang merupakan
bagian tugas utamanya yaitu unit kendali (Control Unit – CU) , unit aritmetika
dan logika (Aritmetic and Logic Unit – ALU) serta komponen register yang
berfungsi membantu melakukan hubungan (interface) dari dan ke memori. Tugas CPU
adalah melaksanakan dan mengawal keseluruhan operasi komputer sehingga bisa
dikatakan hampir keseluruhan pemikiran dilaksanakan disini, sehingga sering
dinamakan sebagai otak komputer. CPU Tempatnya terletak pada papan induk
(motherboard) pada bagian inilah juga terletak
segala pusat perangkat
komputer seperti memori,
port input –output
(I/O) dan sebagainya.
ALU (Aritmetic and Logic Unit)
ALU (Arithmetic and Logic
Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian
pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan
operasi-operasi aritmatika dan
logika sesuai dengan
instruksi yang diberikan.
ALU juga merupakan salah satu
bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit
elektronik yang membuatnya
mampu melaksanakan operasi
aritmatika dan logika.
Ia mengeksekusi instruksi dan
melakukan perhitungan (tambah,
kali, kurang, dan
bagi) dan perbandingan. ALU
bekerja dengan register
yang berbeda untuk
menyimpan data atau informasi tentang
tindakan terakhir yang
dilakukan oleh unit
logika. ALU mampu membandingkan huruf, angka, atau
karakter khusus. Komponen dari rangkaian logika pada ALU adalah
gerbanggerbang logika AND,
OR, XOR, dan
NOT yang dihubungkan
pada multiplexer. Selain itu
juga terdapat juga
operasi shifter yang
komponen dasarnya adalah multiplexer. Komponen ALU mendapatkan
masukan data dari register dan sinyal kontrol dari CU. Untuk
operasi ALU dengan
dua masukan, diperlukan
dua register 8-bit:
ACC (accumulator) untuk masukan pertama dan temp (register sementara)
untuk masukan kedua. Hasil dari operasi
ALU ini adalah
data 8-bit yang
kemudian diteruskan ke
register untuk menyimpan hasil
operasi ini. Selain
itu juga dihasilkan
flag atau bit
status. Flag ini
akan diteruskan ke register
yang menyimpan flag
hasil dari operasi
ALU. Untuk mempercepat pemrosesan data
di dalam prosesor,
selain CU dan
ALU, prosesor juga
membutuhkan memori dengan kecepatan
yang sama dengan
prosesor. Memori khusus
yang diimplementasikan pada prosesor
ini disebut register.
Komponen utama penyusun
register adalah flip-flop.
Register
Bagian CPU
berikutnya adalah register.
Register merupakan perangkat
memori sementara yang menyimpan
data. Register membantu
CPU dalam melaksanakan
instruksi. Mereka dikelola oleh
unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan
informasi lainnya yang sering dibutuhkan
ketika sebuah program
sedang berjalan. Register dimaksudkan untuk dapat diakses
dengan sangat cepat. Yang termasuk register di antaranya adalah register uji
dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji
dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.
Memory
Memori merupakan
media penyimpanan program
maupun data. Memori
semikonduktor dapat dibedakan menjadi Read Only Memory (ROM) dan Random Access Memory (RAM). ROM adalah
memori non-volatil yang
digunakan untuk menyimpan
data secara permanen. Data yang disimpan hanya dapat dibaca, tidak dapat
diubah, dan isinya tidak hilang ketika catuan
dimatikan. Sedangkan RAM adalah tempat
penyimpanan sementara yang berisi
alamat yang isinya
dapat dibaca dan
dimodifikasi. Memori ini
bersifat volatil, isinya
akan hilang ketika catuan dimatikan.
Memori program merupakan
ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh
prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa
membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data
pada prosesor digunakan
untuk menyimpan data-data
hasil pemrosesan dari
instruksiinstruksi yang dijalankan
oleh prosesor. Pada
mikrokontroler 8051, memori
data internal sebesar 128 byte.
Didalamnya terdapat bank register, Spesial Function Register (SFR), dan
general-purpose register.