• Keine Ergebnisse gefunden

PROGRAMMING WITH CRAM

Im Dokument COMPUTERS - KEY TO TOTAL SYSTEMS CONTROL (Seite 171-174)

FUNCTIONS & USE

C. PROGRAMMING WITH CRAM

All NCR tape systems (304 tape, 315 tape) have from early conception been designed to work with supervisory routines. These rou-tines, termed STEP (Standard Tape Executive Program) have handled all tape contingencies, end of tape procedures, labeling, and job to job executive functions. These programs have been used very successfully in the field.

A similar CRAM control program termed PACE (PAckaged Cram Executive) has been coded and will be used by all programs which intend to manipulate CRAM. This\s a super-visory routine which will be stored in a fixed memory location at all times. All CRAM reads, writes, drops or other more advanced input-output functions will be accomplished by macros, which are coded to work with and facilitate PACE control. PACE is designed to simplify all CRAM programming, to pro-vide all necessary system checks and control, and to retain intact the entire flexibility of CRAM. This executive supervisory program has three functions: 1) CRAM proceSSing control, 2) File label checking and semi-automatic file storage allocation, and 3) Pro-gram to proPro-gram executive functions.

1. CRAM ProceSSing Control

CRAM uses a magnetic reading and re-cording technique very similar to magnetic tape and therefore, like tape, requires cer-tain error controls. These include making multiple attempts to read or write when tem-porary dropouts occur or bypassing the flaw should the dropouts prove permanent.

Unlike tapes, the CRAM is subject to other operator and pro g ram mer contingencies which require close supervision and control.

Among these are the possibility that an oper-ator may erroneously change a CRAM car-tridge or that a program might attempt to read or write on a card when no card or the wrong card was on the CRAM drum.

Throughout PACE the philosophy has been to handle as much error control as is reason-ably possible with a high degree of automa-ticity. The programmer merely codes his appropriate Drop, Read, Write or other macro instructions. During assembly time automatic linking to and from PACE is set up to enable PACE to completely supervise and control these instructions during object pro-gram runningtime. This insures that almost

156 / Computers - Key to Total Systems Control all possible CRAM difficulties that could be caused by a careless operator or programmer are handled properly.

To implement PACE every new CRAM cartridge introduced is first set up completely by a standard service routine. Set up occurs but once in the life of a cartridge. The first two cards first eight characters of every track of every card are reserved for PAC E control. The first two cards are used to store file labels, PACE overlays, and to logically replace flawed tracks. The first eight char-acters of each track store card number and a cartridge serial number.

Control is exeucted in the following man-ner. Any read or write errors cause re-execution. A repeated write failure (probably a flawed area) causes this track to be saved card number. This insures proper selection both by CRAM and by the programmer. Any attempt to read or write on the wrong card or a non-dropped card causes the PACE sys-tem to reselect the proper card without dis-rupting the program. Any excessive difficul-ties are reported to the operator on the 315 console. All card drops are also checked for proper cartridge serial number, thus insuring against file mounting errors.

2. File Label Checking and Semi-Automatic File Storage Allocation

As with tape reels, each cartridge has a recorded file label for every file stored on the cartridge. These labels contain file name, cartridge sequence number, data recorded, obsolete date, and information as to what labels on the cartridge are checked to verify that only obsolete cards will be recorded upon. A new file label is created for this file and processing started. In automatic mode, all file labels are scanned to determine a contiguous group of obsoleted cards. These cards are then allocated for that particular

file. A label is created and processing com-menced. On filling any particular area, PACE will scan for more available space on the same cartridge before executing an End of Cartridge procedure.

Before reading an input file, all file labels are checked for appropriate Name and Date.

When found, the card numbers bounding this file (first and last) are stored for macro and programmer access. Processing continues thru the file to completion or till this of cartridge, depending on the number of units allocated to this file. Cartridge sequence number is augmented, a memory dump exe-cuted if desired, and the file initiated, as outlined above, for the new cartridge.

3. Program to Program Executive Functions Programs are set up and maintained on CRAM by the CRAM Librarian. Programs may be stored on a separate CRAM Program Cartridge or as a program-file on a CRAM Cartridge which is also being used for vari-0us data file functions. When a program is completed, PACE locates the next program to be executed (provided that it is stored on a cartridge currently mounted on a CRAM), loads the program, accomplishes all neces-sary dating functions, and initiates execution of this program. Overlay Macros will locate and call in any desired program overlays during the running of this program. Because of the random capabilities of CRAM, its use for overlay storage is efficient and economic.

4. Basic Features of the Packaged CRAM Executive

This executive program is a fixed program which is automatically included with all CRAM programs by the 315 Assembler or by COBOL.

The basic control portions of the program are in memory in the same location at all times. Familiarity with PAC E is achieved by programmers, operators, and servicemen.

The basic program utilizes only 1800 char-acters. File Opening, label checking, end of cartridge logic and Run to Run Supervisor are all stored as an overlay on CRAM. No 315 memory is required for permanent

Card Random Access Memory (Cram): Functions & Use / 157 storage of these programs. A portion of

memory is saved on a reserved CRAM track, ~

the overlay is read into this memory area, the required PACE functions are performed, and memory is restored. Throughout all PACE operations, required operator mes-sages are typed out. These are kept brief but clear. Likewise, the ability to override certain functions is available though exces-sive use of these overrides is naturally dis-couraged.

5. CRAM Macros

Presently there are approximately ten CRAM macros. These include the basic read, write, and drop card macros. Macros are always used for these functions rather than machine instructions to insure proper PACE control. More sophisticated mac ros. are also available. The NEXT IN and NEXT OUT macros perform logical record read and write. These make extensive use of the many 315 index registers for record advancing.

They are designed to handle straight tape-like files (fixed or variable records) with single or multiple input and output areas.

The multiple buffer, as mentioned earlier, results in much more efficient input and out-put. Another set of macros SEEK, ADVANCE, and RELEASE will be used for random and for serial selective methods of updating and are being expanded to handle several stand-ard random access addressing schemes auto-matically as part of the macro. COBOL

extensions have been made for the 315 NEAT COBAL to handle such methods of processing.

Besides COBOL, Neat Compiler, PACE, CRAM Sort Generators, and CRAM librarian, a set of CRAM utility programs for CRAM prints, copying, and manipulating of stored information will also be available.

The availability of a software package will simplify CRAM programming and enable one to realize all the flexibility and efficiency inherent in this new and unique piece of hard-ware.

D. CONCLUSION

The CRAM is a powerful and unique data processing tool. It makes an ideal bulk mem-0ry device for small, medium, or large data processing problems. Its versatility of in-formation storage allows it to be used in a manner best suitedfor a wide scope of differ-ent applications. It has definite advantages for both minimal or maximum jobs.

It can be used as both a random and a serial access memory. Its power is coupled with the ability to change cartridges in no more time than is required to change a tape reel;

no rewind of a CRAM cartridge is necessary and the price of a CRAM unit is comparable to that of a high performance tape unit.

CRAM is here to stay and represents a defi-nite advance in the critical area of periph-erals. CRAM offers a general purpose file device for a general purpose computer.

THE LOGIC DESIGN OF THE FC-4100

Im Dokument COMPUTERS - KEY TO TOTAL SYSTEMS CONTROL (Seite 171-174)