Hardware Secrets
Home | Camera | Case | CE | Cooling | CPU | Input | Memory | Mobile | Motherboard | Networking | Power | Storage | Video | Other
Content
Articles
First Look
Gabriel's Blog
News
Reviews
Tutorials
Main Menu
About Us
Awarded Products
Compare Prices
Datasheets
Dictionary
Download
Drivers
Forums
Links
Manufacturer Finder
Newsletter
On The Web
RSS Feed
Test Your Skills
Twitter
Newsletter
Subscribe today!
Search





Recommended Book
The Unabridged Pentium 4: IA32 Processor Genealogy (PC System Architecture Series)
The Unabridged Pentium 4: IA32 Processor Genealogy (PC System Architecture Series)
By Tom Shanley
Addison-Wesley Professional
Price: $29.99

Home » CPU
Inside Pentium M Architecture
Author: Gabriel Torres
Type: Tutorials Last Updated: January 4, 2006
Page: 4 of 7
$ Check REAL-TIME pricing for Intel.jpg Check out the latest range of Motherboards & Processors by Dell Intel Asus Foxconn Abit Evga Advanced micro devices and many more Pentium E2200 2.2 GHz Dual Core Processor BX80557E2200 $
Dell Home: $85.99 TigerDirect USA: $64.96
Newegg: $69.99 Directron: $64.99

Instruction Decoder and Register Renaming

Since the introduction of P6 architecture with Pentium Pro Intel processors use a hybrid CISC/RISC architecture. The processor must accept CISC instructions, also known as x86 instructions, since all software available today is written using this kind of instructions. A RISC-only CPU couldn’t be create for the PC because it wouldn’t run software we have available today, like Windows and Office.

So, the solution used by all processors available on the market today from both Intel and AMD is to use a CISC/RISC decoder. Internally the CPU processes RISC-like instructions, but its front-end accepts only CISC x86 instructions.

CISC x86 instructions are referred as “instructions” as the internal RISC instructions are referred as “microinstructions”, “micro-ops” or “µops”.

These RISC microinstructions, however, cannot be accessed directly, so we couldn’t create software based on these instructions to bypass the decoder. Also, each CPU uses its own RISC instructions, which are not public documented and are incompatible with microinstructions from other CPUs. I.e., Pentium M microinstructions are different from Pentium 4 microinstructions, which are different from Athlon 64 microinstructions.

Depending on the complexity of the x86 instruction, it has to be converted into several RISC microinstructions.

Pentium M instruction decoder works like shown on Figure 3. As you can see, there are three decoders and a Micro Instruction Sequencer (MIS). Two decoders are optimized for simple instructions, which are the most used ones. This kind of instruction is converted in just one micro-op. One decoder is optimized for complex x86 instructions, which can be converted in up to four micro-ops. If the x86 instruction is too complex, i.e. it converts into more than four micro-ops, it is sent to the Micro Instruction Sequencer, which is a ROM memory containing a list of micro-ops that should replace the given x86 instruction.

Pentium M Instruction Decoder
click to enlarge
Figure 3: Instruction Decoder and Register Renaming.

The instruction decoder can convert up to three x86 instructions per clock cycle, one complex at Decoder 0 and two simple at decoders 1 and 2, feeding the Decoded Instruction Queue with up to six micro-ops per clock cycle, scenario that is reached when Decoder 0 sends four micro-ops and the other two decoders send one micro-op each – or when the MIS is used. Very complex x86 instructions that use the Micro Instruction Sequencer can delay several clock cycles to be decoded, depending on how many micro-ops will be generated from the conversion. Keep in mind that the Decoded Instruction Queue can hold only up to six micro-ops, so if more than six micro-ops are generated by the decoder plus MIS, another clock cycle is needed to send the current micro-ops present in the queue to the Register Allocation Table (RAT), empty the queue and accept the micro-ops that didn’t “fit” before.

Pentium M uses a new concept to the P6 architecture that is called micro-op fusion. On Pentium M the decoder unit fuses two micro-ops into one. They will be de-fused only to be executed, at the execution stage.

On P6 architecture, each microinstruction is 118-bit long. Pentium M instead of working with 118-bit micro-ops works with 236-bit long micro-ops that are in fact two 118-bit micro-ops.

Keep in mind that the micro-ops continue to be 118-bit long; what changed is that they are transported in groups of two.

This idea behind this approach was to save energy and increase performance. It is faster to send one 236-bit micro-op than two 118-bit micro-ops. Also the CPU will consume less power, since less micro-ops will be circulating inside of it.

