SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
An Assignment
On
Registers of Microprocessors
Microprocessor & Microcomputer Lab
Course Code: CSE – 312
© Moshiur Rahman Khan
CSE 1st
Batch, PSTU.
Submitted To
Md. Ileas Pramanik
Lecturer,
CSE Faculty, PSTU.
Submitted By
Md.Moshiur Rahman Khan
Reg No.: 00600
Roll No.: 21
L-IV, S- I
mehedi.cse@gmail.com
CSE, PSTU.
Submission Date: 24-10-2008
Signature of the Course Teacher:
Patuakhali Science & Technology University, Patuakhali.
Acknowledgments
I am very grateful to my honorable teacher Md. Ileas Pramanik, Lecturer, Faculty of CSE,
PSTU, who assigns me this assignment & allowed me to complete this assignment. I would also
like to thank to my teacher for his kind help to complete the assignment & making this possible.
I am grateful to Ileas Sir for the fellowship, and many discussions and comments that led to
this assignment.
Finally, this work describes about technical review of Registers in Microprocessor.
Contents
Introduction 01
Categories of Registers 01
System Register & Status Register 02
Pointer Register & Index Register 03
Hardware register 03
Instruction Register & Control Register 04
Memory Management Register & Address Register 05
Memory Data Register and Buffer Register 06
Segment Register 06
Shift Register & Stack Register 07
Test Register & Task Register 07
Accumulator Register 08
EFLAGS Register 09
Base Address Register & Interrupt Command Register 10
Memory Type Range Register & IA32_MCG_CAP MSR 11
IA32_MCG_STATUS MSR & IA32_MCi_CTL_MSRs 12
IA32_MCi_STATUS_MSRs & Machine Check Type Register 13
Conclusion 14
References 15
Introduction
In computer architecture, a processor register is a small amount of storage available on the CPU whose
contents can be accessed more quickly than storage available elsewhere. Most, but not all, modern
computer architectures operate on the principle of moving data from main memory into registers,
operating on them, then moving the result back into main memory—a so-called load-store architecture.
A common property of computer programs is locality of reference: the same values are often accessed
repeatedly; and holding these frequently used values in registers improves program execution
performance.
Allocating frequently used variables to registers can be critical to a program's performance. This action,
namely register allocation is performed by a compiler in the code generation phase.
Categories of Registers
Registers are normally measured by the number of bits they can hold, for example, an "8-bit register" or
a "32-bit register". Registers are now usually implemented as a register file, but they have also been
implemented using individual flip-flops, high speed core memory, thin film memory, and other ways in
various machines.
A processor often contains several kinds of registers, that can be classified according to their content or
instructions that operate on them:
 User-accessible Registers - The most common division of user-accessible registers is into data
registers and address registers.
 Data registers are used to hold numeric values such as integer and floating-point values. In
some older and low end CPUs, a special data register, known as the accumulator, is used
implicitly for many operations.
 Address registers hold addresses and are used by instructions that indirectly access memory.
o Some processors contain registers that may only be used to hold an address or only to
hold numeric values (in some cases used as an index register whose value is added as an
offset from some address); others allow registers hold either kind of quantity. A wide
variety of possible addressing modes, used to specify the effective address of an
operand, exist.
o A stack pointer, sometimes called a stack register, is the name given to a register that
can be used by some instructions to maintain a stack (data structure).
 Conditional registers hold truth values often used to determine whether some instruction
should or should not be executed.
 General purpose registers (GPRs) can store both data and addresses, i.e., they are combined
Data/Address registers.
 Floating point registers (FPRs) store floating point numbers in many architectures.
 Constant registers hold read-only values such as zero, one, or pi.
 Vector registers hold data for vector processing done by SIMD instructions (Single Instruction,
Multiple Data).
 Special purpose registers hold program state; they usually include the program counter (aka
instruction pointer), stack pointer, and status register (aka processor status word).
o Instruction registers store the instruction currently being executed.
 In some architectures, model-specific registers (also called machine-specific registers) store data
and settings related to the processor itself. Because their meanings are attached to the design
of a specific processor, they cannot be expected to remain standard between processor
generations.
 Control and status registers - It has three types. Program counter, instruction registers, Program
status word (PSW).
 Registers related to fetching information from RAM, a collection of storage registers located on
separate chips from the CPU (unlike most of the above, these are generally not architectural
registers):
o Memory buffer register
o Memory data register
o Memory address register
o Memory Type Range Registers
Hardware registers are similar, but occur outside CPUs.
System Registers
To assist in initializing the processor and controlling system operations, the system architecture provides
system flags in the EFLAGS register and several system registers:
• The system flags and IOPL field in the EFLAGS register control task and mode switching, interrupt
handling, instruction tracing, and access rights.
• The control registers (CR0, CR2, CR3, and CR4) contain a variety of flags and data fields for controlling
system-level operations. Other flags in these registers are used to indicate support for specific processor
capabilities within the operating system or executive.
• The debug registers allow the setting of breakpoints for use in debugging programs and systems
software.
• The GDTR, LDTR, and IDTR registers contain the linear addresses and sizes (limits) of their respective
tables.
• The task register contains the linear address and size of the TSS for the current task.
• Model-specific registers.
Status register
A status register (also: flag register or condition code register (CCR)) is a collection of flag bits for a
processor. A popular example of a status register is the FLAGS register of x86 architecture based
microprocessors.
Common status register flags
 Z — Zero flag. Indicates that the result of a mathematical or logical operation was zero.
 C — Carry flag. Indicates that the result of an operation produced an answer greater than the
number of available bits. (This flag may also be set before a mathematical operation as an extra
operand to certain instructions, e.g. "add with carry".)
 X — Extend bit.
 N (or S) — Negative or Sign flag. Indicates that the result of a mathematical operation is
negative.
 V (or O or W) — Overflow flag. Indicates that the result of an operation has overflowed
