IO Port Anarchy

Assume that the currently executing task needs to initiate a disk access. To do this directly, it would have to program the disk controller's IO registers with the information defining the disk command type (e.g., disk read), the cylinder number, the head (i.e., surface) number, the start sector number and the number of sectors to be transferred. This is accomplished by executing a series of either memory-mapped write or IO write instructions that cause the processor to perform a series of memory or IO write transactions to transfer the command and associated parameters to the disk controller's register set. Now assume that the task has programmed some, but not all of, the disk controller's registers and the task's timeslice expires. ...

Get The Unabridged Pentium 4 IA32 Processor Genealogy now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.