An on-line computer system for track chamber film measuring devices

An on-line computer system for track chamber film measuring devices

N U C L E A R I N S T R U M E N T S AND METHODS 105 (I972) 5 2 5 - 5 3 1 ; © N O R T H - H O L L A N D P U B L I S H I N G CO. AN ON-LINE COMPUTER...

534KB Sizes 0 Downloads 33 Views

N U C L E A R I N S T R U M E N T S AND METHODS

105

(I972) 5 2 5 - 5 3 1 ;

© N O R T H - H O L L A N D P U B L I S H I N G CO.

AN ON-LINE COMPUTER SYSTEM FOR TRACK CHAMBER FILM MEASURING DEVICES* G. ALEXANDER, J. GRUNBERG, A. MEIR, Y. OREN, A. RUBIN, A. SEIDMAN, T. S U R A N Y I t and E. WOLF

Department of Physics and Astronomy, Tel-Aviv University, Ramat-Aviv, Israel Received 20 June 1972 An on-line system used for measurements of track-chamber pictures in elementary particle physics research is described. The system was designed and built to accommodate Instruments for Evaluation of Pictures (IEP) and consists of an XDS Sigma 3

computer, a RAD disc, typewriters and a magnetic tape unit. The main purposes o f the on-line system are to speed up the measuring rate and to reduce the failure rate, from about 30%, by one order of magnitude.

1. Introduction

d) Filtering out the events of interest at the measuring stage, thus an early rejection of unwanted events is achieved. Finally, the use of the on-line system has also the advantage of reducing the off-line computation time.

Experimental elementary particle physics research is ever in need of more sophisticated measuring devices. In the track chamber techniques the use of automatic measuring devices is especially a must, if up to date experiments of large statistical significance and of high quality are to be carried outt-a). The measuring device commonly known as IEP (Instrument for Evaluations of Pictures) is basically the most versatile, as well as the most precise one. However, in its original form, it is a manually operated machine and therefore suffers from human errors and slow pace. The system described here employs a 16k-memory digital computer with a Rapid Access Data (RAD) disc of 0.75 Mbytes, magnetic tape deck, and typewriters, to which 5 IEP's are to be connected on-line. This system, however, is capable of serving a much larger number of measuring machines. In this paper both the software and interfacing hardware are described in detail. This on-line system serves the following purposes: a) Speeding up the measuring rate of the machines by taking over many details of the measurements from the human operators and by feeding back continued information on the quality of the measurements. b) Reducing by about one order of magnitude the overall failure rate ( ~ 30%) of the manual system, by constant real-time supervision of the computer over the measuring procedure (e.g., failure to measure a track or a point) and quality (e.g., non-intersecting tracks or a too large dispersion of points in a line). c) Keeping up to date record of the measurement status which allows the physicist a possibility of fast access to the measured data. * Supported in part by the Stiftung Volkswagenwerk. t Also with Elbit Computers Ltd, Haifa, Israel.

2. Description of system 2.1. GENERAL DESCRIPTION

The system consists of a digital computer (Sigma 3) with a 16 k word memory, up to five IEP's (Vanguard), a Rapid Access Data disc (of 0.75 Mbytes), a Card Reader, a Teletype, up to five typewriters (IBM Selectric), a Magnetic Tape Deck (Kennedy 1610 R), an interface for the IEPs, a typewriters' interface and a magnetic tape decks' interface. The system is controlled by the standard XDS Real Time Batch Monitor (RBM) with application software designed as "foreground tasks" representing specific functions in the system. These tasks are activated by the hardware..jnterrupt levels with predetermined priorities among them. An optimal solution has been found by assigning to specific functions hardware interrupts and by implementing multiplexing between the IEP's by software. Hence the software follows the principle of hardware/software trade-offs in order to obtain an optimal system. With this system the following aims have been achieved: a) real-time acquisition, validation and preprocessing of the data coming from the measuring machines, b) efficient communication between the human operators and measuring machines, c) recording of data on magnetic tape in a format compatible to large data processing systems.

525

526

G. A L E X A N D E R et al.

