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.94

Home » CPU
Inside AMD64 Architecture
Author: Gabriel Torres
Type: Tutorials Last Updated: May 16, 2006
Page: 6 of 9
$ Check REAL-TIME pricing for AMD Athlon™ 64 X2 6000+, 3.0 GHz (ADX6000CZBOX) Boxed Processor $
Newegg.com: $92.00 ZipZoomfly.com: $92.00
eBay: $145.00 CompUSA.com: $99.99
TigerDirect.com: $99.99 Hpshopping: $441.99

Memory Cache and Fetch Unit

On AMD64 architecture the datapath between the L2 memory cache and L1 data cache is 128-bit wide. On Intel’s 7th generation CPUs (Pentium 4) this datapath is of 256 bits and on Intel’s 6th generation CPUs (Pentium Pro, Pentium II, Pentium III and Pentium M) this datapath is of 64 bits.

AMD64 Fetch Unit
click to enlarge
Figure 12: AMD64 fetch unit.

The L1 instruction cache of AMD64 processors include a pre-decode logic, i.e. each byte store inside the L1 instruction cache has some bits to mark the start and the end of each instruction. Since x86 instructions don’t have a fixed length (they can have anything from 1 byte to 15 bytes*), the process of detecting where each instruction starts and ends is very important to the CPU decoder.

* You can find yourself quite lost by this statement, since you were always told that x86 architecture uses 32-bit (i.e. 4 bytes) instructions, so further explanation is necessary in order to clarify this affirmation.

Inside the CPU what is considered an instruction is the instruction opcode (the machine language equivalent of the assembly language instruction) plus all its required data. This is because in order to be executed, the instruction must enter the execution engine “completed”, i.e. together with all its required data. Also, the size of each x86 instruction opcode is variable and not fixed at 32 bits, as you may think. For example, an instruction like mov eax, (32-bit data), which stores the (32-bit data) into the CPU’s EAX register is considered internally as a 40-bit length instruction (mov eax translates into a 8-bit opcode plus the 32 bits from its data). Actually, having instruction with several different lengths is what characterizes a CISC (Complex Instruction Set Computing) instruction set.

If you want to learn more about this subject, read AMD64 Architecture Programmer’s Manual Vol. 3: General Purpose and System Instructions.

The L1 instruction cache provides 76 extra bits to the fetch unit: 52 pre-decode bits, eight parity bits and 16 branch selectors. The branch selector bits are used by the CPU to try to predict branches on the program running.

So in reality the L1 instruction cache is bigger than the 64 KB announced, since it stores pre-decode and branching information. In fact, the real size of AMD64 L1 instruction cache is of 102 KB (64 KB instruction cache + 4 KB parity + 26 KB pre-decode data + 8 KB branch data).

AMD64 architecture uses a 2,048-entry BTB (Branch Target Buffer), the same size used on AMD’s previous architecture, K7. BTB is a small memory that lists all identified branches on the program. Pentium 4’s BTB is of 4,096 entries while on 6th generation processors from Intel this buffer was of 512 entries.

Another branching register, BHT (Branch History Table) – which AMD calls GHBC (Global History Bimodal Counter) – has 16,384 entries on AMD64 architecture, while on Pentium 4 it is of 4,096 entries, the same size of the BHT found on AMD K7 architecture. This two-bit register is used to track down conditional branches: "strongly taken", "taken", "not taken" and "strongly not taken".

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


    CompuVest: $42.99 ZipZoomfly.com: $59.99
    Jlpnetworksstore: $801.14 Hpshopping: $441.99
    AMD Athlon™ XP 2800+, 2.8 GHz (AXDA2800BOX) Retail Processor


    ZipZoomfly.com: $106.99 Provantage: $919.83
    Amazon: $998.57 Circuitcity: $549.99
    PcSuperDeals: $942.50 Compusa: $599.99
    AMD Athlon™ 64 3800 3800+, 2 GHz AMD Processor in a Box (PIB)


    Server Supply: $135.00 Amazon: $103.39
    Hpshopping: $441.99 Jlpnetworksstore: $801.14
    AMD Athlon™ 64 3000+, 2.0 GHz (ada3000box) AMD Processor in a Box (PIB)


    ZipZoomfly.com: $105.00 Jlpnetworksstore: $801.14
    Hpshopping: $441.99
    Intel Core™2 Quad Q6600, 2.40 GHz (BX80562Q6600) Boxed Processor


    TigerDirect.com: $189.99 Dell: $329.99
    Circuit City: $279.99 CompUSA.com: $189.99
    ZipZoomfly.com: $188.50

    RSSLatest News
    Patriot Launches SO-DIMM DDR3-2000
    September 5, 2008 - 7:28 AM PST
    Kingston Unveils HyperX SO-DIMM Memory Kit
    September 4, 2008 - 10:59 AM PST
    Thermaltake Launches V9 Case Series
    September 3, 2008 - 7:54 AM PST
    Sigma Launches 1,000 W Power Supply
    September 2, 2008 - 7:55 AM PST
    Intel Launches New Processors
    September 1, 2008 - 11:16 AM PST
    Scythe Launches Kaze Maru Case Fan
    September 1, 2008 - 10:24 AM PST
    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
    .:: More News ::.

    RSSLatest Content
    Everything You Need to Know About the CPU C-States Power Saving Modes
    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

    Our Most Popular Articles
    Maximum CPU Temperature
    772,530 views
    nVidia Chips Comparison Table
    480,550 views
    AMD ATI Chips Comparison Table
    425,795 views
    ATI Radeon X1300 Pro Review
    413,944 views
    ATI Radeon X1600 XT Review
    408,703 views
    How to Find Out Your Motherboard Manufacturer and Model
    385,445 views
    Connecting Two PCs Using a USB-USB Cable
    347,999 views
    How To Correctly Apply Thermal Grease
    333,250 views
    Sempron vs. Athlon XP
    280,175 views
    Sempron 3400+ Review
    270,379 views

    Latest Threads in Our Forums
    Flip Ultra Camcorder
    by Hardware Secrets Team
    2.1 PC speakers in car
    by rajani1983
    How to conect spdif on my nvidia 9600 gt with x-fi extreme gamer spdif
    by yapyap
    Review - Logitech X530 (5.1)
    by tomahawk 1705
    Slipstreaming SP3
    by BedCommando
    powercolor x1650 pro agp problem
    by jedsky
    Building PC for Audio.
    by Wall'E
    What configuration is better??
    by Gabriel Torres
    Upgrading to dual core
    by Gabriel Torres
    Patriot Launches SO-DIMM DDR3-2000
    by Hardware Secrets Team
    .:: 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)