Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
First Claim
1. An input/output controller for transferring data to and from a first bus, to which a first set of high performance devices, including at least one central processing unit ("CPU"), is attached, and a second bus to which a second set of relative lower performance devices is attached, wherein the transferring of data to and from said first and second buses facilitates communication between said first and second set of devices while preventing the performance of said first set of devices from being effected by the relatively lower performance of said second set of devices comprising:
- (a) control means, coupled to said first bus and to said second bus, including at least one address mapped input/output port means, for providing direct access to said second set of devices by said CPU;
(b) means for interconnecting said first bus to said control means; and
(c) means for interconnecting said second bus to said control means;
wherein said input/output port means comprises means for performing address translation between a first bus address supplied to the input/output port means and a second bus address to be output to said second bus from the input/output port means.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are set forth for transferring data to and from a first bus, to which a first set of high performance devices, including at least one central processing unit ("CPU") is attached, and a second bus, to which a second set of relatively lower performance devices is attached. The aforesaid transfer is accomplished in a manner that facilitates communication between the first and second set of devices while insulating the performance of the first set of devices from the comparatively lower performance of the second set of devices. According to the preferred embodiment of the invention, an input/output controller i.e., ("IOC") is disclosed that includes a set of address mapped I/O ports. The I/O ports may be used to transfer data between the high performance channel (hereinafter referred to as the "Local Bus") coupled to the CPU in a reduced instruction set computer (RISC) system and a typically lower performance, peripheral bus (hereinafter referred to as a "Remote Bus"). The resulting IOC interface between the Local Bus and Remote Bus permits a wide performance range of standard peripheral devices to be attached to the RISC system in a manner that does not limit system performance. The IOC may be used as part of a data transfer controller ("DTC") having other components, such as direct memory access components, or may be used independently for transferring data between unmatched buses in, for example, RISC and non-RISC systems and data transmission systems generally.
-
Citations
57 Claims
-
1. An input/output controller for transferring data to and from a first bus, to which a first set of high performance devices, including at least one central processing unit ("CPU"), is attached, and a second bus to which a second set of relative lower performance devices is attached, wherein the transferring of data to and from said first and second buses facilitates communication between said first and second set of devices while preventing the performance of said first set of devices from being effected by the relatively lower performance of said second set of devices comprising:
-
(a) control means, coupled to said first bus and to said second bus, including at least one address mapped input/output port means, for providing direct access to said second set of devices by said CPU; (b) means for interconnecting said first bus to said control means; and (c) means for interconnecting said second bus to said control means; wherein said input/output port means comprises means for performing address translation between a first bus address supplied to the input/output port means and a second bus address to be output to said second bus from the input/output port means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method for transferring data to and from a first bus, to which a first set of high performance devices, including at least one central processing unit ("CPU"), is attached, and a second bus to which a second set of relatively lower performance devices is attached, comprising the steps of:
-
(a) transferring data between said first bus and said second bus utilizing control means, including at least one address mapped input/output port means, coupled to said buses, wherein said step of transferring data includes the steps of determining if a first bus address supplied to said input/output port means by said first bus is within a preselected port means address space and translating said first bus address supplied to said input/output port means to a second bus address to be output to said second bus from the input/output port means; and (b) decoupling the operation of said input/output port means with said controller means from program execution by said CPU to thereby prevent the performance of said first set of devices from being effected by the comparatively lower performance of said second set of devices when transferring data between said first and second bus via said control means. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
Specification