Anda di halaman 1dari 32

SET INSTRUKSI

DI SUSUN OLEH (KELOMPOK 7) :


• Andre M. Rahman 41518010113
• Dheo Azhar Fauzan 41518010102
• Donny Jacarriya P. 41518010127
• Fadhl Muhammad 41518010044
• Ilham Dyki Mu’ahfi 41518010113
• Muhammad Iqbal 41518010066
• Bagus Awalludin 415180100
PENGERTIAN

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di
mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa
mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti
sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya
digunakan representasi yang lebih mudah dimengerti oleh manusia.
DESIGN 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
– Object code compatibility
KOMPONEN SET INSTRUKSI

Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:


• Operation code (op code), yaitu kode operasi berbentuk kode biner.
• Source operand reference, yaitu operand adalah input operasi
• Result operand reference, yaitu merupakan hasil atau keluaran operasi
• Next instruction preference, elemen ini menginformasikan CPU posisi instruksi
berikutnya yang harus diambil dan dieksekusi.
SIKLUS FETCH - EKSEKUSI

• Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
• Terdapat registers dalam CPU yang berfungsi mengawasi dan menghitung instruksi
selanjutnya, yang disebut Program Counter (PC).
• PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
• Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR).
• Instruksi-instruksi ii dalam bentuk kode-kode binner yang dapat direpresentasikan
oleh CPU kemudian dilakukan aksi yang diperlukan.
AKSI CPU

• CPU - Memori, perpindahan data dari CPU ke memori dan sebaliknya.


• CPU - I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
• Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika
terhadap data.
• Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya
instruksi pengubahan urusan eksekusi.
SIKLUS EKSEKUSI

• Instruction Address Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan
dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila
panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat
sebelumnya.
• Instruction Fetch (IF), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.
• Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan
dibentuk dan operand yang akan digunakan.
• Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan
referensi operand pada memori.
• Operand Fetch (OF), yaitu mengambil operand dari memori atau dari modul I/O.
• Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
• Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
FUNGSI ENTERUPSI

• Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine
interupsi.
• Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
• Tujuan Interupsi
• Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar
CPU dan modul-modul I/O maupun memori.
• Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali
terletak pada CPU di samping itu kecepatan eksekusi masing-masing modul berbeda.
• Dapat sebagai sinkronisasi kerja antar modul.
KELAS SINYAL INTERUPSI

• Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi
pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol,
operasi ilegal.
• Timer, adalah interupsi yang dibangkitkan dengan pewaktuan dalam prosesor.
Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
• I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan
kondisi error dan penyelesaian suatu operasi.
• Hardware Failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau
kesalahan partas memori.
PROSES INTERUPSI

Dengan adanya mekanisme interupsi,prosesor dapat digunakan untuk mengeksekusi instruksi-


instruksi lain.
Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya,maka
modul ini akan mengirimkan permintaan interupsike prosesor.
Kemudian prosesor akan menghentikan eksekusi yang sedang dijalankannya untuk meng-handle
routine interupsi.
Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya
kembali.
Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan,yaitu interupsi
diterima/ditangguhkan dan interupsi ditolak.
APA YANG DILAKUKAN PROSESOR?

• Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan


konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang
akan dieksekusi dan data lain yang relevan.
• Prosesor menyetel Program Counter(PC) kealamat awal routine interrupt
handler.
SISTEM OPERASI KOMPLEKS

• Interupsi ganda (multiple interrupt).


• Misalnya suatu computer akan menerima permintaan interupsi saat proses
pencetakan dengan printer selesai,disamping itu dimungkinkan dari saluran
komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba.
• Dapat diambil dua buah pendek atau untuk menangani interupsi ganda ini.
PENDEKATAN INTERUPSI GANDA

Ada 2 pendekatan:
• Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial.
• Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
• Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru ditangani.
• Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi.
• Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.
FORMAT INTRUKSI

A.Panjang Intruksi :Salah satu isu terbesar yang harus dihadapi adalah Panjang
format intruksi.
B.Alokasi Bit :Isu penting berikutnya setelah panjang bit adalah bagaimana kita
mengalokasikan bit-bit dalam sebuah format.
C.Variasi Panjang Intruksi :Sesuai dengan namanya,Teknik ini mengijinkan
instruksi untuk memiliki Panjang yang berbeda-beda.
FORMAT INTRUKSI X86
• JENIS-JENIS OPERAND

• ADDRESSES (AKAN DIBAHAS PADA ADDRESSING MODES)

