| Inside Pentium 4 Architecture |
|
|
$ Check REAL-TIME pricing for Intel Pentium Dual Core E5300 Processor BX80571E5300 - 2.60GHz 2MB Cache 800MHz FSB Wolfdale Retail Socket 775 $ |
|
|
|
|
|
| Allocator and Register Renamer |
What the allocator does:
- Reserves one of the 126 reorder buffers (ROB) to the current microinstruction, in order to keep track of the microinstruction completion status. This allows the microinstructions to be executed out-of-order, since the CPU will be able to put them in order again by using this table.
- Reserves on of the 128 register files (RF) in order to store there the data resulted from the microinstruction processing.
- If the microinstruction is a load or a store, i.e. it will read (load) or write (store) data from/to RAM memory, it will reserve one of the 48 load buffers or one of the 24 store buffers according.
- Reserves an entry on the memory or general queue, depending on the kind of microinstruction it is.
After that the microinstruction goes to the register renaming stage. CISC x86 architecture has only eight 32-bit registers (EAX, EBX, ECX, EDX, EBP, ESI, EDI and ESP). This number is simply too low, especially because modern CPUs can execute code out-of-order, what would “kill” the contents of a given register, crashing the program.
So, at this stage, the processor changes the name and contents of the registers used by the program into one of the 128 internal registers available, allowing the instruction to run at the same time of another instruction that uses the exact same standard register, or even out-of-order, i.e. this allows the second instruction to run before the first instruction even if they mess with the same register. It is interesting to note that Pentium 4 has actually 256 internal registers, 128 registers for integer instructions and 128 registers for floating point and SSE instructions.
Pentium 4 renamer is capable of processing three microinstructions per clock cycle.
From the renamer the microinstructions go to a queue, according to its type: memory queue, for memory-related microinstructions, or Integer/Floating Point Queue, for all other instruction types.
 click to enlarge Figure 4: Allocator and Register Renamer.
|
| Pages (7): « 1 2 3 4 [5] 6 7 » |
| Print Version | Send to Friend |
|
Bookmark Article
| Comments (0)
|
|
Recommended Deal |
 | AMD Phenom II X2 550 Black Edition Dual Core Processor - 3.10GHz Socket AM3 6MB Cache 2000MHz 4000 MT/s Retail Unlocked Multiplier HDZ550WFGIBOX
|
|
Latest News |
November 6, 2009 - 3:07 PM PST |
November 5, 2009 - 3:49 PM PST |
November 5, 2009 - 3:47 PM PST |
November 5, 2009 - 3:42 PM PST |
November 5, 2009 - 3:38 PM PST |
November 5, 2009 - 3:36 PM PST |
November 3, 2009 - 8:14 PM PST |
November 3, 2009 - 7:57 PM PST |
November 3, 2009 - 7:51 PM PST |
November 2, 2009 - 6:05 PM PST |
| .:: More News ::. |
|
Latest Content |
|
|
| Our Most Popular Articles |
1,070,854 views
|
695,258 views
|
671,461 views
|
585,853 views
|
555,986 views
|
554,133 views
|
485,817 views
|
474,867 views
|
389,411 views
|
336,578 views
|
|
| Latest Threads in Our Forums |
by shadixmax |
by ftomsuk |
by cchjde |
by delta32 |
by Desert Fox |
by sam_wade07 |
by fjs559 |
by Hardware Secrets Team |
by Merman |
by Olle P |
| .:: Visit Our Forums ::. |
|
|