Execute Channel Program: Difference between revisions

Content deleted Content added
chg link
Channel programs: more description plus reference
Line 24:
 
==Channel programs==
System/360 channel programs are a sequence of commands which are executed by the channel and the I/O device. Channel programs can be locaed anywhere in main storage. The channel program is a sequence of ''Channel Command Words'' (CCWs), which aremay normallybe executed sequentially. Each CCW is a doubleword (eight bytes) as follows:<ref>{{cite book |last1=IBM Corporation |title=IBM System/360 Principles of Operation |date=January 1967 |pages=84-121 |url=http://bitsavers.org/pdf/ibm/360/princOps/A22-6821-6_360PrincOpsJan67.pdf |accessdate=Dec 4, 2019}}</ref>
<pre>
 
bit 0 7 8 31
+--------+-----------------------+
Line 35:
+------+---+--------+------------+
 
Six commands are defined, in the low-order bits of the command field (0-7). The high-order four (or six) bits are ''modifiers'' for some commands, or are ignored. The commands are:
0100 - Sense
1000 - Transfer in Channel (TIC)
Line 42:
--10 - Read
--11 - Control
</pre>
The data address (8-31) is the 24-bit address of a main storage buffer area to or from which the data is to be transferred.
 
The flag bits (32-36) are defined as follows:
{| class="wikitable"
|-
! Bit !! ID !! Name !! Description
|-
| 32 || CD || Chain data || Use the storage area specified in the next CCW to continue this command
|-
| 33 || CC || Chain command || Execute the next sequential CCW when this command completes<br> if CC or CD are not set, the channel program terminates after executing this command
|-
| 34 || SLI || Suppress length indication || Ignore incorrect length for this command
|-
| 35 || SKIP || Skip || Suppress data transfer for this command
|-
| 36 || PCI || Program controlled interruption || Generate an interrupt when this command starts executing
|}
 
The count field (48-63) indicate the number of bytes to be transferred by this command.
 
==References==