Struktur Sistem Komputer
Pengampu Mata Kuliah Casi Setianingsih (CSI) Hp : 081320001220 (WA Only) Email Tugas : casie.sn@gmail.com Email Tel-U : setiacasie@telkomuniversity.ac.id
Komposisi Penilaian Quiz = 10% Tugas = 30% UTS = 25% UAS = 35% Toleransi : 20mnt Kennedy = 08116918113
Arsitektur Umum Sistem Komputer
Sistem Komputer Sistem komputer terdiri atas CPU dan sejumlah perangkat pengendali yang terhubung melalui sebuah bus yang menyediakan akses ke memori Setiap device controller (pengendali) bertanggung-jawab atas sebuah hardware spesifik. Setiap device (I/O) dan CPU dapat beroperasi secara konkuren (bersamaan) untuk mendapatkan akses ke memori -> masalah sinkronisasi. Sebuah memory controller ditambahkan untuk sinkronisasi akses memori
PROSESOR
PROSESOR Berfungsi mengendalikan operasi komputer & melakukan fungsi pemrosesan data. Langkah-langkah yang dilakukan pemroses : mengambil instruksi yang dikodekan secara biner dari memori utama mendekode instruksi menjadi aksi-aksi sederhana melaksanakan aksi – aksi
Prosesor Operasi yang ada di komputer : operasi logika, operasi aritmatika, operasi pengendalian Prosesor terdiri dari : Control unit (CU) – mengendalikan operasi Arithmetic Logic Unit (ALU) – komputasi (aritmatika dan logika) Register-register – memori cepat sebagai tempat operasi
Register Prosesor Mengakses memori utama untuk mengambil instruksi memerlukan waktu lebih banyak daripada menjalankannya – diatasi dengan adanya register di prosesor Untuk menyimpan variabel-variabel utama dan hasil sementara – sebagai tempat pemrosesan
Register Prosesor Program counter – berisi alamat memori dari instruksi selanjutnya yang akan diambil Stack pointer – pointer yang menunjukkan bagian atas dari suatu stack di memori Program status word – menyimpan status / keadaan dari program yang dijalankan prosesor
MEMORY
Jenis Memori Main memory : media storage yang dapat diakses langsung oleh CPU, kapasitas kecil, volatile Volatile : isi data hilang jika power dimatikan Secondary storage : penyimpanan data dengan kapasitas besar, non-volatile Non-volatile : data masih tersimpan walaupun power dimatikan
Register Bersifat volatile Berisi data yang akan diolah langsung di prosesor Kecepatan sangat tinggi. Kapasitas terbatas Sebagai tempat perhitungan/komputasi data
Cache Memory Bersifat volatile Meningkatkan kecepatan pengambilan dan penyimpanan data di memori oleh prosesor Jika program membutuhkan data di memori, cache akan mengecek apakah ada, jika ada dinamakan cache hit, jika tidak ada maka akan mencari ke RAM, dengan konsekuensi waktu yg dibutuhkan jd lebih lama Beberapa mesin mempunyai 2 / 3 level cache, masing2 lebih besar kapasitasnya dan lebih lambat daripada sebelumnya
Random Access Memory (RAM) Bersifat volatile Permintaan CPU yang tidak dapat dipenuhi di cache, akan menuju ke RAM
Memori Sekunder Non-volatile Kapasitas besar, harga murah Kecepatan lebih rendah dari memori utama Contoh : Flash Drive, Optical Disc, Magnetic Disk, MagneticTape
PERALATAN INPUT OUTPUT Terdiri 2 bagian : Komponen elektronis : Controller / pengendali perangkat Komponen mekanis : Perangkat itu sendiri Pengendali perangkat adalah serangkaian chip yang secara fisik mengendalikan perangkat. Jenis tiap pengendali berbeda - diperlukan software yang berbeda juga untuk mengendalikannya – device driver
Arsitektur Umum Sistem Komputer
Device Driver Berjalan di kernel Kernel adalah sebuah perangkat lunak yang membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras
Device Driver Tiga cara memasukkan driver ke kernel : Menghubungkan kembali kernel dengan driver yang baru kemudian restart sistem. Banyak digunakan oleh sistem berbasis UNIX Masuk ke file sistem operasi dan memberitahu bahwa membutuhkan driver kemudian restart sistem. Saat boot semua driver yang diperlukan di-load. Digunakan oleh Windows OS mampu menerima driver baru tanpa harus restart. Contoh : USB flash disk
Metode I/O Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu : Synchronous – menunggu sampai proses I/O selesai Sebuah thread memulai operasi I/O kemudian akan masuk ke state wait (tunggu) sampai operasi I/O selesai Ketika dalam state wait, CPU idle Asynchronous – proses lain dapat berjalan walaupun operasi I/O belum selesai Sebuah thread mengirim permintaan I/O ke kernel dengan memanggil fungsi yang cocok, jika diterima oleh kernel, thread akan melanjutkan proses yang lain sampai kernel memberitahu bahwa operasi I/O sudah selesai. Kemudian thread tersebut akan melakukan interupsi terhadap proses yang sedang dikerjakannya dan memproses data operasi I/O
Metode I/O
Direct Memory Access (DMA) Perangkat pengendali memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. Interupsi hanya terjadi tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC).
Direct Memory Access (DMA) DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke pengendali DMA. Interupsi pada prosesor hanya terjadi saat proses transfer selesai.
Proses DMA
Device-Status Table
BUS Jalur komunikasi antara beberapa device yang berbeda Terdiri 3 macam : Bus alamat – jalur komunikasi alamat Bus data – jalur komunikasi data Bus kendali – jalur sinyal kendali (misal : read/write)
Bus (Dahulu)
Bus (Sekarang) Jelaskan bagian yang ada di bus masa sekarang. Bandingkan bus dahulu dengan sekarang apa bedanya?
FSB – bus utama berkecepatan tinggi yang menghubungkan RAM, Prosesor, GPU(VGA AGP) Bridge - Perangkat lain yang lebih lambat dihubungkan bus berkecepatan lebih rendah yang terhubung ke bus lain yang lebih cepat sampai ke bus utama
INTERUPSI Interupsi (interrupt) adalah suatu permintaan khusus pada mikroprocessor untuk melakukan sesuatu jika terjadi interupsi maka komputer akan menghentikan dahulu apa yang sedang dikerjakan dan melakukan apa yang di minta setelah selesai maka aliran program akan kembali melanjutkan program sebelum terjadinya interupsi.
INTERUPSI Interupsi merupakan sub rutin yang sudah tersedia dalam memori komputer. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS Jadi jika terjadi interupsi dengan nomor 0 s/d 1Fh maka secara default komputer akan beralih ke ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler, dan hanya dijalankan jika terjadi sesuatu kejadian khusus (event).
INTERUPSI Interupsi dari hardware biasanya dikirimkan melalui sinyal tertentu Interupsi software dengan cara menjalankan system call. System call ini akan menyebabkan trap / exception (interupsi khusus yang dihasilkan software karena adanya masalah atau permintaan terhadap OS)
Interupsi Setiap interupsi terjadi, sekumpulan kode yang dikenal sebagai ISR (Interrupt Service Routine) akan menentukan tindakan yang akan diambil. Untuk menentukan tindakan yang harus dilakukan, dapat dilakukan dengan dua cara yaitu : polling yang membuat komputer memeriksa satu demi satu perangkat yang ada untuk menyelidiki sumber interupsi menggunakan alamat-alamat ISR yang disimpan dalam array yang dikenal sebagai interrupt vector di mana sistem akan memeriksa Interrupt Vector setiap kali interupsi terjadi.
PROTEKSI PERANGKAT KERAS OS akan memproteksi perangkat keras disebabkan banyaknya penggunaan sumber daya di komputer Supaya jika ada satu program yang tidak bekerja maka tidak akan menganggu kinerja OS maupun program lain yang sedang berjalan
Proteksi Perangkat Keras spooling - suatu program dapat dikerjakan walau pun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu. Masalah - jika terjadi kesalahan pada satu proses/ program akan berpengaruh pada proses lainnya – diperlukan proteksi
Proteksi Perangkat Keras 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 program ulang.
Proteksi Perangkat Keras Dual-mode Operation I/O Protection Memory Protection CPU Protection
Operasi Dual Mode Menyediakan dukungan perangkat keras untuk membedakan minimal dua mode operasi yaitu : Mode Monitor/Kernel/System – eksekusi dikendalikan OS Mode Pengguna – eksekusi dikendalikan user
Operasi Dual Mode Ketika interrupt atau kesalahan terjadi hardware di-switch ke monitor mode
Proteksi I/O Tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat sistem operasi terlebih dahulu (privileged instructions).
Proteksi I/O
Proteksi Memori Pembatasan penggunaan memori. Prosedur proteksi memory, tambahkan dua register yang menentukan range legal address akses program : Base Register - alamat memori fisik awal yang dialokasikan/ boleh digunakan oleh pengguna. Limit Register - nilai batas dari alamat memori fisik awal yang dialokasikan/boleh digunakan oleh pengguna. Memory diluar range yang didefinisikan diproteksi
Penggunaan Base and Limit Register
Penggunaan Base and Limit Register Sebagai contoh pengguna dibatasi : base register 1000 limit register 500 hanya diperbolehkan menggunakan alamat memori fisik antara 1000 hingga 1500 saja.
Proteksi CPU Timer – interrupt komputer setelah periode tertentu untuk memastikan OS memegang kendali, ketika nilai timer = 0, interrupt terjadi Timer biasanya digunakan untuk implementasi time sharing (pembagian waktu)