Signed-magnitude Representation

advertisement
ARCHITECTURE
COMPUTER
DATA
REPRESENTATION
Susijanto Tri R.
And YMD
1
Data Representation
Di dalam komputer, data dan informasi
kontrol (instruksi) disajikan dalam bentuk
binary yang terdiri dari dua simbol : “0”
dan “1”.
Dua simbol ini mewakili dua sinyal
elektronik : “on” dan “off”.
2
Machine Instructions
 CPU
hanya dapat mengeksekusi instruksi dalam
bahasa mesin (machine instruction).
 Setiap komputer memiliki satu set instruksi mesin
khusus, yang digunakan untuk mengenali dan
mengeksekusi.
 Setiap instruksi mesin direpresentasikan sebagai
sebuah urutan bit-bit. Setiap bit menginformasikan :
Apa yang harus dikerjakan (the operation code)
3
Pada siapa operasi dilakukan (source operands)
Dimana hasil disimpan (destination operand)
Bagaimana kelanjutan setelah operasi selesai.
4
Penyajian (representation) sebuah instruksi
mesin dibagi dalam beberapa field, setiap
field berisi satu item instruction
specification (opcode, operand, dsb). Fieldfield ini diorganisasikan sesuai dengan
format instruksinya.
5
Machine Instruction Type
Instruksi mesin mempunyai empat tipe :
 Data transfer, antara memory dan register
CPU
 Operasi arithmatic dan logic
 Program control (test and branch)
 I/O transfer
6
Aspek-aspek penting dari instruksi :
 Jumlah pengalamatan
 Jenis-jenis operand
 Mode pengalamatan
 Jenis operasi yang tersedia
 Register access
 Format instruksi
7
Eksekusi Instruksi
Dibutuhkan empat instruksi untuk
menyelesaikan Z:=(Y+X)*3:
8
9
10
11
12
13
TIPE DATA
Data-data yang digunakan pada komputer digital
adalah data dalam bentuk kode-kode biner.
Tipe-tipe data yang digunakan pada komputer
umumnya dapat diklasifikasikan sebagai berikut :
 Alphabet (character) berupa huruf, angka, tandatanda baca, untuk data processing.
 Numerik, digunakan untuk operasi-operasi
perhitungan.
 Simbol-simbol lain yang diperlukan untuk
keperluan khusus.
14
ALPHANUMERIK
REPRESENTATION
Alphanumeric character adalah suatu elemen
yang terdiri dari 10 simbol angka, 26
simbol abjad, tanda baca (contoh : ! ? / , .),
dan beberapa special character (contoh :
$, @, +, =).
Untuk merepresentasikan simbol-simbol di
atas digunakan kode ASCII (American
Standard Code for Information
Interchange).
15
Tabel Kode ASCII Alphanumeric
Char
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
Binary Code
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0100
0101
0101
0101
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
Char
Binary Code
S
T
U
V
W
X
Y
Z
0101
0101
0101
0101
0101
0101
0101
0101
0011
0100
0101
0110
0111
1000
1001
1010
a
b
c
d
e
f
g
h
I
0110
0110
0110
0110
0110
0110
0110
0110
0110
0001
0010
0011
0100
0101
0110
0111
1000
1001
Char
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Binary Code
0110
0110
0110
0110
0110
0110
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
0111
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
Char
Binary Code
0
1
2
3
4
5
6
7
8
9
0011 0000
0011 0001
0011 0010
0011 0011
0011 0100
0011 0101
0011 0110
0011 0111
0011 1000
0011 1001
16
NUMBER SYSTEM
 Radix
Juga disebut sebagai ‘base / basis’ sebuah sistem
bilangan. Radix menunjukkan jumlah simbol angka
yang digunakan pada sistem bilangan.
 Desimal
