bahasa mesin

advertisement
BAHASA MESIN
PDE - bahasa mesin
1
z
Instruksi dalam bahasa mesin berada dalam bentuk
kode biner yg disebut KODE MESIN / INSTRUKSI
MESIN.
z
Set instruksi mesin yg dapat dijalankan oleh suatu
komputer disebut SET INSTRUKSI
z
Ukuran set instruksi akan mempengaruhi
z
Biaya mesin
z
kecepatan dan efisiensi
z
Pilihan ukuran word dan format instruksi
PDE - bahasa mesin
2
z
Format instruksi
ukuran dan pengaturan komponen, dimana komponen utama
adalah kode fungsi (op code) dan menentukan fungsi atau
operasi yg dijalankan, dan alamat operand yg menentukan
lokasi dari operand yg digunakan
z
Format alamat
bagian dari format instruksi yg mengurus penentuan alamat
operand
z
Format tiga alamat
menetapkan alamat dua operand dan memberikan alamat
selanjutnya utk hasil operasi itu
Fungsi
Alamat
Alamat
PDE - bahasa mesin
alamat
3
z
Format dua alamat
menentukan alamat dari dua operand, hasil dari suatu operasi
penambahan akan mengganti salah satu dari dua operand
tersebut
Fungsi
z
Alamat
Alamat
Format alamat satu setengah
satu operand disangga dalam register atau akumulator
khusus yanng sebelumnya telah dijemput dan ditempatkan
disana
Fungsi Alamat
atau
Fungsi
AC
Alamat
AC = nomor akumulator
PDE - bahasa mesin
4
z
Antar operasi – operasi akumulator
format satu dan setengah alamat dapat digunakan utk
menjepit atau memuatkan operand ke dalam akumulator dari
penyimpanan utama, namun setelah itu instruksi tersebut
hanya dapat menentukan dua atau tiga akumulator yg akan
digunakan utk operand dan hasilnya
Fungsi
AC
AC
PDE - bahasa mesin
5
Jenis Instruksi
z
Operasi aritmatika dan logika
instruksi yg menggunakan ALU
z
Operasi aritmatika
z Penambahan,pengurangan,perkalian dan pembagian
z Operasi inkremen dan dekremen (penambahan, pengurangan)
z Negasi dan komplemensi
z Shift aritmatika
z
Operasi logika
z Operasi boolean (AND, OR)
z Negasi boolean (NOT)
z Rotasi (shift logis), memindahkan bit ke kiri atau ke kanan,
namun mengganti tiap bit yg ada di ujung sebelah satunya dari
register tersebut.
PDE - bahasa mesin
6
Contoh shift aritmatika
a. Shift aritmatika satu tempat ke kiri
BEFORE
AFTER
0 0 0 1 +1 0 0 1 0 +2
1 1 1 1 -1 1 1 1 0 -2
b. Shift aritmatika satu tempat ke kanan
BEFORE
AFTER
0 0 1 0 +2 0 0 0 1 +1
1 1 1 0 -2 1 1 1 1 -1
PDE - bahasa mesin
7
Contoh shift logis
a. Shift logis (dengan
rotasi) satu tempat
ke kiri
BEFORE
1 0 1 1
AFTER
0 1 1 1
b. Shift logis (dengan
rotasi) satu tempat
ke kanan
BEFORE
1 0 1 1
AFTER
1 1 0 1
c. Shift logis (tanpa
rotasi) satu tempat
ke kiri
BEFORE
1 0 1 1
AFTER
0 1 1 0
d. Shift logis (tanpa
rotasi) satu tempat
ke kanan
BEFORE
1 0 1 1
AFTER
0 1 0 1
PDE - bahasa mesin
8
z
Swap
mengubah setengah dari word bagian kanan dan sebelah kiri
z
Instruksi transfer kontrol / cabang
instruksi yg mengubah rangkaian yg dianut oleh instruksi.
eksekusinya menyebabkan jump (lompatan) ke instruksi yg
lain
z
Instruksi jump terdiri dari :
z
z
z
Transfer kontrol tak kondisional, jump selalu terjadi
Transfer kontrol kondisional. Jump hanya akan terjadi jika
hasil dari suatu operasi mempunyai nilai tertentu.
Instruksi pemuatan /penjemputan dan penyimpanan
menyebabkan terjadinya transfer data antara akumulator dan
memory
PDE - bahasa mesin
9
z
Instruksi Input Output
mengimplementasikan transfer data antara peripheral dan
memory, atau antara peripheral dan akumulator
z
Instruksi referensi memory
operasi yg memerlukan akses ke memory selama
eksekusinya, karenanya mencakup instruksi load dan store
(pemuatan dan penyimpanan)
z
Instruksi referensi prosesor
Instruksi yg tidak memerlukan memory dan tidak melibatkan
penginputan dan pengoutputan
PDE - bahasa mesin
10
BAGAIMANA INSTRUKSI DIPATUHI
z
Menjemput instruksi yg diperlukan
z
z
z
z
MAR dimuatkan dengan alamat instruksi yg akan
dijalankan
Kontrol SCR kemudian dinaikkan sebesar 1,
hingga siap utk penjemputan berikutnya
Penjemputan diselesaikan dengan memuatkan
instruksi ke dalam CIR melalui MDR
Mengeksekusi Operasi
z
Opcode atau bagian fungsi dari instruksi di
dekode oleh unit kontrol
PDE - bahasa mesin
11
BAHASA MESIN IMAGINER
z
Alat bantu bagi programmer
z
z
z
z
z
Kode simbolik dan MNEMONIC
Kode biner dapat dikonversi ke oktal atau
heksadesimal
Program khusus yg disebut assembler, dimana
akan mengkonversi program dalam bentuk
simbolis dan mnemonic menjadi kode mesin.
Program mnemonic dan simbolis disebut
program sumber
kode mesin yg dihasilkan assembler disebut
program obyek
PDE - bahasa mesin
12
METODE PENGALAMATAN
METODE PENGALAMATAN UTAMA
z
Pengalamatan langsung (direct addressing)
digunakan jika bilangan yg diberikan dalam bagian operand suatu
instruksi adalah alamat sebenarnya dari operand yg akan
digunakan. Pengalamatan langsung bersifat sederhana, cepat dan
efektif namun jumlah lokasi yg bisa dialamati terbatas
z
Pengalamatan tak langsung (deffered addressing)
bila pengalamatan langsung digunakan yg diberikan dalam bagian
alamat suatu instruksi bukan alamat operand dari operand yg
diperlukan. Bagian alamat dari lokasi yg berisi alamat yg diperlukan.
Suatu alamat dapat langsung atau tidak langsung
PDE - bahasa mesin
13
z
Pengalamatan terindeks
alamat yg diperlukan diperoleh dengan menambahkan isi
bagian alamat instruksi ke bilangan yg disimpan dalam
register khusus yg disebut register indeks atau register
modifier
z
Pengalamatan termodifikasi
jika suatu instruksi dimodifikasi hingga satu fungsi yg sama
dijalankan berulang-ulang pada suatu operand dalam alamat
yg berbeda, maka disebut menggunakan alamat
termodifikasi. Metode yg digunakan :
1. menggunakan pengalamatan terindeks dan mengubah isi
register indeks sebelum instruksi diulang
2. mengubah bagian alamat instruksi
PDE - bahasa mesin
14
z
Pengalamatan relatif
bagian alamat dari instruksi digunakan utk memberikan
displacement dari beberapa alamat yg dinyatakan. Di satu
sisi alamat indeks akan menjadi alamat relatif sebab bagian
alamat instruksi memberikan lokasi operand agar banyak
tempat melewati lokasi yg dinyatakan dalam register indeks.
alamat base : alamat yg menjadi referensi alamat relatif
z
Pengalamatan page
digunakan bila panjang word membatasi ukuran field alamat.
Bentuk khusus dari pengalamatan relatif. Area penyimpan
utama dibagi menjadi unit-unit (page) berukuran sama dan
dinomori 0,1,2,3,….
PDE - bahasa mesin
15
z
Pengalamatan immediate
jika kita tidak memberikan lokasi data dalam
bagian alamat dari instruksi, maka dikatakan
menggunakan pengelamatan immediate, yakni
bagian alamat digunakan sebagai operand
z
Pengalamatan simbolis
pengalamatan simbolis tidak mungkin dalam
kode mesin, namun digunakan programmer
ketika menggunakan simbol alfa-numerik utk
menetapkan suatu alamat
PDE - bahasa mesin
16
FASILITAS LAIN DARI MESIN IMAJINER
z
Register Status
mempunyai isi sendiri yg di set oleh perangkat hardware
seperti ALU dan digunakan oleh unit kontrol
z
Pointer Stack
menyangga alamat dari suatu lokasi dalam memory dimana
data dapat ditempatkan secara sementara. Data ini
terorganisasi dan diakses dalam struktur data yg disebut
STACK.
dalam hal ini dikenal istilah PUSH (item dimasukkan ke stack)
dan POP (item dikeluarkan dari stack)
3 penggunaan pokok stack pada tingkat mesin :
1. digunakan dalam komputasi sederhana utk menyangga hasilhasil intermediate
2. menangani call subprogram
3. menangani interrupt
PDE - bahasa mesin
17
MEMUAT & MENYIMPAN PROGRAM
DALAM KODE MESIN
z
Loader akan mengambil program yg ditulis dalam kode mesin
dan dalam bentuk input yg sesuai. Loader biasanya secara
permanen ada dalam memory utama
z
Informasi mengenai prosesor dapat ditampilkan pada panel
khusus yg disebut CONSOLE
z
Loader bootstrap (bootstrap) adalah loader yg sangat
sederhana yg mungkin ditempatkan dalam memory secara
manual dengan menggunakan console atau ditempatkan
dalam memory dengan bagian hardware khusus
z
Alamat absolut adalah alamat yg ditentukan oleh hardware
z
Program absolut adalah program yg selalu dimuatkan ke
lokasi fixed yg sama dalam lokasi-lokasi yg berbeda dalam
penyimpanan utama yg menjadi pedoman diketahuinya
alamat absolut
z
Program relocable adalah program yg dimuatkan ke dalam
lokasi-lokasi yg berbeda dalam
penyimpanan utama tiap kali 18
PDE - bahasa mesin
dijalankan
Download