COMPUTER SYSTEM ORGANIZATION
Overview
Agar dapat mengoptimalkan kinerja suatu sistem komputer, perlu diketahui komponen-komponen apa saja yang dapat mempengaruhi kinerja komputer tersebut, cara kerjanya dan bagaimana suatu komponen berinteraksi dengan komponen lainnya. Pada bab ini akan menjelaskan pengorganisasian suatu sistem komputer secara global.
Tujuan
1. Memahami konsep organisasi sistem komputer dasar
2. Mengetahui bagian utama sistem komputer
3. Memahami hubungan dan cara kerja dasar bagian utama sistem komputer
9.1 Pendahuluan
Organisasi komputer pada prinsipnya adalah bagaimana seorang pengembang komputer mengkombinasikan dan menyusun komponen-komponen yang terdapat dalam suatu komputer. Komponen dasar yang terdapat dalam suatu komputer adalah processor (CPU), memory dan I/O device. Ketiga komponen dasar diatas dihubungkan dengan suatu jalur yang dinamakan bus.
Gambar 11.1 Komponen Dasar Komputer
Suatu komputer modern contohnya, memiliki komponen-komponen sebagai berikut:
- Processor: i7 950 3.06 GHz
- Memory: DDR3 4 GB
- I/O device: Hard disk SATA 320 GB, keyboard dan mouse USB, VGA card ATI Radeon 4870 dengan LCD monitor, sound card Audigy X-Fi, Blu Ray drive.
9.2 Bus
Bus adalah jalur yang menghubungkan komponen-komponen yang terdapat di komputer. Wujud fisik bus adalah jalur-jalur pada sirkuit elektronik yang dilalui oleh sinyal listrik. Dalam suatu desain komputer, bus dapat dibagi menjadi tiga, data bus, adderss bus dan control bus. Besar bus didefinisikan dalam satuan bit.
Data bus adalah jalur yang digunakan oleh komponen komputer untuk bertukar data. Lebar data bus menentukan jumlah maksimal data yang dapat dikirim dalam satu satuan waktu. Komputer modern dapat memiliki data bus sebesar 8 bit, 16 bit, 32 bit atau 64 bit. Walaupun masih terdapat perdebatan, data bus dihitung dari jumlah terbesar dari register integer general purpose. Jadi jika sebuah prosesor memiliki lebar data bus 64 bit tetapi hanya memiliki register integer general purpose sebesar 32 bit, prosesor tersebut dikategorikan sebagai prosesor 32 bit.
Data bus digunakan untuk mengirim data dari CPU dari dan ke alamat memori atau I/O device tertentu. Untuk mengetahui alamat memori atau alamat I/O device tertentu, digunakan address bus. Karena bus bekerja secara elektronik dan diterjemahkan ke dalam bilangan biner, maka banyaknya alamat memory dan alamat I/O device sama dengan 2n, dimana n adalah lebar address bus.
Lebar Address Bus Maksimal Alamat yang Dapat Diakses
20 bit 1,048,576 (~ 1 MB)
32 bit 4,294,976,296 (~ 4 GB)
64 bit 18,446,744,073,709,600,000 (~18,446,744 TB)
Tabel 11.1 Address Bus
Control bus mengatur kapan suatu perangkat aktif. Pengaturan ini dibutuhkan agar tidak terjadi tabrakan data pada data bus.
Bus pada komputer pada umumnya diatur oleh controller yang biasa disebut juga dengan chipset atau bridge. Komputer dengan satu processor atau satu core processor biasanya memiliki dua buah bridge, northbridge dan southbridge. Northbridge mengatur pertukaran data antara processor, graphic card (PCI Express atau AGP) dan memory (RAM) sedangkan northbridge mengatur pertukaran data antar I/O device. Bus yang bekerja antara CPU, graphic card dan RAM dinamakan frontside bus, sedangkan antara southbridge dan I/O device dinalakan Low Pin Count (LPC) bus. Bus yang menghubungkan northbridge dan southbridge dinamakan internal bus.
Intel menamakan northbridge Memory Controller Hub (MCH) dan southbridge I/O Controller Hub (ICH).
Gambar 11.2 Arsitektur Komputer
Dengan berkembangnya prosesor multi-core, arsitektur ini dirasakan tidak mampu menangani lalu lintas data yang semakin padat, karena hanya terdapat satu jalur bus yang digunakan oleh semua processor. Untuk mengatasi hal ini Intel menggunakan suatuarsitektur yang disebut Quick Path Interconnect (QPI) sedangkan AMD mengembangkan teknologi HyperTransport dalam menggantikan frontside bus.
Gambar 11.3 Arsitektur FSB dengan Multi Processor
Dengan QPI, masing-masing processor memiliki akses tersendiri ke memory dan I/O controller sehingga bottleneck yang terjadi apabila menggunakan frontside bus dapat dihindari. Pendekatan HyperTransport (HT) sedikit berbeda dengan QPI. Dengan HT, masing-masing node (northbridge) dapat memiliki hubungan dengan semua northbridge lainnya. Untuk lebih jelasnya lihat gambar berikut:
Gambar 11.4 Arsitektur Multiprosesor Dengan QPI
Gambar 11.5 Arsitektur QPI (atas) dan HyperTransport (bawah)
9.3 Processor
Processor atau CPU adalah komponen yang menjalankan program (baris-baris perintah) yang tersimpan pada memory. Dalam menjalankan program, CPU melakukan tiga langkah, yaitu:
a. Mengambil perintah (fetch)
b. Menterjemahkan perintah (decode)
c. Melaksanakan perintah (execute)
CPU memiliki beberapa bagian dalam melaksanakan tugasnya, yaitu:
- Control Unit (CU) yang mengambil perintah dan menentukan perintah tersebut,
- Arithmetic and Logic unit, yang berfungsi menjalankan perintah matematika dan logika (misalnya operasi AND dan penjumlahan biner)
- Register, yaitu memory yang sangat cepat yang digunakan untuk menampung perhitungan di CPU. Selain itu terdapat register yang berfungsi khusus:
o Program counter (PC) yang menunjukkan perintah selanjutnya yang akan dikerjakan oleh CPU
o Instruction register (IR) yang menunjukkan perintah yang sedang dikerjakan saat ini.
Gambar 11.6 Data Path Cycle
Langkah-langkah kerja CPU adalah sebagai berikut:
1. Ambil perintah selanjutnya dari memory dan tempatkan di IR
2. Ubah PC agar menunjuk ke perintah selanjutnya
3. Tentukan jenis perintah yang harus dijalankan
4. Tentukan data yang akan diproses oleh perintah selanjutnya
5. Tempatkan data tersebut di regiser
6. Kerjakan perintah dengan menggunakan data yang telah ada tersebut
7. Tempatkan hasil perhitungan di memory atau register
8. Ulangi langkah 1 untuk perintah selanjutnya
Langkah-langkah ini disebut juga siklus Fatch-Decode-Execute.
Kecepatan processor diukur dengan satuan Hertz, yang berarti processor yang bekerja dengan kecepatan 1 MHz (Mega Hertz). Satu hertz adalah jumlah gelombang lengkap yang dihasilkan dalam satu detik, yang berarti processor tersebut dapat menghasilkan satu juta gelombang lengkap dalam satu detik. Karena eksekusi perintah pada CPU dimulai pada gelombang positif, maka CPU tersebut dapat melaksanakan satu juta perintah per detik. Perlu diperhatikan bahwa perintah yang dimiliki setiap prosesor membutuhkan waktu eksekusi yang beragam, jadi waktu eksekusi suatu perintah yang menghasilkan keluaran yang sama yang dikerjakan oleh processor Intel dapat berbeda dengan waktu yang dibutuhkan oleh processor AMD atau PowerPC. Dari pernyataan diatas maka dapat disimpulkan bahwa kecepatan processor tidak dapat dijadikan acuan langsung dalam mengukur kinerja system komputer,
9.4 Memory
Memory utama dalam sebuah sistem komputer biasa mengacu pada tempat penyimpanan data sementara. Dalam kehidupan nyata, memory utama sering diidentikkan dengan RAM. Memory ini bersifat volatile, artinya tanpa daya listrik, data yang disimpan akan hilang. Sifat ini berbeda dengan chip bios (EEPROM) yang bersifat non-volatile, artinya walaupun tanpa daya listrik, data yang terkandung didalamnya tetap ada.
Memory terdiri dari sejumlah sel. Setiap sel memiliki alamat yang unik. Setiap sel dapat ditulisi atau dibaca secara independen. Data yang disimpan pada memory dapat disimpan pada satu atau lebih sel.
Alamat Sel
0000 data A
0001
0002
0003
0004 data B
0005 data C
0006
0007 data D
0008 data E
0009 data F
Satuan memory dinyatakan dalam byte. Satu sel terdiri dari 8 bit atau satu byte, Byte kemudian dikelompokkan menjadi word, yang terdiri dari byte untuk komputer 32 bit atau 8 byte untuk komputer 64 bit. Data dalam satu word disusun dengan dua cara, big endian (byte paling kanan bernilai lebih besar) atau little endian (byte paling kanan bernilai lebih kecil). Satu byte terdiri dari 8 bit. Perlu diperhatikan bahwa satu kilobyte bukan 1,000 byte, melainkan 1024 byte (210)
Memory memiliki mekanisme untuk mengecek kesalahan data yang disimpannya. Metode yang paling sederhana adalah dengan parity check. Metode lain seperti Hamming dapat mendeteksi dan mengoreksi kesalahan data yang tersimpan di memory.
Walaupun uluran memory utama saat ini telah mencapai gigabyte namun kecepatan memory utama masih relatif lebih rendah dibandingkan dengan kecepatan processor. Kecepatan processor saat ini telah mencapai satuan giga hertz sedangkan kecepatan memory utama belum menembus angka satu gigahertz. Hal ini menyebabkan terjadinya bottleneck antara CPU dan memory utama. Untuk mengatasi masalah ini, sebelum menggunakan memory utama, data yang akan diproses di CPU dapat menggunakan cache, Cache adalah memory tambahan yang sangat cepat yang diletakkan sangat dekat dengan processor.
Cache dibuat berlapis. Ada cache level 1 dan cache level 2. Cache level 1 biasanya lebih kecil ukurannya daripada cache level 2, namun kecepatannya lebih tinggi. Cache level 1 terbagi menjadi instruction cache dan data cache. Ketika akan mengeksekusi data, processor akan mencari data tersebut di register, apabila tidak terdapat maka akan mencari di cache level 1, kemudian cache level 2, kemudian cache level 3 (jika ada), kemudian pada memory utama (RAM), kemudian pada secondary memory (magnetic disc, optical disc). Apabila processor menemukan data di cache akan disebut sebagai cache hit. Apabila tidak menemukan data di cache akan disebut cache miss.
Pada arsitektur komputer generasi sebelum Pentium Pro/Pentium II, cache ini bentuknya sama seperti RAM dan dapat dipasang pada slot tambahan, Pentium Pro memiliki cache yang terdapat pada inti (core/die) processor, sedangkan Pentium II menempatkan cache pada board processornya.
Gambar 11.8 CPU Core, cache dan RAM
Sebagai contoh, secara teori, kecepatan cache processor Pentium IV 3,2 GHz dengan lebar bus 256 bit sekitar 102 GB/detik.
Gambar 11.9 Core Pentium II dan Chip Cache L2.
Memory utama (RAM) selalu tidak pernah cukup, maka sistem komputer terutama PC memiliki secondary memory, yang bersifat non-volatile.
9.5 I/O Device
I/O device adalah perangkat yang menjadi penghubung antara manusia dan mesin. Perangkat ini menerima masukan dari manusia dan merepsentasikan data yang telah diolah dalam format yang dapat dimengerti oleh manusia. Untuk lebih jelasnya, jenis-jenis dan kegunaan I/O device akan dibahas dalam bab tersendiri.
Rangkuman
1. Organisasi sistem komputer adalah susunan dari perangkat-perangkat komputer yang membentuk suatu sistem komputer.
2. Komponen dasar komputer terdiri dari bus, processor (CPU), memory dan I/O device.
3. Bus adalah jalur yang digunakan untuk komunikasi dan pertukaran antar perangkat.
4. Bus terdiri dari data bus, address bus dan control bus.
5. Processor memiliki siklus pemrosesan data yang melibatkan tiga proses, fetch, decode dan execute.
6. Processor (CPU) terdiri dari Control Unit, ALU dan Register.
7. Memory utama adalah komponen yang berfungsi untuk menyimpan data dan bersifat volatile.
8. Memory memiliki tingkatan, register, cache dan RAM.
9. Memory sekunder bersifat non-volatile
10. I/O device merupakan perangkat yang menerima input dari pengguna dan merepresentasikan hasil perhitungan CPU ke pengguna.