Browse Prior Art Database

Count Tag/Shadow

IP.com Disclosure Number: IPCOM000112135D
Original Publication Date: 1994-Apr-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 42K

Publishing Venue

IBM

Related People

Muhich, JS: AUTHOR [+2]

Abstract

Disclosed is a method for gaining the benefits of extensive register renaming on the count register without the full hardware required. The count register is a register which is used to maintain a loop count. Branches will determine direction based on the value of the count register and will decrement the count register.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 72% of the total text.

Count Tag/Shadow

      Disclosed is a method for gaining the benefits of extensive
register renaming on the count register without the full hardware
required.  The count register is a register which is used to maintain
a loop count.  Branches will determine direction based on the value
of the count register and will decrement the count register.

      For small loops, it is possible for instructions from multiple
iterations of a loop to reside in the pipeline of a processor at any
given time (especially if the latency of those instructions is long).
This means that multiple loop branches will reside in the pipeline at
the same time, and a there will be a dependency between them on the
count register.  The dependency can be alleviated by using register
renaming on the count register but this is prohibitively expensive
for low-end processors.

      It is possible to take advantage of the special nature of the
updates to the count register to lighten the burden of the register
renaming.  Since each branch decrements the count register exactly
once, we can put a token in the pipeline for each branch which
decrements the count register.  When we want to determine the most
recent count register value at a given position, we can simply add
together the number of tokens below the position of interest, and
subtract that from the count register.  The hardware required for
this is a one bit wide CSA tree (n:1, where n is the depth of the
pipeline), and a 32 bit to...