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




Recommended Book
The Winn L. Rosch Hardware Bible (6th Edition)
By Winn L Rosch
Que
Price: $0.92

Home » CPU
Inside AMD64 Architecture
Author: Gabriel Torres
Type: Tutorials Last Updated: May 16, 2006
Page: 7 of 9
$ Check REAL-TIME pricing for AMD Athlon™ 64 X2 6000+, 3.0 GHz (ADX6000CZBOX) Boxed Processor $
CompuVest: $115.89 TigerDirect.com: $115.99
ZipZoomfly.com: $112.50 CompUSA.com: $115.99
Zappos: $826.00 Hpshopping: $519.99

Decoder

AMD CPUs use a hybrid CISC/RISC architecture since their 5th generation CPUs (namely K5). Intel started using this approach only from their 6th generation CPUs on. 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 AMD and Intel 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-op”, “µops” or “ROP”. AMD64 architecture has a third instruction type, called macro-op or “MOP”, which is the instruction resulted from the instruction decoder. AMD64 deals internally with macro-ops. When the macro-op reaches the appropriate scheduler, it is further decoded into micro-ops and then these micro-ops are executed. If you pay attention this is somewhat what Intel is doing on their new Core architecture, with their macro-fusion feature. However, while macro-fusion on Core-based processors only works with branch instructions, on AMD64 the use of macro-ops is done for all instructions.

The 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., AMD64 microinstructions are different from Pentium 4 microinstructions, which are different from AMD’s K7 architecture microinstructions.

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

On AMD64 architecture x86 instructions can be converted into macro-ops using three different ways: using a simple decoder, called DirectPath Single, which translates one common x86 instruction into a single macro-op; using also a simple decoder, called DirectPath Double, which translates one x86 instruction into two macro-ops; or using a complex decoder, called DirectPath Vector, which translates one complex x86 instruction into several macro-ops. The DirectPath Vector has to call a ROM memory (called Microcode Sequencer) to convert the x86 instruction.

Here is how the AMD64 decoder works. On Pick stage, also known as Scan, the CPU looks and separates the instructions present in its Instruction Byte Buffer, deciding which path to use: DirectPath or VectorPath.

Then comes the Decode stage, which is broken into two steps, where the x86 instructions are actually converted into macro-ops. This stage is equivalent of the Align stage found on K7 processors. The maximum decoder output rate is of six macro-ops per clock cycle, three for DirectPath and three for VectorPath.

The macro-ops go to the Pack stage (which is the equivalent of the Decode 1 stage on K7 architecture), where the macro-ops are packed together, so three macro-ops are sent to the next stage, pack/decode, which does some more decoding and sends the macro-ops to the Instruction Control Unit, which is the name given by AMD to what Intel calls Reorder Buffer (ROB).

AMD64 Decoder
click to enlarge
Figure 13: AMD64 Decoder Unit.

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

Related Content
  • AMD 64-bit architecture (x86-64)
  • How to Enable Cool
  • Dual Core AMD Processors
  • All Opteron Models
  • Inside AMD K10 Architecture

  • Recommended Deals
    AMD Athlon 64 3500+, 2.2 GHz (ada3500dik4b) OEM / Unboxed Processor


    ZipZoomfly.com: $59.99 CompuVest: $42.99
    Hpshopping: $519.99 Zappos: $826.00
    AMD Athlon™ XP 2800+, 2.8 GHz (AXDA2800BOX) Retail Processor


    ZipZoomfly.com: $106.99 Compusa: $599.99
    Circuitcity: $549.99 Pcrichard: $579.97
    Hpshopping: $579.99
    AMD Athlon™ 64 3800 3800+, 2 GHz AMD Processor in a Box (PIB)


    Amazon: $103.39 Server Supply: $135.00
    Zappos: $826.00 Hpshopping: $519.99
    Intel Pentium® 4, 3.2 GHz (BX80532PG3200D) Retail Processor


    CompuVest: $129.99
    Intel Core™2 Quad Q6600, 2.40 GHz (BX80562Q6600) Boxed Processor


    CompUSA.com: $189.99 ZipZoomfly.com: $188.50
    TigerDirect.com: $189.99 Circuit City: $279.99
    AT&T Wireless: $299.99

    RSSLatest News
    Lian Li Launches Silent Force Power Supply Series
    August 29, 2008 - 9:24 AM PST
    New Thermaltake Power Supplies
    August 28, 2008 - 11:43 AM PST
    Sparkle and MSI Launch GeForce 9400 GT
    August 28, 2008 - 11:13 AM PST
    NZXT Unveils Whisper Full Tower Case
    August 28, 2008 - 10:39 AM PST
    ASUS Intros Royal Knight CPU Cooler
    August 28, 2008 - 10:03 AM PST
    Arctic Cooling Launches Fusion 550R Power Supply
    August 27, 2008 - 4:08 AM PST
    nVidia Launches GeForce 9400 GT
    August 27, 2008 - 3:47 AM PST
    MSI Launches ‘P45-D8 Memory Lover’ Motherboard
    August 26, 2008 - 8:15 AM PST
    Lexar Launches 16 GB JumpDrive FireFly Flash Memory
    August 25, 2008 - 8:52 AM PST
    OCZ Launches Dominatrix Laser Gaming Mouse
    August 22, 2008 - 9:19 AM PST
    .:: More News ::.

    RSSLatest Content
    AMD ATI Chips Comparison Table
    nVidia Chips Comparison Table
    Inside Intel Nehalem Microarchitecture
    OCZ Elixir Gaming Keyboard Review
    Everything You Need to Know About The QuickPath Interconnect (QPI)
    Me and Woz
    Introduction to Wireless USB (WUSB)
    Nikon Coolpix S600 Camera Review
    IDF Fall 2008: Opening Keynote
    Thecus N5200 NAS Review
    ECS GeForce 9800 GTX+ Hydra Video Card Review
    320 GB Hard Disk Drive Round-Up
    Razer Destructor Mouse Pad Review
    Sapphire HD 4870 X2 Video Card Review
    Antec Twelve Hundred Case Review

    Our Most Popular Articles
    Maximum CPU Temperature
    765,906 views
    nVidia Chips Comparison Table
    476,008 views
    AMD ATI Chips Comparison Table
    422,531 views
    ATI Radeon X1300 Pro Review
    412,366 views
    ATI Radeon X1600 XT Review
    407,222 views
    How to Find Out Your Motherboard Manufacturer and Model
    379,927 views
    Connecting Two PCs Using a USB-USB Cable
    343,909 views
    How To Correctly Apply Thermal Grease
    329,128 views
    Sempron vs. Athlon XP
    279,092 views
    Sempron 3400+ Review
    269,186 views

    Latest Threads in Our Forums
    Upgrading to dual core
    by Niteshot
    Lian Li Launches Silent Force Power Supply Series
    by Hardware Secrets Team
    Evga 8800gts
    by net_crasher
    Building PC for Audio.
    by Wall'E
    New Thermaltake Power Supplies
    by Hardware Secrets Team
    Sparkle and MSI Launch GeForce 9400 GT
    by Hardware Secrets Team
    Serial ATA
    by snarley25
    Interfacing to a Hard Drive
    by snarley25
    Upgrading RAM
    by Gabriel Torres
    How can I install two power supplies
    by Gabriel Torres
    .:: Visit Our Forums ::.

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