Pengertian Set
Instruksi Teknik Pengalamatan Dan Desain Set Instruksi
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).
Pengertian Set Instruksi dalam (bahasa Inggris:
Instruction Set, atau Instruction Set Architecture (ISA)) adalah 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. 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.
Sebuah instruksi terdiri dari sebuah opcode, biasanya
bersama dengan beberapa informasi tambahan seperti dari mana asal
operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk
menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya)
disebut pengalamatan.
FORMAT 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).OPCODE OPERAND REFERENCE OPERAND
REFERENCE JENIS-JENIS OPERAND
* 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 1JENIS
INSTRUKSI
* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructionsTRANSFER DATA
* Menetapkan lokasi operand sumber dan operand tujuan.
* Lokasi-lokasi tersebut dapat berupa memori, register atau bagian
paling atas daripada stack.
* Menetapkan panjang data yang dipindahkan.
* Menetapkan mode pengalamatan.
* Tindakan CPU untuk melakukan transfer data adalah :
a. Memindahkan data dari satu lokasi ke lokasi lain.
b. Apabila memori dilibatkan :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke alamat memori
aktual.
3. Mengawali pembacaan / penulisan memoriOperasi 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 sumberARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer
data sebelum atau sesudah.
2. Melakukan
fungsi dalam ALU.
3. Menset
kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL
* Tindakan CPU sama dengan arithmetic
* Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan
konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung
yang terjalin.
CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
* Instruksi yang mengubah format instruksi yang beroperasi
terhadap format data.
* Misalnya pengubahan bilangan desimal menjadi bilangan biner.
* Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian
memori berdasrkan tabel korespodensi.
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke
bentuk lainnya.INPUT / OUPUT
* Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali perintah ke modul I/O* Operasi set instruksi Input /
Ouput :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk
mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
TRANSFER CONTROL* Tindakan CPU untuk transfer control : Mengupdate program
counter untuk subrutin , call / return.
* Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan
alamat tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC
dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3. JUMP SUBRUTIN : melompat ke alamat tertentu.
4. RETURN : mengganti isi PC dan register lainnya yang berasal
dari lokasi tertentu.
5. EXECUTE : mengambil operand dari lokasi tertentu dan
mengeksekusi sebagai instruksi
6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa
berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan
dipenuhi
10. NO OPERATION : tidak ada operasi yang dilakukan.
CONTROL SYSTEM
* 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. * Contoh : membaca atau
mengubah register kontrol.JUMLAH ALAMAT (NUMBER OF ADDRESSES)
* 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 :
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat
instruksi berikutnya)
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand
dan hasilnya)Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction
2. 1 – Addreess Instruction.
3. N – Address Instruction
4. M + N – Address InstructionMacam-macam instruksi menurut sifat
akses terhadap memori atau register
1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction
ADDRESSING MODES
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling
umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack
Teknik Pengalamatan
Untuk menyimpan data ke dalam memori komputer, tentu memori
tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika
data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan
data yang pernah diletakkan di sana.
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh
pemakai komputer saat ini karena hampir seluruh software yang beredar di
pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan
disimpan (semua sudah otomatis dilakukan oleh si software).
Jadi, yang kita pelajari adalah bagaimana kira-kira si software
tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita
berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan
tepat.
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).
Tipe operand adalah sebuah objek yang ada pada operasi matematika
yang dapat digunakan untuk melakukan operasi. Pengertian tipe operand merupakan
suatu variabel (karakter atau angka) yang akan di proses oleh operator untuk
mengetahui hasil. Sedangkan Pengertian tipe operator adalah intruksi yang
diberikan untuk mendapatkan hasil dari proses tersebut. Tipe-tipe operand
terdiri dari addresses, numbers,characters, dan logical data. Tipe-tipe
operator sendiri terdiri dari tiga tipe yaitu operator aritmatika, operaor
relasi, dan operator logika.
Contohnya, operasi: 7+3. Angka 7 dan 3 adalah operand, sedangkan
tanda tambah (+) adalah operator. Beberapa operator bisa mengubah nilai dari
operandnya sendiri, meskipun kebanyakan hanya sebagai penghubung antar operand.
Berikut ini tipe-tipe operand yang perlu kita ketahui dan kita pahami:
Tipe – tipe Operand.
Addresses.
Addresses merupakan teknik pengelamatan pada komputer. Jenis-jenis
addressing modes (teknik pengalamatan) yang paling umum yang sering digunakan
ada 7 diantaranya :
Immediate
Direct
Indirect
Register
Register Indirect
Displacement
Stack
Numbers :
Numbers terdiri dari 3, diantaranya ada integer or fixed point,
floating point, dan desimal.
Integer or fixed point
Integer or fixed point adalah sebuah
integer yang skala dengan faktor tertentu. Penting untuk dicatat bahwa faktor
skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis
fixed-titik tertentu.
Floating point
Floating point adalah sebuah bilangan yang
digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil.
Decimal (BCD)
Binary code decimal (BCD)adalah sebuah
sistem sandi yang umum digunakn untuk menyatakan angka desimal secara digital.
BCD merupakan sistem pengkodean bilangan desimal yang metodenya mirip dengan
bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari
bilangan decimal dikonversi satu persatu, bukan secara keseluruhan seperti
konversi bilangan desimal ke biner biasa. Sedangkan decimal adalah sistem
bilangan yan paling umum digunakan dalam kehidupan sehari-hari. Sistem bilangan
decimal dapat berupa integer desimal (decimal integer) dan berupa pecahan
desimal (decimal fraction). Decimal ini menggunakan 10 macam simbol yang
terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9.
Characters :
ASCII
ASCII (American Standard Code for Information Interchange) adalah
suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode
tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter “|”.
ASCII sering digunakan untuk memproses sistem informasi, komunikasi, dan
peralatan yan saling berhubungan biasanya berupa keypad atau lebih lengkap
disebut keyboard. ASCII menyajikan sebuah karakter dengan 7 bit bilangan biner
yang memungkinkan kombinasi 128 karakter yang berbeda.
EBCDIC
EBCDIC (Extended Binary Coded Decimal Interchange Code)
merupakankode 8 bit untuk huruf yang dipakai pada sistem operasi komputer merk
IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta i5/OS.
Logical Data : Bila data berbentuk binary:
0 dan 1.
Jenis-jenis operator adalah sebagai berikut :
Operator Aritmetika
Operator untuk melakukan fungsi aritmetika seperti :
+(penjumlahan), – (mengurangkan), * (mengalikan), / (membagi).
Operator relational
Operator untuk menyatakan relasi atau perbandingan antara dua
operand, seperti > (lebih besr), =(lebih besar atau sama), <= (lebih
kecil atau sama), == (sama), != (tidak sama).
Operator Logik
Operator untuk merelasikan operand secara logis seperti &&
(and), || (or), !(not)
Tipe-tipe Operasi
Dalam perancangan arsitektur komputer, jumlah kode operasi akan
sangat berbeda untuk masing-masing komputer, tetapi terdapat kemiripan dalam
jenis operasinya.
Jenis operasi komputer :
-
Transfer data – konversi
1. Menetapkan lokasi operand sumber dan operand tujuan.
2. Lokasi-lokasi tersebut dapat berupa memori, register atau
bagian paling atas daripada stack.
3. Menetapkan panjang data yang dipindahkan.
4. Menetapkan mode pengalamatan.
-Aritmatika – input/output
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
-Logika – kontrol sistem dan transfer control
Tindakan CPU sama dengan arithmetic
Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan
konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung
yang terjalin
Sumber
:
Tidak ada komentar:
Posting Komentar