Pada dua artikel sebelumnya, kita sudah membahas bagaimana komputer menyimpan dan mengolah data dalam 4 format: angka, teks, gambar, suara dan juga video. Keempat format tersebut sudah mencakup mayoritas tipe data yang diolah komputer. Namun ada satu lagi tipe data biner yang sangat penting pada komputer, yaitu instruksi biner.
Instruksi biner adalah deretan angka biner yang digunakan komputer untuk menerima perintah dari kita melalui berbagai program komputer. Yang dimaksud dengan perintah disini adalah perintah untuk melakukan operasi aritmatika sederhana seperti penambahan, pengurangan, perkalian, pembagian dan juga operasi logika seperti perbandingan AND, OR, XOR, operasi bitwise dan lainnya. Ingat, semua hal kompleks yang dilakukan oleh komputer bisa dipecah hingga ke operasi-operasi aritmatika dan logika sederhana.
Setiap prosesor punya arsitekturnya sendiri. Salah satu arsitektur yang paling populer saat ini adalah x86-64. Yang dimaksud dengan arsitektur disini adalah struktur susunan sirkuit elektronik mikroskopis yang dibenamkan di dalamnya. Fungsi dari sirkuit elektronik ini adalah untuk melakukan berbagai operasi aritmatika dan logika sederhana. Masing-masing sirkuit biasanya punya tugasnya tersendiri. Misal, ada sirkuit yang khusus untuk melakukan operasi penambahan, ada lagi yang khusus untuk pengurangan, begitu juga sirkuit-sirkuit khusus operasi logika.
Untuk mengaktifkan sirkuit tertentu, kita perlu mengirim sinyal instruksi dalam bentuk deretan angka biner yang ditujukan khusus untuk sirkuit tersebut. Nah masing-masing arsitektur prosesor pasti punya tabel yang berisi daftar deretan angka biner yang digunakan untuk mengaktifkan berbagai sirkuit di dalamnya.
Sebagai contoh,bayangkan kita mau membuat arsitektur prosesor sederhana yang hanya menerima 4 jenis perintah (tambah, kurang, kali, bagi). Untuk itu kita hanya butuh 2 bit. Maka tabel instruksi binernya akan terlihat seperti di bawah ini:
operasi | kode instruksi biner |
penambahan | 00 |
pengurangan | 01 |
perkalian | 10 |
pembagian | 11 |
Deretan tabel perintah dalam bentuk angka-angka biner inilah yang disebut dengan bahasa mesin. Pada contoh sederhana di atas, mesin prosesor buatan kita hanya mengerti 4 kata perintah dalam bahasanya. Prosesor yang ada di komputer kita biasanya punya ratusan bahkan ribuan kata perintah atau instruksi yang mereka mengerti. Untuk mengkodekan ribuan kata perintah tersebut, kita butuh lebih banyak jumlah bit. Mayoritas arsitektur prosesor modern menggunakan 64 bit. Artinya kita perlu mengirim sinyal dalam bentuk 64 buah deretan angka biner ke prosesor.
Bahasa mesin itu kan hanya berupa deretan angka 0 dan 1. Tentunya susah banget kalau kita (manusia) mau memberi perintah ke komputer. Kita pasti gak hafal 64 buah deretan angka 0 dan 1 itu. Untuk itu, deretan angka 0 dan 1 itu kita konversikan ke dalam bahasa assembly. Bahasa assembly pada dasarnya hanya pemetaan dari angka-angka biner ke dalam kata-kata yang dimengerti manusia. Kalau kita lanjutkan contoh sederhana kita di atas, maka bahasa assembly itu ibaratnya kita cuma menambah satu kolom baru yang isinya hanya kode perintah yang kita bisa lebih mudah hafal. Cek tabel di bawah.
operasi | kode instruksi biner | Kode bahasa assembly |
penambahan | 00 | ADD |
pengurangan | 01 | SUB |
perkalian | 10 | MUL |
pembagian | 11 | DIV |
Bahasa assembly ini masih agak sulit untuk ditulis oleh programmer. Untuk itu, dibuat bahasa lagi pada level yang lebih tinggi. Contohnya C, Java, Python, Javascript dll. Bahasa tingkat tinggi ini nantinya akan di-compile ke bahasa assembly, lalu ke bahasa mesin.
Pada titik ini kita mulai bisa melihat bagaimana hardware bekerja dengan software. Beberapa artikel sebelumnya fokus membahas tentang software. Pada artikel berikutnya kita akan mendalami tentang hardware, sirkuit elektronik di dalam prosesor yang bisa melakukan berbagai operasi. Pantau terus SainsPop 🙂
Hennessy, John L.; Patterson, David A. (1994). Computer Organization and Design. The Hardware/Software Interface. Morgan Kaufmann Publishers. ISBN 1-55860-281-X.
dan dapatkan konten-konten menarik tentang sains dan teknologi langsung di inbox email kamu