according to the CPU's word representation, similar to the carry flag but for signed operations.
 I (or E) — Interrupt enable flag. Interrupts can be enabled or disabled by respectively setting or
clearing this flag.
 P — Parity flag. Indicate that the number of bits of the result is odd or even.
 D (or T) — Debug or Trap flag. Specifies that a special tracing interrupt is generated immediately
after each single instruction is executed. This is used to implement program code debuggers.
Pointer Register
A bit information is first calculated in ALU 7 from the address among the control space address map that
has been designated by the address of the above-described STC (store-control-space) instruction. The
specific register in the general-purpose register group 8 is no longer required to be designated by the
instruction field "X3" of the microinstruction register 4, but this specific register can be accessed by
merely, commonly designating the general-purpose register group 8 by way of the selection field "X2" of
the microinstruction register 4, based upon the bit information temporarily stored in the pointer register
10.
Index Register
An index register in a computer's CPU is a processor register used for modifying operand addresses
during the run of a program, typically for doing vector/array operations. Index registers were first used
in the British Manchester Mark I computer, in 1949.
Index registers are used for a special kind of indirect addressing where an immediate constant
is added to the contents of a register to form the address to the actual operand or data;
architectures which allow more than one register to be used this way naturally have an opcode
field for specifying which register to use.
Hardware Register
In digital electronics, especially computing, a hardware register stores bits of information, in a
way that all the bits can be written to or read out simultaneously. The hardware registers inside
a central processing unit (CPU) are called processor registers. Signals from a state machine to
the register control when registers transmit to or accept information from other registers.
Instruction register
In computing, an instruction register is the part of a CPU's control unit that stores the
instruction currently being executed. In simple processors each instruction to be executed is
loaded into the instruction register which holds it while it is decoded, prepared and ultimately
executed, which can take several steps.
Decoding the opcode in the instruction register includes determining the instruction,
determining where its operands are in memory, retrieving the operands from memory,
allocating processor resources to execute the command etc. It holds the instruction and tell
what instruction to be executed. Its main work is to hold the instruction. Without this, it does
not perform any task.
Control Registers
Figure 1. Control Registers
Control registers (CR0, CR1, CR2, CR3, and CR4; in Figure 1) determine operating mode of the processor
and the characteristics of the currently executing task.These registers are 32 bits in all 32-bit modes and
compatibility mode.
Control Register 4 (CR4) Extensions
Control register 4 contains bits that enable or specify many of the extensions to the 486 architecture.
The majority of the bits in CR4 are reserved. The default state for all bits in CR4 is all zeros. Figure 2
shows the format of CR4.
Figure 2. Control Register 4 (CR4)
Memory-Management Registers
The processor provides four memory-management registers (GDTR, LDTR, IDTR, and TR) that specify the
locations of the data structures which control segmented memory management (in Figure 3). Special
instructions are provided for loading and storing these registers.
Figure 3. Memory Management Registers
Memory Address Register
The memory address register holds the address of the next memory location where the next instruction
is to be executed. While the first instruction is being executed, the address of the next memory location
is held by it. The computer’s CPU uses the address bus to communicate which memory address it wants
to access, and the memory controller reads the address and then puts the data stored in that memory
address back onto the address bus for the CPU to use.
The Memory Address Register is half of a minimal interface between a microprogram and computer
storage. The other half is a memory data register.
Memory Buffer Register
The Memory Buffer Register (MBR) is the register in the central processor that stores the data being
transferred to and from the immediate access store. It acts as a buffer allowing the central processor
and memory units to act independently without being affected by minor differences in operation. A data
item will be copied to the MBR ready for use at the next clock pulse when it can be either used by the
central processor or stored in main memory. This register holds the contents of the memory which are
to be transferred from memory to other components or vice versa. A word to be stored must be
transferred to the MBR from where it goes to the specific memory location and the arithmetic data to
be processed in the ALU first goes to MBR and then to accumulated register and then it is processed in
the ALU.
Memory Data Register
The memory data register (MDR) is the register of a computer's control unit that contains the
data to be stored in the computer storage (e.g. RAM), or the data after a fetch from the computer
storage. It acts like a buffer and holds anything that is copied from the memory ready for the
processor to use it.
The memory data register is half of a minimal interface between a microprogram and computer
storage, the other half is a memory address register.
Segment Registers
To reduce address translation time and coding complexity, the processor provides registers for holding
up to 6 segment selectors (in Figure 4). Each of these segment registers support a specific kind of
memory reference (code, stack, or data). The processor also provides three additional data-segment
registers (ES, FS, and GS), which can be used to make additional data segments available to the currently
executing program (or task).
Figure 4. Segment Registers
Every segment register has a “visible” part and a “hidden” part. (The hidden part is sometimes referred
to as a “descriptor cache” or a “shadow register.”) When a segment selector is loaded into the visible
part of a segment register, the processor also loads the hidden part of the segment register with the
base address, segment limit, and access control information from the segment descriptor pointed to by
the segment selector. The information cached in the segment register (visible and hidden) allows the
processor to translate addresses without taking extra bus cycles to read the base address and limit from
the segment descriptor.
Shift Register
In digital circuits a shift register is a group of flip flops set up in a linear fashion which have their inputs
and outputs connected together in such a way that the data is shifted down the line when the circuit is
activated.
Shift registers can have a co parallel inputs and outputs, including serial-in, parallel-out (SIPO) and
parallel-in, serial-out (PISO) types. There are also types that have both serial and parallel input and
types with serial and parallel output. There are also bi-directional shift registers which allow you to vary
the direction of the shift register. The serial input and outputs of a register can also be connected
together to create a circular shift register. One could also create multi-dimensional shift registers, which
can perform more complex computation.
Stack Register
A stack register is a computer central processor register whose purpose is to keep track of a call stack.
On an accumulator-based architecture machine, this may be a dedicated register such as SP on an Intel
x86 machine. On a general register machine, it may be a register which is reserved by convention, such
as on the PDP-11 or RISC machines. Some designs such as the Data General Eclipse had no dedicated
register, but used a reserved hardware memory address for this function.
A stack machine has 2 or more stack registers — one of them keeps track of a call stack, the other(s)
keep track of other stack(s).
Test register
Test register was a register used by the processor, usually to do a self-test. Most of these registers were
undocumented, and used by specialized software. In the x86 series, these registers were marked TR4 to
TR7. Usually, regular programs don't require these registers to work. In the newer CPU sets, the test
registers are removed.
Two test registers, TR6 and TR7, were provided for the purpose of testing. TR6 was the test command
register, and TR7 was the test data register. The MOV instructions are defined in both real-address
mode and protected mode. The test registers are privileged resources. In protected mode, the MOV
instructions that access them can only be executed at privilege level 0. An attempt to read or write the
test registers when executing at any other privilege level causes a general protection exception.
Task Register
The task register holds the 16-bit segment selector and the entire segment descriptor (32-bit base
address, 16-bit segment limit, and descriptor attributes) for the TSS of the current task (in Figure 5). This
information is copied from the TSS descriptor in the GDT for the current task. Figure 5 shows the path
the processor uses to access the TSS (using the information in the task register).
Figure 5. Task Register
Accumulator Register
Specialized microprocessor hardware 10 and a specialized instruction set that provides efficient data
processing operations on long word length or bit length data. Instructions that manipulate data include
a reserved bit-switch (in the form of a two bit field) whose status (A0) causes the instruction to be
executed once to operate on a single word of data, or whose status (A0S) causes the instruction to be
repeatedly executed as the instruction operates on a chain or list of sequential data, for example a data
chain including N 16-bit words of data, wherein N is an integer. Every instruction word that manipulates
data has a reserved bit switch that will cause the instruction to be executed either once operating on
single word data or as a repeated execution of the same instruction operating on a chain or list of
sequential data (n words).
EFLAGS Register
Figure 6. EFLAGS Register
System FLAGS and fields in the EFLAGS Register
The system flags and IOPL field of the EFLAGS register control I/O, maskable hard-ware interrupts,
debugging, task switching, and the virtual-8086 mode (in Figure 7). Only privileged code (typically
operating system or executive code) should be allowed to modify these bits.
Figure 7. System Flags in the EFLAGS Register
Base Address Register
The system uses deviations to generate corrective instructions to take the computer from a
storage position where it is,to a position where it isn't; arriving at the position where it wasn't,
it now is. Consequently, the position where it was, is now the position where it wasn't, and it
follows that the position where it was is the position where it isn't.
In the event the position where it is now, is not the position where it wasn't, the system has
acquired a variation, the variation being the difference between where the computer is
and where it wasn't. However, the computer is sure where it isn't, and it knows where it wasn't,
and by differentiating this from the algebraic difference between where it shouldn't be and
where it was, it is able to obtain the difference between its deviation and its variation which is
called ERROR!
Interrupt Command Register (ICR)
Figure 8. Interrupt Command Register (ICR)
The interrupt command register (ICR) is a 64-bit local APIC register (in Figure 8) that allows software
running on the processor to specify and send interprocessor interrupts (IPIs) to other processors in the
system.To send an IPI, software must set up the ICR to indicate the type of IPI message to be sent and
the destination processor or processors. (All fields of the ICR are read-write by software with the
exception of the delivery status field, which is read-only.) The act of writing to the low doubleword of
the ICR causes the IPI to be sent.
Memory Type Range Registers (MTRRS)
Memory type range registers (MTRRs) were introduced into the IA-32 architecture with the Pentium Pro
processor. They allow the type of caching (or no caching) to be specified in system memory for selected
physical address ranges. They allow memory accesses to be optimized for various types of memory such
as RAM, ROM, frame buffer memory, and memory-mapped I/O devices. Figure 9 shows the mapping of
physical memory with MTRRs.
Figure 9. Mapping Physical Memory With MTRRs
IA32_MCG_CAP MSR
The IA32_MCG_CAP MSR is a read-only register that provides information about the machine-check
architecture of the processor. Figure 10 shows the structure of the register in Pentium 4, Intel Xeon, and
P6 family processors.
Figure 10. IA32_MCG_CAP Register
IA32_MCG_STATUS MSR
The IA32_MCG_STATUS MSR describes the current state of the processor after a machine-check
exception has occurred (see Figure 11).
Figure 11. IA32_MCG_STATUS Register
IA32_MCi_CTL MSRs
The IA32_MCi_CTL MSR controls error reporting for errors produced by a particular hardware unit (or
group of hardware units). Each of the 64 flags (EEj) represents a potential error. Setting an EEj flag
enables reporting of the associated error and clearing it disables reporting of the error. The processor
does not write changes to bits that are not implemented. Figure 12 shows the bit fields of
IA32_MCi_CTL.
Figure 12. IA32_MCi_CTL Register
IA32_MCi_STATUS MSRS
Each IA32_MCi_STATUS MSR contains information related to a machine-check error if its VAL (valid) flag
is set (see Figure 13). Software is respon sible for clearing IA32_MCi_STATUS MSRs by explicitly writing
0s to them; writing 1s to them causes a general-protection exception.
Figure 13. IA32_MCi_STATUS Register
Machine-Check Type Register (MCTR)
The processor latches the cycle definition and other information about the current bus cycle in its 64-bit
Machine-Check Type Register (MCAR) at the same times that the Machine-Check Address Register
(MCAR) latches the cycle address:
when a bus-cycle error occurs. These errors are indicated either by (a) system logic asserting BUSCHK, or
(b) the processor asserting PCHK while system logic asserts PEN. The MCTR can be read with the RDMSR
instruction when the ECX register contains the value 01h. Figure 15 shows the formats of the MCTR
register. The contents of the register can be read with the RDMSR instruction. The processor clears the
CHK bit (bit 0) in MCTR when the register is read with the RDMSR instruction.
Figure 15. Machine-Check Type Register (MCTR)
Conclusion
Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU to
access data. The term is often used to refer only to the group of registers that are directly encoded as
part of an instruction, as defined by the instruction set. More properly, these are called the
"architectural registers". For instance, the x86 instruction set defines a set of eight 32-bit registers, but a
CPU that implements the x86 instruction set will often contain many more registers than just these.
References
1. http:///wiki/register
2. http://en.wikipedia.org/wiki/Test_register
3. http://en.wikipedia.org/wiki/stack_register
4. http://www.answers.com/topic/index-register-1
5. http://www.answers.com/topic/processor-register
6. http://www.answers.com/topic/instruction-register
7. http://www.answers.com/topic/microprocessor
8. http://www.answers.com/topic/memory-buffer-register
9. http://www.answers.com/topic/memory-data-register
10. http://www.answers.com/topic/memory-address-register
11. http://www.answers.com/topic/memory-type-range-registers
12. http://www.answers.com/topic/hardware-register
13. http://www.answers.com/topic/shift-register
14. http://www.answers.com/topic/register-file
15. http://www.wipo.int/about-wipo/en/
16. http://en.wikipedia.org/wiki/X86_memory_segmentation
17. http://www.intel.com/products/processor/manuals/index.htm
18. http:///wiki/Control_register
19. http:///wiki/Model-specific_register
20. http://en.wikipedia.org/wiki/Memory_Type_Range_Registers

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Register Reference Instructions | Computer Science
Register Reference Instructions | Computer ScienceRegister Reference Instructions | Computer Science
Register Reference Instructions | Computer Science
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and Architecture
 
