Kelompok
:
- Ardi
- Dody
- Gita
- Irving
- M. Rizal
SET
INSTRUKSI
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.
Sebuah instruksi
terdiri dari sebuah opcode, biasanya bersama dengan beberapa
informasi tambahan seperti darimana asal operand-operand dan kemana
hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di
mana operand-operand berada (yaitu, alamat-alamatnya) disebut
pengalamatan
Pada beberapa mesin,
semua instruksi memiliki panjang yang sama, pada mesin-mesin yang
lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi
mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau
lebih panjang dari panjang word. Membuat semua instruksi memiliki
panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih
mudah tetapi sering memboroskan ruang, karena semua instruksi dengan
demikian harus sama panjang seperti instruksi yang paling panjang.
Menurut
Kamus Besar Bahasa Indonesia, Karakteristik adalah ciri-ciri khusus
atau mempunyai sifat khas sesuai dengan perwatakan tertentu.
Instruksi adalah perintah atau arahan (untuk melakukan suatu
pekerjaan atau melaksanakan suatu tugas). Mesin adalah perkakas untuk
menggerakkan, atau membuat sesuatu yang dijalankan dengan roda-roda
dan digerakkan oleh tenaga manusia atau motor penggerak yang
menggunakan bahan bakar minyak atau tenaga alam.
Jadi,
karakteristik-karakteristik instruksi mesin adalah ciri-ciri khusus
atau sifat khas yang dimiliki oleh instruksi-instruksi atau kode
operasi dalam pemrograman komputer.. Operasi CPU ditentukan oleh
instruksi-instruksi yang dieksekusinya. Instruksi-instruksi ini
dikenal sebagai intruksi mesin atau instruksi computer. Set fungsi
dari instruksi-instruksi yang berbeda yang dapat di eksekusi oleh CPU
dikenal sebagai set instruksi CPU.
Di dalam sebuah
instruksi terdapat beberapa elemen-elemen instruksi:
- Operation code (op code)
- Source operand reference
- Result operand reference
- Next instruction preference
ELEMEN-ELEMEN
DARI INSTRUKSI MESIN (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 (fetch) instruksi
berikutnya setelah instruksi yang dijalankan selesai. Source dan
result operands dapat berupa salah satu diantara tiga jenis berikut
ini:
- Main or Virtual Memory
- CPU Register
- I/O Device
DESAIN 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
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 olah Instruction Format: panjangnya, banyaknya alamat, dsb.
- Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand.
Jenis-Jenis
Instruksi
Sebuah
instuksi yang dapat diekspresikan dalam bahasa BASIC atau FORTRAN. X
= X+Y Pernyataan ini menginstruksiakna komputer untuk menambahkan
nilai yang tersimpan di Y ke nilai yang tersimpan di X dan menyimpan
hasilnya di X. Variabel X dan Y berkorespondensi dengan lokasi 513
dan 514. Jika kita mengasumsikan set instruksi mesin yang sederhana,
maka operasi ini dapat dilakukan dengan tiga buah instruksi:
1.
Muatkan sebuah register dengan isi lokasi memori 513
2.
Tambahkan isi lokasi memori ke register
3.
Simpan isi register di lokasi memori 513
Suatu
komputer harus memiliki set instruksi yang memungkinkan pengguna
untuk memformulasikan pengolahan data atau dengan memperhatikan
kemampuan pemrograman bahasa tingkat tinggi. Agar dapat dieksekusi,
setiap program yang ditulis dalam bahasa program tingkat tinggi harus
diterjemahkan ke dalam bahasa mesin. Jadi, set instruksi mesin harus
dapat mengekspresikan setiap instruksi bahas atingkat tinggi.
Adapun
Jenis-jenis instrusi sebagai berikut:
-
Pengolahan Data : Instrusi-instruksi aritmatika dan logika
-
Penyimpanan Data : Instriksi-instruksi memori
-
Perpindahan Data : Instruksi I/O
-
Kontrol : Instruksi pemeriksaan dan percabangan
Representasi
Instruksi
Di
dalam computer, instruksi dipresentasikan oleh sehimpunan bit.
Himpunan bit ini dibagi menjadi beberapa bidang, dengan bidang-bidang
ini berkaitan dengan elemen-elemen yang akan memuat instruksi. Layout
instruksi ini dikenal sebagai bentuk instruksi. Contoh yang sederhana
ditunjukkan pada gambar. Pada sebagian besar set instruksi, dapat
digunakan lebih dari satu bentuk. Selama berlangsungnya eksekusi
instruksi, instruksi dibaca ke dalam register instruksi yang terdapat
dalam CPU. Untuk melakukan operasi yang diperlukan, CPU harus dapat
mengeluarkan data dari berbagai bidang instruksi. Opcode
direpresentasikan dengan singkatan-singkatan, yang disebut mnemorik,
yang mengindikasikan operasi, contohnya adalah:
- ADD Add (Menambahkan)
- SUB Substract (Pengurangan)
- MPY Multiply (Perkalian)
- DIV Divide (Pembagian0
- LOAD Muatkan data data dari memori
- STOR Simpan data ke memori
Operand-operand
juga direpresentasikan secara simbolik. Misalnya instruksi ADD R,Y
Berarti tambahkan niali yang terdapat pada lokasi Y ke isi register
R. Dalam contoh ini, Y berkaitan dengan alamat lokasi di dalam
memori, dan R berkaitan dengan register tertentu. Perlu dicatat bahwa
operasi dilakukan terhadap isi alamat, bukan terhadap alamatnya.
Sehingga
adalah mungkin untuk menuliskan program bahasa mesin dalam bentuk
simbolik. Setiap opcode simbolik memiliki representasi biner yang
tetap, dan pemrograman dapat menetapkan masing-masing operand
simbolik. Misalnya, pemrograman dapat memulainya dengan
definisi-definisi:
X=523
Y=514
dan
seterusnya. Sebuah program yang sederhana akan menerima input simbol
ini, kemudian mengkonversiakn opcode dan acuan operand menjadi bentuk
biner, dan akhirnya membentuk instruksi mesin biner.
Tipe-tipe
Operand
Operand adalah
sebuah objek yang ada pada operasi matematika yang dapat digunakan
untuk melakukan operasi. Operand atau operator dalam bahasa C
berbentuk simbol bukan berbentuk keyword atau kata yang biasa ada di
bahasa pemrograman lain. Simbol yang digunakan bukan karakter yang
ada dalam abjad tapi ada pada keyboard kita seperti =,,* dan
sebagainya.
Tipe-tipe operand
diantaranya :
1. Addresses (akan
dibahas pada addressing modes)
2. Numbers :
- Integer or fixed point
- Floating point
- Decimal (BCD)
3. Characters :
- ASCII
- EBCDIC
4. Logical Data : Bila data berbentuk binary: 0 dan 1
2. Numbers :
- Integer or fixed point
- Floating point
- Decimal (BCD)
3. Characters :
- ASCII
- EBCDIC
4. Logical Data : Bila data berbentuk binary: 0 dan 1
Jenis-jenis
operator adalah sebagai berikut :
1. Operator
Aritmetika
Operator untuk melakukan fungsi aritmetika seperti : +(penjumlahan), – (mengurangkan), * (mengalikan), / (membagi).
Operator untuk melakukan fungsi aritmetika seperti : +(penjumlahan), – (mengurangkan), * (mengalikan), / (membagi).
2. 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 untuk menyatakan relasi atau perbandingan antara dua operand, seperti > (lebih besr), =(lebih besar atau sama), <= (lebih kecil atau sama), == (sama), != (tidak sama).
3. Operator
Logik
Operator untuk merelasikan operand secara logis seperti && (and), || (or), !(not).
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.
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.
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
-Logika – kontrol
sistem dan transfer kontrol
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.
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.
Pengalamatan
Program
biasanya ditulis dalam bahasa tingkat tinggi, yang memunkinkan
program untuk menggunakan konstanta, variable local dan global,
pointer, dan array. Pada saat mentranslasi program bahsa tingkat
tinggi menjadi bahsa assembly, compiler harus mampu mengimplimentasi
konstruksi ini menggunakan fasilitas yang disediakan dalam set
instruksi computer dimana program akan dijalankan. cara yang berbeda
dalam menentukan lokasi suatu operand ditetapkan dalam suatu
instruksi yang disebut sebagai mode pengalamatan.
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).
Jumlah
Alamat
Salah
satu cara tradisional dalam menjelaskan arsitektur prosesor adalah
dengan memakai jumlah alamat yang terdapat pada masing-masing
instruksi. Instruksi aritmatika dan logika memerlukan operand yang
berjumlah banyak. Secara virtual, seluruh operasi eritmatika dan
logika merupakan uner/unary (satu operand) atau biner (dua operand).
Dengan demikian, memerlukan maksimum dua alamat untuk acuan operand.
Hasil sebuah operasi akan memerlukan alamat ketiga.
Dengan
demikian, instruksi perlu memiliki empat buah acuan alamat: dua buah
operand, sebuah hasil operasi, dan sebuah alamat instruksi
berikutnya. Sebagian besar CPU merupakan variasi satu, dua, atau tiga
alamat dengan alamat instruksi berikutnya merupakan implisit
(diperoleh dari pencacah program). Format tiga alamat tidak umum
digunakan, karena instruksi-instruksi tersebut memerlukan bentuk
instruksi yang lebih relatif lebih panjang untuk menampung
acuan-acuan tiga alamat. Sedangkan bentuk dua alamat mengurangi
kebuatuahan ruang akan tetapi menimbulkan kesulitan. Instruksi yang
lebih sederhana adalah instruksi satu alamat. Agar alamat ini dapat
berfungsi, alamat perlu diimplisitkan.
Contoh
penggunaan instruksi dengan alamat 1, 2 dan 3 untuk menyelesaikan
operasi hitungan:
Y = (A - B) : (C + D * E)
Contoh instruksi 2 dan 3 alamat
Y = (A - B) : (C + D * E)
Contoh instruksi 2 dan 3 alamat
Instruksi
3 alamat
Instruksi Komentar
SUB Y, A, B Y =A — EI
MF'Y T, D, E T= D >< E
ADD T, T, C T=T + C
DIV Y, Y, T Y= Y + T
Instruksi 2 alamat
Instruksi Komentar
MOVE Y, A Y = A
SUB Y, B Y = Y - B
MOVE T, D T = D
MPY T, E T = T E
ADD T, C T = T + C
DIV Y, T Y = Y + T
Contoh instruksi 1 alamat
Instruksi Komentar
LOAD D AC =D
MPY E AC = AC E
ADD C AC= AC + C
STOP Y Y = AC
LOAD A AC = A
SUB B AC = AC - B
DN Y AC =AC + Y
STOP Y Y= AC
Instruksi Komentar
SUB Y, A, B Y =A — EI
MF'Y T, D, E T= D >< E
ADD T, T, C T=T + C
DIV Y, Y, T Y= Y + T
Instruksi 2 alamat
Instruksi Komentar
MOVE Y, A Y = A
SUB Y, B Y = Y - B
MOVE T, D T = D
MPY T, E T = T E
ADD T, C T = T + C
DIV Y, T Y = Y + T
Contoh instruksi 1 alamat
Instruksi Komentar
LOAD D AC =D
MPY E AC = AC E
ADD C AC= AC + C
STOP Y Y = AC
LOAD A AC = A
SUB B AC = AC - B
DN Y AC =AC + Y
STOP Y Y= AC
Instruksi
Keterangan isi stack
PUSH B B
PUSH A B.A
SUB A-B (A-B)
PUSH E (A·B).E
PUSH D (A-B).E.D
MUL D*E (A-B).(D*E)
PUSH C [A-B).(D*E).C
ADD C+(D*E) (A-B).(C+D*E)
DIV {A-B)/(C+(D*E)} (A-B)/(C+(D"E}}
Spesifikasi instruksi 3 alamat
PUSH B B
PUSH A B.A
SUB A-B (A-B)
PUSH E (A·B).E
PUSH D (A-B).E.D
MUL D*E (A-B).(D*E)
PUSH C [A-B).(D*E).C
ADD C+(D*E) (A-B).(C+D*E)
DIV {A-B)/(C+(D*E)} (A-B)/(C+(D"E}}
Spesifikasi instruksi 3 alamat
-Simbolik:
a = b + c
-Format alamat: hasil, operand1, operand2
-Digunakan dalam arsitektur MIPS
Spesifikasi instruksi 2 alamat
-Simbolik: a = a + b
-Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk menyimpan hasilnya.
-Tidak memerlukan instruksi yang panjang.
-Jumlah instruksi per program akan lebih banyak dari 3 alamat.
-Diperlukan penyimpanan sementara untuk menyimpan hasil.
Spesifikasi instruksi 1 alamat
-Memerlukan alamat implisit untuk operasi.
-Menggunakan register accumulator (AC) dan digunakan pada mesin lama..
Spesifikasi instruksi 0 alamat
-Seluruh alamat yang digunakan adalah implisit.
-Digunakan pada organisasi memori, terutama operasi stack.
-Format alamat: hasil, operand1, operand2
-Digunakan dalam arsitektur MIPS
Spesifikasi instruksi 2 alamat
-Simbolik: a = a + b
-Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk menyimpan hasilnya.
-Tidak memerlukan instruksi yang panjang.
-Jumlah instruksi per program akan lebih banyak dari 3 alamat.
-Diperlukan penyimpanan sementara untuk menyimpan hasil.
Spesifikasi instruksi 1 alamat
-Memerlukan alamat implisit untuk operasi.
-Menggunakan register accumulator (AC) dan digunakan pada mesin lama..
Spesifikasi instruksi 0 alamat
-Seluruh alamat yang digunakan adalah implisit.
-Digunakan pada organisasi memori, terutama operasi stack.
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 1
* Numbers : – Integer or fixed point – Floating point – Decimal (BCD)
* Characters : – ASCII – EBCDIC
* Logical Data : Bila data berbentuk binary: 0 dan 1
JENIS INSTRUKSI
* Data processing:
Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions
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 :
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 memori
* 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 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
* 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 :
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- 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
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.
* 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.
* 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
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
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.
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.
KESIMPULAN
KELOMPOK :
Set
instruksi 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.
Operasi
dari CPU ditentukan oleh instruksi instruksi yang dilaksanakan atau
dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin
(Machine Instruction) atau yang dieksekusi membentuk suatu operasi
dan berbagai macam fungsi CPU. Sedangkan kumpulan fungsi yang dapat
dieksekusi CPU disebut Set Instruksi. Instruksi-instruksi
mesin harus mampu mengolah data sebagai implementasi
keinginan-keinginan kita.
Kumpulan
unik set instruksi, yang dapat digolongkan dalam jenis-jenisnya,
yaitu:
- Pengolahan data (data processing)
Meliputi
operasi-operasi aritmatika dan logika.
- Perpindahan data (data movement)
Instruksi
perpindahan data antar register maupun modul I/O.
- Penyimpanan data (data storage)
Instruksi-instruksi
penyimpanan ke memori.
- Kontrol aliran program (program flow control)
Instruksi
pengontrolan operasi dan percabangasn.
Link Video : https://www.youtube.com/watch?v=kW3kG8ngP_k
