Anda di halaman 1dari 40

MAKALAH ARSITEKTUR KOMPUTER

SET INSTRUKSI KARAKTERISTIK DAN FUNGSI

ARDAN RYAN

( 21103041111 )

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INFORMATIKA

UNIVERSITAS WAHID HASYIM SEMARANG

2021/2022
ARDAN RYAN

ARDAN RYAN

( 21103041111 )

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK


INFORMATIKA

UNIVERSITAS WAHID HASYIM


SEMARANG

2021/2022

21103041111 )

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK


INFORMATIKA

UNIVERSITAS WAHID HASYIM


SEMARANG
2021/2022

: KARAKTERISTIK DAN Ferdinan Alberto 113511


Ai Ratna Sari 11351201
FAKULTAS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGRI SULATAN SYARIF K
RIAU
KATA PENGANTAR
Assalamualaikum wr.wb

Puja dan puji syukur kami panjatkan atas kehadirat Allah SWT yang telah
memberikan kami rahmat, hidayah dan inayahnya kepada kami, sehingga kami dapat
menyelesaikan makalah Arsitektur Set Instruksi ini. Sholawat dan salam semoga
selalu tercurah kepada junjungan kita Nabi besar Muhammad SAW beserta keluarga
dan para sahabatnya, yang telah membawa kita dari zaman jahiliyah menuju zaman
yang lebih baik.
Makalah ini kami buat untuk menyelesaikan tugas Arsitektur Komputer,
dalam makalah ini kami akan membahas tentang Arsitektur Set Instruksi dalam
komputer. Dengan harapan agar kita semua mengetahui pandangan terhadap
komputer.
Alhamdulillah pada kesempatan ini akhirnya kami dapat menyelesaikan
makalah yang berjudul “Arsitektur Set Intruksi” dimana makalah ini adalah salah satu
tuntutan dalam memenuhi salah satu tugas yang diberikan dengan mata kuliah
Arsitektur komputer. Adapun harapannya dengan terselesaikannya makalah ini
diharapkan juga dapat meningkatkan pengetahuan kita khususnya penulis tentang hal-
hal yang berkaitan dengan tugas yang diberikan karena dengan itu kita dapat belajar
lebih baik lagi.
Dalam penulisan makalah ini pastinya terdapat kekurangan serta kesalahan
yang tidak disengaja, oleh karena itu kami mengharapkan partisipasinya serta kritik
dan sarannya yang bersifat membangun, agar menjadi makalah yang lebih baik lagi.

Akhir kata.

Wassalamualaikum wr wb.

2
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
DAFTAR ISI

Halaman
HALAMAN JUDUL 1
KATA PENGANTAR 2
DAFTAR ISI 3
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI 5
A. Machine Instruction Characteristics 5
1. Elemen Instruksi 5
2. Instruksi Representasi 6
3. Jenis Instruksi 8
4. Jumlah Alamat 9
5. Rancangan Set Instruksi 9
B. Types of Operand 10
1. Number 10
2. Karakter 12
3. Tipe Data 13
 Tipe Dasar 13
 Tipe bentukan 14
C. Pentium and PowerPC Data Types 15
1. Pentium Data Types 16
2. PowerPC Data Types 16
D. Types Of Operations 18
1. Data Transfer 18
2. Arithmetic 19
3. Logical 20
4. Conversion 22
5. Input / Output 24
6. Sistem Kontrol 24
E. Pentium and PowerPC Operation Types 29
1. Jenis-jenis OperasiPC 29

3
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
2. Instruksi-instruksi berorientasi percabangan 31
3. Instruksi-instruksi Load/Store 31
F. Assembly Language 32
DAFTAR PUSTAKA 35

4
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
BAB10
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

A. Karakteristik Mesin Instruksi


Dari sudut pandang desainer, set instruksi mesin menyediakan kebutuhan
fungsional untuk CPU : Menerapkan CPU adalah tugas yang sebagian besar
melibatkan melaksanakan set instruksi mesin. Dari sisi pengguna, pengguna yang
memilih untuk program dalam bahasa mesin (sebenarnya, dalam bahasa assembly)
menjadi dasar struktur register dan memori, jenis data langsung didukung oleh
mesin, dan fungsi dari ALU.

1. Elemen Instruksi
Setiap instruksi harus memiliki unsur-unsur yang mengandung informasi
yang diperlukan oleh CPU untuk dieksekusi. Unsur-unsur ini adalah sebagai berikut :
Operasi kode: Menentukan operasi yang akan dilakukan (misalnya ADD,
I/O). Operasi ini ditentukan oleh kode biner, yang dikenal sebagai kode
operasi, atau opcode.

