Browse Prior Art Database

Method and Apparatus to Limit Number of Outstanding Translation Lookaside Buffer Invalidate Entry Commands in a Multi-Threaded System

IP.com Disclosure Number: IPCOM000118932D
Original Publication Date: 1997-Sep-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 190K

Publishing Venue

IBM

Related People

Steenburgh, JA: AUTHOR [+2]

Abstract

Translation Lookaside Buffer Invalidate Entry (TLBIE) commands can take many cycles to execute in processor in this example. This causes TLBIE commands to sometimes tie up system resources for long periods of time. If too many TLBIE commands are outstanding at the same time from one processor, all of that processor's system resources could be tied up processing TLBIE commands, and no other commands from that processor that needed system resources could be executed. A method of controlling the number of TLBIE commands that were outstanding from one processor at any given time was required to solve this problem. This was done by using a threshold counter in the translation logic of each processor to only allow up to a preset threshold number of TLBIEs to be active in the system from that processor at any time.

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

Method and Apparatus to Limit Number of Outstanding Translation Lookaside
Buffer Invalidate Entry Commands in a Multi-Threaded System

      Translation Lookaside Buffer Invalidate Entry (TLBIE) commands
can take many cycles to execute in processor in this example.  This
causes TLBIE commands to sometimes tie up system resources for long
periods of time.  If too many TLBIE commands are outstanding at the
same time from one processor, all of that processor's system
resources could be tied up processing TLBIE commands, and no other
commands from  that processor that needed system resources could be
executed.  A method  of controlling the number of TLBIE commands that
were outstanding from  one processor at any given time was required
to solve this problem. This  was done by using a threshold counter in
the translation logic of each  processor to only allow up to a preset
threshold number of TLBIEs to be  active in the system from that
processor at any time.  This example architecture does not allow more
than one processor to issue TLBIE commands at the same time.  A
signal (ClrTranslationStatus) is active when the TLBIE counter is
nonzero.  This signal feeds the inputs to the  Translation Miss
Status latches during stage 1 to force them to be clear  for stage 2
of the TLBIE command.  The ClrTranslationStatus signal keeps  the
translation logic from processing any translation miss if any TLBIE
command issued from this processor has not been completed on this
processor.  When the translation control sequencer is busy, all
TLBIEs issued by this processor will receive a translation miss.
This will allow any potential faults to be processed before the TLBIE
has entered  the system buffer registers.

      This example architecture uses a set of eight system buffer
registers that can each hold one command at a time.  Each TLBIE
command that is waiting to be broadcast to all processors uses up one
of these buffer registers.  The example architecture allows only one
TLBIE to be executing on a processor at a time.  Any subsequent TLBIE
command would be held in one of the system buffer registers until the
currently executing TLBIE command has been completed.

      When a TLBIE command has been broadcast across the system bus
to all of the processors in the system, it needs to be accepted by
the snoop logic on each of the processors in the system before the
system buffer register that it is using can be freed up.  When the
TLBIE command is snooped on the system bus, the snoop logic activates
the TLBIERequest and TLBIEAddr signals to the translation logic.  The
TLBIERequest indicates that there is a TLBIE command to be executed.
The TLBIEAddr is 16 bits of addressing equivalent to the VA(52-67)
indicating the address that is to be invalidated.  The snoop logic
also activates its Busy signal indicating that it is busy and will
not be able to accept another TLBIE command until it deactivates this
signal.

      When t...