JUUKNAL 16:30: 5:150 PT SZ PR0«fi»T»PilOR*PiWT*SCHP»I/0 «fcW!T»M£MY»IHSe»iPER * HE-IT SPOUT*1 •lili f »****«»******?* 3, CL 030 :,-2" 2' WH2AT» 2*00039 •••'*• 1 o ** GASP >3*00080 «•»»*»•»** 2, 12C2C000000003) 10 10 14 : 30: 5:880 5 TVST * 1 6 fMG12 6 FHG63 i 8 6 1 2 11 It 6 7 12 t2 DOM FMG16» RfPN \ »»*»» »•»*• *»** #**• 3, RQL31 3» EM31 •^L BL,EQT16 J m "SÃ-fS © Copr. 1949-1998 Hewlett-Packard Co. — 032 f 00101 ï A New Series of Small Computer Systems HP 1000 Systems are designed for high-performance applications in computation, instrumentation, and operations management. by Lee Johnson HP 1000 COMPUTER SYSTEMS are a new family of computer systems based on the 21MX Com puter and the real-time executive (RTE) operating system. They are useful in a wide range of applica tions, but are particularly well suited for computation, instrumentation, and operations management appli cations that demand high performance. HP 1000 Systems represent a new higher level of performance and capability over previous 21MXbased computer systems. This has been achieved by integrating several new products that are significant contributions in themselves. These include 1) a fast, high-performance processor, the 21MX E-Series Computer, 2) a fast and flexible CRT terminal system console, the 2645A Display Station with dual magne tic tape mini-cartridges, 3) an enhanced version of the RTE operating system that provides for on-line sys tem generation and eliminates the requirement for paper tape input, 4) a new data base management package, IMAGE/1000, 5) processor growth power with the enhanced microprogramming support software, and 6) new desk-style packaging that pro vides aesthetic appeal. HP 1000 Systems also build on previous contributions, such as the HP-IB capability for control of automated instrument systems, distrib uted systems software for scientific and industrial control in network applications, and the RTE operat ing system, one of the most powerful and flexible small computer operating systems for real-time con trol and general-purpose multiprogramming. HP 1000 Computer Systems come in four standard models. Models 30 and 31 are intended for computa tional, automated test/measurement, or process con trol applications. RTE-II is the standard operating system, with RTE-III as a factory option. Standard memory is 64K bytes of semiconductor memory and system disc storage is 4.9M or 14. 7M bytes. Model 30 comes in a new desk-style cabinet with matching mini-rack cabinet for the disc subsystem (Fig. 1). Model 31 is housed in a traditional upright cabinet that contains the processor, disc drive, and space for other equipment. Models 80 and 81 are larger config urations designed as data base management systems for operations management applications and for ser vice as a central computer in a distributed systems network. These models are based on the RTE-III operating system, 1 2 8K bytes of main memory, 14. 7M bytes of disc storage, IMAGE, a magnetic tape drive for data base backup, and a line printer for hard-copy management reports. Model 80 (Fig. 2) is housed in a combination of desk and upright cabinets, while model 81 is housed in two upright cabinets. I Cover: Contributing to the performance of the new HP 1000 Computer System are an enhanced operating system featuring on-line generation (represented by the CRT display), and a highperformance processor, the 21 MX E-Series Computer. The E-Series, which is also available separately, has about twice the performance of earlier 21 MX Computers. In this Issue: A New Series of Small Computer Sys tems, by Lee Johnson page 2 HP 1000 Operating System Is En hanced Real-Time Executive, by David L. Snow and Kathleen F. Hahn page 7 Development and Application of Microprograms in a Real-Time En vironment, by Harris Dean Drake . . . page 15 E-Series Doubles 21 MX Performance, by Cleaborn C. Riggins page 18 How the E-Series Performance Was Achieved, by Scott J. Stallard page 20 Microprogrammed Features of the 21 MX E-Series, by Thomas A. Lane . page 24 OPNODE: Interactive Linear Circuit Design and Optimization, by William A . R y t a n d p a g e 2 8 Viewpoints^John Moll on HP's Inte grated Circuit Technology page 32 ©Hewlett-Packard Company. 1977 Printed in U SA © Copr. 1949-1998 Hewlett-Packard Co. Fig. 1. HP WOO Model 30 is in tended for computational, auto mated test/measurement, or pro cess control applications. RTE-llis the standard operating system (RTE-III optional). Model 31 is the same system in an upright cabinet. Design Objectives The design goals for HP 1000 Systems included performance, functional capability, well-defined growth paths, product simplification, and configura tion control. Other objectives reflected userexpressed needs for desk-style packaging, elimina tion of paper tape, and compliance with safety re quirements such as Underwriters Laboratories (UL) approval. The performance goal was attained by drawing on the clear performance improvements of the new com ponent products and integrating existing highperformance products to achieve a high overall sys tem performance. Performance of the E-Series processor is based on dramatic improvements over earlier 21MX models in instruction execution speed, direct memory access I/O rates, and asynchronous operation with memory for faster cycle times. Programs can run 60% to 100% faster in the E-Series, and I/O transfers can be 60% faster. Typical memory cycle time is 560 nano seconds, compared to the previous 650 nanoseconds, and the E-Series will be able to take advantage of higher-speed memories when they are available. The speed of the E-Series also makes it a better match for the high-performance 7905A Disc Drive, a 14.7Mbyte drive that can transfer data at 937. 5K bytes per second. The growth power of the E-Series also relates to performance, in that a user can take advantage of the improved control processor to microprogram heavily used or time-critical portions of applications software to increase performance from two to 20 times. The new lK-word writable control store interface and the RTE software support extend this "dynamic control store" capability to multiple users. The user benefit is that the system can adapt to changing application needs without changing processors. The standard console for HP 1000 Systems is the new 2645A Display Station. It is connected to the processor through a buffered interface and can oper ate at 9600 baud (960 characters/second). It contains dual mini-cartridge tape drives for program and data storage, each cartridge capable of containing up to 110 kilobytes. A significant feature of the 2645A is the "soft key" capability: each of the eight function keys can be programmed to specify up to 80 bytes of data. When used with RTE, a soft key can be a system command to execute a language processor or an ap plication program, for example, thereby providing a powerful, easier-to-use interface for the user. The power of the transfer file capability in the RTE File Manager can be used by storing a "TR, file name" command in a soft function key; this allows an ex tended set of job control commands to be executed with just one keystroke. Functional capability was assured by defining the standard systems to include the necessary compo nents to make them fully operational. Each standard system includes a processor, an operating system, a © Copr. 1949-1998 Hewlett-Packard Co. Fig. 2. HP 1000 Model 80 is a larger system suitable for data base management, operations management, and service as a central computer in a distributed system. Model 81 is the same sys tem in two upright cabinets. system disc storage device, an operator's console and a system cabinet, either desk or upright. Each model is designed to provide the correct performance and capability level for expected application needs, the goal being a better match between computing power and applications. The HP 1000 product line was conceived as a fam ily of systems that would eventually extend from low-cost memory-based configurations up to highcapacity disc-based configurations. Models 30/31 and 80/81 are the first of this family. A model 30/31 can be easily extended to a model 80/81 by adding 64K bytes of memory and dynamic mapping system hardware, upgrading to the RTE-III operating system, and ad ding the IMAGE data base package, a magnetic tape unit, and a line printer. No extensions to the processor and console are required, and user program compati bility is assured within the RTE software. The goal of product simplicity results in welldefined functional systems with options defined only where factory modifications are required. The user benefit is a better understanding of the basic product and the extended capabilities provided by factory options. Accessories, interfaces, and peripherals are specified separately and supplied with the system as a coordinated shipment. This is in marked contrast to earlier (9600) systems, for which there were hundreds of options. The one advantage of options on earlier systems was the control of compatible products that could be integrated with the system. This advantage is retained in HP 1000 Systems, not through options, but by a compatibility matrix that specifies exactly which products have been tested and determined to be operable within a certain system configuration. The compatibility matrix is part of the manufactur ing specifications documentation package and is managed by engineering change control procedures. The matrix is the official source for the HP 1000 Con figuration Guide, a document that field engineers and customers use to construct a complete system to meet specific needs. Only the products listed in the Con figuration Guide are supported by HP as part of HP 1000 Systems. Before a new accessory, peripheral, or software product can be added to the set of 1000compatible products, it must undergo extensive test ing by the engineering laboratory and then be cer tified as compatible by the quality assurance and sys tems integration groups. This degree of configuration control is aimed at increasing customer satisfaction by providing a clear statement of what works with what and in which combinations, in the initial system configuration as well as in field upgrades to installed systems. Multi-Media Software Distribution A major objective of the enhanced RTE operating system was to eliminate the dependency on paper tape as the medium for software distribution and as the required input medium for system generation. This was achieved by providing system and diagnos- © Copr. 1949-1998 Hewlett-Packard Co. HP 1000 Computer System Applications Since HP's first "instrumentation computer", Model 2116A, was introduced in 1966, the majority of over 16,000 2116's, 2100's, and 21MX's installed have been for scientific and engineering computation, data acquisition and control, factory automation, process control, product and production testing, and computer-aided design. HP 1000 Computer Systems are designed principally for dedicated applications in engineering and manufacturing. The performance and capability levels of these systems have been focused on computation, instrumentation, and operations management applications that demand high performance. These systems can best be applied by experienced end-users, OEM's (original equipment manufacturers), and system houses. The significant performance improvements of the E-Series Computer, coupled with technical languages, micropro gramming support, high-performance peripherals, and specialized microcode such as the Fast FORTRAN Pro cessor, form a powerful combination for solving computation problems such as Instrumentation problems can be solved either through the use of. HP-IB instrument clusters, with multiple HP-IB-compatible instruments and devices connected to an HP 1000 System, or by measurement and control stations for sensorbased applications requiring medium-speed analog and digital input and output capabilities. The stations are based on plug-in interface cards and instrumentation subsystems from the 9600 family of measurement and control systems. Typical applications are • Machine monitoring and control • Product quality control testing • Work station reporting • Continuous and batch process control • Shop floor monitoring and control • Automated materials handling • Automatic testing • Facilities monitoring Operations management applications can best be solved with the aid of a data base management system (DBMS) so that all relevant data can be interrelated, easily updated, and available for on-line access. IMAGE/1000 and QUERY/1000 combine to meet this need. Factory data collection is facili tated by the compatible 3070A Data Entry Terminal. An HP 1000 System can also serve to control a network of HP satellite computer systems with the HP distributed systems capability. A link to a large data processing computer sys tem can be made with the RJE/1000 package. Typical opera tions management applications include • Material requirements planning (MRP) • Capacity requirements planning • Factory data collection • Master scheduling • Purchase order and work order control • Stores control • Production status monitoring and control • Manufacturing and engineering data control tic software on multiple media and by the new on-line system generator in RTE. The distribution media in clude paper tape, magnetic tape (800 or 1600 cpi density), disc cartridge (HP 7900A or 7905A) and mini-cartridge tape. Specification of the desired medium is made by options to the software (e.g., 020 for mini-cartridge), and by a specific product number for the diagnostic library. The diagnostic library is a collection of tests for the processor, memory, acces sories, interfaces, and peripherals available with 21MX Computers. A new diagnostic configurator was developed to accommodate the diagnostic library on each medium; the configurator is a monitor or control program that manages the loading and execution of each individual diagnostic test and provides a com mon interactive dialogue and reporting interface to the user, typically an HP customer engineer. It also configures each diagnostic for the appropriate I/O channel and provides for timing loop control depend ing on the processor and memory speeds. The standard software distribution media for HP 1000 Systems are mini-cartridges for diagnostics and supplemental software and disc cartridges for the operating system. The standard disc provides a minimum operating system supporting a wide range of peripherals plus all the relocatable binary pro grams needed to distribute and regenerate a system. This disc cartridge also contains all drivers for stan dard peripherals as well as standard languages and utilities. A specially configured disc cartridge, pre pared during the system integration operation, repre sents the operating system and drivers for the user's HP 1000 system, which may include various peripherals and additional software such as real-time multi-user BASIC, IMAGE, and/or the measurement and control software library. This configured disc is what the user will begin operation with after installa tion, while the original disc serves as a backup stan dard system and can be easily updated to reflect the latest software changes. The multi-media distribution and grandfather disc for RTE have definite advantages for system flexibil ity and improved user satisfaction. A secondary but significant benefit of these new features is improved efficiency in the systems integration process during manufacture. This process involves integrating all • Scientific and engineering computation • Product development testing • Simulation and modeling • Computer-aided design • Statistical analysis • Project control © Copr. 1949-1998 Hewlett-Packard Co. sion. Dick Anderson, general manager, provided the overall leadership. Contributing to the success of the system-level products were Neal Walko, Arlan Saunders, Bob Daniel, Bill Becker, Ken Fox, Dave Bortón, Chris Lehner and Phil Williams. Hugo Schaerli and Mike Winters developed the new multi-media diag nostic software. S the hardware products, including racking, cabling, and running diagnostics. Loading and running diag nostic routines from mini-cartridges in the 2645A Terminal is faster and much more convenient than with paper tape. Once the hardware integration is completed, the process of generating the configured operating system according to the user's order begins. Since all drivers, device subroutines, and libraries for the standard systems and compatible peripherals are contained on the grandfather disc, the amount of ad ditional software that must be added before genera tion is minimized. The on-line RTE generator is de signed to run with minimal operator intervention, with most configuration parameters contained in an answer file on disc. Most new generations require only minor modifications to an existing answer file from previous generations. Of course, the faster pro cessor and console terminal also reduce the genera tion and system test execution times. HP 1000 Computer Systems represent an integra tion of many hardware and software products. The following articles describe the technical details of the more significant new products which contribute most to these systems and are significant contributions as individual products. Lee Johnson Lee Johnson joined HP's compu ter program in 1966. He was ~^P-!^ responsible for developing the / ^^ basic control system (BCS) for the M 2116A Computer, and then de'«se'C""-! signed and managed the deW velopment of the RTE operating system. He managed the de velopment of the IMAGE Data Base Management System, and was responsible for the system development of the HP 1 000. He's now the engineering manager of ^M the 21MX/RTE laboratory at HP's ° i i^fffcT, Data Systems D . s or" Lee /vai born in New Mexico and grew up in Colorado Springs, Col orado. He graduated from the University of Colorado in 1963 with a degree in mathematics and in 1970 received an MBA degree from the University of Santa Clara. He's married and has two children. Acknowledgments The development of the HP 1000 Systems and the component products required the dedication and commitment of many people in Data Systems Divi HP 1000 Computer Systems Model 30/31 Features separate stand or table.) CPU: Memory 21MX-E Series Computer with Time Base Generator, Memory Controller, Memory Protect, Dual-Channel Port Controller, Power Fall Recovery System, Loader ROMs for disc subsystem and CRT terminal, ROM diagnostics for CPU and memory. MAIN MEMORY MODEL 80: 128K bytes standard. Expandable to 304K bytes. MODEL 81: 128K bytes standard. Expandable to 608K bytes when using a memory extender. OPERATING SYSTEM: RTE-III. including Dynamic Mapping System, and IMAGE/ 1000 Data Base Management System. DISC SUBSYSTEM: 12962C Subsystem with 14. 7M bytes of storage, expandable to 1 17.9M bytes using 7 add-on drives. SYSTEM CONSOLE: 2645A Display Station with Option 007 dual mini-cart ridge tape transport. REQUIRED PERIPHERALS: A Line Printer Subsystem from following selection: M o d e l L P M C o l 1 2 9 7 5 A 3 0 0 1 3 6 1 2 9 8 3 A 1 2 5 0 1 3 2 1 2 9 8 7 A 2 0 0 1 3 2 1 3 0 5 3 A 6 0 0 1 3 6 B Magnetic Tape Subsystem from following selection: M o d e l T y p e b p l 1 2 9 7 0 A N R Z I 8 0 0 12972A Phase- 1600 Encoded PRICES as U.S.A.: Minimum prices for HP 1000 Systems without options are as follows: Model 30, $36,500: Model 31, $31,500; Model 80, $62,000; Model 81. $62,000. MANUFACTURING DIVISION: DATA SYSTEMS DIVISION 11000 Wolfe Road Cupertino, California 95014 U.S.A. CABINETS MODEL 30: Desk-style with matching mini-rack for disc subsystem. MODEL 31: Single 56-Inch high upright cabinet. (System console must be placed on separate stand or table.) CPU: Memory Con 21 MX E-Series Computer with Time Base Generator, Memory Con troller, Memory Protect, Dual-Channel Port Controller, Power Fail Recovery System, Loader ROMs for disc subsystem and CRT terminal, ROM diagnostics for CPU and memory. MAIN MEMORY MODEL 30: 64K bytes standard. Expandable to 304K bytes when using optional RTE-IH operating system. MODEL 31: 64K bytes standard. Expandable to 608K bytes using optional RTE-III operating system and a memory extender. OPERATING SYSTEM: RTE-II Real-Time Executive is standard. RTE-III. in cluding Dynamic Mapping System and +64K bytes of memory, is available as an option. RTE-III Is required In systems using more than 64K bytes of main memory. DISC SUBSYSTEMS MODEL 30: 12962D Subsystem with 14.7M bytes of storage, expandable to 117.9M bytes using 7 add-on drives. MODEL 31: 12960A Subsystem with 4.9M bytes of storage, expandable to 19.6M bytes using 3 add-on drives, or 12962C Subsystem with 14. 7M bytes of storage, expandable to 117.9M bytes using 7 add-on drives. SYSTEM CONSOLE: 2645A Display Station with Option 007 dual mini-cartridge tape transport. Model 80/81 Features CABINETS MODEL 80: Desk-style cabinet for CPU and system console; single 56-inch upright cabinet for disc and magnetic tape subsystems. MODEL 81 : Two 56-Inch upright cabinets. (System console must be placed on 6 © Copr. 1949-1998 Hewlett-Packard Co. HP 1000 Operating System Is Enhanced Real-Time Executive NewRTE-ll andRTE-lll software provides for on-line system generation and switching, disc cartridge backup, disc and mini-cartridge distribution of software, new system string communication, and improved I/O error management. by David L. Snow and Kathleen F. Hahn THE OPERATING SYSTEM for HP 1000 Comput er Systems is an enhanced version of HewlettPackard's disc-based, multi-user, multiprogramming real-time executive (RTE-II/III) operating system.1'2 Major features include priority scheduling of concur rent programs, separation of real-time and non-real time tasks into foreground and background parti tions, and a powerful file management package (FMP). RTE provides program partition swapping, buffered output, resource locking, class input/output, and a batch entry processor featuring input and output spooling of jobs for maximum throughput. RTE-II (HP 92001B) provides, in addition to memory-resi dent partitions, two disc swapping partitions (one real-time and one background) using either 48K or 64K bytes of main memory. RTE-III (92060B) adds a memory management scheme that handles up to 64 real-time and background partitions and 2M bytes of main memory (hardware limited to 608K bytes in the System 1000). Combined with the distributed system central software package (HP 91700A),3 RTE becomes a powerful central station controlling distributed pro cesses at several types of satellite computer systems. HP 1000 models 80 and 81 combine the RTE-III operating system with Hewlett-Packard's IMAGE/ 1000 data base management package (HP 92063A), providing multi-user, multiprogramming access to a user-tailored data base. RTE-II/III operating systems have been enhanced to include an on-line system generator, disc-to-disc and disc-to-magnetic-tape backup utilities, expanded user-to-program and program-to-program communi cations, restructuring of I/O management for device errors, and an enhanced batch/spool monitor. For the HP 1000, disc cartridge distribution of operating sys tem software has been added, along with HP mini cartridge distribution of all RTE software subsystem products (IMAGE/1000, microprogramming package, device diagnostics, distributed systems software, and others). The hardware environment for the enhanced RTEII/III operating systems is the HP 1000 models 30, 31, 80, and 81, using the 21MX E-Series Computer as a control processor, a 7905A or 7900A Disc Drive as a mass storage device, and a 2645A Terminal as system console. Previous RTE-II/III hardware environments that have at least 48K bytes of memory can also ac commodate the enhanced operating systems. On-Line Generator The modularity of the RTE software makes it easy to configure a real-time operating system tailored to par ticular application requirements for input/output peripherals, instrumentation, program development, and user software. With the on-line generator a new configuration can be achieved under control of the present configuration, concurrent with other system activities, such as interactive access to an IMAGE/ 1000 data base or real-time test monitoring and pro cess control. The on-line generator, a background program, exists in two forms, RT2GN and RT3GN, for configuring RTE-II and RTE-III operating systems, respectively. A special utility program, SWTCH, performs the switch over from the present operating system configuration to that of the new system, with a minimal amount of shut-down time (15-30 seconds) . Of greatest impact is SWTCH's capability to preserve the file structure of the system it is replacing. The on-line generation process uses the file man agement features of the batch/spool monitor (BSM) for retrieval of the generation parameters and software modules, and for storage of the absolute system code and its associated generation map (see Fig. 1). Storage of the relocatable software modules in files allows easy updates when new versions are implemented, as well as the convenience of referencing and identify ing the modules by their descriptive file names dur ing generation. When the generation parameters (a set of commands and responses) also exist in a file, this ANSWER file can be modified to create answer files for new system generations. One of the most useful features of on-line genera tion is the storage of the generated system in a core- © Copr. 1949-1998 Hewlett-Packard Co. scheduled for execution, otherwise the default source of command input will be from the operator console. A TR command to transfer to another command input source can be entered any time the generator is wait ing for a response from the current input source. The current input source is pushed down on a command input stack and the new source specified in the TR command is placed at the top. Therefore, an answer file can transfer to another answer file, to a logical input unit, or to the operator console for the next response to a generator query. A TR command with no parameters will pop the stack and the input source will revert to the previous answer file or logical unit. When an error occurs during the generation, either an invalid response to a query or an error in the system being generated, error recovery mode is en tered. In this case, the generator issues itself a TR command transferring the command input source to the logical unit of the operator console (unless it was already there). The operator is notified of the type of error condition and is given the opportunity to rectify the situation by re-entering a response, or by entering a ü command to abort the generation. After entering a correct response, the operator can issue a TR com mand and the generator will return to the answer file, picking up where it left off. The generation's listed output, or generation map, can be sent to a disc file or output device. A disc file provides more permanent storage and eases the prob lem of duplication since a hard copy can be listed on the line printer at will. It also allows easy identifica tion of the RTE configuration of a particular system file when planning to run SWTCH. While the genera tion map is being sent to the list file, it may also be echoed on the operator console. The operator can then follow the generation as it proceeds and make better decisions when error conditions occur, when memory bounds need to be set, and so on. The generator uses a virtual memory scheme to maintain three internal tables of dynamic size. The available memory area beyond that occupied by the generator code and up to the last accessible word of background memory space is divided between these tables. When the memory space for a table becomes full, that block of memory is written onto the disc. An indexing scheme is used to determine whether or not a particular block is resident in memory. If not, a swap must be done: the current memory block is written to the disc, and the referenced block is read in to the same memory partition space. The performance of the generator can be improved by increasing the size of the background area in which the generator is executing. The available memory space assigned to each table is thus in creased, the resulting block size is larger, and the number of block swaps decreases. The user can also Answer File Absolute System File List File Free Tracks Fig. 1. The on-line generator makes it possible to develop a new RTE-II/III operating system configuration under control of the present configuration, concurrently with other system ac tivities. The entire generation process can be directed from a disc answer file. All program modules to be included in the new operating system must exist in relocatable disc files. The new system is stored in an absolute system disc file after generation. image absolute output file, making it possible to • Store system files indefinitely, even after the sys tem is installed by SWTCH • Have several versions of RTE systems and easily SWTCH between them • Distribute a particular RTE system configuration by storing its core-image file on portable media • Store the file on a peripheral disc subchannel where it can be accessed by other RTE systems. Generation Process The generation process can be directed from a disc answer file, from a logical unit (representing a peripheral device), interactively from the operator console, or from a combination of these. The desired answer file name or logical unit can be specified in the RU command parameters when the generator is 8 © Copr. 1949-1998 Hewlett-Packard Co. order the specification of software modules to be in cluded in the system and thereby determine the order of entries in the tables. Thus the likelihood that in termodule references will occur in the same table block is increased. SWTCH When a generation has been completed, the new RTE operating system is stored in a disc file, and the SWTCH program is run to install it. SWTCH, a background program with embedded 7905A and 7 900 A disc drivers, assumes that any interfering real-time activity will be terminated during the short time it takes for the system transfer operation. Either a 7905A or 7900A disc-based RTE-II or RTE-III system may be installed, regardless of the disc type and ver sion of RTE system currently operating. Since SWTCH's disc drivers are configured to a userspecified channel, SWTCH can transfer an RTE system to a disc I/O configuration that differs from the current disc I/O configuration, or to a temporary configura tion different from the generation-defined configura tion. Some useful SWTCH transfer modes are: • Transferring the new system to the configuration of the currently running HOST system, overlaying it • Transferring the new system to the generationdefined DESTINATION configuration • Transferring the new system to a temporary TARGET disc configuration, defined by a user-specified disc controller channel and/or system disc sub channel/unit • Transferring the new system to another disc drive (by specifying a TARGET subchannel or unit) to facilitate system distribution, as in a manu facturing environment • Transferring the new system to the system sub channel definition of the HOST, and then when given permission by SWTCH, replacing the host's removable disc cartridge with the disc cartridge destined for the storage of the new system. SWTCH makes use of RTE's new, extended string communication mechanism (see next section) for the specification of up to six RU command parameters when being scheduled. In addition to the file name parameter of the RTE system to be transferred, the user may also specify the disc controller channel and the system disc subchannel/unit, and whether au tomatic boot-up (start-up) of the new system is de sired, the target file structure is to be saved, or memory-image program files belonging to that target file structure are to be purged. Any missing or errone ous parameters are requested by SWTCH at the proper time during execution. If all parameters are correctly entered, SWTCH operates in automatic mode, requir ing no operator intervention unless a requested op tion cannot be satisfied. A typical RU command scheduling SWTCH would be: RU,SWTCH,SYSFIL:KH:10,21B,1,Y,Y,Y which SWTCH would interpret as transferring the sys tem contained in file SYSFIL:KH:io via the disc control ler in channel 21, with system subchannel/unit 1, whose file structure is to be saved, memory-image program files purged, and automatic boot-up per formed when the transfer is completed. SWTCH deter mines the destination disc type from the absolute file, which indicates whether the 1 applies to a 7905A disc unit or a 7900A disc subchannel. After retrieving and opening the new RTE system file, SWTCH displays the destination I/O configuration and the system disc subchannel definition. This gives 7905A Discs 7900A Discs © Copr. 1949-1998 Hewlett-Packard Co. Fig. 2. The actual changeover from one RTE-II/III operating sys tem configuration to another is per formed by the utility program, SWTCH. Shown here are several types of SWTCH transfers of various RTE-II/III system configurations from, their respective disc files to their target disc areas. An impor tant feature of SWTCH is its ability to preserve the file structure of the system being replaced. the user some additional information about the new system. It may be used for identification purposes and in answering the next set of questions SWTCH may ask concerning the target channel, subchannel/unit, and so on. The greatest asset of a SWTCH transfer is the ability to save the file structure of the RTE system when updating the operating system configuration. To pre serve a file structure, SWTCH must first verify that there exists a target file structure that conforms to the new system being transferred. Using the system sub channel definition (i.e., first track, number of tracks, surface number, etc.) obtained from the absolute file, SWTCH checks for a precise match between the physi cal boundaries of the new and target systems to insure the same logical track addresses of the file structure. At what will be the last track of the system subchan nel, SWTCH must verify the existence of a cartridge directory and a file directory. At the same time, SWTCH retrieves some relative (logical) track addresses, which it then compares against similar information picked out of the disc-resident bootstrap loader lo cated at logical track 0 of the system (provided its existence was also verified). If the comparison indi cates that these two tracks reside in the same system, then the boundary tracks for the new and target sys tems are the same, indicating a precise match of sys tem subchannel definitions. SWTCH is thus capable of saving the file structure of either the host system, a system located on a different disc subchannel/unit of the present hardware configuration, or an RTE-II/III system satellite in a distributed system network. Fig. 2 shows an example of a SWTCH operating environ ment. SWTCH next compares the first logical track of the file structure with the track size of the new system plus the minimum 8-track free area needed by RTE. If the new system area is going to overlay part of the file space, the user is warned of the situation and given the opportunity to terminate SWTCH before the trans fer is begun. If allowed to proceed, SWTCH will purge the overlaid files from the file directory, displaying their file names on the operator console. If the user chose to have memory image program files purged, SWTCH will display their file names as their file direc tory entries are purged. During the transfer SWTCH initializes the tracks of the system subchannel as they are being written (when tracks are initialized, the physical track and sector addresses are written in the preamble of each sector) . When the system area tracks are written, their preambles are set to indicate write-protected tracks. If a file structure is to be preserved, only the area up to its first track is reinitialized, otherwise the entire sys tem subchannel is done. When a defective track is encountered during the initialization of a 7905A disc subchannel, a spare track is assigned to it. The preamble of a defective track indicates that it is defec tive and gives the address of the spare track that is replacing it so the disc controller will automatically switch to that track on future references. For 7900 A discs, any bad tracks encountered outside the system area are flagged defective; bad tracks within the abso lute code of the system are not allowed. Automatic boot-up of the new system may occur following the transfer operation if all of the following conditions are determined to be true: • the TARGET disc channel = the DESTINATION disc channel • the TARGET disc subchannel/unit = the DESTINATION disc subchannel/unit • the HOST time base generator channel = the DES TINATION time base generator channel (provided both are present) • the HOST privileged interrupt channel = the DESTINATION privileged interrupt channel (provided both are present) • the HOST system console channel = the DESTINA TION system console channel. If the above conditions are not met, SWTCH informs the user of its exit mode: either a return to the host system, or a halt if all or part of the host system was overlaid. System String Communication Earlier versions of RTE limited the operator or scheduling program to ten bytes of information that could be passed to the scheduled program. To in crease this communication area, HP 1000 RTE-II/III operating systems provide temporary storage of an operator's or a father (scheduling) program's schedul ing string of information in system available memory, so it can be retrieved by the scheduled son program (see Fig. 3). Whenever an operator schedules a pro- Fig. 3. HP 1000 RTE-II/III operating systems provide tempo rary storage of an operator's or a father program's scheduling string of information in system available memory, so it can be retrieved by the scheduled program. Shown here is the format of string communication storage in system available memory. 10 © Copr. 1949-1998 Hewlett-Packard Co. String Storage in System Available Memory Program Flow of Control •RU.NDAD, String Operator schedules NDAD. PROGRAM NDAD RU, OTHER, Other string - String Buffer Address Operator schedules OTHER then NDAD continues. -String Length CALL EXEC(14,1,IBUFR,IBUFL) NDAD recovers its string. CALL EXEC(23,ISON, . . . ISTRR.ISTRL) PROGRAM ISON NDAD schedules ISON. CALL EXEC(14,1,IBR,IBL) ISDN recovers its string. CALL EXEC(14,2,ISR,ISL) ISON passes a string back to its father, NDAD. CALL EXEC(6) CALL EXEC(14,1,IBUFR,IBUFL) CALL EXEC(6) ISON terminates itself. Fig. 4. An example of system string communication. Programs NDAD and OTHER are scheduled by the operator while program ISON is scheduled by NDAD. Each time a program is scheduled an optional buffer is saved for it in system available memory. Each time a program recovers a string this memory is released. When OTHER terminates, its unrecovered string is released. NDAD recovers the string ISON passed to it. NDAD terminates itself. PROGRAM OTHER EXEC(6) OTHER executes without recovering its string so the string memory is released at termination. gram via a "RU.PROGA, parameter string", the entire command string is saved. Whenever a father program schedules a son via an EXEC 9, 10, 23, or 24 call, two optional parameters are passed, pointing to a string buffer of information that will be saved. When the son executes, it may recover this saved string via an EXEC 14 call. In the case where the son was scheduled by another program, the son may also use the EXEC 14 call to return a new string of information to the father. String storage in system available memory is released when the program retrieves the string, when a son returns a new string to its father, or when the owning program is set dormant (normally or abnormally). String communication is used by the SWTCH program to recover up to six scheduling parameters. Fig. 4 shows two programs being scheduled by the operator, with one of these programs scheduling a son. System available memory is assigned for each string when requested and is released each time a program recovers its string. Note that since program OTHER made no effort to recover its own string, the memory assigned to the program is released when the program is set dormant. If no system available memory is available when a user schedules a program, an error message (CMD IGNORED-NO MEM) will be printed at the system con sole. Inhibit forms of the effected commands (RUIH,ONIH,GOIH) are provided to disallow scheduling string passage. If no system available memory is available when a father schedules a son (or when a son returns information to its father), then the father (son) will be temporarily suspended until sufficient memory is returned to system available memory. I/O Device Error Management To accommodate the 2644A/45A Terminals and the HP-IB interface card, the RTE-II/III operating systems have been modified to better support multiple, dis similar devices on one input/output controller. Previ ously when any device on a controller encountered an error condition (e.g., not ready, parity error, etc.), the controller and all associated devices were set into the down state by setting a flag in the controller's equip ment table (EQT). This condition continued to exist, blocking all other devices' I/O on this controller, until the malfunctioning device was either fixed or dis connected and the controller was set into the up state. Besides needlessly delaying other devices' I/O, this caused problems when the 2645A Terminal was the system console. A malfunction on a mini-cartridge 11 © Copr. 1949-1998 Hewlett-Packard Co. redefining the logical unit. -Controller Subchannel 15 11 10 6 5 -Device Lock Flag Disc Backup Utilities -Controller EOT Pointer RTE-II/III disc backup utility programs have been created that SAVE information from disc to magnetic tape, RESTORE information from magnetic tape to disc, COPY information from one disc to another and VERIFY data transferred during any of the above operations. These operations may be done either on-line under control of the RTE-II/III operating systems or off-line. On-line transfers occur in logical mode using sub channels defined by the RTE-II/III system. Off-line transfers use physical address spaces defined by the user. These utilities support 7905A and 7900A Disc Drives, 9-track 7970B Magnetic Tape Drives and all RTE supported terminals. Three modes of data transfers are supported. LU mode transfers data on one RTE-II/III-defined sub channel (on-line only) . UNIT mode transfers data on an entire disc drive (both on-line and off-line). FROM-TO mode transfers data on an area of the disc defined by the user (off-line only). Logical Unit 1 DRT Word 1 DRT Word 1 Table Logical Unit N DRT Word 1 Logical Unit 1 DRT Word 2 DRT Word 2 Table Logical Unit N DRT Word 2 1514 L_ Downed Device I/O Pointer Device UP/Down Status Flag (0/1) Fig. 5. To improve the management of I/O device errors, the device reference table (DRT) was doubled in size. Each I/O device has associated with it one or more logical units, each of which has a DRT entry. The new DRT word 2 for each entry contains a device up/down status flag and a pointer. Formerly, device status flags were in the equipment table (EOT) of the corresponding I/O controller. Batch/Spool Monitor and Other Changes Several modifications were made to the RTE lililÃbatch/spool monitor (BSM). BSM includes RTE's file management package, a job entry processor, and input/output spooling to disc files. Two new com mands were added to the FMGR program. First, all system-level commands were implemented within FMGR using a "SYxx, parameter string" format, where xx is the command. This now makes it possible to execute most system functions from the FMGR pro gram either interactively or through user-defined procedure files. Second, FMGR comments were im plemented by ignoring any command starting with *. The B SM RU command was modified so the command string can be passed to the scheduled program in a manner similar to the system RU command. Error re porting within the BSM subsystem was improved. All abort conditions resulting from EXEC calls that can be processed by the caller are now handled by the BSM subsystem, resulting in BSM error messages and the non-abortion of BSM processes. Spooling errors that would result in illegal driver request errors were given new system spooling error messages. When the FMGR program is scheduled by a program with a non-interactive input device, any optional schedul ing string in the EXEC call that begins with a colon is inserted as the first FMGR command. Finally, whenever the system is booted up, the FMGR program is scheduled after any user-defined start-up program, with control passed to a file named WELCOM. Several other modifications were made to RTE-II/III modules. DVR05, the software driver for HP 264x terminals, was modified to accommodate the 2645A drive would never have set the 2645A controller down, since in doing so, it would also be setting the system console controller down, which is not allowed in RTE. To alleviate this situation, the device up/down status was put where it belongs — with the device. Each device defined within RTE has associated with it one or more logical units (LU), each of which has a device reference table (DRT) entry. Each DRT entry was expanded to two words (see Fig. 5), with the second words collected into a second table following the original table. DRT word two contains a device up/down status flag and a pointer. Whenever a device is up, all I/O directed toward the device by the system is queued as before on the device's controller in order of program priority. If a malfunction occurs on a de vice (see Fig. 6), all LU's pointing to the device are flagged in their DRT word two as being down, and the condition is reported to the system console. The pointer in each LU's DRT word two is set to the LU number of the first LU for this device in the DRT (the device's major LU) . The pointer for the device's major LU is set to point to the requeued I/O requests for the downed device, which were originally queued on the controller. This allows I/O requests for other devices using this controller to be processed while the mal functioning device is being fixed. When the device is again operational, it can be set into the up state by setting the controller up. Alternatively, the downed device's I/O may be redirected to another device by 12 © Copr. 1949-1998 Hewlett-Packard Co. LU 12 LU 13 LU 15 LU 20 Subch. 9 Priority 3000 Fig. 6. An example of I/O device error management. In (a), three I/O requests, A through C, are queued on two controllers (EOT 40 and 52) . All four logical units shown are in the up state. In (b), a "not ready" error occurs on the device as sociated with logical unit (LU) number 15. This causes LUs 12 and 15 to be set into the down state. I/O requests A and B are dequeued from EOT 40 and re queued on LU 12. The pointer field inLU15 is set to point to LU 12, the device's major LU. All programs sending input/output to the downed LUs are suspended. In (c), the operator reassigns LU 15 to an active device, EOT 52 sub channel 9. This causes requests A and B to be queued on EOT 52, LU 15 to be set into the up state, and all suspended programs using this LU to be restarted. LU 12, pointing to the downed device, is left un changed. generator can configure one or more systems cus tomized to the user's needs. The user can easily create archive copies of software or master software libraries by copying the grandfather cartridge to magnetic tape or another cartridge using FMGR commands or the disc backup utilities. For subscribers to Hewlett-Packard's software sub scription service, update software will be distributed on either HP mini-cartridge or paper tape. Easy-to-use update utilities provide a simple means of updating grandfather or master software library cartridges from HP mini-cartridges. Other RTE software products (e.g., IMAGE/1000, microprogramming package, multi-user real-time BASIC) are now available on HP mini-cartridges. Each mini-cartridge with the exception of off-line device diagnostics contains an ASCII source directory of the items on the mini-cartridge followed by from one to ten software parts. Terminal. The software driver for the 7900A Disc Drive was modified to work with the 21 MX E-Series Computer. The WHZAT system status program was modified and also released with RTE-II. WHZAT re ports the status of all non-dormant programs, all par titions, and any I/O devices or controllers that are in the down state. Finally, to implement the string communication and I/O device error management handling capabilities, the RTE-II/III operating sys tems grew in size. To reduce this growth, a fore ground disc-resident program, $$CMD, was added that implements the system LU (logical unit switching) , EQ (EQT status), and TO (change timeout) commands. Disc Distribution of Software With the addition of the on-line system generator, the RTE-II/III operating system software products can be distributed on 7905A or 7900A removable "grand father" disc cartridges. Each grandfather cartridge contains a minimum system supporting a wide vari ety of peripheral devices that can be booted up on any I/O configuration. A file structure containing all software distributed with RTE-II or III provides a con venient storage medium from which the on-line Acknowledgments Many people contributed their efforts and guidance to enhancing RTE-II/III. We wish to acknowledge the extensive efforts of George Anzinger and Adele Gadol 13 © Copr. 1949-1998 Hewlett-Packard Co. in enhancing the batch/spool monitor, Shaila Kapoor for developing the disc backup utilities, and Bill Bowman for his work with the 2645A Terminal. Also, Nancy Rohlf, Alan Sanderson, and Larry Jones for their efforts in making these products manufacturable; Eugene Wong, Doug Baskins, Marlin Schell, Jim Hartsell, and Fred Warren for their pre-release test ing; Van Diehl for his marketing expertise; Carl Davidson and Nino Mateos, quality assurance; Peter Baker, John Gowan and Dave Tribby, our technical writers; and the efforts of Joe Bailey, Linda Averett Kathleen F. Hahn Kathy Hahn was responsible for j the on-line generator and SWTCH portions of the RTE enhancements project. A native of Sioux City, Iowa, Kathy attended Iowa State University, graduating in 1973 with a BS degree in computer science and mathematics. She started with HP the same year, working on the ATLAS compiler project prior to joining the RTE software group. She's now continuing her studies /£• toward an MSEE in computer en gineering at Stanford University. I./ Kathy enjoys sewing, tennis, jogging, and gardening. She and her husband, a CPA who also works for HP, (ive in Sunnyvale, California. and Mike Kaessner in giving our efforts a criti cal review, a References 1. G.A. Anzinger and A.M. Gadol, "A Real-Time Operating System with Multi-Terminal and Batch/Spool Capa bilities," Hewlett-Packard Journal, December 1975. 2. L.W. Averett, "Real-Time Executive System Manages Large Memories," Hewlett-Packard Journal, December 1975. 3. S. Dickey, "Distributed Computer Systems," HewlettPackard Journal, November 1974. David L. Snow As project manager for the RTE-I I/ III enhancements project, Dave Snow had responsibility for all the operating system enhancements. A native of Austin, Texas, Dave joined HP in 1 972 after graduating from the University of Texas with a BS degree in electrical engineer ing. He is currently working on his MSEE degree at Stanford Univer sity. Before joining the RTE software group, Dave was produc tion engineer for the RTE-II and TODS-C operating systems and the 9500 Automatic Test System. He enjoys skiing and tennis, is a member of the Air Force Reserve, and just recently bought a home in San Jose, California. HP 92001 B Real Time Executive II Operating System (RTE-II) HP 92060B Real Time Executive III Operating System (RTE-III) grammable Instrumentation." Support of IMAGE/1 000 data base management system for more efficient use of data files, easier access to data Supports operation as distributed system network central Distribution on disc cartridge ORDERING INFORMATION 92001 B-010 RTE-II distributed on paper tape 92001 B-030 RTE-II distributed on 7900A disc cartridge 92001 B-031 RTE-II distributed on 7905A disc cartridge The 92001B-030 or 031 RTE-II system is included in the 2170A, 2171A, and 2172A Computer System building blocks, which form the basis of the HP 1 000 Model 30 and Model 3 1 Computer Systems, as the standard operating system. 92060B-010 RTE-III distributed on paper tape 92060B-030 RTE-III distributed on 7900A disc cartridge 92060B-031 RTE-III distributed on 7905A disc cartridge The 92060B-030 or 031 RTE-III system is included in the 2170A, 2171A, and 2 172A basis System building blocks with Option 001 , which form the basis of the HP 1000 Mode! 80 and Model 81 Computer Systems, as the standard operating system. The 92060B-030 or 031 is also available in the HP 1000 Model 30 or Model 31 system by ordering 2170A, 2171A Option 001, or by later substituting 92060B-030 or 031 for the 92001B-030 or 031 along with 13304A Firmware Accessory Board, 12731 A Memory Expansion Module, 13307A Dynamic Mapping Instructions, and two 13187A 32K-byte Memory Modules. PRICES IN U.S.A.: 92001 B-010, $5,000 92060B-010, $6,000 92001 B-030, $5,000 92060B-030, $6,000 92001B-031, $5,000 92060B-031, $6,000. MANUFACTURING DIVISION: DATA SYSTEMS DIVISION 11000 Wolfe Road Cupertino, California 95014 U.S.A. FEATURES Real-time and background multi-user swapping partitions in RTE-II, 64 partitions in RTE-III Up to limited bytes of memory in RTE-II, 2M bytes in RTE-III (hardware limited to 608 K bytes) Ample partition space for user programs, typically 37K bytes Support for choice of 4.9M-byte or 14.7M-byte cartridge disc subsystem, the latter expandable to 117.9M-byte capacity Time, event, and program-to-program scheduling for real-time measurement, control, and/or automatic test applications Batch-spool monitor for concurrent disc file management and batch processing Input/output spooling to disc to speed throughput without excessive use of main memory for buffering Interactive text editor to aid program development Concurrent processing and program development in FORTRAN II/IV, conversa tional assembly Real-Time BASIC (optional), HP ALGOL, and HP assembly language Optional RTE microprogramming package for on-line development of new usermicroprogrammed instructions for system computer Multi-terminal access to all system resources, serving multiple users concurrently Includes RTE drivers and device subroutines for supported peripherals Choice of on-line or off-line system generation Support of multiple instrument clusters connected via the Hewlett-Packard inter face bus (HP-IB). The Hewlett-Packard interface bus is Hewlett-Packard's implementation of IEEE Standard 488-1975, "Digital Interface for Pro 14 © Copr. 1949-1998 Hewlett-Packard Co. Development and Application of Microprograms in a Real-Time Environment by Harris Dean Drake AS THE USE OF MICROPROGRAMMABLE processors and microprogramming proliferates, more and more users are addressing themselves to the application of microprograms in a system environ ment. To facilitate microprogram development, Hewlett-Packard offers a combination of hardware and software that includes the IK writable control store (WCS) I/O board and the RTE microprogramming package consisting of a microassembler, cross-refer ence generator, WCS driver, WCS load utility, microdebug editor, and PROM tape generator. At first glance the difficulty of developing a mi croprogrammed product may seem somewhat in timidating. The application must be defined, the source program written, the logic flow debugged and possibly PROM or ROM parts created. In the case of a dedicated processor performing a specific set of tasks, the application is dictated directly, but deciding what or how much is to be microcoded is not so straightforward. The most economical method is to use the system itself to produce a profile of system activity, then use the profile to pinpoint the areas most likely to increase system performance and de fine the microprogram application accordingly.1 Microprogram Development on a mutually exclusive basis, while RTE allows nor mal operations and microprogram development to gether. The microdebug editor (MDE) program with its RTE-type operator interface facilitates debugging of a user microprogram by combining debug functions (set breakpoints, initialize microprogram calling parameters, etc.), edit functions (replace mi croinstruction, delete microinstruction, etc.), and some system functions (disc file dump, WCS logical unit manipulation, etc.). Edit operations are per formed using the symbolic form of the various microfield mnemonics rather than numeric object codes. In a system a microprogram may be subjected to a wide range of input parameters and execution condi tions. To further assist a user in debugging his miMDE Operation User Program START JSB MDE Subroutine Call MACRO1 PARAMETER Microcode PARAMETER Breakpoint RETURN Once the microprogramming requirements are es tablished, the microcode itself must be developed. The initial source code is translated into micro-object code using the microassembler with optional crossreference generation. The object code may then be loaded into WCS using a WCS load utility and the RTE driver for WCS. WCS provides a number of development advan tages over simulators. One is that all execution and debug operations are on-line. Also, the user doesn't have to contend with the typical shortcomings of simulators. I/O operations, for example, are almost impossible to simulate faithfully. Another advantage of WCS when used with RTE is improved interaction in microprogram software gen eration using the standard RTE capabilities of interac tive editor, disc file manipulation, and so on. Most computer systems used for the development of mi crocode must be shared with other system operations Initialize debug operations. Set desired breakpoints Into microcode, load WCS, etc. Exit MDE back to calling program. Debug operations. Examine state of registers, change registers, modify microcode, set new breakpoints, etc. Continue In microprogram. MACRO2 P A R A M E T E R . Microcode . ) Additional debug operations. RETURN1 " Breakpoint RETURN2 JSB MDE , Subroutine J Completion of debug operations 4 ^—— K Clear breakpoints, dump microcode, Call ( etc. Exit back to end of program. END Fig. 1. Part of the HP WOO microprogramming package, the microdebug editor (MDE), facilitates debugging of user mi croprograms. MDE is callable as a utility subroutine that can be appended to a user program for interactive debugging operations, as shown here. Other elements of the RTE micro programming package are a microassembler, a crossreference generator, a WCS driver, a WCS load utility, and a PROM tape generator. 15 © Copr. 1949-1998 Hewlett-Packard Co. croprogram in the environment of his program, MDE is also callable as a utility subroutine. Fig. 1 dem onstrates a typical use of MDE as a subroutine ap pended to the user's program for debugging. After the microprogram is debugged it must be implemented in some fashion. The microcode may reside permanently in ROM or dynamically in RAM (WCSJ or a combination of both. When a micropro gram is programming a "processor on a board" such as the 21MX K-Series processor, ROM is almost al ways used. In the E-Series processor up to 3 . 5K words of firmware may be added to the CPU with no extra power or I/O requirements. In a system, power fail considerations might be the dominant factor in a de cision to use ROM to hold a microprogram; the con tents of WCS are lost in the event of a loss of power. A PROM mask tape generator is provided for the pur pose of burning PROM devices. The generator pro duces a variety of PROM mask tape formats to enable a number of vendors to burn parts for the user. Program A Locks WCS LU (Uses a Resource Number— RN) Program B Waiting For WCS LU Load WCS with Program A Microprograms Program A Processing and Microexecution H ^ H Unlocks WCS LU (Releases RN) Locks WCS LU (Uses a RN) ^ ^ â € ¢ M WCS As a System Resource Program A Processing Can WCS be used as a system resource? In a real time, multiprogramming operating system environ ment it can, with certain constraints. Several modes of microprogram use are possible. Multiple programs may use a single set of WCSresident microprograms. In this case the microcode is loaded once and the programs link to the microroutines as needed. The only possible constraint might be that if microprogram reentrancy is desired, it will have to be provided for in the structure of the microprograms themselves. The same WCS area may be used by multiple pro grams with different microprograms. Since each prorani requires that program's microcode to be in con trol store, a new constraint is added. A method must be determined by which each program has exclusive use of WCS when needed. This is accomplished in RTE through the sharing of resource numbers. Fig. 2 shows an example of two programs using the same WCS space for their microprograms. Program A ob tains the first lock on a logical unit (LU) associated with WCS while program B must wait for the LU to become available. Program A then loads and executes its microprograms. When the microcode is no longer required, the WCS LU is unlocked and program A continues processing. Program B now gets the WCS LU and locks it. Program B repeats the sequence of operations performed by program A, which is now waiting for the WCS LU to be available. The two programs cooperate in this manner to termination. Several WCS areas may be used by multiple pro grams with a combination of separate and identical microprograms. This may require more WCS boards, but makes the best use of WCS as a system resource. It Loads WCS with Program B Microprograms ••M Waiting For WCS LU Program B Processing and Microexecution T Locks WCS LU (Uses a RN) Unlocks WCS LU (Releases RN) Fig. 2. Writable control store (WCS) can be used as a system resource in HP 1000 Systems. Here two user programs use the same WCS space for different microprograms. creates no additional restrictions, but requires closer attention to system planning. Acknowledgments The RTE Microprogramming Package is the result of the efforts put forth by many people. Development of the microassembler, cross-reference generator, WCS driver, WCS load utility, and PROM tape generator was done by Ken Mintz. Jack Howard con tributed toward the design of MDE and prepared the training course. Special thanks to Don Reid and Art Purdy for their work on the manuals. Thanks also to Bonnie Lundberg, production engineer, Van Diehl, product manager, Gary Gubitz, support engineer and 16 © Copr. 1949-1998 Hewlett-Packard Co. Bob Nicholson and Tom Engleman, quality assur ance. S Harris Dean Drake Dean Drake graduated from the University of California at Davis with a BSEE degree in 1 969. After a stretch in the U.S. Army and some programming experience writing modules for an on-line test system, he joined HP in 1973. Among his projects are the CPU, memory, and WCS diagnostics for the 21 MX, some modifications to the RTE-C FORTRAN compiler, and the RTE microprogramming package. Dean was born in Tulsa, Oklahoma. He's married, has a son, and lives in Santa Clara, California. His principal recreational activities are handball — he's a member of a local club — and backpacking. Reference 1. D.C. Snyder, "Computer Performance Improvement by _ Measurement and Microprogramming," Hewlett-Packard Journal, February 1975. Glossary DCPC: Dual Channel Port Controller RTE (or RTE-II or RTE-III): Real-Time Executive, the System 1000 operating system. ROM: Read-Only Memory PROM: Programmable Read-Only Memory RAM: Random-Access (read/write) Memory WCS: Writable Control Store, a random-access memory board that can be plugged into the 21 MX Computer like an input/ output (I/O) board to hold user microprograms MDE: Microdebug Editor, a program supplied with the HP microprogram development package HP Model 92061 A RTE Microprogramming Package quired for base page in each RTE-III disc-resident partition. MICROPROGRAM CAPACITY The WCS WCS Utility and Driver programs work with up to three 13197A WCS boards (3072 user instructions) in the computer. MINIMUM REQUIREMENTS 92001A/B RTE-II or 92060A/B RTE-III operating system. 12960A (4.9M byte) or 12962A/B/C/D (14.7M-byte) cartridge disc subsystem HP 2108A, 2109A, 2112A, or 21 13A Computer. Batch-Spool Monitor (included in 92001 B and 92060A/B). At least 24K words of memory in RTE-II system, 32K words of memory in RTE-III system. OPTION 020 Replaces the punched tape software modules listed under items 1 through 7, above, for software on one 9162-0061 HP mini-cartridge (92061-13301) for read-in by 2645A-007 or 2644A CRT Terminal interfaced to the computer via the 12966A-001 interface and to the operating system via RTE driver DVR05. PRICES IN U.S.A.: 92061 A, $1000. Option 020, N.C. MANUFACTURING DIVISION: DATA SYSTEMS DIVISION 11000 Wolfe Road Cupertino, California 95014 U.S.A. The 92061A is a support package for on-line development by the user of special microprogrammed instructions for HP 21MX and 21MX E-Series Computers. FEATURES On-line operation in RTE-II/III system Simple assembly language for microprogramming Cross-reference generator for simplified program development Microdebug editor for interactive program editing and checkout Operator-entered microprogram breakpoints Full verification support, including driver, load utilities, and load verification routines Dynamic WCS overlay utilities Up to 3072 instructions in WCS PROM (punched) generator for outputting production microcode on (punched) PROM "burn" tapes in user-specified format FUNCTIONAL SPECIFICATIONS ENVIRONMENT 92001 A RTE-II system with 92002A Batch-Spool Monitor or 92001 B RTE-II system or 92060A/B RTE-III system. MEMORY USAGE The WCS in requires 1080 words of residen! memory. Other programs in the RTE par Package require an 8K-word background par tition in HTE-II or a 9K-word partition in RTE-III, including the 1K words re (continued from back page) to eight levels typical of most processes, the depreciation alone would cost several hundred dollars per wafer. Nevertheless, as various dry etch steps become feasible, process refinements using present lithography will enable us to use finer lines. Furthermore, the e-beam technology is immediately economical for making more accurate masks. Possibly not-yet-perceived mechani cal and optical inventions will give better mask-to-mask registration, continuing development of higher density processes for large-scale integrated circuits. Errors from mechanical tolerances can be eliminated by e-beam exposure of the mask patterns directly on the etch resist on a wafer. This technique avoids errors associated with mask aligners and It compensates for the differing thermal expansion of the masks and the silicon wafer. Dimensions of less than 1 /um seem achievable with e-beam but, unfortunately, the dimensional stability of a wet-etched pattern is not adequate for this degree of resolution. Dry etching is needed to take advantage of the resolution and accuracy possible with direct e-beam exposure. Even the the necessary etching precision were attainable, at the present time the e-beam approach to direct pattern formation is not practical from an economical point of view. The high capital invest ment in an e-beam machine, which can exceed one million dollars, and the relatively slow exposure rate — typically 30 minutes per exposure— means that during the exposure time required by the six Weli-known to a whole generation of circulÃ- designers for the Ebers-Mo/l model of the large-signal behavior of transistors, John Moll's affiliation with HP began over twenty years ago as a consultant to HP's first semiconductor operation John has been on the faculties of Ohio State and Stanford Univer sities, and he has worked for RCA (magnetrons), Bell Labs ¡transistors), and Fairchild ¡microwave and optoelec tronics). He is now Technical Director of the 1C lab within HP Labs, HP's advanced research facility. 17 © Copr. 1949-1998 Hewlett-Packard Co. E-Series Doubles 21MX Computer Performance Faster logic, improvements to the architecture and firmware, and new microprogrammed features greatly increase performance without significantly increasing cost. by Cleaborn C. Riggins THE 21MX E-SERIES (Fig. 1) is an enhanced mem ber of the 21 MX Computer family introduced in 1974. 1 The E-Series is designed to increase processor speed without significantly increasing its cost. The performance range of the 21MX family is expanded by a factor of approximately two by the E- Series. The 21MX E-Series Computer is the processor in the HP System 1000, a cost-effective, real-time, multi programming computer system (see article, page 2). The E-Series also provides a cost-effective solution for the original equipment manufacturer (OEM) who adds value through hardware and/or software. the machine's capability and that it be possible to add future products without redesign of the computer. One of the first questions to be answered was the technology to be used. Speed improvements within the T2L bipolar logic family provided the designers with the necessary performance. This choice of technology had the added benefit that much existing hardware design could be used. Although faster technology contributes to the per formance (approximately 15-20%), it alone was insuf ficient to meet the design goals. To provide additional performance improvements the computer architec ture was examined by the design team. The logic structure, microcycle timing and memory system were all investigated for possible design improve ments. In almost every area significant speed im provements were accomplished. The following arti cles explain what was done. What Was Enhanced Greater performance within the 21MX family was the major goal of the designers for the E-Series. Of equal importance was that the user be able to add to Humiliïn - ii i 2109A 2113A Fig. performance 21 MX E-Series Computers have approximately twice the performance of earlier 21 MX Computers (the M-Series), at about the same cost. They are used as the processors in HP 1000 Systems and are suitable for OEM applications as well. 18 © Copr. 1949-1998 Hewlett-Packard Co. To provide growth power for this new 2 1MX family member, the user's ability to microprogram the com puter was increased in the E-Series. • The control store address space was increased four times to 16K words, of which up to 8.5K are available to the user. • A new IK WCS (writable control store) was de signed. It increases the program space in WCS while reducing the power requirements. • New software was designed to assemble, edit, and dynamically use microprograms in a real-time operating system (see article, page 15). • Many microinstructions were enhanced to per form more work within a single microcycle instruction time. • A new firmware accessory board was designed to house the firmware (microcode in ROM) offered by Hewlett-Packard; it also has space for the user to add his own firmware. • A new feature, the microprogrammable processor port, allows external processors (such as another E-Series, or a special arithmetic processor) to be connected to the fast internal data bus and be controlled by microprogram. • Another new feature, microprogrammed block I/O, allows blocks of data to be transferred through the I/O structure under microprogram control. • Remote program load was added. • Standard self-test firmware automatically tests the memory system and the internal data paths and registers. How the User Benefits The most obvious benefit to the user is the addi tional performance the E-Series provides. This per formance is attained with only a small incremental cost, so the performance/price ratio is much greater. The 21MX instruction set is retained, so previously developed software is still usable. The E-Series also provides the user a complete spectrum of software and hardware products, one of the benefits of being a family member. User microprogrammability, a powerful feature of the 21MX family, is included and enhanced in the E-Series. A user's initial plans may not involve this feature, but when the computer approaches 100% loading, the power of microprogramming can im prove its performance so the same computer can do more work. The built-in self-test feature helps by notifying the operator of malfunctions and by build ing confidence that the computer is healthy when no problem exists. As a 21MX family member, extensive testing with existing systems and test software was possible at very early stages. These tests have been on-going since February 1976, helping to assure the solidarity of the product. Acknowledgments The original concept of enhancing the 2 1MX family was formulated by John Stedman, Phil Gordon, and Greg Hansen. Phil Gordon was the chief designer of the 21MX E-Series computer; his ingenious ideas, hard work, and application of concepts into working circuits made the E-Series the performer it is. Don Cross designed the memory protect and memory con troller and assisted in the DCPC design. Scott Stallard designed the firmware accessory board and with Tom Lane contributed to the testing of the prototypes and provided design improvements during the pilot pro duction phase. Scott also accompanied the E-Series into production to assure a smooth pilot production phase. Earl Stutes provided the microprogram for FFP and DMS and assisted heavily in system testing with George Anzinger and Linda Averett. Jim McClure provided fresh insight by reviewing the design and discovering potential problems. Frank White, Bill Thormahlen and Tom Engleman performed the qual ity assurance, verifying that the E-Series met all the specifications at prototype and pilot phases. Steve Adams designed a guided probe test system that is invaluable to production testing. Chuck Habib's PC department did an outstanding job of laying out the printed circuit boards in a timely manner. Bill Ribble and his production engineering staff were involved early in the cycle to assure producibility. Bill Senske and staff provided the supportability and manual writing. Bob Frankenberg, Dave Carver, and Orin Mahoney contributed the marketing plan, sales litera ture and manual content, ff Reference: 1. J.M. Stedman, "A User-Oriented Family of Minicomput ers," Hewlett-Packard Journal, October 1974. Cleaborn C. Riggins Cle Riggins is project manager for the 21 MX E-Series. With HP since 1960, he's served as design en gineer, test methods supervisor, f production engineering manager, I and project manager. A member of IEEE, he organized and chaired a WESCON 1 976 session on com puter power supplies. Cle was born in Dill, Oklahoma. Returning to school after four years in the /U.S. Air Force, he received his J BSEE degree from Oklahoma State University in 1960. In 1970, .. j»— «...jjÉfc he received his MSEE degree from Santa Clara University. He's active in church work and enjoys fishing, bowling, bridge, and woodworking. He and his wife and three children live in San Jose, California. 19 © Copr. 1949-1998 Hewlett-Packard Co. How the E-Series Performance Was Attained by Scott J. Stallard processor were made faster while increasing board density. Because technology had progressed since the 21MX was designed, we were able to use TTL Schottky and low-power Schottky (74S-, 74LS-) devices. THE DESIGN GOAL FOR THE 21MX E-Series Computer project was to increase the perfor mance of the 21MX family. Our investigation showed that the dual objective of increased speed with mini mal hardware changes could best be realized by con centrating the design efforts on a new CPU (central processing unit) board. We found that major perfor mance increases could be realized using the existing memory system, input/output system, dual channel port controller (DCPC) , and dynamic mapping system (DMS) designs of the 21MX, thereby lowering both development time and production costs. First, critical areas of the data path and control Variable Microcycle Timing Second, certain modifications to the microprogrammable control processor were made to optimize the control sequence according to the microinstruc tion to be performed during a given microcycle. The 21MX family is based on a microprogrammed busoriented processor, as shown in Fig. 1. During one 10 Bits -READ.WRTE MEMORY BUSY Instruction Field Decoders Fig. bus-oriented processor. MX E-Series Computer is based on this microprogrammed, bus-oriented processor. Performance has been improved over earlier 21 MX models by using faster circuits and optimiz ing microprocessor operation. 20 © Copr. 1949-1998 Hewlett-Packard Co. microcycle, the contents of any register may be placed on the data (S) bus. The ALU (arithmetic/logic unit) performs some operation involving the data and the latch, after which the result may be shifted and then stored in the destination register. The microinstruction word types of the 21MX have been retained.1 In a simple word type 1 operation, such as INC Microprocessor Control State Previous P5 PI Load Microinstruction Register, Start to Read Next Sequential Microinstruction P2, P3 Decode Word Type, Check to See if CNDX Is Met. E Read Branch Target E2 E3 P4, P5 Access New Microinstruction S2 which stores into the A register the incremented value of S2, the sequence of control states is divided into five periods, numbered Pi through P5 (Fig. 2). During Pi, the microinstruction is loaded into the control processor's microinstruction register (MIR), and decoding is initiated. During P2 and P3, the S2 register is placed on the data (S) bus. By the end of P4, the increment operation is complete and the valid result may be clocked into the A register at P5. Since this type of operation occurs frequently, the state (P) assignments and timing were optimized to perform this microinstruction type in the minimum time as dictated by the data path device delays. Each P period is 35 nanoseconds, so the microinstruction execution time is 5x35 = 175 nanoseconds. In parallel with the execution of the word type 1 microinstruction the control processor reads the next sequential microinstruction from control store, so that delays through control store, whether it is ROM, PROM, or RAM (writable control store), are trans parent. However, if a branch instruction is encoun tered, a different sequence of events must take place. For example, a word type 3 instruction, such as Next P1 Execute Target Microinstruction(157) Fig. 3. Microcycle for a word type 3 instruction contains three additional 35-ns periods to allow time for branching. Thus the E-series timing is adjusted according to the requirements of each microinstruction instead of being fixed according to worst-case conditions. set (RJS); otherwise the processor will execute the next sequential microinstruction. The control processor sequence is shown in Fig. 3. Pi is similar to that in word type 1. During the decoding events in P2 andP3, the JSB operation is detected, and the condition code is evaluated to determine whether a branch is to be performed. If it is, three additional periods, El, E2, and E3, are inserted into the control state sequence to allow the required time to reload the microaddress register and access the contents of target address 1 5 7B from control store. The execution time, therefore, for unconditional branches or conditional branches where the condition is met, is (5x35 ns) + (3x35 ns) = 280 ns. This variable microcycle timing, a dynamic altering of the state sequence in a microprogrammed control processor, provides a real performance advan tage and represents a departure from the simpler philosophy of defining the microinstruction states to accommodate the worst-case event. JSB CNDX OVFL RJS 157B will conditionally jump to the subroutine beginning at control store location 157a if the overflow bit is not Period Period Microprocessor Control State Asynchronous Memory Operation Previous P5 P1 Load Microinstruction Register, Start to Read Next Sequential Microinstruction P2, P3 Decode Word Type, Decode Source, ALU Function, and Destination Register as Required P4 Perform ALU Function P5 Store Result into Destination Register, Perform Special Tasks A third major contribution to E-Series performance is improved memory/CPU efficiency. Memory is treated asynchronously. The basic mechanism for accessing main memory requires that the address be set and a READ command be issued to the memory system. Then, in a sub sequent microinstruction, the results are retrieved using a TAB (T-register to A or B) command. A typical sequence to read a word might be: Next P1 (1) READ (2) (3) JMP Fig. 2. Each microinstruction executes in one microcycle, which is divided into P-periods, each 35 ns long. For a word type 1 microinstruction there are five P-periods and the microcycle is 1 75 ns long. (4) cov CNDX PASS INC OVFL PASS M Si SI SI HALT L TAB (SET ADDR, ISSUE READ) (CNDX NOT MET) (RETRIEVE MEMORY DATA) The READ operation is decoded during the execution 21 © Copr. 1949-1998 Hewlett-Packard Co. Period several more periods waiting for the memory opera tion to complete. This is essentially wasted time if other processing could be done, so efficient E-series microprogramming means performing as much pro cessing as possible in parallel with a memory opera tion. In either case, the memory operation is transpar ent to the microprogrammer. The read request may precede the T-register request by up to three mi croinstructions (as in the example) and the data is guaranteed to be valid even when the DCPC is active. Implicit here is that the E-Series Computer can ac commodate any speed memory system, leaving room for future performance or cost enhancements. Cur rently, using the standard memory system, memory is busy approximately 90% of the time, while the con trol processor is busy (i.e., not paused) more than 75% of the time in a typical machine instruction stream. Higher-speed memory could increase processor per formance, and therefore overall performance, by over 20% and no modifications would be required to the CPU. Microprocessor Control State Previous P5 P1 Load Microinstruction Register P2, P3 Decode Word Type, Detect T-Register Request P3 Wait for Memory Operation to Complete P3 P4 Pass T-Register Data To L-Register (Latch) P5 Store In L-Register Next P1 Fig. 4. Main memory is treated asynchronously in the E-Series. During a memory operation the microprocessor may pause in period P3 if necessary to wait for the memory opera tion to complete. of line 1 and is issued to the memory controller at the beginning of the execution of line 2. Since neither line 2 nor line 3 makes another request to memory, and memory operations require an amount of time equivalent to that of two or three microinstructions, these lines are allowed to execute normally and with out interruption. Line 4 requests that the transfer reg ister (TAB), which contains the result of the READ oper ation, be passed to the latch register (L). If the memory system has not completed the read operation by the time line 4 is decoded, the control state sequence will pause in period P3 until the T-register becomes valid, as shown in Fig. 4. The example could be changed so that lines 2 and 3 are omitted. Then the control sequence will pause for Overlapped Instruction Fetches A fourth area where the performance was improved over the 21MX was in enhanced microprogramming features. Many of the special operations required to emulate the 21MX instructions have been supple mented with additional hardware to add parallelism and thereby increase the speed while reducing the amount of code required. For example, the fourinstruction fetch routine of the 21MX, S-BUS Fields: LABEL OP SPECIAL ALU STORE ENABLE 000 FETCH READ FTCH 0 0 1 I O N 0 0 2 C L F L 0 0 3 R E A D J T A B INC PNM P A S S I R I N C C M T A B A D R has been compressed to two lines: S-BUS ENABLE Fields: LABEL OP SPECIAL ALU STORE 000 001 FETCH READ FTCH JTAB PASS INC IRCM TAB P N M P This routine takes the result (TAB) of a previously issued (by the previous instruction) read operation, places it in the instruction register (IR), and in the memory address register (CM), sets the base or current page register, initializes memorjr protect and several internal registers (FTCH), and starts a read on the operand address in M. Line 001 conditionally incre ments the program counter and the address register (except in special cases) and performs a jump (JTAB) to the control memory address specified by the IR. If an interrupt is pending, JTAB branches to the interrupt handling routine. Instructions that occur frequently in typical programs (memory reference, shift-rotate, Fig. 5. Benchmark results show performance improvement of the 21 MX E-Series Computers over the M-Series. In another benchmark study involving task scheduling, analog and digi tal data acquisition, floating point calculations, and swapping of disc- and memory-resident programs, E-Series per formance/price was calculated to be 8.7 versus the M-Series' 5.4, using operations completed in a given time as a measure of performance. 22 © Copr. 1949-1998 Hewlett-Packard Co. alter-skip) are mapped directly with JTAB. Others of the 166 supported instructions that occur less often undergo multiple decode steps (actually indexed control branches) to find the entry point of the routine, but this added time is a very small fraction of the time required to execute a typical job stream, providing a very inexpensive decode system. Floating point instructions have been augmented by a 48-bit shift normalization operation that repeats a single shift microinstruction until the combined A, B, and specified registers have been normalized. This operates much faster than the previous algorithm in which several conditional tests must be done in microcode. Shown in Fig. 5 are the results of some benchmark studies that demonstrate the performance improve ment of 21MX E-Series Computers over their pre decessors, the M-Series. user-defined subroutines, making a user's routine easier to write and debug. 5 Scott J. Stallard Scott Stallard earned his BSEE degree (and his Phi Beta Kappa key) at the University of California at Berkeley. He graduated in 1975, joined H P the same year, and con tributed to the hardware design of the 21 MX E-Series. Born in San Fernando, California, Scott just bought a new home in San Jose. He's single, is active in his church, and enjoys basketball, skiing, and backpacking. Multilevel Subroutines for the Control Processor i A subroutine save stack has been added to allow the microprogrammer to nest up to three levels of sub routines (compared to one in the 21MX). This pro vides for more modular and structured micropro gramming than was previously possible. Utilities that are standard in the base set (indirect handler, inter rupt processor, loader, etc.) may be invoked from Reference: 1. P. Gordon and J.R. Jacobs, "Microprogrammable Central Processor Adapts Easily to Special User Needs," HewlettPackard Journal, October 1974. SPECIFICATIONS HP 21 MX E-Series Computers CENTRAL PROCESSOR: The central processor is microprogram controlled and is also supported. Microprogrammabillty fully software supported. ADDRESS SPACE: 32,768 words; 1,048,567 words with DMS (optional). WORD SIZE: 16 bits. SYSTEM CYCLE TIME: 560± 35ns with HP 2102B memory system. BASE index INSTRUCTIONS: 128 standard instructions including index register instructions, bit, byte and word manipulation instructions, extended arithmetic instructions and high-speed floating point. DATA REGISTERS: 2 accumulators, 2 index registers. SELF TEST: Automatic tests of CPU and memory operating condition. Executed on cold power up and IBL/Test Switch. INITIAL BINARY LOADERS: HP disc loaders and paper tape loader standard. CONTROL PROCESSOR: Provides complete control of the central processor via microprograms. (HP supplied or user generated.) ADDRESS SPACE: 16,384 words WORD SIZE: 24 bits CONTROL STORE CYCLE TIME: Variable (175ns or 280ns) CONTROL PROCESSOR INSTRUCTIONS: 211 INPUT/OUTPUT INTERRUPT STRUCTURE: Multilevel vectored priority interrupt; priority determined by interrupt location. I/O System Size 2109A 2113A Standard I/O Channels 9 14 with one extender 25 30 with two extenders 41 MEMORY SYSTEM HP 2102B TYPE: 4K N-channel MOS semiconductor RAM WORD SIZE: 16 bits plus parity bit CONFIGURATION: Controller plus plug-in memory modules available in 8192 word and 16,384 word modules. PAGE SIZE: 1024 words DIRECT MEMORY ACCESS (DCPC ACCESSORY): Assignable to any two l/Ochannels. MAXIMUM TRANSFER BLOCK SIZE: 32,768 words. TRANSFER RATE (in 106 words/s): without DMS with DMS Input 1 1 Output .92 ENVIRONMENTAL OPERATING TEMPERATURE: 0° to 55°C STORAGE TEMPERATURE: -40° to 75°C RELATIVE HUMIDITY (non-condensing): 20% to 95% at 40°C ALTITUDE OPERATING: 4500 m (15,000 ft) NON-OPERATING: 15,300 m (50,000 ft) SHOCK: 30g for 11ms, 1/2 sine wave shape VIBRATION: 0.30 mm (0.012 in) p-p. 10-55 Hz, 3-axis PHYSICAL 2 1 0 9 A 2 1 1 3 A HEIGHT: 222 mm (8% in) 317.5 mm (12'/z in) W I D T H : 4 8 3 m m ( 1 9 i n ) 4 8 3 m m ( 1 9 i n ) DEPTH: 597 mm (231/j in) 597 mm (23V4 in) W E I G H T : 2 0 . 5 k g ( 4 5 I b ) 2 9 k g ( 6 4 I b ) POWER SUPPLY LINE VOLTAGE: 1 10/220V ac (±20%) FREQUENCY: 47.5 to 66 Hz INPUT POWER MAX: 2109A, 525W; 2113A, 800W PRICES IN U.S.A. 2109A, $5850. 2113A, $6850. 2102B Controller, $600; 8K, $750; 16K, $2100. 1K Writable Control Store, $2000. Dual Channel Port Controller, $750. Dynamic Mapping System, $1950. MANUFACTURING DIVISION: DATA SYSTEMS DIVISION 11 000 Wolfe Road Cupertino, California 94015 U.S.A. 23 © Copr. 1949-1998 Hewlett-Packard Co. Microprogrammed Features of the 21 MX E-Series by Thomas A. Lane MICROPROGRAMMING IN THE 21MX E-Series processor makes it possible for the processor to emulate the 21MX instruction set, thereby main taining instruction set compatibility with the 21MX family. Microprogramming is also used to implement standard features and user options that enhance user capability and convenience for minimum incre mental cost. The E-Series also supports user microprogram ming, which allows the user to enhance performance by defining additional instructions tailored to his needs. HP offers both hardware and software support for user microprogramming (see reference 1 and arti cle, page 15). New microprogrammed features that are standard in the E-Series are a self-test firmware diagnostic, remote program load, a microprogrammable proces sor port, and microprogrammable block I/O. dynamic RAM which, although more reliable than magnetic core, still requires periodic testing and ver ification. Memory testability becomes progressively more important as memory size increases and repre sents a greater proportion of the system hardware. Thus there is a need for stand-alone diagnostics that can be easily used to detect and locate failures. In the E-Series a set of memory diagnostics is resi dent in the base set microcode. The advantage of using microded diagnostics is the short run time re sulting from the fast execution rate of microinstruc tions. This is important for memory diagnostics, whose execution times are often prohibitively long. Another advantage of microcoded diagnostics is that they can be ROM-resident. Therefore they do not re quire loading or configuring. Executing ROMresident memory diagnostics also avoids the hazards of testing memory with a diagnostic resident in that memory. The E-Series base set contains three separate diag nostic programs, Test 1, Test 2, and Test 3 (Fig. 1). Each test is initiated by a specific user action. The processor and memory are tested automatically dur ing cold power-up by Test 1 and Test 3. Since the E-Series has standard parity error detection, Test 3 performs the additional function of initializing all present memory with the correct parity. Self-Test Firmware Diagnostic Vital to the operation of all computer systems is maintaining system integrity, or freedom from hardware failures. System integrity is verified by periodically running diagnostic programs on the sys tem. A memory diagnostic is an essential element in this process. In the E-Series, main memory is semiconductor Fig. 1. 21 MX E-Series base set microcode contains three self-test diagnostic programs. If a test re veals a failure the front-panel dis play indicates what happened. 24 © Copr. 1949-1998 Hewlett-Packard Co. The normal method of bootstrapping an E-Series processor is to set specified information in the S-register and invoke the IBL function from the operator panel. The user sets the S-register to select one of four ROM loader programs resident in the E-Series processor and the select code of the I/O de vice from which the computer will be loaded. Pres sing IBL causes the selected loader program to be read into memory and configured to the specified I/O de vice. Pressing RUN causes the loader program to be executed, resulting in a system load from the I/O de vice. Pressing RUN again initiates system operation. RPL can accomplish this task automatically and unat tended. The RPL process can be triggered in any of three ways: an I/O interface manipulating the processor RUN flip-flop, cold power-up of the processor, or execu tion of a HALT instruction. Any of these events can trigger RPL provided other conditions are met. The operator panel key must be in the LOCK position, and the configuration switch block located on the proces sor board must be properly set. Eight switches there are used to provide the I/O device select code and ROM loader selection previously provided by the operator. In addition, a switch that enables RPL must be in the enable position. The RPL operation is controlled in the HALT code portion of the base set microcode. It should be noted that although the target machine being emulated is halted after executing a HALT instruction, the control processor, which executes microcode, is never halted so long as power is applied. The microcode deter mines whether RPL is desired, calls the IBL routine indicated by the configuration switches, and issues the run command to the processor. Special care must be used in systems that run with RPL enabled because the RPL process will be initiated by every HALT en countered. RPL can be used to create a system that starts operating automatically during power-on. This can be a convenience when a complex startup procedure is needed or when startup must be done by inexperi enced people. RPL can be used to control a remote satellite in distributed systems. The satellite is configured with RPL enabled and is triggered over a remote link through an I/O interface card in the satellite. A typical system is shown in Fig. 2. Pressing the IBL-TEST switch on the operator panel causes the processor and memory to be tested by Test 1 and Test 2. Thus a nondestructive memory test is done every time IBL is invoked. The user can run Test 1 and Test 3 by single-cycling machine instruction 100000s with the INSTP STEP switch, and the key in OPERATE or LOCK. In the OPER ATE position each test runs once. In LOCK, the tests loop until the key is returned to OPERATE or a failure is detected. Since Test 3 is a destructive memory test, it is imperative that its execution be prohibited in the RUN mode, because if 100000s is accidentally exe cuted in a running program, it will destroy the mem ory contents and the program. For this reason, Test 3 will run only in the HALT mode and INSTP STEP must be used. Whenever a set of tests is terminated the processor returns to the normal front-panel mode. If a failure has occurred, the front-panel display indicates the nature of the failure, and in the case of memory failures, helps the user locate and replace the failing part. Remote Program Load Remote program load (RPL) is a feature of the E-Series base set microcode that allows users to in itiate an automatic bootstrap and run operation from either a local or a remote site. This operation consists of a complete bootstrap load operation from disc, communication line, or other specified device, fol lowed automatically by its execution. Thus, RPL is useful in distributed processing systems where au tomatic startup must be initiated from a remote or unattended location. Satellite E-Series Processor Set Up for RPL * E-Series Processor Switch Block R P L R O M Bootstrap Loader Device Select Select Code RPL Trigger Link E-Series Processor Central Processor Initiate Satellite RPL ' 1. CPU in RUN Mode 2. Operator Panel Key Switch in the LOCK Position 3. Switch 1 of Switch Block Set for RPL Enable Microprogrammable Processor Port Standard in the E-Series processor is a new microcoded I/O method called the microprogrammable processor port (MPP). The MPP provides a highbandwidth, direct data path between the E-Series processor and external devices. In a bus-oriented, microprogrammed processor like Fig. 2. Remote program load is a feature of the E-Series base set microcode that makes it possible to initiate an automatic bootstrap and run operation from a local or remote site. Here a distributed-system central station triggers a satellite E-Series processor. 25 © Copr. 1949-1998 Hewlett-Packard Co. cycle. For example, the following microinstruction would perform a transfer from the external processor into the A-register. E-Series processor O P S P ALU PASS ST A S BUS MPBEN A transfer from the E-Series to the external device is accomplished by the external device's using MPBST'Ps to strobe the data on the S-bus (and MPPIO bus) into a register. For example, the microinstruction for a transfer from the A register to the external device would be: O P S P ALU PASS ST MPBST S BUS A The two special field signals (PPiSP and PP2SP) are control lines that are activated by placing the corres ponding microorder in the special field. The function of these signals is user-definable. Another signal, PP, is an input to the E-Series processor; it is a microcode branch condition and can be used to communicate the status of the external device. The use of a microprogrammed I/O driver produces very high data transfer bandwidths. Shown below are typical MPP transfer rates obtainable in various applications. MPP Control Signals External Device Fig. 3. The microprogrammab/e processor port (MPP) is a new high-bandwidth direct data path between the E-Series processor and an external device, such as a front-end pro cessor, a special arithmetic processor, or another E-Series processor. Type of Transfer Burst Mode Synchronous Asynchronous, Interruptible the E-Series, each data processing operation is done in a unit of time called a microcycle. During each microcycle, one microinstruction is executed. The microinstruction contains fields that specify the source of the data to be gated onto the S-bus, the ALU operation to be performed, and the data destination. Any device connected to the appropriate buses can be a data source or destination. The MPP is based on an extension of this concept. The S-bus and appropriate control signals are made available to external devices to allow the external device to function as a source and/or destination in any microcycle. Thus the MPP gives the user the power to define generalized source and destination microorders for devices external to the processor. The MPP consists of a buffered version of the main processor data bus (S-bus) called the MPPIO bus, plus additional signals needed to control the transfer. Fig. 3 shows how the MPP links the E-Series processor with an external device. Typical external devices are a front-end processor, a special arithmetic processor, or another E-Series processor. A transfer from the external processor to the E-Series is done by the external processor's using MPBEN to gate data onto the MPPIO bus (and S-bus) for the entire microcycle. The processor writes the S-bus data into the specified destination at the end of the Data Rate 5.7M words/s 1.5M words/s 0.75M words/s Microprogrammable Block I/O Microprogrammable block input/output (MBIO) is another new feature of the E-Series processor. It pro vides a microprogrammable data path between the processor and the I/O bus, and accomplishes data transfers between the I/O bus and the processor in a single microcycle. MBIO can provide a highbandwidth data path between the processor and an external device or between two processors. MBIO is implemented by means of a microcoded driver in conjunction with the appropriate I/O interface. Standard I/O transfers are initiated by a microorder, IOG special, that causes the processor to synchronize to input/output period T2 and then perform the indi cated I/O operation during T3, T4, and T 5.* The MBIO feature eliminates the use of IOG and therefore allows I/O transfers to occur in any T-period, totally asyn chronous with respect to T-period timing. MBIO requires three new signals in the I/O "Each I/O Each takes one I/O cycle, which consists of five T-periods, T2 through T6. Each T-period is equal to one microcycle, which consists of a number of P-periods (5*5). 26 © Copr. 1949-1998 Hewlett-Packard Co. backplane of the E-Series processor. BIOI is activated by IOI in the SBUS field of a microinstruction, provid ing there has been no IOG special in the previous three microcycles. The signal is active for the entire microcycle and can be used by the MBIO interface to get data onto the I/O bus. In addition, IOI creates a data path from the I/O bus to the S-bus. BIOO is activated by IOO in the STORE field of a microinstruction, providing there has been no IOG special in the previous three microcycles. The signal is active for the entire microcycle and can be used by the MBIO interface as a qualifier to store data from the I/O bus. In addition, BIOO creates a data path from the S-bus to the I/O bus. BIOS is a timing signal that is used to synchronize the processor and the MBIO interface during a transfer. BIOS is active during processor period P3. MBIO transfers are accomplished on the I/O bus by manipulating these three control signals. The inter connection between the E-Series processor and an MBIO interface is illustrated in Fig. 4. The following microinstructions perform transfers between the MBIO interface and the E-Series proces sor, providing IOG special has not occurred in the previous three microcycles. O P S P A L U PASS JT : JBUS IOI The following example transfers data from the MBIO interface to the A-register. O P S P ALU ST SBUS PASS IOO A When many MBIO interfaces are connected to the I/O bus, a specific interface can be addressed through its select code. This is done simply by loading the select code of the desired interface into the instruc tion register. There are many additional signals in the I/O backplane that can be given user-definable functions on the MBIO interface card and can be manipulated by simulating the corresponding I/O instruction in microcode. SKPF, another signal in the I/O backplane, is wire-ORed to every I/O card slot. When a card is selected by having its select code in the instruction register, it can enable the status of its flag onto the SKPF line. Thus SKPF can be used to examine the status of the selected card. SKPF is very useful in MBIO applications because it is a microcode branch condi tion and can be used to test status. An MBIO interface resides in the I/O backplane, enabling it to use the powerful interrupt system of the 21 MX family. This gives MBIO devices the ability to communicate through the interrupt system. E E-Series Processor Reference 1. F.F. Corny, "Microprogramming and Writable Control Store," Hewlett-Packard Journal, July 1972. Control Store with MBIO Driver I/O Bus Control Processor Thomas A. Lane Tom Lane was involved in the hardware development of the 21 MX E-Series, particularly the CPU and the microcoded fea tures. A native of Rockford, Illinois, he received his BSEE degree in 1973 from Bradley University and his MSEE degree in 1 977 from the University of Illinois. He joined HP in 1 975. Tom is a guitar player, an amateur radio operator, and a basketball player. He and his wife and son live in San Jose, Califor nia. User Interface MBIO Interface Fig. 4. Microprogrammable block I/O is a new feature that provides a microprogrammab/e data path between the E-Series processor and the I/O bus. Data transfers between I/O bus and processor take only a single mlcrocycle. 27 © Copr. 1949-1998 Hewlett-Packard Co. OPNODE: Interactive Linear Circuit Design and Optimization OPNODE is a powerful software package for computeraided circuit design with an interactive graphics console in a minicomputer environment. by William A. Rytand ONE OF THE ELECTRICAL engineer's dreams has been a design system whereby he can quickly sketch a circuit and instantaneously view its perfor mance on a large, accurate display. Although this dream is not yet totally a practical reality, the system described in this article comes close to it. The system is called OPNODE (the name emphasizes the key words "Optimization" and "NODE-oriented circuit description"). For engineers designing linear cir cuits using frequency-domain techniques, OPNODE offers two major advantages that previously have not been generally available: rapid user interaction and the flexibility of the BASIC language. User interaction is rapid because OPNODE runs on a dedicated minicomputer system, taking full ad vantage of the interactive graphics features of the HP 8500A System Console.1 This console is the user interface for either the 8542B Automatic Network Analyzer2 or the 8580B Automatic Spectrum Ana lyzer.3 It is capable of generating high-quality graphic displays in real time, allowing the user to gain in sight into circuit performance much more rapidly than with tabular data. Another level of interaction is achieved when using OPNODE with the Automatic Network Analyzer; accurate measurements may be made on microwave devices and automatically ana lyzed in circuit models to predict overall performance. The flexibility of the OPNODE package is due largely to AC BASIC, a superset of the BASIC lan guage with over 100 additional statements and com mands that make it possible to model, analyze, and optimize linear networks as large as 40 nodes and 200 components. Using AC BASIC as a foundation, additional circuit-design building blocks are also provided (Fig. 1): PLOTPAC for plotting data in various formats (including semilog and Smith charts), OPTPAC for optimizing microwave circuits, DATAPAC containing data on HP microwave transistors, MAPCON for converting measured data from the 8542B Auto matic Network Analyzer, and FILSYN for synthesizing various filter structures. The user is free to expand the OPNODE package to suit his or her unique applica tion, since all of the building blocks are written in AC BASIC and may easily be modified or expanded. Also included in the OPNODE package is a tutorial manual with ten examples, a pocket guide, and five hours of videotapes for training. Analysis Technique The analysis technique used in OPNODE is a sparse Y matrix algorithm, in which the zeros in the Y matrix are not stored as data. This technique offers several advantages over other methods. It lends itself easily to a simple component-by-component nodal descrip tion of the circuit, it is computationally efficient, it requires less data storage, and the algorithm is com pact, occupying less than 800 words of memory. At any particular analysis frequency, the algorithm begins by initializing an nxn integer array to zero, where n is the number of nodes in the circuit. The admittance of each component in the circuit is then calculated and added to the overall Y matrix of the network. There are two possibilities for a new admit tance being added to the (i,j)th element: either this is the first entry in this position, or it is not. If it is the first entry, the complex admittance (requiring four 16-bit words) is placed in the next available position in a one-dimensional data list, and its location in this data list is placed in the (i,j)th position of the nxn 28 © Copr. 1949-1998 Hewlett-Packard Co. PLOTPAC Subroutines AC BASIC Interpreter Subprograms Separate programs written in AC BASIC Fig. 1. OPNODE is a software package, written in AC BASIC, that runs on HP automatic network and spectrum analyzer sys tems. It can model, analyze, and optimize linear networks that have up to 40 nodes and 200 components. The OPNODE package includes all of the software modules shown here. 1/iH Q = 100 @50 MHz Fig. 2. OPNODE uses a sparse Y matrix algorithm, in which the zeros in the Y (admittance) matrix are not stored as data. The technique is efficient and fast. A 40-node ladder net work is solved at a rate of about one frequency per second. integer array (which was previously zero). For sub sequent additions to this same (i,j)th element, the location of the data is determined by the n x n integer array and the new admittance is then added to the previous data contained in the data list. Fig. 2 illus trates this relationship. Once the complete Y matrix has been formed, a conventional lower/upper decom position technique4 is used to solve for all of the node voltages in the circuit. This sparse Y matrix approach yields two advan tages: it requires less memory to store the matrix, and it is faster than a non-sparse approach. For example, a 30-node ladder network would require 4X302, or 3600 words, if its complete Y matrix were stored. Using the sparse matrix approach, only 302 +4X3X30, or 1260 words, are required. The speed of the sparse matrix approach is also superior: a 40-node ladder network is solved at a rate of about one frequency per second, and the time is approximately a linear function of network size. Al gorithms that do not take advantage of matrix sparsity require times that increase as the cube of the number of nodes. Fig. 3. A simple tuned resonator circuit. OPNODE took about ten seconds to plot the resonant frequency and 0 of this cir cuit as functions of the tuning resistor (see Fig. 4). designer to develop a feeling for how well it is doing, thus allowing him to make topological changes if he perceives that the optimization is in some sense "stuck". Since the computer system is a dedicated one, users frequently allow optimization runs to go all night. A power-fail feature automatically continues a program when power is restored after a failure. Example of Flexibility As an example of the flexibility of OPNODE, con sider the simple tuned resonator circuit shown in Fig. 3. f UNà r. - TUtlFJj F. t •: CENTER FREQUENCY ( 11 H Z 1 OUflLITYFfiCTC-R T. 0 0 o e /•DIV Optimization Technique OPNODE can automatically adjust up to ten com ponent values to improve the circuit's performance. The technique used is a random adaptive search. The first step in the optimization process is a pair of trials, the first a random move from the starting point, and the second in the opposite direction. Depending upon the success or failure of these two trials, a steering matrix is updated. This matrix is then used to steer future random trials away from failures and towards successes. The user can observe the progress of the optimization and even modify the rate of learning dynamically by the use of switch options. This in teraction with the optimization process allows the 1600 i s r n M r. r: r OH ME ) Fig. 4. Hardcopy version of the graphics-console display showing the resonant frequency and Q of the resistancetuned resonator of Fig. 3. 29 © Copr. 1949-1998 Hewlett-Packard Co. HP 35828E at 15V, 15 mA HP 35868E at 10V, 5 m A Fig. 6. A typical two-stage microwave amplifier. The design is to be optimized to meet certain gain, bandwidth, and VSWR specifications. plot these curves required less than 35 statements, including labeling the axes (see Fig. 5). Fig. 5. 7/ie complete AC BASIC program to calculate and plot the curves of Fig. 4. Amplifier Optimization Example Fig. 6 shows a typical two-stage microwave amplifier. The design goal is to achieve a flat gain of 23±1 dB from 2.0 to 2.3 GHz, while simultaneously maintaining VSWRs better than 1.22 at the input and output ports. The initial circuit performance is shown in Fig. 7, along with the improved performance after about ten minutes of optimization. The rate of im provement suggests that the topology is not yet cor rect, so the circuit is quickly modified to that shown in Fig. 8, and the optimization is repeated. This time, after ten minutes of optimization the design goals are achieved as shown in Fig. 9. The analysis problem is to plot the resonant fre quency and Q of this circuit as the tuning resistor is varied from 1 to 1000 ohms. Most computer-aided design programs would require the user to input the resistor value, compute the frequency response of the network, and manually pick out the resonant fre quency, all this to get one point on the desired output plot. An AC BASIC program to perform this analysis contains two loops: an inner loop to search for the resonant frequency, and an outer loop to change the tuning resistor. Fig. 4 shows the results of this analysis. This plot was generated in approximately ten seconds. A complete AC BASIC program to calculate and Acknowledgments Special thanks go to Luiz Peregrino, who worked , 1 5 0 1 5 x=o Frequency (GHz) 2.3 r_ 4 max — ' rma. = 1 A= Initial B = After 10 minutes Fig. original circuit output displays of the performance of the original design of the circuit of Fig. 6 and the by after ten minutes of optimization . Design goals are shown by shaded areas . 30 © Copr. 1949-1998 Hewlett-Packard Co. HP 35868E at 10V, 5 Fig. 8. Rafe of improvement in Fig. 7 suggests that the cir cuit of Fig. 6 should be modified. The modified design is shown here. long and hard on several of the programs that pre ceded OPNODE. The design engineers who used the early versions of OPNODE are also due thanks for their patience. Diane Gonzalez-Donahue gave invalu able help in preparing the video tape, and Joe Wil liams contributed much to the structure and content of the user's manual. Ron Carelli contributed much guidance throughout the project. ff References 1. K.A. Fox, M.P. Pasturel, and P.S. Showman, "A Human William A. Rytand Bill Rytand is project engineer for digital test systems at HP's Automatic Measurement Division. With HP since 1965, he's served as project engineer for the 841 4A Polar Display, project manager for the 8407A Network Analyzer, and section manager for automatic network analyzers. He's a member of IEEE. He received his BSEE de gree from Massachusetts Institute of Technology in 1965 and his MSEE degree from Stanford Uni versity in 1967. Born in San Fran cisco, Bill now lives in Menlo Park, California. His favorite sports are handball and squash, but he also and racketball and tennis, learned to ski last winter, and owns his of a Santana 22 sailboat. Other major interests are his two daughters, a van that he's converting into a camper, and playing backgammon. Interface for Automatic Measurement Systems," HewlettPackard Journal, April 1972. 2. O.K. Rytting andS.N. Sanders, "A System for Automatic Network Analysis," Hewlett-Packard Journal, February 1970. 3. M. Cunningham and L. Wheelwright, "Introducing the Automatic Spectrum Analyzer," Hewlett-Packard Journal, February 1972. 4. G.E. Forsythe and C.B. Moler, "Computer Solution of Linear Algebraic Systems," Prentice-Hall, 1967, pp. 58-60. OPNODE CHARACTERISTICS COMPONENT LIBRARY H.L C Ivwth Q) S-parameler (of yl dala liles Hyònd pi model FET model Time delay Amplifiers win poles, zeros Operational amplifier Transformers (ideal) Independent sources IV & I, Dependen! sources lall lour— VDCS, CDCS. VDVS. CDVSI Noise sources and lossy! Sensitivity studies OUTPUTS (CRT graphics at d plotter i Log linear frequency plots 5-parameter plots S-parameter printout Node votiage plots Node voltages pnnioul MISCELLANEOUS CAPABILITIES C omple" arithmetic ANALYSIS CAPABILITIES Nodal description One or two pod analysis Optimization (adaptive search • : ita PERFORMANCE CHARACTE FREQUENCY RANGE dc t( CIRCUIT ANALYSIS Linear cir Is in the frequency domain up to 40 nodes and 200 components ANALYSIS SPEED 10 trequem s per second (per circuit sn« of 5 10 10 noaesj HARDWARE REQUIREMENTS: OPNODE runs or HP 8S42B Automatic NelAnalyzer wtth interactive work Analyzer or HP 8580B Automatic Spectr graphics and 32K-word memory oplions PRICE IN U.S.A.; OPNODE [HP 92817A) $4 000 Includes OPNOOE software on magnetic tape cassettes. OPNODE tri videotape. OPNODE User s Manual. OPNODE Quick Reterence Guide MANUFACTURING DIVISION; AUTOMATIC MEASUREMENT DIVISION 974 E Arques Avenue Sunnyvale. California 94086 USA , 1 5 0 X = 0 2 2 . Frequency (GHz) 1 5 X = 0 3 r_ -I max — i Fig. meets specifications. ten minutes of optimization, the circuit of Fig. 8 meets the specifications. Final component values can also be displayed. 31 © Copr. 1949-1998 Hewlett-Packard Co. Viewpoints John Moll on HP's Integrated Circuit Technology As integrated circuits are adapted to a rapidly growing range of applications, equipment manufactures need to be concerned with the technology involved in building the circuits they use. At HewlettPackard, silicon has become — and seems destined to remain — the basis for building 90 to 95% of the circuits used here. Thus, the major emphasis in our 1C labs is on circuit design and process technology. Within silicon circuit technology there exists a large number of possible approaches to any given electronic function. Possible choices include CMOS in bulk substrate, CMOS on sapphire, I2L (bipolar injection logic), n-channel MOS, p-channel MOS, CCD (charge-coupled devices) for certain signal and memory application, and ECL bipo logic) or EFL (emitter-follower logic) bipo lar circuits for speed. Within each technology there are further choices, such as silicon gate or metal gate in the MOS process, and junction isolation or oxide isolation in the bipolar circuits. Some technological limitations as well as the basic circuit requirements and performance goals help determine appropriate choices. Because of the wide range of products manufactured by HP, a performance goal may be very low power consumption at moderate frequencies or it may be highest possible frequency at whatever power it takes. Each of our will makes choices according to the kinds of products that will use their devices. A close link between the engineering lab and the 1C lab is proving to be sys successful mode of operation at Hewlett-Packard. The sys tems designers in the engineering lab supply the product goals and the circuit designs, and the 1C lab provides the new device and circuit technology. This has resulted in some significant devices. Some speculation on future directions may be of interest. We presently build digital circuits containing 20,000 to 30,000 active devices within a 5 x5-mm area with relative ease. We would like to put many more devices — perhaps a few hundred thousand — on a single chip because this would result in fewer packages for any given system, and fewer packages means higher reliability, as well as lower cost. The most serious limitations on extending size and complexity are the processes related to photolithography. The accurate reproduc tion of photomasks, the mechanical process of positioning succes sive etching the precision of optical lithography, and the etching process are all being tested throughout the industry at the present time. Advances in any one technology can bring some small benefits but significant benefits can come only from an across-the-board advance. Wet-acid etching, until now the favored etching technique, under cuts the masked area by 0.5 to 1 .5 /¿m. This has contributed towards restricting the minimum line dimension to 5 jam for the larger MOS circuits, though some bipolar circuits have emitters 2 or 3 /¿m wide and some discrete devices achieve 1-/u.m minimum dimensions using special tricks. Dry etching technologies that have minimal and well-controlled undercutting have been demonstrated. These involve plasma or sputter etching, or molecular-beam etching. Unfortunately the selective-etching capabilities of those technologies have not been well that A major advantage of wet-etching technology is that mixtures are available to etch silicon dioxide without etching elemental silicon, silicon nitride or aluminum, or to etch aluminum without etch ing silicon, silicon oxide or silicon nitride, and so on. Proper choices of materials and etching sequences allow patterns to be formed in any of these commonly-used conductors and dielectrics without disturb ing the other three. To take advantage of the dimensional-control potential of dry etching, gas mixtures that etch silicon oxide and aluminum selectively need to be found. Presently a carbontetrafluoride plasma, easily masked by the commonly used photo resists, etches silicon and silicon nitride much faster than either sili con dioxide or aluminum but it requires care because it may damage the underlying silicon. Although progress in dry etching is being made, there is still much to be done. Another discernible direction of change involves the use of elec tron beams (e-beams) for mask generation. A number of companies are beginning to use the "fine-cut" capabilities of e-beam lithography to-directly fabricate photo masks that are then used in optical lithog raphy. One source of error — i.e., the optical reduction of the masks — is eliminated but the mechanical and other processing tolerances associated with lithography remain. (continued on page 17) Bulk Rate U.S. Postage Paid Hewlett-Packard Company Hewlett-Packard Company, 1501 Page Mill Road, Palo Alto, California 94304 HEWLETT-PACKARDJOURNAL MARCH 1977 Volume 28 • Number 7 Technical information from the Laboratories of Hewlett-Packard Company Hewlett-Packard Central Mailing Department Van Heuven Goedhartlaan 121 Amste!veen-1 134 The Netherlands Yokogawa-Hewlett-Packard Ltd., Shibuya-Ku Tokyo 151 Japan Editorial Director • Howard L. Roberts Managing Editor • Richard P. Dolan Art Director, Photographer • Arvid A. Danielson Illustrator • Susan E. Wright Administrative Services, Typography • Anne S. LoPresti European Production Manager • Tina Eysten CHANG E OF ADDRESS To change peels address or delete your name from our mailing list please send us your old address label (it peels off). Send changes to Hewlett-Packard Journal, 1501 Page Mill Road, Palo Alto, California 94304 U.S.A. Allow 60 days. © Copr. 1949-1998 Hewlett-Packard Co.