Register transfer and micro-operation
Register transfer and micro-operationRegister transfer and micro-operation
Register transfer and micro-operation
 
Control unit
Control unitControl unit
Control unit
 
8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller8259 Programmable Interrupt Controller
8259 Programmable Interrupt Controller
 
Instruction set-of-8085
Instruction set-of-8085Instruction set-of-8085
Instruction set-of-8085
 
Computer registers
Computer registersComputer registers
Computer registers
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
8085 Architecture & Memory Interfacing1
8085 Architecture & Memory Interfacing18085 Architecture & Memory Interfacing1
8085 Architecture & Memory Interfacing1
 
Computer organization memory
Computer organization memoryComputer organization memory
Computer organization memory
 
COMPUTER INSTRUCTIONS & TIMING & CONTROL.
COMPUTER INSTRUCTIONS & TIMING & CONTROL.COMPUTER INSTRUCTIONS & TIMING & CONTROL.
COMPUTER INSTRUCTIONS & TIMING & CONTROL.
 
memory 8051
memory  8051memory  8051
memory 8051
 
Interrupts of microprocessor 8085
Interrupts of microprocessor  8085Interrupts of microprocessor  8085
Interrupts of microprocessor 8085
 
Computer registers
Computer registersComputer registers
Computer registers
 
