Learn something new every day More Info... by email
Although the primary system memory on a computer is random access memory (RAM), which is generally plugged into the motherboard and connected to the computer's processor, RAM is not the only type of memory on a computer. The central processing unit (CPU) also contains a limited amount of storage, allowing data to be moved extremely quickly. These locations are known as registers. The control register on a computer is a type of register which controls or alters the basic behavior of the computer's CPU.
Think of the control register like a tiny drawer within the CPU that the computer can access much more readily than other memory locations on the system. By putting the control register on the physical CPU die, it eliminates latency and increases access speed to a much higher value than other locations on the system. Thus, the computer uses it for the most vital CPU tasks to keep the computer running smoothly and efficiently.
Without a control register, the CPU could only store data by sending it across the front side bus (FSB) to RAM. In addition, it could only retrieve data by pulling it back across the front side bus from memory. Although this might sound trivial, the bandwidth of the front side bus — the maximum amount of data it can carry at a time — is quite limited. With thousands of pieces of data passing through each second, this would quickly become a serious bottleneck for the computer, creating lag and interrupting the flow of basic operations. Utilizing a control register means the data hardly has to travel at all: it is the difference between storing something in a desk drawer, where it is close at hand, and storing it in a mailbox at the end of the driveway.
The primary uses for the control register include controlling interrupts, paging, addressing, and coprocessor functionality. Interrupts occur when a hardware device on the computer sends an "emergency" signal to the CPU, requiring it to drop what it is currently doing in favor of handling a specific issue. Addressing refers to finding and utilizing physical addresses on the system RAM, retrieving and storing information for the computer. Paging is another memory management technique, in which information is stored in the "page file" located on a hard drive. The coprocessor is used to supplement the CPU, handling graphical information and other operations like floating point arithmetic and encryption.