Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization,

Presentasi serupa


Presentasi berjudul: "1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization,"— Transcript presentasi:

1 1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5 3. Materi kuliah CS61C/2000 & CS152/1997, UCB 18 Februari 2004 L. Yohanes Stefanus Bobby Nazief bahan kuliah:

2 2 Review

3 3 Review: Organisasi Sistem Komputer I/O systemProcessor Compiler Operating System (Windows 98) Application (Netscape) Digital Design Circuit Design Instruction Set Architecture °Koordinasi dari berbagai tingkat “abstraksi” Datapath & Control transistors Memory Hardware Software Assembler 10230

4 4 Review: Tingkat-tingkat Bahasa Pemrograman High Level Language Program (e.g., C) Assembly Language Program Machine Language Program (80x86) Control Signal Specification Compiler Assembler Machine Interpretation A = 25; B = 8; C = A * B; Adw 25 Bdw 8 Cresw 1 moveax, [A] movebx, [B] addeax, ebx mov[C], eax °°°° 10230

5 5 Review: 5 Komponen Utama Komputer Processor (active) Computer Control (“brain”) Datapath (“brawn”) Memory (passive) (where programs, data live when running) Devices Input Output Keyboard, Mouse Display, Printer Disk (where programs, data live when not running) “CPU”

6 6 Koreksi: Processor °Responsible of executing program stored in memory read instructions & input data execute store results (output data) °Datapath (“otot”): ALU: Aritmetic & Logical Unit Exposed register -Size of register determines processor smallest data unit (i.e., 8-bit, 16-bit, 32-bit, 64-bit computers) Hidden register °Control Unit (“otak”): interprete instruction control data transfer between registers define processsor’s ‘language’ complexity (e.g., RISC vs. CISC)

7 7 Koreksi: Tren Teknologi: Kapasitas Mikroprosesor 2X transistors/Chip Every 1.5 years Called “Moore’s Law” Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million Moore’s Law Pentium 4: 42 million Pentium III: 9.5 million

8 8 Komputer Digital

9 9 °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 switch bit ini menjadi Test bit ini jika 0, switch bit pertama

10 10 Komputer & “things” °… jadi, apa yang membuat komputer (yang hanya mengenal bits dengan nilai: 0 dan 1) demikian “powerful”? °Apakah (dengan “mengandalkan” 0 & 1) komputer dapat merepresentasikan apa saja? simulasi mobil..hello buzz

11 11 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, Disebut basis 10, dengan simbol: Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 °..tapi komputer hanya mengenal 2 simbol (0 dan 1) Bagaimana melakukan representasi bilangan yang dikenal manusia?

12 12 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 = 9x x10 0 Binary:0, = 1x x x x x x2 + 0x2 0 = = 90

13 13 Bit dapat mepresentasikan “apa saja” !!! °Bits dapat merepresentasikan apapun! Karakter? Latin: -26 huruf => 5 bits -Huruf besar/kecil + tanda lain => 7 bits, berapa simbol huruf? -Karakter, bahasa lain => 16 (unicode) Logical values? -0 -> False, 1 => True Warna ? Berapa banyak warna => berapa bits? Alamat? (berapa karakter alfabet..) °.. Tapi N bits  hanya dapat merepresentasikan 2 N sesuatu

14 14 Apa lagi ( sesuatu yang berguna ) yang dapat dilakukan? °Apa yang dapat dilakukan dengan “bilangan”? … umumnya semua operasi (instruksi) yang biasa dilakukan pada bilangan! -Tambahkan, Kurangkan, Kalikan, Bagikan, Bandingkan! Contoh: =  10  7  17 Bagaimana instruksi +, diwakili oleh bits?

15 15 Bit  Instruksi °Instruksi (Operasi). Apakah dapat diwakili oleh bit? Contoh: -0 => tepuk tangan -1 => snap jari jempol dan telunjuk -Eksekusi Instruksi: °Contoh instruksi operasi bilangan: Misalkan 3 bit (berapa banyak instruksi?): -000 => tambahkan 001 => kurangkan -010 => kalikan011 => bagikan -100 => bandingkan dst. °Jadi bit (data) dapat diartikan sebagai instruksi!

16 16 Memori

17 17 Pengalamatan Memori 0 1 i 2 k -1 Alamat n bits Byte 0 Byte 1 Byte i Byte 2 k -1 °k menentukan besarnya ruang alamat (address space) memori: k = 16  ruang alamat = 2 16 (64536) lokasi k = 32  ruang alamat = 2 32 (4 G) lokasi °n menentukan besarnya suatu word (jumlah bit) n = 8, 16, 32, 64 °Umumnya ukuran peng- alamatan terkecil adalah dalam orde byte  byte addressable