Sistem ini berbasis 10, terdiri dari angka
0,1,2,3,4,5,6,7,8, dan 9.
Contoh : angka 824.5 merepresentasikan nilai
8 x 102 + 4 x 101 + 2 x 100 + 5 x 10-1
17
Binary
Sistem binari berbasis 2, simbol angkanya terdiri
dari 0 dan 1. Sistem ini sangat cocok dengan
sistem komputer digital.
Contoh : angka 1011.1 merepresentasikan nilai
1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 =
11.5(10)
18
Octal
Sistem octal berbasis 8, simbol angkanya terdiri
dari 0,1,2,3,4,5,6, dan 7. Sistem ini sangat
penting dalan komputer digital.
Contoh : angka 5741.4 merepresentasikan nilai
5 x 83 + 7 x 82 + 4 x 81 + 1 x 80 + 4 x 8-1 =
3041.5(10)
19
Hexadecimal
Sistem bilangan hexadecimal mempunyai 16
lambang bilangan. Terdiri dari 0,1,2,3,4,5,6,7,8,
9,A,B,C,D,E, dan F. Seperti halnya octal,
hexadecimal juga banyak digunakan dalam
operasi-operasi pada komputer digital.
Contoh : angka 574.4 merepresentasikan nilai
7 x 162 + 4 x 161 + 1 x 160 + 4 x 16-1 =
1396.25(10)
20
Bilangan Octal dan Hexadecimal sering digunakan
dalam operasi-operasi komputer karena bilangan ini
mudah di konversikan ke bilangan biner
Contoh
1
2
7
5
4
3
1010111101100011
A
F
6
3
Octal
Binary
Hexadecimal
21
DECIMAL REPRESENTATION
Sistem biner adalah sistem bilangan yang
dikenal oleh komputer, sedangkan manusia
sudah terbiasa dengan sistem desimal.
Untuk menjembatani dua sistem bilangan
ini digunakan Binary Coded Decimal (BCD).
Untuk merepresentasikan satu digit
bilangan desimal dengan BCD digunakan
empat digit bilangan biner
22
Tabel Bilangan Binary Coded Decimal
Bilangan Desimal
Binary Coded Decimal
0
1
2
3
4
5
6
7
8
9
10
20
50
128
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0001
0010
0101
0001 0010
0000
0000
0000
1000
23
INTEGER REPRESENTATION
Seperti halnya pada representasi alphanumerik
dan bilangan desimal untuk merepresentasi-kan
bilangan bulat juga digunakan pada bilangan
biner. Jumlah digit bilangan biner yang digunakan
tergantung dari jenis bilangan bulat yang di
presentasikan. Umumnya terdiri dari 8 hingga 32
bit.
Untuk 8 digit biner dapat merepresentasikan
bilangan bulat positif 0 hingga 255
24
Sign Integer
Bilangan bulat bukan hanya bilangan positif
tetapi juga terdapat bilangan negatif. Ada
tiga cara untuk merepresentasikan
bilangan bulat negatif, yaitu :
 Signed-magnitude representation
 Signed-1’s complement representation
 Signed-2’s complement representation
25
Signed-magnitude Representation
Pada signed-magnitude untuk menyatakan
bilangan negatif digunakan sign-bit, yang
diletakkan pada bit paling depan (MSB). Dan
sisanya untuk menyatakan nilai dari bilangan itu
(Magnitude)
10000101
Sign-bit
Magnitude
(MSB)
26
Sign-bit :
0 = bilangan positif
1 = bilangan negatif
Contoh :
+18 = 00010010
-18 = 10010010
Maka 8 bit angka biner dapat menyatakan bilangan
desimal dengan range -127 hingga 127.
01111111 = 127
11111111 = -127
27
Namun ada kerugian dalam sistem ini :
 Untuk operasi penjumlahan dan pengurangan,
diperlukan sign dan magnitude dari kedua
bilangan.
 Ada dua representasi untuk bilangan 0, yaitu :
000000002 = 010
100000002 = 010
Hal ini mempersulit untuk test bilangan 0.
28
Signed-1’s Complement Representation
Untuk melakukan operasi 1’s complement
pada bilangan biner, maka bilangan 0 diganti
dengan 1, dan bilangan 1 diganti dengan 0.
Contoh :
X = 01010001
1’s complement dari X = 10101110
29
Penggunaan 1’s complement representation dari
binary integer adalah sebagai berikut :
 Untuk bilangan positif caranya sama dengan
pada sign and magnitude.
 Untuk bilangan negatif didapat dengan
menggunakan 1’s complement dari bilangan
biner positif tersebut.
Contoh : 18 = 00010010
-18 = 11101101
30
Signed-2’s Complement Representation
Untuk melakukan operasi 2’s complement pada
bilangan biner terdiri dari dua tahap
 Lakukan operasi 1’s complement (hasilnya
dianggap sebagai unsign binary integer.
 Tambahakan hasil operasi di atas dengan 1
Contoh : 18 = 00010010
1’s Compl. 18 = 11101101
1+
-18 (2’ Comp.) = 11101110
31
Representasi bilangan menggunakan 2’s com-plement
untuk bilangan biner adalah sbb :
 Untuk bilangan positif caranya seperti pada sign dan
magnitude dan 1’s complement.
 Untuk bilangan negatif didapat dengan menggunakan
2’s complement dari bilangan biner positif tersebut
Representasi dengan menggunakan 2’s complement
mempunyai anomali (kelebihan) yang tidak terdapat
pada sign-magnitude atau 1’s complement. Lihat tabel
berikut ini.
32
Tabel Perbandingan Representasi bilangan biner 4bit
Bilangan Biner
Sign & Magnitude
1’s C
2’s C
0111
7
7
7
0110
6
6
6
0101
5
5
5
0100
4
4
4
0011
3
3
3
0010
2
2
2
0001
1
1
1
0000
0
0
0
1000
-0
-7
-8
1001
-1
-6
-7
1010
-2
-5
-6
1011
-3
-4
-5
1100
-4
-3
-4
1101
-5
-2
-3
1110
-6
-1
-2
1111
-7
-0
-1
33
Masing-masing metode mampunyai kele-mahan
yang tidak dapat dihindari yaitu :
 Untuk sign-magnitude dan 1’s complement
jumlah bit integer positif dan negatif sama,
tetapi ada dua representasi untuk bilangan 0.
 2’s complement hanya ada satu representasi
bilangan 0, tetapi jumlah bilangan negatif lebih
banyak (1 nilai) daripada bilangan positif.
34
Download