[go: up one dir, main page]

Academia.eduAcademia.edu
BAB I STRUKTUR DASAR PERANGKAT KERAS DAN PERANGKAT LUNAK KOMPUTER Dalam bentuknya yang sederhana, sebuah komputer merupakan sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan terdigitalkan, lalu mengolah masukan tadi menurut seperangkat instruksi yang tersimpan dalam komputer tersebut, dan menghasilkan informasi keluaran dari hasil pengolahan. Seperangkat instruksi yang telah tersimpan disebut program, dan unit penyimpanannya ialah memori komputer. Ada beberapa jenis komputer yang berbeda menurut ukuran, kecepatan, dan harga, yaitu: Mikrokomputer. Bentuk yang paling umum dari jenis ini ialah komputer pribadi (personal computer). Minikomputer dan workstation. Jenis ini biasa dipakai oleh sejumlah pemakai tertentu dan memiliki unit penyimpan luar berupa disk magnetic untuk menyimpan file program dan file data. Minikomputer banyak dipakai dalam pembuatan daftar gaji, akuntansi, dan aplikasi-aplikasi ilmiah. Ada lagi jenis komputer yang setingkat dengan minikomputer, yaitu workstation (stasiun kerja) yang memiliki kemampuan untuk menerima dan menghasilkan grafik. Workstation sering dipakai dalam bidang penerapan rekayasa, terutama untuk pekerjaan disain interaktif. Mainframe dan superkomputer. Komputer-komputer ini merupakan jenis komputer yang lebih besar dan lebih berdaya guna melebihi minikomputer dan workstation. Tabel 1.1 Perbedaan antara Mainframe dan Superkomputer Mainframe Superkomputer Dipakai untuk jangkauan rendah; yaitu dipakai untuk mengolah data perusahaan yang cukup besar, di mana kebutuhan terhadap kemampuan penyimpanan data dan komputerisasi lebih besar daripada yang dapat ditangani oleh minikomputer. Dipakai untuk jangkauan yang lebih tinggi; yaitu dipakai untuk perhitungan angka dengan skala besar, seperti ramalan cuaca, rancangan pesawat terbang, dan simulasi. 1.1 Unit-unit Fungsional Gambar 1.1 Unit Fungsional Dasar pada Komputer Dalam bentuk yang paling sederhana, sebuah komputer terdiri dari lima unit/bagian utama yang memiliki fungsi sendiri-sendiri, yaitu: Unit masukan (input unit). Komputer menerima informasi yang dikodekan melalui unit masukan, yaitu alat yang mampu membaca data. Contoh unit masukan yang paling umum ialah keyboard. Setiap kali tombol keyboard ditekan, maka digit yang dimaksud secara otomatis diterjemahkan ke dalam sandi yang sesuai dan dikirim langsung ke memori ataupun ke processor. Alat masukan lain yang juga tersedia ialah joystick, trackballs, dan mouse, yang sering dipakai sebagai alat masukan grafis. Selain lewat keyboard dan alat masukan grafis, data masukan juga dapat berasal dari komputer-komputer melalui jalur komunikasi digital. Unit pengingat / penyimpan (memory unit). Unit ini berfungsi untuk menyimpan program-program dan data. Alat-alat penyimpan dibedakan menjadi dua klas, yaitu penyimpan primer dan penyimpan sekunder. Penyimpan primer (yaitu, memori utama) ialah suatu unit memori dengan kemampuan operasi yang cepat dengan kecepatan elektronik. Program-program perlu disimpankan ke dalam memori utama selama waktu pengerjaan/pemrosesan. Instruksi dan data dapat dituliskan ke dalam memori utama dan dapat dibaca dari memori utama di bawah kontrol dari processor. Walaupun memori utama itu penting, namun harganya cenderung mahal. Sebagai tambahan/pendamping, penyimpan sekunder (yang lebih murah daripada memori utama) dipakai bilamana sejumlah data besar akan disimpan, khususnya jika sejumlah data tersebut belum saatnya diperlukan oleh processor. Contoh penyimpan sekunder: disket magnetik, harddisk, dan magnetic tape. Unit aritmetika dan logika (aritmetic and logic unit). Unit ini berfungsi untuk melakukan pengolahan-pengolahan secara aritmetika dan logika terhadap operand (data yang dioperasikan). Processor memiliki unit penyimpan internalnya yang disebut register. Register dipakai untuk penyimpan sementara untuk operand-operand yang sering dipakai / diacu oleh processor. Kecepatan akses ke register biasanya 5 sampai 10 kali lebih cepat daripada waktu akses ke memori utama. Unit keluaran (output unit). Unit ini merupakan pasangan kerja dari unit masukan. Unit ini berfungsi untuk mengirimkan hasil-hasil pengolahan keluar dari komputer. Contoh alat dari unit keluaran ialah pencetak (printer). Alat-alat masukan dan keluaran biasanya dikombinasikan dan diberi nama unit input-output (I/O). Hal ini cukup beralasan, sebab sejumlah peralatan standar menyediakan kedua fungsi input dan output tersebut; contohnya, terminal video terdiri dari keyboard untuk alat masukan dan monitor untuk alat keluarannya. Kita harus menekankan bahwa fungsi-fungsi input dan output itu terpisah dalam terminalnya; dengan kata lain, komputer memandang hal itu sebagai dua alat yang berbeda, walaupun manusia memandang sebagai unit yang sama. Unit kendali (control unit). Unit ini berfungsi untuk: Mengirimkan sinyal-sinyal kontrol kepada empat unit yang telah disebutkan di atas. Mengontrol keempat unit yang telah disebutkan di atas. Dari uraian di atas, maka cara kerja sebuah komputer dapat disimpulkan sebagai berikut: Komputer menerima informasi (program dan data) lewat unit masukan, dan mengirimkannya ke unit memori. Informasi yang telah tersimpan dalam unit memori diambil di bawah kontrol program, dan dimasukkan ke dalam unit aritmetika dan logika untuk diolah. Informasi yang sudah diolah meninggalkan komputer lewat unit keluaran. Seluruh kegiatan dalam mesin komputer diatur oleh unit kontrol. 1.2 Konsep-konsep Operasional Dasar Pada subbab (1.1) di atas disebutkan bahwa kegiatan komputer berjalan sesuai instruksi-instruksi; di mana instruksi dan operand) tersimpan di memori. Untuk dapat melakukan fungsinya, tiap-tiap instruksi dan operand dibawa dari memori ke processor. Misalnya, terdapat sebuah instruksi berikut: Add LOCA, RØ Arti dari instruksi di atas ialah menambahkan operand di lokasi memori LOCA ke operand di register CPU, RØ, dan hasil penjumlahan disimpan di register RØ. Instruksi ini memerlukan pelaksanaan dalam beberapa tahap, yaitu [a] instruksi dipindahkan dari memori utama ke dalam processor, [b] operand di lokasi LOCA diambil dan dijumlahkan dengan operand di RØ, dan [c] hasil penjumlahan disimpan dalam register RØ. Hubungan antara memori utama dengan processor ditunjukkan pada gambar di bawah ini. Gambar 1.2 Hubungan antara Processor dengan Memori Utama Berdasarkan gambar (1.2) di atas, processor memiliki komponen-komponen berikut ini: Rangkaian aritmetika dan logika / ALU sebagai elemen pengolah yang utama. Sejumlah register yang dipakai untuk penyimpanan sementara terhadap operand yang akan diolah oleh ALU. Register-register khusus, yaitu: Register instruksi (instruction register / IR), untuk menerjemahkan instruksi yang akan dieksekusi. Keluaran dari IR diberikan kepada unit kontrol, sehingga unit kontrol menghasilkan sinyal pewaktu untuk mengendalikan processor untuk mengeksekusi instruksi yang akan dieksekusi tersebut. Pencacah program (program counter / PC), berisi alamat-alamat instruksi yang akan dieksekusi. Isi PC dibaharui selama waktu pengeksekusian sebuah instruksi. Register alamat memori (memory address register / MAR), berisi alamat lokasi untuk data yang akan diambil/dibaca dari memori maupun alamat lokasi untuk data yang akan disimpankan/dituliskan ke memori. Register data memori (memory data register / MDR), berisi data yang akan diambil/dibaca dari memori maupun data yang akan disimpankan/dituliskan ke memori. Pelaksanaan / pengeksekusian program dapat dirinci sebagai berikut: Isi PC disiapkan untuk menunjukkan instruksi yang akan dieksekusi. Isi PC dikirimkan ke MAR dan sinyal kontrol Read dikirimkan ke memori. Sesudah beberapa saat lamanya sesuai dengan waktu pengaksesan memori, maka word (berupa instruksi) yang sesuai dibaca dari memori dan dimuatkan ke dalam MDR. Instruksi yang berada di dalam MDR dipindahkan ke dalam IR untuk diterjemahkan. Jika eksekusi instruksi tersebut melibatkan suatu operasi yang dikerjakan oleh ALU, maka akan melibatkan operand-operand yang akan dioperasikan. Operand ini dapat berada di register-register CPU maupun masih tersimpan di memori. Jika operand berada di memori, maka operand harus diambil dengan cara menempatkan alamat lokasinya ke dalam MAR dan menginisialisasi daur pembacaan. Operand yang telah dibaca tersebut kemudian ditempatkan ke dalam MDR untuk selanjutnya dikirim ke dalam ALU. Jika hasil operasi akan disimpankan ke dalam memori, maka data hasil operasi ditempatkan ke dalam MDR, alamat lokasi yang dituju ditempatkan ke dalam MAR, dan sinyal kontrol Write dikirimkan ke memori. Selama waktu pengerjaan instruksi ini, isi PC dapat dibaharui sehingga dapat menunjukkan instruksi berikutnya yang akan dieksekusi. Jika selama pengeksekusian instruksi tiba-tiba processor menerima sinyal interupsi (permintaan layanan) dari unit I/O, maka arus normal dari pengeksekusian instruksi tadi dapat terhenti dan processor melayani interupsi tersebut. Processor melayani interupsi ini dengan mengeksekusi suatu rutin-layanan- interupsi yang sesuai. Karena pengeksekusian instruksi sebelumnya terhenti sementara, tentu hal ini akan mengubah keadaan internal di dalam processor, sehingga keadaan ini harus diselamatkan ke dalam stack memori sebelum processor melayani interupsi. Keadaan yang diselamatkan ke dalam stack meliputi isi PC, isi register-register, dan sejumlah informasi kontrol. Setelah interupsi selesai dilayani, maka keadaan processor dipulihkan kembali sehingga eksekusi program yang terhenti tadi dapat berlanjut dengan benar. 1.3 Struktur-struktur Bus Untuk membentuk sebuah sistem operasional, maka unit-unit fungsional – yang telah dibahas pada subbab (1.1) di atas – harus dihubungkan dengan bus. Bus ialah sejumlah lintasan (berupa kawat) yang menghubungkan unit-unit fungsional di dalam komputer. Bus dikelompokkan menjadi tiga jalur utama, yaitu: Bus data, dipakai untuk transmisi data. Bus alamat, menspesifikasikan lokasi data di dalam memori utama. Bus kontrol, mengidentifikasikan arah dari pemindahan data dan mengkoordinasikan pewaktuan kejadian selama pemindahan. Subbab ini akan membahas tiga macam struktur bus yang umum, yaitu struktur dua-bus dan struktur bus-tunggal. Gambar 1.3 Struktur Dua-Bus Pada gambar (1.3) di atas, merupakan struktur dua-bus dari sebuah komputer. Processor berhubungan dengan memori lewat bus memori, dan penanganan fungsi-fungsi I/O lewat bus I/O. Pada gambar (1.3.a) di atas, data melewati processor dalam perjalanannya menuju memori. Perpindahan I/O berada di bawah kontrol processor, yang memulai proses perpindahan dan memonitor proses tersebut sampai selesai. Jenis lain dari struktur dua-bus ditunjukkan pada gambar (1.3.b) di atas, di mana transfer I/O dibuat secara langsung menuju/dari memori. Untuk mengendalikan transfer ke/dari memori ini, maka perlu menetapkan mekanisme kontrol tersendiri. Teknik yang dipakai ialah menyediakan rangkaian kontrol sebagai bagian dari perlengkapan I/O dalam rangkaian yang disebut peripheral processor, yang merupakan suatu processor untuk keperluan tertentu. Processor utama menginisialisasi sebuah pemindahan dengan meneruskan informasi yang diperlukan kepada peripheral processor, setelah itu peripheral processor mengambil alih dan mengendalikan pemindahan data sampai selesai. Gambar 1.4 Struktur Bus-Tunggal Jenis lain susunan bus ditunjukkan pada gambar (1.4) di atas; di mana seluruh unit pada komputer dihubungkan pada bus ini. Karena bus dapat dipakai hanya untuk satu pemindahan setiap kalinya, maka hanya dua unit yang dapat memakai bus. Jalur-jalur kontrol bus dipakai untuk memisahkan permintaan jamak terhadap pemakaian bus. Kelebihan utama dari struktur bus-tunggal ialah biaya murah dan fleksibilitasnya dalam mempekerjakan peralatan peripheral. Kelemahan dari struktur bus-tunggal ialah kecepatan operasi yang lebih lambat. Struktur bus-tunggal ditemukan/dipakai dalam minikomputer dan mikrokomputer. 1.4 Perangkat Lunak (Software) Komputer harus memiliki beberapa sistem perangkat lunak agar user dapat menjalankan program aplikasi. Sistem perangkat lunak ialah kumpulan program yang menjalankan fungsi-fungsi seperti: Menerima dan menerjemahkan perintah user. Memasukkan dan meng-edit program-program aplikasi dan menyimpannya sebagai file-file pada penyimpanan sekunder. Mengelola penyimpanan dan pencarian kembali file-file dalam penyimpanan sekunder. Menjalankan program aplikasi standar seperti spreadsheet atau permainan dengan data yang disediakan oleh user. Mengendalikan unit-unit I/O untuk menerima informasi masukan dan menghasilkan keluaran. Menerjemahkan program dari bentuk source-code yang dimasukkan oleh user menjadi bentuk object-code yang berupa instruksi mesin. Menghubungkan dan menjalankan program aplikasi tertulis dari user dengan standar rutin dalam sistem, misalnya paket komputer numerik. Sistem perangkat lunak bertanggung jawab atas koordinasi dari seluruh kegiatan dalam suatu sistem komputasi. Program aplikasi biasanya ditulis dalam bahasa pemrograman tingkat tinggi, seperti Pascal atau Fortran. Selain itu, terdapat suatu program sistem perangkat lunak yang disebut compiler, dipakai untuk menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi agar menjadi suatu program bahasa mesin yang sesuai. Program sistem penting lainnya yang dikenal oleh user ialah program teks entry dan editing, di mana user menjalankan perintah dengan interaktif. Komponen kunci dari sistem perangkat lunak ialah sistem operasi / SO (operating system / OS), merupakan kumpulan rutin yang dipakai untuk mengendalikan pembagian dari interaksi di antara unit-unit fungsional komputer pada saat suatu unit melakukan program aplikasi. Rutin SO melakukan tugas yang diperlukan untuk menempatkan sumber daya-sumber daya komputer pada program aplikasi individual. Tugas-tugas ini meliputi penempatan memori utama dan ruang disk pada program dan file data, juga pemindahan data antara memori utama dan unit-unit disk, serta menangani operasi I/O. Agar dapat mengerti dasar sistem operasi, kita dapat lihat contoh berikut: Misalnya suatu sistem komputer terdiri dari satu processor, satu disk, satu printer, dan menjalankan satu program aplikasi. Anggaplah bahwa program aplikasi telah tersusun menjadi bahasa mesin dan tersimpan dalam disk. Pekerjaan-pekerjaan dari program mencakup pembacaan file data dari disk ke dalam memori utama, pelaksanaan komputasi data, dan pencetakan hasil. Langkah pertama ialah file program bahasa mesin dipindahkan dari disk ke dalam memori utama. Ketika pemindahan selesai, maka pelaksanaan program dapat dimulai. Ketika pelaksanaan program mencapai saat di mana file data diperlukan untuk dibaca, maka program meminta kepada SO untuk memindahkan file data dari disk ke dalam memori utama, maka SO melakukan tugas pemindahan ini dan menyampaikan pelaksanaan kontrol kembali kepada program aplikasi yang kemudian meneruskan melakukan komputasi yang diinginkan. Ketika komputasi selesai dan hasilnya siap dicetak, maka program aplikasi kembali memindahkan kontrol kepada SO. Rutin SO kemudian dijalankan untuk memungkinkan printer mencetak hasil komputasi. Pada uraian contoh di atas, kita melihat bahwa kontrol pelaksanaan bekerja secara bolak-balik di antara program aplikasi dan rutin SO, di mana pembagian waktu pelaksanaan processor dapat digambarkan sebagai diagram garis waktu pada gambar di bawah ini. Gambar 1.5 Program Pemakai dan Pembagian Waktu Rutin-rutin SO Processor Keterangan gambar (1.5) di atas: Selama periode waktu t0 sampai t1, Rutin SO mulai memindahkan program aplikasi dari disk ke memori utama, kontrol SO menunggu sampai proses pemindahan selesai. Ketika proses pemindahan selesai, maka SO menyerahkan kontrol kepada program aplikasi. Pola kegiatan ini serupa dengan periode waktu t2 ke t3 dan t4 ke t5 (sewaktu SO memindahkan file data dari disk ke memori dan mencetak hasil. Pada t5, SO dapat menjalankan program aplikasi yang lain. Bagaimana caranya agar sumber daya-sumber daya pada sebuah komputer dapat dipakai secara lebih efisien apabila beberapa program aplikasi akan dijalankan? Jawabnya, dengan memakai pembagian waktu kontrol SO. Perhatikan bahwa disk dan processor tidak jalan pada periode waktu t4 ke t5 di saat printer beroperasi, maka memungkinkan bagi SO untuk memindahkan program berikutnya dari disk ke dalam memori. Demikian pula pada periode waktu t0 ke t1 di saat suatu program dipindahkan dari disk ke memori, maka memungkinkan bagi SO untuk mengontrol pencetakan hasil dari program sebelumnya. Jadi SO bertanggung jawab untuk memanfaatkan sumber daya-sumber daya komputer seefisien mungkin pada saat sejumlah program aplikasi dijalankan. W a k t u t5 t4 t3 t2 t1 t0 Program Rutin SO Disk Printer Memori Processor Keluaran Masukan (b) Struktur Dua-Bus Jenis yang lain Bus I/O Memori Bus memori Processor Keluaran Masukan (a) Struktur Dua-Bus Bus I/O Memori Bus memori Processor Keluaran Masukan Processor n register serbaguna ALU Rn–1 R1 R0 MDR IR PC MAR Kontrol Processor Kontrol Memori utama I/O Memori Keluaran Masukan Aritmetika dan Logika