organisasi sistem komputer
Post on 04-Jan-2016
74 Views
Preview:
DESCRIPTION
TRANSCRIPT
Organisasi Sistem Komputer
Materi III Binary Digit (Number System)
Komputer Digital
Hanya mengenal dua status (mis. ada / tidak ada tegangan) Sangat sederhana hanya dapat bernilai: 1 atau 0 biner
Operasi hanya dapat dilakukan pada bit; yang dapat bernilai 1 atau 0.
Contoh operasi mengubah (flip, switch) nilai bit, menjadikan bit tertentu 0; test bit jika 0 atau bukan.
100101
switch bit inimenjadi 0
100001
100001
Test bit ini jika 0, switch bit pertama 0
100000
Binary Digit (Bit) Dengan bit, bagaimana komputer dapat
merepresentasikan: Bilangan (numerik)? Alfabet ? Kata? Alamat? Gambar? Contoh: Bilangan
Manusia lebih mudah menggunakan representasi/ notasi desimal. Misalkan: 1, 25, 125, 3896754321 Disebut basis 10, dengan simbol:
Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Komputer hanya mengenal 2 simbol (0 dan 1)
Bagaimana komputer merepresentasikan bilangan yang dikenal manusia?
Representasi Bit
Bits dapat merepresentasikan apapun! Karakter Latin:
26 huruf => 5 bitsHuruf besar/kecil + tanda lain => 7 bits,
Logical values :0 -> False, 1 => True
Warna ? Berapa banyak warna => berapa bits? Alamat? (berapa karakter alfabet ..)
Maka N bits hanya dapat merepresentasikan 2N sesuatu
Bit Bilangan
Bilangan Basis B B simbol per digit: Basis 10 (Decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Basis 2 (Binary): 0, 1 Komputer menyimpan dan beroperasi dalam “binary”
Basis 2 Dapat melakukan konversi (representasi) bilangan dari basis
10 ke basis 2 (dan sebaliknya). Decimal: 0,1,2,3,4,5,6,7,8,9
90 = 9x101 + 0x100
Binary: 0,11011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x2 + 0x20
= 64 + 16 + 8 + 2 = 90
Apa yang dapat dilakukan dengan “bilangan”? semua operasi (instruksi) yang biasa dilakukan pada
bilangan!Tambahkan, Kurangkan, Kalikan, Bagikan, Bandingkan!
Contoh: 10 + 7 = 17
1 0 1 0
+ 0 1 1 1
-------------------------
1 0 0 0 1
11 10
7
17
Bagaimana instruksi +, diwakili oleh bits?
Bit Bilangan
Bit Instruksi
Instruksi (Operasi). Apakah dapat diwakili oleh bit? Contoh:
0 => tepuk tangan 1 => snap jari jempol dan telunjuk Eksekusi Instruksi: 1 0 1 1 0 0
Contoh instruksi operasi bilangan: Misalkan 3 bit (berapa banyak instruksi?):
000 => tambahkan 001 => kurangkan 010 => kalikan 011 => bagikan 100 => bandingkan dst.
Jadi bit (data) dapat diartikan sebagai instruksi!
Bit Pengalamatan Memori
01
i
2k-1
Alamat n bits
Byte 0Byte 1
Byte i
Byte 2k-1
k menentukan besarnya ruang alamat (address space) memori: k = 16 ruang alamat = 216
(64536) lokasi k = 32 ruang alamat = 232
(4 Giga) lokasi n menentukan besarnya suatu
word (jumlah bit) n = 8, 16, 32, 64
Umumnya ukuran peng-alamatan terkecil adalah dalam orde byte byte addressable
Kumpulan bit disimpan di memori Memori adalah tempat menyimpan
kumpulan bit (instruksi/data) Suatu “word” adalah sejumlah bit data
tetap, (mis. 16, atau 32 bit) pada satu lokasi di memori Byte-addressable memory
menyimpan data multi-byte pada lokasi memori yang berurutan
Alamat menunjuk ke lokasi “word” (byte-1) disimpan. Alamat dapat direpresen-tasikan oleh
bit Alamat juga sebagai “bilangan” (yang
dapat dimanipulasikan)
101101100110
00000
11111 = 2k - 1
01110
Alamat
data
Pengalamatan Data: Endianess
Pengalamatan data multi-byte adalah: Big Endian: alamat dari most significant byte
IBM 360/370, Motorola 68k, MIPS, Sparc, HP PA
Little Endian: alamat dari least significant byte Intel 80x86, DEC Vax, DEC Alpha
0 msb lsb
1 04 5 0
lsb msb
0 1
0
4 0 5
Pengalamatan Data: Endianess
01234567
i
2k-1
1Alamat
500
Big Endian
0123
i
2k-1
0Alamat
051
Little Endian1500
2600
Apa saja yang dapat disimpan? Apa yang dapat disimpan?
Bilangan Karakter Alamat data Representasi “sesuatu” di
dunia luar ..
101101100110
00000
11111 = 2k - 1
01110
Big Idea: Komputer dapat menyimpan apapun.
anything
The Stored Program Computer
Memori menyimpan instruksi dan data sebagai bit. Instruksi diambil oleh prosesor dari memori,
diartikan, dan, dieksekusi (operands/data diambil, diolah, dan disimpan ke memori).
Contoh Instruksi 4-digit (á 4 bit) 16 bit (2 byte) ≈ 2 lokasi memoridigit-1: Operasi: 0 => add, 1 => sub, ...digit-2: Alamat hasildigit-3: Alamat op1digit-4: Alamat op2
0 0 8 4 62 1 6 8 64 0 0 6 16 0 0 1 78 0 0 0 010 0 0 0 012 0 0 0 014 0 0 0 016 0 0 0 018 0 0 0 0
data
instruksi 0: 0846 0=add (jenis instruksi), 8=addr. result, 4=addr op1, 6=addr op2
0 0 8 4 62 1 6 8 64 0 0 6 16 0 0 1 78 0 0 0 010 0 0 0 012 0 0 0 014 0 0 0 016 0 0 0 018 0 0 0 0
0 0 8 4 62 1 6 8 64 0 0 6 16 0 0 1 78 0 0 7 810 0 0 0 012 0 0 0 014 0 0 0 016 0 0 0 018 0 0 0 0
Stored-program Computer
Processor (active)
Control(“brain”)
Datapath(“brawn”)
0846
006100170078
0 0 8 4 62 1 6 8 64 0 0 6 16 0 0 1 78 0 0 7 810 0 0 0 012 0 0 0 014 0 0 0 016 0 0 0 018 0 0 0 0
1686IP
IP
IP
komputer dapat diprogram untuk memenuhi kebutuhan pengguna dengan jalan mengisi memori dengan instruksi & data yang sesuai
operasi yang dilakukan oleh komputer ditentukan oleh instruksi & data yang tersimpan di memori
Representasi Data : Bilangan Biner
Harga/Nilai suatu bilangan biner:1011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x21 + 0x20
= 64 + 16 + 8 + 2 = 90Penulisan: 1011010b
Konversi: Desimal Biner90 / 2 = 45sisa 045 / 2 = 22sisa 122 / 2 = 11sisa 011 / 2 = 5 sisa 1 5 / 2 = 2 sisa 1 2 / 2 = 1 sisa 0 1 / 2 = 0 sisa 1
Bilangan Heksa-Desimal
Simbol: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Harga/Nilai suatu bilangan heksa-desimal:
5A = 5x161 + 10x160
= 80 + 10 = 90Penulisan: 5Ah atau 0x5A
Konversi: Desimal Heksa-desimal90 / 16 = 5 sisa 10 (A) 5 / 16 = 0 sisa 5
Konversi: Heksa-desimal Biner5A = 101 1010
Konversi: Biner Heksa-desimal1011010 = 101 1010
= 5 A = 5A
Tabel BilanganDesimal Biner Heksa Desimal Biner Heksa
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F
2k Nilai Sebutan
210 1.024 1K
211 2.048 2K
212 4.096 4K
216 65.536 64K
220 1.048.576 1M
Pengelompokkan Bit Bit String:
INTEL MIPS 4 bit nibble nibble 8 bit byte byte 16 bit word half-word 32 bit double-word word 64 bit quad-word double-word
Alamat lokasi memori umumnya dinyatakan dengan bilangan heksa desimal contoh:
lokasi memori 90 pada memori dengan ruang memori sebesar 64K (65536 = 216) dinyatakan dengan alamat: 0x005A
jika ruang memori sebesar 232 (4G) : 0x0000005A
Penyimpanan data multi-byte (Little Endian)
int j = 987700;
987700 = 0x000F1234 =
0000 0000 0000 1111 0001 0010 0011 0100
0000000000000001000000020000000300000004000000050000000600000007
FFFFFFFF
0101 1010
Alamat Memori (32 bit)
0000 00000000 00000000 00000011 01000001 00100000 11110000 0000
int i = 90;
90 = 0x5A =
0000 0000 0000 0000 0000 0000 0101 1010
i
j
Kapasitas Memori (8 bit)
One-Bit Full Adder
Example Binary Addition:
Carries
Thus for any bit of addition: The inputs are ai, bi, CarryIni
The outputs are Sumi, CarryOuti
Note: CarryIni+1 = CarryOuti
a: 0 0 1 1b: 0 1 0 1Sum: 1 0 0 0
One-Bit Full Adder
To create one-bit full adder: implement gates for Sum implement gates for CarryOut connect all inputs with same name
SumA
B
CarryIn
CarryOut
+
Ripple-Carry Adders: adding n-bits numbers
Kinerja operasi penjumlahan (dan juga operasi-operasi aritmatika lainnya) akan bergantung pada “besar” unit data dan konfigurasi Adder (Arithmetic & Logical Unit) yang digunakan
A0
B0
1-bitFA
Sum0
CarryIn0
CarryOut0
A1
B1
1-bitFA
Sum1
CarryIn1
CarryOut1
A2
B2
1-bitFA
Sum2
CarryIn2
CarryOut2
A3
B3
1-bitFA
Sum3
CarryIn3
CarryOut3
How to Represent Negative Numbers?
So far, unsigned numbers Obvious solution: define leftmost bit to be sign!
0 => +, 1 => - Rest of bits can be numerical value of number
Representation called sign and magnitude
0000 0011 = + 3
1000 0011 = - 3
Another try: complement the bits Example: 710 = 001112 -710 = 110002
Called one’s Complement Note: positive numbers have leading 0s, negative numbers have
leadings 1s.
00000 00001 01111...
111111111010000 ...
What is -00000 ? How many positive numbers in N bits? How many negative ones?
Two’s Complement Number line
2N-1 non-negatives 2N-1 negatives one zero how many
positives? comparison? overflow?
00000 00001
00010
11111
11110
10000 0111110001
0 12
-1-2
-15 -16 15
.
.
.
.
.
.
Addition & Subtraction Operations Addition:
Just add the two numbers Ignore the Carry-out from MSB Result will be correct, provided there’s
no overflow
0 1 0 1 (+5)+0 0 1 0 (+2) 0 1 1 1 (+7)
0 1 0 1 (+5)+1 0 1 0 (-6) 1 1 1 1 (-1)
1 0 1 1 (-5)+1 1 1 0 (-2)11 0 0 1 (-7)
0 1 1 1 (+7)+1 1 0 1 (-3)10 1 0 0 (+4)
0 0 1 0 (+2) 0 0 1 00 1 0 0 (+4) +1 1 0 0 (-4)
1 1 1 0 (-2)
1 1 1 0 (-2) 1 1 1 01 0 1 1 (-5) +0 1 0 1 (+5)
10 0 1 1 (+3)
Subtraction: Form 2’s complement of the
subtrahend Add the two numbers as in
Addition
Overflow
Examples: 7 + 3 = 10 but ... - 4 – 5 = - 9 but ...
2’s ComplementBinaryDecimal
0 0000
1 0001
2 0010
3 0011
0000
1111
1110
1101
Decimal
0
-1
-2
-3
4 0100
5 0101
6 0110
7 0111
1100
1011
1010
1001
-4
-5
-6
-7
1000-8
0 1 1 1
0 0 1 1+
1 0 1 0
1
1 1 0 0
1 0 1 1+
0 1 1 1
110
7
3
1
– 6
– 4
– 5
7
top related