8155 PPI
8155 PPI8155 PPI
8155 PPI
 
Memory & I/O interfacing
Memory & I/O  interfacingMemory & I/O  interfacing
Memory & I/O interfacing
 
M6800
M6800M6800
M6800
 
Memory segmentation-of-8086
Memory segmentation-of-8086Memory segmentation-of-8086
Memory segmentation-of-8086
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
register
registerregister
register
 

Similar a Various type of register

Processor organization & register organization
Processor organization & register organizationProcessor organization & register organization
Processor organization & register organizationGhanshyam Patel
 
Microprocessors
MicroprocessorsMicroprocessors
MicroprocessorsSpitiq
 
the-cpu-design-central-processing-unit-design-1
the-cpu-design-central-processing-unit-design-1the-cpu-design-central-processing-unit-design-1
the-cpu-design-central-processing-unit-design-1Basel Mansour
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueIOSR Journals
 
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdfPlease send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdfebrahimbadushata00
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessorAnuja Gunale
 
Bca examination 2015 csa
Bca examination 2015 csaBca examination 2015 csa
Bca examination 2015 csaAnjaan Gajendra
 
16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)Susam Pal
 
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvf
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvfRegisters.pptxmjgfdgjbgghjghjjfyujgftujbvf
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvfkashafishfaq21
 
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005SOLOMONCHINAEMEUCHEA
 
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002SOLOMONCHINAEMEUCHEA
 
Addressing modes (detailed data path)
Addressing modes (detailed data path)Addressing modes (detailed data path)
Addressing modes (detailed data path)Mahesh Kumar Attri
 

Similar a Various type of register (20)

Processor organization & register organization
Processor organization & register organizationProcessor organization & register organization
Processor organization & register organization
 
Microprocessors
MicroprocessorsMicroprocessors
Microprocessors
 
the-cpu-design-central-processing-unit-design-1
the-cpu-design-central-processing-unit-design-1the-cpu-design-central-processing-unit-design-1
the-cpu-design-central-processing-unit-design-1
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining Technique
 
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdfPlease send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
 
Cao 2012
Cao 2012Cao 2012
Cao 2012
 
microprocessor
 microprocessor microprocessor
microprocessor
 
Instruction codes
Instruction codesInstruction codes
Instruction codes
 
Presentation1
Presentation1Presentation1
Presentation1
 
Mod 3.pptx
Mod 3.pptxMod 3.pptx
Mod 3.pptx
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessor
 
Bca examination 2015 csa
Bca examination 2015 csaBca examination 2015 csa
Bca examination 2015 csa
 
16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)
 
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvf
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvfRegisters.pptxmjgfdgjbgghjghjjfyujgftujbvf
Registers.pptxmjgfdgjbgghjghjjfyujgftujbvf
 
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS3:005
 
