Anda di halaman 1dari 26

DISUSUN OLEH :

MUHAMMAD GHOZALI (5173351031)


RIFANDY FADILLAH (5173351037)
DISAIN 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 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.
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
Data Types
Register

Aspek-aspek yang harus dipertimbangkan sebelum menyelesaikan set instruksi :


1. Kenyamanan pemrograman
2. Pengalamatan yang fleksibel
3. Jumlah General Purpose Register (GPR)
4. Target segmen pasar
5. Kinerja sistem
KARAKTERISTIK EKSEKUSI
INSTRUKSI
Operasi dari CPU ditentukan oleh instruksi instruksi yang dilaksanakan atau
dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine
instructions) atau instruksi komputer (computer instructions). Kumpulan dari
instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set
Instruksi (Instruction Set).
Instruksi mesin (machine instruction) yang dieksekusi membentuk suatu operasi dan
berbagai macam fungsi CPU.
Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set)
CPU
Mempelajari karakteristik instruksi mesin, meliputi :
Elemen-elemen instruksi mesin
Representasi instruksinya
Jenis-jenis instruksi
Penggunaan alamat
Rancangan set instruksi
ELEMEN-ELEMEN INSTRUKSI
Untuk dapat dieksekusi suatu instruksi harus berisi elemen
informasi yang diperlukan CPU secara lengkap dan jelas,
antara lain :
Operation code (Op code)
Source Operand reference
Result Operand reference
Next Instruction reference
REPRESENTASI INSTRUKSI
Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa
field.
Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
Layout instruksi dikenal dengan format instruksi.
Kode operasi (op code) direpresentasikan dengan singkatan-singkatan, yang disebut
mnemonic.
Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
ADD = penambahan
SUB = substract (pengurangan)
LOAD = muatkan data ke memori
Contoh representasi operand secara simbolik :
ADD X, Y artinya tambahkan nilai yang berada pada lokasi Y ke isi register X, dan
simpan hasilnya di register X.
Programmer dapat menuliskan program bahasa mesin dalam bentuk simbolik.
Setiap op code simbolik memiliki representasi biner yang tetap dan programmer dapat
menetapkan lokasi masing-masing operand.
JENIS JENIS SET INSTRUKSI
Data Processing/Pengolahan Data : instruksi-instruksi
aritmetika dan logika.
Data Storage/Penyimpanan Data : instruksi-instruksi
memori.
Data Movement/Perpindahan Data : instruksi I/O.
Control/Kontrol: instruksi pemeriksaan dan
percabangan .
JUMLAH ALAMAT
Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format operasi
masing-masing CPU.
Ada format operasi yang menggunakan 3, 2, 1 dan 0 register.
Umumnya yang digunakan adalah 2 register dalam suatu operasi. Desain CPU saat ini telah
menggunakan 3 alamat dalam suatu operasi, terutama dalam MIPS (Million Instruction per
Second).
Alamat per instruksi yang lebih sedikit akan membuat instruksi lebih sederhana dan pendek,
tetapi lebih sulit mengimplementasikan fungsi-fungsi yang kita inginkan.
Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana.
Jumlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan eksekusi lebih cepat.
Jumlah instruksi per program biasanya jauh lebih banyak.
Pada jumlah alamat per instruksi banyak, jumlah bit dan referensi instruksi lebih banyak
sehingga waktu eksekusi lebih lama.
Diperlukan register CPU yang banyak, namun operasi antar register lebih cepat.
Lebih mudah mengimplementasikan fungsi-fungsi yang kita inginkan.
Jumlah instruksi per program jauh lebih sedikit.
Untuk lebih jelas perhatikan contoh instruksi-instruksi dengan jumlah register berbeda untuk
menyelesaikan persoalan yang sama.
FORMAT SET INSTRUKSI &
JENIS OPERASI KOMPUTER
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 EBCDICLogical Data : Bila data berbentuk binary:
0 dan 1
Jenis Operasi Komputer
Transfer data. Konversi
Aritmetika. - Input/Output
Logika. - Kontrol sistem dan transfer control
TRANSFER 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 :
Memindahkan data dari satu lokasi ke lokasi lain.
Apabila memori dilibatkan :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke
alamat memori aktual.
3. Mengawali pembacaan / penulisan memori.
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.
ARITHMETIC DAN LOGIKA
Tindakan CPU untuk melakukan operasi arithmetic :
Transfer data sebelum atau sesudah.
Melakukan fungsi dalam ALU.
Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk Aritmatika :
ADD : penjumlahan
SUBTRACT : pengurangan
MULTIPLY : perkalian
DIVIDE : pembagian
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
Tindakan CPU sama dengan Aritmatika dan Logika.
Instruksi yang mengubah format instruksi yang beroperasi terhadap format
data.
Misalnya pengubahan bilangan desimal menjadi bilangan biner.
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
Tindakan CPU untuk melakukan INPUT /OUTPUT :
Apabila memory mapped I/O maka menentukan alamat memory mapped.
Mengawali perintah ke modul I/O

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
Tindakan CPU untuk transfer control :

Mengupdate program counter untuk subrutin , call / return.


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
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.
MODE PENGALAMATAN
Motode pengalamatan adalah bagaimana cara menunjuk dan
mengalamati suatu lokasi memori pada sebuah alamat di mana
operand akan diambil. Motode pengalamatan diterapkan pada
set instruksi, dimana pada umumnya instruksi terdiri dari
opcode (kode operasi) dan alamat. Setiap motode
pengalamatan memberikan fleksibilitas khusus yang sangat
penting. Mode pengalamatan ini meliputi direct addressing,
indirect addressing, dan immediate addressing.
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.
Mode pengalamatan merupakan metode penentuan alamat
operand pada instruksi. Operand instruksi diletakan pada
memori utama dan register CPU. Tujuan yang mempengaruhi
arsitektur komputer ketika memilih mode pengalamatan :
Mengurangi panjang instruksi dengan mempunyai medan
yang pendek untuk alamat.
Menyediakan bantuan yang tangguh kepada pemrogram
untuk penanganan data kompleks seperti pengindeksan
sebuah array, control loop, relokasi program dan sebagainya.
TEKNIK MODE PENGALAMATAN

Immediate Addressing
Direct Addressing
Indirect Addressing
Register addressing
Register indirect addressing
Displacement addressing
Stack addressing
A. IMMEDIATE ADDRESING
(PENGALAMATAN SEGERA)
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.
B. DIRECT ADDRESSING
(PENGALAMATAN LANGSUNG)
Direct addressing merupakan mode pengalamatan untuk
mentransfer data antar memori dan register. Teknik ini banyak
digunakan pada komputer lama dan komputer kecil. Hanya
memerlukan sebuah referensi memori dan tidak memerlukan
kalkulus khusus. Demikian pula akan lebih mudah
menggunakan mode ini daripada mode immediate karena harga
yang didapat bisa dari lokasi memori yang mungkin variabel.
Contoh :
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
MOV A, 04H 04H Merupakan alamat memori tempat data di
simpan atau di isikan
C. INDIRECT ADDRESSING
(PENGALAMATAN TAK LANGSUNG)
Mode pengalamatan indirect addressing sangat berguna karena
dapat memberikan fleksibilitas tinggi dalam mengalamati suatu
harga. Mode ini pula satu-satunya cara untuk mengakses 128
byte lebih dari RAM internal pada keluarga 8052. Field alamat
mengacu pada alamat word di alamat memori, yang pada
gilirannya akan berisi alamat operand yang panjang.
Contoh :
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat
A ke akumulator

Anda mungkin juga menyukai