Abstract:
A deadlock detection and resolution circuit for resolving a deadlock condition in a bridge circuit coupled to a memory, a host bus and a PCI bus of a computer system. The host bus and the PCI bus are configured to operate concurrently and asynchronously. The bridge circuit includes a host master circuit and a PCI slave circuit coupled between the host bus and the PCI bus and configured to service a PCI-MEMORY instruction from an external PCI master coupled to the PCI bus. A PCI master circuit and a host slave circuit within the bridge circuit couples between the PCI bus and the host bus and configured to service a CPU-PCI transaction from a CPU coupled to the host bus. The aforementioned deadlock condition occurs when the PCI-MEMORY transaction proceeds simultaneous with an issuance of the CPU-PCI transaction. The deadlock detection and resolution circuit includes first circuit for asserting an asynchronous handshake signal to the PCI slave of the bridge circuit. There is further included second circuit for determining whether the PCI slave is still able to complete the PCI-MEMORY transaction. Additionally, there is included third circuit for asserting an asynchronous handshake acknowledge signal to cancel the CPU-PCI transaction and removing the deadlock condition if the PCI slave is unable to complete the PCI-MEMORY transaction.
Abstract:
The present invention is a system and method that permits appropriate scan testing of internal components of an integrated circuit while reducing the number of external pins required to perform the scan testing. One embodiment of the present invention utilizes standard IEEE 1149.1 pins (e.g. TDO, TDI, TMS, TCK, etc.) to perform both boundary scan and full scan testing. A modified IEEE 1149.1 TAP controller generates signals to control the boundary scan and full scan operations. For example, a full scan cell facilitates full scan capture and shift operations when the TAP controller generates a full scan test mode signal and a full scan enable signal in response to inputs via the standard IEEE 1149.1 pins. In one example the scan enable signal is asserted when the TAP controller is in a shift state and the TAP controller's instruction register is loaded with a test mode instruction. A functional clock capture cycle is applied when the state machine of the TAP controller is in run/idle state.
Abstract:
The present invention is a system and method that minimizes discarding of a pending read transaction in a peripheral component interconnect (PCI) bus architecture due to an arrival of a write request while maintaining appropriate transaction ordering. The read/write optimizing system and method of the present invention optimizes read performance by continuing to process a pending read transaction under appropriate conditions while partially performing the write request and inhibiting its completion. In one embodiment of the read/write optimizing system and method of the present invention, a write transaction is inhibited by tracking or storing an inhibited write transaction target address if a pending read transaction address is not within a range of an inhibited write transaction address. For example, a target address associated with an inhibited write transaction is temporarily latched in a write address register until a pending read transaction is completed or terminated. During the same time frame the inhibited write transaction is also partially processed by latching write data in a target write buffer if a target is prepared and a pending read transaction address does not come within a range of an inhibited write transaction address as the pending read and inhibited write transactions are processed.
Abstract:
A system and method for using single address cycles and eliminating dual address cycles to transmit a target address in a computer system. The computer system comprises a bus, a central processing unit coupled to the bus, an initiator device coupled to the bus, and a target device coupled to the bus. The target device comprises a first configuration register which is adapted to use a configuration bit to indicate an address range of the target device. The central processing unit interrogates the first configuration register and communicates the address range indicated by the configuration bit to the initiator device. The initiator device comprises a second configuration register which is adapted to use a configuration bit to register the address range of the target device. The initiator device is adapted to disable its dual address cycle capability and transmit to the target device the target address in a single address cycle provided that the address range of the target device as indicated by the respective configuration bits in the first and second configuration registers is not less than a size of the target address.
Abstract:
A target configuration prediction system that provides an initiator coupled to a bus system with a prediction of the configuration type of a target. The present invention stores information regarding the address and configuration of targets and utilizes this information to predict the address of a target an initiator is currently attempting to access. The prediction is based upon the proximity of stored target addresses to a target address an initiator is currently trying to access and the probability that targets with addresses within certain ranges are the same target configuration type. The configuration type is determined by initiator component logic during an initial attempt at accessing a target and a status bit indicating the configuration type is stored in a status bit component. In a retry situation, an initiator relies on the status bit indications stored in the status bit component to identify a target configuration, so that the initiator does not engage in configuration determination handshaking with a target in a retry situation.
Abstract:
A computer system in which a host bus is relieved from the burdens of data transfers between main memory and devices connected to an input/output (I/O) bus (e.g., peripheral devices). Instead, the invention operates to place most of the burden of the data transfer on an internal bus within a bus arbitration unit so that the host bus is freed up much sooner than conventionally achieved. Further, to reduce stalling of a processor seeking access to the main memory via the host bus and the internal bus, the host bus is able to gain access to the main memory using the internal bus during times in which the internal bus is temporarily not needed by the data transfer between the main memory and the peripheral devices. As a result, the computer system has substantially better performance because the host bus is available for other processing operations instead of being tied up with data transfers with peripheral devices, and because the internal bus is occasionally freed up during the data transfer between the main memory and the peripheral devices.