Jose Melanio Nunez - Austin TX Robert Podnar - Austin TX Marie Jeannette Sullivan - Leander TX
Assignee:
International Business Machines Corporation - Armonk NY Motorola, Inc. - Schaumburg IL
International Classification:
G06F 1208
US Classification:
711146
Abstract:
A computer system including a first multiprocessor system connected to a system bus and adapted to forward first and second load requests to the system bus where the first load request precedes the second load request. The system further includes a second multiprocessor system connected to the system bus. The second multiprocessor system includes a memory subsystem comprised of first and second cache levels arranged such that an operation that retrieves data from the first cache level is arbitrated through the second cache level before the data becomes available to the system bus. A snoop control state machine of the second multiprocessor system is adapted to stall arbitration of a second operation initiated in the second cache level responsive to the second load request until a first operation initiated in the first cache level responsive to the first load request has been arbitrated through the second cache level. In other words, new operations to a lower cache level are stalled until older operations pass the common arbitration point. The second multiprocessor is preferably adapted to send a data ready signal to the first multiprocessor when data associated with the first load request is available for transmission over the system bus.
Automatic Read Latency Calculation Without Software Intervention For A Source-Synchronous Interface
James A. Welker - Austin TX, US Srinath Audityan - Austin TX, US Jose M. Nunez - Austin TX, US Robert C. Podnar - Austin TX, US
Assignee:
Freescale Semiconductor, Inc. - Austin TX
International Classification:
G06F012/00
US Classification:
711163, 365233
Abstract:
In response to a clock cycle and a pending READ command for data with a variably recurring access latency, a clock cycle count is adjusted. If a latency value has not been locked and if the READ command is a first READ command, the clock cycle count is stored as a locked latency value upon receiving a synchronized data available event (DQS for instance). Each subsequent READ command has an associated clock cycle count to enable pipelining wherein the clock cycle count for each READ starts incrementing when the individual READ command is issued. For subsequent READ commands, if the cycle count compares favorably with the locked latency value, data can be sampled safely from the interface at the identical latency for every READ request issued. The locked latency value can be read and/or written by software/hardware such that the read latency is consistent across multiple devices for reproducibility during debug.
Static Queue And Index Queue For Storing Values Identifying Static Queue Locations
Srinath Audityan - Austin TX Thomas Albert Petersen - Austin TX Robert Charles Podnar - Austin TX
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 1200
US Classification:
711101
Abstract:
A queuing apparatus associated with a processor includes at least one static queue (11), an index generator (34), at least one index queue (37), and a static queue accessing arrangement. Each static queue (11) has a number of static queue locations (12), each for storing a static queue entry and an availability indicator (14) for indicating an availability status of the respective static queue location. The index generator (34) uses information from the static queue (11) to provide a unique index value for each static queue entry, the index value for a particular static queue entry identifying the static queue location (12) containing the particular static queue entry. Each index queue (37, 42) has a number of index queue locations (40), each for storing one of the index values provided by the index generator (34). The static queue accessing arrangement retrieves a selected index value from a particular index queue location (40), and uses the selected index value to retrieve the static queue entry with which the selected index value is associated. Multiple index queues (37, 42) facilitate prioritization of static queue entries, and reprioritization by transferring index queue values from one index queue to another.
Contingent Response Apparatus And Method For Maintaining Cache Coherency
Jose Melanio Nunez - Austin TX Robert Charles Podnar - Austin TX Marie Jeannette Sullivan - Leander TX
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 1208
US Classification:
711146
Abstract:
Each processor (101, 102, 103) in a multiple processor system (100) includes a contingent response unit (121, 122, 123). Each contingent response unit (121, 122, 123) includes a pending operation unit (200) for identifying each pending address bus operation from the respective processor which specifies an address matching a snoop address from another processor. A snoop pipeline is associated with the pending operation unit (200) and includes a plurality of pipeline stages (206). Each snoop pipeline stage (206) has a contingent response flag location (207) and an identifier location (208). When a pending operation from the processor specifies an address which is matched by a younger operation from another processor, a contingent response flag control arrangement uses information from the pending operation unit (200) to set a contingent response flag in a first snoop pipeline stage (206). The contingent response flag control also stores in the first snoop pipeline stage (206) an identifier for the matched pending operation. If the matched pending operation finishes the address bus pipeline unsuccessfully and is itself retried, the contingent response flag control arrangement clears the contingent response flag in the snoop pipeline stage (206) in which the flag then resides.