Pert.2 Instruksi Mesin dan Program

Download Report

Transcript Pert.2 Instruksi Mesin dan Program

2.1 BILANGAN, OPERASI ARITMATIKA, DAN KARAKTER
Komputer dibangun dengan menggunakan sirkuit
logika
yang
beroprasi
pada
informasi
yang
dipresentasikan dengan dua nilai sinyal listrik yaitu 0 dan
1; dan kita mendefinisikan jumlah informasi yang
direpresentasikan oleh sinyal sebagai bit informasi, bit
adalah singkatan dari binary digit. Cara menyatakan
bilangan yang paling alami untuk menyatakan bilangan
dalam system computer adalah dengan string bit atau
bilangan biner.
Group 4 PTIK 09
1
Misalkan suatu n-bit vector
B=bn-1…b1b0
Dimana bi = 0 atau 1 untuk 0 ≤ I ≤ n-1. Vector ini dapat
menyatakan nilai integer tidak bertanda V pada rentang 0
hingga 2n-1, dimana
V(B)=bn-1X2n-1+…+b1+X21+b0X20
Kita sangat membutuhkan representasi bilangan positif
dan negative. Ada tiga system digunakan untuk
mempresentasikan bilangan tersebut:
Sign-and-magnitude
1’s-complement
2’s-complement
Pada ketiga system tersebut , bit paling kiri adalah 0
untuk bilangan positif dan 1 untuk bilangan negative.
Group 4 PTIK 09
2
Misalkan penambahan dua bilangan 1-bit.
Hasilnya ditunjukkan pada Gambar 2.2
perhatikan bahwa jumlah 1 dan 1 memerlukan
2-bit vector 10 untuk menyatakan nilai 2. Kita
nyatakan bahwa sum adalah 0 dan carry-out
adalah 1.
Group 4 PTIK 09
3
Kita memperkenalkan tiga system untuk
menyatakan bilangan positif dan negative, atau
cukup disebut bilangan bertanda.sistem tersebut
berbeda hanya dalam hal menyatakan nilai
negative. Sistem sign-and-magnitude adalah
representasi yang paling sederhana, tetapi juga
paling buruk untuk operasi penambahan dan
pengurangan. Metode 1’s-complement agak lebih
baik. System 2’s-complement adalah metode
yang paling efisien untuk melakukan opesari
penambahan dan pengurangan.
Group 4 PTIK 09
4
Pada saat hasil operasi aritmatika di luar rentang yang
representable tersebut, maka terjadi overlow aritmatika.
Overlow dapat terjadi jika kedua summand memiliki tanda yang
sama. Tentu saja penambahan bilangan dengan tanda yang
berbeda tidak dapat menyebabkan overlow, jadi kesimpulannya
:
- Overlow hanya dapat terjadi pada saat penambahan dua
bilangan yang memiliki tanda sama.
- Carry-ourt dari posisi sign-bit bukan merupakan indicator
yang cukup terhadap overlow pada saat penambahan
bilangan bertanda.

Cara sederhana untuk mendeteksi overlow adalah dengan
memperhatikan dua summand X dan Y dan tanda pada
jawabannya.
Group 4 PTIK 09
5
Karakter dapat berupa alphabet, digit
decimal, tanda baca, dan lain sebagainya.
Karakter tersebut direpresentasikan dengan kode
yang biasanya memiliki panjang delapan bit.
Salah satu kode semacam itu yang paling banyak
digunakann adalah kode American Standards
Committee on Information Interchange (ASCII)
yang dideskripsikan pada Apendiks E.
Group 4 PTIK 09
6
Operan bilangan dan karakter, seperti halnya
instruksi, disimpan dalam memori computer.
Memori terdiri dari jutaan sel penyimpanan,
dimana tiap sel tersebut menyimpan suatu bit
informasi yang berupa nilai 0 dan 1.
Mengakses memori untuk menyimpan atau
mengambil suatu item informasi, baik berupa
word atau byte, memerlukan nama yang berbeda
atau alamat untuk tiap lokasi item.
Group 4 PTIK 09
7
Sekarang kita memiliki tiga kuantitas informasi
dasar yang perlu diperhatikan: bit, byte, dan word.
Byte selalu 8 bit, tetapi word length biasanya berada
pada rentang 16 hingga 64 bit. Penetapan yang
paling praktis adalah dengan alamat yang berurutan
mengacu pada lokasi byte yang berurutan dalam
memori. Ini merupakan penetapan yang digunakan
pada sebagian besar computer modern. Lokasi byte
memiliki alamat 0,1,2,… sehingga, jika word length
suatu mesin adalah 32 bit, maka word yang
berurutan berada pada alamat 0,4,8,…., dengan tiap
word terdiri dari empat byte.


