Arsitektur Komputer Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer
ARITMATIKA KOMPUTER Materi : Englander, bab 2 dan 3 Stallings, bab 8 IEEE 754 pada website IEEE
Komputer sistem biner Tanya kenapa?
Desain komputer terdahulu : desimal ◦ Mark I and ENIAC
John von Neumann mengusulkan pemrosesan data biner (1945) ◦ Desain komputer yang lebih sederhana ◦ Digunakan u/ instruksi dan data
Hubungan alami antara switch on/off dan kalkulasi menggunakan logika Boolean
Chapter 2 Number Systems
On
Off
True
False
Yes
No
1
0 2-3
Biner : Representasi Integer Hanya memiliki 1 dan 0 untuk merepresentasikan semuanya Angka positif disimpan dalam biner
◦ e.g. 41=00101001
Tidak ada tanda negatif ◦ Sign-Magnitude
Two’s compliment
Sign-Magnitude Bit paling kiri bit penanda 0 = positif 1 = negatif +18 = 00010010 -18 = 10010010 Masalah
◦ Perlu mempertimbangkan kedua tanda dan besaran dalam aritmatika ◦ Dua representasi “nol” (+0 dan -0)
Komplemen Dua +3 = 00000011 +2 = 00000010 +1 = 00000001 +0 = 00000000 -1 = 11111111 -2 = 11111110 -3 = 11111101
Keuntungan Satu representasi “nol” (00000000) Perhitungan aritmatika lebih mudah Cukup mudah menegatifkan
◦ 3 = 00000011 ◦ Boolean complement : ◦ Add 1 to LSB :
11111100 11111101
Geometric Depiction of Twos Complement Integers
Negation Special Case 1 0= 00000000 Bitwise not 11111111 Add 1 to LSB +1 Result 1 00000000 Overflow is ignored, so: -0=0
Range of Numbers
8 bit 2s compliment ◦ +127 = 01111111 = 27 -1 ◦ -128 = 10000000 = -(27)
16 bit 2s compliment ◦ +32767 = 011111111 11111111 = 215 - 1 ◦ -32768 = 100000000 00000000 = -215
Aritmatika
Desimal atau basis 10
Base / Basis : angka pada beberapa digit yang berbeda termasuk nol
◦ Asal: perhitungan menggunakan jari ◦ “Digit” berasal dari bahasa Latin digitus yang artinya “jari” ◦ Contoh : Basis 10 10 digit, 0 sampai 9
Binary basis 2 Bit (binary digit): 2 digit, 0 dan 1 Octal atau basis 8: 8 digit, 0 sampai 7 Hexadecimal atau basis 16: 16 digits, 0 sampai F ◦ Examples: 1010 = A16; 1110 = B16
Chapter 2 Number Systems
211
“Keeping Track of the Bits”
“Bit” umumnya disimpan dan dimanipulasi pada suatu grup: ◦ 8 bits = 1 byte ◦ 4 bytes = 1 word
Jumlah bit yang digunakan : ◦ Mempengaruhi akurasi hasil ◦ Membatasi ukuran angka yang bisa dimanipulasi oleh komputer
Chapter 2 Number Systems
212
Angka : Representasi Fisik
Jumlah jeruk yang sama dengan angka yang berbeda ◦ Cave dweller: IIIII ◦ Roman: V ◦ Arabic: 5
Basis berbeda, namun jumlah sama ◦ 510 ◦ 1012 ◦ 123
Chapter 2 Number Systems
2-13
Number System
Roman: position independent Modern: based on positional notation (place value) ◦ Decimal system: system of positional notation based on powers of 10. ◦ Binary system: system of positional notation based powers of 2 ◦ Octal system: system of positional notation based on powers of 8 ◦ Hexadecimal system: system of positional notation based powers of 16
Chapter 2 Number Systems
214
Positional Notation: Base 10 43 = 4 x 101 + 3 x 100 10’s place
1’s place
Place
101
100
Value
10
1
4 x 10
3 x1
40
3
Evaluate
Sum
Chapter 2 Number Systems
215
Positional Notation: Base 10 527 = 5 x 102 + 2 x 101 + 7 x 100 100’s place
1’s place
10’s place
Place
102
101
100
Value
100
10
1
5 x 100
2 x 10
7 x1
500
20
7
Evaluate Sum
Chapter 2 Number Systems
216
Positional Notation: Octal 6248 = 40410 64’s place
8’s place
1’s place
Place
82
81
80
Value
64
8
1
Evaluate
6 x 64
2x8
4x1
Sum for Base 10
384
16
4
Chapter 2 Number Systems
217
Positional Notation: Hexadecimal 6,70416 = 26,37210 4,096’s place
256’s place
16’s place
Place
163
162
161
160
Value
4,096
256
16
1
6x
7 x 256
0 x 16
4x1
1,792
0
4
Evaluate
1’s place
4,096 Sum for Base 10
24,576
Chapter 2 Number Systems
218
Positional Notation: Binary 1101 01102 = 21410 Place
27
26
25
24
23
22
21
20
Value
128
64
32
16
8
4
2
1
0 x 32
1 x16
0x8
1x4
1x2
0x1
0
16
0
4
2
0
Evaluate Sum for Base 10
1 x 128 1 x 64 128
Chapter 2 Number Systems
64
2-19
Estimating Magnitude: Binary 1101 01102 = 21410 1101 01102 > 19210 (128 + 64 + additional bits to the right) Place
27
26
25
24
23
22
21
20
Value
128
64
32
16
8
4
2
1
0 x 32
1 x16
0x8
1x4
1x2
0x1
0
16
0
4
2
0
Evaluate Sum for Base 10
1 x 128 1 x 64 128
Chapter 2 Number Systems
64
2-20
Range of Possible Numbers
R = BK where ◦ R = range ◦ B = base ◦ K = number of digits
Example #1: Base 10, 2 digits ◦ R = 102 = 100 different numbers (0…99)
Example #2: Base 2, 16 digits ◦ R = 216 = 65,536 or 64K ◦ 16-bit PC can store 65,536 different number values
Chapter 2 Number Systems
2-21
Decimal Range for Bit Widths Bits
Digits
1
0+
4
1+
8
2+
10
3
1,024 (1K)
16
4+
65,536 (64K)
20
6
32
9+
64
19+
Approx. 1.6 x 1019
128
38+
Approx. 2.6 x 1038
Chapter 2 Number Systems
Range 2 (0 and 1) 16 (0 to 15)
256
1,048,576 (1M) 4,294,967,296 (4G)
2-22
Base or Radix
Base: ◦ The number of different symbols required to represent any given number
The larger the base, the more numerals are required ◦ ◦ ◦ ◦
Base 10: Base 2: Base 8: Base 16:
0,1, 2,3,4,5,6,7,8,9 0,1 0,1,2, 3,4,5,6,7 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Chapter 2 Number Systems
223
Number of Symbols vs. Number of Digits
For a given number, the larger the base ◦ the more symbols required ◦ but the fewer digits needed
Example #1: ◦ 6516
10110 1458
110 01012
Example #2: ◦ 11C16
28410 4348
1 0001 11002
Chapter 2 Number Systems
224
Counting in Base 2 Equivalent
Binary
1’s (20)
Number
0
0 x 20
0
1
1 x 20
1
Number
8’s (23)
4’s (22)
2’s (21)
Decimal
10
1 x 21
0 x 20
2
11
1 x 21
1 x 20
3
100
1 x 22
101
1 x 22
110
1 x 22
1 x 21
111
1 x 22
1 x 21
1000
1 x 23
1001
1 x 23
1010
1 x 23
Chapter 2 Number Systems
4
1 x 20
5 6
1 x 20
7 8
1 x 20
9
1 x 21
10 2-25
Addition Base
Problem
Largest Single Digit
Decimal
6 +3
9
Octal
6 +1
7
Hexadecimal
6 +9
F
Binary
1 +0
1
Chapter 2 Number Systems
2-26
Addition Base
Problem
Carry
Answer
Decimal
6 +4
Carry the 10
10
Octal
6 +2
Carry the 8
10
Hexadecimal
6 +A
Carry the 16
10
Binary
1 +1
Carry the 2
10
Chapter 2 Number Systems
2-27
Binary Arithmetic 1
1
1
1
1
+ 1
0
Chapter 2 Number Systems
0
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
1
2-28
Binary Arithmetic
Addition ◦ Boolean using XOR and AND
0 1
Multiplication ◦ AND ◦ Shift
+
Division
x 0 1
0
1
0 1
1 10
0
1
0 00
00 01
Chapter 2 Number Systems
229
Binary Arithmetic: Boolean Logic
Boolean logic without performing arithmetic ◦ EXCLUSIVE-OR
Output is “1” only if either input, but not both inputs, is a “1” ◦ AND (carry bit)
Output is “1” if and only both inputs are a “1” 1
+ 1
1
1
1
1
0
0
Chapter 2 Number Systems
1
0 1 0
1
1 0 0
1 1 0
0 1 1
1 0 1 2-30
Binary Multiplication
Boolean logic without performing arithmetic ◦ AND (carry bit)
Output is “1” if and only both inputs are a “1”
◦ Shift Shifting a number in any base left one digit multiplies its value by the base Shifting a number in any base right one digit divides its value by the base Examples:
1010 shift left = 10010
1010 shift right = 110
102 shift left = 1002
102 shift right = 12
Chapter 2 Number Systems
2-31
Binary Multiplication
1
1 1
0
1
1
0
1
1 1
0
1 1’s place
0
2’s place
1
1
0 1
0
0
0 0
Chapter 2 Number Systems
4’s place (bits shifted to line up with 4’s place of multiplier)
0
1 Result (AND)
2-32
Binary Multiplication 1 x
1
1
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1 1
0
1
1
0
1
1
1
0
1 1
0
1
0
0
0
0 0
0
1
2’s place (bits shifted to line up with 2’s place of multiplier) 4’s place 32’s place
0
1
1
1
0 Result (AND)
Note the 0 at the end, since the 1’s place is not brought down.
Note: multiple carries are possible.
Chapter 2 Number Systems
2-33
From Base 10 to Base 2 Base 10 42 Quotient
Remainder
2 ) 42 ( 0 Least significant bit 2 ) 21 ( 1 2 ) 10 ( 0
2) 2) 2) Base 2 Chapter 2 Number Systems
5 (1 2 (0 1 Most significant bit 101010 2-34
From Base 10 to Base 16 Base 10 5,735 Quotient 16 )
16 ) 16 ) 16 ) 16 ) Base 16 Chapter 2 Number Systems
Remainder
5,735 ( 7 Least significant bit 358 ( 6 22 ( 6 1 ( 1 Most significant bit 0 1667 2-35
From Base 10 to Base 16 Base 10 8,039 Quotient 16 )
16 ) 16 ) 16 ) 16 ) Base 16 Chapter 2 Number Systems
Remainder
8,039 ( 7 Least significant bit 502 ( 6 31 ( 15 1 ( 1 Most significant bit 0 1F67 2-36
From Base 8 to Base 10 72638 = 3,76310 Power
Sum for Base 10
Chapter 2 Number Systems
83
82
81
80
512
64
8
1
x7
x2
x6
x3
3,584
128
48
3
2-37
From Base 8 to Base 10 72638 = 3,76310 7 x8 56 + 2 =
Chapter 2 Number Systems
58 x8 464 + 6 =
470 x8 3760 + 3 = 3,763 2-38
From Base 16 to Base 2
The nibble approach ◦ Hex easier to read and write than binary
Base 16
1
Base 2 0001
F
6
7
1111
0110
0111
◦ Why hexadecimal? Modern computer operating systems and networks present variety of troubleshooting data in hex format
Chapter 2 Number Systems
2-39
Hardware for Addition and Subtraction
Unsigned Binary Multiplication
Expressible Numbers
IEEE 754 Standard for floating point storage 32 and 64 bit standards 8 and 11 bit exponent respectively Extended formats (both mantissa and exponent) for intermediate results
Floating Point Multiplication
Floating Point Division