Difference between revisions of "Bus grant"
(A bit stubby, but a start) |
(cover arbitration) |
||
Line 3: | Line 3: | ||
This obviously requires the computer to have a bus on which the devices can do more than simply respond to read and write requests from the CPU. Most do, although in some computers (e.g. some [[mainframe]]s, and now high-performance [[personal computer]]s), devices may have a private bus to main memory, which is [[multi-port memory]], so in those systems, DMA cycles will not need a bus grant. | This obviously requires the computer to have a bus on which the devices can do more than simply respond to read and write requests from the CPU. Most do, although in some computers (e.g. some [[mainframe]]s, and now high-performance [[personal computer]]s), devices may have a private bus to main memory, which is [[multi-port memory]], so in those systems, DMA cycles will not need a bus grant. | ||
− | + | If multiple devices all want to use the bus at the same time, then before a grant can be handed out, usually some sort of '''bus arbitration''' must be performed, to see which device will get the bus first. There are many ways to do this; the system might use [[bus grant line]]s, or there might be some sort of distributed arbitration. | |
− | |||
− | |||
{{semi-stub}} | {{semi-stub}} |
Revision as of 14:37, 18 September 2018
A bus grant is when the CPU (or bus arbiter, in machines in which the two are separate) turns over a bus to a device controller so that the device can either start an interrupt, or do DMA transfer(s) to main memory.
This obviously requires the computer to have a bus on which the devices can do more than simply respond to read and write requests from the CPU. Most do, although in some computers (e.g. some mainframes, and now high-performance personal computers), devices may have a private bus to main memory, which is multi-port memory, so in those systems, DMA cycles will not need a bus grant.
If multiple devices all want to use the bus at the same time, then before a grant can be handed out, usually some sort of bus arbitration must be performed, to see which device will get the bus first. There are many ways to do this; the system might use bus grant lines, or there might be some sort of distributed arbitration.