5
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Sumber operan referensi: Operasi mungkin melibatkan operand sumber satu
atau lebih yaitu operand yang input untuk operasi.
Hasil operan referensi: Operasi mungkin menghasilkan hasil.
Referensi instruksi berikutnya: ini memberitahu CPU dimana untuk
mengambil instruksi berikutnya setelah pelaksanaan instruksi ini selesai.
Instruksi berikutnya yang akan diambil terletak di memori utama atau, dalam kasus
system memori virtual, baik di memori utama atau memori sekunder (disk). Dalam
kebanyakan kasus, instruksi berikutnya akan diambil segera mengikuti instruksi saat
ini. Dalam kasus tersebut, tidak ada referensi eksplisit untuk instruksi
berikutnya. Sumber dan hasil operand dapat berada di salah satu dari tiga bidang :
Memori utama atau virtual: Seperti referensi instruksi berikutnya, alamat
memori utama atau virtual harus diberikan.
CPU register: Dengan pengecualian langka, CPU berisi satu atau lebih
register yang dapat direferensikan oleh instruksi mesin. Jika hanya satu
mendaftar ada, referensi untuk itu mungkin implisit. Jika lebih dari satu dan
instruksi harus berisi jumlah dari register yang diinginkan.
I / O device: Instruksi harus menentukan (dia modul I / O dan perangkat untuk
operasi. Jika memori-mapping I / O digunakan, ini hanyalah alamat memori
utama atau virtual.

2. Instruksi Representasi
Dalam komputer, setiap instruksi diwakili oleh urutan bit. Instruksi ini dibagi
menjadi bidang, sesuai dengan unsur-unsur pokok dari instruksi. Sebuah contoh
sederhana dari format instruksi ditunjukkan pada Gambar 10.2. Sebagai contoh lain,
format instruksi IAS ditunjukkan pada Gambar 2.2. Dengan set instruksi yang paling,
lebih dari satu format yang digunakan. Selama eksekusi instruksi, instruksi dibaca ke
register instruksi (IR) dalam CPU. CPU harus dapat mengekstrak data dari berbagai
bidang instruksi untuk melakukan operasi yang diperlukan.
Sulit bagi programmer dan pembaca buku teks berurusan dengan representasi
biner dari instruksi mesin. Dengan demikian, telah menjadi praktek umum untuk
menggunakan representasi simbolis dari instruksi mesin. Contoh ini digunakan untuk

6
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
set instruksi IAS, pada Tabel 2.1.
Opcodes diwakili oleh singkatan, yang disebut mnemonik, yang menunjukkan
operasi. Contoh umum termasuk
ADD add
SUB Subtract
MPY Multiply
DIV Divide
LOAD Load data from memory
STOR Store data to memory
Operand juga diwakili secara simbolis. Sebagai contoh, instruksi
ADD R Y
Mungkin berarti menambahkan nilai yang terkandung di Y data lokasi ke isi register
R. Dalam contoh ini, Y mengacu ke alamat sebuah lokasi di memori, dan R mengacu
pada sebuah register tertentu. Perhatikan bahwa operasi dilakukan pada isi lokasi,
bukan di alamat itu.
Dengan demikian, adalah mungkin untuk menulis sebuah program bahasa
mesin dalam bentuk simbolis. Setiap opcode simbolis memiliki representasi biner
tetap, dan programmer menentukan lokasi setiap operan simbolis. Sebagai contoh,
programmer bisa mulai dengan daftar definisi:
X = 513
Y = 514
Dan sebagainya. Sebuah program sederhana akan menerima masukan simbolis,
mengkonversi opkode dan referensi operan ke bentuk binary, dan membangun
instruksi mesin biner.
Mesin-bahasa programer jarang ke titik noneksistensi. Kebanyakan program
sekarang ditulis dalam bahasa tingkat tinggi atau, bila tidak, bahasa assembly, yang
dibahas pada akhir bab ini. Howefer, bahasa mesin simbolik tetap menjadi alat yang
berguna untuk mendeskripsikan instruksi mesin, dan kami akan menggunakannya
untuk tujuan itu.

7
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Simple Instruction Format

3. 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

8
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
 Kontrol: Instruksi pemeriksaan dan percabangan

4. 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.

5. Rancangan Set Instruksi


Salah satu hal yang paling menarik tentang rancangan komputer adalah
rancangan set instruksi. Karena rancangan ini mempengaruhi banak aspek sistem
komputer, maka rancangan set instruksi sangat kompleks. Set instruksi menentukan
banyak fungsi yang akan dilakukan oleh CPU dan karena itu memiliki efek yang
sangat menentukan implementasi CPU. Set instruksi merupakan alat bagi pemrogram
untuk mengontrol CPU. Dengan demikian, kebutuhan-kebutuhan pemrogram harus
menjadi bahan pertimbangan dalam merancang set instruksi.
Masalah rancangan fundamental yang paling signifikan meliputi:
 Repertoi Operasi: Berapa banyak dan opersai-operasi apa yang harus
disediakan, dan sekompleks apakah operasi itu seharusnya.
 Jenis data: berbagai jenis data pada saat operasi dijalankan

9
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
 Bentuk instruksi : Panjang instruksi (dalam bit), jumlah alamat, ukuran
bidang, dan sebagainya.
 Register: Jumlah register CPU yang dapat diacu oleh instruksi, dan fungsinya.
 Pengalamatan: Mode untuk menspesifikasikan alamat suatu operand.

Masalah-masalah ini saling berkaitan dan harus diperhatikan dalam merancang


set instruksi.

B. Type Operand

Instruksi mesin beroperasi pada data. Kategori umum yang paling penting
dari data adalah:
 Alamat
 Angka
 Karakter
 Data logis.
Akan kita lihat, dalam membahas mode pengalamatan dalam bab 11, bahwa
alamat sebenarnya, sebuah peternakan data. Dalam banyak kasus, beberapa
perhitungan harus dilakukan pada referensi operan dalam instruksi
untuk menentukan utama pada alamat memori virtual. Di alamat ini, konteks. dalam
konteks ini, alamat dapat dianggap sebagaiunsigned integer.
Tipe umum data yaitu :
 Angka
 Karakter
 Data logis
Secara singkat dibahas dalam bagian ini. beberapa devine mesin, khusus tipe
data ataupun struktur data. Misalnya, mungkin ada mesin operator yang
beroperasi langsung di daftar pada sengatan karakter.

1. Number
Semua bahasa mesin termasuk jenis data numerik. Bahkan dalam pengolahan
data non numerik. Ada kebutuhan untuk nomor untuk bertindak

10
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
sebagai counter, lebar lapangan, dan sebagainya. Perbedaan penting
antara nomor yang digunakan dalam matematika biasa dan nomor yang
tersimpan di komputer adalah bahwa surat itu terbatas. Ini benar dalam dua
pengertian. Pertama, ada batas dengan besarnya nomor representable pada mesin dan
kedua, dalam kasus floating-point, batas untuk presisi mereka. Dengan demikian,
programmer dapat memahami konsekuensi dari pembulatan,
overflow dan underflow.
Tiga jenis data numerik yang umum di
komputer: integer atau titik tetap
floating
point
Decimal
Kami memeriksa pertama yang secara rinci dalam bab 9 itu masih mengatakan
beberapa kata tentang angka desimal.
Meskipun semua operasi komputer internal atau biner, pengguna dari
kesepakatan sistem dengan angka desimal. Dengan demikian, ada kebutuhan untuk
konversi dari desimal ke biner pada input dan dari biner ke desimal pada
output. Untuk aplikasi di mana ada banyak I / O dan relatif sedikit.
Perhitungan relatif sederhana adalah lebih baik untuk menyimpan
dan beroperasi pada angka dalam bentuk desimal. Representasi paling umum untuk
tujuan ini adalah kemasan desimal.
Dengan desimal dikemas, setiap digit desimal diwakili oleh kode 4-bit, dengan
cara yang jelas. Dengan demikian,
0 = 0000
1 = 0001
8 = 1000
9 = 1001
Mencatat bahwa ini adalah kode lebih efisien karena hanya 10 dari 16 mungkin
4 bit nilai digunakan. untuk membentuk angka, 4 bit kode dirangkai, biasanya dalam
kelipatan 8 bit. dengan demikian, kode
untuk 246 adalah 0000001001000110. Kode ini jelas kurang kompak

11
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
dari biner langsung diwakili oleh termasuk tanda 4 bit digit baik ditribun kiri atau
kanan untuk tanda minus.
Mesin yang menyediakan instruksi untuk melakukan operasi
arithmatic langsung padaangka desimal paket. Algoritma yang cukup mirip dengan
yang diuraikan dalam bagian 9.3 tapi harus
memperhitungkan operasi membawa desimal.

2. Karakter
Data bentuk umum adalah teks atau string karakter, sedangkan
data tekstual adalah makhluk paling convinient, mereka tidak dapat dalam
bentuk karakter,dengan mudah disimpan atau dikirimkan oleh pengolahan data
dan sistem komunikasi. Sistem ini dirancang untuk data biner. Dengan
demikian, sejumlah kode telah dibuat oleh karakter yang diwakili oleh urutan bit.
Mungkin contoh umum awal ini adalah kode Morse, Hari ini, kode karakter
yang paling umum digunakan dalam American Standard Kode untuk Informasi
Interchange. IRA juga banyak digunakan di luar Amerika Serikat. Setiap
karakter dalam kode ini diwakili oleh pola 7 bit yang unik, dengan demikian, 128
karakter differnt dapat direpresentasikan. Ini adalah jumlah yang lebih besar daripada
yang diperlukan untuk mewakili karakter yang dapat dicetak, dan beberapa pola
mewakili karakter kontrol. Beberapa karakter kontrol pada halaman.
Lain yang bersangkutan dengan prosedur komunikasi. IRA-encoded karakter
yang hampir selalu disimpan dan dikirim menggunakan 8 bit per
karakter. Delapan bit mungkin digunakan sebagai bit paritas
untuk mendeteksi kesalahan dalam kasus yang terakhir. Bit diatur sedemikian rupa
sehingga jumlah total biner dalam setiap oktet selalu ganjil (paritas ganjil) atau
selalu genap (even parity). Bahwa untuk 011XXXX pola bit IRA, angka 0
sampai 9 yang diwakili oleh biner setara mereka, 0000 melalui 1001, di paling
kanan 4 bit. Ini adalah kode yang sama seperti desimal dikemas. Ini
memfasilitasi konversi antara IRA 7 bit dan 4 bit representasi desimal dikemas.
Kode lain yang digunakan untuk mengkodekan karakter
adalah Binary Coded Perluasan Kode Desimal Interchange

12
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
(EBCDIC). EBCDIC digunakan pada IBM S/390 mesin. Itu
adalah kode bit 8. Seperti IRA, EBCDIC kompatibel dengan desimal dikemas dalam
kasus EBCDIC kode 11110000 11111001 melalui mewakil1 angka 0 sampai 9.

3. Tipe Data
Setiap data memiliki tipe data, angka bulat ( integer ), angka biasa ( real ), atau
berupa karakter ( char ), dan sebagainya.
Ada 2 kategori dari tipe data yaitu:

1. Tipe dasar

a. Bilangan bulat ( integer )


Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti
10, +225, -10,+25.
Tipe dituliskan sebagai integer atau int
Jangkauan nilai bergantung pada implementasi perangkat keras komputer,
misalnya dari -11 s/d +12; untuk algoritma tidak kita batasi.
Operasi aritmetik: tamabah+, kurang-, kali*, bagi/, sisa hasil bagi%
Operasi pembanding:lebih kecil=, sama=, tidak sama>< .

b. Bilangan biasa ( real )


Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan
ditulis sebagai : 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti :
1.245E+03, 7.45E-02, dsb.
Tipe dituliskan sebagai : real
Jangkauan nilai : bergantung pada implementasi perangkat keras komputer,
misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi.
Operasi aritmatik dan pembandingan juga berlaku bagi bilangan biasa.

c. Bilangan tetap ( const )


Bilangan tetap ( const ) adalah tipe bilangan, tidak bernilai bulat maupun
tidak, yang nilainya tidak berubah selama algoritma dilaksanakana.
Tipe dituliskan sebagai const .

13
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Jangkauan nilai meliputi semua bilangan yang mungkin.

d. Karakter ( character )
Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan
juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya:
’A’, ’B’, ,’Z’, ’?’,’!’, dst.
Tipe dituliskan sebagai char
Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera
pada setiap tombol keyboard.
Operasi pembanding dapat dilakukan dan dievaluasi menurut urutan kode
ASCII, sehingga huruf ’A’ (Hex 41) sebenarnya lebih kecil dari huruf ’a’
(Hex 61).

e. Logik ( logikal )
Tipe data logik adalah tipe data yang dipergunakan untuk memberi nilai pada
hasil pembandingan, atau kombinasi pembandingan.
Tipe dituliskan sebagai boolean
Jangkauan nilai ada dua : true dan false

2. Tipe bentukan
a. Array ( larik )
 Array adalah tipe data bentukan, yang merupakan wadah untuk menampung
beberapa nilai data yang sejenis. Kumpulan bilangan bulat
adalah array integer, kumpulan bilangan tidak bulat adalaharray real.
Cara menefinisikan ada 2 macam, yaitu:
 Nilai_ujian : array [ 1..10] of integer, atau
 Int nilai_ujian[10];
Kedua definisi diatas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10
nilai bertipe bilanganbulat.
b. String

14
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
 String adalah tipe data bentukan yang merupakan deretan karakter yang
membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda
kutip.
 Sebagai contoh: nama, alamat, dan judul adalah tipe string.
- Cara mendefinisikannya adalah:
* string nama, alamat; atau
* nama,alamat : string;
c. Record ( rekaman )
 Record adalah tipe data bentukan yang merupakan wadah untuk menampung
elemen data yang tipenya tidak perlu sama dengan tujuan mewakili satu
jenis objek.
 Sebagai contoh, mahasiswa sebagai satu jenis objek memiliki beberapa
elemen data seperti : nomer_stb, nama, umur, dll.
- Cara mendefinisikan record mahasiswa tersebut adalah sebagai
berikut: Type dataMhs : record
< nomer_stb : integer,
Nama_mhs : string,
Umur : integer,
>
2. Variabel
Variabel adalah nama yang mewakili suatu elemen data seperti : jenkel untuk
jenis kelamin, t4lahir untuk tempat lahir, dan sebagainya. Ada aturan tertentu yang
wajib diikuti dalam pemberian nama variable, antara lain:
 Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol.
 Tidak boleh ada spasi diantaranya.
 Jangan menggunakan simbol yang bisa membingungkan seperti titik dua, titik
koma, koma, dan sebagainya.
 Sebaiknya memiliki arti yang sesuai denagn elemen data.
 Sebaiknya tidak terlalu panjang.

C. Pentium and Power PC Data Types

15
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
1. Pentium Data Types
Pentium dapat menangani jenis data 8 (byte), 16 (kata), 32 (doubleword), dan
64 (quadword) bit panjangnya. Untuk memungkinkan fleksibilitas maksimum dalam
struktur data dan penggunaan memori yang efisien, kata-kata tidak perlu selaras pada
alamat merata habis dibagi 4 dan quadwords tidak perlu selaras pada alamat merata
dibagi 8. Namun, ketika data yang diakses di 32 bus bit, transfer data berlangsung
dalam satuan doublewords, dimulai pada alamat yang habis dibagi 4. Prosesor ini
mengubah permintaan misaglined.

Table Pentium data types


Data type Description
General Byte,word (16 bytes),doubleword (32 bits) and quadword
(64 bits) location with arbitrary binary contents
Integer A signed binary value contained in a byte,word or
doubleword, using twos complement representation
Ordinal An unsigned integer contained in a byte, word or
doubleword
Unpacked binary A representation of a BCD digit in the range 0 through 0
coded decintal (BCD) with one digit in each byte
Packed BCD Packed byte representation of two BCD digits value in
the range 0 to 99
Near pointer A 32 bit effective addresses that represents the offset
within a segment. Used for all pointers in a
nonsegmented memory and for references within a
segment in a segmented memory
Bit field A conliguous sequence of bits in which the position of
each bit is considered as an independent unit. A bit string
can begin at any bit position of any byte and can contain
up to 232 – 1 bits
Byte string A contiguous sequence of bytes, words or doublewords,

16
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
containing form zero to 232 – 1 bits
Floating point See figure 10.4

Nilai dalam urutan permintaan untuk transfer bus. Seperti semua dari intel 80 ×
86 mesin, Pentium menggunakan gaya sedikit-endian: yang, byte paling signifikan
disimpan dalam alamat terendah (lihat lampiran 10B untuk pembahasan endiannes).
Byte, kata, doubleword dan quadword disebut sebagai tipe data umum. Selain
itu, Pentium mendukung jajaran tipe data khusus yang diakui dan dioperasikan oleh
instruksi tertentu. Tabel 10.2 merangkum jenis.
Gambar 10.4 mengilustrasikan jenis Pentium data numerik. Bilangan bulat
ditandatangani adalah intwos melengkapi representasi dan mungkin 16,32 atau 64 bit
panjang. Jenis floating point sebenarnya mengacu pada satu set jenis yang digunakan
oleh unit floating-point dan dioperasikan oleh instruksi floating-point. Ketiga
representasi floating-point sesuai dengan IEEE 754 standar.

2. Daya Jenis Data Tipe


PowerPC dapat menangani jenis data 8 (byte), 16 (sindiran), 32 (kata) dan 64
(doubleword) bit panjangnya. Beberapa instruksi mengharuskan operan memori akan
berjajar dalam batas 32-bit. Secara umum, bagaimanapun, keselarasan tidak
diperlukan. Salah satu fitur menarik dari PowerPC adalah dapat menggunakan salah
satu gaya little-endian atau big-endian, yaitu byte paling signifikan disimpan dalam
alamat terendah atau tertinggi (lihat lampiran 10B untuk diskusi endiannes).Byte,
sindiran, kata dan doubleword bersifat umum tipe data. Prosesor menafsirkan isi dari
sebuah item yang diberikan data tergantung pada instruksi. Prosesor fixed-point
mengakui jenis data berikut.
byte unsigned: dapat digunakan untuk operasi aritmatika logis atau
integer. Hal ini diambil dari memori ke sebuah register umum dengan nol
memperluas di sebelah kiri dengan ukuran mendaftar penuh.
Unsigned sindiran: sebagai untuk byte unsigned, tetapi untuk 16-bit jumlah

17
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Ditandatangani sindiran: digunakan untuk operasi aritmatika; dimuat ke
memori dengan tanda memperluas di kiri ke ukuran register penuh (yaitu, bit
tanda direplikasi di semua posisi kosong)
Unsigned kata: digunakan untuk operasi logis dan sebagai pointer alamat.
Sign kata: digunakan untuk operasi aritmatika
Unsigned doubleword: digunakan sebagai pointer
alamat Byte string: 0-128 byte panjang
Selain itu, PowerPC mendukung jenis data tunggal dan double-presisi floating-
point yang didefinisikan dalam IEEE 754.

D. Types of Operation
Jumlahopcodeberbedasangat bervariasidari mesin ke mesin. Namun, jenis umum yang
samaoperasiditemukanpada mesinsemua. Sebuahkategorisasiberguna dankhasadalah sebagai
berikut.
1. Data transfer
2. Arithmetic
3. Logical
4. Conversion
5. Input output

1. Data transfer
Jenis yang palingmendasar dariinstruksimesinadalahinstruksitransfer
datatersebut.instruksitransfer dataharus menentukanbeberapa hal.Pertama,lokasidari sumber
danoperantujuanharus ditentukan.Setiap lokasidapat memori, register,ataubagian
atasstack.kedua, panjang data yang akan ditransferharus ditunjukkan. ketiga,karena dengan
semuainstruksidenganoperan,moduspengalamatanuntuk operanmasing-masing
harusditentukan.Poin terakhirinidibahas dalam bab11.
Pilihan instruksi transfer data untuk memasukkan dalam set instruksi
mencontohkan jenis off perdagangan desainer harus membuat. misalnya, lokasi
umum (memori atau pendaftaran) dari operand dapat ditunjukkan baik dalam
spesifikasi opcode atau operan. Tabel 10.5 menunjukkan contoh dari S/390 data yang
paling umum IBM instruksi transfer. dicatat bahwa ada varian untuk menunjukkan

18
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
jumlah data yang akan ditransfer (8, 16, 32, atau 64 bit). juga, ada instruksi yang
berbeda untuk mendaftar untuk mendaftar, mendaftar ke memori, dan memori untuk
mendaftar transfer. Sebaliknya, pendekatan VAX agak lebih mudah bagi
programmer, yang memiliki lebih sedikit mnemonik untuk menangani. Namun, juga
agak kurang kompak dibandingkan dengan pendekatan IBM S/390, karena lokasi
(pendaftaran dibandingkan memori) dari operan masing-masing harus ditentukan
secara terpisah dalam instruksi. kita akan kembali ke perbedaan ini ketika kita
membahas format instruksi, dalam bab berikutnya.
Dalam hal tindakan CPU, operasi transfer data mungkin adalah jenis yang
paling sederhana. jika kedua sumber dan tujuan adalah register, maka CPU hanya
menyebabkan data yang akan ditransfer dari satu mendaftar ke yang lain: ini
merupakan operasi internal ke CPU. jika salah satu atau kedua Operand berada dalam
memori, maka CPU harus melakukan beberapa atau semua tindakan berikut:
1. menghitung alamat memori, berdasarkan modus alamat.
2. jika alamatmengacu padamemori virtual,menerjemahkan darivirtual kealamatmemori
yang sebenarnya.
3. menentukan apakahitem yangdibahas adalahdalam cache
4. jika tidak,mengeluarkanperintah kemodul memori

2. Arithmetic
Kebanyakan mesin menyediakan operasi aritmatika dasar menambah, mengurangi,
mengalikan, dan membagi. ini yang selalu disediakan untuk ditandatangani integer (fixed-
point) angka. operasi lain yang mungkin mencakup berbagai tunggal operan instruksi:
misalnya,
1. absolut: mengambil nilai absolut dari operan
2. meniadakan: meniadakan operan
3. selisih: tambahkan 1 ke operand
4. pengurangan: kurangi 1 dari operand

19
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Gambar Shift and Rotate Operations
eksekusi instruksi aritmatika mungkin melibatkan operasi data transfer ke posisi operan
untuk input ke ALU, dan untuk memberikan output dari ALU. Angka 3,5 menggambarkan
gerakan yang terlibat dalam transfer data dan operasi aritmatika. di samping itu, tentu saja,
bagian ALU dari CPU melakukan operasi yang diinginkan.

3. Logical
Mesin paling juga menyediakan berbagai usaha untuk memanipulasi bis individu dari
sebuah kata atau unit dialamatkan lain, sering disebut sebagai "sedikit memutar-mutar".
mereka didasarkan pada operasi Boolean.
Beberapa operasi dasar yang logis dapat dilakukan pada data boolean atau biner
ditunjukkan pada tabel 10.6. operasi NOT membalikkan sedikit. AND, OR, dan XOR
adalah fungsi logis yang paling umum dengan dua operan. EQUAL adalah tes biner
berguna.
Operasi ini logis dapat diterapkan bitwise untuk unit n bit data logis. demikian,
jika dua register berisi data.

(R1) = 10100101
(R2) = 00001111
Then

20
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
(R1) AND (R2) = 00000101

Dimana notasi (X) maens isi lokasi X. dengan demikian, DAN operasi dapat digunakan
sebagai masker yang memilih bit tertentu dalam sebuah kata dan nol keluar bit remaning.
sebagai contoh lain, jika dua register berisi.

(R1) = 10100101
(R2) = 11111111
Then
(R1) XOR (R2) = 01011010

Dengan satu kata diatur untuk semua 1s. operasi XOR membalikkan semua bit dalam kata
lain. Selain menyediakan berbagai pergeseran dan fungsi rotasi. operasi paling dasar
diilustrasikan pada Gambar 10.5. dengan pergeseran logis, bit-bit dari sebuah kata yang
bergeser kiri atau kanan. pada salah satu ujungnya, sedikit bergeser keluar hilang. di ujung, 0
yang digeser masuk pergeseran logis berguna terutama untuk mengisolasi bidang dalam
sebuah kata. 0s yang bergeser menjadi sebuah kata menggantikan informasi yang tidak
diinginkan yang digeser dari ujung lainnya.
Basic logical operations
P Q NOT P P AND Q P OR Q P XOR Q P=Q
0 0 1 0 0 0 1
0 1 1 0 1 1 0
1 0 0 0 1 1 0
1 1 0 1 1 0 1

Sebagai contoh, misalkan kita ingin mengirimkan data karakter ke karakter I/O
1 perangkat pada satu waktu. jika setiap kata memori adalah 16 bit panjang dan berisi
dua karakter, kita harus membongkar karakter sebelum mereka dapat dikirim. untuk
mengirim dua karakter dalam satu kata.
1. memuat kata ke register
2. AND dengan nilai 1111111100000000. ini masker keluar karakter di sebelah
kanan.

21
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
3. bergeser ke kanan delapan kali. pergeseran karakter yang tersisa ke bagian
kanan dari register.
4.melakukan I / O. modul I / O membaca urutan lebih rendah dari 8 bit data bus.
Hasil langkah sebelumnya dalam mengirimkan karakter tangan kiri. untuk
mengirim karakter tangan kanan.
1. memuat kata lagi ke register.
2. AND dengan 0000000011111111.
3. melakukan I / O.
Operasi pergeseran aritmatika memperlakukan data sebagai integer
ditandatangani dan tidak bergeser sedikit tanda. pada pergeseran aritmatika yang
benar, sedikit tanda direplikasi ke posisi bit ke kanan. pada pergeseran aritmatika kiri,
pergeseran logis kiri dilakukan pada semua bit tapi sedikit tanda, yang dipertahankan.
operasi ini dapat mempercepat operasi aritmatika tertentu. dengan nomor dalam
notasi komplemen dua, pergeseran aritmatika tepat terkait dengan pembagian dengan
2, dengan pemotongan untuk nomor lama. baik pergeseran aritmatika kiri dan shift
kiri yang logis sesuai dengan perkalian dengan 2 bila ada tidak meluap. jika overflow
terjadi, aritmatika dan logika operasi shift kiri menghasilkan hasil yang berbeda,
tetapi pergeseran kiri aritmatika mempertahankan tanda nomor. karena potensi untuk
overflow, processrors banyak yang tidak termasuk instruksi ini, termasuk daya PC
dan Itanium. lain, seperti IBM S/390, lakukan menawarkan instruksi. anehnya,
architercture pentium mencakup pergeseran aritmatika kiri tetapi mendefinisikannya
menjadi identik dengan pergeseran kiri logis. Memutar, atau siklik pergeseran,
operasi melestarikan semua bit yang dioperasi. salah satu kemungkinan penggunaan
rotate adalah untuk membawa setiap bit berurutan ke dalam bit paling kiri, di mana ia
dapat diidentifikasi dengan menguji tanda data (diperlakukan sebagai angka).
seperti dengan operasi aritmatika, operasi logis melibatkan aktivitas ALU dan bisa
melibatkan operasi data transfer. tabel 10,7 memberi contoh semua shift dan memutar
operasi dibahas pada pembahasan ini.

4. Conversion

22
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Instruksi konversi adalah mereka yang mengubah format atau beroperasi pada
format data. contoh adalah mengkonversi dari desimal ke biner. contoh dari instruksi
editing yang lebih kompleks adalah instruksi menerjemahkan S/390. instruksi ini
dapat digunakan untuk mengkonversi dari satu 8 bit kode ke yang lain, dan
dibutuhkan tiga operand:

TR R1, R2, L

R2 operan berisi alamat awal tabel 8 bit kode. byte L mulai dari alamat yang
ditentukan dalam R1 dijabarkan, setiap byte yang diganti

Table 10.7 examples of shift and rotate operations


Input Operation Result
10100110 Logical right shift (3 bit) 00010100
10100110 Logical left shift (3 bit) 00110000
10100110 Arithmetic right shift (3 bit) 11110100
10100110 Arithmetic left ahift (3 bit) 10110000
10100110 Right rotate (3 bit) 11010100
10100110 Left rotate (3 bit) 00110101

olehisi darientri tabeldiindeks olehbyteitu.misalnya, untukmenerjemahkan


dariEBCDICkeIRA, pertama kita membuat tabelbyte256di lokasipenyimpanan, katakanlah,
1000-10FF heksadesimal.tabel berisikarakterdari kodeIRA diurutanrepresentasibinerdari
kodeEBCDIC: yaitu,kodeIRAditempatkan dimejadilokasi relatifsama dengan nilaibinerdari
kodeEBCDICdarikarakter yang sama. dengan demikian,lokasi10F0melalui10F9akan
berisinilai30 sampai dengan39,karenaF0adalah kodeEBCDICuntukdigit0, dan 30 adalah
kodeuntukIRA0digit, dan seterusnya sampai 9digit.sekarangmisalkan
kitamemilikiEBCDICuntuk digit1984mulai darilokasi2100 dankita inginmenerjemahkan
keIRA.menganggaphal berikut:
- Lokasi2100 - 2103cantainF1F9F8F4
- R1berisi2100

23
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
- R2berisi1000

kemudian, jikakita menjalankan

TRR1,R2,4

lokasi2100 - 2103akan berisi3139 3834

5. Input / output (I/O)


Input/output petunjuk dibahas secara rinci dalam bab 7. seperti yang kita lihat,
ada berbagai appoaches diambil, termasuk diprogram terisolasi I/O. memori
dipetakan diprogram I/O, DMA, dan penggunaan prosesor I/O. implentations banyak
hanya memberikan fiew instruksi I/O, dengan tindakan spesifik yang ditentukan oleh
parameter, kode, atau kata-kata perintah.

6. Sistem Kontrol
Sistem instruksi kontrol adalah mereka yang dapat dieksekusi hanyaketika
prosesordalam keadaan istimewa tertentu
atau sedangmengeksekusi program dalam arcaistimewa khususdari memori. biasanya
petunjuk ini dicadangkan untuk penggunaansistem operasi
Beberapa contoh operasi sistem kontrol adalah sebagai
berikut, istructions sistem
kontrol mungkin membacaatau mengubah kontrol mendaftar kita kontrol diskus
registerdi capters 12 contoh lain adalah instruksi untuk membaca
atau memodifikasi kuncipenyimpanan perlindungan seperti digunakan
dalam S/390 memori sistem contoh lain
adalah akses untukmemproses blok kontrol dalam sistem multiprogramming
Transfer kontroluntuk semua jenis operasi dibahas sejauh instruksi
berikutnya yang akan dilakukanadalah salah satu
yang segera mengikuti instruksi memori saat ini namun fraksi yang signifikan dari
instruksi dalam program apapun miliki sebagai fungsi
mereka mengubahurutan instruksi untuk mengeksekusi instruksi-

24
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
instruksi yang operasi dilakukan oleh CPU adalah untuk memperbarui program
counter untuk berisi alamat dari beberapainstruksi dalam memori.
Ada beberapa alasan mengapa transfer-of-control operasi yang diperlukan. Di
antara yang paling penting adalah sebagai berikut:
1. Dalam penggunaan partical komputer, adalah penting untuk
dapat mengeksekusi setiap instruksi lebih dari sekali dan mungkin jutaan
instruksi untuk menerapkan apllication ini akan unthank kable jika setiap
instruksi harus ditulis sepparately jika atable atau daftar item adalah
untuk akan memproses semua data
2. Hampir semua program melibatkan beberapa pengambilan
keputusan kami ingin komputer untuk melakukan satu hal jika satu
syarat memegang dan hal lain jika kondisi lain berlaku. untuk
contoh urutan instruksi komputer akar kuadrat dari angka. Pada
awalurutan tanda nomor diuji jika nomor tersebut
adalah negatif perhitungan tidak dilakukan, tapi kondisi
kesalahan dilaporkan
3. Untuk menulis dengan benar sebuah program komputer yang besar atau
bahkanukuran sedang adalah tugas yang sangat sulit. membantu jika
ada machanism untuk melanggar tugas menjadi potongan kecil yang
dapat bekerja pada satuper satucabang instruksi
Sebuah instruksi cabang, juga disebut instruksi jump memiliki sebagai
salah satuoperand-nya alamat dari instruksi berikutnya yang
akan dieksekusi paling seringinstruksi adalah
cabang kondisi instruksi cabang yang dibuat hanya jika kondisi
tertentuterpenuhi. jika tidak, instruksi berikutnya dalam
urutan dijalankan (increment program counter seperti
biasa)melewatkan instruksilain bentuk umum dari transfer-of-
control instruksi. instruksi loncat mencakup alamattersirat. biasanya, lonca
t menyiratkan bahwa satu instruksi dilewati: dengan demikian,
alamat tersirat sama dengan alamat instruksi berikutnya ditambah satu
instruksi-mengukur tinggi.

25
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Memproduksi Hubungan Instruksi
Mungkin inovasi yang paling penting dalam

pengembangan bahasa pemrogramanadalah prosedur, prosedur adalah mandiri progra


mkomputer yang incorporatred ke dalam sebuah program besar. Pada
setiap titikdalam program prosedur dapatdipanggil, atau
menelepon. prosesor diperintahkan untuk pergi dan melaksanakanseluruh
prosedur dan kembali ke titik dari mana panggilan berlangsung.

Nested Prosedur
Sebuah prosedur bersarang disebut dari dalam prosedur lain seperti yang
ditunjukkan di bawah ini. Program Utama panggilan prosedur A, yang menyerukan
prosedur B: Ketika jal B instruksi dijalankan, alamat pengirim dalam register $ ra
untuk prosedur A akan ditimpa dengan alamat pengirim untuk prosedur Prosedur B.
B akan kembali dengan benar untuk A, tapi ketika prosedur Sebuah mengeksekusi
instruksi jr, maka akan kembali lagi ke alamat pengirim untuk B, yang merupakan
instruksi berikutnya setelah jal B dalam prosedur A. Hal ini menempatkan prosedur A
dalam infinite loop.
Untuk melaksanakan linkage untuk prosedur bersarang, alamat pengirim untuk
setiap prosedur harus disimpan di tempat lain selain mendaftar $ ra. Perhatikan bahwa
prosedur call / kembali urutan adalah proses LIFO: prosedur terakhir disebut adalah
yang pertama untuk kembali. Tumpukan A adalah struktur data alami untuk
menyimpan alamat kembali untuk panggilan prosedur bersarang.
Tumpukan sistem terletak di bagian atas ruang memori pengguna dan tumbuh
ke bawah menuju alamat memori yang lebih kecil. Registrasi $ 29, juga disebut $ sp,
adalah pointer stack untuk stack sistem. Ini berisi alamat dari lokasi kosong pertama
di bagian atas stack. Tumpukan sistem ini dimaksudkan untuk penyimpanan alamat
dan terstruktur untuk kata berukuran data.

Tumpukan sistem umumnya digunakan untuk menyimpan alamat


kembali. Mereka dapat didorong pada stack ketika prosedur ini disebut dan muncul
dari mengeksekusi instruksi kembali.

26
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Sebuah alamat pengirim dalam register $ ra dapat didorong ke stack
sistem dengan kode MAL berikut:
sw $ ra, ($ sp)
menambahkan $ sp, -4
Kode berikut muncul alamat pengirim dari atas tumpukan
dan mengembalikannya dalam daftar $ ra:
menambahkan $ sp, 4
lw $ ra, ($ sp)
Setiap prosedur yang memanggil prosedur lain harus menyimpan alamat
pengirim pada stack sistem. Kode kerangka untuk menyimpan alamat pengirim
untuk prosedur adalah :
J: sw $ ra, ($ sp) # menyimpan alamat pengirim
menambahkan $ sp, -4 # pada stack sistem
#
# Tubuh prosedur A
#
menambahkan $ sp, 4 # mengembalikan alamat pengirim
lw $ ra, ($ sp) # dari tumpukan sistem
jr $ ra # kembali ke memanggil program
Di dalam prosedur, jumlah mendorong harus sama dengan jumlah pops untuk
memastikan bahwa stack pointer dikembalikan ke posisi semula setelah setiap
urutan panggilan / prosedur pengembalian. Tertandingi mendorong atau muncul dari
tumpukan sistem merusak hubungan prosedur dan menghasilkan hasil yang tak
terduga, seperti instruksi ilegal atau pelanggaran akses memori.

Cabang Petunjuk
Instruksi cabang digunakan untuk mengimplementasikan JIKA pernyataan dan loop
dalam bahasa assembly.Instruksi cabang tanpasyarat mengeksekusi dengan
menetapkan nilai dari label ke PC.Eksekusiprogram berlanjut dengan instruksi yang
terletak di label.

27
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Unconditional Cabang
Sebuah instruksi cabang bersyarat menguji suatu kondisi. Jika kondisi benar, PC-
resetke label. Jika kondisi salah, instruksi cabang mengeksekusi no-op.
nol Tes
Tes relasional
Catatan:
x dan y mungkin tipe integer atau karakter dan mungkin variabel atau konstanta.
Semua instruksi cabang dapat dibangun menggunakan cabang pada nol.
Instruksi cabang berlebihan disertakan untuk
kenyamanan. contoh:
b berikutnya
setara dengan
beqz 0, berikutnya
beq x, y, sama
dapat ditulis sebagai:
sub t, x, y
beqz t, sama
BLT x, y, label
adalah sama dengan:
bgt y, x, label

28
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
E. Pentium
1. Jenis – jenis OperasiPC
PowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis
operasi pada PowerPC :
Instruksi Uraian
Berorientasi Pencabangan
b Pencabangan tidak bersyarat
bl Bercabang kealamat sasaran dan menaruh alamat efektif instruksi yang
berada setelah pencabangan kedalam link register
bc Pencabangan bersyarat pada Count Register dan/atau pada bit dalkam
Condition Register.
sc System Call untuk membangkitkan layanan sistem operasi
trap Memebandingkan dua buah operand dan membangkitkan system trap
handler bila persyaratan tertentu dipenuhi.

Load/Store
lwzu Memuatkan word dan nol kesebelah kiri; mengupdate register
sumber. ld Memuatkan dobleword.
lmw Memuatkan word ganda; memuatkan word berurutan ke regiater yang
berdekatan dari register sasaran melalui General Purpose Register 31.
lswx Memuatkan suatu untaian byte kedalam register yang dimulai dengan
register sasaran; empat byte per-register; diambil semua dari register 31
hingga register 0.

Arimatika Integer
add Menjumlahkan isi dari dua buah integer dan menyimpannya dalam
register ketiga
subf Mengurangkan isi dua buah register dan menyimpannya dalam register
ketiga.
mullw Mengalikan isi dua buah register orde rendah 32-bit dan menyimpan
hasil perkaliannya dalam register 64-bit ketiga.

29
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
divd Membagi isi dua buah register 64-bit dan menyimpan kuosiennya
dalam register ketiga.

Logika dan Pergeseran


cmp Membandingkan dua buah operand dan menyetel empat buah bit
kondisi dalam field register kondisi tertentu.
crand Condition Register AND : dua bit Condition Register di-AND-kan dan
hasilnya disimpan dalam salah satu dari kedua posisi tersebut.
and Meng-AND-kan isi dua buah register dan menyimpannya dalam
register ketiga
cntlzd Mencacah jumlah bit 0 berturutan yang berawal pada bit nol dalam
register sumber dan menempatkan hasil perhitungan dalam regiater
tujuan.
rldic Merotasikan ke kiri register doubleword, meng-AND-kannya dengan
mask, dan menyimpannya dalam register tujuan.
sld Menggeser kekiri dalam register sumber dan menyimpannya dalam
register tujuan

Titik Mengambang
lfs Memuatkan bilangan floating point 32-bit dari memori, mengubahnya
kedalam format 64 bit, dan menyimpannya dalam register floating
point.
fadd Menjumlahkan dua buah register floating point dan menyimpannya
dalam register ketiga.
fmadd Mengalikan isi dua buah register, menambahkan isi regiater ketiga, dan
menyimpan hasilnya dalam regiater keempat.
fcmpu Membandingkan dua buah operand floating point dan menyetel bit-bit
kondisi.

Manajemen Cache

30
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
dcbf Membersihkan (flush) blok data cache; melakukan lookup dalam cache
yang terdapat pada alamat sasaran tertentu dan melakukan operasi
pembersihan.
icbi Menginvalidasikan instruksi blok cache

2. Instruksi- Instruksi berorientasi Percabangan


PowerPC memiliki orientasi pencabangan tidak bersyarat dan pencabangan
bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit tunggal dari
register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter register
apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan macam
kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter register diuji
apakah nol atau bukan nol, maka sesudah pengujian register berkurang 1. Hal ini
tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga mengindikasikan
bahwa alamat dari pencabangan itu ditempatkan dalam link register, hal ini
memungkinkan pengolahan call/return.

3. Instruksi-instruksi Load/Store
Dalam arsitektur PowerPC hanya instruksi load/store yang dapat mengakses
lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap register.
Terdapat dua fitur yang membedakan instruksi-instruksi load/store :
Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword,
word, atau doubleword. Instruksi-instruksi juga dapat digunakan untuk
memuat atau menyimpan suatu untai byte ke dalam sejumlah register atau dari
sejumlah register
Perluasan tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah
kiri register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-
bilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

31
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
F. Bahasa Assembly
CPU dapat memahami dan mengeksekusi instruksi-instruksi mesin. Instruksi-
instruksi itu hanya berupa bilangan-bilangan biner yang tersimpan dalam computer.
Bila pemograman ingin langsung membuat program dalam bahasa mesin, masalah
programnya perlu dibuat dalam bentuk data biner. Perhatikan pernyataan bahasa
BASIC yang sederhana di bawah ini :
N=I+J+K
Misalnya kita ingin memprogram pernyataan ini dalam bahasa mesin dan
mnginisialisasi I, J, dan K masing-masing sebagai 2, 3, dan 4. Program ini
ditunjukkan pada gambar di bawah ini :

Alamat Isi Alamat Instruksi


101 0010 0010 0000 0001 101 LDA 201
102 0001 0010 0000 0010 102 ADD 202
103 0001 0010 0000 0011 103 ADD 203
104 0011 0010 0000 0100 104 STA 204
(a) Program Biner (b) Program Simbolik

Alamat Isi Label Operasi Operand


101 2201 FORMUL LDA I
102 1202 ADD J
103 1203 ADD K
104 3204 STA N

201 0002 I DATA 2


202 0003 J DATA 3
203 0004 K DATA 4
204 0000 N DATA 0
(c) Program Heksadesimal (d) Program Asembly

32
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
Program tersebut berawal di lokasi 201. Program itu terdiri dari empat buah instruksi
:
1. Masukkan isi lokasi 201 ke dalam AC.
2. Tambahkan isi lokasi 202 ke AC.
3. Tambahkan isi lokasi 203 ke AC.
4. Simpan isi AC di lokasi 204.
Hal ini jelas merupakan proses yang membosankan dan merupakan proses yang
mudah mengalami kesalahan.
Sedikit peningkatan adalah dengan menulis program dalam heksadesimal
daripada dalam notasi biner. Kita akan menuliskan programnya sebagai baris-baris.
Setiap baris terdiri dari alamat lokasi memori dan kode heksadesimal nilai biner akan
disimpan di lokasi tersebut. Kemudian kita memerlukan sebuah program yang akan
menerima input ini, menerjemahkan setiap baris ke dalam bilangan biner, dan
menyimpannya di lokasi tertentu.
Untuk peningkatan yang lebih, kita dapat menggunakan nama simbolik atau
mnemonic pada setiap-setiap instruksi. Ini menghasilkan dalam program simbolik
yang ditunjukkan dalam gambar (c) di atas. Setiap baris input masih
mempresentasikan satu lokasi memori. Setiap baris terdiri dari tiga bidang, yang
dipisahkan dengan spasi. Bidang pertama terdiri dari lokasi memori. Untuk instruksi,
bidang kedua terdiri dari tiga buah symbol bagi opcode. Jika merupakan instruksi
yang mereferensi memori, maka bidang ketiga terdiri dari alamat-alamat. Untuk
menyimpan data yang berubah-ubah dalam sebuah lokasi, kita menemukan
pseudoinstruction (pseudoinstruksi) denga symbol DAT. Hal ini seolah-olah sebuah
indikasi bahwa bidang ketiga pada baris dari bilanganheksadesimal disimpan dalam
lokasi tertentu dalam bidang pertama.
Untuk jenis input ini kita memerlukan program yang sedikit lebih kompleks.
Program menerima setiap baris input, menghasilkan bilangan biner berdasarkan
bidang kedua dan ketiga (jika ada), dan menyimpannya di lokasi yang ditentukan
oleh bidang pertama.
Penggunaan dari suatu program simbolik membuat hidup lebih mudah tetapi
masih janggal. Khususnya, kita harus memberi alamat mutlak untuk setiap word. Hal

33
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
ini berarti bahwa program dan data dimuatkan hanya ke suatu lokasi dalam memori,
dan kita harus mengetahui tempat itu terlebih dahulu. Lebih buruk, misalnya, suatu
hari kita ingin mengubah program itu dengan menambah atau menghapus sebuah
baris. Hal ini akan mengubah semua almat-alamat word dan tertentu.
Sistem yang jauh lebih baik, dan lebih umum digunakan adalah dengan
menggunakan alamt-alamat simbolik. Hal ini dijelaskan pada gambar (d) di atas.
Setiaop baris mesin terdiri dari tiga bidang. Bidang pertama masih untuk alamat,
tetapi menggunakan simbolik dan bukan berupa alamat numeric absolut. Beberapa
baris tidak mempunyai alamat, yang berarti bahwa alamat baris itu, maju satu dari
alamat baris sebelumnya. Bagi instruksi referensi memori, bidang ketiga juga terdiri
dari alamat simbolik.
Dengan perbaikan terakhir ini, kita memiliki sebuah bahasa asembly. Prof yang
ditulis dalam bahasa asembly diterjemahkan kedalam bahasa mesin oleh sebuah
bahasa assembler. Program ini tidak hanya harus melakukan penerjemahan simbolik
namun juga menugaskan beberapa bentuk alamat memori menjadi alamat-alamat
simbolik.
Pengembangan bahasa asembly merupakan hal yang sangat penting dalam
evolusi teknologi computer. Ini adalah langkah awal menuju bahasa tingkat tinggi
yang digunakan saat ini. Meskipun sedikit pemrogram yang menggunakan bahasa
asembli, namu sebenarnya semua mesin menyediakannya. Mesin-mesin itu
digunakan untuk program-program system compiler dan rutin-rutin I/O.

34
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
DAFTAR PUSTAKA

http://lecturer.eepis-its.edu/~setia/Modul/ArKom/Pertemuan%2004.pdf

http://lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB
sQFjAA&url=https%3A%2F%2Fiyant201043500251.files.wordpress.com%2F2012
%2F05%2Fjurnal-arsitektur-dan-organisasi-
komputer3.docx&ei=1lKVPaKMMePuATLw4CACw&usg=AFQjCNGIGHqMeML
O_vTkQ57jsR6_g_xKiQ&cad=rja

http://sulaiman001.blogspot.com/2011/12/makalah-arsitektur-set-instruksi.html

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CF
YQFjAJ&url=http%3A%2F%2Fmargono.staff.uns.ac.id%2Ffiles%2F2009%2F06%2
Fset-
instruksi.ppt&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNEVQYQQ1aw9
A6Al9-1NbO18gVPDqA&cad=rja

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CD
AQFjAD&url=http%3A%2F%2Fwww.mdp.ac.id%2Fmateri%2F2010-2011-
2%2FSP354%2F052110%2FSP354-052110-556-
7.pptx&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNHbSR2wuJX0JULQC
Ap2nX7phz07Gg&cad=rja

http://eprints.binadarma.ac.id/883/1/ARSITEK%20KOMPUTER%205.pdf

35
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
PERTANYAAN TENTANG SET INTRUKSI

1.Sebutkan dan Jelaskan Teknik Addressing yang sering dilakukan


Jawab:
1. Immediate addressing
Operand (data yang akan dikomputasi) berada langsung pada set instruksi.
2. Direct Addressing
Operand berada pada memori, set instruksi memegang alamat lokasi memori dimana operand
tersebut berada.
3. Indirect Addresing
Operand berada pada memori, untuk mendapatkan operand ini CPU harus melakukan penelusuran
dua kali yaitu dari data alamat memori yang ada pada set instruksi serta alamat yang ditunjuk oleh
alamat memori yang diperoleh dari set instruksi tadi.
4. Register addressing
Operand berada pada register, cara kerjanya mirip dengan direct addressing hanya saja CPU
mengakses alamat register bukan alamat memori.
5. Register Indirect Addressing
Operand berada pada memori, untuk mendapatkan operand CPU harus mengakses register
terlebih dahulu karena informasi lokasi operand berada pada register.
6. Displacement
Operand berada pada memori, cara kerjanya merupakan gabungan dari teknik direct addressing
dan register indirect addressing.
7. Stack
Operand berada pada stack, operand secara berkala dimasukan ke stack sehingga ketika operand
dibutuhkan maka operand sudah berada pada “top of the stack”.

2.Sebutkan Operasi-operasi instruksi untuk Arithmetic


Jawab:
1. ADD : penjumlahan
2. SUBTRACT : pengurangan
3. MULTIPLY : perkalian
4. DIVIDE : pembagian
5. ABSOLUTE
6. NEGATIVE
7. DECREMENT
8. INCREMENT

36
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
3.Sebutkan Operasi-operasi instruksi untuk Logical
Jawab:
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.

4.Sebutkan Elemen-elemen dari Instruksi Mesin (Set Instruksi)


Jawab:
1. Operation Code (opcode) : menentukan operasi yang akan dilaksanakan
2. Source Operand Reference : merupakan input bagi operasi akan dilaksanakan
3. Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
4. Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruksi yang dijalankan selesai.

5. pengertian Instruction Set dan sebutkan elemen-elemennya


Jawab: Kumpulan dari instruksi-instruksi yang berbeda yang dapat di jalankan oleh CPU.
Elemen-elemennya
1. Operation Code (opcode) : menentukan operasi yang akan dilaksanakan
2. Source Operand Reference : merupakan input bagi operasi akan dilaksanakan
3. Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
4. Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruksi yang dijalankan selesai.

6.Sebutkan Tipe-tipe Operasi yang terkait dengan Op Code


Jawab:
1. Operasi data transfer
2. Operasi Arithmetic
3. Operasi Logical
4. Operasi Conversion
5. Operasi I/O
6. Operasi System Control
7. Operasi Transfer of Control

37
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI
7.Jelaskan pengertian Micro Operation
Jawab: operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-
fungsi operasi akan dihasilkan untuk memindahkan data antar register.

8.Sebutkan 4 Jenis Register dalam Fetch


Jawab:
1. Memory Address Register (MAR)
2. Memory Buffer Register (MBR)
3. Program Counter (PC)
4. Instruction Register (IR)

9.Sebutkan Bagian-bagian penting Prosessor


Jawab:
1. ALU (Arithmatika Logical Unit
2. CU (Control Unit)
3. Register

10.Jelaskan Fungsi utama Prosesor


Jawab: Fungsi utama prosesor adalah menjalankan program-program yang di simpan di memori
utama.

38
SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI

Anda mungkin juga menyukai