Computer system having programmable DMA control
AssigneeInternational Business Machines Corporation
InventorsChester A. Heath, Jorge E. Lenta
Life of this patent
Estimating the term…
Abstract
A computer system in which peripherals greater in number than the number of DMA channels provided in the system can all have DMA access. Some of the DMA channels are dedicated to certain ones of the peripherals, while others, termed "programmable" DMA channels, are shared by remaining ones of the peripherals. Each peripheral having DMA access has a channel priority value. When a peripheral wants DMA access, it transmits its channel priority value onto an arbitration bus. The winning channel priority value is then compared with prestored DMA channel assignment values. If the comparison is successful, the corresponding peripheral is given a DMA channel corresponding to the DMA Channel assignment value with which the comparison was successful.
Claims8
A computer system comprising:
- means for providing a plurality of DMA channels;
- a plurality of peripheral devices comprising means for requesting DMA access;
- means for assigning at least one of said peripheral devices to a respective dedicated one of said DMA channels for DMA access and for assigning the remainder of said peripheral devices to share the remainder of said DMA channels for DMA access;
- and wherein said assigning means comprises means for comparing channel priority assignment values of each one of said remainder of said peripheral devices requesting DMA access, with a predetermined programmed set of DMA channel assignment values, and means for granting one of said remainder of said peripheral devices access to a DMA channel when said one of said remainder of said peripheral devices has a channel priority assignment value corresponding to one of said predetermined programmed DMA channel assignment values.
A computer system comprising:
- a plurality of peripheral devices requiring DMA access;
- arbitration bus means;
- means in each of said peripheral devices for requesting DMA access by placing on said arbitration bus means a channel priority assignment value for the respective peripheral device;
- means for storing first and second sets of DMA channel assignment values, said DMA channel assignment values being fewer in number than the number of said peripherals and being equal in number to the number of DMA channels provided in said computer system, said first set of said DMA channel assignment values being fixed and corresponding to fixed predetermined ones of said channel priority assignment values, said second set DMA assignment values being programmable and allocatable among the remaining ones of said channel priority assignment values;
- means for comparing priority assignment values received on said arbitration bus means with said set of stored DMA channel assignment values;
- and
- means for granting DMA access to each of said peripherals whose priority assignment value is found by said comparing means to be equal to one of said DMA channel assignment values of said first and second sets.
A method for controlling DMA access in a computer system, comprising the steps of:
- assigning to each of a plurality of peripherals requiring DMA access a channel priority assignment value;
- fixedly storing a first set of DMA channel assignment values for DMA channels dedicated to respective peripheral devices, and programmably storing a second set of DMA channel assignment values for DMA channels shared among a plurality of peripheral devices;
- transmitting onto a bus from each of said peripherals requesting DMA access its channel priority assignment value;
- arbitrating on said bus to determine a highest channel priority assignment value of peripherals concurrently requesting DMA access;
- comparing said highest channel priority assignment value with said first and second sets of DMA channels assignment values;
- and
- granting access to a respective DMA channel to the corresponding peripheral device when said highest channel priority assignment value is equal to one of said DMA channel assignment values contained in said first and second sets.
Dependencies are inferred from the claim text.