Unit Pemroses Sentral: Perbedaan revisi

1.268 bita ditambahkan ,  10 bulan yang lalu
 
Setelah eksekusi instruksi, seluruh proses berulang, dengan siklus instruksi berikutnya biasanya mengambil instruksi urutan berikutnya karena nilai yang bertambah di [[Program counter|penghitung program]]. Jika instruksi jump dijalankan, penghitung program akan dimodifikasi untuk memuat alamat instruksi yang dilompati dan eksekusi program berlanjut secara normal. Dalam CPU yang lebih kompleks, beberapa instruksi dapat diambil, didekodekan, dan dijalankan secara bersamaan.
 
=== Fetch ===
Langkah pertama, pengambilan, melibatkan pengambilan instruksi (yang diwakili oleh nomor atau urutan angka) dari memori program. Lokasi instruksi (alamat) dalam memori program ditentukan oleh penghitung program (PC), yang menyimpan nomor yang mengidentifikasi alamat instruksi berikutnya yang akan diambil. Setelah instruksi diambil, PC bertambah panjang instruksi sehingga akan berisi alamat instruksi berikutnya secara berurutan.{{Efn|Since the program counter counts ''memory addresses'' and not ''instructions'', it is incremented by the number of memory units that the instruction word contains. In the case of simple fixed-length instruction word ISAs, this is always the same number. For example, a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by four (except in the case of jumps). ISAs that use variable-length instruction words increment the PC by the number of memory words corresponding to the last instruction's length.}} Seringkali, instruksi yang akan diambil harus diambil dari memori yang relatif lambat, menyebabkan CPU berhenti ketika menunggu instruksi dikembalikan. Masalah ini sebagian besar ditangani dalam prosesor modern oleh tembolok dan arsitektur pipa (lihat di bawah).
 
== Struktur dan implementasi ==
9.836

suntingan