Control/Status Register

Control and Status Register (CSR) are auxiliary registers in many CPUs and many microcontrollers that are used for reading status and changing configuration, in contrast to the integer and sometimes floating registers which are used for computation. The control and status registers are often described by a register map.

Both CPUs and I/O devices have CSRs. Typical examples include RISC-V CPU which has a set of registers to handle interrupts, and UART which has a set of registers to handle data reception and transmission.