I. Motherboard Motherboard merupakan perangkat yang berfungsi mengintegrasikan semua device/periferal server pada satu papan sistem (board) agar saling bekerjasama, sepertiProcessor, RAM, HDD sampai ke sistem konektor Input/Output (USB, LAN, PS/2 dan lain-lain). Motherboard pasti digunakan pada semua tipe komputer atau perangkat elektronika lainnya. Fungsinya sangat penting, karena pada dasarnya spesifikasi suatu server bergantung dari tipe Motherboard yang digunakan. Kita tidak mungkin menginstalasi suatu device apabila spesifikasi suatu Motherboard tidak menyediakannya Keterangan : 1. Socket Processor (Dual) 2. Slot DIMM untuk RAM DDR2 FBDIMM (8 slot) 3. Chipset Northbridge (MCH) + Heatsink 4. Chipset Southbridge (ICH) 5. Konektor HDD SCSI 80-pin 6. Konektor ATA (Optical Drive) & Floppy Disk 7. Konektor Power Supply 24-pin dan 8-pin Adi Suryaman_5 a Pagi Page 1 8. Slot PCI Express x4 9. Slot PCI-X 64-bit 100 MHz 10. Slot PCI-X 64-bit 133 MHz 11. SCSI Controller + Heatsink 12. Integrated Graphics Controller (VGA on-board) 13. Controller BIOS 14. LAN Connector (2 unit) 15. Serial Connector 16. VGA-Out Connector for Display 17. PS/2 Connector 18. USB Connector 1. Socket Processor Socket Processor, merupakan tempat dimana Processor dipasang. Pada server platform Intel dikenal tiga tipe socket processor seperti pada tabel dibawah : Tabel Socket Processor Intel Xeon Socket Processor LGA775 Intel Xeon X3000 dan 3000 series LGA771 Intel Xeon X5000 dan 5000 series PGA 604- pin Intel Xeon 7000 Keterangan : LGA singkatan dari Land Grid Array, merupakan tipe socket berbentuk kaki pin-pin kecil dalam susunan array. LGA merupakan teknologi baru socket processoryang dikenalkan pada saat era Pentium 4 generasi baru Adi Suryaman_5 a Pagi Page 2 (Pentium 4 lama masih menggunakan Socket pin 478). Dengan LGA, maka processor tidak memiliki pin lagi, diganti dengan titik bola-bola kontak kecil dalam sususan array yang akan langsung terkoneksi di pin socket pada saat pemasangan. PGA singkatan dari Pin Grid Array, merupakan tipe socket berbentuk lubanglubang kecil dalam susunan array. PGA digunakan untuk Processor yang masih menggunakan kaki pin sebagai kontak-nya. PGA merupakan socket tipe lama yang sudah dikenal pada Processor zaman dulu, seperti Pentium II, Pentium III, Pentium 4 (versi awal), Xeon (versi awal), dan lain-lain. 2. Chipset Northbridge (MCH) Northbridge disebut juga dengan nama memory controller hub (MCH). Perusahaan pembuat chipset yang menggunakan nama sebutan MCH ini adalah Intel. Sedangkan AMD, VIA dan perusahaan lainnya lebih banyak menggunakan nama sebutan northbridge. Northbridge memiliki peran khusus yang sangat penting dalam suatu sistem motherboard. Northbridge adalah bagian yang menghubungkan prosesor (CPU) ke sistem memori dan graphics controller (AGP dan PCI Express) melalui bus berkecepatan tinggi, dan ke southbridge. Dengan demikian, Northbridge bertugas mengendalikan/ menangani komunikasi antara CPU, RAM, AGP atau PCI Express, dan southbridge. Bahkan pada sebagian chipset, di dalam northbridge juga berisi integrated video controller (pengendali video terintegrasi). Pada sistem Intel istilah integrated video controller ini disebut dengan nama Graphics and Memory Controller Hub (GMCH). Northbridge juga berperan menentukan jumlah, type dan kecepatan CPU yang dapat dipasangkan pada motherboard, termasuk menentukan jumlah, kecepatan dan type RAM yang dapat digunakan. Setiap jenis chipset, kebanyakan dirancang hanya untuk mendukung seri prosesor tertentu saja, dengan jumlah RAM yang dapat dipasangkan bervariasi bergantung type prosesor dan desain motherboardnya sendiri. Adi Suryaman_5 a Pagi Page 3 Pada motherboard untuk prosesor Pentium (sebelum Pentium II), kapasitas RAM yang dapat dipasangkan seringkali dibatasi sampai 128 MB saja. Sedangkan motherboard untuk Pentium 4, kapasitas RAM yang dapat dipasangkan dibatasi 4 GB. Perlu diketahui bahwa sejak era Pentium Pro muncul, arsitektur Intel yang diterapkan prosesor tersebut dapat mengakomodasi address fisik lebih besar dari 32 bit, biasanya 36 bit, sehingga mampu mendukung RAM hingga 64 GB. Namun, jarang ada motherboard yang didesain mampu mendukung RAM hingga 64 GB, lagi pula banyak faktor pembatas lain yang tidak memungkinkan diterapkannya fitur RAM tersebut, misalnya keterbatasan dukungan dari OS dan mahalnya harga RAM). Sampai saat ini, tidak begitu banyak chipset yang mampu mendukung dua tipe RAM sekaligus. Biasanya chipset semacam ini baru diproduksi bila muncul standart baru yang ditetapkan oleh pabrik karena munculnya perkembangan teknologi baru. Contoh northbridge yang hanya mendukung satu type RAM adalah northbridge dari chipset NVIDIA nForce. Chipset ini hanya dapat dipasangkan dengan prosesor AMD yang didesain menggunakan soket A yang dikombinasi dengan pemakaian DDR SDRAM. Contoh lainnya adalah chipset Intel i875. Chipset ini hanya dapat bekerja dengan prosesor Pentium 4 atau Celeron yang memiliki clock speed lebih tinggi dari 1,3 GHz yang dikombinasi dengan pemakaian DDR SDRAM. Sedangkan contoh chipset yang dapat mendukung dua tipe RAM adalah chipset Intel i915. Chipset tersebut dapat bekerja dengan prosesor Intel Pentium 4 dan Celeron yang menggunakan menggunakan DDR maupun DDR2. Pada perkembangan selanjutnya, memory controller yang menangani komunikasi antara CPU dan RAM tidak lagi berada pada chipset, memory controller tersebut dipindahkan ke prosesor, terintegrasi dengan die prosesor. Contoh prosesor yang telah dilengkapi dengan memory controller ini adalah prosesor AMD64. Akibatnya, chipset untuk prosesor AMD64 (misalnya chipset NVIDIA nForce3) menjadi single chip (chip tunggal) yang merupakan gabungan dari semua fitur southbridge dengan port AGP. Chipset ini dihubungkan langsung ke CPU (prosesor). Sedangkan Intel juga akan melakukan hal yang sama, yaitu mengintegrasikan memory controller tersebut ke dalam prosesor produksinya. Rencananya kelak akan diterapkan pada prosesor yang berbasis mikroarsitektur Nehalem. Adi Suryaman_5 a Pagi Page 4 3. Chipset Southbridge (ICH) Southbridge adalah bagian dari chipset yang mengontrol bus IDE, USB, dukungan Plug and Play, menjembatani PCI dan Isa, mengontrol keyboard dan mouse, fitur power management dan sejumlah perangkat lainnya. Southbridge berhubungan dengan pheriperal, memalui jalur penghubung yang kecepatannya (kecepatan bus) lebih lambat (misalnya bus PCI dan bus ISA) dibandingkan jalur penghubung yang digunakan oleh northbridge. Pada beberapa chipset modern, southbridge sebenarnya mengandung (memuat) pheripheral yang terintegrasi pada chip, seperti ethernet, USB, dan audio. 4. Slot RAM (DIMM) Merupakan tempat dimana memori atau RAM dipasang. Baca mengenai RAM. 5. Slot PCI (Peripheral Component Interconnect) Slot ini berfungsi untuk memasang berbagai Card Module (Add-in Card) yang tidak disediakan oleh sistemmotherboard, seperti RAID, SCSI, Gigabit, SAS Controller dan sebaginya. Card tambahan ini diperlukan server untuk meningkatkan fungsinya (baca Scale Up pada Bab 1), karena fungsi tersebut tidak disediakan oleh Motherboard. Pada beberapa tipe motherboard server lainnya, fungsi-fungsi seperti diatas telah disediakan (di-istilahkan dengan “On-Board”). Pada server tersedia beberapa tipe Slot PCI, yaitu : PCI, singkatan dari Peripheral Component Interconnect. PCI merupakan teknologi slot yang paling umum digunakan pada motherboard, baik Server maupunDesktop. Secara fisik PCI berwarna putih dan umumnya terdapat lebih dari satu unit dalam sebuah sistem motherboard. PCI masih menggunakan pengolahan paralel, dan biasa digunakan untuk fungsi RAID, Gigabit Ethernet, SAS dan lain-lain. PCI memiliki varian sebagai berikut : Adi Suryaman_5 a Pagi Page 5 PCI (atau disebut PCI version 3.0), memiliki width sebesar 32-bit dan bus 33 MHz, sehingga menghasilkan bandwidth sebesar 133 MB/s. PCI juga memiliki tegangan sebesar 3.3 Volt. PCI-X memiliki width sebesar 64-bit dan bus 100/133 MHz, sehingga menghasilkan bandwidth maksimal sebesar 1,014 MB/s. PCI-X memiliki tegangan sebesar 1.5 Volt. PCI-X 2.0 memiliki width sebesar 64-bit dengan bus 266 MHz, sehingga menghasilkan bandwidth sebesar 2,035 MB/s. Beberapa Add-in card server menggunakan slot PCI-X dan PCI-X 2.0, contohnya RAID Card Controller versi tertentu. PCI Express (disingkat sebagai PCI-e) merupakan generasi terbaru dari PCI. Disebut “Express” karena performa-nya lebih tinggi dari PCI biasa, dengan pengolahan serial. PCI Express merupakan slot pengganti dari PCI biasa (termasuk juga slot AGP untuk graphics card), karena memiliki performa yang lebih baik untuk mengadaptasi berbagai add-in card tipe-tipe terbaru. PCI Express umum digunakan pada berbagai Motherboard generasi baru, serta memiliki beberapa tipe : PCI Express x1 : 250MB/s PCI Express x2 : 500MB/s PCI Express x4 : 1GB/s PCI Express x8 : 2GB/s PCI Express x16 dengan bandwidth sebesar 4GB/s. Slot ini biasanya digunakan sebagai slot VGA (graphics adapter). PCI-e x16 tidak digunakan pada motherboard server, karena server umumnya menggunakan graphics controller terintegrasi. 6. Konektor ATA (Advanced Technology Attachment) Adalah konektor untuk mengkoneksikan Hard Disk tipe ATA atau Optical Drive (CD/DVD ROM). Adi Suryaman_5 a Pagi Page 6 7. Konektor SATA (Serial – ATA) Adalah konektor untuk mengkoneksikan HardDisk tipe SATA. Baca mengenai Hard Disk. 8. Konektor SCSI/SAS Adalah konektor untuk mengkoneksikan Hard Disk tipe SCSI atau SAS. Baca mengenai Hard Disk. 9. Power Connector Adalah konektor untuk menghubungkan modul power supply dibarebone ke motherboard. Pada motherboard server dikenal dua buah konektor power, yaitu 24-pin connector (sebagai konektor utama) dan 8-pin connector 12V (sebagai konektor tambahan). 10. BIOS (Basic Input Output System) BIOS (Basic Input Output System) merupakan IC Controller yang berfungsi untuk menyimpan data-data perangkat (device) beserta setting-nya yang digunakan pada Server. Dengan BIOS, maka waktu booting server (inisialisasi) akan lebih cepat karena Processor tidak perlu membaca device satu per-satu untuk mengenali fungsi masing-masing perangkat itu. Seperti kita ketahui bahwa Processor merupakan perangkat utama yang mengatur fugsi-fungsi perangkat lainnya seperti HDD, RAM, VGA, dan sebagainya agar saling bekerjasama. Pada saat menyalakan Server, Processor harus mengenali semua perangkat tersebut agar dapat mengatur mereka. Untuk menghemat waktu, maka dipasanglah sebuah IC BIOS yang memuat segala informasi yang dibutuhkan oleh processor tersebut. BIOS juga berfungsi untuk mengatur fungsi-fungsi dasarkomputer seperti jam, tanggal, media penyimpanan dan lain-lain. Dan yang terakhir BIOS berfungsi untuk menghubungkan semua perangkat keras agar dapat dikenali oleh sistem operasi seperti Windows & Linux. Adi Suryaman_5 a Pagi Page 7 BIOS lazimnya menggunakan IC tipe EEPROM (Electrically Erasable Programmable Read Only Memory), yaitu tipe IC yang dapat dihapus dan diprogram ulang melalui sistem elektrik. Data-data didalam BIOS tidak boleh hilang atau berubah (kecuali jika sengaja dilakukan), hingga diperlukan sebuah baterai untuk menahannya. IC BIOS tidak dapat menahan data jika tidak ada power-nya, makanya kita lazim melihat sebuah baterai didalam motherboard. Untuk mengkonfigurasi data didalam BIOS diperlukan aplikasi khusus yang disebut sebagi Firmware. Firmware dapat selalu diupgrade agar perangkat yang dikenaliBIOS dapat selalu diperbaharui. Istilah ini sering disebut sebagai “Update BIOS”. Beberapa perangkat lain biasanya memilki BIOS terpisah yang akan mengatur fungsinya secara independen, seperti RAID Modul. Baca tentang RAID. 11. Chip-chip pendukung Chip-chip pendukung merupakan controller yag memiliki fungsi tertentu dalam motherboard, seperti Audio, LAN (Ethernet), SCSI dan RAID. Jika kita melihat terdapat satu fungsi dalam motherboard (misalnya RAID), maka sebetulnya pada arsitektur Motherboard menggunakan chip controller tertentu. Misalnya untuk graphics adapter menggunakan chip controller merek ATI, atau fungsi RAID menggunakan chip controller dari LSI. 12. Konektor (Port) Konektor (Port) merupakan gerbang input/output yang menghubungkan server dengan peralatan eksternal seperti Hub/Switch, Monitor, Modem, Acces Point dan lain-lain. Sebuah server umumnya mengandung konektor sebagai berikut (terletak dibagian belakang) : • PS/2 merupakan konektor untuk Keyboard & Mouse. • USB (Universal Serial Bus) merupakan konektor universal yang dapat dikoneksikan ke berbagai peralatan, seperti Modem, Access Point dan lain Adi Suryaman_5 a Pagi Page 8 sebagainya. Saat ini konektor USB telah memasuki generasi kedua (USB 2.0 atau High Speed USB) dengan transfer rate mencapai 480 MB/s. • Ethernet/LAN merupakan konektor yang mengkoneksikan server ke jaringan. Pada server biasanya terdapat dua konektor Ethernet/LAN, dimana konektor pertama berfungsi untuk hubungan ke modem/router, dan konektor kedua berfungsi untuk koneksi ke sistem jaringan lokal (PC client) melalui hub/switch. • VGA Out merupakan konektor untuk Monitor atau LCD. • Serial Port merupakan konektor data untuk Hub/Switch/Router atau modem tipe lama. II. PROSESSOR A. Pengertian Prosessor Processor sering disebut sebagai otak dan computer pusat yang pengendali didukung oleh kompunen lainnya. Processor adalah sebuah IC yang mengontrol keseluruhan Adi Suryaman_5 a Pagi Page 9 jalannya sebuah sistem komputer dan digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Processor terletak pada socket yang telah disediakan olehmotherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor. Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang ukurannya sudah mencapai Gigahertz (GHz). Ukuran tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel. B. Komponen Prosessor 1. CU (Control Unit) CU merupakan unit pengendali. Fungsi utama unit penegendali ( CU) adalah mengambil, mengkode, dan melaksanakan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali mengatur urutan operasi seluruh system. Unit ini juga menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerampakkan operasi, juga aliran dan instruksi program. 2. ALU (Arithmetic Logic Unit) Unit ini berfungsi untuk melaksanakan operasi aritmatik serta operasi – operasi logika. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama Adi Suryaman_5 a Pagi Page 10 dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ). 3. Memory Unit (Unit Penyimpan) Unit – unit ini mengandung program – program yang bersangkutan dan data yang sedang di olah.Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika. 4. Sejarah Perkembangan Prosessor Dimulai dari sini : 1971 : 4004 Microprocessor Pada tahun 1971 munculah microprocessor pertama Intel , microprocessor 4004 ini digunakan pada mesin kalkulator Busicom. Dengan penemuan ini maka terbukalah jalan untuk memasukkan kecerdasan buatan pada benda mati. 1972 : 8008 Microprocessor Pada tahun 1972 munculah microprocessor 8008 yang berkekuatan 2 kali lipat dari pendahulunya yaitu 4004. 1974 : 8080 Microprocessor Adi Suryaman_5 a Pagi Page 11 Menjadi otak dari sebuah komputer yang bernama Altair, pada saat itu terjual sekitar sepuluh ribu dalam 1 bulan 1978 : 8086-8088 Microprocessor Sebuah penjualan penting dalam divisi komputer terjadi pada produk untuk komputer pribadi buatan IBM yang memakai prosesor 8088 yang berhasil mendongkrak nama intel. 1982 : 286 Microprocessor Intel 286 atau yang lebih dikenal dengan nama 80286 adalah sebuah processor yang pertama kali dapat mengenali dan menggunakan software yang digunakan untuk processor sebelumnya. 1985 : Intel386™ Microprocessor Intel 386 adalah sebuah prosesor yang memiliki 275.000 transistor yang tertanam diprosessor tersebut yang jika dibandingkan dengan 4004 memiliki 100 kali lipat lebih banyak dibandingkan dengan 4004 1989 : Intel486™ DX CPU Microprocessor Processor yang pertama kali memudahkan berbagai aplikasi yang tadinya harus mengetikkan command-command menjadi hanya sebuah klik saja, dan mempunyai fungsi komplek matematika sehingga memperkecil beban kerja pada processor. 1993 : Intel® Pentium® Processor Adi Suryaman_5 a Pagi Page 12 Processor generasi baru yang mampu menangani berbagai jenis data seperti suara, bunyi, tulisan tangan, dan foto. 1995 : Intel® Pentium® Pro Processor Processor yang dirancang untuk digunakan pada aplikasi server dan workstation, yang dibuat untuk memproses data secara cepat, processor ini mempunyai 5,5 jt transistor yang tertanam. 1997 : Intel® Pentium® II Processor Processor Pentium II merupakan processor yang menggabungkan Intel MMX yang dirancang secara khusus untuk mengolah data video, audio, dan grafik secara efisien. Terdapat 7.5 juta transistor terintegrasi di dalamnya sehingga dengan processor ini pengguna PC dapat mengolah berbagai data dan menggunakan internet dengan lebih baik. 1998 : Intel® Pentium II Xeon® Processor Processor yang dibuat untuk kebutuhan pada aplikasi server. Intel saat itu ingin memenuhi strateginya yang ingin memberikan sebuah processor unik untuk sebuah pasar tertentu. 1999 : Intel® Celeron® Processor Processor Intel Celeron merupakan processor yang dikeluarkan sebagai processor yang ditujukan untuk pengguna yang tidak terlalu membutuhkan kinerja processor yang lebih cepat bagi pengguna yang ingin membangun sebuah system computer dengan budget (harga) yang tidak terlalu besar. Adi Suryaman_5 a Pagi Page 13 1999 : Intel® Pentium® III Processor Processor Pentium III merupakan processor yang diberi tambahan 70 instruksi baru yang secara dramatis memperkaya kemampuan pencitraan tingkat tinggi, tiga dimensi, audio streaming, dan aplikasi-aplikasi video serta pengenalan suara. 1999 : Intel® Pentium® III Xeon® Processor Intel kembali merambah pasaran server dan workstation dengan mengeluarkan seri Xeon tetapi jenis Pentium III yang mempunyai 70 perintah SIMD. 2000 : Intel® Pentium® 4 Processor Processor Pentium IV merupakan produk Intel yang kecepatan prosesnya mampu menembus kecepatan hingga 3.06 GHz. 2001 : Intel® Xeon® Processor Processor Intel Pentium 4 Xeon merupakan processor Intel Pentium 4 yang ditujukan khusus untuk berperan sebagai computer server. Processor ini memiliki jumlah pin lebih banyak dari processor Intel Pentium 4 serta dengan memory L2 cache yang lebih besar pula. 2001 : Intel® Itanium® Processor Itanium adalah processor pertama berbasis 64 bit yang ditujukan bagi pemakain pada server dan workstation serta pemakai tertentu. Processor ini sudah dibuat dengan struktur yang benar-benar berbeda dari sebelumnya yang didasarkan pada desain dan teknologi Intel’s Explicitly Parallel Instruction Computing (EPIC). Adi Suryaman_5 a Pagi Page 14 2002 : Intel® Itanium® 2 Processor Itanium 2 adalah generasi kedua dari keluarga Itanium 2003 : Intel® Pentium® M Processor Chipset 855, dan Intel® PRO/WIRELESS 2100 adalah komponen dari Intel® Centrino™. Intel Centrino dibuat untuk memenuhi kebutuhan pasar akan keberadaan sebuah komputer yang mudah dibawa kemana-mana. 2004 : Intel Pentium M 735/745/755 processors Dilengkapi dengan chipset 855 dengan fitur baru 2Mb L2 Cache 400MHz system bus dan kecocokan dengan soket processor dengan seri-seri Pentium M sebelumnya. 2004 : Intel E7520/E7320 Chipsets 7320/7520 dapat digunakan untuk dual processor dengan konfigurasi 800MHz FSB, DDR2 400 memory, and PCI Express peripheral interfaces. 2005 : Intel Pentium 4 Extreme Edition 3.73GHz Sebuah processor yang ditujukan untuk pasar pengguna komputer yang menginginkan sesuatu yang lebih dari komputernya, processor ini menggunakan konfigurasi 3.73GHz frequency, 1.066GHz FSB, EM64T, 2MB L2 cache, dan HyperThreading. 2005 : Intel Pentium D 820/830/840 Processor berbasis 64 bit dan disebut dual core karena menggunakan 2 buah inti, dengan konfigurasi 1MB L2 cache pada tiap core, 800MHz FSB, dan bisa Adi Suryaman_5 a Pagi Page 15 beroperasi pada frekuensi 2.8GHz, 3.0GHz, dan 3.2GHz. Pada processor jenis ini juga disertakan dukungan HyperThreading. 2006 : Intel Core 2 Quad Q6600 Processor untuk type desktop dan digunakan pada orang yang ingin kekuatan lebih dari komputer yang ia miliki memiliki 2 buah core dengan konfigurasi 2.4GHz dengan 8MB L2 cache (sampai dengan 4MB yang dapat diakses tiap core ), 1.06GHz Front-side bus, dan thermal design power ( TDP ) 2006 : Intel Quad-core Xeon X3210/X3220 Processor yang digunakan untuk tipe server dan memiliki 2 buah core dengan masing-masing memiliki konfigurasi 2.13 dan 2.4GHz, berturut-turut , dengan 8MB L2 cache ( dapat mencapai 4MB yang diakses untuk tiap core ), 1.06GHz Front-side bus, dan thermal design power (TDP) 5. Arsitektur dan Cara Kerja Prosessor a. 32-bit dan 64-bit mengacu pada arsitektur processor. Processor 32-bit artinya register2 nya (unit penyimpanan data terkecil di dalamnya) berukuran 32 bit. Processor 64-bit artinya register2 nya berukuran 64 bit. ( Register2 inilah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register "eax" akan me-load nilai dari "a" (di memory), Adi Suryaman_5 a Pagi Page 16 kemudian pada register "eax" ditambahkan nilai dari "b", lalu "eax" ditulis ke memory pada posisi variabel "c" ) b. Pengaruh ukuran register terhadap kecepatan: Setiap proses baca/tulis dari memory (disebut dengan load/store) membaca/menulis informasi sebesar ukuran register; maka register 64-bit potensial membaca/menulis memory 2x kecepatan register 32-bit. Tapi ini teoretis saja, karena kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain load/store, seperti pemrosesan matematis, vector-processing, dll. c. Pengaruh ukuran register terhadap presisi: Secara simplistik: Makin panjang register, makin banyak angka dibelakang-koma yang bisa dihitung secara akurat. Sebagai gambaran: Misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi). d. Pengaruh ukuran register terhadap ukuran memori: Salah satu dari sekian banyak register adalah "addressing register". Addressing register (atau registers, kalau lebih dari satu) adalah register yang memiliki fungsi 'menunjuk' ke alamat tertentu dalam memory. Jangkauan (range) penunjukan ini disebut dengan istilah memory space. Adi Suryaman_5 a Pagi Page 17 Pada arsitektur 32-bit, addressing registers mampu 'menunjuk' posisi memory dari 0 s/d 4'294'967'295 (4 GiB - 1). Inilah yang mengakibatkan muncul "batasan 4 GiB" pada sistem berbasis arsitektur 32-bit. Pada arsitektur 64-bit, addressing registers mampu 'menunjuk' posisi memory dari 0 s/d 18'446'744'073'709'551'615 (16 EiB - 1). Seperti kita lihat, tidak ada lagi 'batasan 4 GiB' pada sistem berbasis arsitektur 64-bit. e. Pengaruh ukuran register terhadap dataset: "Dataset" adalah istilah untuk 'seperangkat data yang di-load ke dalam memory untuk diproses dan (optionally) ditulis kembali ke hard disk'. Sistem 32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB - 1). Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja. Artinya, sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam konteks perusahaan besar), harus diproses 10~20x. Sistem 64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja. Agar kita dapat memperoleh keunggulan sistem 64-bit, maka baik software dan hardware harus mendukung. Software 32-bit jalan di hardware 64bit tidak bisa memanfaatkan kelebihan arsitektur 64-bit. (Software hanya akan menggunakan 32-bit saja dari 64-bit yang tersedia; 32-bit sisanya tidak dikenali) ==> disebut mode 32-bit. Sebaliknya, software 64-bit tidak bisa jalan di hardware 32-bit karena kebutuhannya akan lebar register 64-bit tidak bisa dipenuhi. Adi Suryaman_5 a Pagi Page 18 Windows XP 32-bit dan Windows Vista 32-bit adalah 2 sistem operasi yang masih beroperasi di mode 32-bit. Windows XP 64-bit dan Windows Vista 64-bit adalah 2 sistem operasi yang mampu beroperasi di mode 64-bit. f. AMD64 adalah terobosan (breakthrough) AMD dalam dunia processor x86. Dahulu hingga prosesor Pentium 3, Intel bersikukuh menggunakan hanya arsitektur 32-bit pada processor x86. Intel menghabiskan uang jutaan dollar untuk mengembangkan arsitektur 64-bit yang samasekali baru (artinya: tidak kompatibel dengan dunia x86) dalam bentuk Intel ITANIUM. AMD kemudian mengembangkan instruction set (dan arsitektur) dari processor x86 yang dibuatnya (AthlonXP) sehingga lahirlah Athlon64: Processor x86 yang memiliki arsitektur 64-bit. Instruction set yang diperluas ini disebut AMD64 oleh AMD. Intel terpaksa melakukan cross-license, dan menggunakan instruction set tersebut juga (tapi dengan nama EMT64, bukan AMD64. Biasalah, masalah corporate pride...) Saya tidak yakin dengan Mac OS X. Tetapi Linux memiliki versi 32-bit dan versi 64-bit. Contoh, Ubuntu yang ada di ftp://dl2.foss-id.web.id/iso/ubuntu/releases/hardy/ Ada versi AMD64 (64-bit) dan ada versi i386 (32-bit) g. Kelebihan dan kekurangan? Adi Suryaman_5 a Pagi Page 19 Kita sudah melihat kelebihan dari arsitektur 64-bit. Sekarang kekurangannya: Banyak Software 32-bit yang tidak bisa jalan di arsitektur 64-bit, khususnya driver. Mengapa bisa begitu? Komputer adalah benda yang sangat kompleks. Untuk bisa berguna bagi manusia, komputer perlu melakukan apa yang disebut "Input/Output" (I/O). Contoh I/O adalah kirim/terima data via LAN, kirim gambar ke Monitor via VGA Card, dll. Nah, semua tindakan I/O membutuhkan buffer. Sebagai contoh, kita kenal "memory VGA" pada VGA Card; itu sebetulnya adalah buffer untuk membantu VGA Card menampilkan gambar di monitor. Masalahnya, agar I/O bisa berlangsung dengan mulus dan cepat, 'buffer' ini perlu mendapatkan alamat. Dan alamat ini di ambil dari memory space. Hal ini terjadi meskipun komponen pelaksana I/O ini memiliki buffernya sendiri (contoh: VGA Card terbaru dari nVidia / ATI biasanya punya minimal 256 MiB RAM pada card nya). Tetap saja memori pada card tersebut akan dipetakan ke memory space. Agar tidak bentrok dengan Sistem Operasi, yang biasanya di-load ke dalam memory 'rendah' (Bottom Memory = memory dengan alamat kecil), maka biasanya pemetaan buffer ini dilakukan di memory 'tinggi' (Top Memory = memory dengan alamat besar, atau dihitung mundur dari alamat memori terbesar (2^32)-1) Adi Suryaman_5 a Pagi Page 20 Catatan: Ini juga alasan yang menyebabkan RAM komputer kalau terpasang 4 GiB hanya akan bisa dipakai Max 3,25 GiB (atau kalau untung 3,5 GiB), ada yang 'hilang' karena 'tertutupi' oleh buffer dari komponen I/O. Nah, pada arsitektur 64-bit, hal yang sama pun dilakukan: Buffer untuk I/O dipetakan ke Top Memory. Masalahnya, Top Memory pada arsitektur 64-bit jelas terletak pada posisi yang berbeda dengan Top Memory pada arsitektur 32-bit. Driver adalah korban yang paling jelas; mereka berusaha mengakses Top Memory 32-bit, padahal lokasi buffer tidak di situ. Akibatnya: Crash. Software2 lain yang juga coba-coba mengakses Top Memory secara langsung akan mengalami crash juga. Lucunya, banyak game 32-bit yang malah jalan dengan tanpa masalah di sistem 64-bit; hal ini karena mereka tidak berusaha mengakses Top Memory secara langsung, melainkan meminta bantuan Microsoft DirectX Layer untuk mengakses fitur dari sebuah VGA Card. 6. KARAKTERISTIK PENTING PROCESSOR Berikut adalah faktor-faktor penting prosesor yang dapat menggambarkan karakteristik dari prosesor tersebut : a. Clock Speed Adi Suryaman_5 a Pagi Page 21 Clock Speed adalah seberapa cepat Processor bekerja (memproses data) dalam waktu satu detik. Satuan Clock Speed saat ini adalah GigaHertz (GHz). Misalnya : Pentium 4 3.2 GHz artinya inti processor mampu memproses secepat 3.2 x 109 kali dalam waktu satu detik. Atau setara dengan kecepatan 3.2 miliar per-detik. b. Front Side Bus. Front Side Bus merupakan satuan kecepatan ketika data ditransfer ke Memory Utama (RAM) atau sistem komputer. Dengan kata lain, jika clock speed merupakan pengolahan internal processor maka FSB merupakan kecepatan ketika data dibawa keluar / masuk ke processor. c. Cache Memory Cache Memory merupakan memori khusus yg diintegrasikan pada inti processor. Memori ini berkecepatan tinggi (high speed memory) agar processor mendapatkan pasokan data dengan cepat. Kebanyakan processor memiliki L1 Cache dan L2 Cache, meski ada juga yang memiliki L3 Cache. 7. PERBEDAAN PROCESSOR ANTAR GENERASI Perbedaan tersebut antara lain adalah : Perbedaan Clock Speed. Perbedaan Besar Canche Size. Adi Suryaman_5 a Pagi Page 22 Banyaknya Core dalam suatu processor. Processor Baru ( Generasi Ke 8 ) lebih sedikit mengkonsumsi Daya Listrik. Perbedaan pada banyaknya Bus system dan Bus Address. III. I. Mengenal RAM Komputer Pengertian RAM Kata &ldquo;memory&rdquo; digunakan untuk menggambarkan suatu sirkuit elektronik yang mampu untuk menampung data dan juga instruksi program. Memory dapat dibayangkan sebagai suatu ruang kerja bagi komputer dan memory juga Adi Suryaman_5 a Pagi Page 23 menentukan terhadap ukuran dan jumlah program yang bisa juga jumlah data yang bisa diproses. Memory terkadang disebut sebagai primary storage, primary memory, main storage, main memory, internal storage. Ada beberapa macam tipe dari memory komputer, yaitu: random access memory (RAM) read only memory (ROM) CMOS memory virtual memory Memori berfungsi menyimpan sistim aplikasi, sistem pengendalian, dan data yang sedang beroperasi atau diolah. Semakin besar kapasitas memori akan meningkatkan kemapuan komputer tersebut. Memori diukur dengan KB atau MB. Random Access Memory (RAM), merupakan bagian memory yang bisa digunakan oleh para pemakai untuk menyimpan program dan data. Kebanyakan dari RAM disebut sebagai barang yang volatile. Artinya adalah jika daya listrik dicabut dari komputer dan komputer tersebut mati, maka semua konten yang ada di dalam RAM akan segera hilang secara permanen. Karena RAM bersifat temporer dan volatile, maka orang menciptakan suatu media penyimpanan lain yang sifatnya permanen. Ini biasanya disebut sebagai secondary storage. Secondary storage bersifat tahan lama dan juga tidak volatile, ini berarti semua data atau program yang tersimpan di dalamnya bisa tetap ada walaupun daya atau listrik dimatikan. Beberapa contoh dari secondary storage ini misalnya adalah magnetic tape, hardisk, magnetic disk dan juga optical disk. Jenis-jenis RAM, Berdasarkan cara kerja : o Fast Page Mode DRAM (FPM DRAM) Adi Suryaman_5 a Pagi Page 24 o Extended Data Output DRAM (EDO DRAM) o Synchronous DRAM (SDRAM) o Rambus DRAM (RDRAM) o Double Data Rate SDRAM (DDR SDRAM) Untuk video : o Video RAM (VRAM) o Windows RAM (WRAM) o Synchronous Graphic RAM (SGRAM) o Dynamic RAM (DRAM) o Static RAM (SRAM) Berdasarkan Module: o Single Inline Memory Module (SIMM) o Double Inline Memory Module (DIMM) o RIMM (Rambus) Mempunyai kapasitas 30 atau 72 pin. Memori SIMM 30 pin untuk kegunaan PC zaman 80286 sehingga 80486 dan beroperasi pada 16 bit. Memory 72 pin banyak digunakan untuk PC berasaskan Pentium dan beroperasi pada 32 bit. Kecepatan dirujuk mengikuti istilah ns (nano second) seperti 80ns, 70ns, 60ns dan sebagainya. Semakin kecil nilainyamaka kecepatan lebih tinggi. DRAM (dynamic RAM) dan EDO RAM (extended data-out RAM) menggunakan SIMM. DRAM menyimpan bit di dalam suatu sel penyimpanan (storage sell) sebagai suatu nilai elektrik (electrical charge) yang harus di-refesh beratus-ratus kali setiap saat untuk menetapkan (retain) data. EDO RAM sejenis DRAM lebih cepat, EDO Adi Suryaman_5 a Pagi Page 25 memakan waktu dalam output data, dimana ia memakan waktu di antara CPU dan RAM. Memori jenis ini tidak lagi digunakan pada komputer akhir-akhir ini . Berkapasitas 168 pin, kedua belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda daripada SIMM yang hanya berfungsi pada sebelah modul saja. Menyokong 64 bit penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan penganti dari DRAM, FPM (fast page memory) dan EDO. SDRAM pengatur (synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang lebih cepat. dan terdapat dalam dua kecepatan yaitu 100MHz (PC100) dan 133MHz (PC133). Dulu dikenali sebagai RDRAM. Adalah sejenis SDRAM yang dibuat oleh Rambus. DRDRAM digunakan untuk CPU dariIntel yang berkecepatan tinggi. Pemindahan data sama seperti DDR SDRAM tetapi mempunyai dua saluran data untukmeningkatkan kemampuan. Juga dikenali sebagai PC800 yang kerkelajuan 400MHz. Beroperasi dalam bentuk 16 bit bukan 64 bit. Pada saat ini terdapat DRDRAM berkecepatan 1066MHz yang dikenal dengan RIMM (Rambus inline memory module). DRDRAM model RIMM 4200 32-bit menghantar 4.2gb setiap saat pada kecepatan 1066MHZ. II. Berdasarkan jumlah pin: 30 pin, 72 pin, 168 pin. Berdasarkan kecepatannya (nanosecond) Terdapat beberapa jenis RAM yang beredar dipasaran hingga saat ini yaitu : o FPM DRAM (Fast Page Mode Random Access Memory) o EDO RAM ( Extended Data Out Random Access Memory) o BEDO RAM (Burst EDO RAM) o SD RAM (Synchronous Dynamic Random Access Memory) Adi Suryaman_5 a Pagi Page 26 o RD RAM (Rambus Dynamic Random Access Memory) o DDR SDRAM (Double Data Rate Synchronous Dynamic RAM) Adalah RAM yang paling pertama kali ditancapkan pada slot memori 30 pin mainboard komputer, dimana RAM ini dapat kita temui pada komputer type 286 dan 386. Memori jenis ini sudah tidak lagi diproduksi. RAM jenis ini memiliki kemampuan yang lebih cepat dalam membaca dan mentransfer data dibandingkan dengan RAM biasa. Slot memori untuk EDO &ndash; RAM adalah 72 pin. Bentuk EDO-RAM lebih panjang daripada RAM yaitu bentuk Single Inline Memory Modul (SIMM). Memiliki kecepatan lebih dari 66 Mhz. RAM yang merupakan pengembangan dari EDO RAM yang memiliki kecepatan lebih dari 66 MHz. RAM jenis ini memiliki kemampuan setingkat di atas EDO-RAM. Slot memori untuk SD RAM adalah 168 pin. Bentuk SDRAM adalah Dual Inline Memory Modul (DIMM). Memiliki kecepatan di atas 100 MHz. RAM jenis ini memiliki kecepatan sangat tinggi, pertama kali digunakan untuk komputer dengan prosesor Pentium 4. Slot Memori untuk RD RAM adalah 184 pin. Bentuk RD RAM adalah Rate Inline Memory Modul (RIMM). Memiliki kecepatan hingga 800 MHz. RAM jenis ini memiliki kecepatan sangat tinggi dengan menggandakan kecepatan SD RAM, dan merupakan RAM yang banyak beredar saat ini. RAM jenis ini mengkonsumsi sedikit power listrik. Slot Memori untuk DDR SDRAM adalah 184 pin, bentuknya adalah RIMM. RAM terdiri dari sekumpulan chip. Chip-chip ini mampu untuk menampung: data untuk diproses; - instruksi atau program, untuk memproses data; - data yang telah diproses dan menunggu untuk dikirim ke output device, secondary storage atau juga communication device; - instruksi sistem operasi yang mengontrol fungsifungsi dasar dari sistem komputer Semua data dan program yang dimasukkan lewat alat input akan disimpan terlebih dahulu di main memory, khususnya di RAM yang merupakan memori yang dapat di akses, artinya dapat diisi dan diambil isinya oleh programmer. Adi Suryaman_5 a Pagi Page 27 ARSITEKTUR SISTEM MEMORI I. TEKNOLOGI DAN BIAYA SISTEM MEMORI Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu : a. Memori Magnetic Core (tahun 1960) Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja. Para pembuat (pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori). b. Memori Solid State Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana : • CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal. • Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit) II. ORGANISASI MEMORI Adi Suryaman_5 a Pagi Page 28 • Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar. • Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori Contoh : Cross bar switch Sistem penyimpanan menggunakan Interleave High Order • Setiap bank (penyimpanan) berisi blok alamat yang berurutan. • Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak. Sistem penyimpanan menggunakan Interleave Low Order • Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data. Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU. • Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi. • Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order. Adi Suryaman_5 a Pagi Page 29 III. JENIS MEMORI a. Memory Read Only (ROM) • Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama). • PROM (Programming Read Only Memory) adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya. • EPROM (Erasable PROM) adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali. • EAROM(Electrically Alterable ROM) ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi. b. Memory Read / Write Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah : 1. Sifat Fisik Statis lawan Dinamis Static RAM (SRAM) • Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya. • Tidak perlu penyegaran • Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya. Adi Suryaman_5 a Pagi Page 30 • Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi. • Merupakan sirkuit memori semikonduktor yang cepat dan mahal. Dynamic RAM (DRAM) • Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor • Menggunakan sirkuit pembangkit • Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan. • Perlu penyegaran Volatil lawan Non-Volatil Memori Volatile Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic Memori Non Volatile Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : ROM Read Destruktif lawan Read Non-Destruktif Memori Read Destruktif • Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya. • Mempunyai 2 fase operasi yaitu read cycle dan restore cycle • Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, Adi Suryaman_5 a Pagi Page 31 yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis. Contoh : DRAM Memori Read Non-Destruktif • Dalam proses membaca word, memori tersebut tidak dapat dihancurkan. • Contohnya : SRAM dan ROM Removable lawan Permanen Memori Removable • Memori yang elemen aktifnya dapat dikeluarkan dari hardware system. • Contoh : disket. Memori Non Removable • Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system. • Contoh : RAM dan hard disk 2. Organisasi Logis • Teralamatkan (addressed) Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis. • Asosiatif Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis • Akses Urut Adi Suryaman_5 a Pagi Page 32 Memori yang menggunakan piya magnetis untuk mengakses data secara urut. 3. Memori Archival • Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis • Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah. • WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM. IV. SISTEM MEMORI UTAMA • Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar. • Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu) • Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat) • Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memory dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memory memori sekunder. V. RELOKASI PROGRAM DAN PROTEKSI MEMORI • Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan. Adi Suryaman_5 a Pagi Page 33 • Berhasilnya multiprogramming ditentukan antara lain oleh : o Relokasi Program - Dengan cara menmpatkan program dimana saja dalam memori - Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program tempat system pengoperasian pertama kali. - Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan. o Proteksi Program - Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain. - Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600 - IBM System/360 Menggunakan Register Base untuk merelokasi program Menggunakan relokasi program awal Menggunakan key-controlled memory protection untuk proteksi memori. - CDC 6600 Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program. Menggunakan relokasi program awal VI. MEMORI CACHE • Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama. • Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori. Adi Suryaman_5 a Pagi Page 34 • Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat. • Kegunaan Memori Cache adalah : Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori. Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang. Compiler menyimpan array dalam blok lokasi memori yang bersebelahan. Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data. • Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu o Memori Cache merupakan SRAM berkecepatan tinggi data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori. o Address Tag (Tag Alamat) Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid • Cara kerja Cache adalah : o Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache o Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data. Adi Suryaman_5 a Pagi Page 35 o Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta. o Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit. o Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca. o Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat. • Ada 2 sebab mengapa cache bekerja dengan baik : Cache beroperasi secara paralel dengan CPU - Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU. Prinsip Lokalitas Referensi - CPU akan meminta data baru • Setiap cache mempunyai dua sub system yaitu : Tag Subsystem - Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta. Memory subsistem - • Menyimpan dan mengantarkan data. Memori Cache menggunakan teknik pemetaan yang berbeda untuk memetakan alamat memori ke dalam alamat lokalnya, yaitu : Cache Asosiatif - Disebut juga Fully Associative Cache. Adi Suryaman_5 a Pagi Page 36 - Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional - Cache dapat menempatkan sembarang jalur refill selama akses memori - Membandingkan alamat yang ada dengan semua alamat yang disimpan Direct Mapped Cache (Cache yang dipetakan langsung) - Membagi memory utama menjadi K kolom dengan N refill line per kolomnya Set Cache Asosiatif - Mengkombinasikan organisasi asosiatif dan direct (langsung) - Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N Sector Mapped Cache (Cache yang dipetakan sector) - Merupakan modifikasi dari cache asosiatif - Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris) VI. MEMORI VIRTUAL • Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu : Paging - Adalah teknik yang berorientasi hardware untuk mengelola memori fisik - Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil. - Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset. - Membagi alamat logis dan memori menjadi page yang berukuran tertentu. Adi Suryaman_5 a Pagi Page 37 Segmentasi - Adalah teknik yang berorientasi pada struktur logis dari suatu program. - Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah. - Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen Perbedaan Paging dengan Segmentasi adalah : Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program. Segmen cenderung jauh lebih besar dari paging. Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu. Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset. VII. MASALAH DESIGN MEMORI • Kecepatan Memori lawan kecepatan CPU : Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif. Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU. CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU. VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU Adi Suryaman_5 a Pagi Page 38 Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY Keuntungan dari perubahan ini adalah : • Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif. • • CPU yang paling cepat merupakan pipelined. Ruang Alamat Memori : Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun. • Keseimbangan antara kecepatan dan biaya : Sifat dari Teknologi Memori - Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat. Adanya berbagai kecepatan dan biaya dalam peralatan memori Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah : • - Peralatan lambat, murah untuk memori utama - Peralatan cepat untuk cache - Peralatan sangat cepat, mahal untuk register Memori dalam system computer dapat dibagi menjadi tiga kelompok, yaitu : 1. Internal Processor Memory 2. Main Memory (Primary Memory) 3. Secondary Memory (Auxiliary/Backing Memory) • Karakteristik Memori : Access Time Adi Suryaman_5 a Pagi Page 39 • Access Modes Alterability Permanence of Storage Cycle Time and Data Transfer Rate Physical Characteristics Metode Akses : Random Access Memory Lokasi memori dapat dicapai secara acak dan waktu akses tidak bergantung pada lokasi yang sedang diakses Serial Access Memory Mekanisme akses digunakan bersama-sama oleh seluruh lokasi Adi Suryaman_5 a Pagi Page 40 IV. Port I/O a. PENGERTIAN PORT I/O Dasar dari elemen perangkat keras yang terkandung pada I/O adalah bus, device controller, dan I/O itu sendiri. Kinerja kerja pada data yang bergerak antara device dan memori utama di jalankan oleh CPU, di program oleh I/O atau mungkin DMA controller. Modul kernel yang mengatur device adalah device driver. Systemcall interface yang disediakan aplikasi dirancang untuk menghandle beberapa dasar kategori dari perangkat keras, termasuk block devices, character devices, memory mapped files, network sockets dan programmed interval timers. Subsistem I/O kernel menyediakan beberapa servis. Diantaranya adalah I/O schedulling, buffering, spooling, error handling dan device reservation. Salah satu servis dinamakan translation, untuk membuat koneksi antara perangkat keras dan nama file yang digunakan oleh aplikasi. I/O system calls banyak dipakai oleh CPU, dikarenakan oleh banyaknya lapisan dari perangkat lunak antara physical device dan aplikasi. Lapisan ini mengimplikasikan overhead dari alih konteks untuk melewati kernel’s protection boundary, dari sinyal dan interrupt handling untuk melayani I/O devices. b. MACAMMACAM PORT I/O PORT USB Spoiler for Gambar: Adi Suryaman_5 a Pagi Page 41 Universal Serial Bus (USB) : Sebuah bus I/O (input/output) yang dapat mentransfer data hingga 12 megabit per detik. Selamat tinggal port paralel dan serial yang lamban, kini jamannya Universal Serial Bus (USB). Lebih cepat, lebih kuat dan lebih fleksibel serta benar-benar berazaskan Plug and Play (bukan lagi Plug and Pray). Bahkan USB versi 2.0 yang baru saja dikeluarkan mampu memberikan tingkat kinerja dan kecepatan yang sebanding dengan bus berkecepatan tinggi semacam IEEE 1394. Beberapa hal yang perlu Anda ketahui tentang USB: Lebih cepat dibanding port paralel atau serial dengan kecepatan transfer hingga 12 mbps (bahkan untuk versi terbaru, bisa mencapai kecepatan 480 mbps!) Dapat mengkoneksikan hingga 127 periferal. Diterima secara luas, baik dari sisi hardware, software (baca: sistem operasi), ataupun pengguna membutuhkan Windows 98 ke atas untuk kompatibilitas secara penuh PORT PARALEL Port paralel (DB-25) adalah salah satu jenis soket pada personal komputer untuk berkomunikasi dengan peralatan luar seperti printer model lama. Karena itu parallel port sering juga disebut printer port. Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga disebut dengan Centronics port. Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware membuat port ini sering digunakan untuk percobaan-percobaan sederhana dalam perancangan peralatan elektronika. PORT SERIAL dalam komputasi,sebuah serial port adalah serial komunikasi melalui antart muka atau fisik yang transfer informasi atau memperkecil pada satu bit pada satu waktu atau kontras paralel port. Adi Suryaman_5 a Pagi Page 42 PORT PS/2 Ps 2 konektor di gunakan untuk menghubungkan beberapa keyboard dan mouse ke PC kompatibel dengan sistem komputer. Namanya berasal dari IBM Personal System / 2 rangkaian komputer pribadi, yang telah diperkenalkan pada tahun 1987. Yang PS / 2 mouse Konektor umumnya menggantikan tua DE-9 RS-232 “serial mouse” konektor, sementara keyboard konektor diganti dengan yang lebih besar 5-pin DIN yang digunakan dalam IBM PC / AT desain. Yang PS / 2 mouse dan keyboard antarmuka yang mirip elektrik dan mempekerjakan protokol komunikasi yang sama. Namun, suatu sistem keyboard dan mouse port mungkin tidak yg dpt sejak dua perangkat yang berbeda menggunakan sekumpulan perintah. Mengikuti rilis USB keyboard, PS / 2 keyboard dan mouse menjadi kurang populer. Pengertian VGA VGA (Video Graphics A) adalah perangkat Output yang berfungsi untuk mengubah bahasa mesin menjadi tampilan baik grafis maupun text mode di layar monitor. Artinya VGA menghubungkan sistem komputer dengan monitor. Memory pada VGA. VGA dapat bekerja karena memiliki memory internal ataupun dedicated khusus untuk tampilan. Ukuran memory VGA hampir sama dengan main memory. Tetap dalam satuan byte. Kebanyakan VGA masa kini telah memiliki kapasitas dan clock yang tinggi.Integrated VGA. Salah satu tipe VGA adalah VGA yang telah terintegrasi di dalam mainboard. Ini biasa disebut dengan VGA on board. Biasanya VGA onboard menggunakan memory utama / RAM untuk menjalankan fungsinya sebagai Graphic Adapter. Namun beberapa tipe mainboard telah menyediakan memory khusus yang terintegrasi pula di sebuah bagian pada mainboard, sehingga sistem tidak perlu membagi kapasitas memory utama untuk dipakai oleh VGA. AGP. AGP merupakan interface VGA beberapa waktu yang lalu namun sampai sekarang masih sering digunakan pada beberapa tipe mainboard karena masih banyaknya pemakai VGA tipe AGP yang masih sayang untuk beralih ke PCI Adi Suryaman_5 a Pagi Page 43 Express. Kecepatan port AGP pun beragam dari 1x, 2x, 4x, dan 8x. PCI Express. PCI Express merupakan interface VGA masa kini. Dengan design yang berbeda, PCI Express menawarkan kecepatan VGA yang relativ jauh lebih cepat dibandingkan VGA dengan interface AGP. Kemampuan PCI Express mencapai 16x. Fungsi utama dari sebuah VGA adalah untuk menampilkan gambar dari komputer pada layar monitor Anda (monitor LCD, monitor CRT, proyektor, dll). Jadi perananan VGA sangat penting dalam komputer. Bayangkan jika Anda memakai komputer tapi tidak ada yang ditampilkan oleh komputer tersebut, tentu komputer tersebut tidak dapat Anda manfaatkan FUNGSI PORT I/O Fungsinya untuk menghubungkan komputer dengan semua perangkat pengontrol komputer dan yang bisa dikoneksikan dengan komputer, misal mouse, keyboard, printer, scanner, gamepad dll.. Perangkat Keras I/O Secara umum, (disk, tape), transmission terdapat beberapa device (network jenis card, seperti device penyimpanan modem), dan human-interface device (screen, keyboard, mouse). Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Adi Suryaman_5 a Pagi Page 44 Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct access), dan controller (host adapter). Port adalah koneksi yang digunakan oleh device untuk berkomunikasi dengan mesin. Bus adalah koneksi yang menghubungkan beberapa device menggunakan kabel-kabel. Controller adalah alatalat elektronik yang berfungsi untuk mengoperasikan port, bus, dan device. Langkah yang ditentukan untuk device adalah command-ready, dan error. Host mengeset command-ready ketika dieksekusi sesuatu, perintah oleh controller. Controller mengeset busyketika dan men clear busy ketika telah siap untuk telah sedang siap busy, untuk mengerjakan menerima perintah selanjutnya. Error diset ketika terjadi kesalahan. Polling Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai. Gambar 6-1. Polling Operation. Sumber: . . . Interupsi Mekanisme Dasar Interupsi Adi Suryaman_5 a Pagi Page 45 Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU--contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayanicontroller atau alat yang mengirim interupsi tersebut. Fitur Tambahan pada Komputer Modern Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system). Interrupt Request Line Pada peranti keras CPU terdapat kabel yang disebut interrupt request line, kebanyakan CPU memiliki dua macam interrupt request line, yaitu nonmaskable interrupt dan maskable interrupt. Maskable interrupt dapat dimatikan/ dihentikan oleh CPU sebelum pengeksekusian deretan critical instruction (critical instruction sequence) yang tidak boleh diinterupsi. Biasanya, interrupt jenis ini digunakan olehdevice controller untuk meminta pelayanan CPU. Interrupt Vector dan Interrupt Chaining Sebuah mekanisme interupsi akan menerima alamat interrupt handling routine yang spesifik dari sebuah set, pada kebanyakan arsitektur komputer yang ada sekarang ini, alamat ini biasanya berupa sekumpulan bilangan yang menyatakan offset pada sebuah tabel (biasa disebut interrupt vector). Tabel ini menyimpan alamat-alamat interrupt handler spesifik di dalam memori. Keuntungan dari pemakaian vektor adalah untuk mengurangi kebutuhan akan sebuah interrupt Adi Suryaman_5 a Pagi Page 46 handler yang harus mencari semua kemungkinan sumber interupsi untuk menemukan pengirim interupsi. Akan tetapi, interrupt vector memiliki hambatan karena pada kenyataannya, komputer yang ada memiliki device (dan interrupt handler) yang lebih banyak dibandingkan dengan jumlah digunakanlah teknik interrupt alamat padainterrupt chaining dimana vector. setiap Karena elemen itulah, dari interrupt vector menunjuk/ merujuk pada elemen pertama dari sebuah daftar interrupt handler. Dengan teknik ini, overhead yang dihasilkan oleh besarnya ukuran tabel dan inefisiensi dari penggunaan sebuah interrupt handler (fitur pada CPU yang telah disebutkan sebelumnya) dapat dikurangi, sehingga keduanya menjadi kurang lebih seimbang. Penyebab Interupsi Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain. System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap. DMA DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Gambar 6-2. DMA Interface. Transfer DMA Untuk memulai DMA command sebuah block yang transfer DMA, host akan berisi pointer yang menuliskan menunjuk ke sebuah sumber transfer, pointer yang menunjuk ke tujuan/ destinasi transfer, dan jumlah byte yang Adi Suryaman_5 a Pagi Page 47 nditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke DMA controller, sehingga DMA controller dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU. Tiga langkah dalam transfer DMA: Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer. DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer. DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya. Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama adalah metode yang sangat baku dan simple disebut HALT, atau Burst Mode DMA, karena DMA controller memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih dalam progres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer. Metode yang kedua, mengikut-sertakan DMA controller untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena DMA controller harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka. Gambar 6-3. DMA Controller. Adi Suryaman_5 a Pagi Page 48 Handshaking Proses handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request. Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan. Adi Suryaman_5 a Pagi Page 49 Cara-cara Implementasi DMA Dalam pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap "penerjemahan" dari alamat memori virtual menjadi alamat memori fisik, hal ini disebut direct virtual-memory address atau DVMA. Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memory mapped device tanpa intervensi CPU. Interface Aplikasi I/O Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan I/O. Pendekatan inilah yang dinamakan interface aplikasi I/O. Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan I/O, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masingmasing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum tadi (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware. Karena subsistem I/O independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware. Adi Suryaman_5 a Pagi Page 50 Peralatan Block dan Karakter Peralatan block diharapkan dapat memenuhi kebutuhan akses pada berbagai macam disk drive dan juga peralatan block lainnya. Block device diharapkan dapat memenuhi/mengerti perintah baca, tulis dan juga perintah pencarian data pada peralatan yang memiliki sifat random-access. Keyboard adalah salah satu contoh alat yang dapat mengakses streamkarakter. System call dasar dari interface ini dapat membuat sebuah aplikasi mengerti tentang bagaimana cara untuk mengambil dan menuliskan sebuah karakter. Kemudian pada pengembangan lanjutannya, kita dapat membuat library yang dapat mengakses data/pesan per-baris. Peralatan Jaringan Karena adanya perbedaan dalam kinerja dan pengalamatan dari jaringan I/O, maka biasanya sistem operasi memiliki interface I/O yang berbeda dari baca, tulis dan pencarian pada disk. Salah satu yang banyak digunakan pada sistem operasi adalah interface socket. Socket berfungsi untuk menghubungkan komputer ke jaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local socket, dan menghubungkannya ke remote socket. Dengan menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan. Jam dan Timer Adanya jam dan timer pada hardware komputer, setidaknya memiliki tiga fungsi, memberi informasi waktu saat ini, memberi informasi lamanya waktu sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Fungsi fungsi ini sering digunakan oleh sistem operasi. Sayangnya, system call untuk pemanggilan fungsi ini tidak di-standarisasi antar sistem operasi. Hardware yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer. Dia dapat di set untuk menunggu waktu tertentu dan kemudian melakukan interupsi. Contoh penerapannya ada pada scheduler, dimana dia akan melakukan interupsi yang akan memberhentikan suatu proses pada akhir dari bagian waktunya. Adi Suryaman_5 a Pagi Page 51 Sistem operasi dapat mendukung lebih dari banyak timer request daripada banyaknya jumlah hardware timer. Dengan kondisi seperti ini, maka kernel atau device driver mengatur list dari interupsi dengan urutan yang duluan datang yang duluan dilayani. Blocking dan Nonblocking I/O Ketika suatu aplikasi menggunakan sebuah blocking system call, eksekusi aplikasi itu akan diberhentikan untuk sementara. aplikasi tersebut akan dipindahkan ke wait queue. Dan setelah system call tersebut selesai, aplikasi tersebut dikembalikan ke run queue, sehingga pengeksekusian aplikasi tersebut akan dilanjutkan. Physical action dari peralatan I/O biasanya bersifat asynchronous. Akan tetapi, banyak sistem operasi yang bersifat blocking, hal ini terjadi karena blocking application lebih mudah dimengerti dari pada nonblocking application. Kernel I/O Subsystem Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, spooling, reservasi device, error handling. I/O Scheduling Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi Adi Suryaman_5 a Pagi Page 52 tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling. Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling. Buffering Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kirakira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah Adi Suryaman_5 a Pagi Page 53 memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka. Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali. Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai bufferdata yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar. Caching Adi Suryaman_5 a Pagi Page 54 Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah bufferdan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat. Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat schedulingI/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access. Spooling dan Reservasi Device Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan Adi Suryaman_5 a Pagi meng-intercept semua output kepada printer. Page 55 Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print. Untuk beberapa device, seperti drive tapedan printer tidak dapat memultiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idledan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri. Error Handling Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula. Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah Adi Suryaman_5 a Pagi Page 56 proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini. Kernel Data Structure Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/Olainnya. UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaanperbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented. Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masingmasing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-sharestruktur data, tetapi akan Adi Suryaman_5 a Pagi Page 57 mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas. Kesimpulannya, subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak sekali, yang tersedia dari aplikasi mau pun bagian lain dari kernel. Subsistem I/O mengawasi: Manajemen nama untuk file dan device. Kontrol akses untuk file dan device. Kontrol operasi, contoh: model yang tidak dapat dikenali. Alokasi tempat sistem file. Alokasi device. Buffering, caching, spooling. I/O scheduling Mengawasi status device, error handling, dan kesalahan dalam recovery. Konfigurasi dan utilisasi driver device. Penanganan Permintaan I/O Di bagian sebelumnya, kita mendeskripsikan handshaking antara device driver dan device controller, tapi kita tidak menjelaskan bagaimana Sistem Operasi menyambungkan permintaan aplikasi untuk menyiapkan jaringan menuju sektor disk yang spesifik. Sistem Operasi yang modern mendapatkan fleksibilitas yang signifikan dari tahapan-tahapan tabel lookup di jalur diantara permintaan dan physical device controller. Kita dapat mengenalkan device dandriver baru ke komputer tanpa harus meng-compile ulang kernelnya. Sebagai fakta, ada beberapa sistem operasi yang Adi Suryaman_5 a Pagi Page 58 mampu untuk me-load device drivers yang diinginkan. Pada waktu boot, sistem mula-mula meminta bus piranti keras untuk menentukan device apa yang ada, kemudian sistem me-load ke dalam driver yang sesuai; baik sesegera mungkin, mau pun ketika diperlukan oleh sebuah permintaanI/O. UNIX Sistem V mempunyai mekanisme yang menarik, yang disebut streams, yang membolehkan aplikasi untuk men-assemble pipeline dari kode driver secara dinamis. Sebuah stream adalah sebuah koneksi full duplex antara sebuah device driver dan sebuah proses user-level. Stream terdiri atas sebuah stream head yang merupakan antarmuka mengontrol device, dan dengan user nol atau process, sebuah driver lebih stream end yang modules diantara mereka. Modules dapat didorong ke stream untuk menambah fungsionalitas di sebuah layered fashion. Sebagai gambaran sederhana, sebuah proses dapat membuka sebuah alat port serial melalui sebuah stream, dan dapat mendorong ke sebuah modul untuk memegang edit input. Stream dapat digunakan untuk interproses dan komunikasi jaringan. Faktanya, di Sistem V, mekanisme soket diimplementasikan dengan stream. Berikut dideskripsikan sebuah lifecycle yang tipikal dari sebuah permintaan pembacaan blok. Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah file deskriptor dari berkas yang telah dibuka sebelumnya. Kode system-call di kernel mengecek parameter untuk kebenaran. Dalam kasus input, jika data telah siap di buffer cache, data akan dikembalikan ke proses dan permintaan I/O diselesaikan. Jika data tidak berada dalam buffer cache, sebuah physical I/O akan bekerja, sehingga proses akan dikeluarkan dari antrian jalan (run queue) dan diletakkan di antrian tunggu (wait queue) untuk alat, dan permintaan I/O pun dijadwalkan. Pada akhirnya, subsistem I/O mengirimkan permintaan ke device driver. Bergantung pada sistem operasi, permintaan dikirimkan melalui call subrutin atau melalui pesan inkernel. Adi Suryaman_5 a Pagi Page 59 Device driver mengalokasikan ruang buffer pada kernel untuk menerima data, dan menjadwalkan I/O. Pada akhirnya, driver mengirim perintah ke device controller dengan menulis ke register device control. Device controller mengoperasikan piranti keras device untuk melakukan transfer data. Driver dapat menerima status dan data, atau dapat menyiapkan transfer DMA ke memori kernel. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller, yang meggunakan interupsi ketika transfer selesai. Interrupt handler yang sesuai menerima interupsi melalui tabel vektorinterupsi, menyimpan sejumlah data yang dibutuhkan, menandai device driver, dan kembali dari interupsi. Device driver menerima tanda, menganalisa permintaan I/O mana yang telah diselesaikan, menganalisa status permintaan, dan menandai subsistem I/O kernel yang permintaannya telah terselesaikan. Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan, dan memindahkan proses dari antrian tunggu kembali ke antrian siap. Proses tidak diblok ketika dipindahkan ke antrian siap. Ketika penjadwal (scheduler) mengembalikan proses ke CPU, proses meneruskan eksekusi pada penyelesaian dari system call. V. Network Interface Card Network interface card adalah kartu -- maksudnya papan elektronik -- yang ditanam pada setiap komputer yang terhubung ke jaringan. Beberapa komputer desktop yang dijual di pasaran saat ini sudah dilengkapi dengan kartu ini. Saat Anda membeli komputer, Anda bisa menanyakan penjualnya apakah pada komputer sudah dipasangkan NIC. Jika belum Anda bisa meminta penjualnya untuk memasangkan, atau Anda bisa membelinya dan memasangnya sendiri. Adi Suryaman_5 a Pagi Page 60 Ada banyak macam kartu jaringan. Ada tiga hal yang harus Anda perhatikan dari suatu NIC •Tipe kartu, •Jenis protokol •Tipe kabel yang didukungnya. Ada dua macam tipe kartu, yaitu PCI dan ISA. Sebagai sedikit penjelasan, pada komputer ada beberapa slot (tempat menancapkan kartu) yang disebut expansion slot. Slot-slot ini saat Anda membeli komputer sengaja dibiarkan kosong oleh pembuat komputer agar Anda bisa meningkatkan kemampuan komputer Anda dengan menambahkan beberapa kartu misalnya, kartu suara (untuk membuat komputer "bersuara bagus"), kartu video (untuk membuat tampilan layar komputer lebih bagus), kartu SCSI (untuk membuat komputer bisa berkomunikasi dengan perangkat berbasis SCSI), atau network interface card (untuk membuat komputer bisa berkomunikasi dengan komputer lain dalam jaringan). Ada dua tipe slot yang banyak dijumpai pada komputer-komputer yang beredar di pasaran, yaitu slot PCI dan slot ISA. Jika Anda membuka kotak (casing) komputer Anda, di bagian belakang Anda bisa melihat ada dua deret slot. Slot PCI biasanya adalah yang berwarna putih, slot ini lebih pendek dibandingkan slot PCI. Slot PCI mendukung kecepatan I/O (input/output) yang lebih tinggi. Di pasaran, biasanya harga kartu berbasis PCI lebih mahal. Dari sisi protokol, jenis protokol yang saat ini paling banyak digunakan adalah Ethernet dan Fast Ethernet. Ada beberapa protokol lain, tetapi kurang populer, yaitu Token Ring, FDDI, dan ATM. Dua protokol terakhir cenderung digunakan pada jaringan besar sebagai backbone (jaringan tulang punggung yang menghubungkan banyak segmen jaringan yang lebih kecil). Ethernet mendukung kecepatan transfer data sampai 10Mbps, sedangkan Fast Ethernet mendukung kecepatan transfer data sampai 100Mbps. Jika memilih untuk menggunakan protokol Ethernet, Anda harus membeli kartu Ethernet. Demikian juga jika Anda telah memilih Fast Ethernet. Namun saat ini juga ada kartu combo yang mendukung Ethernet maupun Fast Ethernet. Kartu combo bisa Adi Suryaman_5 a Pagi Page 61 mendeteksi sendiri berapa kecepatan yang sedang digunakan pada jaringan. Jika saat ini Anda memilih menggunakan Ethernet, tetapi Anda telah merencanakan untuk suatu saat nanti memerlukan kecepatan transfer yang lebih tinggi -- sehingga memerlukan Fast Ethernet tak salah jika Anda memilih kartu combo. Dari sisi harga, kartu Ethernet saat ini boleh dibilang sudah sangat murah. Dari sisi kabel, ada beberapa tipe kabel yang digunakan banyak orang, yaitu: •UTP (unshielded twisted pair), •coaxial, •fiber optik. Yang paling banyak dipilih orang adalah UTP, karena murah, kemampuannya memadai dan pemasangannya cenderung lebih mudah. Kabel coaxial (mirip dengan kabel televisi) dulu banyak digunakan orang, tetapi saat ini boleh dibilang sudah hampir tak dilirik. Fiber optik merupakan kabel paling mahal (dari sisi instalasi maupun harga per meter), tetapi kemampuannya mendukung kecepatan transfer data paling bagus. Pemasangan kabel fiber optik paling rumit, karena itu mahal. Dalam memilih NIC, Anda harus menyesuaikan dengan tipe kabel yang telah/akan Anda pasang. Port/colokan untuk kabel UTP berbentuk mirip dengan kabel telepon tetapi sedikit lebih besar, port ini dikenal sebagai RJ-45. Ada beberapa kartu yang mendukung dua atau lebih tipe kabel. Namun jika Anda hanya akan menggunakan satu tipe kabel, pilihlah kartu yang mendukung satu tipe kabel saja karena harganya akan jauh lebih murah. Satu hal lagi, jika Anda menggunakan komputer portabel (notebook), untuk berkoneksi ke jaringan Anda menggunakan kartu PCMCIA. Bentuk kartu ini mirip kartu kredit, tetapi sedikit tebal. Kartu ini dimasukkan ke port PCMCIA yang ada pada setiap notebook. Jika untuk komputer desktop sudah tersedia banyak pilihan kartu untuk protokol Fast Ethernet, untuk PCMCIA pilihan mereknya masih sedikit sehingga harganya sangat mahal. Jika pada komputer desktop tidak ada kartu kombinasi antara kartu jaringan dengan kartu modem, pada PCMCIA kombinasi ini justru menjadi salah satu favorit. Dengan kombinasi ini, Anda menghemat Adi Suryaman_5 a Pagi Page 62 penggunaan slot PCMCIA dengan hanya menggunakan satu slot untuk dua kegunaan: modem dan jaringan. Saat ini hampir semua NIC yang beredar di pasaran sudah mendukung Plugn-Play (NIC secara otomatis dikonfigurasi tanpa intervensi pengguna), tetapi ada baiknya Anda pastikan bahwa NIC yang Anda beli memang mendukung PnP. Beberapa product yang ada dipasaran saat ini antara lain: •3com •accton •dlink Daftar Pustaka murni_rk.staff.gunadarma.ac.id/Downloads/files/.../Input+Output.pdf_11.45am_31/10 /11 ftp://komo.padinet.com/free/v06/Kuliah/SistemOperasi/BUKU/bahan/bahanbab7.pdf_11.47am_31/10/11 research.mercubuana.ac.id/proceeding/5Musa1FINALPERBAIKan.pdf_1.30am_1/11 /11 Adi Suryaman_5 a Pagi Page 63 http://zafnatpaneyah.blogspot.com/2010/08/pengertian-network-interfacecard.html_1.31am_1/11/11 http://opensource.telkomspeedy.com/wiki/index.php/Motherboard#Socket_Processor (11.58_261011) ARSITEKTUR PROCESSOR_http://community.gunadarma.ac.id/blog/view/id_8104/title_arsitektur-processor/ (12.06_261011) http://catatangaptek.blogspot.com/2011/05/arsitekturprocessor.html_(12.15_261011) http://dotcomcell.com/kumpulan-artikel/2010/11/central-processing-unitcpu.html(12.25AM_261011) http://katrokz.blogspot.com/2010/10/jenis-jenis-port-komputer-danfungsinya.html_11.54am_261011 http://desrifagianonik00573-nonik.blogspot.com/2011/01/kartu-jaringan-ataunic.html_12.18am_271011 Adi Suryaman_5 a Pagi Page 64