Cache-blocking technique on Hyper-Threading Technology-enabled processors
Cache blocking is an effective way to take advantage of data locality and improve overall applications performance on single, multiple or HTT-enabled processors.

by Phil Kerly, senior software engineer, Software and Solutions Group, Intel Corp.

Hyper-Threading Technology-enabled processors contain multiple logical processors per physical processor package. The state information necessary to support each logical processor is replicated while sharing the underlying physical processor resources. Given that processor resources are generally underutilized by most applications, Hyper-Threading Technology-enabled processors can improve overall application performance. Multiple threads running in parallel can achieve higher utilization and increased throughput. Since logical processors share underlying physical processor resources, interactions between multiple threads utilizing those resources can have synergistic affects.

The various levels of cache are one such shared physical processor resource. This paper describes the various levels of cache within Intel NetBurst® microarchitecture, how effective use of data locality using a cache data blocking technique can improve application performance, and how to optimize this technique for Hyper-Threading Technology-enabled processors. Note that this paper is not targeted to a specific processor so various cache sizes and specific implementations described in this document are subject to change in future processors. At the time this article is being published, Hyper-Threading Technology is enabled only in Intel® Xeon® processors, but Intel announced at the Spring Intel Developer Forum that this technology will be available on desktop processors sometime in 2003.

Intel NetBurst Micro-architecture: cache
Intel NetBurst microarchitecture has two levels of cache (see Figure 1). Note that the Intel Xeon processor MP has an additional third-level cache, not shown in the figure. The first level cache is separated into an execution trace cache and a first level data cache. The execution trace cache stores previously decoded micro-ops to remove decoder latencies from main execution loops. The trace cache, as well as the first level data cache, is closely coupled to the processor pipeline. The second level Advanced Transfer Cache ensures a steady supply of instructions to the front-end and data to the execution pipeline through the first level data cache.


Intel NetBurst MicroArchitecture

Figure 1: Intel NetBurst MicroArchitecture

If you're interested in this topic, these articles may be helpful:

Threading Games for High Performance on Intel Processors
The evolution of the multi-threaded processor design is the trend for ...
Online: HT Technology on the Desktop
This course describes Intel® Hyper-Threading Technology and introd...
Data placement in threaded programs
by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C...
Tutorial: Introduction to Hyper-Threading Technology (online)
Tutorial Description: This Intel tutorial details Hyper-Threading (HT)...
Multithreaded game programming and Hyper-Threading Technology
by Will Damon. Intel Corp. Multiprocessor machines are becoming mor...

Related Jobs:

Customer Service Specialist IV #765121 - VA - Herndon - Cisco Systems, Inc.
Description Responsible for leading a CS order management team, incl...
Information System Security Engineer (C&A) #SMD133776 - MD - Bethesda - Science Applications International Corporation
The Information System Security Engineer Certification& Accreditation ...
Quality Engineering #05-515-001148 - CA - Pasadena - EarthLink, Inc.
Quality Engineering 05-515-001148 posted 01/05/06 Requireme...
Documentation Manager-Software Products #58123 - CA - San Rafael - Autodesk, Inc.
Directeur de la documentation : Produits logiciels Résumé des fonc...
Technical Trainer #57926 - CA - San Rafael - Autodesk, Inc.
General Summary: As the technical training specialist for the Infr...
Customer Service Spec III #767436 - CA - San Jose - Cisco Systems, Inc.
Description Responsible for regional or account order management.Act...
SQA Specialist #57065 - CA - San Rafael - Autodesk, Inc.
Requirements Role/Purpose: Using software development tools, ...
SAP Basis Administrator - CA - Folsom - Meridian Technology Group
SAP Basis Administrator with 6 years of SAP experience. Must have SAP...
Manager, IT Operations #42338 - GA - Duluth - The Home Depot U.S.A., Inc.
Manager, IT Operations - HD Supply Lumber & Building Materials (# 4233...
Mgr, Sr. Project #5429 - CA - Sunnyvale - St. Jude Medical, Inc.
Job Title: Mgr, Sr. Project Location: Sunnyvale - CA Job Function:...