2.2. HARDWARE/SOFTWARE RELATIONSHIP The Sigma 3 computer has a hardware implemented interrupt scheme4). When an interrupt is triggered by an external signal or internally by a special instruction format, there is a forced "jump" to the addreSs stored in the corresponding interrupt location and thereby the program intended to "service the interrupt" is accessed. The design of the software has taken into account the allocation of interrupts. 2.3. INTERRUPTALLOCATION Four interrupt levels were used, in addition to the standard internal interrupts of the Sigma 3, with the following specific functions assigned to them: a) Head record connected to Level 2 (second priority interrupt), contains data related to a sPecific event and is introduced in the system by the operator at the beginning of each event. When this interrupt appears, the software identifies the "device number", i.e. the IEP which is the source of the interrupt. b) Record connected to Level 1 (highest priority interrupt), contains the x, y coordinates of the measured track.

to the RBM monitor, according to the standard requirements of the XDS Operating System. 2.4. DESCRIPTION OF BLOCK DIAGRAM OF THE SYSTEM (fig. 1)

The human operator of the IEP sends a "Service Request" signal through the suitable interrupt line. When the interrupt is recognized, the Direct Input Output (DIO) responds and reads the data into the accumulator through Data Lines. Identification of the IEP which is the source of the "Service Request" is carried out through the "Address Lines". Following the preliminary processing of the data by the software, a message can be transferred through a typewriter (TW) to the operator, who in turn can send a message back to the DIO. Validated data are recorded on the disc (RAD). The collected data, organised in blocks (record blocks), are recorded on the Magnetic Tape (MT). The DIO of the computer transfers data and controls information between the IEPs and the Accumulator. This means that the standard procedures of the computer operating systems for 1/O Control could not be used. Instead, the IEPs and tape decks are controlled by the Read Direct (RD) and Write Direct (WD) in-

c) Level 3 (third priority interrupt), controls the operation of non-standard peripherals, including magnetic tape deck and the typewriters. The interrupt source is identified by the software.

Irl

d) The lowest priority interrupt (Level 4) is assigned II -SIGMA .J

', I

m OASA_

[~

DIO

_

[

_

CONTROL (IEPI]

IOPj

TW INTERFACE

CPU

J

(TWI)

I

/I

1

I I I I I

tl

IEPI

TWI

I T

UNITS

L

i i i o!o i Ii Ii II __JI

Fig. 1. System block diagram.

t I I I I

TWI

Fig. 2. IEP and TW interface block diagram.

l

527

C O M P U T E R SYSTEM FOR T R A C K CHAMBER FILM M E A S U R I N G

structions. Special configurations of these instructions, decoded by the IEP and MT interfaces, control the on-line functions of the system. Since speed requirements are relatively low the DIO accepts data practically at once. Since the connection to the accumulator is direct, the process is simpler than through the Input Output Processor (IOP), which is normally being used for data exchange between standard peripherals or high speed devices and the core memory. 2.5. THE IEP INTERFACE(IEPI) All interfaces were designed and built and the whole system was tested. The hardware capabilities of the computer such as fast reacting interrupts and flexible I/O features were utilized. All electronic circuits were implemented using integrated circuits. 2.5.1. Description of Head/End records The Head records (section 2.3) and the End record

I I' I I,

IEP

I

RAISE F FH or REOUET 2

I

FFE

]

I

IEP

l RESPONSE ~ERS2) I

RAISE TASK

L

I

II

HEAD / E N D

(End of Event) are transferred to the computer from an IEP by the operator. Switch H or E activate Request H flip-flop (FFH) or Request E flip-flop (FFE). Each flip-flop transfers a request to the Level 2 (second priority) Interrupt; when the request is acknowledged, Task 2 (see sections 3.1 and 3.2.1) connected to Level 2 is accessed and an "Acknowledge" signal (ERS 2) is returned to the IEP Interrupt logic which removes the interrupt request. Provisions have been taken in the design of the hardware in order to avoid multiple requests from the IEP Interrupt logic, due to "bouncing" of the H or E switches and due to human errors. The identification of the source of interrupt (i.e. which IEP and whether the request is from switch H or switch E) is done by "software polling"; through a "Read Direct" instruction RD, HEAD, IEP 1 (fig. 2), the status of F F H (Head) from IEP 1 is interrogated. If the answer is negative, FFE (End) of the same IEP is interrogated. This " l o o p " continues until a positive answer is received, indicating which function (Head or End) of a specific IEP is the source of the service

