Claims
- 1. A computer system comprising:
- a first bus;
- a second bus;
- a memory unit and a central processing unit coupled to said first bus;
- a plurality of input/output controllers coupled to said second bus; and
- a direct memory access controller, coupled to said first bus and said second bus, the direct memory access controller including,
- a plurality of direct memory access channels including a first channel and a second channel, for transferring data between said first bus and said second bus, wherein the first channel controls data transfers from a first input/output controller of the plurality of input/output controllers and the second channel, concurrently with the first channel controlling data transfers from the first input/output controller, controls data transfers from a second input/output controller of the plurality of input/output controllers, wherein the first and second input/output controllers are two different input/output controllers,
- a first arbiter coupled to each of said direct memory access channels, said first arbiter selecting one of the first channel or the second channel on behalf of which the direct memory access controller can arbitrate for access to said first bus; and
- a second arbiter coupled to each of said direct memory access channels, said second arbiter for arbitrating access requests from said plurality of direct memory access channels for said second bus.
- 2. A computer system as claimed in claim 1 wherein said first arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said first bus according to a predetermined fixed priority scheme.
- 3. A computer system as claimed in claim 1 wherein said second arbiter also determines whether said central processing unit or a single channel of said plurality of direct memory access channels is entitled to access said second bus.
- 4. A computer system as claimed in claim 3 wherein said second arbiter determines whether said central processing unit or said single channel is entitled to access said second bus according to a predetermined round-robin priority scheme.
- 5. A computer system as claimed in claim 4 wherein said round-robin priority scheme determines said direct memory access controller is entitled to twice as much access to said second bus as said central processing unit is entitled to.
- 6. A computer system as claimed in claim 1 wherein said second arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said second bus if more than one channel of said plurality of channels requests access to said second bus.
- 7. A computer system as claimed in claim 6 wherein said second arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said second bus according to a predetermined fixed priority scheme.
- 8. A direct memory access controller comprising:
- a plurality of direct memory access channels including a first channel and a second channel, for transferring data between a first bus and a second bus, wherein the first channel controls data transfers from a first input/output controller of a plurality of input/output controllers and the second channel, concurrently with the first channel controlling data transfers from the first input/output controller, controls data transfers from a second input/output controller of the plurality of input/output controllers, wherein the first and second input/output controllers are two different input/output controllers;
- a first arbiter coupled to each of said direct memory access channels, said first arbiter selecting one of the first channel or the second channel on behalf of which the direct memory access controller can arbitrate for access to said first bus; and
- a second arbiter coupled to each of said direct memory access channels, said second arbiter for arbitrating access requests from said plurality of direct memory access channels for said second bus.
- 9. A direct memory access controller as claimed in claim 8 wherein said first bus is coupled to a central processing unit and a memory unit.
- 10. A direct memory access controller as claimed in claim 8 wherein said first arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said first bus according to a predetermined fixed priority scheme.
- 11. A direct memory access controller as claimed in claim 9 wherein said second arbiter determines whether said central processing unit or said direct memory access controller is entitled to access said second bus.
- 12. A direct memory access controller as claimed in claim 11 wherein said second arbiter determines whether said central processing unit or said direct memory access controller is entitled to access said second bus according to a predetermined round-robin priority scheme.
- 13. A direct memory access controller as claimed in claim 12 wherein said round-robin priority scheme determines said direct memory access controller is entitled to twice as much access to said second bus as said central processing unit is entitled to.
- 14. A direct memory access controller as claimed in claim 8 wherein said second arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said second bus if more than one channel of said plurality of direct memory access channels requests access to said second bus.
- 15. A direct memory access controller as claimed in claim 14 wherein said second arbiter determines a single channel of said plurality of direct memory access channels which is entitled to access said second bus according to a predetermined fixed priority scheme.
- 16. A direct memory access controller in a computer system with a central processing unit and a memory unit connected to a first bus and an input/output controller connected to a second bus, said direct memory access controller comprising:
- a plurality of direct memory access channels including a first channel and a second channel, coupled to said first bus and said second bus, for transferring data between said first bus and said second bus, wherein the first channel controls data transfers from a first input/output controller of a plurality of input/output controllers and the second channel, concurrently with the first channel controlling data transfers from the first input/output controller, controls data transfers from a second input/output controller of the plurality of input/output controllers, wherein the first and second input/output controllers are two different input/output controllers;
- a first arbiter coupled to said plurality of direct memory access channels, said first arbiter selecting one of the first channel or the second channel on behalf of which the direct memory access controller can arbitrate for access to said first bus; and
- a second arbiter coupled to said plurality of direct memory access channels, said second arbiter determining whether said central processing unit or said direct memory access controller is entitled to access said second bus, and if said direct memory access controller is entitled to access said second bus further determining which channel of said plurality of direct memory access channels is entitled to access said second bus.
- 17. A method for transferring data between a first bus and a second bus in a computer system with a direct memory access controller, the direct memory access controller having a plurality of direct memory access channels, the method comprising the steps of:
- a first channel of the plurality of direct memory access channels controlling a first data transfer from a first input/output controller coupled to the second bus;
- a second channel of the plurality of direct memory access channels controlling, concurrently with the first channel controlling the first data transfer, a second data transfer from a second input/output controller coupled to the second bus;
- selecting one of the first channel and the second channel on behalf of which the direct memory access controller can arbitrate for access to the first bus; and arbitrating for access to the first bus on behalf of the selected channel.
- 18. A method for transferring data as claimed in claim 17 further comprising a step of transferring data from said first input/output controller to a buffer of said first channel simultaneously with transferring data from a buffer of said second channel to a memory unit coupled to the first bus.
Parent Case Info
This is a continuation of application Ser. No. 08/189,139, filed Jan. 28, 1994, now abandoned.
US Referenced Citations (41)
Non-Patent Literature Citations (4)
| Entry |
| Hal Kop, "Hard Disk Controller Design Using the Intel.RTM. 8089", 1981, pp. 3-62 -3-74. |
| "iAPX 86/88, 186/188 User's Manual Hardware Reference", Intel Corporation, 1985, pp. 4-1 -4-40. |
| "8089 8 & 16-Bit HMOS I/O Processor", 1980, pp. 3-161 -3-174. |
| John P. Hayes, "Digital System Design and Microprocessors", 1984, pp. 644-650. |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
189139 |
Jan 1994 |
|