Anda di halaman 1dari 38

Set Instruction Characteristics and

Addressing Mode

Organisasi dan Arsitektur Komputer


S1 Informatika

Nafiatun Sholihah, S.Kom., M.Cs.


Instruction Sets:
Characteristics and Functions

• Intel x86 and ARM data types

• Machine instruction characteristics • Types of operations


• Elements of a machine instruction • Data transfer
• Instruction representation • Arithmetic
• Instruction types • Logical
• Number of addresses
• Conversion
• Instruction set design
• Input/output
• Types of operands
• System control
• Numbers
• Characters • Transfer of control
• Logical data • Intel x86 and ARM operation types
Apa itu Mesin Instruksi ?

• Kumpulan instruksi lengkap yang dipahami oleh CPU


• Kode Mesin
• Biner
• Biasanya direpresentasikan oleh kode assembler
Karakteristik Mesin Instruksi

• Pengoperasian prosesor ditentukan oleh instruksi yang dijalankannya, yang


disebut sebagai instruksi mesin atau instruksi komputer
• Kumpulan instruksi berbeda yang dapat dieksekusi oleh prosesor disebut
sebagai set instruksi prosesor
• Setiap instruksi harus berisi informasi yang dibutuhkan oleh prosesor untuk
eksekusi
Elemen Instruksi Mesin

Operation code Source operand


(opcode) reference
- Do this - To this

Result operand Next instruction


reference reference
- Put the answer here - When you done that,
do this …
Diagram Status Siklus Instruksi
Operand sumber dan hasil dapat berada di
salah satu dari empat area:

1) Main or virtual memory


2) I/O device

3) Processor register

4) Immediate
Instruction Representation

• Di dalam komputer setiap instruksi diwakili oleh urutan bit


• Instruksi dibagi menjadi beberapa bidang, sesuai dengan elemen penyusun
instruksi
Tipe-tipe Instruksi

• Instruksi aritmatika memberikan • Pergerakan data masuk atau keluar •Instruksi I/O diperlukan untuk • Instruksi pengujian digunakan untuk
kemampuan komputasi untuk dari register dan atau lokasi memori mentransfer program dan data ke menguji nilai kata data atau status
memproses data numerik dalam memori dan hasil komputasi
• Instruksi logika (Boolean) beroperasi perhitungan kembali ke pengguna • Instruksi cabang digunakan untuk
pada bit kata sebagai bit daripada bercabang ke serangkaian instruksi
sebagai angka, sehingga yang berbeda tergantung pada
memberikan kemampuan untuk keputusan yang dibuat
memproses jenis data lain yang
mungkin ingin digunakan pengguna.

Data Storage Data Movement


Data processing Control
(Main Memory) (I/O)
Macam-macam Jumlah Alamat Instruksi
• 3 addresses
• Operand 1, Operand 2, Result
• a = b + c;
• May be a forth - next instruction (usually
implicit)
• Not common
• Needs very long words to hold everything

• 2 addresses
• One address doubles as operand and result
• a=a+b
• Reduces length of instruction
• Requires some extra work
• Temporary storage to hold some results
• 1 address
• Implicit second address
• Usually a register (accumulator)
• Common on early machines
Macam-macam Jumlah Alamat Instruksi

• 0 (zero) addresses
• All addresses implicit
• Uses a stack
• e.g. push a
• push b
• add
• pop c

• c=a+b
Pemanfaatan Alamat Instruksi (Instruksi NonBranching)
Desain Set Instruksi

Very complex because it affects so many aspects of the computer system

Defines many of the functions performed by the processor

Programmer’s means of controlling the processor

Fundamental design issues:

Operation repertoire Data types Instruction format Registers Addressing


•How many and which •The various types of data •Instruction length in bits, •Number of processor •The mode or modes by
operations to provide upon which operations number of addresses, registers that can be which the address of an
and how complex are performed size of various fields, etc. referenced by operand is specified
operations should be instructions and their use
Jenis-jenis Operand
Numbers

• Semua bahasa mesin termasuk tipe data numerik


• Nomor yang disimpan di komputer terbatas:
• Batasi besarnya angka yang dapat direpresentasikan pada mesin
• Dalam kasus bilangan floating-point, batas presisinya
• Tiga jenis data numerik yang umum di komputer:
• Bilangan bulat biner atau binary fixed point
• Binary floating point
• Desimal
• Desimal yang dikemas
• Setiap digit desimal diwakili oleh kode 4-bit dengan dua digit disimpan per byte
• Untuk membentuk angka, kode 4 bit dirangkai, biasanya dalam kelipatan 8 bit
Characters

• Bentuk umum dari data adalah teks atau string karakter


• Data tekstual dalam bentuk karakter tidak dapat dengan mudah disimpan atau
ditransmisikan oleh pemrosesan data dan sistem komunikasi karena dirancang
untuk data biner
• Kode karakter yang paling umum digunakan adalah International Reference
Alphabet (IRA)
• Disebut di Amerika Serikat sebagai American Standard Code for Information Interchange
(ASCII)
• Kode lain yang digunakan untuk mengkodekan karakter adalah Extended Binary
Coded Decimal Interchange Code (EBCDIC)
• EBCDIC digunakan pada mainframe IBM
Logical Data

