E. 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 4.16 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 (yang sekarang sudah tidak populer). CD-ROM dan floppy drive merupakan alat yang terhubung dengan media penyimpanan eksternal, yaitu CD dan floppy disk. Setiap komponen tersebut saling terhubung melalui 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 tidak 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 dan bertugas mengeksekusi instruksi yang disimpan sebagai program.
Semua komputer, mulai dari yang kecil seperti ponsel pintar hingga yang besar dan canggih, harus mempunyai CPU. Seperti ditunjukkan pada Gambar 4.17, CPU terdiri atas dua bagian, yaitu CU (Control Unit) dan ALU (Arithmetic/Logic Unit). Setiap bagian mempunyai fungsi masing-masing.
Sebelum membahas CU dan ALU secara rinci, kita perlu mempelajari penyimpanan data dan hubungannya dengan CPU. Komputer mempunyai dua jenis tempat penyimpanan, yaitu primer (primary storage) dan sekunder (secondary storage). CPU berinteraksi dengan tempat penyimpanan primer atau memori utama (main memory), yaitu tempat data dan instruksi disimpan. Oleh karena itu, memori sering dibahas bersama CPU walaupun secara teknis memori merupakan bagian yang terpisah dari CPU.
Perlu diingat bahwa memori utama komputer hanya menyimpan data sementara ketika komputer sedang mengeksekusi program. Memori sekunder menyimpan data permanen atau semi permanen dalam media magnetik atau optik. Disket dan CD-ROM yang sering ditemukan pada PC termasuk perangkat sekunder, begitu juga hard disk. Pembahasan mengenai memori sekunder akan dijelaskan pada bagian berikutnya.
- Bagaimana CPU Menjalankan Instruksi Program
Mari kita periksa bagaimana CPU, dalam hubungannya dengan memori, menjalankan program komputer. Kita akan melihat bagaimana satu instruksi program dijalankan. Faktanya, sebagian besar komputer saat ini hanya dapat menjalankan satu instruksi pada satu waktu, meskipun proses tersebut berlangsung sangat cepat. Banyak komputer pribadi mampu menjalankan instruksi dalam waktu kurang dari sepersejuta detik, sedangkan superkomputer dapat menjalankan instruksi dalam waktu kurang dari sepermiliar detik.
Sebelum instruksi dapat dieksekusi, instruksi program dan data harus ditempatkan terlebih dahulu ke dalam memori melalui perangkat input atau perangkat penyimpanan sekunder. Setelah data dan instruksi yang diperlukan berada di dalam memori, CPU melakukan empat langkah berikut untuk setiap instruksi:
- Unit kontrol mengambil (fetch) instruksi dari memori.
- Unit kontrol menerjemahkan instruksi dan memerintahkan agar data yang diperlukan dipindahkan dari memori ke ALU (Arithmetic Logic Unit). Dua langkah pertama ini disebut waktu instruksi atau waktu-I.
- ALU menjalankan instruksi aritmatika atau logika. Pada tahap ini, ALU melakukan operasi aktual terhadap data.
- ALU menyimpan hasil operasi ke dalam memori atau register. Langkah ketiga dan keempat disebut waktu eksekusi atau waktu-E.
Setelah itu, unit kontrol memerintahkan memori untuk mengirimkan hasilnya ke perangkat keluaran atau perangkat penyimpanan sekunder. Kombinasi waktu-I dan waktu-E disebut siklus mesin (machine cycle).
CPU memiliki clock internal yang menghasilkan detak (pulse) dengan kecepatan tetap untuk menyinkronkan seluruh operasi komputer. Sebuah instruksi dalam siklus mesin dapat terdiri atas sejumlah besar sub-instruksi yang masing-masing memerlukan setidaknya satu siklus clock.
Setiap jenis CPU dirancang untuk memahami sekumpulan instruksi tertentu yang disebut instruction set. Sama seperti manusia yang memahami bahasa tertentu, setiap CPU memiliki instruction set yang dimengertinya sendiri. Oleh karena itu, CPU pada PC merek tertentu belum tentu dapat memahami kumpulan instruksi dari CPU jenis lain.
Pada memori, instruksi program dan data dapat disimpan secara bersamaan. Setiap lokasi dalam memori memiliki alamat tertentu. Alamat ini dapat diibaratkan seperti nomor locker atau kotak penyimpanan di sekolah atau perpustakaan. Walaupun isi di dalamnya dapat berubah, alamatnya tetap sama.
Memori dapat berisi instruksi maupun data. Instruksi lama dapat diganti dengan instruksi baru, demikian pula data lama dapat diganti dengan data baru tanpa mengubah alamat memorinya. Namun, setiap lokasi memori hanya dapat menampung data dalam jumlah tertentu yang diukur dalam byte.
Sebagai contoh, pada program penggajian, data tarif gaji per jam dapat ditempatkan pada lokasi kotak 3 dan jumlah jam kerja pada lokasi kotak 6. Untuk menghitung gaji, komputer akan mengalikan data pada lokasi 3 dan 6, kemudian menyimpan hasilnya pada lokasi kotak 8. Pemrogram tidak perlu mengetahui alamat mesin sebenarnya karena setiap alamat biasanya diberi nama simbolis seperti Tarif, Jam, dan Gaji.
- Mesin Konseptual Sederhana
Tahukah kalian bahwa kita dapat membuat abstraksi sebuah mesin komputer melalui mesin konseptual sederhana?
Kalian diberi sebuah mesin konseptual sederhana ciptaan Mr. ALGO yang mensimulasikan cara kerja komputer dengan bentuk yang lebih sederhana. Pada bagian ini, kalian akan memahami bahwa instruksi program yang dekat dengan bahasa manusia harus diterjemahkan terlebih dahulu ke dalam bahasa mesin agar dapat dijalankan oleh komputer.
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 sebaliknya,
- serta melakukan operasi aritmatika dan logika.
Dengan kemampuan tersebut, komputer dapat menjalankan berbagai program yang sangat berguna.
Program komputer terdiri atas sekumpulan instruksi. Instruksi yang dijalankan mesin harus dikenali oleh CPU dalam bentuk bahasa mesin. Untuk menjalankan program, komputer menggunakan proses yang disebut fetch execute cycle atau fetch decode execute cycle.
Fetch execute cycle merupakan operasi paling mendasar dalam komputer. Pada proses ini, komputer akan mengambil instruksi dari memori, menerjemahkannya, lalu menjalankan instruksi tersebut sesuai jenis operasinya. Siklus fetching, decoding, dan executing ini akan terus diulang oleh CPU selama komputer hidup.
Gambaran siklus tersebut menunjukkan bagian-bagian CPU secara lebih rinci, yaitu:
- CU mengambil instruksi (fetch).
- CU menerjemahkan instruksi tersebut untuk menentukan tindakan yang harus dilakukan, misalnya menyimpan data, melakukan perhitungan, atau mengirimkan data ke perangkat input/output.