18 18 Bilangan (data) disimpan di memori °Memori adalah tempat menyimpan bit 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) = 2 k Alamat data

19 19 Pengalamatan Data: Endianess (1/2)  alamat 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 msb

20 20 Pengalamatan Data: Endianess (2/2) i 2 k -1 1 Alamat Big Endian i 2 k -1 0 Alamat Little Endian

21 21 Apa saja yang dapat disimpan? °Apa yang dapat disimpan? Bilangan Karakter Alamat data Representasi “sesuatu” di dunia luar = 2 k Big Idea: Komputer dapat menyimpan apapun. anything

22 22 Stored Program

23 23 The Stored Program Computer (1/2) °Konsep Kunci: Data dapat diartikan sebagai instruksi! Data di komputer mampu merepresentasikan sesuatu (thing, anything)! Tergantung intrepetasi dan operasi yang diinginkan. °BIG IDEA: STORED PROGRAM  program dapat disimpan sebagai data dan dijalankan oleh komputer Merupakan konsep awal komputer  Von Neumann Architecture (1955).Von Neumann Architecture

24 24 The Stored Program Computer (2/2) °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 memori digit-1: Operasi: 0 => add, 1 => sub,... digit-2: Alamat hasil digit-3: Alamat op1 digit-4: Alamat op data instruksi instruksi 0: =add (jenis instruksi), 8=addr. result, 4=addr op1, 6=addr op2 Apa yang berada di lokasi 4,6,8 setelah eksekusi instruksi ke-1, ke-2?

25 Operasi pada Memori Processor (active) Control (“brain”) Datapath (“brawn”) :Add (8),(4),(6); M[8]  M[4] + M[6] 1.Instruction Fetch 2.Data Read 3.Data Store (write)

26 26 Jadi, apa artinya? °Program adalah kumpulan bit yang tersimpan di memori merepresentasikan instruksi & data °Program tersebut dijalankan oleh prosesor: untuk mengolah/manipulasi bilangan, karakter, pixels … (Aplikasi, Software) untuk mengontrol penggunaan sumber daya komputer dan menjalankan program lain (Operating Systems)

27 27 Bahasa Rakitan (Assembly Language)

28 28 Bahasa Mesin  Bahasa Rakitan 0846:Add(8),(4),(6) °Bahasa Mesin  kumpulan bit yang merepresentasikan Operasi & Operand °Bahasa Rakitan  representasi dari Bahasa Mesin dalam bahasa (kumpulan huruf & angka) yang lebih mudah dimengerti oleh manusia mnemonic M[8]  M[4] + M[6] Bahasa Mesin Bahasa Rakitan

29 29 The Program is... °lokasiinstruksi Add8,4,6; M[8]  M[4] + M[6] ; M[8] = = Sub6,8,6; M[6]  M[8] – M[6] ; M[6] = 78 – 17 = 61 °Data: SebelumSesudah M[4] = 0061 M[6] = 0017 M[6] = 0061 M[8] = 0000 M[8] = 0078

30 30 Format Instruksi °Instruksi membutuhkan argumen sebagai input dan menghasilkan produk sebagai output argumen  input operand produk  output operand °Format instruksi:,,,... °Berapa jumlah operand yang dibutuhkan?

31 31 Jumlah Operand  Kelas Set Instruksi °3-address instruction AddC,A,B ; C  A] + [B] OperationDestination,Source1,Source2 atau OperationSource1,Source2,Destination °2-address instruction AddA,B ; A  A] + [B] OperationDestination,Source °1-address instruction LoadB; acc  B AddA ; acc  acc] + [A] °0-address instruction PushB; tos  B PushA; tos  A; [next] = B Add ; tos  tos] + [next]

32 32 Jenis-jenis Operasi ( tidak banyak berubah sejak 1960 ) Data Transfersmemory-to-memory move register-to-register move memory-to-register move Arithmetic & Logicinteger (binary + decimal) or FP Add, Subtract, Multiply, Divide not, and, or, set, clear shift left/right, rotate left/right Program Sequencing & Control unconditional, conditional Branch call, return trap, return Synchronizationtest & set (atomic r-m-w) Stringsearch, translate Graphics (MMX)parallel subword ops (4 16bit add) Input/Output Transfersregister-to-i/o device move

