Skip to content

Instantly share code, notes, and snippets.

@eqy
Last active November 7, 2015 05:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eqy/be27d5abc103e9e2308d to your computer and use it in GitHub Desktop.
Save eqy/be27d5abc103e9e2308d to your computer and use it in GitHub Desktop.

Motivation

Instruction Slice Table

  • What is this used for?
  • Instructions in the IST get sent to another queue
  • Define address generating instructions
  • 128 entry 2-way set-associative least-recently-used replacement policy

Iterative Backward Dependency Analysis

  • Explain the register dependency table
  • Step by step example for Figure 2 (multiple loop iterations)
  • Only address-generating instructions, not data generating! e.g. a store will have a data register and an address register
  • At the end, figure on cumulative distribution of the number of address generating instructions found by subsequent IBDA iterations

10,0000 meter overview of design

  • Two instruction queues (A for general-purpose, B for address generating)
  • Additional blocks for IST, RDT
  • Based on a two-wide in order superscalar design
  • Fun dummy slide (flash it for a second) of architecture parameters

Experimental Setup

  • Sniper multi-core simulator... "cycle-level"
  • Giant figure on relative performance

Area and Power Overhead Experiments

  • Computed using CACTI 6.5
  • Area-normalized and Power-normalized performance
  • IST-size experiments

"Real-World" Constraint Experiments

  • Power <= 45W
  • Area <= 350mm^2
  • "load-slice is better" figure

Related Work

Conclusion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment