Materi I
Skema Dasar Sistem Komputer
1.1. Pendahuluan
Sistem operasi akan memanfaatkan sumber daya perangkat keras dari CPU dalam
menyediakan layanan untuk para pengguna sistem. Sistem memori juga akan melakukan pengaturan
memori sekunder dan perangkat masukan keluaran (I/O) atas nama penggunanya. Oleh karena itu,
apabila akan melakukan pengujian sistem, pemahaman mengenai perangkat keras sistem komputer
tertentu sangatlah diperlukan.
Dari tingkatan paling atas, suatu komputer terdiri dari komponen prosesor, memori, I/O,
dengan sebuah modul atau lebih pada setiap komponennya. Komponen tersebut akan melakukan
interkoneksi melalui cara tertentu untuk mendapatkan fungsi utama komputer, yang digunakan
dalam pengeksekusian aplikasi (program).
Dengan demikian, terdapat empat elemen dalam sistem komputer, yaitu:
a. Pemroses (processor) b. Memori Utama
c. Perangkat Input/Output
d. Interkoneksi Antar Komponen
Gambar 1.1. Skema blok sistem komputer
1.1.1. Pemroses
● Mengontrol operasi komputer dan melakukan fungsi pengolahan data. Apabila hanya
mempunyai sebuah prosesor, prosesor tersebut disebut Central Processing Unit (CPU).
● Pemroses melakukan penghitungan, melakukan operasi logika, serta mengelola aliran data
dengan membaca insstruksi dari memori dan kemudian mengeksekusinya.
● Langkah kerja pemroses:
Sebagai pengendali operasi sistem komputer.
c. Register-register
Suatu prosesor terdiri dari sejumlah register yang merupakan memori berkecepatan tinggi dan
berukuran lebih kecil dibandingkan dengan memori utama.
Register di dalam prosesor mempunyai dua fungsi, sebagai berikut:
● User-visible register
Memungkinan pemrogram bahasa aras rendah (assembler) dapat meminimalisasi
referensi memori utama dengan mengoptimalisasi penggunaan register. Pada bahasa
tingkat tinggi, compiler yang melakukan optimasi akan berusaha membuat pilihan yang
cerdas mengenai variabel yang akan meng-assign register dan yang akan meng-assign ke lokasi memori. Pemrograman dalam bahasa C memungkinkan untuk memerintahkan
compiler melakukan penyimpanan variabel di dalam register.
User-visible register dapat direferensikan dengan menggunakan bahasa mesin yang
dieksekusi oleh prosesor selain yang secara umum dapat dipergunakan di seluruh
aplikasi. Jenis register yang umumnya tersedia adalah register data, register alamat, dan
Register data
Dapat di-assign ke beraneka ragam fungsi oleh pemrogram. Pada keadaan tertentu, register bersifat serbaguna dan dapat pula digunakan dengan sembarang instruksi mesin
yang sedang melakukan operasi data. Namun, terdapat keterbatasan yang harus
dicermati, misalnya dalam kasus pemrograman harus memperhitungkan ketersediaan
register untuk operasi floating-point
Register alamat
merupakan alamat data dan instruksi yang terdapat di dalam memori utama, atau register
yang berisi bagian alamat yang digunakan dalam perhitungan alamat lengkap. Register
serbaguna ini dapat pula ditujukan untuk mode pengalamatan tertentu.
Contoh : indeks register, segment pointer, stack pointer
● Control dan status register
Register yang digunakan untuk melakukan pengontrolan operasi dari prosesor beraneka
ragam. Pada sebagian besar karakteristik mesin, sebagian besar register bersifat tidak
visibel terhadap pengguna. Beberapa register dapat diakses oleh instruksi mesin yang
dieksekusi dalam mode sistem operasi.
Akan tetapi, bagaimana yang terjadi apabila menggunakan mesin yang berbeda, maka
organisasi register serta terminologinya pun akan berbeda pula. Disamping register
MAR, MBR, I/O AR, dan I/O BR, terdapat register penting dalam eksekusi instruksi:
● Program Counter (PC), berisi alamat instruksi yang akan digunakan.
● Instruction register (IR), berisi instruksi yang terakhir digunakan.
Semua rancangan prosesor mencakup sebuah register atau sejumlah register yang dikenal
sebagai program status word (PSW), berisikan informasi keadaan, sebagai contoh interrupt enable/disable bit dan supervisor/user mode bit.
● Dalam bentuk yang sederhana, pengolahan instruksi terdiri dari dua langkah :
a. Pemroses membaca instruksi dari memori (fetch), secara satu persatu dari memori
b. Pemroses melakukan eksekusi instruksi (execute), dapat terdiri dari beberapa operasi serta tergantung pada sifat instruksinya
Dengan menggunakan deskripsi dua langkah yang telah disederhanakan sebelumnya, siklus
instruksi dapat digambarkan seperti yang terlihat pada gambar 1.2. Kedua langkah tersebut
dikenal sebagai instruksi pengambilan (fetch cycle) dan siklus eksekusi (execution cycle).
Eksekusi aplikasi hanya akan terhenti apabila mesin dimatikan, dan dapat menyebabkan
menghentikan komputer.
Gambar 1.2. Siklus instruksi dasar
("Sistem Operasi, Internal dan Prinsip-prinsip Perancangan", Indeks, 2005)
1.1.2. Memori Utama
Memori berfungsi dalam penyimpanan data dan aplikasi. Dengan mempunyai sifat volatile, sehingga tidak dapat mempertahankan data dan aplikasi yang disimpan atau sedang berjalan apabila
tidak mempunyai sumber daya energi (listrik). Memiliki konsep program tersimpan (stored program concept), yaitu kumpulan instruksi yang disimpan di suatu tempat (memori) untuk kemudian instruksi tersebut dieksekusi.
Kemudian, terdapat suatu relasi dari ketiga karakteristik memori yaitu harga, kapasitas dan
waktu akses, yang dapat didefinisikan sebagai berikut :
a. Semakin kecil waktu akses, maka semakin mahal perhitungan harga setiap bit.
b. Semakin besar kapasitas, semakin murah harga setiap bit.
c. Semakin besar kapasitas, mengakibatkan semakin besar waktu akses.
Untuk selanjutnya, melalui tabel 1.1, dapat dilihat suatu konsep hirarki memori berdasarkan
kecepatan akses:
Tabel 1.1. Hirarki memori berdasar kecepatan akses
Memori Kecepatan
Register Tercepat
Memori cache
Memori utama
Disk cache
Memori Kecepatan
Magenetic tape terlambat
Dengan semakin rendah letak suatu memori di dalam hirarki, maka akan membuat relasi seperti
berikut ini:
instruksi dari mesin utama. Agar eksekusi dilakukan secara cepat, maka instruksi harus diusahakan
tersedia di lokasi memori yang terdapat pada lapisan berkecepatan akses lebih tinggi. Kecepatan
eksekusi ini akan meningkatkan kinerja sistem secara signifikan. Terdapat konsep memori dua
level, dimana instruksi akan ditampung sementara di memori pada hirarki lebih tinggi.
Implementasi konsep ini antara lain berupa:
a. Memori cache
Bertujuan untuk memberikan kecepatan memori yang mendekati kecepatan memori yang
tercepat, sekaligus memberikan memori semikonduktor berukuran besar dengan harga murah.
b. Buffering
Bagian memori utama untuk menampung data yang akan ditransfer dari/ke perangkat I/O dan
penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat I/O dan penyimpan sekunder sehingga meningkatkan kinerja sistem.
1.1.3. Perangkat masukan dan keluaran (I/O)
Merupakan perangkat nyata yang dikendalikan oleh chip controller di board sistem atau card.
Controller kemudian dihubungkan dengan pemroses dan komponen lainnya melalui bus. Controller
mempunyai register-register untuk pengendaliannya yang berisi status kendali.Setiap controller
dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver
dapat menulis ke register-registernya sehingga dapat dikendalikan.
Sistem operasi lebih berkepentingan terhadap pengendali dibandingkan dengan perangkat
fisik mekanis. Perangkat I/O juga memindahkan data antara komputer dan lingkungan eksternal
yang mempunyai antarmuka dengan beraneka ragam perangkat, seperti:
a. Penyimpan sekunder
c. Terminal
1.1.4. Interkoneksi Antar Komponen
Secara fisik interkoneksi antar komponen berupa "perkawatan". Interkoneksi memerlukan tata
cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan komputasi yang diinginkan. Interkoneksi sendiri merupakan struktur dan mekanisme dalam menghubungkan semua
komponen yang terdapat di dalam sistem komputer, yang disebut sebagai bus. Terdiri dari tiga
jenis, yaitu:
a. Bus alamat (address bus)
Berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port
yang ingin ditulis atau dibaca di bus ini. Jumlah lokasi memori yang dapat dialamati ditentukan
jumlah jalur alamat. Jika CPU mempunyai N jalur alamat maka dapat mengalamati 2 pangkat N
(2N) lokasi memori dan/atau port secara langsung.
b. Bus data (data bus)
Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional).
CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem
yang dihubungkan ke bus data, tetapi hanya satu perangkat pada satu saat yang dapat
menggunakannya.
c. Bus kendali (control bus)
Berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk
memerintahkan memori atau port. Sinyal bus kendali antara lain :
1. Memory read
Untuk memerintahkan melakukan pembacaan dari memori.
2. Memory write
Untuk memerintahkan melakukan penulisan ke memori.
3. I/O read
Untuk memerintahkan melakukan pembacaan dari port I/O.
4. I/O write
Untuk memerintahkan melakukan penulisan ke port I/O.
Untuk mengetahui lebih lanjut mengenai mekanisme pembacaan data dari suatu lokasi
memori, CPU akan mengirim alamat memori yang dikehendaki melalui bus alamat kemudian
mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat
antar komponen ini membentuk satu sistem sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect).
Gambar 1.3. Arsitektur ISA
Gambar 1.3. Arsitektur PCI Express
1.2. Klasifikasi menurut karakteristik
Klasifikasi ini berdasarkan ukuran sifat khas dari sebuah komputer. Biasanya berkaitan erat
dengan fungsinya, yaitu sebagai berikut:
a. Single Processor / Uniprocessor
• lebih mudah diimplementasikan karena tidak perlu memperhatikan sinkronisasi antar prosesor.
• kemudahan kontrol terhadap prosesor karena sistem proteksi tidak terlalu rumit.
• cenderung lebih murah (bukan ekonomis).
Perlu dicatat yang dimaksud satu buah prosesor ini adalah satu buah prosesor sebagai CPU/ Central Processing Unit. Hal ini ditekankan sebab ada beberapa perangkat yang memang memiliki prosesor tersendiri di dalam perangkatnya seperti VGA Card AGP dan Optical Mouse.
b. Multiprocessor/Paralel System
Komputer ini memiliki lebih dari satu prosesor. Akibatnya meningkatkan jumlah suatu proses
yang dapat diselesaikan dalam satu unit waktu (pertambahan throughput ). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat
adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
Jika satu processor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan
dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini
dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant
atau fail-soft system .
Ada dua jenis multiprocessor system yaitu Symmetric MultiProcessing (SMP) dan Asymmetric MultiProcessing (ASMP). Dalam SMP setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan performance.
Sementara itu, dalam ASMP, setiap prosesor diberikan suatu tugas yang spesifik. Sebuah prosesor bertindak sebagai Master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processors. Umumnya metode ASMP digunakan pada sistem yang besar.
c. Personal Computer
Sebuah komputer yang dirancang hanya digunakan oleh satu orang dalam suatu waktu. Harganya
cenderung lebih murah dan biasanya mampu mengerjakan berbagai macam tugas.
d. Distributed System
Melaksanakan komputasi secara terdistribusi di antara beberapa prosesor. Hanya saja
multiprocessor, yaitu adanya pembagian sumber daya dan komputasi lebih cepat. Namun, pada distributed system juga terdapat keuntungan lain, yaitu memungkinkan komunikasi antar
komputer.
Terdiri atas dua model yaitu Client-Server Systems di mana hampir seluruh proses dilakukan
terpusat di server berdasarkan permintaan client. Model ini masih dibagi dua jenis lagi yaitu
compute server system di mana server menyediakan sarana komputasi dan file server system di
mana server menyediakan tempat penyimpanan data.
Model yang lain adalah Peer-to-peer (P2P) System, dimana beberapa komputer saling bertukar
data.
Contoh penerapan: Distributed System (dapat dilihat pada gambar 1.4):
• Local Area Network (LAN)
• Wide Area Network (WAN) / International Network (Internet) .
Gambar 1.4. Sistem terdistribusi
e. Clustered System
Secara umum, sistem kluster merupakan gabungan dari beberapa sistem individual (komputer)
yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan
saling terhubung dalam jaringan lokal (Local Area Network).
Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa
CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam
menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan
demikian, sistem akan lebih andal dan fault tolerant dalam melakukan komputasi.
Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed system).
Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya
tersebar, maka jaringan pada sistem kluster menghubungkan banyak komputer yang
memiliki beberapa model dalam pelaksanaannya: asimetris dan simetris. Kedua model ini
berbeda dalam hal pengawasan mesin yang sedang bekerja.
Pengawasan dalam model asimetris menempatkan suatu mesin yang tidak melakukan kegiatan
apapun selain bersiap-siaga mengawasi mesin yang bekerja. Jika mesin itu mengalami masalah
maka pengawas akan segera mengambil alih tugasnya. Mesin yang khusus bertindak pengawas
ini tidak diterapkan dalam model simetris. Sebagai gantinya, mesin-mesin yang melakukan
komputasi saling mengawasi keadaan yang berlangsung. Mesin lain akan mengambil alih tugas
mesin yang sedang mengalami masalah. Inilah yang membuat model simetris lebih efisien.
Isu yang menarik tentang sistem kluster adalah bagaimana mengatur mesin-mesin penyusun
sistem dalam berbagi tempat penyimpanan data (storage). Untuk saat ini, biasanya sistem kluster
hanya terdiri dari 2 hingga 4 mesin berhubung kerumitan dalam mengatur akses mesin-mesin ini
ke tempat penyimpanan data. Hal penting yang berkaitan dengan penerapan sistem kluster secara
paralel adalah kemampuan mesin-mesin penyusun sistem untuk mengakses data di storage secara
serentak. Berbagai software khusus dikembangkan untuk mendukung kemampuan itu karena
kebanyakan sistem operasi tidak menyediakan fasilitas yang memadai. Salah satu contoh
software-nya adalah Oracle Parallel Server.
Gambar. Visualisasi Clustering
f. Real Time Systems (Sistem Waktu Nyata)
Sistem waktu nyata adalah suatu sistem yang mengharuskan suatu komputasi selesai dalam
jangka waktu tertentu. Jika komputasi ternyata belum selesai maka sistem dianggap gagal dalam
Sistem waktu nyata memiliki dua model dalam pelaksanaannya: hard real time system dan soft real time system.
● Hard real time system
Menjamin suatu proses yang paling penting dalam sistem akan selesai dalam jangka waktu
yang valid. Jaminan waktu yang ketat ini berdampak pada operasi dan perangkat keras yang
mendukung sistem. Operasi I/O dalam sistem, seperti akses data ke storage, harus selesai dalam jangka waktu tertentu. Dari segi hardware, memori jangka pendek (short-term memory) atau read-only memory (ROM) menggantikan harddisk sebagai tempat penyimpanan data. Kedua jenis memori ini dapat mempertahankan data mereka tanpa suplai
energi. Ketatnya aturan waktu dan keterbatasan hardware dalam sistem ini membuat ia sulit untuk dikombinasikan dengan sistem lain, seperti sistim multiprosesor dengan sistem time-sharing. Untuk implementasinya, dapat digunakan dalam bidang pencitraan medis, sistem
metode ini telah diimplementasikan dalam bidang penelitian ilmiah.
1.3. Arsitektur Komputer
Secara umum, sistem komputer terdiri atas CPU dan sejumlah device controller yang terhubung melalui sebuah bus yang menyediakan akses ke memori. Umumnya, setiap device controller bertanggung jawab atas sebuah hardware spesisfik. Setiap device dan CPU dapat beroperasi secara konkuren untuk mendapatkan akses ke memori. Adanya beberapa hardware ini dapat menyebabkan masalah sinkronisasi. Karena itu, tindakan pencegahan yang dilakukan adalah
sebuah memory controller ditambahkan untuk sinkronisasi akses memori.
Arsitektur komputer telah mengalami perkembangan secara terus-menerus sampai saat ini.
Gambar 1.5. Arsitektur komputer tradisional
Seiring perjalanan waktu dan hasil riset teknologi, konsep von-neuman tersebut
diterjemahkan dalam penciptaan komputer-komputer secara lebih riil, sistem komputer yang lebih
maju membawa arsitektur yang lebih kompleks (dapat dilihat pada gambar 1.6). Untuk
meningkatkan performa, digunakan beberapa buah bus. Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus). Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge .
Gambar 1.6. Arsitektur komputer umum
Untuk arsitektur komputer yang lebih modern, dapat dilihat pada gambar 1.7.
Gambar 1.7. Arsitektur komputer modern
1.4. Proteksi Perangkat Keras
Untuk meningkatkan utilisasi sistem, sistem operasi akan membagi sistem sumber daya
sepanjang program secara simultan. Pengertian spooling adalah suatu program dapat dikerjakan walau pun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data
pada memori pada satu waktu.
Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu
akan tetapi mengakibatkan masalah-masalah baru. Ketika tidak di sharing, maka jika terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika di-sharing jika terjadi kesalahan pada satu proses atau program akan berpengaruh pada proses lainnya, sehingga diperlukan
pelindung (proteksi). Tanpa proteksi, jika terjadi kesalahan maka hanya satu saja program yang
dapat dijalankan atau seluruh output pasti diragukan.
Banyak kesalahan pemprograman dideteksi oleh perangkat keras yang biasanya ditangani
oleh sistem operasi. Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada
sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan
disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya
tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan ulang.
a. Dual mode operation
Membagi sumber daya sistem yang memerlukan sistem operasi untuk menjamin bahwa
program yang salah tidak menyebabkan program lain berjalan salah juga. Menyediakan dukungan
hardware untuk membedakan minimal dua mode operasi yaitu: User Mode - Eksekusi dikendalikan oleh user; Monitor/Kernel/System Mode - Eksekusi dikendalikan oleh sistem operasi. Instruksi tertentu hanya berjalan di mode ini (Privileged Instruction). Ditambahkan sebuah bit penanda operasi. Jika terjadi interrupt, maka hardware berpindah ke monitor mode. Untuk lebih jelasnya, dapat dilhat pada gambar 1.8.
Gambar 1.8. Proteksi pada dual mode operation
b. Proteksi I/O
Pengguna dapat mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan
mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari
privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus melalui sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika
pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O
dapat dikompromikan. Visualisasinya dapat dilihat pada gambar 1.9.
Gambar 1.9. Proteksi I/O
c. Proteksi Memori
Salah satu proteksi perangkat keras ialah dengan proteksi memori yaitu dengan pembatasan
penggunaan memori (dapat dilihat pada gambar 1.10). Disini dikenal beberapa istilah, yaitu:
● Base Register yaitu alamat memori fisik awal yang dialokasikan/ boleh digunakan oleh
pengguna.
● Limit Register yaitu nilai batas dari alamat memori fisik awal yang dialokasikan/boleh
digunakan oleh pengguna.
● Proteksi Perangkat Keras.