optimizing the CPU’s time, so the CPU is not involvedin all transactions, including the I/O instructions. Wecover those methods later in this topic. However, forcomputers that have an IOC, the IOC is a processor inits own right.We focus our discussion of I/Oinstructions on I/O processors with an IOC. An IOC iscapable of executing its own set of instructionsspecifically designed to govern I/O operations for thosechannels/ports handled by the particular IOC. Figure7-10 shows the format of an example IOC instruction.This format is used for some mainframes and someminis. The designators shown are for a typical I/Oinstruction and may vary with IOC instructions. EachIOC executes instructions stored in main memory in thesame manner as the CPU executes instructions. Thereare two basic types of IOC instructions: commandinstructions and chaining instructions.Command instructions are executed by the IOCunder the control of the CPU’s main program. Chaininginstructions are executed under the command of anactive channel (I/O operation in progress) chain. SomeIOC instructions peform the same functions whether itis a command or a chaining instruction.Command InstructionsCommand instructions provide control over IOCsingle or dual channel operations. They are executedindividually using the following process. The CPUexecutes an I/O command start instruction, which isa CPU instruction. The I/O command start instructionspecifies or addresses an IOC(s) and then halts furtherCPU processing. The addressed IOC then referencesspecific main memory addresses (the command cell)and executes the IOC command instruction previouslystored in the addresses. At completion of the instructionexecution, the IOC will clear assigned bits of thecommand cells to indicate to the CPU that the commandhas been processed and to release the CPU to continuefurther processing. This is one instance in interruptdriven I/O operations where the CPU will delayprocessing while waiting for an I/O operation to takeplace.The instruction contained in the command cell willcause the IOC to perform a variety of channel activityfunctions. The most common operations deal withinitiating a new chain or terminating a chain in progress.Other commands are used to master clear individualchannels, enable or disable a variety of interrupts,monitor channel status, load or store control memory,and initiate the IOC built-in test (BIT).Chaining InstructionsChains of IOC instructions are stored in memory bythe main CPU program before the I/O operation takesplace. The actual execution of chaining instructions isindependent of the CPU. Only a command instructionexecution from the command cell will delay CPUprocessing.There can be an input chain and/or anoutput chain being executed for each channel. Input oroutput chains deal primarily with the transfer of blocksof information.A chain consists of IOC control words, commandwords, output data words, and specified locations forFigure 7-10.—IOC instruction format.7-10
Integrated Publishing, Inc. - A (SDVOSB) Service Disabled Veteran Owned Small Business