Fused micro-ops are then sent to the Register Allocation Table (RAT). 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 40 internal registers available (each one of them is 80-bit wide, thus accepting both integer and floating-point data), 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.

Pages (7): « 1 2 3 [4] 5 6 7 »
Print Version | Send to Friend | | Bookmark Article | Comments (0)

Related Content
  • Intel is going to Identify Their Processors Through Numbers
  • Does Celeron Centrino Exist?
  • Intel Fab18 Factory Tour in Kiryat Gat, Israel
  • Intel EM64T Technology Explained
  • All Pentium M Models

  • Recommended Deal
    Phenom II 710 2.6GHz Triple ProcessorAMD Phenom II X3 710 Socket AM3 45nm Tri-Core Processor with 2.6GHz 4000MHz HT 6MB L3 Cache. Model HDX710WFGIBOX Retail Box Free Ground Shipping


    Directron: $119.99 Newegg: $129.00
    Amazon: $170.66 TigerDirect USA: $109.99

    RSSLatest News
    Thermaltake Launches PW880i Water Cooler
    July 3, 2009 - 1:27 PM PST
    NZXT Announces Sentry 2 Touchscreen Fan Controller
    July 2, 2009 - 2:25 PM PST
    Transcend Intros Thermal Sensor-Equipped DDR3 Memory
    July 1, 2009 - 11:40 AM PST
    Cooler Master Launches Universal Laptop Charger
    June 30, 2009 - 5:03 PM PST
    Active Media Products Launches “President Barack Obama” USB Flash Memory
    June 29, 2009 - 6:57 PM PST
    New SSD Drives from Corsair
    June 26, 2009 - 4:33 AM PST
    MSI Announces X-Slim X600 Notebook
    June 25, 2009 - 6:00 PM PST
    Zotac Releases GeForce GTX 275 with 1,792 MB GDDR3
    June 24, 2009 - 7:54 AM PST
    Kingston Launches DDR3-1600 HyperX T1 Memory Kit
    June 23, 2009 - 11:20 AM PST
    Walton Chaintech Announces eSATA/USB Flash Memory Series
    June 22, 2009 - 2:00 AM PST
    .:: More News ::.

    RSSLatest Content
    Power Supplies Re-Tested - Part 3
    Thermaltake Element G Case Review
    Corsair CX400W Power Supply Review
    Seventeam ST-750P-AF Power Supply Review
    Rocketfish 550 W Power Supply Review
    In Win X-Fighter Case Review
    Gigabyte G31M-ES2C Motherboard
    BFG ES-800 Power Supply Review
    And The Training Goes On...
    2 TB Hard Disk Drive Battle: Seagate Barracuda LP vs. Western Digital Caviar Green
    Power Supplies Re-Tested - Part 2
    Power Supplies Re-Tested - Part 1
    Hardware Secrets Power Supply Test Methodology
    What WePC Dreams Are Becoming Reality?
    All Phenom Models

    Our Most Popular Articles
    Maximum CPU Temperature
    988,836 views
    nVidia Chips Comparison Table
    617,322 views
    How to Find Out Your Motherboard Manufacturer and Model
    596,346 views
    AMD ATI Chips Comparison Table
    517,897 views
    Connecting Two PCs Using a USB-USB Cable
    512,959 views
    How To Correctly Apply Thermal Grease
    495,970 views
    ATI Radeon X1300 Pro Review
    467,255 views
    ATI Radeon X1600 XT Review
    458,247 views
    How To Perform a BIOS Upgrade
    343,238 views
    Sempron vs. Athlon XP
    320,174 views

    Latest Threads in Our Forums
    How to Create a Three-Speed Fan Control Without Spending a Dime
    by Olle P
    Thermaltake Launches PW880i Water Cooler
    by Olle P
    Wireless Router
    by Osirus
    PC versus dedicated NAS for network storage?
    by Osirus
    Latency
    by Osirus
    My wireless keeps dropping
    by Osirus
    Seventeam ST-750P-AF Power Supply Review
    by Olle P
    Area 51m 9750 temp assistence
    by tomahawk 1705
    Hardware Secrets Power Supply Test Methodology
    by jolphil
    Fujifilm FinePix A150
    by Hardware Secrets Team
    .:: Visit Our Forums ::.

    © 2004-9, Hardware Secrets, LLC. All rights reserved.
    Advertising | Legal Information | Privacy Policy
    All times are Pacific Standard Time (PST, GMT -08:00)