Struktur 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 dan CPU dapat beroperasi secara konkuren (bersamaan) untuk mendapatkan akses ke memori -> masalah sinkronisasi. Sebuah memory controller ditambahkan untuk sinkronisasi akses memori
Skema Dasar Sistem Komputer Sistem Komputer terdiri atas empat komponen yang berkeja sama dan saling berinteraksi untuk mencapai tujuan. Empat komponen pokok di sistem komputer : Processor : berfungsi melakukan pengolahan data dan pengendalian operasi komputer Memori Utama : befungsi menyimpan data dan program sebelum dapat di eksekusi dan di manipulasi. Perangkat I/O : berfungsi memindahkan data antara komputer dan lingkungan eksternal (Secondary Storage, Communcation Device, Terminal … dll) Interkoneksi Antarkomponen adalah Struktur dan mekanisme untuk menghubungkan ketiga komponen pokok sistem komputer tersebut diatas.
Arsitektur Sistem Komputer
Processor 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 Operasi yang ada di komputer : operasi logika Contoh : + , - , X , / , dsb operasi aritmatika Contoh : OR, AND, X-OR, Inversi dsb. operasi pengendalian operasi Pencabangan, lompat dsb. Prosesor terdiri dari : Control unit (CU) : Befungsi mengendalikan operasi yang dilaksanakan sistem komputer Arithmetic Logic Unit (ALU) : komputasi (aritmatika dan logika) Register-register : Befungsi sebagai tempat operan-operan dari operasi yang akan dilakukan oleh prosessor.
Register Processor Mengakses memori 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 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
Jenis Memory 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
Memori Memory berfungsi untuk menyimpan data dan program. Hirarki Memori berdasarkan kecepatan akses
Register Regiter dapat dipandang sebagai Memory. Register merupakan memori yang terletak di Processor Tabel diatas selain menyatakan hirarki kecepatan juga menyatakan hubungan-hubungan lain yaitu : Hubungan Harga : semakain kebawah semakin murah. Hraga diperhitungkan berdasarkan rasio rupiah per bit data disimpan. Hubungan Kapasitas Semakin kebawah biasanya kapasitasnya senakin besar Hubungan Kecepatan Akses Semakin kebawah semakin lambat Hubungan Frekwensi Pengaksesan Semakin Kebawah semakin rendah frekwensi pengaksesan nya Setiap kali processor melakukan eksekusi, processor harus membaca instruksi dan data dari memory utama. Agar eksekusi dapat dilakukan dengan cepat maka harus diusahakan instruksi dan data tersedia di memory yang berkecepatan akses yang lebih tinggi. Untuk itu terdapat konsep memory dua level yang terbukti ampuh meningkatkan kinerja komputer yaitu : Chace Memory dan Buffering
Cache Memory : Buffering : Memory diantara memory utama dan register processor. Memory ini berkecepatan tinggi dan harganya lebih mahal dari pada memory utama. Dengan adanya cache memory, processor tidak langsung mengacu pada memory utama tetapi mengacu lebih dulu pada cache memory yang berkecepatan akses lebih tinggi. 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 Buffering : Bagina memory yang difungsikan menampung data yang akan ditransfer dari/ke perangkat I/O dan Storage Secunder. Buffering dapat mengurangi frekwensi pengaksesan sehingga meningkatkan kinerja sistem.
RAM (Random Access Memory) Bersifat volatile Permintaan CPU yang tidak dapat dipenuhi di cache, akan menuju ke RAM Memory Secunder Non-volatile Kapasitas besar, harga murah Kecepatan lebih rendah dari memori utama Contoh : Flash Drive, Optical Disc, Magnetic Disk, MagneticTape
PERALATAN INPUT OUTPUT (I/O) Perangkat I/O dipergunakan sistem komputer untuk berinteraksi dengan lingkungan luar, baik ke user ataupun lingkungan luar. 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
Device Driver Berjalan di kernel (Kernel adalah sebuah perangkat lunak yang membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras, yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses-proses yang sedang berjalan, pengaturan file-file, input-output terhadap dan dari suatu device dan masih banyak lagi fungsi tambahan yang lainnya. Intinya adalah kernel merupakan suatu penghubung antara software dan hardware). 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). 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
Interkoneksi antar Komponen Interkoneksi antar Komponen disebut juga bus. Interkoneksi berkaitan dengan tatacara hubungan antar komponen-komponen sistem komputer Bus terdiri dari tiga macam : Bus Alamat (address bus): Untuk memberikan alamat dari memori atau port yang hendak diakses. CPU mengirimkan alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini. Jalur ini bersifat satu arah. Bus data (data bus) : Jalur ini digunakan CPU untuk membaca dan mengirim data dari/ke memori atau port. Jalur ini bersifat dua arah. Bus kendali (control bus) : CPU mengirimkan sinyal-sinyal pada bus kendali untuk memeritahkan memori atauport, serta CPU menrima status dan sinyal balik memori atau port. Sinyal Bus kendali : Memory read : Untuk memerintahkan melakukan pembacaan memori Memory write : Untuk memerintahkan melakukan penulisan memori I/O Read : Untuk memerintahkan melakukan pembacaan port I/O write : Untuk memerintahkan melakukan penulisan port
Skema bus pada komputer dulu
Skema bus pada komputer sekarang