26
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. 1 Group 4 PTIK 09

Pert.2 instruksi mesin dan program

Embed Size (px)

Citation preview

Page 1: 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.

1Group 4 PTIK 09

Page 2: Pert.2 instruksi mesin dan program

Misalkan suatu n-bit vector

B=bn-1…b1b0

Dimana bi = 0 atau 1 untuk 0 ≤ I ≤ n-1. Vector ini dapatmenyatakan 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 positifdan negative. Ada tiga system digunakan untukmempresentasikan 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.

2Group 4 PTIK 09

Page 3: Pert.2 instruksi mesin dan program

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.

3Group 4 PTIK 09

Page 4: Pert.2 instruksi mesin dan program

Kita memperkenalkan tiga system untukmenyatakan bilangan positif dan negative, ataucukup disebut bilangan bertanda.sistem tersebutberbeda hanya dalam hal menyatakan nilainegative. Sistem sign-and-magnitude adalahrepresentasi yang paling sederhana, tetapi jugapaling buruk untuk operasi penambahan danpengurangan. Metode 1’s-complement agak lebihbaik. System 2’s-complement adalah metodeyang paling efisien untuk melakukan opesaripenambahan dan pengurangan.

4Group 4 PTIK 09

Page 5: Pert.2 instruksi mesin dan program

Pada saat hasil operasi aritmatika di luar rentang yangrepresentable tersebut, maka terjadi overlow aritmatika.Overlow dapat terjadi jika kedua summand memiliki tanda yangsama. Tentu saja penambahan bilangan dengan tanda yangberbeda tidak dapat menyebabkan overlow, jadi kesimpulannya:

- Overlow hanya dapat terjadi pada saat penambahan duabilangan yang memiliki tanda sama.

- Carry-ourt dari posisi sign-bit bukan merupakan indicatoryang cukup terhadap overlow pada saat penambahanbilangan bertanda.

Cara sederhana untuk mendeteksi overlow adalah denganmemperhatikan dua summand X dan Y dan tanda padajawabannya.

5Group 4 PTIK 09

Page 6: Pert.2 instruksi mesin dan program

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.

6Group 4 PTIK 09

Page 7: Pert.2 instruksi mesin dan program

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.

7Group 4 PTIK 09

Page 8: Pert.2 instruksi mesin dan program

Sekarang kita memiliki tiga kuantitas informasidasar yang perlu diperhatikan: bit, byte, dan word.Byte selalu 8 bit, tetapi word length biasanya beradapada rentang 16 hingga 64 bit. Penetapan yangpaling praktis adalah dengan alamat yang berurutanmengacu pada lokasi byte yang berurutan dalammemori. Ini merupakan penetapan yang digunakanpada sebagian besar computer modern. Lokasi bytememiliki alamat 0,1,2,… sehingga, jika word lengthsuatu mesin adalah 32 bit, maka word yangberurutan berada pada alamat 0,4,8,…., dengan tiapword terdiri dari empat byte.

8Group 4 PTIK 09

Page 9: Pert.2 instruksi mesin dan program

Nama big-endian dipakai jika alamat byterendah digunakan untuk more significant byte (bytepaling kiri) dari word tersebut. Nama little-endiandigunakan untuk pengaturan sebaliknya, yaitu alamtbyte rendah dipakai untuk less significant byte (bytepaling kanan) dari word tersebut. Kata “moresignificant” dan less significant” digunakan dalamkaitannya dengan weigth (pangkat 2) yang ditetapkanpada bit saat word tersebut menyatakan suatubilangan. Penetapan big-endian dan little-endiandigunakan dalam mesin komersial. Selain menetukanurutan alamat byte dalam word, juga perlumenentukan label bit atau word.

9Group 4 PTIK 09

Page 10: Pert.2 instruksi mesin dan program

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.

10Group 4 PTIK 09

Page 11: Pert.2 instruksi mesin dan program

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 byte-

nya.

Pada banyak aplikasi, diperlukan penanganan

string karakter variable length. Awal string

diindikasikan dengan menyatakan byte yang berisi

karakter pertama pada alamat tersebut.

11Group 4 PTIK 09

Page 12: Pert.2 instruksi mesin dan program

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

12Group 4 PTIK 09

Page 13: Pert.2 instruksi mesin dan program

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

13Group 4 PTIK 09

Page 14: Pert.2 instruksi mesin dan program

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.

14Group 4 PTIK 09

Page 15: Pert.2 instruksi mesin dan program

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.

15Group 4 PTIK 09

Page 16: Pert.2 instruksi mesin dan program

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.

16Group 4 PTIK 09

Page 17: Pert.2 instruksi mesin dan program

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.

17Group 4 PTIK 09

Page 18: Pert.2 instruksi mesin dan program

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.

18Group 4 PTIK 09

Page 19: Pert.2 instruksi mesin dan program

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.

19Group 4 PTIK 09

Page 20: Pert.2 instruksi mesin dan program

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.

20Group 4 PTIK 09

Page 21: Pert.2 instruksi mesin dan program

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.

21Group 4 PTIK 09

Page 22: Pert.2 instruksi mesin dan program

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.

22Group 4 PTIK 09

Page 23: Pert.2 instruksi mesin dan program

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.

23Group 4 PTIK 09

Page 24: Pert.2 instruksi mesin dan program

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.

24Group 4 PTIK 09

Page 25: Pert.2 instruksi mesin dan program

Mode Relative – effective addres ditentukanoleh mode index menggunakan program counteryang menggunakan program counter yangmenggantikan register general-purpose Ri.

Mode ini dapat digunakan untuk mengaksesoperand data.Tetapi,penggunaanya yang palingumum adalah untuk menetapkan alamat target dalaminstruksi branch.Intruksi semacam.

Branch>0 L00P

Menyebabkan eksekusi program menuju lokasitarget branch yang identifikasi dengan nama LOOPjika branch condition terpenuhi.

25Group 4 PTIK 09

Page 26: Pert.2 instruksi mesin dan program

Sejauh ini kita telah membahas lima modepengalamatan dasar – Immediate,Register,Absolute(Direct),Inderect,dan index-yang terdapat padasebagian besar computer.kita telah mendapatkansejumlah versi umum mode index,yang tidak semuadapat ditemukan pada tiap computer.sekalipun modeini mencukupi untuk komputasi umum,banyakcomputer menyediakan mode tambahan untukmembantu tugas pemprograman tertentu.Dua modeyang akan didekkripsikan berikutnya berguna untukmengakses item data pada lokasi yang berurutandalam memori.

26Group 4 PTIK 09