| Inside Pentium 4 Architecture |
|
|
| $ Check REAL-TIME pricing for Intel Pentium® 4 650, 3.4 GHz (BX80547PG3400F) Boxed Processor $ |
|
|
|
| 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 Deals |  | AMD Athlon 64 3500+, 2.2 GHz (ada3500dik4b) OEM / Unboxed Processor
|  | AMD Athlon™ 64 X2 6000+, 3.0 GHz (ADX6000CZBOX) Boxed Processor
|  | AMD Opteron 180, 2.4 GHz (OSA180DAA6CD) Processor
|  | AMD Athlon™ 64 3000+, 2.0 GHz (ada3000box) AMD Processor in a Box (PIB)
|  | Intel Core™2 Quad Q6600, 2.40 GHz (BX80562Q6600) Boxed Processor
|
|
Latest News |
October 6, 2008 - 11:10 AM PST |
October 3, 2008 - 11:50 AM PST |
October 3, 2008 - 11:28 AM PST |
October 3, 2008 - 11:17 AM PST |
October 3, 2008 - 11:07 AM PST |
October 2, 2008 - 9:56 AM PST |
October 1, 2008 - 9:51 AM PST |
September 30, 2008 - 9:25 AM PST |
September 29, 2008 - 8:00 AM PST |
September 26, 2008 - 11:52 AM PST |
| .:: More News ::. |
|
Latest Content |
|
|
| Our Most Popular Articles |
792,400 views
|
493,104 views
|
435,981 views
|
419,813 views
|
413,994 views
|
403,717 views
|
362,545 views
|
347,121 views
|
283,908 views
|
274,720 views
|
|
| Latest Threads in Our Forums |
by kiddmanty |
by Hardware Secrets Team |
by Gamer Z |
by Gamer Z |
by aopen |
by aopen |
by aopen |
by aopen |
by C.Gajo |
by Gabriel Torres |
| .:: Visit Our Forums ::. |
|
|