Text preview for : TIE6404-0051_1401simulPgmg.pdf part of IBM TIE6404-0051 1401simulPgmg IBM 140x TIE6404-0051_1401simulPgmg.pdf



Back to : TIE6404-0051_1401simulPgm | Home

ITEM NUMBER 6404-0051 (T. I. !:.)
19 pages
DATE March 4, 1964


AUTHOR K. E. 1~. Donner

TITLE SPOOF SIMULTANEOUS I::>ROGRAM~JG ON THE 1401

SOURCE IBM United Kingdom Ltd. ,
Bowmaker House
Kew Bridge, Brentford
Middlesex, England




This paper la In the author tg original form.
The objective In providing thlu copy 18 to
keep you lnformed in YOUlt" fleld of interest.
Plea81B do not dlotrlbute this paper to peraona
outalde the IBM Company.




IBM CONFIDENTIAL




6404 0051
DISTRIBUTED BY
THE PROGRAM INFORMA TION DEPAR TMENT (TIE)
IBM CORP.
11 Z EAST POST ROAD
WlflTE PLAINS. NY
Contents


I General Outline p. 1

(I) What is meant by "simultaneous programming"?

(2) 1401 configurations that would be best suited to this
technique.

II Details of Proposed Method. p. 4

(I) Characte ristic s of programs involved.

{2}' The interaction of the two programs.

(3) The control link between the two programs.

III Some Programming Considerations. p. 7

(I) Core storage requirernents.

(2) The simplest case.

(3) Independent assembly and operation.

(4) A master printer program and a number of
process programs.

IV Miscella.neous Points. p.ll

V Summary. p.13




-----------------------.------------------------------------------------------
.Appendix: Two programs to illustrate the ~ I

technique.
SPOOF. SIMULTANEOUS PROGRAMMING OPERATIONS

ON FOURTEEN-O-ONE




A paper based on the fact that 1401 Computer
installations which have the Print Storage special
feature may well be printer bound, and have consi-
derable processing time available. The purpose of
this study is to show how this processing time could
be used to run a simultaneous program which does not
use the printe r. By use of the Te sts "Printe r Busy"
and "Carriage Busy", it should be pos sible to run a
second program without affecting the efficiency of the
first to any great extent. The principle should be
sufficiently generalised to be of advantage to many
comme rcial 140 1 installations.
SIMULTANEOUS PROGRAMMING ON THE 1401


1. GENERAL OUTLINE

1. ~ is tneant by I sitnultaneous progratntning ' ?




A nortnal cotnputer progratn involve s two distinct type s of
ope rations - inte rnal proce s sing and input! output. The central
proce B sing unit can only proce s s one instruction at a titne, but
several input and output operations can be carried out together.
When a cotnputer1s input!output facilities and its processing
facilities are all being used as fully as possible, then that cotnputer
is being used efficiently, and there are various ways in which it is
possible to carry out tnore than one function at once on a cotnputer:

a) More than one kind of input or output at the satne
titne. This again can be carried out in a variety
of ways:'

i) tlBuffered'operation. Buffered input! output
units can operate quite independently of the
re st of the cotnputer, and the cotnputer is
only held up for the short period of transfer
to or frotn the buffer.

ii) N.[ulti-channel operation. A non- buffered
input! out operation will hold up one input!
output channel. By having tnore than one
channel, tnore than one input! output operation
can be carried out at once.


b) Input/Output operations at the satne titne as processing

i) A.s described above, buffered units tnake it
pos sible.

ii) '()verlapped ' operation. In this case process-
ing is only interrupted for a short period as
each character is transferred to or frotn the
input! output unit. For the re st of the transfer



- 1 -
time other processing can be carried out.

iii) Mechanical operations can be overlapped with proves sing - i. e.
while the printer carriage is spacing stationery, proce s sing can
continue. This applies even when the unit is unbuffered and when
the processor cannot carry out 'overlapped' data transfers.

In the case of the 1401, multi-channel input/output is not possible,
but all the other kinds of multi-operation mentioned above are available -
i. e. with the Print Storage feature, the printer is buffered; with the
Overlap feature, all input/output can be overlapped with processing, and
lastly, with or without the above features, some part of the mechanical
input/ output functions can be overlapped with processing. (Some input/ output
operations can also be performed concurrently by means of the combination
instructions, e. g. Read-Punch etc. )

Because it is possible to carry out such a range of parallel operations,
it is very likely that anyone 1401 program will not in fact be making full
use of the computer's potential. In other words, at some stages in the
operation of the program this processing unit will be idle, at other stages
one or more of the input/output units will be idle, when in fact other
processing or other input/output operations could be being performed.

The phrase "simultaneous programming" is here used to refer to a
means of utilizing this otherwise wasted computer time. Since the processing
unit can only access and execute one instruction at a time, two progra.ms
can never be processed simultaneously in the fullest sense; but since, as
mentioned above, during the execution of a normal program, the processing
unit may well be idle at times, then this idle time could be used by another
program. To the extent that the second program did not slow down the first,
the two programs can be said to be operating 'simultaneously.' So long as
the input/ output operations could be overlapped with processi.. ng, such
'simultaneous programming' could well be a practical possibility on the
1401.

2. 1401 Configurations that would be best suited to this technique.


There are two features available on the 1401 which make this technique
a possibility - the Print Storage feature, and the Overlap feature. As the
majority of commercial users of the 1401 will probably not need Overlap
but will want Print Storage, it is with tIE latter feature that this paper is
primarily concerned.
- 2 -
Usage of the printer in a 1401 installation is often high, and several
programs will be 'printer-bound' - in other words, the program will
develop the data. for a line of printing before the previous line has
finished printing, and the program has nothing to do but wait for the
printer. A line on the 1403 models 1 or 2 takes 100 milliseconds to print,
and with Print Storage 98 m. s. out of this 100 m. s. is ava.ilable for
processing, and the extra 1403 time taken by,spaces of more than one line
is also available. If a large proportion of this available processing time
is not in fact being used, then there is an obvious case for the introduction
of a second program.




- 3 -
II DETAILS OF PROPOSED METHOD.

1. Characteristics of programs involved.


The program which uses the printer, which will from now on be called
the 'printer program' should involve as little processing as possible (and
as little input/output as possible, though some input is bound to be necessary).
A tape-to -printer program would be ideal.

The second program, which will be called the 'process program I,
should involve as little input/ output as possible, and as much processing
as possible.

z. The interaction of the two programs.


A 1401 fitted with the Print Storage feature is also provided with two
additional branch instructions - Branch if Printer Busy and Branch if
Printer Carriage Busy. By making use of these tests" the process program
can hand control back to the printer program as soon as the printer is idle.
The printer program would then give the next print instruction, arrange the
data to be printed on the line after the one now printing, and transfer control
to the process program.

A very simple tape-to-printer program might follow the following lines:-



9