Register
Register adalah memori berukuran sangat kecil dengan kecepatan akses sangat tinggi.Register digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara
itu data dan instruksi lainnya yang menunggu giliran diproses akan disimpan dalam
main memory. Register di dalam CPU terdiri atas :
1. Instruction Register (IR) digunakan untuk menyimpan instruksi yang sedang
diproses.
2. Program Counter (PC) adalah register yang digunakan untuk menyimpan alamat
lokasi main memory yang berisi instruksi yang sedang diproses. Selama proses
berlangsung, isi PC diubah menjadi alamat main memory yang berisikan instruksi
berikutnya yang akan diproses. Hal ini memungkinkan untuk melacak jejak
instruksi selanjutnya di main memory.
3. General purpose register, yaitu register yang mempunyai berbagai macam fungsi
yang berhubungan dengan data yang sedang diproses. Misal, jika digunakan untuk
menampung data yang sedang diolah disebut sebagai operand register, sedangkan
jika digunakan untuk menampung hasil olahan disebut sebagai accumulator.
4. Memory Data Register (MDR), yaitu register yang digunakan untuk menampung data
atau instruksi yang dikirimkan dari main memory ke CPU, atau menampung data yang
akan disimpan ke main memory sebagai hasil olahan CPU.
5. Memory Address Register (MAR) digunakan untuk menampung alamat data atau
instruksi pada main memory yang akan diambil atau yang akan diletakkan.
Segment Register
Segmen adalah area spesifik yang didefinisikan dalam program untuk berisi data, kode, dantumpukan(Stack). Ada tiga segmen utama, Yaitu :
1. Segmen Kode - Ini berisi semua instruksi yang harus dijalankan. Daftar Segmen Kode 16-bit atau
register CS menyimpan alamat awal segmen kode.
2. Segmen Data - Ini berisi data, konstanta dan area kerja. Suatu daftar Segmen Data 16-bit atau
register DS menyimpan alamat awal dari segmen data.
3. Stack Segment - Berisi data dan alamat kembali prosedur atau subrutin. Ini diimplementasikan
sebagai struktur data 'tumpukan'. Daftar Segmen Stack atau register SS menyimpan alamat awal
tumpukan.
Terlepas dari DS, CS dan SS register, ada register segmen ekstra lainnya - ES (segmen ekstra), FS dan GS,
yang menyediakan segmen tambahan untuk menyimpan data. Dalam pemrograman assembly, program
perlu mengakses lokasi memori. Semua lokasi memori dalam segmen relatif terhadap alamat awal
segmen. Segmen dimulai dalam alamat yang dibagi secara merata oleh 16 atau heksadesimal. Jadi, digit
heks paling kanan di semua alamat memori adalah 0, yang umumnya tidak disimpan dalam register
segmen. Segmen register menyimpan alamat awal suatu segmen. Untuk mendapatkan lokasi yang tepat
dari data atau instruksi dalam suatu segmen, nilai offset (atau perpindahan) diperlukan. Untuk
mereferensikan lokasi memori apa pun dalam segmen, prosesor menggabungkan alamat segmen dalam
register segmen dengan nilai offset lokasi.
0 comments:
Post a Comment