• I/O addresses
• IRQs
• DMA channels
• memory addresses
I/O Addresses
• All devices connect to the address and data buses
• How does the CPU signal it wants to talk to a specific device?
• How does a device know the CPU is talking to it?
• Each device has a unique code called an I/O address
• CPU uses I/O addresses to identify which device it’s communicating with
I/O Addresses
• Keyboard uses I/O addresses 0060 and 0064
• Although a device can have more than 1 I/O address, no 2 Devices can share an I/O address in the same PC
• I/O addresses are written in hexadecimal
• Hexadecimal is a convenient shorthand way to describe a series of binary values
• I/O addresses are hard coded into the device
• Sometimes you can select a specific I/O address by moving a jumper
• IBM list of I/O addresses
• E.g. 03F0-03F7 = Floppy Controller
03F8-03FF = COM1
03F8-03FF = COM1
• Original list is still supported
• New devices have to use unallocated I/O’s
No comments:
Post a Comment