Bc0040
Bc0040Bc0040
Bc0040
 
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002
HHCJ AMUMARA:COMPUTER STUDIES LECTURE NOTE FOR SS1:002
 
Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
Addressing modes (detailed data path)
Addressing modes (detailed data path)Addressing modes (detailed data path)
Addressing modes (detailed data path)
 

Más de Muhammad Taqi Hassan Bukhari

Coal 17 - arithematic operation in Assembly Programming
Coal 17 - arithematic operation in Assembly ProgrammingCoal 17 - arithematic operation in Assembly Programming
Coal 17 - arithematic operation in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingCoal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 10 instruction cycle and interrupts in Assembly Programming
Coal 10 instruction cycle and interrupts in Assembly ProgrammingCoal 10 instruction cycle and interrupts in Assembly Programming
Coal 10 instruction cycle and interrupts in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 6 instruction in assembly languages in Assembly Programming
Coal 6 instruction in assembly languages in Assembly ProgrammingCoal 6 instruction in assembly languages in Assembly Programming
Coal 6 instruction in assembly languages in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 5 memory reading concepts in Assembly Programming
Coal 5 memory reading concepts in Assembly ProgrammingCoal 5 memory reading concepts in Assembly Programming
Coal 5 memory reading concepts in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 3 history of intel evolution in Assembly Programming
Coal 3 history of intel evolution in Assembly ProgrammingCoal 3 history of intel evolution in Assembly Programming
Coal 3 history of intel evolution in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Coal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly ProgrammingCoal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 

Más de Muhammad Taqi Hassan Bukhari (20)

Coal 20-int21 h in Assembly Programming
Coal 20-int21 h in Assembly ProgrammingCoal 20-int21 h in Assembly Programming
Coal 20-int21 h in Assembly Programming
 
Coal 19-int10 h in Assembly Programming
Coal 19-int10 h in Assembly ProgrammingCoal 19-int10 h in Assembly Programming
Coal 19-int10 h in Assembly Programming
 
Coal 18 cache in Assembly Programming
Coal 18 cache in Assembly ProgrammingCoal 18 cache in Assembly Programming
Coal 18 cache in Assembly Programming
 
Coal 17 - arithematic operation in Assembly Programming
Coal 17 - arithematic operation in Assembly ProgrammingCoal 17 - arithematic operation in Assembly Programming
Coal 17 - arithematic operation in Assembly Programming
 
Coal 16 mapping in Assembly Programming
Coal 16 mapping in Assembly ProgrammingCoal 16 mapping in Assembly Programming
Coal 16 mapping in Assembly Programming
 
Coal 15 memory in Assembly Programming
Coal 15 memory in Assembly ProgrammingCoal 15 memory in Assembly Programming
Coal 15 memory in Assembly Programming
 
Coal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingCoal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly Programming
 
Coal 11 jumps in Assembly Programming
Coal 11 jumps in Assembly ProgrammingCoal 11 jumps in Assembly Programming
Coal 11 jumps in Assembly Programming
 
Coal 10 instruction cycle and interrupts in Assembly Programming
Coal 10 instruction cycle and interrupts in Assembly ProgrammingCoal 10 instruction cycle and interrupts in Assembly Programming
Coal 10 instruction cycle and interrupts in Assembly Programming
 
Coal 9 pipelining in Assembly Programming
Coal 9 pipelining in Assembly ProgrammingCoal 9 pipelining in Assembly Programming
Coal 9 pipelining in Assembly Programming
 
Coal7 segmentation in Assembly Programming
Coal7 segmentation in Assembly ProgrammingCoal7 segmentation in Assembly Programming
Coal7 segmentation in Assembly Programming
 
Coal 6 instruction in assembly languages in Assembly Programming
Coal 6 instruction in assembly languages in Assembly ProgrammingCoal 6 instruction in assembly languages in Assembly Programming
Coal 6 instruction in assembly languages in Assembly Programming
 
Coal 5 memory reading concepts in Assembly Programming
Coal 5 memory reading concepts in Assembly ProgrammingCoal 5 memory reading concepts in Assembly Programming
Coal 5 memory reading concepts in Assembly Programming
 
Coal 4 - quiz in Assembly Programming
Coal 4 - quiz in Assembly ProgrammingCoal 4 - quiz in Assembly Programming
Coal 4 - quiz in Assembly Programming
 
Coal 3 history of intel evolution in Assembly Programming
Coal 3 history of intel evolution in Assembly ProgrammingCoal 3 history of intel evolution in Assembly Programming
Coal 3 history of intel evolution in Assembly Programming
 
Coal 2 - concepts in Assembly Programming
Coal 2 - concepts in Assembly ProgrammingCoal 2 - concepts in Assembly Programming
Coal 2 - concepts in Assembly Programming
 
Coal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly ProgrammingCoal 1 - introduction to assembly programming in Assembly Programming
Coal 1 - introduction to assembly programming in Assembly Programming
 
Coal 21- macro in Assembly Programming
Coal 21- macro in Assembly ProgrammingCoal 21- macro in Assembly Programming
Coal 21- macro in Assembly Programming
 
MSF process model
MSF process modelMSF process model
MSF process model
 
HRM Short Handouts - Taqi Hassan
HRM Short Handouts - Taqi HassanHRM Short Handouts - Taqi Hassan
HRM Short Handouts - Taqi Hassan
 

