Upload
ical-militanmannojack
View
413
Download
2
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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