Pertemuan 2 (INSTRUKSI MESIN DAN PROGRAM)

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

description

Pertemuan 2 (INSTRUKSI MESIN DAN PROGRAM). 2.1 BILANGAN, OPERASI ARITMATIKA, DAN KARAKTER - PowerPoint PPT Presentation

Transcript of Pertemuan 2 (INSTRUKSI MESIN DAN PROGRAM)

Page 1: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 1

Pertemuan 2(INSTRUKSI MESIN DAN PROGRAM)

2.1 BILANGAN, OPERASI ARITMATIKA, DAN KARAKTERKomputer 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.

Page 2: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 2

2.1.1 REPRESENTASE BILANGAN

Misalkan suatu n-bit vectorB=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, dimanaV(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-magnitude1’s-complement2’s-complement Pada ketiga system tersebut , bit paling kiri adalah 0 untuk

bilangan positif dan 1 untuk bilangan negative.

Page 3: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 3

2.1.2 PENAMBAHAN BILANGAN POSITIF

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.

Page 4: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 4

2.1.3 PENAMBAHAN DAN PENGURANGAN BILANGAN BERTANDA

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.

Page 5: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 5

2.1.4 OVERFLOW DALAM ARITMATIKA INTEGER

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.

Page 6: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 6

2.1.5 KARAKTER

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.

Page 7: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 7

2.2 LOKASI MEMORI DAN ALAMAT

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.

Page 8: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 8

2.2.1 BYTE ADDRESSIBILITY

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.

 

Page 9: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 9

2.2.2 PENETAPAN BIG-ENDIAN LITTLE-ENDIAN

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.

Page 10: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 10

2.2.3 WORD ALLIGNMENT

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.

Page 11: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 11

2.2.4 MENGAKSES BILANGAN, KARAKTER, DAN STRING KARAKTER

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.

Page 12: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 12

2.3  OPERASI MEMORI

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

Page 13: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 13

2.4 INTRUKSI DAN SEQUENCING INTRUKSI

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 control4. Transfer I/O

Page 14: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 14

2.4.1 NOTASI TRANSFER REGISTER

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.

Page 15: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 15

2.4.2 NOTASI BAHASA ASSEMBLY

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.

Page 16: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 16

2.4.3 TIPE INTRUKSI DASAR

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.

Page 17: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 17

2.4.4 EKSEKUSI INSTRUKSI DAN STRAIGHT-LINE SEQUENCING

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.

Page 18: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 18

2.4.5 BRANCHING

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.

Page 19: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 19

2.4.6 CONDITION CODE

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.

Page 20: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 20

2.4.7 PEMBUATAN ALAMAT MEMORI

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.

Page 21: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 21

2.5 MODE PENGALAMATAN

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.

Page 22: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 22

2.5.1 IMPLEMENTASI VARIABEL DAN KONSTANTA

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.

Page 23: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 23

2.5.2 INDIRECTION DAN POINTER

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.

Page 24: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 24

2.5.3 INDEXING DAN ARRAY

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.

Page 25: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 25

2.5.4 PENGALAMAN RELATIVE

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 L00PMenyebabkan eksekusi program menuju lokasi target branch yang identifikasi dengan nama LOOP jika branch condition terpenuhi.

Page 26: Pertemuan  2 (INSTRUKSI MESIN DAN PROGRAM)

Group 4 PTIK 09 26

2.5.5 MODE TAMBAHAN

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.