Register Encyclopedia Article

Register

The following sections of this BookRags Literature Study Guide is offprint from Gale's For Students Series: Presenting Analysis, Context, and Criticism on Commonly Studied Works: Introduction, Author Biography, Plot Summary, Characters, Themes, Style, Historical Context, Critical Overview, Criticism and Critical Essays, Media Adaptations, Topics for Further Study, Compare & Contrast, What Do I Read Next?, For Further Study, and Sources.

(c)1998-2002; (c)2002 by Gale. Gale is an imprint of The Gale Group, Inc., a division of Thomson Learning, Inc. Gale and Design and Thomson Learning are trademarks used herein under license.

The following sections, if they exist, are offprint from Beacham's Encyclopedia of Popular Fiction: "Social Concerns", "Thematic Overview", "Techniques", "Literary Precedents", "Key Questions", "Related Titles", "Adaptations", "Related Web Sites". (c)1994-2005, by Walton Beacham.

The following sections, if they exist, are offprint from Beacham's Guide to Literature for Young Adults: "About the Author", "Overview", "Setting", "Literary Qualities", "Social Sensitivity", "Topics for Discussion", "Ideas for Reports and Papers". (c)1994-2005, by Walton Beacham.

All other sections in this Literature Study Guide are owned and copyrighted by BookRags, Inc.

Register

Registers are localized component cells of the central processing unit (CPU). Registers are designed to offer fast memory retrieval. There are two principal forms of registers. General-purpose registers are cells that allow the temporary storage of data actually being manipulated or utilized by the CPU. The general-purpose registers maintain data to be used as input for the operations performed by the arithmetic/logic unit (ALU), and also maintain the output or results from those operations.

Registers serve an important memory function that differs from other random access memory (RAM). Register sets comprise only a small area of Ram (typically, modern systems carry an allocation of 32 to 144 registers). The principal difference in register memory is that it may be addressed with only a few bits (e.g., a 4-bit or eight-bit register). Other RAM components usually require 20 bits to specify a location. In addition, registers contain actual memory addresses while other RAM memory is indirectly addressed. The use of registers vastly improves computational speed. Although several cycles may be required to access other memory components, multiple registers can be addressed, read and written within a single cycle.

Register allocation and register assignments are complier functions used to designate the values to be placed in registers.

Computer performance and computation ability can suffer from shortage of registers. Without suitable register allocation, it can be difficult to save and store intermediate computational values and, especially in early generation computing systems, register dancing was a serious problem. Register dancing required the highly coordinated of saving and dumping of intermediate values in registers as operational proceeded. Even in modern systems, if there is insufficient register allocation, the system must spill data (register spillage) from the registers into other memory.

There are several forms of physical and functional register configurations. Data registers (DR) are usually 16-bit registers. Address registers (AR) are usually 12-bit registers designed to hold a memory address. Accumulator registers (AC) are usually 16-bit registers that function as processor registers. Program counter registers (PC) are usually 12-bit registers that can hold the address of an instruction. Instruction registers (IR) are usually 16-bit registers designed to hold instruction code. Input (INPR) and output (OUTR) registers are usually 8-bit registers that function to hold input and output characters.

Increment and decrement registers hold increment and decrement operators that function to increase or decrease the value of a variable. Temporary registers (TR) usually 16-bits are utilized to hold temporary data.