BAB II KOMPONEN SISTEM KOMPUTER
II.1 Keterkaitan Perangkat Keras dengan Perangkat Lunak Komputer merupakan piranti komputasi canggih, yang dapat mengerjakan hampir semua pekerjaan di berbagai disiplin ilmu. Tetapi tanpa perangkat lunak aplikasi, komputer hanyalah merupakan sebuah mesin yang mati. Secara umum hubungan antara program aplikasi dengan perangkat keras komputer diperlihatkan pada Gambar 2.1
Gambar 2.1. Keterkaitan Perangkat Keras dengan Perangkat Lunak Penggunaan komputer secara umum dapat dibagi menjadi dua, yaitu untuk kendali dan pengolahan data. Penggunaan komputer untuk sistem kendali yang sederhana sering disebut dengan "low-end application", dan penggunaan pada sistem kendali yang sangat kompleks, seperti robotika, sistem avionik, dan sistem militer yang canggih serta untuk pengolahan data secara umum sering dinamakan dengan "high-end application".
II.2 Perangkat Keras Komputer Sistem komputer terdiri atas dua komponen prinsip, yaitu sistem perangkat keras dan sistem perangkat lunak. Perangkat keras terdiri atas untai-untai elektronik, IC, disk-drive, casing, dan lain-lain. Sedang perangkat lunak merupakan kumpulan program yang akin mengatur koordinasi kerja pada sistem perangkat keras. Arsitektur suatu sistem komputer merupakan komponen utamanya, yang meliputi sifat-sifat dan karakteristik dan bagaimana pengorganisasiannya. Gambar 2.2 memperlihatkan diagram
kotak
arsitektur
suatu sistem
komputer.
Komponen-
komponennya terdiri atas CPU, untai pewaktuan, memori, subsistem input/output (I/O), logika kendali bus, dan sistem bus. CPU adalah suatu mikroprosesor yang scring disebut sebagai micro processor unit (MPU), yang berfungsi untuk mengartikan instruksi-instruksi dan menggunakannya untuk mengendalikan segala aktivitas yang tcrjadi di dalam sistem. Selain itu juga melakukan semua proses komputasi aritmatik dan logika.
Universitas Gadjah Mada
1
Gambar 2.2. Arsitektur Sistem Komputer.
Untai pewaktuan atau clock akan membangkitkan runtun pulsa atau gelombang kotak yang digunakan untuk sinkronisasi aktivitas di dalam mikroprosesor dan logika kendali bus. Runtun pulsa keluarannya biasanya mempunyai frekuensi yang sama tetapi dengan offset yang berbeda (fase yang berbeda). Memori digunakan untuk menyimpan baik data maupun instruksi yang sedang digunakan. Umumnya memori dibagi-bagi menjadi beberapa modul yang masing-masing modul terdiri atas ribuan lokasi. Setiap lokasi dapat berisi sebagian atau keseluruhan data atau instruksi yang bersesuaian dengan alamat memori. Subsistcm masukan/keluaran (I/O) dapat terdiri atas berbagai jenis piranti untuk berkomunikasi dengan dunia luar dan untuk menyimpan informasi dalam jumlah besar. Contoh komponen input diantaranya adalah keyboard, mouse, scanner, digitizer, pengubah analog ke digital (ADC), dan lain-lain, sedang komponen keluaran diantaranya adalah monitor, printer, pengubah digital ke analog, dan lain sebagainya. Beberapa piranti
Universitas Gadjah Mada
2
mempunyai kemampuan sebagai masukan maupun keluaran, seperti disk-drive, hard disk, terminal, dan lain-lain. Piranti masukan/keluaran yang digunakan untuk menyimpan program maupun data secara permanen dikenal sebagai unit penyimpan masal, seperti hard disk, compact disk (CD), dan pita magnetik. Meskipun unit penyimpan masal dapat digunakan untuk menyimpan data dan program, tetapi program tetap ham's ditransfer ke memori terlebih dahulu sebelum dapat dieksekusi. Sistem
bus
adalah
sekumpulan
konduktor-konduktor
atau
jalur-jalur
yang
menghubungkan CPU dengan memori dan piranti I/O lainnya. Sistem bus dapat berupa kabel atau jalur-jalur pada PCB (Printed Circuit Board) yang akan dilalui oleh informasi. Secara umum konduktor dari bus dapat dibagi menjadi tiga bagian, yaitu : 1.
Jalur data untuk transmisi informasi.
2.
Jalur alamat yang menunj ukkan dari mana informasi harus dibaca atau ke mana harus disimpan.
3.
Jalur kendali yang digunakan untuk mengatur aktivitas pada bus. Isyarat-isyarat pada bus harus dapat dikoordinasikan dengan isyarat-isyarat yang
dibangkitkan oleh berbagai komponen yang terhubung pada bus. Untai yang diperlukan untuk menghubungkan bus dengan piranti luar disebut antar-muka (interface). Logika kendali Bus bertindak sebagai antarmuka ke CPU. Semua antar-muka I/O harus mempunyai fasilitas atau kemampuan menyangga (buffering) data kedalam atau keluar sistem bus, menerima perintah dari CPU, dan mengirimkan status informasi, dan mengirimkan informasi status dari piranti yang diantarmukai ke CPU. Komunikasi antara antar-muka I/O dengan bus data ditangani oleh register yang biasa disebut dengan port I/O. II.3 Perangkat Lunak Komputer Secara umum perangkat lunak komputer dapat dibagi dalam dua kategori, yaitu perangkat lunak sistem dan perangkat lunak pengguna. Perangkat lunak sistem adalah sekumpulan program yang diperlukan untuk membuat, menyimpan dan mengeksekusi program. Perangkat lunak pengguna terdiri atas program-program yang dibuat oleh pengguna sistem dalam rangka memanfaatkan komputer untuk menyelesaikan masalah mereka. Sistem operasi adalah kumpulan dari program-program sistem yang meyediakan suatu antarmuka antara pengguna dengan mesin dan yang memungkinkan mesin dapat digunakan secara efisien. Bagian terpenting dari sistem operasi adalah "resident monitor" , yang akan berada pada memori komputer selama komputer dihidupkan. Resident monitor Universitas Gadjah Mada
3
harus mampu menerima perintah dari pengguna dan melakukan inisialisasi tindakan yang sesuai yang akan dilakukan oleh sistem operasi. Sistem operasi juga meliputi program-peogram yang disebut "I/O drivers" dan "file management routines", untuk membentuk operasi I/O dan untuk melayani kumpulan data yang besar yang disimpan pada piranti penyimpanan massal. Jika pengguna ingin menggunakan piranti I/O, maka biasanya operasi tersebut tidak dilakukan sendiri, tetapi meminta sistem operasi untuk menggunakan driver I/O untuk melaksanakan tugas tersebut. Hal ini membuat sistem operasi dapat melakukan kendali terhadap komputer secara lebih baik. File management routines digunakan dalam hubungannya dengan driver I/O penyimpan massal, dan untuk mengakses, menyalin, atau memanipulasi file yang lain. Perangkat lunak sistem dapat meliputi berbagai jenis translator bahasa level tinggi, assembler, teks editor, dan program-program bantu untuk mempersiapkan program yang lain. Terdapat tiga level bahasa pemrograman, yaitu : 1. Bahasa mesin. 2. Bahasa Assembler. 3. Bahasa level tinggi. Program bahasa mesin adalah program yang dapat dimengerti oleh komputer dan dapat dieksekusi secara langsung. Instruksi-instruksi bahasa assembler adalah yang paling sesuai dengan bahasa mesin, tetapi ditulis dengan menggunakan karakter string sehingga lebih mudah dimengerti, sedang instruksi-instruksi bahasa level tinggi semakin mendekati bahasa inggris, dan mempunyai struktur yang sesuai dengan pola pikir pemrogram. Saat program dieksekusi, maka baik bahasa assembler maupun bahasa level tinggi hams diubah ke dalam bahasa mesin oleh suatu program yang disebut translator. Jika program yang ditranslasikan dalam bahasa assembler, maka translatornya disebut assembler. Jika program dalam bahasa level tinggi maka translatornya disebut kompiler atau interpreter. II.4 Alamat Seluruh lokasi memori dan register I/O terdiri atas bit-bit yang dikelompokkan membentuk byte dan kata (words). Karena komputer bekerja dengan bilangan pangkat dua, maka satu byte terdiri atas 8 bit, sedangkan satu kata dapat terdiri atas 2, 3, atau 4 byte bergantung pada jenis komputer dan struktur sistem busnya. Setiap byte mempunyai identifikasi alamat yang bersesuaian dan jika suatu byte akan diakses, maka alamatnya akan dikirimkan melalui antarmuka yang sesuai melalui jalur alamat. Alamat tersusun atas kombinasi bit dan himpunan dari semua kombinasi yang mungkin yang disebut sebagai ruang alamat (address space). Jumlah dari bit dalam suatu alamat akan menentukan ukuran dari ruang alamat. Jika suatu alamat mempunyai lebar n-bit, maka terdapat
kemungkinan alamat (0 sampai 2n - 1). Jumlah jalur alamat Universitas Gadjah Mada
4
dalam sistem bus menentukan ukuran dari kapasitas memori. Suatu sistem bus dengan dua puluh jalur alamat menunjukkan kapasitas memori sebesar : 220 = (220),2= (103)2 = 1 juta byte
Gambar 2.3. Organisasi Register I/O dan memori.
II.5 Operasi Umum Sistem Komputer Dalam hubungannya dengan bahasa level tinggi, maka suatu CPU hams mempunyai fasilitas untuk bekerja dengan : 1. Ekspresi aritmatik dan tanda bilangan 2. Pencabangan tak bersyarat 3. Pencabangan bersyarat dan ekspresi relasional dan logik 4. Operasi kalang (looping) 5. Larik dan struktur data yang lain 6. Subrutin 7. Operasi masukan/keluaran Contoh arsitektur CPU yang dirancang untuk dapat melaksanakan ketujuh fungsi di atas diperlihatkan pada Gambar 2.4, yang meliputi unit kendali untuk dekoding dan eksekusi instruksi, sekelompok register kerja untuk membantu dalam.pengalamatan dan tugas komputasi, unit aritmatika dan logika (ALU) untuk mengeksekusi operasi aritmatika dan logika, dan kendali I/O untuk menangani masukan/keluaran. Universitas Gadjah Mada
5
Gambar 2.4 Arsitektur CPU. Seperti halnya pada Bahasa level tinggi instruksi akan dieksekusi secara runtut, kecuali jika terdapat instruksi pencabangan/lompatan. Register instruksi IR (Instruction register) berfungsi memegang instruksi, sementara sedang didekod dan dieksekusi, dan pencacah program PC (Program counter) berfungsi untuk memegang alamat dari instruksi berikutnya. Jika eksekusi suatu instruksi telah selesai, maka alamat pada PC akan diletakkan pada bus alamat, kemudian memori akan meletakkan instruksi berikutnya pada bus data, dan CPU akan memasukkan instruksi tersebut ke JR. Sementara instruksi sesdang didekod, dihitung panjang instruksi tersebut dalam
Universitas Gadjah Mada
6
Gambar 2.5 Urutan Instruksi.
Universitas Gadjah Mada
7
byte dan kemudian PC akan bertambah sesuai dengan panjang instruksi tersebut sehingga akan menunjuk ke instruksi berikutnya. Jika eksekusi instruksi ini telah lengkap, isi dari PC akan diletakkan pada bus alamat dan siklus berulang kembali. Instruksi pencabangan talc bersyarat memungkinkan eksekusi yang tidak urut dengan mengubah isi dari PC. Alamat instruksi berikutnya ditentukan oleh instruksi pencabangan. Pada pencabangan bersyarat, isi PC dapat diubah atau tetap tergantung dari basil instruksi sebelumnya, yaitu apakah syarat dipenuhi atau tidak, yang dapat dilihat dari status prosesor saat ini. Status dari prosesor disimpan pada register yang disebut Program Status Word (PSW). PSW terdiri atas bit-bit yang menunjukkan kondisi dari suatu operasi yang telah dilakukan, balk operasi aritmatika maupun operasi logika yang menghasilkan nilai positif, negatif , nol, over flow, dan lain-lain. Operasi kalang (looping) umumnya dilakukan dengan menggunakan instruksi pencabangan bersyarat, meskipun ada beberapa prosesor yang mempunyai instruksi yang menggabungkan antara pengujian pencacahan dan/atau pencabangan bersyarat. Pada instruksi pcmanggilan subrutin diperlukan suatu pencabangan khusus, karena urutan instruksi harus dapat kembali ke alamat saat memanggil subrutin, seperti yang diperlihatkan pada Uambar 2.5. Pada saat mengeksekusi subrutin, maka alamat kembali harus tetap disimpan, sehingga dapat diletakkan kembali ke PC saat selesai mengeksekusi subrutin. Untuk menyimpan alamat kembali (return address) ini diperlukan suatu pengingat sementara yang disebut dengan tumpukan (stack). Slack mempunyai sifat bahwa data yang masuk pertama akan dikeluarkan paling akhir atau dikenal dengan istilah LIFO (last in first out). II.6 Klasifikasi suatu Sistem Komputer Secara umum suatu sistem komputer dapat diklasifikasikan berdasarkan tiga koomponen utama, yaitu : 1. Panjang kata (word length) dari registernya 2. Kapasitas memori 3. Pembangkit clock Panjang kata register akan menentukan kemampuan maksimtun dari komputer untuk mengartikan kesatuan bit sebagai instruksi. (jumlah instruksi maksimum). Misalnya untuk prosesor 8088 (IBM PC XT) yang mempunyai panjang kata register 8 bit, maka jumlah instruksi maksimumnya adalah 28 = 256 instruksi. Sedangkan untuk AT80286 yang mempunyai panjang kata register 16 bit, akan mempunyai instruksi maksimum 2 16 = 65536 instruksi.
Universitas Gadjah Mada
8
Selain dari itu, panjang kata register juga menentukan kemampuan dan jumlah siklus dalam mengambil instruksi atau data dari memory. Misal untuk XT 8088, maka satu kali siklus pengambilan data adalah 1 byte, sedang untuk AT 80286 satu kali siklus pcngambilan data adalah 2 byte. Jadi semakin panjang registcrnya, maka semakin sedikit siklus pengambilan data atau instruksinya, yang berarti prosesnya menjadi semakin cepat. Seperti diketahui memori memegang peranan yang sangat penting dalam sistem komputer, karena semua data atau program harus diletakkan pada memori lebih dahulu sebelum dapat dieksckusi. Dalam hal ini semakin besar memori yang terpasang maka akan mempercepat proses eksekusi program. Jadi kapasitas memori yang dapat diakses oleh suatu sistem komputer akan juga menentukan klasifikasi sistem tersebut. Besarnya kapasitas memori yang dapat dipasang pada suatu sistem komputer dapat dilihat dari jumlah bus akunat dari prosesomya. Misal untuk komputer PC XT 8088 dengan 20 bus alamat, maka kapasitas memori maksimumnya adalah 220 = 1 Mbyte. Sedangkan untuk AT 80386 dengan 32 bus alamat, mempunyai kapasitas memori maksimum sebesar 232. = 4 Gbyte. Semua aktifitas yang terjadi pada suatu sisem komputer, mulai dari CPU, bus data, bus alamat, antarmuka I/O, dan semua piranti yang terhubung disinkronkan oleh pembangkit clock. Sehingga kecepatan pembangkit clock akan sangat mempengaruhi kecepatan eksekusi dari sistem. Contoh, untuk komputer XT 8088 mempunyai clock 4,7 Mhz, AT 80286 mempunyai clock 8 Mhz, sedangkan Pentium 80586 mempunyai pembangkit clock sampai 200 MHz.
Universitas Gadjah Mada
9