Register prosesor adalah sel memori akses acak ultra-cepat, yang dirancang untuk penyimpanan sementara data perantara. Register yang berbeda berisi informasi dalam bentuk yang berbeda: alamat dan pointer ke segmen memori atau tabel sistem, indeks elemen array, dll.
Prosesor berisi sejumlah besar register, yang dapat dibagi menjadi beberapa kelompok utama: akumulator, flag, pointer, indeks, segmen, dan register kontrol. Register prosesor adalah sel memori untuk menerima, menyimpan, dan transmisi selanjutnya dari hasil antara eksekusi program.
Setiap register prosesor adalah sirkuit elektronik digital yang berisi urutan bilangan biner dengan lebar berbeda (16, 32 atau 64) dan hasil konversi di antara mereka. Berdasarkan jenis penerimaan dan transmisi informasi, mereka dapat berurutan (shift) dan paralel.
Register akumulator bersifat universal, mereka berisi sebagian besar hasil antara menjalankan berbagai perintah (logis, aritmatika, input / output, dll.). Sebuah prosesor dapat berisi lebih dari satu baterai. Pengembang perangkat lunak menggunakan baterai untuk mengurangi lebar bit instruksi, menyederhanakan kode program.
Register bendera juga dikenal sebagai register kondisi. Mereka menunjukkan hasil operasi yang pasti, yang bisa nol, positif, negatif, atau menunjukkan luapan. Biasanya kode kondisi digabungkan ke dalam kelompok dan membentuk jenis register yang berbeda - register kontrol. Mengubah register bendera dimungkinkan, tetapi tidak diinginkan, agar tidak merusak seluruh hasil.
Register yang berisi pointer ke area khusus memori (stack, base, command) disebut register pointer. Yang paling penting adalah penunjuk tumpukan. Tumpukan adalah bagian dari memori yang terdiri dari sel-sel yang mengikuti satu demi satu, mis. Anda dapat mengambil dari tumpukan hanya sel yang terletak di atas. Ke atas inilah tumpukan register menunjuk.
Pointer dasar biasanya berisi alamat lokasi tumpukan tertentu, yang bisa berupa apa saja. Biasanya, register tumpukan dan register dasar digunakan secara bersamaan saat bekerja dalam prosedur saat ini untuk menunjukkan status tumpukan yang diperlukan.
Register penunjuk instruksi kadang-kadang disebut penghitung instruksi, berisi petunjuk ke instruksi dari siklus berjalan. Ketika perintah dieksekusi, nilainya bertambah 1 dan loop berlanjut dengan perintah berikutnya. Itu. penghitung perintah selalu menunjuk ke perintah yang mengikuti perintah yang sedang dieksekusi.
Ada dua register indeks - indeks sumber dan indeks tujuan. Mereka digunakan untuk mendapatkan alamat data tumpukan dalam kombinasi dengan register penunjuk.
Register segmen digunakan untuk pengalamatan memori segmen. Dalam hal ini, memori dibagi menjadi blok (segmen) dengan panjang yang berbeda. Alamat sel memori yang diinginkan ditentukan oleh alamat awal blok dan jumlah pergeseran relatif terhadapnya. Ada empat register segmen secara total: untuk segmen kode, segmen data, segmen tumpukan, dan segmen tambahan.
Register kontrol mengontrol operasi prosesor dan tidak tersedia untuk pengguna. Eksekusi mereka terutama dikendalikan oleh program mesin. Mereka berisi informasi tentang perintah saat ini yang sedang dieksekusi, status prosesor, dan mereka juga melokalisasi struktur kontrol saat prosesor beroperasi dalam mode terproteksi.