1

I

REQUEST f

L

I DROPS REQUEST 2

]

RECORD

I I

DIO

RD IEP,I | SWITCHES DATA, WD RESET FFH

RBM OPERATIN8 SYSTEM

V

I I

DROP#

REOUEST f

I

DIO RO IEPf OlO

WD IEPI RESET FFE

NO f I

I L_

YES =1 I

,

P

:t

IOH/ZATION WD RESE'# FFR

|

I RBM

)PERATIN(;

1

I

I

1

L

t--. 1

---J

_1

1

I

L--I

I HD

Fig. 3. Head/End flow diagram.

I

x, r DOORmNATES I ~ .

Fig. 4. Record flow diagram.

~Y~TEI,

528

G. ALEXANDER et al.

request. In case of a "Head" request, an "Input" sequence of RD instructions follows and reads the 24 digits (figs. 1 and 3) of the Head record, grouped into six words of four digits each. Sequencing of the groups is done by the "Address Lines", activated by the DIO and decoded by the Address (Function) Decoder of the IEP interface (fig. 2). When the reading of the Head record is accomplished, FFH is cleared and the system is ready to accept a new request. It has to be emphasized that while the reading-in of a Head record from a specific IEP is proceeding and another Head record transfer from a different IEP is requested by the operator, the second request will be stored in the IEP interface and will be accepted and acknowledged when servicing of the first request is accomplished. "Loss" of data is thereby avoided.

Request, the working mode and the typewriter in OM and types the character with this particular typewriter. Upon the completion of the output operation, the typewriter is brought to lower case and the desired colour (since these functions cannot be done by the operator) and returned to IM.

2.5.2. Description of record (figs. 2 and 4) The "record", containing x-y coordinates of the measured track, ionization data and indicative data is transferred to the computer from one of the IEPs by the operator. Interrupt Level 1, which is the highest priority external interrupt in the system, enables the transfer of the record in a similar way to Interrupt Level 2. Switch R activates a Request flip-flop (FFR) and when the interrupt is acknowleged, the source of interrupt (i.e. which IEP) is identified by a "polling" sequence. The data is transferred through the DIO Interface and when accomplished, the request (FFR) is cleared and the system returned to the state previous to the interrupt.

3. Software organization

2.5.3. Description of typewriter interface

(third priority interrupt} The typewriters (IBM Selectric) are used for dialogue between the operators and the system (in both Input and Output modes-IM and OM). In IM a character is stored in the Typewriter Buffer (TWB). When the operator presses a button, Request 3 signal is sent to II. The source of the Request is being searched for by polling and when found, the Status (mode, lower case-upper case, etc.) of this particular typewriter is checked. When Request 3 is accepted,!task 3 (section 3) reads the contents of TWB by means of RD instruction and clears Request 3. Instruction WD causes the DIO to transfer the working mode to Output. When the typewriter is ready to accept a character, to type or to carry out any other standard function, Request 3 is sent to the Interrupt Interface (II). DIO finds the source of the

2.5.4. Description of magnetic tape deck

interface M T1 (third priority interrupt) MTs store validated data. They work in the Incremental Writing mode, but if connected through the IOP it can work in the continuous Write/Read mode. The MT, when ON, sends Ready Signals continuously, meaning that it is ready to accept data. This signal acts as an interrupt request when the computer is ready for data transfer and sends a Write Enable Signal.

The software system (see fig. 5) is divided into foreground tasks, Background Batch Processors and the RBM Operating System. 3.1. FOREGROUND TASKS All the programs connected to the same interrupt level constitute one "task", therefore the organization of the software follows the allocation of the various hardware functions (such as Record, Head, etc.) to interrupt levels. The real time tasks, or as usually called "foreground", do not exhaust entirely the processing capabilities of the computer. In the "idle" time, when no external requests are pending, the computer can be used as a "batch processor". Thus, the system has concurrent Foreground/Background capabilities, under the control of the RBM operating system (section 2.1).

3.1.1. Objectives of the tasks The following objectives are common to all tasks: a) Interrupt source recognition, i.e. which IEP, what function for a given IEP (Head, End or Record) or which working mode of the typewriter made a Request for interrupt. If several functions are connected to the same interrupt, the corresponding task must be able to recognize the calling function and branch to the appropriate "subtask". b) Performing of operations specific for each function, such as reading data from IEPs, reading/writing to typewriters, writing to magnetic tape, etc.

