Abstract:
An apparatus including a synchronous lag receiver that receives one of a plurality of radially distributed strobes and a data bit, and that delays registering of the data bit by a propagation time. The synchronous lag receiver has a first plurality of matched inverters, a first mux, and a bit receiver. The first plurality of matched inverters generates successively delayed versions of the data bit. The first mux receives a value on a lag bus that indicates the propagation time, and selects one of the successively delayed versions of the data bit that corresponds to the value. The bit receiver receives the one of the successively delayed versions of the data bit and one of a plurality of radially distributed strobe signals, and registers the state of the one of the successively delayed versions of the data bit upon assertion of the one of a plurality of distributed strobe signals.
Abstract:
The present disclosure provides a method for processing memory access operations. The method includes determining a fixed response time based, at least in part, on a total memory latency of a memory module. The method also includes identifying an available time slot for receiving return data from the memory module over a data bus, wherein the time difference between a current clock cycle and the available time slot is greater than or equal to the fixed response time. The method also includes creating a first slot reservation by reserving the available time slot. The method also includes issuing a read request to the memory module over the data bus, wherein the read request is issued at a clock cycle determined by subtracting the fixed response time from a time of the first slot reservation.
Abstract:
A memory controller accesses different types of memory devices running at different native rates through the use of a time division multiplexed bus. Data is transferred over the bus at one rate when accessing one type of memory device and at a different rate when accessing another type of memory device. In addition, the memory controller may provide control information (e.g., command and address information) to the different types of memory devices at different rates and, in some cases, time multiplex the control information on a shared bus.
Abstract:
A bus arbitration apparatus and method are provided. A plurality of masters may be classified into master types based on master characteristics, and bus arbitration may be performed. Thus, it is possible to prevent a bus from being distributed to a predetermined master, and it is possible to improve overall performance of a bus system by solving a problem of unbalanced distribution of performance between the plurality of masters.
Abstract:
Disclosed is a method (200) of scheduling communications over a network (300) comprising a plurality of connections to a shared resource (340), comprising: defining a communication schedule (100) comprising a total number of time slots (110) for granting a connection periodical access to the shared resource; and, for each connection: assigning a first available time slot (110) in the communication schedule; and assigning a second available time slot (110) in the communication schedule having a minimal delay with respect to the first time slot (110), said minimal delay being at least the expected combined latency of the network (300) and the shared resource (340) for responding to a request for said shared resource by the connection. A computer program product and network-on-chip (300) are also disclosed.
Abstract:
The time-out counter (302) of this invention provides a capability in a bus bridge for a first bus master to generate a time-out interrupt (364) if it is not given control of the second bus within a certain time period when the time of arbitration on the second bus is excessive. The time-out counter (302) is programmable up to 16-bits and allowing the software selection of the time-out length. This time-out feature is useful if the manner of arbitration used would otherwise allow the second bus master to have absolute control of the first bus.
Abstract:
An apparatus for processing an input/output request from an upper unit 14-i using a plurality of channel buses 18-i of different transfer speeds comprises: a plurality of input/output ports 20-i connected to a plurality of channel units on the upper unit side through the plurality of channel buses; and a command analysis executing section 92, 94 provided for each input/output port for analyzing whether a command received in association with an activation request during the coupling of another input/output port is a command that can be executed or not, and when it is an executable command accepting the activation request and executing a command process for internal resources.
Abstract:
In order to share out central resources fairly between low-speed and high-speed input/output ports 20-1, 20-2 of an input/output control unit, an activation time between a time point when an end status associated with the end of a transfer is sent and a time point when an activation request is received is measured and stored in a memory 48. When the high-speed port receives an activation request from a high-speed channel, the activation time in the memory measured with respect to the low-speed port is read out and during this activation time an input/output request for the low-speed port is preferentially accepted. To provide the activation time for the low-speed port the minimum time, average time and maximum time are obtained from the result of the measurement. Any of these three times can be selected as the activation time in order substantially to equalize the busy ratios of the high-speed and low-speed ports. Allocation can also be made in alternative ways, for instance by reference to the number of requests which meet with a busy signal.
Abstract:
An arbiter with first and second CPU timers is provided which advantageously allows measuring and controlling CPU bus ownership intervals via the arbiter. The first CPU timer, a running timer, specifies the total interval that the CPU is allocated the bus. The second timer, an idle timer, specifies an interval which the CPU may own the bus without performing an operation. The arbiter uses these two timers to dynamically adjust and control CPU bus ownership.