• Home
  • Search
  • An evaluation of multiple branch predictor and trace cache advanced fetch unit designs for dynamically scheduled superscalar processors
  • https://doi.org/10.31390/gradschool_theses.335Copy DOI Icon

An evaluation of multiple branch predictor and trace cache advanced fetch unit designs for dynamically scheduled superscalar processors

  • Nov 2, 2004
  • Slade Maurer
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

Semiconductor feature size continues to decrease permitting superscalar microprocessors to continue to increase the number of functional units available for execution. As the instruction issue width increases beyond the five instruction average basic block size of integer programs, more than one basic block must be issued per cycle to continue to increase instructions per cycle (IPC) performance. Researchers have created methods of fetching instructions beyond the first taken branch to overcome the bottleneck created by the limitations of conventional single branch predictors. We compare the performance of the multiple branch prediction (MBP) and trace cache (TC) fetch unit optimization methods. Multiple branch predictor fetch unit designs issue multiple basic blocks per cycle using a branch address cache and a multiple branch predictor. A trace cache uses the runtime instruction stream to create fixed length instruction traces that encapsulate multiple basic blocks. The comparison is performed by using a SPARC v8 timing based simulator. We simulate both advanced fetch methods and execute benchmarks from the SPEC CPU2000 suite. The results of the simulations are compared and a detailed analysis of both microarchitectures is performed. We find that both fetch unit designs provide a competitive IPC performance. As issue width is increased from an eight to sixteen way superscalar, the IPC performance improves implying that these fetch unit designs are able to take advantage of the wider issue widths. The MBP can use a smaller L1 instruction cache size than the TC and yet achieve a similar IPC performance. Pre-arranged instructions provided by the TC allow the pipeline stages to be shortened in comparison to the MBP. The shorter pipeline significantly improves the IPC performance. Prior trace cache research used two or more ports to the instruction cache to improve the chances of fetching a full basic block per cycle. This was at the expense of instruction cache line realignment complexity. Our results show good performance with a single instruction cache port. We study an approximately equal cost implementation for the MBP and TC. Of the six benchmarks studied, the TC outperforms the MBP over four of the benchmarks.

Similar Papers
  • Conference Article
  • Citations27

Completion time multiple branch prediction for enhancing trace cache performance

  • Jan 01, 2000
  • Ryan Rakvic +2
  • Research Article
  • Citations3

Optimising power efficiency in trace cache fetch unit

  • Jul 02, 2007
  • IET Computers & Digital Techniques
  • J Hu +3
  • Research Article
  • Citations20

Optimization of instruction fetch mechanisms for high issue rates

  • May 01, 1995
  • ACM SIGARCH Computer Architecture News
  • Thomas M Conte +3
  • Book Chapter

An enhanced two-level adaptive multiple branch prediction for superscalar processors

  • Jan 01, 1997
  • Jong-Bok Lee +2
  • Conference Article
  • Citations29

Improving performance of small on-chip instruction caches

  • Jan 01, 1989
  • M K Farrens +1
  • Book Chapter
  • Citations1

Code Positioning for VLIW Architectures

  • Jan 01, 2001
  • Andrea G M Cilio +1
  • PDF
  • Book Chapter
  • Citations17

ARMv8-A System Semantics: Instruction Fetch in Relaxed Architectures

  • Jan 01, 2020
  • Programming Languages and Systems
  • Ben Simner +6
  • Conference Article
  • Citations13

EdSynth: Synthesizing API Sequences with Conditionals and Loops

  • Apr 01, 2018
  • Zijiang Yang +3
  • Conference Article
  • Citations6

A trace-capable instruction cache for cost efficient real-time program trace compression in SoC

  • Jul 26, 2009
  • Chun-Hung Lai +3
  • Conference Article
  • Citations19

Combining MBP-speculative computation and loop pipelining in high-level synthesis

  • Mar 06, 1995
  • Ulrich Holtmann +1
  • Conference Article
  • Citations3

Power efficient instruction cache for wide-issue processors

  • Jan 01, 2001
  • Badulescu +1
  • Research Article
  • Citations22

Achieving high instruction cache performance with an optimizing compiler

  • Apr 01, 1989
  • ACM SIGARCH Computer Architecture News
  • W W Hwu +1
  • Research Article
  • Citations15

Static probabilistic worst case execution time estimation for architectures with faulty instruction caches

  • Nov 05, 2014
  • Real-Time Systems
  • Damien Hardy +1
  • Conference Article
  • Citations24

Code placement for improving dynamic branch prediction accuracy

  • Jun 12, 2005
  • Daniel A Jiménez
  • Conference Article
  • Citations60

The block-based trace cache

  • May 01, 1999
  • Bryan Black +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.