文档介绍:A Sequencing-Based Taxonomy of I/O Systems
and Review of Historical Machines
Mark Srnotherman
Dept. puter Science
Clemson University, Clemson, SC 29634-1906
: mark@
Abstract
A new taxonomy for I/O systems is proposed that is based on the program sequencing neces-
sary for the control of I/O devices. A review of historical machines demonstrates the need for
a prehensive categorization than previously published and reveals the historical firsts
of I/O interrupts in the NBS DYSEAC, DMA in the IBM SAGE (AN/FSQ-7), the interrupt
vector concept in the Lincoln Labs TX-2, and fully symmetric I/O in the Burroughs D-825
multiprocessor.
Introduction
Textbook presentations of I/O systems typically identify only four categories (. the methods of data transfer):
1) program-controlled I/O (. polling),
2) interrupt-driven I/O,
3) DMA, and
4) channel I/O.
Blaauw and Brooks present a broader categorization in their manuscript, Computer Architecture [10]. They
identify essentially seven distinct types of I/O systems:
I. Dependent I/O
A. direct
B. single instruction overlap
1. private buffer per device
2. shared buffer
a. dedicated to I/O usage
b. general buffer in main memory
II. Autonomous I/O
A. channel (specialized controller/processor)
B. peripheral processor (generalized processor)
1. homogeneous mulfiprocessor structure
2. heterogeneous multiprocessor structure
However, after reviewing the historical development of I/O systems, I am led to believe that there is a much
richer design space and more differences between machines than suggested by either of the categorizations
above. For uniprocessors, I believe that the major issue is the method of transfer initiation; thus, major
categories are synchronous I/O versus the several different ways in which overlapped I/O operations can be ini-
tiated. For each of the overlapped operations, I believe the