SET INSTRUKSI
Dosen Pengampu:
Victor Amrizal
Di Susun Oleh:
1. Lianto Nur Ahmad Syahputra (11170910000015)
2. Alam Wahyu Hutomo (11170910000023)
3. Yollan Gusnanda (111709100000)
TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SYARIF HIDAYATULLAH JAKARTA
2018
i
KATA PENGANTAR
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.
Penyusu
i
DAFTAR ISI
Cover
BAB I Pendahuluan
BAB II Pembahasan
A. Kesimpulan ............................................................................ 26
ii
B. Saran ...................................................................................... 26
Daftar Pustaka
iii
BAB I
PENDAHULUAN
A. Latar Belakang
1
B. Rumusan Masalah
1. Apa yang dimaksud dengan Set Instruksi?
2. Jelaskan Karakteristik Instruksi Mesin?
3. Jelaskan Tipe-tipe Operand dan Tipe-tipe Set Instruksi?
4. Jelaskan bagaimana Pengalamatan dan format instruksi?
BAB II
PEMBAHASAN
A. Karakteristik Instruksi Mesin
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.
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.
2
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.
3
mesin. Bila hanya terdapat sebuah register saja, maka acuan ke instruksi
tersebut dapat berbentuk implicit. Sedangkan jika terdapat lebih dari satu
register, maka setiap register diberi nomor yang unik, dan instruksi harus
terdiri dari nomor register yang dimaksud.
Perangkat I/O: Instruksi harus menspesifikan modul I/O dan perangkat yang
diperlukan oleh operasi. Jika digunakan I/O memori terpetakan, maka
perangkat ini merupakan memori utama atau memori virtual.
Untuk dapat dieksekusi, suatu instruksi harus berisi elemen informasi yang
diperlukan CPU secara lengkap dan jelas.
Elemen instruksi mesin di antaranya adalah :
Operation Code (OP Code)
menspesifikasi operasi yang akan dilakukan Kode Operasi
berbentuk Kode Biner.
Source Operand Reference
operasi dapat berasal dari satu sumber. Operand adalah input
operasi.
Result Operand Reference
hasil operasi/keluaran operasi.
Next Instruction Reference
menginformasikan CPU ke instruksi berikutnya yang harus diambil
dan dieksekusi.
A.2. Instruksi Representasi
[opcode] [alamat]
4
Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic:
ADD = penambahan.
SUB = subtract (pengurangan).
LOAD = muatkan data ke memori.
ADD X, Y
artinya: tambahkan nilai yang berada pada lokasi Y dengan isi register X
dan simpan hasilnya di register X.
Korelasi :
5
instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya
sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk
pengolahan data lain.
Berisi instruksi perpindahan data antar register maupun modul I/O. untuk
dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas
memindahkan data operand yang diperlukan.
6
A.3. Jenis Instruksi
Alamat instruksi yang lebih sedikit akan membuat instruksi lebih sederhana
dan pendek, tetapi lebih sulit diimplementasikan fungsi-fungsi yang kita inginkan.
Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana.
7
Jumlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan eksekusi lebih
cepat. Tetapi jumlah instruksi per-program biasanya jauh lebih banyak. Pada
jumlah alamat per-instruksi banyak, jumlah bit dan referensi instruksi lebih banyak
sehingga waktu eksekusi lebih lama. Sehingga diperlukan register CPU yang
banyak, namun operasi antar register lebih cepat serta lebih mudah
mengimplementasikan fungsi-fungsi yang kita inginkan. Sehingga jumlah instruksi
per-program jauh lebih sedikit
Instruksi 3 alamat
Spesifikasi :
* Simbolik: a = b + c
* Format alamat: hasil, operand1, operand2
* Digunakan dalam arsitektur MIPS
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
Spesifikasi :
* Simbolik: a = a + b
* Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk
menyimpan hasilnya.
* Tidak memerlukan instruksi yang panjang.
8
* Jumlah instruksi per program akan lebih banyak dari 3 alamat.
* Diperlukan penyimpanan sementara untuk menyimpan hasil.
Instruksi KOmmentar
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.
Instruksi 1 alamat
Spesifikasi :
* Memerlukan alamat implisit untuk operasi
* Menggunakan register accumulator (AC) dan digunakan pada mesin
lama.
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
Spesifikasi :
* Seluruh alamat yang digunakan adalah implisit
* Digunakan pada organisasi memori, terutama operasi stack
Instruksi komentar
PUSH B B
PUSH A B.A
9
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}}
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.
Rancangan set instruksi merupakan masalah yang sangat komplek yang melibatkan
banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :
a. Source code compatibility
b. Object code Compatibility
10
Register: Jumlah register CPU yang dapat diacu oleh instruksi, dan
fungsinya.
Pengalamatan: Mode untuk menspesifikasikan alamat suatu 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
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.
11
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
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.
12
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
(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
13
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>< .
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 )
14
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
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,
15
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.
Jumlah opcode berbeda sangat bervariasi dari mesin ke mesin. Namun, jenis umum
yang samaoperasi ditemukan pada mesinsemua. Sebuah kategorisasi berguna dan
khas adalah sebagai berikut.
1. Data transfer
2. Arithmetic
3. Logical
4. Conversion
5. Input output
1. Data transfer
Jenis yang paling mendasar dari instruksi mesin adalah instruksi transfer data
tersebut. Instruksi transfer data harus menentukan beberapa hal. Pertama, lokasi
dari sumber dan operan tujuan harus ditentukan. Setiap lokasi dapat memori,
register, ataubagian atas stack. kedua, panjang data yang akan ditransfer harus
ditunjukkan. ketiga, karena dengan semua instruksi dengan operan, modus
pengalamatan untuk operan masing-masing harus ditentukan.
16
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 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:
17
* Memindahkan data dari satu lokasi ke lokasi lain.
* Apabila memori dilibatkan :
Menetapkan alamat memori.
Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
Mengawali pembacaan / penulisan 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,
18
Gambar Shift and Rotate Operations
ADD : penjumlahan.
SUBTRACT : pengurangan.
MULTIPLY : perkalian.
DIVIDE : pembagian.
ABSOLUTE.
NEGATIVE.
DECREMENT.
INCREMENT.
Nomor 5 sampai 8 merupakan instruksi operand tunggal.
19
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
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.
20
(R1) = 10100101
(R2) = 11111111
Then
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.
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
21
1. memuat kata ke register
2. AND dengan nilai 1111111100000000. ini masker keluar karakter di
sebelah kanan.
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.
22
melibatkan operasi data transfer. tabel 10,7 memberi contoh semua shift dan
memutar operasi dibahas pada pembahasan ini.
4. Conversion
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
23
10100110 Arithmetic left ahift (3 bit) 10110000
Oleh isi dari entri tabel di indeks oleh byte itu. Misalnya, untuk menerjemahkan
dari EBCDIC ke IRA, Pertama kita membuat tabel byte 256 di lokasi penyimpanan,
katakanlah, 1000 – 10 FF heksadesimal. Tabel berisi karakter dari kode IRA
diurutan representasi biner dari kode EBCDIC: yaitu, kode IRA ditempatkan
dimejadilokasi relatif sama dengan nilai biner dari kode EBCDIC dari karakter yang
sama. dengan demikian, lokasi 10F0 melalui 10F9 akan berisi nilai 30 sampai
dengan 39, karena F0 adalah kode EBCDIC untuk digit 0, dan 30 adalah kode untuk
IRA 0 digit, dan seterusnya sampai 9 digit. Sekarang misalkan kita memiliki
EBCDIC untuk digit 1984 mulai dari lokasi 2100 dan kita ingin menerjemahkan ke
IRA. Menganggap hal berikut:
TRR1,R2,4
24
Tindakan CPU untuk melakukan INPUT /OUTPUT :
6. Sistem Kontrol
25
SKIP BERSYARAT : Melompat atau tidak melakukan apa-apa
berdasarkan pada persyaratan.
HALT : Menghentikan eksekusi program.
WAIT (HOLD) : Melanjutkan eksekusi pada saat persyaratan
dipenuhi.
NO OPERATION : Tidak ada operasi yang dilakukan.
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-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
26
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 satu per 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, loncat menyiratkan bahwa satu instruksi
dilewati: dengan demikian, alamat tersirat sama dengan alamat instruksi
berikutnya ditambah satu instruksi-mengukur tinggi.
Memproduksi Hubungan Instruksi
Mungkin inovasi yang paling penting dalam pengembangan bahasa
pemrogramanadalah prosedur, prosedur adalah mandiri programkomputer
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.
27
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.
28
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.
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:
29
sub t, x, y
beqz t, sama
BLT x, y, label
adalah sama dengan:
bgt y, x, label
D. PENGALAMATAN
Variable dan konstanta adalah tipe data yang paling sederhana dan terdapat
dalam hampir setiap program computer. Dalam bahasa assembley, suatu variable
dinyatakan dengan mengalokasikan suatu register atau lokasi memori untuk
menyimpan nilainya. Sehingga nilai tersebut dapat diubah seperlunya
menggunakan instruksi sesuai.
Kita mengakses operand dengan menetapkan nama register atau alamat lokasi
memori tempat operand berada. Definisi yang presisi dari dua mode tersebut
adalah:
30
1. Mode register operand adalah isi register prosesor, nama alamat register
dinyatakan dalam instruksi tersebut.
2. Mode absolute operand adalah lokasi memori, alamat lokasi dinyatakan
secara eksplisit didalam instruksi tersebut. (pada bebrapa bahasa assembly,
mode ini disebut direct).
3. Mode immediate operand dinyatakan secara eksplisit dalam instruksi,
misalnya, instruksi Move 200 immediete, RO.
31
Kelebihan :
Kelemahan :
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil
dibandingkan panjang word.
Kelebihan :
- Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang
dapat referensi
Kekurangan :
32
D.3. Immediate Addresing
Keuntungan :
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk
memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhan akan cepat
Kekurangan :
33
Akses ke regster lebih cepat daripada akses ke memori, sehingga proses
eksekusi akan lebih cepat
Kerugian
Ruang alamat menjadi terbatas
Relative addressing
Alamat efektif relative addresing didapatkan dari alamat instruksi saat itu
ditambahkan ke field alamat
34
Relativ addressing memanfaatkan konsep lokalitas memori untuk
menyediakan operand-operand berikutnya
Base register addresing, register yang direferensi berisi sebuah alamat
memori, dan field alamat berisi perpindahan dari alamat itu
Referensi register dapat eksplisit maupun implisit
Memanfaatkan konsep lokalitas memori
Indexing adalah field alamat mereferensi alamat memori utama, dan register
yang direferensikan berisi pemindahan positif dari alamat tersebut
Merupakan kebalikan dari mode base register
Field alamat dianggap sebagai alamat memori dalam indexing
Manfaat penting dari indexing adalah untuk eksekusi program-program
iterative
Stack adalah array lokasi yang linier = pushdown list = last-in-first-out. Stack
merupakan blok lokasi yang terbalik. Butir ditambakan ke puncak stack sehingga
setiap saat blok akan terisi secara parsial. Yang berkaitan dengan stack adalah
pointer yang nilainya merupakan alamat bagian paling atas stack. Dua elemen
teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer
mereferensi ke elemen ketiga stack. Stack pointer tetap berada dalam
registerDengan demikian, referensi-referensi ke lokasi stack di dalam memori pada
dasarnya merupakan pengalamatan register tidak langsung
35
BAB IV
PENUTUP
A. Kesimpulan
Metode numerik merupakan teknik untuk menyelesaikan masalah
yang berkaitan dengan pengoprasian aritmatika (hitungan) dan metode
penyelesaian model matematika dengan rumus-rumus aljabar yang sudah
baku atau lazim. Penyelesaian yang digunakan dalam metode numerik
adalah penyelesaian pendekatan, oleh karena itu biasanya timbul galat
(error). Pada penyelesaiannya diusahakan untuk mendapatkan error yang
sekecil mungkin. Metode numerik digunakan untuk mencari penyelesaian
persoalan-persoalan secara lebih singkat yang apabila dikerjakan
menggunakan metode analitik membutuhkan langkah-langkah yang lebih
36
panjang. Dalam menyelesaikan persamaan non-linier kita sering
menemukan fungsi yang rumit, sehingga untuk mencari penyelesaiannya
atau untuk mencari f(x) = 0, kita perlu menggunakan cara pendekatan atau
cara dengan metode numerik. Salah satunya dengan metode Regula Falsi.
Metode Regula Falsi dapat mempermudah kita dalam mencari akar fungsi
non linier, dengan metode ini kita dapat menemukan suatu nilai akar
pendekatan dari sebuah fungsi non-linier yang rumit.
B. Saran
Dalam mempelajari metode numerik kita harus bisa menganalisis
metode mana yang lebih baik atau lebih tepat perhitungannya.
Metode mana yang lebih dipahami dan simple.
DAFTAR PUSTAKA
http://m-d-amrullah.blogspot.com/2014/06/bisection-and-regula-false-
method.html
https://id.scribd.com/doc/36244962/Metode-Newton-Raphson-Bisection-
Biseksi
https://id.wikipedia.org/wiki/Metode_Gauss-Seidel
Bambang Triatmojo, “Metode Numerik” Beta Offset, 199
[1] Chapra, S.C and Canale, R.P. (1991). Metode Numerik Jilid 1. Erlangga.
Jakarta
37
[3] Purcell, E.J and Varberg, D. (2001). Kalkulus Jilid 1. Interaksa. Batam
38
1