Unit Pemroses Sentral: Perbedaan revisi

1.120 bita ditambahkan ,  10 bulan yang lalu
=== 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).
 
=== Dekode ===
Instruksi yang diambil CPU dari memori menentukan apa yang akan dilakukan CPU. Pada langkah dekode, dilakukan oleh sirkuit yang dikenal sebagai ''instruction decoder'', instruksi diubah menjadi sinyal yang mengontrol bagian lain dari CPU.
 
Cara instruksi diinterpretasikan ditentukan oleh CPU arsitektur set instruksi (ISA).{{Efn|Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a classification of the "type" of CPU. For example, a "PowerPC CPU" uses some variant of the PowerPC ISA. A system can execute a different ISA by running an emulator.}} Seringkali, satu kelompok bit (yaitu, "field") di dalam instruksi, yang disebut opcode, menunjukkan operasi mana yang akan dilakukan, sedangkan field yang tersisa biasanya memberikan informasi tambahan yang diperlukan untuk operasi tersebut, seperti operan. Operan tersebut dapat ditentukan sebagai nilai konstan (disebut immediate value), atau sebagai lokasi nilai yang mungkin merupakan [[register prosesor]] atau alamat memori, seperti yang ditentukan oleh beberapa [[mode pengalamatan]].
 
== Struktur dan implementasi ==
9.837

suntingan