• NUMBERS : –INTEG EROR FIXED POINT


• TRANSFER DATA • – FLOATING POINT

MENETAPKAN LOKASI OPERAND • – DECIMAL (BCD)


SUMBER DAN OPERAND TUJUAN. • CHARACTERS : – ASCII

• – EBCDIC
LOKASI-LOKASI TERSEBUT DAPAT
BERUPA MEMORI,REGISTER ATAU • LOGICAL DATA :BILA DATA BERBENTUK BINARY :0 DAN 1
BAGIAN PALING ATAS DARI PADA
STACK.
• JENIS INSTRUKSI
MENETAPKAN PANJANG DATA YANG • 1. DATA PROCESSING :ARITHMETIC DAN LOGIC INSTRUCTIONS
DIPINDAHKAN.
• 2. DATA STORAGE :MEMORY INSTRUCTIONS

• 3. DATA MOVEMENT :I/O INSTRUCTIONS

• 4. CONTROL :TEST AND BRANCH INSTRUCTIONS


TINDAKAN CPU UNTUK MELAKUKAN TRANSFER DATA
ADALAH :

• a. Memindahkan data dari satu lokasi ke lokasi lain.


• b. Apabila memori dilibatkan :
• – Menetapkan alamat memori.
• – Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
• – 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

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 : • 5. EXECUTE : mengambil operand dari lokasi tertentu
dan mengeksekusi sebagai instruksi
• Mengupdate program counter untuk subrutin , call /
return. • 6. SKIP : menambah PC sehingga melompati instruksi
berikutnya.
Operasi set instruksi untuk transfer control :
• 1. JUMP (cabang) : pemindahan tidak bersyarat dan • 7. SKIP BERSYARAT : melompat atau tidak melakukan
apa-apa berdasarkan pada persyaratan
memuat PC dengan alamat tertentu.
• 2. JUMP BERSYARAT : menguji persyaratan tertentu • 8. HALT : menghentikan eksekusi program.
danmemuat PC dengan alamat tertentu atau • 9. WAIT (HOLD) : melanjutkan eksekusi pada saat
tidak melakukan apa tergantung dari persyaratan. persyaratan dipenuhi.
• 3. JUMP SUBRUTIN : melompat ke alamat tertentu. • 10. NO OPERATION : tidak ada operasi yang
dilakukan.
• 4. RETURN : mengganti isi PC dan register lainnya
yang berasal dari lokasi tertentu.
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.
PENGENALAN MODE PENGALAMATAN

• Mode pengalamatan adalah bagaimana cara menunjuk dan mengalamati


suatu lokasi memori pada sebuah alamat di mana operand akan diambil.
Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya
instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode
pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode
pengalamatan ini meliputi direct addressing, indirect addressing, dan
immediate addressing.
1. DIRECT ADDRESING

• Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat
memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat
30h dan kemudian disimpan dalam akumulator.
• Kelebihan dan kekurangan dari Direct Addresing antara lain :
• Kelebihan
Field alamat berisi efektif address sebuah operand
• Kelemahan
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang
word.
2. INDIRECT ADDRESING

• 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. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang
berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator.
• Kelebihan dan kekurangan dari Indirect Addresing antara lain :
• Kelebihan
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
• Kekurangan
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi
3. IMMEDIATE ADDRESING

• Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori
langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain
untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung
mengikutinya, dalam hal ini 20h.
• Kelebihan dan kekurangan dari Immedieate Addresing antara lain :
• Keuntungan
Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand Menghemat siklus
instruksi sehingga proses keseluruhan akan cepat
• Kekurangan
Ukuran bilangan dibatasi oleh ukuran field alamat
REGISTER ADDRESSING

Register adalah merupakan sebagian memori dari mikro prosessor yang dapat
diakses dengan kecepatan tinggi. Metode pengalamatan register ini mirip
dengan mode pengalamatan langsung. Perbedaannya terletak pada field
alamat yang mengacu pada register, bukan pada memori utama. Field yang
mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi
8 atau 16 register general purpose.
INDIRECT ADDRESSING

• 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
• Kelebihanan dan kekurangan pengalamatan register tidak langsung adalah 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
DISPLACEMENT ADDRESSING DAN STACK
ADDRESING
Displacement Addressing adalah menggabungkan kemampuan pengalamatan
langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan
instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
Field eksplisit bernilai A dan field implisit mengarah pada register.

Anda mungkin juga menyukai