Último

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Último (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Various type of register

  • 1. An Assignment On Registers of Microprocessors Microprocessor & Microcomputer Lab Course Code: CSE – 312 © Moshiur Rahman Khan CSE 1st Batch, PSTU.
  • 2. Submitted To Md. Ileas Pramanik Lecturer, CSE Faculty, PSTU. Submitted By Md.Moshiur Rahman Khan Reg No.: 00600 Roll No.: 21 L-IV, S- I mehedi.cse@gmail.com CSE, PSTU. Submission Date: 24-10-2008 Signature of the Course Teacher: Patuakhali Science & Technology University, Patuakhali.
  • 3. Acknowledgments I am very grateful to my honorable teacher Md. Ileas Pramanik, Lecturer, Faculty of CSE, PSTU, who assigns me this assignment & allowed me to complete this assignment. I would also like to thank to my teacher for his kind help to complete the assignment & making this possible. I am grateful to Ileas Sir for the fellowship, and many discussions and comments that led to this assignment. Finally, this work describes about technical review of Registers in Microprocessor.
  • 4. Contents Introduction 01 Categories of Registers 01 System Register & Status Register 02 Pointer Register & Index Register 03 Hardware register 03 Instruction Register & Control Register 04 Memory Management Register & Address Register 05 Memory Data Register and Buffer Register 06 Segment Register 06 Shift Register & Stack Register 07 Test Register & Task Register 07 Accumulator Register 08 EFLAGS Register 09 Base Address Register & Interrupt Command Register 10 Memory Type Range Register & IA32_MCG_CAP MSR 11 IA32_MCG_STATUS MSR & IA32_MCi_CTL_MSRs 12 IA32_MCi_STATUS_MSRs & Machine Check Type Register 13 Conclusion 14 References 15
  • 5. Introduction In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere. Most, but not all, modern computer architectures operate on the principle of moving data from main memory into registers, operating on them, then moving the result back into main memory—a so-called load-store architecture. A common property of computer programs is locality of reference: the same values are often accessed repeatedly; and holding these frequently used values in registers improves program execution performance. Allocating frequently used variables to registers can be critical to a program's performance. This action, namely register allocation is performed by a compiler in the code generation phase. Categories of Registers Registers are normally measured by the number of bits they can hold, for example, an "8-bit register" or a "32-bit register". Registers are now usually implemented as a register file, but they have also been implemented using individual flip-flops, high speed core memory, thin film memory, and other ways in various machines. A processor often contains several kinds of registers, that can be classified according to their content or instructions that operate on them:  User-accessible Registers - The most common division of user-accessible registers is into data registers and address registers.  Data registers are used to hold numeric values such as integer and floating-point values. In some older and low end CPUs, a special data register, known as the accumulator, is used implicitly for many operations.  Address registers hold addresses and are used by instructions that indirectly access memory. o Some processors contain registers that may only be used to hold an address or only to hold numeric values (in some cases used as an index register whose value is added as an offset from some address); others allow registers hold either kind of quantity. A wide variety of possible addressing modes, used to specify the effective address of an operand, exist. o A stack pointer, sometimes called a stack register, is the name given to a register that can be used by some instructions to maintain a stack (data structure).  Conditional registers hold truth values often used to determine whether some instruction should or should not be executed.  General purpose registers (GPRs) can store both data and addresses, i.e., they are combined Data/Address registers.  Floating point registers (FPRs) store floating point numbers in many architectures.  Constant registers hold read-only values such as zero, one, or pi.  Vector registers hold data for vector processing done by SIMD instructions (Single Instruction, Multiple Data).  Special purpose registers hold program state; they usually include the program counter (aka instruction pointer), stack pointer, and status register (aka processor status word). o Instruction registers store the instruction currently being executed.
  • 6.  In some architectures, model-specific registers (also called machine-specific registers) store data and settings related to the processor itself. Because their meanings are attached to the design of a specific processor, they cannot be expected to remain standard between processor generations.  Control and status registers - It has three types. Program counter, instruction registers, Program status word (PSW).  Registers related to fetching information from RAM, a collection of storage registers located on separate chips from the CPU (unlike most of the above, these are generally not architectural registers): o Memory buffer register o Memory data register o Memory address register o Memory Type Range Registers Hardware registers are similar, but occur outside CPUs. System Registers To assist in initializing the processor and controlling system operations, the system architecture provides system flags in the EFLAGS register and several system registers: • The system flags and IOPL field in the EFLAGS register control task and mode switching, interrupt handling, instruction tracing, and access rights. • The control registers (CR0, CR2, CR3, and CR4) contain a variety of flags and data fields for controlling system-level operations. Other flags in these registers are used to indicate support for specific processor capabilities within the operating system or executive. • The debug registers allow the setting of breakpoints for use in debugging programs and systems software. • The GDTR, LDTR, and IDTR registers contain the linear addresses and sizes (limits) of their respective tables. • The task register contains the linear address and size of the TSS for the current task. • Model-specific registers. Status register A status register (also: flag register or condition code register (CCR)) is a collection of flag bits for a processor. A popular example of a status register is the FLAGS register of x86 architecture based microprocessors.
  • 7. Common status register flags  Z — Zero flag. Indicates that the result of a mathematical or logical operation was zero.  C — Carry flag. Indicates that the result of an operation produced an answer greater than the number of available bits. (This flag may also be set before a mathematical operation as an extra operand to certain instructions, e.g. "add with carry".)  X — Extend bit.  N (or S) — Negative or Sign flag. Indicates that the result of a mathematical operation is negative.  V (or O or W) — Overflow flag. Indicates that the result of an operation has overflowed according to the CPU's word representation, similar to the carry flag but for signed operations.  I (or E) — Interrupt enable flag. Interrupts can be enabled or disabled by respectively setting or clearing this flag.  P — Parity flag. Indicate that the number of bits of the result is odd or even.  D (or T) — Debug or Trap flag. Specifies that a special tracing interrupt is generated immediately after each single instruction is executed. This is used to implement program code debuggers. Pointer Register A bit information is first calculated in ALU 7 from the address among the control space address map that has been designated by the address of the above-described STC (store-control-space) instruction. The specific register in the general-purpose register group 8 is no longer required to be designated by the instruction field "X3" of the microinstruction register 4, but this specific register can be accessed by merely, commonly designating the general-purpose register group 8 by way of the selection field "X2" of the microinstruction register 4, based upon the bit information temporarily stored in the pointer register 10. Index Register An index register in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations. Index registers were first used in the British Manchester Mark I computer, in 1949. Index registers are used for a special kind of indirect addressing where an immediate constant is added to the contents of a register to form the address to the actual operand or data; architectures which allow more than one register to be used this way naturally have an opcode field for specifying which register to use. Hardware Register In digital electronics, especially computing, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously. The hardware registers inside a central processing unit (CPU) are called processor registers. Signals from a state machine to the register control when registers transmit to or accept information from other registers.
  • 8. Instruction register In computing, an instruction register is the part of a CPU's control unit that stores the instruction currently being executed. In simple processors each instruction to be executed is loaded into the instruction register which holds it while it is decoded, prepared and ultimately executed, which can take several steps. Decoding the opcode in the instruction register includes determining the instruction, determining where its operands are in memory, retrieving the operands from memory, allocating processor resources to execute the command etc. It holds the instruction and tell what instruction to be executed. Its main work is to hold the instruction. Without this, it does not perform any task. Control Registers Figure 1. Control Registers Control registers (CR0, CR1, CR2, CR3, and CR4; in Figure 1) determine operating mode of the processor and the characteristics of the currently executing task.These registers are 32 bits in all 32-bit modes and compatibility mode. Control Register 4 (CR4) Extensions Control register 4 contains bits that enable or specify many of the extensions to the 486 architecture. The majority of the bits in CR4 are reserved. The default state for all bits in CR4 is all zeros. Figure 2 shows the format of CR4.
  • 9. Figure 2. Control Register 4 (CR4) Memory-Management Registers The processor provides four memory-management registers (GDTR, LDTR, IDTR, and TR) that specify the locations of the data structures which control segmented memory management (in Figure 3). Special instructions are provided for loading and storing these registers. Figure 3. Memory Management Registers Memory Address Register The memory address register holds the address of the next memory location where the next instruction is to be executed. While the first instruction is being executed, the address of the next memory location is held by it. The computer’s CPU uses the address bus to communicate which memory address it wants to access, and the memory controller reads the address and then puts the data stored in that memory address back onto the address bus for the CPU to use. The Memory Address Register is half of a minimal interface between a microprogram and computer storage. The other half is a memory data register.
  • 10. Memory Buffer Register The Memory Buffer Register (MBR) is the register in the central processor that stores the data being transferred to and from the immediate access store. It acts as a buffer allowing the central processor and memory units to act independently without being affected by minor differences in operation. A data item will be copied to the MBR ready for use at the next clock pulse when it can be either used by the central processor or stored in main memory. This register holds the contents of the memory which are to be transferred from memory to other components or vice versa. A word to be stored must be transferred to the MBR from where it goes to the specific memory location and the arithmetic data to be processed in the ALU first goes to MBR and then to accumulated register and then it is processed in the ALU. Memory Data Register The memory data register (MDR) is the register of a computer's control unit that contains the data to be stored in the computer storage (e.g. RAM), or the data after a fetch from the computer storage. It acts like a buffer and holds anything that is copied from the memory ready for the processor to use it. The memory data register is half of a minimal interface between a microprogram and computer storage, the other half is a memory address register. Segment Registers To reduce address translation time and coding complexity, the processor provides registers for holding up to 6 segment selectors (in Figure 4). Each of these segment registers support a specific kind of memory reference (code, stack, or data). The processor also provides three additional data-segment registers (ES, FS, and GS), which can be used to make additional data segments available to the currently executing program (or task). Figure 4. Segment Registers Every segment register has a “visible” part and a “hidden” part. (The hidden part is sometimes referred to as a “descriptor cache” or a “shadow register.”) When a segment selector is loaded into the visible part of a segment register, the processor also loads the hidden part of the segment register with the base address, segment limit, and access control information from the segment descriptor pointed to by the segment selector. The information cached in the segment register (visible and hidden) allows the
  • 11. processor to translate addresses without taking extra bus cycles to read the base address and limit from the segment descriptor. Shift Register In digital circuits a shift register is a group of flip flops set up in a linear fashion which have their inputs and outputs connected together in such a way that the data is shifted down the line when the circuit is activated. Shift registers can have a co parallel inputs and outputs, including serial-in, parallel-out (SIPO) and parallel-in, serial-out (PISO) types. There are also types that have both serial and parallel input and types with serial and parallel output. There are also bi-directional shift registers which allow you to vary the direction of the shift register. The serial input and outputs of a register can also be connected together to create a circular shift register. One could also create multi-dimensional shift registers, which can perform more complex computation. Stack Register A stack register is a computer central processor register whose purpose is to keep track of a call stack. On an accumulator-based architecture machine, this may be a dedicated register such as SP on an Intel x86 machine. On a general register machine, it may be a register which is reserved by convention, such as on the PDP-11 or RISC machines. Some designs such as the Data General Eclipse had no dedicated register, but used a reserved hardware memory address for this function. A stack machine has 2 or more stack registers — one of them keeps track of a call stack, the other(s) keep track of other stack(s). Test register Test register was a register used by the processor, usually to do a self-test. Most of these registers were undocumented, and used by specialized software. In the x86 series, these registers were marked TR4 to TR7. Usually, regular programs don't require these registers to work. In the newer CPU sets, the test registers are removed. Two test registers, TR6 and TR7, were provided for the purpose of testing. TR6 was the test command register, and TR7 was the test data register. The MOV instructions are defined in both real-address mode and protected mode. The test registers are privileged resources. In protected mode, the MOV instructions that access them can only be executed at privilege level 0. An attempt to read or write the test registers when executing at any other privilege level causes a general protection exception. Task Register The task register holds the 16-bit segment selector and the entire segment descriptor (32-bit base address, 16-bit segment limit, and descriptor attributes) for the TSS of the current task (in Figure 5). This
  • 12. information is copied from the TSS descriptor in the GDT for the current task. Figure 5 shows the path the processor uses to access the TSS (using the information in the task register). Figure 5. Task Register Accumulator Register Specialized microprocessor hardware 10 and a specialized instruction set that provides efficient data processing operations on long word length or bit length data. Instructions that manipulate data include a reserved bit-switch (in the form of a two bit field) whose status (A0) causes the instruction to be executed once to operate on a single word of data, or whose status (A0S) causes the instruction to be repeatedly executed as the instruction operates on a chain or list of sequential data, for example a data chain including N 16-bit words of data, wherein N is an integer. Every instruction word that manipulates data has a reserved bit switch that will cause the instruction to be executed either once operating on single word data or as a repeated execution of the same instruction operating on a chain or list of sequential data (n words).
  • 13. EFLAGS Register Figure 6. EFLAGS Register System FLAGS and fields in the EFLAGS Register The system flags and IOPL field of the EFLAGS register control I/O, maskable hard-ware interrupts, debugging, task switching, and the virtual-8086 mode (in Figure 7). Only privileged code (typically operating system or executive code) should be allowed to modify these bits. Figure 7. System Flags in the EFLAGS Register
  • 14. Base Address Register The system uses deviations to generate corrective instructions to take the computer from a storage position where it is,to a position where it isn't; arriving at the position where it wasn't, it now is. Consequently, the position where it was, is now the position where it wasn't, and it follows that the position where it was is the position where it isn't. In the event the position where it is now, is not the position where it wasn't, the system has acquired a variation, the variation being the difference between where the computer is and where it wasn't. However, the computer is sure where it isn't, and it knows where it wasn't, and by differentiating this from the algebraic difference between where it shouldn't be and where it was, it is able to obtain the difference between its deviation and its variation which is called ERROR! Interrupt Command Register (ICR) Figure 8. Interrupt Command Register (ICR) The interrupt command register (ICR) is a 64-bit local APIC register (in Figure 8) that allows software running on the processor to specify and send interprocessor interrupts (IPIs) to other processors in the system.To send an IPI, software must set up the ICR to indicate the type of IPI message to be sent and
  • 15. the destination processor or processors. (All fields of the ICR are read-write by software with the exception of the delivery status field, which is read-only.) The act of writing to the low doubleword of the ICR causes the IPI to be sent. Memory Type Range Registers (MTRRS) Memory type range registers (MTRRs) were introduced into the IA-32 architecture with the Pentium Pro processor. They allow the type of caching (or no caching) to be specified in system memory for selected physical address ranges. They allow memory accesses to be optimized for various types of memory such as RAM, ROM, frame buffer memory, and memory-mapped I/O devices. Figure 9 shows the mapping of physical memory with MTRRs. Figure 9. Mapping Physical Memory With MTRRs IA32_MCG_CAP MSR The IA32_MCG_CAP MSR is a read-only register that provides information about the machine-check architecture of the processor. Figure 10 shows the structure of the register in Pentium 4, Intel Xeon, and P6 family processors.
  • 16. Figure 10. IA32_MCG_CAP Register IA32_MCG_STATUS MSR The IA32_MCG_STATUS MSR describes the current state of the processor after a machine-check exception has occurred (see Figure 11). Figure 11. IA32_MCG_STATUS Register IA32_MCi_CTL MSRs The IA32_MCi_CTL MSR controls error reporting for errors produced by a particular hardware unit (or group of hardware units). Each of the 64 flags (EEj) represents a potential error. Setting an EEj flag enables reporting of the associated error and clearing it disables reporting of the error. The processor does not write changes to bits that are not implemented. Figure 12 shows the bit fields of IA32_MCi_CTL. Figure 12. IA32_MCi_CTL Register
  • 17. IA32_MCi_STATUS MSRS Each IA32_MCi_STATUS MSR contains information related to a machine-check error if its VAL (valid) flag is set (see Figure 13). Software is respon sible for clearing IA32_MCi_STATUS MSRs by explicitly writing 0s to them; writing 1s to them causes a general-protection exception. Figure 13. IA32_MCi_STATUS Register Machine-Check Type Register (MCTR) The processor latches the cycle definition and other information about the current bus cycle in its 64-bit Machine-Check Type Register (MCAR) at the same times that the Machine-Check Address Register (MCAR) latches the cycle address: when a bus-cycle error occurs. These errors are indicated either by (a) system logic asserting BUSCHK, or (b) the processor asserting PCHK while system logic asserts PEN. The MCTR can be read with the RDMSR instruction when the ECX register contains the value 01h. Figure 15 shows the formats of the MCTR register. The contents of the register can be read with the RDMSR instruction. The processor clears the CHK bit (bit 0) in MCTR when the register is read with the RDMSR instruction.
  • 18. Figure 15. Machine-Check Type Register (MCTR) Conclusion Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU to access data. The term is often used to refer only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. More properly, these are called the "architectural registers". For instance, the x86 instruction set defines a set of eight 32-bit registers, but a CPU that implements the x86 instruction set will often contain many more registers than just these.
  • 19. References 1. http:///wiki/register 2. http://en.wikipedia.org/wiki/Test_register 3. http://en.wikipedia.org/wiki/stack_register 4. http://www.answers.com/topic/index-register-1 5. http://www.answers.com/topic/processor-register 6. http://www.answers.com/topic/instruction-register 7. http://www.answers.com/topic/microprocessor 8. http://www.answers.com/topic/memory-buffer-register 9. http://www.answers.com/topic/memory-data-register 10. http://www.answers.com/topic/memory-address-register 11. http://www.answers.com/topic/memory-type-range-registers 12. http://www.answers.com/topic/hardware-register 13. http://www.answers.com/topic/shift-register 14. http://www.answers.com/topic/register-file 15. http://www.wipo.int/about-wipo/en/ 16. http://en.wikipedia.org/wiki/X86_memory_segmentation 17. http://www.intel.com/products/processor/manuals/index.htm 18. http:///wiki/Control_register 19. http:///wiki/Model-specific_register 20. http://en.wikipedia.org/wiki/Memory_Type_Range_Registers