organisasi sistem komputer

of 27/27
Organisasi Sistem Komputer Materi III Binary Digit (Number System)

Post on 04-Jan-2016

60 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Organisasi Sistem Komputer. Materi III Binary Digit (Number System). switch bit ini menjadi 0. Test bit ini jika 0, switch bit pertama 0. 100 1 01. 100 0 01. 100 0 01. 10000 0. Komputer Digital. Hanya mengenal dua status (mis. ada / tidak ada tegangan) - PowerPoint PPT Presentation

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

  • Binary Digit (Bit)Dengan bit, bagaimana komputer dapat merepresentasikan:Bilangan (numerik)? Alfabet ? Kata? Alamat? Gambar?Contoh: BilanganManusia lebih mudah menggunakan representasi/ notasi desimal.Misalkan: 1, 25, 125, 3896754321Disebut basis 10, dengan simbol: Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9Komputer 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 => TrueWarna ? Berapa banyak warna => berapa bits?Alamat? (berapa karakter alfabet ..)

    Maka N bits hanya dapat merepresentasikan 2N sesuatu

  • Bit BilanganBilangan Basis B B simbol per digit:Basis 10 (Decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Basis 2 (Binary):0, 1Komputer menyimpan dan beroperasi dalam binary Basis 2Dapat melakukan konversi (representasi) bilangan dari basis 10 ke basis 2 (dan sebaliknya). Decimal: 0,1,2,3,4,5,6,7,8,990 = 9x101 + 0x100 Binary:0,11011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x2 + 0x20 = 64 + 16 + 8 + 2 = 90

  • Bit BilanganApa yang dapat dilakukan dengan bilangan?semua operasi (instruksi) yang biasa dilakukan pada bilangan!Tambahkan, Kurangkan, Kalikan, Bagikan, Bandingkan!

    Contoh: 10 + 7 = 17

    10 7 17Bagaimana instruksi +, diwakili oleh bits?

  • Bit InstruksiInstruksi (Operasi). Apakah dapat diwakili oleh bit?Contoh:0 => tepuk tangan1 => snap jari jempol dan telunjukEksekusi Instruksi: 1 0 1 1 0 0 Contoh instruksi operasi bilangan:Misalkan 3 bit (berapa banyak instruksi?):000 => tambahkan 001 => kurangkan010 => kalikan011 => bagikan100 => bandingkan dst.Jadi bit (data) dapat diartikan sebagai instruksi!

  • Bit Pengalamatan Memorik menentukan besarnya ruang alamat (address space) memori:k = 16 ruang alamat = 216 (64536) lokasik = 32 ruang alamat = 232 (4 Giga) lokasin menentukan besarnya suatu word (jumlah bit)n = 8, 16, 32, 64Umumnya ukuran peng-alamatan terkecil adalah dalam orde byte byte addressable

  • Kumpulan bit disimpan di memoriMemori adalah tempat menyimpan kumpulan bit (instruksi/data)Suatu word adalah sejumlah bit data tetap, (mis. 16, atau 32 bit) pada satu lokasi di memoriByte-addressable memory menyimpan data multi-byte pada lokasi memori yang berurutanAlamat menunjuk ke lokasi word (byte-1) disimpan.Alamat dapat direpresen-tasikan oleh bit Alamat juga sebagai bilangan (yang dapat dimanipulasikan)1011011001100000011111 = 2k - 1 01110Alamatdata

  • Pengalamatan Data: Endianess

    Pengalamatan data multi-byte adalah:Big Endian: alamat dari most significant byteIBM 360/370, Motorola 68k, MIPS, Sparc, HP PA

    Little Endian: alamat dari least significant byteIntel 80x86, DEC Vax, DEC Alpha

  • Pengalamatan Data: Endianess01234567

    i

    2k-11Alamat500Big EndianLittle Endian15002600

  • Apa saja yang dapat disimpan?Apa yang dapat disimpan?BilanganKarakterAlamat dataRepresentasi sesuatu di dunia luar ..

    1011011001100000011111 = 2k - 1 01110Big Idea: Komputer dapat menyimpan apapun.anything

  • The Stored Program ComputerMemori 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 op2008462168640 0 6 160 0 1 780 0 0 0100 0 0 0120 0 0 0140 0 0 0160 0 0 0180 0 0 0datainstruksi 0: 0846 0=add (jenis instruksi), 8=addr. result, 4=addr op1, 6=addr op2

  • Stored-program Computer08460061001700781686IPIPIPkomputer dapat diprogram untuk memenuhi kebutuhan pengguna dengan jalan mengisi memori dengan instruksi & data yang sesuaioperasi 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: 1011010bKonversi: Desimal Biner90 / 2 = 45sisa 045 / 2 = 22sisa 122 / 2 = 11sisa 011 / 2 = 5sisa 1 5 / 2 = 2sisa 1 2 / 2 = 1sisa 0 1 / 2 = 0sisa 1

  • Bilangan Heksa-DesimalSimbol: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FHarga/Nilai suatu bilangan heksa-desimal:5A = 5x161 + 10x160 = 80 + 10 = 90Penulisan: 5Ah atau 0x5AKonversi: Desimal Heksa-desimal90 / 16 = 5sisa 10 (A) 5 / 16 = 0sisa 5Konversi: Heksa-desimal Biner5A = 101 1010Konversi: Biner Heksa-desimal1011010 = 101 1010 = 5 A = 5A

  • Tabel Bilangan

    2kNilaiSebutan2101.0241K2112.0482K2124.0964K21665.53664K2201.048.5761M

  • Pengelompokkan BitBit String: INTELMIPS4 bitnibblenibble8 bitbytebyte16 bitwordhalf-word32 bitdouble-wordword64 bitquad-worddouble-wordAlamat lokasi memoriumumnya dinyatakan dengan bilangan heksa desimalcontoh:lokasi memori 90 pada memori dengan ruang memori sebesar 64K (65536 = 216) dinyatakan dengan alamat: 0x005Ajika 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

    FFFFFFFF0101 1010Alamat Memori (32 bit)0000 00000000 00000000 00000011 01000001 00100000 11110000 0000int i = 90;90 = 0x5A =0000 0000 0000 0000 0000 0000 0101 1010ijKapasitas Memori (8 bit)

  • One-Bit Full Adder Example Binary Addition:CarriesThus for any bit of addition:The inputs are ai, bi, CarryIniThe outputs are Sumi, CarryOutiNote: CarryIni+1 = CarryOuti

  • One-Bit Full Adder To create one-bit full adder:implement gates for Sum implement gates for CarryOut connect all inputs with same name

  • Ripple-Carry Adders: adding n-bits numbersKinerja operasi penjumlahan (dan juga operasi-operasi aritmatika lainnya) akan bergantung pada besar unit data dan konfigurasi Adder (Arithmetic & Logical Unit) yang digunakanA0B01-bitFASum0CarryIn0CarryOut0A1B11-bitFASum1CarryIn1CarryOut1A2B21-bitFASum2CarryIn2CarryOut2A3B31-bitFASum3CarryIn3CarryOut3

  • How to Represent Negative Numbers?So far, unsigned numbersObvious solution: define leftmost bit to be sign! 0 => +, 1 => - Rest of bits can be numerical value of numberRepresentation called sign and magnitude0000 0011 = + 31000 0011 = - 3

  • Another try: complement the bitsExample: 710 = 001112 -710 = 110002Called ones ComplementNote: positive numbers have leading 0s, negative numbers have leadings 1s.

    What is -00000 ?How many positive numbers in N bits?How many negative ones?

  • Twos Complement Number line2N-1 non-negatives 2N-1 negativesone zerohow many positives?comparison?overflow?0000000001000101111111110100000111110001012-1-2-15-1615......

  • Addition & Subtraction OperationsAddition:Just add the two numbersIgnore the Carry-out from MSBResult will be correct, provided theres 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 0 0 1 0 0(+4)+1 1 0 0(-4) 1 1 1 0 (-2) 1 1 1 0(-2) 1 1 1 0 1 0 1 1(-5)+0 1 0 1(+5) 10 0 1 1 (+3)Subtraction:Form 2s complement of the subtrahendAdd the two numbers as in Addition

  • OverflowExamples: 7 + 3 = 10 but ... - 4 5 = - 9 but ...01110011+1010111001011+0111110731 6 4 57

    Well so far so good but life is not always perfect.Lets consider the case 7 plus 3, you will get 10.But if you perform the binary arithmetics on our 4-bit adder you will get 1010, which is negative 6.Similarly, if you try to add negative 4 and negative 5 together, you should get negative 9.But the binary arithmetics will give you 0111, which is 7.So what went wrong? The problem is overflow.The number you get are simply too big, in the positive 10 case, and too small in the negative 9 case, to be represented by four bits.

    +2 = 39 min. (Y:19)