Organisasi Sistem Komputer
Organisasi Sistem Komputer Application (Netscape) Operating 10230 Compiler System (Windows 98) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors Koordinasi dari berbagai tingkat “abstraksi”
Abstraksi Sistem Komputer
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
Bahasa Pemrograman
Tingkat-tingkat Bahasa Pemrograman C = A * B; High Level Language Program (e.g., C) 10230 Compiler A dw 25 B dw 8 C resw 1 mov eax, [A] mov ebx, [B] add eax, ebx mov [C], eax 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) (http://www.javacoffeebreak.com) Deskripsi Byte Code: getstatic get static field from class ldc push item from runtime constant pool invokevirtual invoke instance method return return control to the caller
Sejarah Komputer
Generasi Komputer I: ’46 – ’57: UNIVAC 1103 II: ’58 – ’64: IBM 7094 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
Arsitektur Komputer
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
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 not running) That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses. “CPU”
Responsible of executing program stored in memory 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
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 64X dalam dekade terakhir Disk Kapasitas disk: > 2X setiap 1,0 tahun Biaya per bit: membaik 100% per tahun Kapasitas meningkat 120X dalam 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
Proc + mem card - I/O card 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
Intel Paragon
IBM SP-2 Made out of essentially complete RS6000 workstations Network interface integrated in I/O bus (bw limited by I/O bus)
100 Sun Ultra2 workstations Inteligent network interface Berkeley NOW 100 Sun Ultra2 workstations Inteligent network interface proc + mem Myrinet Network 160 MB/s per link 300 ns per hop
Intel 80x86 Architecture
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