33 33 Eksekusi Instruksi

34 34 Eksekusi Instruksi (1/2) °Instruksi dan data bersama-sama berada di memori: Data diakses secara acak (tergantung alamat operand) Instruksi umumnya dijalankan secara berurut (sekuensial) °Urutan ini menjamin logika alur program: terdapat urutan perintah ke mesin. Instruksi disimpan secara berurut pada lokasi di memori Eksekusi instruksi dilakukan mulai dari alamat terkecil °Bagaimana mengetahui “posisi” instruksi saat ini (berikutnya?) Gunakan register khusus: Program Counter

35 Eksekusi Instruksi (2/2) PC (Program Counter) Program couter (PC) berisi alamat lokasi instruksi yang akan dieksekusi pada siklus berikutnya. Setelah instruksi dieksekusi, maka PC akan “increment” dan menunjuk pada instruksi berikutnya (next location) PC = PC + 2; dst.. dikenal dengan istilah: straight line sequencing

36 36 Branching

37 37 Decision… °Instruksi aritmatika, transfer data memberikan kemampuan kita untuk melakukan komputasi data Sama seperti “kalkulator” °Untuk sebuah komputer, maka diperlukan kemampuan untuk memilih, “make decisions”.. °Analogi HLL: assembly language harus mendukung statement: if (condition == true) do “this”; else do “that”; exit; Exit i == j? “this” (false) i != j (true) i == j “that”

38 38 Branching °Dampak dari pengambilan keputusan yang bergantung pada suatu kondisi tertentu adalah terjadinya pencabangan (branching): Instruksi tidak lagi diambil dari lokasi memori yang “berurut”, tetapi “meloncat” ke lokasi memori tertentu  PC diisi dengan nilai baru, tidak di-increment °Manipulasi PC dengan memberikan alamat baru (tidak “berurut”) juga digunakan untuk mengubah alur eksekusi program tanpa bergantung pada kondisi tertentu (jump)

39 39 Branching: Contoh i i+1w i+2w i+(n-1)w i+nw SUM Num1 Num2 NumN Move R0,Num1 Add R0,Num2 Alamat Add R0,Num3 Mov SUM,R0 Add R0,NumN LOOP SUM N Num1 Num2 NumN Move R1,N Clear R0 Determine address of next number and add Next number to R0 Alamat n Move SUM,R0 Branch>0 LOOP Decrement R1 R0 = ∑ N i PC

40 40 Conditional Branching °Branch>0 LOOP Periksa kondisi (hasil operasi > 0?): memeriksa Condition Code Flags yang berada di Status Register: -N: hasil operasi sebelumnya menghasilkan bil. negatif -Z: hasil operasi sebelumnya menghasilkan 0 -V: hasil operasi sebelumnya menghasilkan overflow -C: hasil operasi sebelumnya menghasilkan carry  >0: hasil ≠ 0 (kondisi Z-flag == FALSE) Jika ya, loncat ke LOOP (PC  lokasi LOOP) Jika tidak, lanjutkan eksekusi

41 41 I/O

42 42 Organisasi Input/Output Prosesor Bus SOUT DATAOUT Display SIN DATAIN Keyboard °Pada prinsipnya sama dengan data transfer (memori/register), bedanya peranti I/O lebih lambat °Perlu mekanisme pemeriksaan kesiapan peranti I/O: Baca informasi status di SIN/SOUT untuk memastikan peranti I/O siap Jika “siap” lakukan operasi transfer data dari/ke peranti I/O ybs.

43 43 I/O Device Examples and Speed °I/O Speed: bytes transferred per second (from mouse to display: million-to-1) °DeviceBehaviorPartner Data Rate (Kbytes/sec) KeyboardInputHuman0.01 MouseInputHuman0.02 Line PrinterOutputHuman1.00 Floppy diskStorageMachine50.00 Laser PrinterOutputHuman Magnetic DiskStorageMachine10, Network-LANI or OMachine 10, Graphics DisplayOutputHuman30,000.00

44 44 Penutup

45 Stored-program Computer Processor (active) Control (“brain”) Datapath (“brawn”) PC  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

46 46 Computer is... The great Richard Feynman, in his Lectures on Computation, summed up von Neumann computers by saying, "the inside of a computer is as dumb as hell, but it goes like mad!"


Download ppt "1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 02: Stored Program Computers Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization,"

Presentasi serupa


Iklan oleh Google