Saya tahu ini adalah pertanyaan yang sangat umum. Tetapi saya memiliki sudut pandang yang berbeda dalam pikiran saya. Saya hanya akan mencoba mengartikulasikannya di sini.
Dari apa yang saya tahu, setiap instruksi yang dieksekusi CPU, dalam bahasa mesin dan semua CPU dapat lakukan adalah melakukan beberapa operasi aritmatika berkat ALU dan transistornya (jika kita menggunakan level perangkat keras).
Namun ini lebih mudah untuk diketik daripada memahaminya. Jadi jika semua CPU melakukan penambahan, pengurangan, dll., Lalu bagaimana sebuah program, katakanlah program JAVA yang mengatakan print Hello World, dijalankan dengan operasi aritmatika ini?
Maksud saya bagaimana program ini diubah menjadi sesuatu yang hanya merupakan tambahan untuk CPU?
PS Jika pertanyaan ini tidak berlaku untuk situs web ini maka saya mohon maaf.
-----Bagian kedua-----
Baik. Terima kasih untuk semua yang menjawab ini dengan cepat dan dengan antusiasme ini. Saya pikir lebih baik memodifikasi pertanyaan saya daripada pergi dan berkomentar untuk semua jawaban dan bertanya lagi.
Jadi begini.
Pertama, semua telah menjawab secara khusus contoh Hello World. Ini salah saya. Saya seharusnya menyimpan obat generik ini. Contoh Hello world mempertanyakan perangkat output dan bagaimana pemrosesannya tidak hanya terbatas pada CPU, yang seharusnya diangkat dalam jawaban Anda.
Juga banyak dari Anda yang menyadari bahwa CPU melakukan lebih dari sekedar penambahan. Saya setuju dengan itu. Saya hanya tidak menulis itu dan menganggapnya sepenuhnya. Dari apa yang saya mengerti, inilah prosesnya:
membaca instruksi dari memori (menggunakan data dan alamat bus dan program counter)
- menyimpan data dalam register di dalam CPU
- Sekarang ALU melakukan operasi aritmatika, tentu saja setelah men-decoding instruksi, atau mengambil lompatan jika itu instruksi jika suka
- Dan kemudian berkomunikasi dengan sumber daya lain jika diperlukan seperti dengan perangkat output dan sebagainya. Proses di luar ini sepele untuk saat ini.
Jadi pada langkah 3 di mana CPU mendekode instruksi dan memutuskan untuk melakukan operasi aritmatika (di sini kita mengasumsikan bahwa tidak ada operasi lain yang harus dilakukan seperti lompati instruksi saat ini .. karena operasi aritmatika banyak dilakukan..jadi kita akan tetap berpegang pada itu ) Di sinilah visualisasi saya berakhir. Bagaimana instruksi dari program saya hanyalah operasi aritmatika untuk CPU. Itu melakukan operasi aritmatika dan instruksi yang melayani tujuannya.
Saya harap saya membuat diri saya jelas kali ini.
PS Saya mengambil asumsi besar di sini bahwa ALU tidak hanya terbatas pada operasi aritmatika aktual yang kami lakukan dalam program kami, melainkan mengeksekusi semua instruksi, yang sekarang dalam bentuk biner, dengan menambahkan atau mengurangi dll untuk menghasilkan hasil yang dimaksudkan untuk menghasilkan. Jika saya salah di sini daripada jawaban di bawah dengan benar menjawab pertanyaan saya.