Difference between revisions of "Channel"
(Mention cond branch) |
(rm duplicate content (now in 'IBM I/O channel')) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | A '''channel''' is a block of [[hardware]] (effectively a [[co-processor]]) which performs [[input/output|I/O]] operations, off-loading that work from the main [[Central Processing Unit|CPU]]; they usually have direct access to [[main memory]]. | + | A '''channel''' is a block of [[hardware]] (effectively a [[co-processor]]) which performs [[input/output|I/O]] operations, off-loading that work from the main [[Central Processing Unit|CPU]]; they are connected to [[peripheral]]s, and usually have direct access to [[main memory]]. |
They are most commonly found on [[mainframe]] systems; on smaller machines, mechanisms such as [[Direct Memory Access|DMA]] from [[device controller]]s do a lot of what a channel does. | They are most commonly found on [[mainframe]] systems; on smaller machines, mechanisms such as [[Direct Memory Access|DMA]] from [[device controller]]s do a lot of what a channel does. | ||
− | The details vary considerably from manufacturer to manufacturer: for instance, the Peripheral Processing Units of the [[CDC 6600]] are effectively channels, but they are essentially complete [[minicomputer]]s (although | + | The details vary considerably from manufacturer to manufacturer: for instance, the Peripheral Processing Units of the [[CDC 6600]] are effectively channels, but they are essentially complete [[minicomputer]]s (although the individual PPU's are implemented with one set of shared hardware). The channels of [[International Business Machines|IBM]] mainframes are programmable, but are much more limited in functionality; they are [[finite state machine]]s, with [[conditional branch]]ing capability. |
− | + | For the channels which include a specialized control unit, not a full general-purpose CPU, the individual operations are called '''channel command words'''; they are generally stored in main memory, and are organized into '''channel programs'''. | |
Channels were apparently first introduced with the [[IBM 709]], and other manufacturers copied the idea. | Channels were apparently first introduced with the [[IBM 709]], and other manufacturers copied the idea. | ||
{{semi-stub}} | {{semi-stub}} | ||
+ | |||
+ | ==See also== | ||
+ | |||
+ | * [[IBM I/O channel]] - the most common form | ||
+ | * [[DF10 Data Channel]] | ||
+ | |||
+ | [[Category: Hardware Basics]] |
Latest revision as of 16:18, 9 April 2024
A channel is a block of hardware (effectively a co-processor) which performs I/O operations, off-loading that work from the main CPU; they are connected to peripherals, and usually have direct access to main memory.
They are most commonly found on mainframe systems; on smaller machines, mechanisms such as DMA from device controllers do a lot of what a channel does.
The details vary considerably from manufacturer to manufacturer: for instance, the Peripheral Processing Units of the CDC 6600 are effectively channels, but they are essentially complete minicomputers (although the individual PPU's are implemented with one set of shared hardware). The channels of IBM mainframes are programmable, but are much more limited in functionality; they are finite state machines, with conditional branching capability.
For the channels which include a specialized control unit, not a full general-purpose CPU, the individual operations are called channel command words; they are generally stored in main memory, and are organized into channel programs.
Channels were apparently first introduced with the IBM 709, and other manufacturers copied the idea.
See also
- IBM I/O channel - the most common form
- DF10 Data Channel