Nov. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEM Original Filed Aug. 10, 1961 16 Sheets-Sheet 1 47 2 TRANSDUCER SCANNER ADC 5g; INPUTS (MULTIPLEXER) SCANNER NOT Busv"oI2 REAov"sIe. 5 2 l I0 I 20 20 '84 I8 4 STORAGE OUTZUT TMER ARITHMETIC AND DISPLAY 24\I8-2 NTERRUPT V PROGRAMMER MEANS DEVIfE 7 (COMPUTER) 22 MANUAL 24 Isa CONTROL v L SWITCHES I8b miga? OUTPUT f mff ou'r ur DEVICE TIMER 18-5 I9-I Nor BUSY SIGNAL L,
*p PSEUDO DEMAND 005 ng ZSIGNAL um: I8 34 r i F .2
I PAITHBOARD 2 u: A in I- mils PRIORITY A4 I SET RESET LEVEL W 2 I; mew: ans INTERRUPT I84 DEMAND u 36 REGISTER R BIT g'g 'm ms} STATUS g INDICATOR 42g c! w GATES sere 5 Z w 2T I9-I5 4i DEMAND c 2{ I) I f4| '5 oecooma 22b TERMINALS a w GATES 32 (msmAook PATFHBOARD 38x 6 1, 516 NALS) T 30 C BIT 0127 C BIT S PRIORITY (n31 GROWING. L I L N gngw GATES AND mom, :55;
I0 n 1 RE ISTER TERMINALS a s TOSSCASNNER Et cowgk m TO ar gik TO COMPUTER CONTROL ADDRESS UNIT REGISTER II F 0M @7 5 8 RESET SIGNAL FROM OPER REG.
C BITS TO 132%? (FROM SZ'S'O) INVEN'II )R. (m RALPH BENGHIAT 6 DEMAND BY SIGNAL mom OPER. .7 H REG. (man 523) $4.,
Nov. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEM origmu Filed Aug. 10, 1961 16 Sheets-Sheet '7 HTVERTE R 1 L L 4''2 l 55 F2175 s7 59 arr-s F 75 41-5 1-I3- F 75 M44 4l-3 sn-|2-,- Fr: 72 5'1 F 12 1024i 5 2 MONO STABLE l4- 48 5 I P-M F F I M 48 2 3 I 4am 48-3 MULTIPLEXER f 523 ADDRESS "-729 REGISTER l L .J
a8 (MEANS a OUTPUT bot (MEANS b OUTPUT OF A 6 come) OF AM s CORE) OUTPUT (1 PHASE PULSE INHIBITS SET) TOQLPHASE TRIGGER PULSES usec APART) T0 /3 PHASE INVENTOR. RALPH Bewqmm BY rmecaa PULSES (a USEC APART/W0 smcso cvas 02 3 uszc FR 0M 0!. TRIGGER puLses) g7" Afr-NS.
Nov. 5, 1914 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEM Original Filed Aug. 1961 16 Sheets-Sheet 8 3 LEVELI ,i j CLOCK ecu-rm:
CLOCK PULSE (EVERY 15 SECONDS) INTERRUPT STORE 5E0. COUNTER INLOC. I00 we (pRloRn-Y ORDERS FOR TRANSFER TO LOC. 1am LEVEL I 73 I00 40 IOI) Loc. IOla.,b
1 YES (Ev|-:RY s muures) 1 NO Loc. I03b Lac. 106a COPY RI MASK DIGITS INTO ACC. ADD I TO COUNTER 2.
LocJoab-lovb I No RESET RI YES RESTOPE (ONTENS LOCJlOa-Hlb ,(EVERY HOUR) To LOWER LEVEL (OPY A4 MASK mans uvm Act.
SIGNAL PSEUDO INTERRUPT 4 CLEAR COUNTER 2 F TRANSFER To me. 1080.
F LOC. I08cv CLEAR COUNTER I 5W|T( H MULT/PI. E XE R T0 POM/TI l I I I I I 5 TRANSFER TO LOC, I040,
| l I I I I I I FIGURE 3 FIGURE 3A I J I FIGURE 35 FIGURE 3c I l L INVENTOR.
I .F'GURE: RALPH BENGHIAT 3D I BY I I z w' zmd w T'TYS.
Nov. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUP'I' MONITORING SYSTEM Original Filed Aug. 10, 1961 16 Sheets-Sheet 9 GA: Y a-ld PRODUCT n P. INVEN RALPH BEN AT A rrvs.
Nov. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEM Original Filed Aug. 10, 1961 E214 LEVEL 2 MULTIPL E XER NOT BUSY INTERRUPT 16 Sheets-Sheet. 1 5
- MULTIPLEXER INPUT ROUTINE STORE SEQ. COUNTER IN LOC. 200
LOC. 6a.,b (PRIORITY ORDERS FOR TRANSFER TO LOC. ZOIO.
LEVEL Z-73 200 40 2 LOC. ZOIa- 203 b DIGITAL INPUT T0 FA. REG.
STORE ACC. IN LOC. ZIZ
ADD I TO POINT COUNTER (STORE INPUT VALUE) COPY FA. REG. INTO ACC.
STORE ACC. m L0(.[I000 +6: ma]
LOC. 2040:2051
( POINT COUNTER =N LOC. 205b- 2060.
[SWITCH MULTIPLEXER T0 msxr Pawr YES COPY R2 MASK DIGITS INTO ACC RESET R2 RESTORE OLD ACC- CONTENTS EXIT T0 LOWER LEVEL (EXIT seauems) msmucnow INSTRUCTION we 1 woRD *2 FUNCTION ADDRE5 B-LINE FUNCTION ADDRESS NUMBER NUMBER BIT NUMBER NUMBER r O O O O 0 O I O O O O 0 O INVENTOR. RALPH BENGHIAT max;
A'r-rvs,
Nav. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEI Original Filed Aug. 10, 1961 16 Sheets-Sheet 14 LEVEL 3 Fl -3' BINARY TO oecmm.
CONVERSION ROUTINE (4 01cm POSITIVE lNTEGER) PSEUDO INTERRUPT FROM LEVEL 4 0R LEVEL 5 INTERRUPT (VALUE TO BE convsmeo IS an ACE) STORE SEQ, COUNTER m LOC 300 LOC. 70.,b (PRIORITY 02052 FOR TRANSFER TO LOC. 30m LEVEL 3 --'73 300 40 301) LOC. 30la LOC. 0 b- [CLEAR WORKSPACE LOC. 3201 3 3 305m ADD I000 T0 ACC.
EXCHANGE ACC. Q LOC. 320
SHIFT ACC. 5 BITS LEFT EXCHANGE ACC. Mac. 320
LOC. 30! b SUBTRACT I000 FROM ACC.
LOC. 3026.
C :5 ACC. NEGATIVE LOC. 305a LDC. 3025-3030. I SUBTRACT I00 FROM Acc] LADD I TO LOC. 320 Lot 306a IS Acc. NEGATIVE LOC.306b-3070.
[ ADD no LOC. 320
YES
LOC. 3Hb3I3a ADD IO TO ACC.
EXCHANGE ACC. Mac. 320
SHIFT ACC. s BITS LEFT Loc. 3o9b SUBTRACT 10 FROM Acc. ADD To Lac 3mg LOC.3|3b-3I5b y ENHANCE Mr. 8 R3 MASK DIG/TS (:5 ACC. NEGATIVE RESET R3 N0 EXCHANGE 406. $1.00. ,3/9 LADD I TO LOC. 320 EXIT Ta LOWER LEVEL j (RESULT OF CONVERSION INVENTUR.
RALPH BENGHIAT ATTYS.
Nov. 5, 1974 R. BENGHIAT Re. 28, 221
PRIORITY INTERRUPT MONITORING SYSTEM Original Filed Aug. 10, 1961 16 Sheets-Sheet 1b LEVEL 4 -LOG DATA PREPARATION ROUTINE PSEUDO INTERRUPT FROM LEVEL I OR LEVEL 5 l INTERRUPT LOC. 40la.,b v
STORE ACC. IN LOC. 4'6 CLEAR COUNTER IN LOC.4I7
ALOC. 4020: 404b 7 COPY A3 MASK DIGITS INTO 4C6.
SIGNAL PJEUDO INTE'RRUPT ADD I TO COUNTER 4 LOC. 403 4Nb l COPY DATA VALUE INTO ACC. COPY A7 MASK DIGITS nvro Arc.
WAIT FOR INTERPUPT SIGNAL pseuoo INTERRUPT COPY R4 msk mans/-10 ACC INTERRUPT RESET R4 ROU-HNE p LEVEL 3) RESTORE OLD ACC. CONTENTS x T ow v Lor'twsalb E IT 0L ER LE EL STORE (ONVERTED VALUE LOC. 406q-407q YES Q COUNTER N LOC. 40%
[ TRANSFER TO LOC. 402a INVEN'H )R.
TVS.
United States Patent 28,221 PRIORITY INTERRUPT MONITORING SYSTEM Ralph Benghiat, Pacific Palisades, Calif., assignor to The Riley Co.
Original No. 3,221,309, dated Nov. 30, 1965, Ser. No. 130,615, Aug. 10, 1961. Application for reissue Sept. 13, 1973, Ser. No. 396,826
Int. Cl. G06f 9/00, 9/18 US. Cl. 340-1725 14 Claims Matter enclosed in heavy brackets appears in the original patent but forms no part of this reissue specification; matter printed in italics indicates the additions made by reissue.
ABSTRACT OF THE DISCLOSURE A priority interrupt system for determining which one of a plurality of program routines will be executed by a computer system at a particular time. When a plurality of program routines are simultaneously requested either by internal or external demand signals, the computer system executes the requested program routines in an order depending upon their relative importance or priority as indicated by a priority level number assigned to each one of the program routines. When one or more program routines are requested, the priority level number of the program routine in progress is compared to the priority level numbers of the requested program routines. If one or more of the requested program routines have higher priority level numbers, the program routine in progress is interrupted and is resumed when all of the requested program routines with higher priority level numbers have been completed. Certain program subroutines are assigned independent priority status to permit those program sub-routines to be shared by the other program sub-routines. In order to prevent data developed by the shared sub-routines from being lost, the shared sub-routines are assigned higher priority level numbers than the sub-routines that share those sub-routines. Various program routines that could have independent priority status are assigned the same priority level number and are executed in response to the presence of a specific demand signal representing a particular one of those program routines. The re-execution of a particular program routine in response to a persistent or constant demand signal is also prevented until that particular demand signal has been removed and reestablished. A patchboard having a plurality of patchboard jumpers is used to form one or more groups of one or more incoming demand signals and to assign each such group of signals the some priority level number. The actual priority interrupt operation is efiected via an interrupt control and register means.
This invention, in general, relates to industrial process monitoring systems or other systems wherein the system must examine and respond to input data as it arrives, instead of merely storing the data for future examination and use. In this, they differ fundamentally from most business and scientific data processing machines. For safety and efiiciency, the industrial process monitoring system must be available at all times to attend to the needs of the process. However, some aspects of the invention have a more general application.
A typical present day industrial process monitoring system has an electronic computer system including arithmetic and memory sections. The memory section usually stores various data constants, such as high and low alarm or control limits, scale factors, and a multiplicity of program routines for carrying out different types of system operation demanded by the process being monitored, or by various external signal sources such as manual switches Re. 28,221 Reissued Nov. 5, 1974 and the like. The arithmetic section carries out various arithmetic operations called for by the program, such as comparing the values of the process variables with the alarm or control limit values by a subtractive process which indicates whether an alarm or control function is to be carried out. One of the program routines may be a normal basic routine which includes the scanning of the various process variables and examining the variable values for alarm conditions. The basic routine may be momentarily interrupted or modified by the presence of various external signals calling momentarily for other program routines. The operation of one manual switch, for example, may call for a program routine which changes the data constants and the operation of another switch may call for a program routine which reads out the stored data values to a typewriter.
Where the monitoring system almost simultaneously receives a number of manual demands for different program routines, the question arises as to the order in which these demand signals are obeyed and the manner in which the currently active program routine is affected. If it is desired that all program routines be carried out in an order depending upon the relative importance or priority of the routines, the different routines may be assi ned priority level numbers in accordance with their relative importance and the priority level number of a routine in progress compared with the priority numbers of the program routines whose operation have been demanded. The current program is immediately interrupted and replaced by the demanded program routine of a higher priority. The point of interruption of the interrupted program routine is recorded in memory so that it can be later resumed. After completion of all demanded program routines of higher priority, the interrupted program is resumed.
The present invention is a substantial improvement over the basic priority interrupt scheme just outlined by increasing the flexibility and scope of priority assignment, simplifying the program of the monitoring system, and greatly increasing the efficiency of utilization of input and output devices normally repeatedly used by the system.
In accordance with one aspect of the invention, certain program operations which are normally part of a larger program routine assigned to a single priority level are given independent priority status, even though they are not directly demanded by external demand signals. For example, a program sub-routine which is used in common with other program sub-routines is given an independent priority status along with the program sub-routines which use the common sub-routine. The common or shared routine is initiated by a program generated signal. referred to as a "pseudo interrupt demand signal, which is treated by the monitoring system in the same manner as the aforementioned external or manual interrupt demand signals. It is important that the shared routine initially operated by a pseudo interrupt demand signal from one of the other routines be non-interruptable by the other routine or routines which share it. Otherwise, data developed by the common shared routine may be lost when interrupted by the latter routine. This problem is overcome by assigning the shared routine a priority level which is higher than the program routines which could demand its operation.
The provision of pseudo interrupt demand signals and the special program routines operated by them results in an overall program of the highest possible efficiency and flexibility. The pseudo interrupt demand signal generated in a program routine can be used not only to initiate an immediate interrupt to a program routine of higher priority as indicated in the above shared routine example, but it can also be used to initiate the later operation of pro gram routines having a lower priority than the currently operatetd routine.
In accordance with another aspect of the invention, individual program routines are set up to be initiated by "not busy or ready signals from various input or output devices used in the monitoring system so that the most efficient use of these devices may be had. For example, the scanner or multiplexer which scans the process variables are commonly provided with ready" signal generating means for indicating to the computer when it is ready to transfer data to the computer or other input equipment such as an analog to digital converter. The ready signal is used as a priority interrupt demand signal in the same way as the other discussed priority interrupt demand signals so that the scanning routine is carried out immediately whenever the other demanded routines are of lower priority. Since one of the most important functions of a monitoring system is to detect alarm values of variables or variables which require special control funtions, the prompt operation of the scanner becomes of extreme importance.
In accordance with still another aspect of the invention, the current activity of the program routines is visibly indicated by the energization of lamps or other visual indicating means assigned to the respective program routines. Since many of the routines are carried out in such a short time period that a lamp energized for such a period would not be visible, means are provided for extending the period of response of each alarm lamp somewhat beyond the time of occurrence of the program routine involved. The provision of these indicating lamps greatly facilitates the operator in his knowledge about the operation of the system. For example, program interrupt operations will be indicated by seemingly steady or prolonged light indications since the activation of the program routines is extended by interrupt operations. The activity of uninterrupted program routines are usually indicated by blinking lamps, that is lights which are energized only momentarily. This aspect of the invention has application to computer systems generally.
Where a large number of external program interrupt demand signals are involved, it may become impractical to assign each routine operated by a demand signal a different priority level. The presence of a very large number of demand signals and associated independent routines of secondary importance can encumber the speed of the monitoring system and unduly complicate the same. In accordance with another aspect of the invention, various program routines of secondary priority status and which could have independent priority status are grouped together in a single routine as sub-routines joined together by conditional transfer program steps which branch the program to a sub-routine or sub-routines called for by the external demand signals involved. The presence of the latter demand signals are stored and a single interrupt demand signal is generated which effects an interrupt operation to the common routine when it is the highest priority routine demanded by the system.
In addition to the various broad aspects of the invention just outlined, the invention has many specific aspects dealing with specific ways of carrying out these broad features. As will appear, some of these specific aspects have applications beyond the particular applications illustrated above. For example, one such aspect deals with a unique way for handling and storing information of the various external and internal interrupt demand signals, and for examining the stored information. The means for storing this information is referred to as an interrupt register. The interrupt register has provision for storing markers indicating momentary or persisting demand signals and successive demand signals. A routine demanded by a persisting demand signal is locked out after it completes one cycle of operation. Also, a routine which is activated but not completed by a momentary signal can be caused to operate a second time automatically at a later time by the presence of a second demand signal.
The above and other objects, advantages and features of the invention will become apparent upon making reference t0 the specification to follow, the claims and the drawings wherein:
FIG. I is a basic box diagram of a monitoring system incorporating hte program interrupt system of the present invention;
FIGS. 2 and 2A together represent a more detailed box diagram of the system shown in FIG. 1;
FIGS. 3, 3A, 3B. 3C and 3D represent an exemplary circuit diagram of the program interrupt control and register means forming part of the system shown in FIGS. 2 and 2A;
FIG. 4 is a diagram illustrating the manner in which FIGS. 3, 3A, 3B, 3C and 3D can be arranged to form an integral circuit diagram;
FIGS. 5, 5A and 5B show core circuit diagrams of parts of an exemplary Elliott 803 computer to which the circuit of FIGS. 3, 3A, 3B, 3C and 3D make connection;
FIG. 6 identifies the various types of inputs to the core circuits of FIGS. 5, 5A and 5B;
FIG. 7 illustrates a timing diagram which relates to certain operations performed in the computer to certain operations performed in the program interrupt apparatus of the present invention;
FIG. 8 illustrates the types of information which circulates in the computer operations register;
FIG. 9 illustrates the arrangement of the bits of information stored in the interrupt register of the present invention:
FIG. 10 consisting of FIGS. l0ta), 10(b) and 10(c) shows the binary code format for the C mask bits stored in the computer memory and used to examine and reset the contents of the interrupt register;
FIG. 11 consisting of FIGS. ll(a), ll(b), ll(c) and ll(d) indicates the R mask bit and pseudo mask bit code group stored in the computer memory for resetting certain R bits in the interrupt register and for initiating pseudo demand signals for certain priority levels;
FIG. 12 shows the format of a typed instruction word group stored in the computer memory;
FIG. 13 is a flow diagram illustrating the clock routine which has been assigned priority level No. 1;
FIG. 14 is a flow diagram illustrating the multiplexer input routine which has been assigned priority level No. 2;
FIG. I5 is a flow diagram illustrating the binary to decimal conversion routine which has been assigned priority level No. 3;
FIG. 16 is a flow diagram illustrating the log data preparation routine which has been assigned priority level No. 4: and
FIG. 17 s a flow diagram illustrating the operator's request routine which has been assigned priority level No.5.
PART I-GENERAL DESCRIPTION Refer now to FIG. 1 which illustrates the use of the present invention in connection with a system for monitoring process or other variables in a chemical or industrial process. The values of the various variables of the process may be detected by suitable transducer devices 2, such as thermocouples in the case of temperature variables. The individual electrical outputs of the transducers 2 are fed to the input of a scanner or multiplexer 4. The scanner 4 can take any one of a number of forms well known in the art, but is preferably an electronic diode matrix scanner well known in the art which can randomly select any transducer input in accordance with control signals fed to an input 5 thereof. The output of the scanner 4 is shown connected to the input of an analog to digital converter 6 which converts an analog input to a binary digital output in a well known manner. The output of the analog to digital converter 6 is fed to a regis-. ter 7 in turn connected to the input of a storage, arith;
metic and program means generally indicated by reference numeral 8. The storage, arithmetic and programing functions carried out by this portion of this system is commonly carried out by electronic computers. The exact form of the computer forms no part of the present invention although, to illustrate the use of the present invention, reference will be made to the model 803 computer manufactured by Elliott Brothers, Ltd. of London, England. A disclosure of the circuitry and mode of operation of this computer will not be disclosed or explained in any great detail in this application. However, such information is incorporated in a book in the Scientific Library of the Patent Office entitled Handbook for the National-Elliott 803 Computer. Also, a block diagram of part of the computer 8 is shown in FIG. 8 and the core circutry of those portions of the computer to which the interrupt apparatus of the invention is connected is shown in FIGS. 5, A and 5B.
Where an industrial process is being monitored, it is normally necessary for the safety of the equipment and personnel involved to continuously scan for variables which are in an abnormal unsafe range. The scanning operation should, therefore, have a relatively high order of priority on the use of the computer 8. However, numerous other operations are performed by the monitoring system other than scanning for abnormal variables, such as periodically feeding data on all the variables to an output device which may be an electric typewriter. In other words, many demands are made on the computer 8 other than the demand for handling the signals obtained from the transducers 2. Since it takes the scanner 4 a certain finite time to get set to receive new information and to feed it to the analog to digital converter 6 or to switch from one point to another, the computer 8 may perform other functions while the scanner is getting set. Normally, a scanner is provided with means for generating a signal which indicates whether the scanner or multiplexer is ready to receive information from the transducer 2 and to transmit information to the analog to digital converter 6, such signal being fed to the computer 8 to prevent the coupling of the output thereof of the analog to digital converter, before it is connected or gated to the computer input. This signal is sometimes referred to as a not busy or ready signal. In FIG. 1, this signal is assumed to be present on a line 14 extending from the scanner 4. For similar reasons, the output device such as the typewriter 10 is frequently provided with means for signalling when the output device is busy or not busy, so that the computer 8 may utilize the output device when it is ready to be utilized and not at other times. In FIG. 1, this not busy" signal is assumed to be fed from the typewriter 10 on a line 16.
In accordance with one aspect of the present invention, instead of connecting the not busy or ready" lines 14 and 16 associated with the scanner 4 and output devices directly to the computer, these lines are connected to interrupt demand terminals 18-2 and 18-6 of an interrupt control and register means generally indicated bv reference numeral 18. These ready" signals along with other demand signals to be described are utilized to initiate respective program routines stored in the computer memory which are assigned different priority levels. Later on in the specification, an exemplary detailed description will be given of a simplified scanning program routine initiated bv the ready" signal from the scanner 4 to illustrate the general manner in which the ready or not busy" signals are handled. The exemplary monitoring system is one which is capable of handling demand signals for fifteen different levels of priority. The program routine initiated by the ready signal of the scanner 4 will be assigned the second highest priority level No. 2.
In the exemplary application of the invention to be described, the computer 8 is to respond to periodic timing signals generated by a timer 20 which, for example, are to be counted and stored in the computer memory, and at the appropriate time will initiate a program routine which prepares the scanned data for readout to the typewriter 10. These timing signals could, of course, be utilized for various other purposes also. The timer 20 has an output line 20' connected to an interrupt demand input 18-1 of the interrupt control and register means 18 which signal will initiate operation of a program routine stored in the computer memory which handles this timing signal in a desired manner. This program routine must of necessity be given the highest priority level No. 1.
A number of manual demand switches generally indicated by reference numeral 22 in FIG. 1 are provided to initiate certain operations of the computer 8, such as preparing and feeding data stored in the computer memory to the typewriter 10, changing alarm set points, etc. In the exemplary form of the invention to be described these switches respectively initiate simplified program routines which prepare all the data values stored in the computer memory for readout to the typewriter 10 and to select and prepare the highest data value stored in the computer memory for readout to an output display unit 10'. Lines 24 and 24 extend from these manual switches to inputs 18a and 18b of the interrupt control and register means 18. It will be assumed that these switches will initiate operation of a single shared program routine stored in computer memory assigned priority level No. 5. This program routine will have separate sub-routine each for carrying out one of the switch operations referred to, if the associated switch is momentarily operated. The signals generated by the manual switches 22 are sometimes referred to as C bit demand signals. In the example of the invention to be described, up to fifteen different C bit demand signals can be grouped into various combinations. The drawings show three signals per group, each group sharing one of five possible priority levels. However. by adding additional circuits or channels to the circuits to be described. all the C bit demand signal could share one or more routines. Only the operation of two C bit signaling switches sharing one priority level will be described in detail since this is sufiicient to illustrate this aspect of the invention. The operation of any one C bit signaling means in each group is effective to generate an interrupt demand signal on a line 25 extending from the interrupt control and register means 18 and re-entering the same at an interrupt demand input 18-5. The interrupt control and register means 18 includes a register to be described for registering the presence of C bit demand signals as C bit markers so that, when a shared program routine is activated, the program routine can select by a conditional transfer program step particular program sub-routine or sub-routines which correspond to the C bit demand signal or demand signals which activated the shared program routine. The aforementioned register to be called the interrupt register also stores information as A bit markers on interrupt demand signal input terminals 18-1-18-15 which receive momentary or persisting interrupt demand signals. There are fifteen C bit marker positions C1 through C15 in the interrupt register for the aforesaid fifteen possible C bit demand signals and fifteen A bit marker positions A1 through A15 for the aforesaid fifteen possible interrupt demand signals. The numbers 1 through 15 following the A" refer to markers for priority levels 1 through 15.
The interrupt demand inputs of the interrupt control and register means 18 designated by reference numerals 18-1, 18-2, 18-5 and 18-6 are respectively connected to circuits which will record A bit markers for priority levels Nos. 1, 2, 5 and 6 respectively.
The priority interrupt demand signals may be simultaneously present on the interrupt signal input terminals 18-1, 18-2-18-n. The computer 8 cannot respond to all of the demand signals at the same time since it is capable of carrying out only one program step at a time. In order to utilize the various input signals to the device most efficiently, the computer 8 should respond to the est priority level. No interrupt demand signal is necessary to enter this routine and no A, R, C or B bit markers are associated with this routine.
Tables I and IA illustrate various program routines which will be referred to in describing the operation of the present invention, the nature of the signals which initiate these routines, and the broad functions carried out thereby.
In accordance with still another aspect of the present invention, when an interrupt demand signal persists after the program routine demanded by it has been completed, the routine is "locked out" and cannot be re-activated until the interrupt demand signal disappears and is reestablished again. The presence of a B bit marker and the absence of a corresponding A and R bit marker will cause a lockout operation of the routine involved. (Lockout of C bit shared routine is not permitted for reasons to be explained.) Whenever a routine is completed, if an interrupt demand is still present, the associated A bit marker involved is removed and a B bit marker is set interrupt demand signals in order of the importance or priority of the program routines which they activate. If the computer 8 is carrying out a given program routine assigned a given priority level which is lower than the priority level of any other demanded routine, the current routine should be interrupted so that the higher priority level routines called for can be carried out first. To this end, the interrupt control and register means 18 has stored therein information as R bit markers which indicate the priority level of program routines in progress and also of program routine or routines which have been interrupted and not yet completed. The R bit marker for priority level No. 1 is referred to as the R1 bit marker, the R bit marker for priority level No. 2 is referred to as the R2 priority bit marker and the R bit marker for the 15 remaining levels are respectively referred to as the R3, R4 R15 markers. These markers are reset, that is removed, when their routines are completed. The interrupt register and control means also stores C1 through C15 and B1 through B15 bit markers which respective- 2U ly indicate the c bill demand Signals WhlCl'l have not yet which prevents the demand signal involved fr m effecteffected a program interrupt operation and the presence g a Subsequent Interrupt opcratlonwhen the d ma d of successive or persistent interrupt demand signals in Slgnal lnvolvgd pp the HSSOClalBd B bit marker conjunction with the associated R bit markers. Interrupt S a t m i ly remflved to pe mit an interrupt operaand lock-out operations are controlled by these markers 25 011 Wh n th in errupt demand signal is later re-estabin a manner to be described later on in this specification. lished.
TABLE I Priority level Interrupt (lnmand signals Functions (1) Time responsive routine Counts time pulses. (2) Multiplexer input routine External demand signal every 15 seconds (1) Heads a multiplexer input.
Demanded by signal that. multiplexer is not busy (2) Processes and stores data.
d I I 1 P d I f 1 1 Counts number of readings.
(3) m conversmn ""lg 312,33 2:: Converts binary numbers to (ltlt'llllalfolnl. for out ut,
(1) Pseudo interrupt from level 1 every hour ..l lroccsses stored data for output every hour or when (4) Log data preparation routine t2) Pseudo interrupt from level 5 if externally l demands demanded.
C bits produced by manual switches: Examines C hits. it C1, then transfers to log rou- (5) Operators requests routine Cl=Dernand log tine. 1t C2, then performs search for hi hest val C2=Find and convert largest value.
(7) Printer output routine Pseudo interrupt from level 4-.- Output routine to output device 10 (Typewriter),
(3) Visual display output routine Pseudo interrupt from level 5. (6}. it?) through (to) Basic routine I. None Computer idles when no interrupt is demanded,
Output routine to output device 10 (Visual display).
In accordance with still another aspect of the present invention, the interrupt register and control means 18 control the energization of R bit indicator lamps 19-1 through 19-15 to indicate the presence of program routines which have been activated but which are not yet completed.
In addition to the various program routines which are operated directly by the interrupt demand signals on the terminals 18-1, 18-2, etc., other program routines are set up which are initiated by signals generated within the computer 8, which signals are referred to as pseudo interrupt demand signals. The pseudo interrupt-responsive routines are assigned distinctive priority levels. These priority interrupt signals effectively establish links be- 5 tween various program routines and are handled by the interrupt control and register means 18 in the same way as are the other interrupt demand signals fed to the terminals 18-1, 18-2, etc. The provision of pseudo interrupt signals establishes substantial simplification and flexibility in programing. For example, routines can be set up which are used in common by other routines and to safeguard various intermediate results obtained by the common routine, the shared routine is given a higher priority level than any of the routines which demand its operation. In the exemplary form of the invention to be described, a common shared routine has been assigned priority level No. 3 and the routines which demand its operation have been assigned priority levels Nos. 4 and 5. The program routine which has been assigned priority 70 level No. 5 is the one operated by the C bit manual switches 22.
When the computer 8 is idling, that is, when no interrupt demand signals are present, the computer will automatically carry out some basic routine assigned the low- TABLE IA Priority level Programmed demands for other levels minutes.
(2) Causes pseudo interrupt to level 4 every hour.
(2) Multiplexer input routine Ii number of readings has not reached stored limit, then initiates multiplexer busy. Otherwise exits, Looking out level 2.
(3) Binary to decimal conver- None.
sion routine.
( t; Log data preparation rou- Causes pseudo interrupt to level 3 tine. scudo interrupt. to level 7 for output.
(5) Operators requests routine. (1? Causes pseudo interrupt. to level 4 It C1 hit. is present.
(2) Causes pseudo interrupt. to level 3 for conversion. Then pseudo interrupt to level 8 for output.
(1) Time responsive routine. ..{(l) Initiates multiplexer busy every 5 The problem of lockout is avoided in part in the case of routines demanded by C bit interrupt demand signals. because C bit demand signals are not effective to set corresponding A bit markers until the C bit demand signals disappear. If the C bit demand signals resulted in A bit markers during their occurrence, the persistence of one C bit signal could prevent operation of the shared routine by the other associated C bit demand signal. The absence of lockout of a C bit initiated routine is prevented also by other features of the invention to be explained later on in the specification.
In accordance with still another aspect of the present invention, the disappearance and re-establishment of an interrupt demand signal other than a C bit interrupt demand signal during the activation of a program routine will set a corresponding B bit marker instead of an A bit marker which, upon completion of the routine, will set another A bit marker to effect another interrupt operation.