• Unit n-bit yang terdiri dari n item data 1-bit, setiap item memiliki nilai 0 atau 1
• Dua keuntungan tampilan berorientasi bit:
• Memori dapat digunakan paling efisien untuk menyimpan item array data Boolean atau
biner di mana setiap item hanya dapat mengambil nilai 1 (benar) dan 0 (salah)
• Untuk memanipulasi bit dari item data
• Jika operasi floating-point diimplementasikan dalam perangkat lunak, kita harus dapat menggeser
bit yang signifikan dalam beberapa operasi
• Untuk mengonversi dari IRA kedalam paket nilai desimal, kita perlu mengekstrak 4 bit paling
kanan dari setiap byte
x86 Data Types
x86 Numeric Data Formats
Common Instruction Set Operations (1)
Common Instruction Set Operations (2)
Common Instruction Set Operations (3)
Tindakan Prosesor untuk Berbagai Jenis Operasi
Data Transfer

Harus menentukan:
• Lokasi operand sumber dan tujuan
Jenis instruksi mesin yang • Panjang data yang akan ditransfer
paling mendasar harus ditunjukkan
• Mode pengalamatan untuk setiap
operan harus ditentukan
Arithmetic

• Sebagian besar mesin menyediakan operasi aritmatika dasar untuk


menambah, mengurangi, mengalikan, dan membagi
(Add, Subtract, Multiply, Divide)
• Signed integer (fixed-point)
• Seringkali mereka juga disediakan untuk angka desimal floating-point
• Operasi lain yang mungkin termasuk berbagai instruksi operan tunggal:
• Absolute
• Ambil nilai absolut dari operan
• Negate (-a)
• Negate the operand
• Increment (a++)
• Add 1 to the operand
• Decrement (a--)
• Subtract 1 from the operand
Shift and Rotate Operations
Examples of Shift and Rotate Operations
Conversion

Contoh instruksi
Instruksi yang Contohnya pengeditan yang
mengubah adalah lebih kompleks
format atau konversi dari
desimal ke adalah instruksi
beroperasi pada
biner EAS/390
format data
Translate (TR)
Input/Output

• Berbagai pendekatan yang dilakukan:


• Isolated programmed I/O
• Memory-mapped programmed I/O
• DMA
• Use of an I/O processor
• Banyak implementasi hanya menyediakan beberapa instruksi I/O, dengan
tindakan spesifik yang ditentukan oleh parameter, kode, atau kata perintah
Instruksi Cabang
Skip Instructions

Biasanya menyiratkan bahwa


satu instruksi dilewati,
sehingga implied address
Termasuk implied address
sama dengan alamat instruksi
berikutnya ditambah satu
panjang instruksi

Karena instruksi lewati tidak Contoh :


memerlukan bidang alamat
tujuan, maka bebas untuk The increment-and-skip-if-
melakukan hal-hal lain zero (ISZ) instruction
Procedure Call Instructions

• Self-contained computer program yang digabungkan ke dalam program yang


lebih besar
• Pada titik mana pun dalam program, prosedur dapat dipanggil, atau called
• Processor is instructed to go and execute the entire procedure and then return to the point
from which the call took place
• Dua alasan utama untuk penggunaan prosedur:
• Economy
• Sebuah prosedur memungkinkan potongan kode yang sama untuk digunakan berkali-kali
• Modularity
• Melibatkan dua instruksi dasar:
• Instruksi panggilan yang bercabang dari lokasi sekarang ke prosedur
• Kembalikan instruksi yang kembali dari prosedur ke tempat asalnya
Nested Procedures
Use of Stack to Implement Nested Procedures
Call/Return Instructions

• x86 menyediakan empat instruksi untuk mendukung panggilan/pengembalian


prosedur:
• CALL
• ENTER
• LEAVE
• RETURN
• Cara umum untuk mengimplementasikan prosedur adalah melalui penggunaan
stack frames
• Instruksi CALL mendorong nilai penunjuk instruksi saat ini ke tumpukan dan
menyebabkan lompatan ke titik masuk prosedur dengan menempatkan alamat
titik masuk di penunjuk instruksi
• Instruksi ENTER ditambahkan ke set instruksi untuk memberikan dukungan
langsung bagi kompiler
x86 Status Flags
LATIHAN

Organisasi dan Arsitektur Komputer


S1 Informatika
Kerjakan Soal-soal berikut ini
1. Jelaskan pengertian Set Instruksi
2. Sebutkan 4 Elemen Instruksi Mesin beserta penjelasannya !
3. Representasi Opcode diwakili oleh singkatan yang menunjukkan suatu operasi yang
disebut...
4. Sebutkan apa saja tipe-tipe Operand !
5. Dalam format instruksi 1 alamat, hasil disimpan dimana ?
6. Jika suatu format instruksi berisi tiga alamat, apa tujuan dari masing-masing alamat?
7. Sebutkan dua tahap dalam siklus intruksi !
8. Di dalam komputer, setiap instruksi diwakili oleh urutan bit yang memiliki pola bit
tertentu. Format Instruksi yang paling sederhana dibagi menjadi bidang-bidang apa
saja ? Gambarkan pembagian bitnya !
9. Pada instruksi 3 alamat, instruksi MPY Y,A,B berarti ….
10. Jenis instruksi mesin yang paling mendasar adalah instruksi transfer data. Apa saja
yang harus ditentukan sebelum instruksi tersebut dapat dilaksanakan ?

Anda mungkin juga menyukai