Group 4 PTIK 09
8
Nama big-endian dipakai jika alamat byte
rendah digunakan untuk more significant byte (byte
paling kiri) dari word tersebut. Nama little-endian
digunakan untuk pengaturan sebaliknya, yaitu alamt
byte rendah dipakai untuk less significant byte (byte
paling kanan) dari word tersebut. Kata “more
significant” dan less significant” digunakan dalam
kaitannya dengan weigth (pangkat 2) yang ditetapkan
pada bit saat word tersebut menyatakan suatu
bilangan. Penetapan big-endian dan little-endian
digunakan dalam mesin komersial. Selain menetukan
urutan alamat byte dalam word, juga perlu
menentukan label bit atau word.
Group 4 PTIK 09
9
Dalam 32-bit word length, batasan word
alami terjadi pada alamat 0,4,8,…, sebagaimana
ditunjukkan pada gamabar 2.7. kita katakan bahwa
alokasi word tersebut memiliki alamat aligned
address. Secara umum, word disebut aligned
dalam memori jika word tersebut mulai pada
alamat byte yang merupakan kelipatan jumlah byte
didalam word.
Group 4 PTIK 09
10
Sebuah bilangan biasanya memiliki satu word.
Bilangan tersebut dapat diakses dalam memori
dengan menetapkan alamat word-nya. Seperti halnya
karakter individuu dapat diakses melalui alamat bytenya.

Pada banyak aplikasi, diperlukan penanganan
string karakter variable length. Awal string
diindikasikan dengan menyatakan byte yang berisi
karakter pertama pada alamat tersebut.

Group 4 PTIK 09
11
Intruksi program dan operand data disimpan
dalammemori. Untuk mengeksekusi suatu intruksi,
sirkuit control prosesor harus mengisikan intruksi
tersebut dalam word untuk ditransfer dari memori
ke prosessor. Operand dan hasil juga dipindahkan
antara memori dan prosesor. Sehingga diperlukan
dua operasi dasar yang melibatkan memori
tersebut,yang disebut Load (atau Read atau
Fetch) dan Store (atau Write).
Group 4 PTIK 09
12
Computer harus memiliki intruksi yang
mampu melakukan empat operasi :
1.Transfer data antara memori dan register
prosessor.
2.Operasi aritmatika dan logika pada data.
3. Sequencing program dan control
4. Transfer I/O

Group 4 PTIK 09
13
Kita perlu mendeskripsikan informasi dari satu
lokasi dalamkomputer ke lokasi yang lain. Lokasi yang
mungkin terlibat adalah lokasi memori, register
prosessor atau register dalamsubsistem I/O. Seringkali
kita menyatakan suatu lokasi dengan nama simbolik
yang merupakan singkatan dari alamat biner
hardware-nya.
Group 4 PTIK 09
14
Kita memerlukan tipe notasi lain untuk
menyatakan intruksi mesin dan program. Untuk hal
ini, kita menggunakan format bahasa assembly. Misal,
suatu intruksi yang menghasilkan transfer yang
dideskripsikan di atas, dari lokasi memoriLOC ke
register processor R1, ditetapkan dengan pernyataan
 Move LOC, R1

Isi LOC tidak berubah karena eksekusi
intruksi ini, tetapi isi lama register di-overwrite.

