Materi Struktur Komputer | Teknik Informatika – Pertemuan 2

Struktur sebuah sistem komputer dapat dibagi menjadi 5 yaitu :

1. Sistem Operasi Komputer.
2. Struktur I/O.
3. Struktur Penyimpanan.
4. Storage Hierarchy.
5. Proteksi Perangkat Keras.

A. Sistem Operasi Komputer

Saat ini sistem komputer terdiri dari CPU (Central Processing Unit) dan device controller yang saling terhubung melalui bus dan memberikan akses ke memori. Setiap device controller memiliki tugas untuk mengatur perangkat tertentu (contohnya disk drive, audio device, dan video display). CPU dan device controller dapat berjalan secara bersamaan, namun memerlukan mekanisme sinkronisasi untuk mengatur akses ke memori.

Saat pertama kali dinyalakan atau pada saat boot, terdapat sebuah program awal yang harus dijalankan. Program awal ini disebut program bootstrap. Program ini berisi semua aspek dari system komputer, mulai dari register CPU, device controller, sampai isi memori.

Interupsi merupakan bagian penting dari sistem arsitektur komputer. Setiap sistem komputer memiliki mekanisme yang berbeda. Interupsi terjadi jika prosesor tidak melayani perangkat keras (hardware) atau perangkat lunak (software). Jika terjadi interupsi maka prosesor akan mengerjakan service routine untuk melayani interupsi yang sedang terjadi dan menghentikan semua proses yang sedang dikerjakannya. Setelah selesai mengerjakan service routine semuanya, maka prosesor akan kembali melanjutkan proses yang tertunda sebelumnya.

B. Struktur I/O

Struktur I/O dibagi menjadi 2 yaitu Interupsi I/O dan Struktur DMA.

1. Interupsi I/O

Untuk menjalankan operasi I/O, CPU me-load register yang sesuai ke device controller. Begitupun sebaliknya device controller akan memeriksa isi dari register untuk menentukan operasi apa yang harus dilakukan. Ada dua kemungkinan pada saat operasi I/O dijalankan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, setelah proses I/O selesai dikerjakan kendali akan dikembalikan ke proses pengguna. Sedangkan pada asynchronous I/O, tanpa menunggu proses I/O selesai kendali dikembalikan ke proses pengguna. Sehingga kedua proses tersebut, I/O dan proses pengguna dapat berjalan secara bersamaan.

2. Struktur DMA

Direct Memory Access (DMA) suatu metoda penanganan I/O dimana device controller secara langsung berhubungan dengan memori tanpa campur tangan CPU. Setelah perangkat I/O di-set buffers, pointers, dan counters, device controller akan mentransfer blok data langsung ke penyimpanan tanpa bantuan CPU. DMA berfungsi untuk perangkat I/O dengan kecepatan tinggi. Hanya ada satu interupsi pada setiap blok, berbeda dengan perangkat yang mempunyai kecepatan rendah, interupsi terjadi untuk setiap byte (word).

C. Struktur Penyimpanan

Untuk dapat menjalankan program komputer, program komputer harus berada di dalam memori utama (RAM). Memori utama adalah tempat penyimpanan yang hanya dapat diakses secara langsung oleh prosesor. Idealnya semua program dan data dapat disimpan dalam memori utama (RAM) secara permanen. Namun semua itu tidak mungkin karena:

  • Ukuran memori utama relatif kecil untuk dapat menyimpan semua data dan program secara keseluruhan.
  • Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, jika komputer dimatikan maka data yang tersimpan di memori utama juga akan hilang.

1. Memori Utama

Hanya ada dua tempat penyimpanan yang dapat diakses secara langsung oleh prosesor yaitu memori utama dan register. Oleh karena itu instruksi dan data harus disimpan di memori utama atau register agar bisa dieksekusi.

Agar perangkat I/O mudah akses ke memori, pada arsitektur komputer disediakan fasilitas pemetaan memori ke I/O. Dalam hal ini device register telah memetakan sejumlah alamat di memori. Membaca dan menulis pada alamat memori dapat menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respon yang cepat seperti video controller.

Register yang berada di dalam prosesor dapat diakses dalam waktu 1 clock cycle. Itu yang menyebabkan register merupakan tempat penyimpanan dengan pengaksesan tercepat dibandingkan dengan memori utama (RAM) yang membutuhkan waktu relatif lama. Untuk menangani perbedaan kecepatan, maka dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.

2. Magnetic Disk

Magnetic Disk memiliki peran sebagai memori kedua (secondary storage) pada sistem komputer modern. Magnetic Disk tersusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor.

D. Storage Hierarchy

Dalam storage hierarchy structure, system penyimpanan akan menampilkan data yang sama dalam level berbeda. Sebagai contoh integer A bertempat pada bekas B yang ditambahkan 1, dengan asumsi bekas B berlokasi pada magnetic disk. Operasi penambahan akan diproses pertama kali saat mengeluarkan operasi I/O untuk menduplikat disk block pada A yang terletak di memori utama.

