420 likes | 599 Views
IKI10230 Pengantar Organisasi Komputer Kuliah no. 01: Pendahuluan. Sumber : 1. Hamacher. Computer Organization , ed-5 2. Materi kuliah CS61C/2000 & CS152/1997, UCB. 11 Februari 2004 L. Yohanes Stefanus (yohanes@cs.ui.ac.id) Bobby Nazief (nazief@cs.ui.ac.id)
E N D
IKI10230Pengantar Organisasi KomputerKuliah no. 01: Pendahuluan Sumber:1. Hamacher. Computer Organization, ed-52. Materi kuliah CS61C/2000 & CS152/1997, UCB 11 Februari 2004 L. Yohanes Stefanus (yohanes@cs.ui.ac.id)Bobby Nazief (nazief@cs.ui.ac.id) bahan kuliah: http://www.cs.ui.ac.id/kuliah/POK/
IKI10230 • Pengantar Organisasi Komputer • “Mata kuliah ini mengajarkan dasar-dasar organisasi komputer sekuensial, yang terdiri dari komponen-komponen: input, output, memori, dan prosesor (kontrol dan datapath), melalui pemrograman dengan bahasa assembly.” • Prasyarat: • Pengantar Sistem Digital • Dasar-Dasar Pemrograman • Bobot: • 3 SKS • Buku Acuan: • Paul A. Carter, PC Assembly Languagehttp://www.drpaulcarter.com/pcasm • V. Carl Hamacher, dkk. Computer Organization. Edisi ke-5. McGraw-Hill, 2002. • David Patterson & John Hennessy. Computer Organization & Design: The Hardware/Software Interface. Morgan Kaufmann Publishers, Inc.
Perangkat Lunak Pembantu (Tools) • NASM (Netwide Assembler) • Intel x86 Assembler • http://sourceforge.net/projects/nasm/ • GCC (GNU C Compiler) • C compiler (bagian dari DJGPP) • http://www.delorie.com/djgpp • EDEBUG32 • Debuger (bagian dari DJGPP) • http://www.delorie.com/djgpp
Administrasi Perkuliahan • Penilaian: • Tugas: 30% (4 tugas pemrograman + 4 PR) • UTS: 30% • UAS: 40% • Jadwal Kuliah: • Rabu : 9:00 – 10:15, 10:30 – 11:45 WIB • Jadwal Tutorial: • Senin: 13:00 – 13:50 WIB (tergantung keperluan) • Jadwal Ujian: • UTS: 14 April 2004 • UAS: 7 - 18 Juni 2004
Organisasi Sistem Komputer Application (Netscape) • Koordinasi dari berbagai tingkat “abstraksi” Operating 10230 Compiler System (Windows 98) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors
Konsep Abstraksi • Memudahkan bermacam “pengguna” memahami sistem komputer sesuai tingkat kebutuhannya (yang berbeda-beda): • end-user: • menggunakan aplikasi untuk menyelesaikan tugasnya • butuh aplikasi yang merepresentasikan alat bantu penyelesaian tugasnya • pemrogram aplikasi: • menggunakan development tools untuk membuat program aplikasi • butuh model sistem komputer tanpa bergantung pada jenis komputer secara spesifik • pemrogram sistem: • membuat program sistem • butuh model sistem komputer tanpa bergantung pada implementasi komponen-komponen perangkat keras
Tingkat-tingkat Abstraksi Sistem Komputer • Application S/W • MS Word computer as electronic type-writer • MS Excel computer as electronic calculator • System S/W • Compilers computer as translator (source to executable program) • Operating Systems computer as machine that executes programs, stores files, prints content of files to printers, communicate with other computers • Instruction Set • What basic operations can be carried out • What, where, and how data can be stored & retrieved in/from memory • How can data be exchanged to the outside “world” • Computer H/W • The 5 components: Datapath, Control, Memory, Input, Output
Tingkat-tingkat Bahasa Pemrograman A = 25; B = 8; C = A * B; A dw 25 B dw 8 C resw 1 mov eax, [A] mov ebx, [B] add eax, ebx mov [C], eax High Level Language Program (e.g., C) 10230 Compiler Assembly Language Program Assembler Machine Language Program (80x86) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Interpretation Control Signal Specification ° °
Java: Interpreted Programming Language Java Language Program Java Compiler Byte Code Interpreter (Java Virtual Machine) + Just In Time (JIT) Compiler Machine Language Program (80x86) Machine Interpretation Control Signal Specification ° °
Java (.java) Byte Code (.class) Deskripsi Byte Code: • getstaticget static field from class • ldcpush item from runtime constant pool • invokevirtualinvoke instance method • returnreturn control to the caller (http://www.javacoffeebreak.com)
Generasi Komputer • I: ’46 – ’57: UNIVAC 1103 • Bahasa Rakitan • Vacuum Tube • 40.000 instruksi/detik • II: ’58 – ’64: IBM 7094 • Bahasa Tingkat Tinggi (Fortran, Cobol), Kompilator • Transistor • I/O & Processor Parallelism • 200.000 instruksi/detik • III: ’65 – ’71: IBM System/360, DEC PDP-8 • Sistem Operasi • Small- & Medium-scale Integrated Circuit (IC) • Cache & Virtual Memory, Microprogramming, Pipelining, Parallelism • 1.000.000 instruksi/detik • IV: ’72 – ’77: Apple IIe, IBM PC • Large Scale Integrated Circuit (LSI) • Microprocessor, PC • 10.000.000 instruksi/detik • IV: ’78 – …: 80286 – Pentium IV, MIPS, Sparc, PowerPC • Very Large Scale Integrated Circuit (VLSI) • 100.000.000 instruksi/detik
Komponen-komponen Komputer MONITOR: to output data “CPU”: to process command & data SPEAKER: to output data DISK: to input/output data KEYBOARD: to input command/data MOUSE: to input command/data
Keyboard, Mouse Computer Processor (active) Memory (passive) (where programs, data live when running) Devices Disk(where programs, data live when not running) Input Control (“brain”) Datapath (“brawn”) Output Display, Printer 5 Komponen Utama Komputer “CPU”
Processor • Responsible of executing program stored in memory • read instructions & input data • execute • store results (output data) • Control Unit (“otak”): • interprete instruction • control data transfer between registers • define processsor’s ‘language’ complexity (e.g., RISC vs. CISC) • 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
Memory • Responsible of storing instructions/data • Each unit of instruction/data is stored in a memory cell, whose address is known to the processor • Any memory cell can be accessed by a processor randomly (RAM: random access memory) • The amount of instruction/data accessed by a processor may vary (1, 2, ..., n memory cells at a time) • To achieve trade-off between speed and cost, memory is structured hierarchically memory hierarchy
Input/Output (Device) • Responsible of communicating with the outside (of computer) world • A device may serve as Input-only, Output-only, or both (Input-Output) device • Input-only: keyboard • Output-only: monitor display • Input-Output: floppy disk, hard disk • Data translation may be needed when processor exchanges data with an I/O device so humans can understand them
Interkoneksi Antar-komponen Komputer (1/2) Gbr. 5. (a) Tampak belakang komputer. (b) Bagian dalam komputer (tampak samping). *Diambil dari http://www.ui.ac.id/pdpt/ppkk/PengenalanKomputer.html
Interkoneksi Antar-komponen Komputer (2/2) Proc Caches Processor-Memory Bus adapters I/O Bus Memory Controllers Disks Displays Keyboards I/O Devices: Networks Interconnected by a BUS
Tren Teknologi: Kapasitas Mikroprosesor Pentium 4: 42 million Pentium III: 9.5 million 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 2X transistors/Chip Every 1.5 years Called “Moore’s Law”
Tren Teknologi: Kinerja Prosesor 1.54X/yr Processor performance increase/year, mistakenly referred to as Moore’s Law (transistors/chip)
Tren Teknologi: Kapasitas Memori (1 Chip DRAM) year size(Megabit) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256 Now 1.4X/yr, or doubling every 2 years 4000X since 1980
Tren Teknologi: Kapasitas Disk • Areal Density =BPI x TPI • BPI: Bit Per Inch • TPI: Tracks Per Inch • Change slope 30%/yr to 60%/yr about 1991
Teknologi Komputer Perubahan Dramatis • Prosessor • 2X lebih cepat setiap 1,5 tahun • 100X lebih cepat dalam dekade terakhir • Memori • Kapasitas DRAM: 2x / 2 years • Kecepatan Memori: meningkat 10% per tahun • Biaya per bit: membaik 25% per tahun • Kapasitas meningkat 64Xdalam dekade terakhir • Disk • Kapasitas disk: > 2X setiap 1,0 tahun • Biaya per bit: membaik 100% per tahun • Kapasitas meningkat 120Xdalam dekade terakhir
Komputer Berkinerja Tinggi (High Performance Computers)
Intel Pentium Pro Quad • All coherence and multiprocessing glue in processor module • Highly integrated, targeted at high volume • Low latency and bandwidth
SUN Enterprise • Proc + mem card - I/O card • 16 cards of either type • All memory accessed over bus, so symmetric • Higher bandwidth, higher latency bus
Cray T3E • Scale up to 1024 processors, 480MB/s links • Memory controller generates request message for non-local references • No hardware mechanism for coherence • SGI Origin etc. provide this
IBM SP-2 • Made out of essentially complete RS6000 workstations • Network interface integrated in I/O bus (bw limited by I/O bus)
Berkeley NOW • 100 Sun Ultra2 workstations • Inteligent network interface • proc + mem • Myrinet Network • 160 MB/s per link • 300 ns per hop
Intel History: ISA evolved since 1978 • 8086: 16-bit, all internal registers 16 bits wide; no general purpose registers; ‘78 • 8087: + 60 Fl. Pt. instructions, (Prof. Kahan) adds 80-bit-wide stack, but no registers; ‘80 • 80286: adds elaborate protection model; ‘82 • 80386: 32-bit; converts 8 16-bit registers into 8 32-bit general purpose registers; new addressing modes; adds paging; ‘85 • 80486, Pentium, Pentium II: + 4 instructions • MMX: + 57 instructions for multimedia; ‘97 • Pentium III: +70 instructions for multimedia; ‘99 • Pentium 4: +144 instructions for multimedia; '00
Arsitektur Intel P6 (Pentium Pro) Control Unit Data Path
Contoh: Komputer Berbasis Pentium Processor Processor/Memory Bus Memory PCI Bus I/O I/O Busses