COMPUTER

[-" ] ~c6Ro

SYSTEM FOR TRACK

I I 1

l -

CHAMBER

529

FILM M E A S U R I N G

INTERRUPTf

I

t

I I I

! ]

-I ,NTERPT~ I

V

I':O~E~ROU"D I"U°ER~I'DRL

I

I

~

INTERRUPTJ I I

TRIOGER TASK INTERPT3

~ ~ ' /

B

"RITETO 'i I TA~E I

READAND I ~ _ < / T ~ " U TRANSLATE RAD

~

IOE'A"

FROM

l STARTTAPE

I I

~.J','.S

~ .... J

~ W R I T E I INPUTMODEi

I TRIGQER TASK2

I

iJ

Fig. 5. Software - general flow chart.

TW

I

530

G. A L E X A N D E R

et al.

c) Reestablishment of "environment" which prevailed before the interrupt occurred.

3.2. DESCRIPTIONOF THE FOREGROUNDTASKS In the following a brief description of the foreground tasks is given.

3.1.2. Foreground supervisor In order to minimize remeasurement of events in each task, a series of logical and data accuracy tests are included. Since some of these tests (for instance "curve fit") are lengthy and time consuming, mostly because of the loading of program overlays from the RAD, they have a decisive impact on the design concept of the software. Also time consuming is the preparation and sending of a message to the operator through the typewriter. It was decided therefore to defer the tests on the incoming data to a lower level task and to release the high level interrupt 1 as soon as possible. This is mandatory because of the high trigger rate which level 1 has to accept; it is requested for each point of a track (which has to be recorded in the system) while level 2 is triggered only 4 times per event (one Head and three Ends). It should be emphasized that task 2 connected to Head/End interrupt needs also to perform a series of tests on the incoming data including the typewriters; also incoming messages from the operator must be checked for correct syntax. Therefore the concept of a common routine to perform all the tests on the incoming data was developed. This routine, called "foreground supervisor", is being informed before being accessed, what test to perform, on what type of data and for which IEP. This information is supplied to the foreground supervisor by the calling task in two words called "Service Doubleword":

3.2.1. Task 1 ( I N T E R P T 1 ) Task 1 is activated by the highest level interrupt the " R e c o r d " switch on the IEPs, and performs the following operations: a) Identifies the source of interrupt by interrogating IEP with RD instructions until a positive answer is received (section 2.5.2). To illustrate, an example of the coding is given:

a) " W o r d one" contains a pointer to the location of the first data word on which the test is to be performed. b) " W o r d two" has a mask (bits 0-12) indicating the requested test and IEP number (bits 13-15). The foreground supervisor was included as a "subtask" of task 2; to be accessed, the following operations are performed by the calling task: 1) the appropriate "service doubleword" has to be prepared and stored in the "doubleword table", 2) the pointer into the "doubleword table" has to be incremented, 3) interrupt level 2 is triggered by a software instruction (WD). The foreground supervisor is able to identify the source of request and to perform the appropriate test. Details of the foreground supervisor are given in section 3.2.4.

-

Instruction RD,

Effective address X' F101'.

b) Reads data into core memory as follows: 1) A coordinate pair of 10 digits. The coordinates are sent by the interface as a 16-bit word, grouped into 4BCD digits (section 2.5.2). Example:

Coordinates

Instruction

48217

RD, RD, RD, RD,

34127

Accumulator X' X' X' X'

0004', 8217', 0003', 4127'.

2) A label (track code) - two alphanumeric characters. c) Identifies type of incoming data: fiducials, a new track or coordinates of a regular point on a track. d) Prepares and stores a "service doubleword" [section 3.2.1, (a) and (b)]. e) Stores the data in the appropriate temporary buffer. f) Triggers interrupt level 2 to activate the "foreground supervisor". g) Exits. Interrupt level 1 is thus released from the time consuming processing of validity tests and is ready to accept a new request from the measuring system. 3.2.2. Task 2 (INTERPT 2) Two hardware functions are connected to interrupt level 2: Head and End (section 2.5.1). Also as described previously, this task includes the "foreground supervisor". When Task 2 is entered the first step is to locate the source of the interrupt and branch to the appropriate subtask (Head or End), or to the foreground supervisor. 3.2.3. Subtasks Head and End Subtasks Head and End are similar to task 1 except