Operasi ini akan diikuti penduplikatan, kemungkinan penduplikatan A ke cache dan penduplikatan A ke internal register. Sehingga penduplikatan A terjadi di beberapa lokasi. Yang pertama terjadi di dalam internal register dimana nilai A berbeda dengan yang di sistem penyimpanan. Dan ketika nilai baru ditulis ulang ke magnetic disk, nilai di A akan kembali sama.

Pada kondisi multi prosesor, situasi akan menjadi lebih rumit. Hal ini disebabkan masing-masing prosesor mempunyai local cache. Dalam kondisi seperti ini hasil duplikat dari A mungkin hanya ada dibeberapa cache. Kita harus memastikan perubahan dari nilai A pada satu cache akan mengubah nilai A pada semua cache yang ada, Karena CPU (register-register) dapat berjalan secara bersama-sama. Hal ini disebut sebagai Cache Coherency.

E. Proteksi Perangkat Keras

Sistem komputer terdahulu berjenis programmer-operated systems. Ketika komputer dioperasikan dalam konsul mereka (pengguna) harus melengkapi sistem terlebih dahulu. Tetapi ketika sistem operasi telah lahir maka hal tersebut diambil alih oleh sistem operasi. Sebagai contoh yang sudah diambil alih oleh sistem operasi yaitu pada monitor yang proses I/O, padahal dahulu hal ini dilakukan oleh pengguna.

Untuk peningkatan utilisasi sistem, sistem sumber daya sepanjang program secara simultan akan dibagi oleh sistem operasi. Spooling merupakan suatu program yang dapat dilakukan walau I/O sedang melakukan proses lain dan disk akan menggunakan data untuk semua proses. Kegiatan menjalankan beberapa program pada memori pada satu waktu disebut multi programming.

Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Jika tidak di sharing, ketika terjadi kesalahan hanya akan membuat kesalahan program. Tapi jika di-sharing, jika menglami kesalahan pada satu proses/ program akan berpengaruh pada proses lainnya. Sehingga diperlukan sebuah pelindung (proteksi). Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan.

Banyak kesalahan pemprograman yang terdeteksi oleh perangkat keras. Kesalahan ini biasanya akan ditangani oleh sistem operasi. Ketika terjadi kesalahan program, perangkat keras akan melanjutkan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan dari kesalahan akan disampaikan, dan memori dari program tersebut akan dihapus. Tetapi memori yang terbuang biasanya masih disimpan di disk agar programmer bisa membenarkan kesalahan dan menjalankan program ulang.

1. Operasi Dual Mode

Untuk memastikan operasi berjalan baik maka kita harus melindungi sistem operasi, program, dan data dari program-program yang salah. Proteksi ini memerlukan share resources. System operasi akan menyediakan pendukung perangkat keras yang mengizinkan kita membedakan mode pengeksekusian program.

Ada dua mode operasi yang dibutuhkan yaitu:

  • Mode Monitor
  • Mode Pengguna

Untuk membedakan mode apa yang sedang digunakan dan apa yang sedang dikerjakan, perangkat keras ada bit atau Bit Mode. Jika bernilai 0 maka Mode Monitor, dan jika bernilai 1 maka Mode Pengguna.

Perangkat keras berada pada mode monitor jika pada posisi boot time dan berganti ke mode pengguna setelah sistem operasi di-load. Ketika terjadi trap atau interupsi, perangkat keras akan mengembalikan lagi dari mode pengguna menjadi mode monitor (terjadi perubahan state menjadi bit 0). Dan akan kembali menjadi mode pengguna jika sistem operasi mengambil alih proses dan control komputer (state akan berubah menjadi bit 1).

2. Proteksi I/O

Jika pengguna melakukan instruksi I/O secara ilegal, pengguna bisa mengacaukan sistem operasi dengan mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk melakukan pencegahan, kita harus menganggap semua instruksi-intruksi I/O sebagai privilidge instruction sehingga mereka tidak dapat melakukan instruksi I/O secara langsung ke memori tetapi harus melewati sistem operasi dahulu. Jika pengguna dipastikan tidak akan menyentuh mode monitor Proteksi I/O dikatakan selesai. Jika hal ini terjadi proteksi I/O dapat dikompromikan.

3. Proteksi Memori

Proteksi perangkat keras salah satunya adalah dengan memproteksi memori yaitu dengan pembatasan penggunaan memori. Disini memerlukan beberapa istilah yaitu:

  • Base Register adalah alamat memori fisik minimun yang desediakan oleh pengguna.
  • Limit Register adalah nilai maximal dari alamat memori fisik awal yang disediakan oleh pengguna.
  • Proteksi Perangkat Keras.