Cara Komputer Bekerja
Sekarang, kita akan mempelajari mekanisme kerja pemroses karena pemroses pun memiliki banyak komponen yang harus melakukan interaksi satu sama lain.
Secara ringkas, Gambar di bawah ini menggambarkan diagram kotak arsitektur sederhana sebuah komputer di mana pemroses (kotak besar) menerima masukan dari piranti masukan dan menghasilkan keluaran melalui port. Komponen pada pemroses (kotak besar) terdiri atas processor (CPU) yang berupa chip, ROM, RAM, Hard drive, CD ROM, dan floppy drive (sekarang tidak populer). CD ROM dan Floppy drive ialah alat yang terhubung dengan media penyimpan eksternal, yaitu (CD dan floppy disk). Setiap komponen tersebut terhubung dengan BUS.
Berikut ini akan dijelaskan mengenai CPU, Bus, Controller, dan memori utama.
Central Processing Unit (CPU)
Sekarang, kita akan melihat apa yang dikerjakan oleh pemroses sebuah komputer yang tak terlihat, yaitu sebuah pusat pengontrol yang mengonversi data input menjadi output. Pengontrol ini disebut CPU (Central Processing Unit). CPU adalah sebuah sirkuit elektronik yang sangat kompleks, yang bertugas mengeksekusi instruksi yang disimpan sebagai program. Semua komputer, mulai yang kecil seperti ponsel pintar sampai yang besar dan canggih, harus mempunyai CPU. Seperti ditunjukkan pada Gambar di bawah ini, CPU terdiri atas dua bagian, yaitu CU (control unit) dan ALU (Arithmetic/Logic Unit). Setiap bagian mempunyai fungsinya masing-masing.
Sebelum kita membahas CU dan ALU secara rinci, kita perlu mempelajari penyimpanan data dan hubungannya dengan CPU. Komputer mempunyai dua jenis tempat penyimpanan: primer (primary storage) dan sekunder (secondary storage). CPU berinteraksi dengan tempat penyimpanan primer atau memori utama (main memory), mengacu ke data dan instruksi yang disimpan di dalamnya. Dengan alasan ini, memori dibahas terkait CPU, walaupun sebetulnya secara teknis, memori merupakan bagian terpisah dari CPU.
Ingat, bahwa memori utama komputer menyimpan data sementara saja, saat komputer mengeksekusi sebuah program. Memori sekunder menyimpan data permanen atau semi permanen dalam media lain, yaitu media magnetik atau optik. Disket dan CD-ROM yang sering kita lihat sebagai bagian dari PC adalah peranti sekunder, sama halnya dengan hard disk. Memori sekunder akan dibahas pada bagian berikutnya.
$ads={1}
Bagaimana CPU Menjalankan Instruksi Program
Mari, kita periksa cara unit pengolah pusat (CPU), dalam hubungannya dengan memori, menjalankan program komputer. Kita akan melihat bagaimana hanya satu instruksi dalam program yang dijalankan. Faktanya, kebanyakan komputer saat ini hanya dapat menjalankan satu instruksi pada satu waktu, meskipun mereka menjalaninya dengan sangat cepat. Banyak komputer pribadi dapat menjalankan instruksi dalam waktu kurang dari sepersejuta detik. Komputer yang dikenal sebagai superkomputer dapat menjalankan instruksi dalam waktu kurang dari sepermiliar detik.
Sebelum instruksi dapat dieksekusi, instruksi program dan data harus ditempatkan ke dalam memori dari perangkat input atau perangkat penyimpanan sekunder. Seperti yang ditunjukkan Gambar sebelah kiri, setelah data dan instruksi yang diperlukan berada dalam memori, unit pemrosesan pusat melakukan empat langkah berikut untuk setiap instruksi.
- Unit kontrol mengambil (mendapat) instruksi dari memori.
- Unit kontrol menerjemahkan instruksi (memutuskan apa artinya) dan memerintahkan agar data yang diperlukan dipindahkan dari memori ke ALU (unit aritmatika/logika). Dua langkah pertama ini bersama-sama disebut waktu instruksi, atau waktu-I.
- Unit aritmatika/logika menjalankan instruksi aritmatika atau logika. Artinya, ALU diberikan kendali dan melakukan operasi aktual pada data.
- Unit aritmatika/logika menyimpan hasil operasi ini dalam memori atau register. Langkah 3 dan 4 bersama-sama disebut waktu eksekusi, atau waktu-E.
Unit kontrol selanjutnya memerintahkan memori untuk mengirimkan hasilnya ke perangkat keluaran atau perangkat penyimpanan sekunder. Kombinasi waktu-I dan waktu-E disebut siklus mesin. Gambar sebelah kanan di atas menunjukkan instruksi yang melalui siklus mesin.
CPU memiliki clock internal yang menghasilkan detak (pulse) dengan kecepatan tetap untuk menyinkronkan semua operasi komputer. Sebuah instruksi siklus mesin tunggal dapat terdiri atas sejumlah besar sub-instruksi, yang masing-masing harus mengambil setidaknya satu siklus clock. Setiap jenis CPU dirancang untuk memahami sekumpulan instruksi tertentu yang disebut instruction set. Sama seperti, ada banyak bahasa berbeda yang dipahami orang, setiap jenis CPU memiliki instruction set yang dimengertinya. Oleh karena itu, CPU yang digunakan untuk PC merk Compaq tidak dapat memahami kumpulan instruksi dari CPU lain (misalnya Macintosh).
Pada memori, dapat tersimpan instruksi program dan juga data. Bagaimana control unit bisa membedakannya?
Lokasi dalam memori untuk setiap instruksi dan setiap bagian data diidentifikasi oleh sebuah alamat. Artinya, setiap lokasi memiliki nomor alamat, seperti locker (kotak penyimpan) di perpustakaan atau di sekolah. Seperti kotak penyimpan memiliki memiliki nomor yang tetap, isi kotak penyimpan bisa berbeda di suatu waktu, bisa berisi tas, bisa berisi buku, atau berisi tumbler tempat minum.
Seperti hal kotak penyimpan, memori bisa berisi instruksi atau data. Instruksi lama bisa diganti dengan instruksi baru, demikian juga data lama bisa diganti dengan data baru, tetapi memori tetap memiliki alamat yang sama. Tidak seperti kotak penyimpan, lokasi memori hanya dapat menampung sejumlah data dalam ukuran byte.
Gambar di bawah ini menunjukkan bagaimana program memanipulasi data dalam memori. Sebuah program penggajian, misalnya, dapat memberikan instruksi untuk meletakkan data tarif (gaji-per jam) di lokasi kotak 3 dan jumlah jam kerja di lokasi kotak 6. Untuk menghitung gaji karyawan, instruksi untuk komputer, yaitu mengalikan data di lokasi kotak 3 dengan data di lokasi kotak 6 dan pindahkan hasilnya ke lokasi kotak 8. Pemilihan lokasi dapat dilakukan di mana saja yang belum digunakan. Pemrogram yang menggunakan bahasa pemrograman tidak perlu tahu nomor alamat mesin yang sebenarnya, karena setiap alamat data disebut dengan nama yang menjadi alamat simbolis. Dalam contoh ini, nama alamat simbolis adalah Tarif, Jam, dan Gaji.
Mesin Konseptual Sederhana
Tahukah kalian, bahwa kita bisa membuat abstraksi sebuah mesin komputer dengan menciptakan sebuah mesin konseptual sederhana?
Kalian diberi sebuah mesin konseptual sederhana ciptaan Mr. ALGO dan menyimulasikan cara kerjanya, yang seperti cara kerja sebuah komputer, tetapi dengan lebih sederhana. Pada bagian ini, kalian akan memahami bahwa instruksi program dalam bahasa yang lebih dekat ke manusia harus diterjemahkan menjadi instruksi dalam bahasa mesin untuk dapat dijalankan. Ingat bahwa dengan struktur komputer yang terdiri atas input, output, memori dan CPU, komputer hanya dapat membaca data dari perangkat masukan, menulis data ke perangkat keluaran, menyalin data dari CPU ke memori atau dari memori ke CPU, dan melakukan perhitungan aritmatika dan logika. Dengan kemampuan tersebut, kita dapat menuliskan program komputer yang beragam dan luar biasa daya gunanya!
Program komputer terdiri atas sekumpulan instruksi. Instruksi yang dijalankan oleh mesin harus dikenali oleh CPU yang disebut bahasa mesin. Bagaimana sebuah komputer menjalankan sebuah program dalam bahasa mesin? Komputer akan menjalankan (mengeksekusi) perhitungan dengan langkah yang disebut “fetch execute cycle” (siklus ambil dan jalankan). Fetch execute cycle ialah operasi yang paling mendasar dalam komputer, yang juga disebut “fetch decode execute cycle”. Selama fetch execute cycle, mesin komputer akan mengambil instruksi dari memori dan menjalankan instruksi tersebut sesuai dengan jenis instruksinya. Mengapa disebut fetch execute cycle? Siklus untuk fetching, decoding, dan executing sebuah instruksi ini akan diulang-ulang oleh CPU selama mesin komputer hidup!
Gambaran siklusnya ditunjukkan dalam Gambar berikut yang menunjukkan lebih detail bagian-bagian dari CPU.
- CU akan mengambil instruksi (Fetch).
- CU akan menerjemahkan instruksi tersebut harus melakukan apa, misalnya menyimpan data, menghitung, atau lainnya. Ingat, bahwa komputer hanya dapat melakukan perhitungan dan menyimpan/mengambil, atau mengirimkan data ke input/output device.
- ALU akan mengambil data yang diperlukan untuk menjalankan instruksi, dan data yang sedang diproses disimpan dalam Register.
- ALU menjalankan instruksi.
Berikut ini gambaran Memori dan Register dari sebuah mesin ciptaan Mr. ALGO tersebut. Alamat pada mesin ini dinyatakan dalam kode Heksadesimal. Memori dibagi-bagi menjadi kotak-kotak. Setiap kotak mempunyai alamat dan dapat berisi data. Misalnya, mesin ciptaan kalian memiliki kapasitas memori untuk menampung 4 data dengan alamat AAA1 s.d AAA4 dan CPU mempunyai 2 register dengan alamat REG1 dan REG2 yang diilustrasikan seperti pada gambar di bawah ini. Sebetulnya, semua data akan disimpan dalam bentuk biner, seperti yang telah dipelajari di jenjang SMP. Namun demikian, untuk kemudahan membaca, data semua ilustrasi, data tetap dituliskan dalam besaran desimal.
Sekarang, kalian akan mensimulasi Fetch instruction cycle tersebut untuk menjalankan instruksi perhitungan aritmatika sederhana sebagai berikut yang semula ditulis dalam bahasa yang lebih dipahami manusia (bahasa tingkat tinggi).
Mesin Konseptual Sederhana akan mengeksekusi perintah tersebut dalam beberapa langkah karena data disimpan dalam memori (disimpan dalam variabel X dan Y), sedangkan proses perhitungan penjumlahan harus dilakukan oleh ALU yang merupakan bagian dari CPU. Misalnya, nilai dari variabel X disimpan dalam alamat AAA1 dan nilai dari variabel Y disimpan dalam AAA2, dan nilai variabel Jumlah akan disimpan dalam alamat AAA4. Data harus dibawa ke Register untuk dijumlahkan.
Mesin Konseptual Sederhana menjalankan beberapa instruksi bahasa mesin sebagai berikut untuk menjalankan program di atas.
Eksekusi dari perintah-perintah tersebut secara berturut-turut ditunjukkan dengan ilustrasi sebagai berikut.
Mesin Konseptual Sederhana tersebut hanya mempunyai 2 register (REG1 dan REG2), dan dirancang agar jika melakukan operasi aritmatika dua buah bilangan, hasilnya disimpan pada register yang menyimpan operan ke-2.
Mungkin saja, ada orang yang menciptakan mesin konseptual lain yang mempunyai 3 register. Seandainya, mesin mempunyai 3 register, bisa saja hasil penjumlahan disimpan pada register ke-3. Jumlah register dan bagaimana operasi dilakukan, serta hasil operasi aritmatika disimpan, itu ditentukan oleh penciptanya, merupakan spesifikasi mesin.
Kita juga dapat menciptakan mesin konseptual yang sangat sederhana, yang hanya mempunyai 1 register untuk menampung data, yang biasanya disebut AKUMULATOR karena semua operan dan hasil perhitungan disimpan di register tunggal. Perintah TAMBAH dilakukan dengan menambahkan data yang diambil dari memori ke satu-satunya register itu. Perintah Mesin misalnya:
Untuk menambahkan 100+200, instruksi yang dilakukan oleh mesin dengan satu AKUMULATOR yang hanya mempunyai 4 alamat memori AAA1, AAA2, AAA3 dan AAA4 diberikan sebagai berikut.
Jika kalian perhatikan, instruksi-instruksi di atas merupakan rangkaian perintah yang dilakukan untuk menghitung penjumlahan 100+200. Instruksi yang diberikan bergantung pada spesiikasi mesinnya, dan mesin juga dapat mempunyai satu atau lebih register. Pencipta mesin yang akan merancang mesin-mesin komputer tersebut, dan mewujudkannya menjadi perangkat elektronik yang dapat berfungsi sesuai spesiikasi. Tentu saja, gambaran pelaksanaan instruksi di atas ialah penyederhanaan karena yang dilakukan oleh komputer sebenarnya jauh lebih rinci. Data 100 dan 200 dalam desimal pun akan direpresentasi dalam bentuk biner seperti yang kalian telah pelajari di tingkat SMP.
Unit pembelajaran ini memberikan gambaran bahwa ekspresi yang ditulis dalam bahasa yang dimengerti manusia harus diterjemahkan sangat detail agar dapat dieksekusi oleh mesin ciptaan kalian. Komputer yang selama ini kalian gunakan sebenarnya mirip dengan mesin konseptual sederhana tersebut, hanya kecepatan melaksanakan instruksi sangat cepat sekali.
Posting Komentar
Komentar yang dirasa merugikan situs ini akan dihapus. Terima kasih telah berkunjung