C O M P U T E R SYSTEM FOR T R A C K C H A M B E R FILM M E A S U R I N G

for the nature of data and the way of accessing the foreground supervisor. Since the latter is part of the same interrupt level as the subtasks, there is a direct branch from both subtasks to the Supervisor, after the appropriate service doubleword was prepared and stored. 3.2.4. Foreground supervisor The foreground supervisor described in principle in section 3.1.2 includes a series of routines intended to check the logical sequence of the measurements, distance between fiducials (a constant for a given experiment), labels and other parameters of the measured track, the logical consistency of the Head record, completion of a view/event, etc.

3.2.5. Task 3 (INTERPT 3) Task 3 is accessed by one of the test routines of the foreground supervisor, ETEST, which marks the completion of the measurement of an event. When the storage of the data from the last view on the R A D is completed, ETEST triggers interrupt level 3. Task 3 has the following objectives: a) Translates the format of the data stored on the R A D into the format required by the off-line processor (60 bits words, C D C 6600). The translation is done in two passes, with the R A D used as temporary storage. b) Writes the data on the (incremental) magnetic tape. c) Enables dialogue between operator and computer by means of typewriter. 3.3. THE R A D AS TEMPORARY STORAGE Each IEP has an input buffer of 180 words allocated in the core memory. Thus, transfer from core to R A D is performed on the basis of 180 words. This size was chosen since the R A D is divided into physical sectors of 180 words each. Usually the 180-word buffer contains data pertinent to one view; when the measurement of a view has been completed, subroutines VTEST and ETEST are accessed and data is transferred to the RAD.

3.4. THE OPERATINGSYSTEMAND BACKGROUND The operating system selected for the present configuration is the Real Time Batch Monitor (RBM). It is an advanced software system (supplied by the computer manufacturer) giving the user full support in implementing a concurrent real-time and batch processing environment. The R B M makes an extensive

531

use of the R A D and gives the user full overlay capability, checkpoint/restart routines, file handling capabilities and includes the following background processors: a) b) c) d) e) f) g)

F O R T R A N compiler, O L O A D - an Overlay Loader, ABS - an Absolute Loader, X SYMBOL - Assembler, C O N C O R D A - Concordance for the Assembler, R A D E D I T - R A D Editor, U T I L I T Y - Utility Library.

3.5. STORAGE ALLOCATION F r o m the 16 k core memory, 7 k is allocated to the " b a c k g r o u n d " and approximately 5 k to the RBM. Thus, only 4 k remain for the resident foreground tasks. This looks at first as an undesired situation from the point of view of core usage; in fact, taking into account the overlay and checkpoint capabilities of the operating system, it is obvious that the foreground can use up to 11 k of memory in addition to complete usage of the secondary storage.

4. System performance The evaluation of the performance of the on-line system is here expressed by comparing its remeasurement percentage to that of a similar manual system. In order to minimize the failure rate we have followed closely the tests that are employed in the off-line analysing programs (PANAL, T V G P and SQUAW). F r o m an analysis of 200 production hours of on-line measurement, it has been found that the amount ot failure has decreased proportionally to the number ot tests incorporated into the software system. In this analysis it was found that P A N A L failure was essentially non-existing while in the manual system it amounted to about one third of the total failing causes. The authors would like to acknowledge the members of the experimental high energy group for helpful discussions and interest in this work. Our thanks are also due to E. Glass and R. Ginsburg for technical assistance.

References 1) A. H. Rosenfeld and W. E. Humphrey, Ann. Rev. Nucl. Sci. 13 (1963) 103. 2) G. R. Macleod, Nucl. Instr. and Meth. 20 (1963) 367. 3) y. Goidschmidt-Clermont et al., Nu¢l. Instr. 2 (1958) 146. 4) XDS Sigma 3 Computer Reference Manual 90 15 92 B (Feb. 1970).