摘要:
A computer system is presented which implements a system and method for ordering input/output (I/O) memory operations. In one embodiment, the computer system includes a processing subsystem and an I/O subsystem. The processing subsystem includes multiple processing nodes interconnected via coherent communication links. Each processing node may include a processor executing software instructions. The I/O subsystem includes one or more I/O nodes serially coupled via non-coherent communication links. Each I/O node may embody one or more I/O functions (e.g., modem, sound card, etc.). One of the processing nodes includes a host bridge which translates packets moving between the processing subsystem and the I/O subsystem. One of the I/O nodes is coupled to the processing node including the host bridges. The I/O node coupled to the processing node produces and/or provides transactions having destinations or targets within the processing subsystem to the processing node including the host bridge. The I/O node may, for example, produce and/or provide a first transaction followed by a second transaction. The host bridge may dispatch the second transaction with respect to the first transaction according to a predetermined set of ordering rules. For example, the host bridge may: (i) receive the first and second transactions, (ii) dispatch the first transaction within the processing subsystem, and (iii) dispatch the second transaction within the processing subsystem dependent upon progress of the first transaction within the processing subsystem and the predetermined set of ordering rules.
摘要:
A computer system includes a first integrated circuit having a first function and a second integrated circuit having a plurality of second functions. A communication link connects the first integrated circuit and the second integrated circuit. The communication link includes at least one logical pipe having a source side on the first circuit and a target side on the second integrated circuit, the one pipe carrying transactions over the communication link between the first function and the second functions. The pipe is identified by a pipe identification carried in the transactions. A target side distributor circuit is coupled between the second functions and the communication link. The target side distributor circuit receives those transactions from the communication link having the pipe identification. The target side distributor circuit provides transactions received from the communication link having the pipe identification to respective ones of the second functions according to an address field included in the transactions.
摘要:
A read request is sent from a source to a target over a requesting all available data. The requester does not know the amount of data available. The response to the read request includes the available requested data along with an indication of how much available requested data is being returned.
摘要:
A master isochronous clock structure wherein a frame-rate clock of a plurality of data buses are synchronized to a master clock signal. The master clock signal may be derived from the existing clocks signals within the computer system or from data received from an external source. The master clock signal may also be used by an operating system scheduler to schedule task that generate or consume blocks of isochronous data. In an alternative embodiment, the drift of a device clock signal relative to a master clock signal is measured and used to synchronize the device clock signal. For example, a mechanism may monitor the level of data in a data buffer. The level of data in the data buffer is a measure of the drift between the clock generating the data and the clock consuming the data. Based upon the level of data in the buffer, synchronization information is provided to synchronize the rates of the clock signals that generate and consume the data. In one embodiment, the level of data in a data buffer is used to synchronize the clock of a video camera. In another embodiment, the level of data in a data buffer is used to synchronize a clock of a telephony codec.
摘要:
A computer system including a memory access controller for using non-system memory storage resources during system boot time. A computer system includes a microprocessor, a system memory and a plurality of peripheral devices coupled to the microprocessor through one or more buses. A system controller and a peripheral bus controller control the buses. Many peripheral device controllers contain buffer memory used during normal system operation, by the peripheral device controllers, to buffer data between the computer system and the peripheral devices. The computer system also includes a memory access controller and a configuration storage unit. The configuration storage unit stores configuration control information which causes control logic to configure the buffer memory. The memory access controller controls accesses to the buffer memory associated with the peripheral devices during system initialization to allow use of the buffer memory as a stack or scratchpad RAM.
摘要:
A circuit and method is disclosed for preserving the order for memory requests originating from I/O devices coupled to a multiprocessor computer system. The multiprocessor computer system includes a plurality of circuit nodes and a plurality of memories. Each circuit node includes at least one microprocessor coupled to a memory controller which in turn is coupled to one of the plurality of memories. The circuit nodes are in data communication with each other, each circuit node being uniquely identified by a node number. At least one of the circuit nodes is coupled to an I/O bridge which in turn is coupled directly or indirectly to one or more I/O devices. The I/O bridge generates non-coherent memory access transactions in response to memory access requests originating with one of the I/O devices. The circuit node coupled to the I/O bridge, receives the non-coherent memory access transactions. For example, the circuit node coupled to the I/O bridge receives first and second non-coherent memory access transactions. The first and second non-coherent memory access transactions include first and second memory addresses, respectively. The first and second non-coherent memory access transactions further include first and second pipe identifications, respectively. The node circuit maps the first and second memory addresses to first and second node numbers, respectively. The first and second pipe identifications are compared. If the first and second pipe identifications compare equally, then the first and second node numbers are compared. First and second coherent memory access transactions are generated by the node coupled to the I/O bridge wherein the first and second coherent memory access transactions correspond to the first and second non-coherent memory access transactions, respectively. The first coherent memory access transaction is transmitted to one of the nodes of the multiprocessor computer system. However, the second coherent memory access transaction is not transmitted unless the first and second pipe identifications do not compare equally or if the first and second node numbers compare equally.
摘要:
An apparatus includes a game port interface and a bus. The game port interface includes first and second game port portions. The first game port portion is on a first integrated circuit and interfaces to an I/O bus. The second game port portion is on a second integrated circuit and provides I/O terminals to couple the game port interface to a peripheral device. The bus couples the first and second integrated circuits. The bus is for serially transferring game port information between the first and second game port portions.
摘要:
An isochronous bus may includes a data signal, a data valid signal, a frame synch signal and a clock signal. The bandwidth of the data signal is partitioned into a plurality of frames. The frame rate may be selected based upon the sample rate of one of the isochronous devices connected to the isochronous bus or maybe some divisor of the data rate of the isochronous bus. Each frame is partitioned into a plurality of data channels. Each data channel transmits data from an isochronous device. A number of bit time slots are allocated to each data channel. The number of bit time slots allocated to each data channel varies based upon the sample rate of the device corresponding to the data channel. In one embodiment, each data channel is allocated more bit time slots than the nominal samples of its corresponding device. In this manner, any drift of the sample clock may be accommodated. A data valid signal is transmitted synchronous to the data signal and the clock signal. The data valid signal indicates which bit time slots include valid data. As discussed above, a data channel may be allocated more bit time slots than the expected number of samples during a frame. The drift of the sample clock of a device relative to the isochronous bus clock may be detected by monitoring the period of the data valid signal. The system may handle multiple isochronous data streams with different, non-related sample rates.
摘要:
A flexible general input/output function utilizes a programmable logic circuit in conjunction with general purpose input/output pins. A programmable logic circuit receives the input signals from the input terminals. The programmable logic circuit program conditions the input signals and provides conditioned input signals to the remainder of the integrated circuit. An input register receives the conditioned input signals from the programmable logic circuit, and stores values representing the state of respective conditioned input signals. A transition detection circuit detects a specified transition for each of the conditioned input signals it receives and provides an indication of the specified transition. An interrupt circuit is responsive to transition indications provided from the transition detection circuit to generate an interrupt signal associated with the specified transition of a respective conditioned input signal. The integrated circuit also includes output terminals, which are coupled to the programmable logic circuit. An output register, which can be written by the system processor, provides output signals which are conditioned by the programmable logic circuit and provided to the output terminals.
摘要:
A bus connects a first and second integrated circuit. The bus includes a frame sync line which indicates the beginning of a frame when asserted, each frame containing a predetermined number time slots. A data out line provides data from the first to the second integrated circuit. The data represents the state of signals to be provided on output terminals of the second integrated circuit. Each of the data bits is assigned one of the time slots in the frame. A data in line provides a predetermined number of second data bits from the second to the first integrated circuit during each frame. Each of the second data bits is assigned one of the time slots and includes data including data bits indicating the state of input terminals of the second integrated circuit. A clock signal defines the time slots within the frame. The bus operates to provide frames substantially continuously between the first and second integrated circuit while the first and second integrated circuits.