Group 4 PTIK 09
15
Operasi penambahan dua bilangan adalah
kemampuan mendasar pada tiap computer.
Pernyataan:
C=A+B
Dalam program bahasa tingkat-tinggi adalah
perintah ke computer untuk menambahkan nilai
sekarang dari dua variable yang disebut A dan B,
dan untuk menetapkan jumlahnya ke variable
ketiga, C.
Group 4 PTIK 09
16
Kita mengasumsikan bahwa word length adalah
32bit dan memori tersebut byte address- able. Tiga
instruksi program berada pada lokasi word yang
berurutan, mulai dari lokasi i. Karena tiap intruksi
memiliki panjang 4 byte,maka instruksi kedua dan ketiga
mulai pada alamat i+4 dan i+8. Untuk penyederhanaan,
kita juga mengasumsikan alamat memori penuh dapat
langsung ditentukan dalam instruksi word tunggal,
sekalipun biasanya tidak mungkin bagi ukuran ruang
alamat dan word length pada prosesoi saat ini.
Group 4 PTIK 09
17
Alamat lokasi memori yang berisi n bilangan
secara simbolik dinyatakan sebagai NUM1, NUM2,
NUMn, dan instruksi Add terpisah digunakan untuk
menambahkan tiap bilangan ke isi register R0. Setelah
semua bilangan telah ditambahkan, hasilnya
diletakkan pada lokasi memori SUM.
Group 4 PTIK 09
18
Prosesor mencatat informasi hasil berbagai
operasi untuk digunakan oleh instruksi conditional
branch berikutnya. Hal ini dicapai dengan mencatat
informasi yang diperlukan dalam bit individu, yang
sering di sebut condition code flag. Flag tesebut
dikelompokkan bersama dalam register prosessor
khusus yang disebut condition code register atau
status register.
Group 4 PTIK 09
19
Tujuan blok instruksi pada LOOP adalah untuk
menambahkan bilangan yang berbeda dari list pada
tiap lewatan melalui loop. Karenanya, instruksi Add
dalam blok tersebut harus mengacu ke alamat yang
berbeda pada tiap lewatan. Bagaimana alamat
tersebut ditetapkan? Alamat operand memori tidak
dapat diberikan secara langsung ke instruksi Add
tunggal pada loop tersebut. Sebaliknya, alamat
tersebut perlu dimodifikasi pada tiap lewatan
memalalui loop.
Group 4 PTIK 09
20
Pada saat mentranslasi program bahasa tingkat
tinggi menjadi bahasa assembly, compiler, harus
mampu
mengimplementasi
konstruksi
ini
menggunakan fasilitas yang disediakan dalam set
instruksi komputer di mana program akan dijalankan.
Cara yang berbeda dalam menentukan lokasi suatu
operand ditetapkan dalam suatu instruksi yang disebut
sebagai mode pengalamatan.
Group 4 PTIK 09
21
Variabel dan konstanta adalah tipe data yang
paling sederhana dan terdapat dalam hamper setiap
program computer.Dalam bahasa assembly,suatu
variable dinyatakan dengan mengalokasikan suatu
register atau lokasi memori untuk menyimpan
nilainya.sehingga nilai tersebut dapat diubah
seperlunya menggunakan intruksi yang sesuai.
Group 4 PTIK 09
22
Inderection dan penggunaan pointer adalah
konsep yang penting dan sangat berguna dalam
pemprograman.Misalkan suatu analog pemburuan
harta:Dalam intruksi untuk pemburuan anda mungkin
diperintahkan untuk pergi kesuatu alamat. Bukannya
menemukan harta disana,anda menemukan catatan
yang memberi andaalamat lain dimana anda akan
menemukan harta tersebut.dengan mengubah catatan
tersebut,lokasi harta dapat diubah,tetapi intruksi
perburuan tetap sama.
Group 4 PTIK 09
23
Mode pengalamatan selanjutnya yang akan kita
bahas menyediakan berbagai fleksibilitas yang
berbeda untuk mengakses operand.Mode ini sangat
berguna dalam menangani list dan array.

Mode indeks – effective address operand
dihasilkan dengan menambahkan nilai konstanta keisi
register.

Group 4 PTIK 09
24
Mode Relative – effective addres ditentukan
oleh mode index menggunakan program counter
yang
menggunakan
program
counter
yang
menggantikan register general-purpose Ri.
Mode ini dapat digunakan untuk mengakses
operand data.Tetapi,penggunaanya yang paling
umum adalah untuk menetapkan alamat target dalam
instruksi branch.Intruksi semacam.
Branch>0 L00P
Menyebabkan eksekusi program menuju lokasi
target branch yang identifikasi dengan nama LOOP
jika branch condition terpenuhi.
Group 4 PTIK 09
25
Sejauh ini kita telah membahas lima mode
pengalamatan dasar – Immediate,Register,Absolute
(Direct),Inderect,dan index-yang terdapat pada
sebagian besar computer.kita telah mendapatkan
sejumlah versi umum mode index,yang tidak semua
dapat ditemukan pada tiap computer.sekalipun mode
ini mencukupi untuk komputasi umum,banyak
computer menyediakan mode tambahan untuk
membantu tugas pemprograman tertentu.Dua mode
yang akan didekkripsikan berikutnya berguna untuk
mengakses item data pada lokasi yang berurutan
dalam memori.
Group 4 PTIK 09
26