User:RDBrown/HP3000-WCS-Microcode
In March 1982, Hewlett-Packard announced the HP 3000 Series 64, an ECL implementation with a WCS.[1]
September 1985 brought the announcement of the Series 37, a low-cost gate array implementation which eschewed the usual separate control processor for booting and
used an initial bootstrap from the 32-bit wide ROMs to load the 64-bit wide boot microcode into the WCS.[2]
It's unlikely that the MPE based HP 3000 Series 64 microcode development system (MDS) software has survived, but an HP internal 543 page assembly listing exists.[3] The Series 37 Design Capture and Documentation (DCDF) tool for capturing designs for simulation in FTL (IBM 370) on an Amdahl V6 is also unlikely to have survived. Unlike the Series 64 listing, only a single line example is shown in the HP Journal for the Series 37 microcode.
The WCS data needs to be recorded on the backup tapes. The System Tables manual describes the Sysdump (Backup) format describes the tape format and the WCS data can be included as part of the first file on the tape, but I haven't seen that in the tape images I've seen. The second file is a concatenation of a list of essential system files and does include the WCS files. The files seem to be dumped as they would be in the Store part of the backup, including the 256 byte (MPE sector) file label. So SYSWCS64.PUB.SYS for Series 64, 68 and 70; SYSWCS37.PUB.SYS for the Series 37 and direct successors. WCSLE1 and WCSLE2 for the Series 37 successors. The files are single extent with 128W FB (256 bytes) records, and a zero file code. The first 256 byte record contains the version and probably a checksum. Assuming the data is 64-bit horizontal microcode the maximum is 10240 entries.
Filename | Date | Version | Data size | MD5 | Source tape |
---|---|---|---|---|---|
SYSWCS64 | 1983-074 | PR0903A | 57856 | 9bbe23656aa61fb23351b8b8a9951742 | 32099-11009_MPE_IV_2244 |
SYSWCS64 | 1983-136 | PR2312A | 57856 | 69d809609e4ff5964a72c998058945d0 | 32033-11003_MPE_IV |
SYSWCS64 | 1984-004 | PR2318A | 57856 | ab9b59cd724659f6763daf37abbc80e4 | 32098-11003_2338 |
SYSWCS64 | 1984-264 | pr2419a | 58368 | b55a5d00b7f5b3066826a0386903bfa8 | 32033-11010_vp-d-1_fos |
SYSWCS64 | 1987-016 | 2833A | 66560 | 953471cffece4e3fb2cb67c7007f84e9 | v-delta-8_fos_2944 |
SYSWCS64 | 1987-016 | cxa638a | 66304 | 9bf49dca2afc4cea98151cb27d22c6b0 | ub-delta-1_fos_2642 |
SYSWCS64 | 1988-159 | 2805A | 66304 | 5e15376760a122f15099c617ac853440 | v-delta-2_fos_2814
v-delta-3_fos |
SYSWCS64 | 1989-145 | 2833A | 66304 | 5c7d16e391abe087211b3a9fbc9dc4e0 | v-delta-5_fos_2902 |
SYSWCS64 | 1990-113 | 2833A | 66560 | df0079446c945ecf91d04097dcc49639 | v-delta-9_fos_32033-10024_3010 |
SYSWCS64 | 1990-250 | 2833A | 66560 | 9ac00f6cf121f0db1d2f1301b38b0140 | 32033-10082_platform_1p_fos_34
er_3035 |
SYSWCS64 | 1992-225 | wcx3033a | 66560 | d7864c56fc5af05820d62a9730d8feb1 | 32033-10430_MPE_V_Rel_2P_3237 |
SYSWCS37 | 1987-016 | M06.08 | 82176 | bb8f5773e6efa320ae22a5419383e70e | ub-delta-1_fos_2642 |
SYSWCS37 | 1988-159 | M06.10 | 82176 | ea7233c3fe085916b53532fba53c4c88 | v-delta-2_fos_2814
v-delta-3_fos v-delta-5_fos_2902 |
SYSWCS37 | 1989-353 | M06.15 | 82176 | d140c56d5b26dcc2dac918e12f752ac6 | 32033-10430_MPE_V_Rel_2P_3237
v-delta-8_fos_2944 v-delta-9_fos_32033-10024_3010 32033-10082_platform_1p_fos_34er_3035 |
WCSLE1 | 1987-016 | M30.14 | 82176 | 50e37d18f35728c767995fbe8759e70c | ub-delta-1_fos_2642 |
WCSLE1 | 1988-159 | M30.17 | 82176 | 1497c8771666a19d9a3353fd9d92549b | v-delta-2_fos_2814
v-delta-3_fos v-delta-5_fos_2902 |
WCSLE1 | 1989-353 | M30.20 | 82176 | 543bb46a70e61807ba31c02b1b9f6ffc | 32033-10430_MPE_V_Rel_2P_3237
v-delta-8_fos_2944 v-delta-9_fos_32033-10024_3010 32033-10082_platform_1p_fos_34er_3035 |
WCSLE2 | 1987-016 | M50.28 | 82176 | 7d809ae17e1e3776be982edfb0105ee1 | ub-delta-1_fos_2642 |
WCSLE2 | 1988-159 | M50.30 | 82176 | 3e74d482ca1f5f34dc75f1933c0e715f | v-delta-2_fos_2814
v-delta-3_fos v-delta-5_fos_2902 |
WCSLE2 | 1989-353 | M50.34 | 82176 | 78fb826dd55624a91a0d7609103994b4 | 32033-10430_MPE_V_Rel_2P_3237
v-delta-8_fos_2944 v-delta-9_fos_32033-10024_3010 32033-10082_platform_1p_fos_34 |
Between the first dated and last dated versions, excluding the first 256 bytes containing the version and checksums SYSWCS37 47 64-bit wds, WCSLE1 44, WCSLE2 49. Between the first and last WCSLE1 and WCSLE2 versions 186, less than the 600 between the first 2 SYSWCS64 version. Assuming that 0xa5a5a5a5a5a5a5a5 is a NOP, the first SYSWCS37 has 8867 64-bit words and WCSLE1, 9019. When including offsets the SYSWCS37 and WCSLE1 differ by 6330, but excluding offsets only by 462. This suggests that SYSWCS37 and WCSLE1 & WCSLE2 share the same 64-bit microcode, but perhaps the code was restructured over and above any necessary changes for the new machines between SYSWCS37 and WCSLE1.
Series 37
[edit]La Fetra, Jr., F.E (September 1985). "Using a Translator for Creating Readable Microcode". HP Journal. 36 (9): 10.
LABEL... A.. B.. C.. ADD IN I.. R-FCN-XCNTR-SEC X.. SPEC JTD JFD CONSTANT 0000: 1207 0555 1880 FFFF LOOP R1 R2 R0 R9 -1 R0 SZL Z5 S5 R1 JL=0 R8 R15 LOOP Define Counter = R0, Left = R1, Right = R2; Loop: Dec(counter) -> counter/ *Decrement Add(R10,R11) -> ADR/ *Computer address w/ADD ExtractR(Left||RIght(10..20)) -> Left/ *use extractor If Logic=0 then ReturnSub1 else Loop; *IF.. THEN.. ELSE Undefine counter,left,right
La Fetra, Jr., F.E; Shaker, Chris (September 1985). "Booting 64-Bit WCS Words from a 32-Bit Wide ROM Word". HP Journal. 36 (9): 12.
ABUS 2 of 4 bits used BBUS 4 of 4 bits used CBUS 1 of 4 bits used ASTOR 0 of 2 bits used INC/DEC 0 of 2 bits used ISTOR 2 of 4 bits used Indirect 0 of 1 bits used X-Control 12 of 12 bits used XSTOR 3 of 4 bits used Parity 1 of 1 bits used Special 1 of 6 bits used Jump 4 of 4 bits used Constant 0 of 16 bits used ——————————————————— 30 of 64 bits used
Parrish, W.M.; Decker, E.B.; Wong, E.G. (September 1985). "Creative ways to obtain Computer System Debug Tools". HP Journal. 36 (9): 18. Fig. 2 Maintenance panel firmware display
{{cite journal}}
: CS1 maint: multiple names: authors list (link)
TEMP R0: 061E SJ1 R8: 5DF1 F0: 1 >0: 1 M: 1 BNKP: 0000 ICS: AAE0 P R1: 0002 ADR R9: 020A F1: 1 BT: 0 I: 1 BNKD: 0000 DSP: 55E1 SM R2: 0202 ADN R10: 0663 F2: 1 DV: 0 T: 1 BNKS: 0000 LP : AAE2 Q R3: 0052 AUG R11: 0002 CI: 0 L0: 1 R: 1 BNKA: 0000 CPP: 55E2 DB R4: 0202 STA R12: FFFF CO: 0 FC: 1 O: 1 LAST: A DL: FFFF IR R5: 0002 FLG R13: E098 OV: 0 I0: 0 C: 1 Z: 5555 XCN R6: 0000 MPC R14: 5DFA <0: 0 CT: 0 CC: 3 OPA: 0160 PB: 30F8 SJ2 R7: 5F79 CON R15: 0000 =0: 0 SB: 0 SG: FF OPB: 0000 PL: 0000 X: 55EB TOSA: 0000 SR: 0 INV: 8090 TOSB: 555A NMR:0 WCS BKPT TOSC: 0000 BDS:0 8001P FFFF MWA: 5DF9 TOSD: 0000 53AEP FFFF MWR: FF03 00FF 6098 FFFF FFFF FFFF A.. B.. C.. ADD IN I.. R-FCN-XCNTR-SEC X.. SPEC JTD JFD CON FFFF FFFF R15 R15 R0 -1 R0 RRF $FF R6 JBT R7 R14 $0000 FFFF FFFF STATE: U_HLT 11:14:14 U (MICRO) BREAKPOINT (SET) <WCS ADDR> [,<DEC COUNT>] [;T] 4366
Counts 64-bit Microinstruction # ub-delta-1_fos_2642 SYSWCS37 1374 a5a5a5a5a5a5a5a5 51 fff0f000f005b86b 47 fff0f0ffa800ffff 22 fff8f000f000ffff 22 ff131000f005b86b 20 bf21a420b000ffbf 19 fff0f0ff0800ffff 16 5ff0f7a07c6a793f 15 fd139400d6002fe7 ... # ub-delta-1_fos_2642 WCSLE1 1222 a5a5a5a5a5a5a5a5 51 fff0f000f005b85b 47 fff0f0ffa800ffff 22 fff8f000f000ffff 22 ff131000f005b85b 20 bf21a420b000ffbf 19 fff0f0ff0800ffff 16 fff0f000f800ffff 16 5ff0f7a07c6a793f 15 fd139400d6002fe7 ... # ub-delta-1_fos_2642 WCSLE2 1229 a5a5a5a5a5a5a5a5 51 fff0f000f005b85b 47 fff0f0ffa800ffff 23 fff0f000f800ffff 22 fff8f000f000ffff 22 ff131000f005b85b 20 bf21a420b000ffbf 17 fff0f0ff0800ffff 16 5ff0f7a07c6a793f 15 fd139400d6002fe7
"7. How the Series 37 SPU Works". Series 37 System Processing Unit: Self-Paced Hardware Training Guide (PDF). HP 3000 Computer Systems. Hewlett-Packard. June 1984. pp. 7-1–7-8 (78–83). 32450+49A-90001.
Engineers mentioned: Frederic C. Amerson —; Patria G. Alvarez; John R. Obermeyer; Frank E La Fetra, Jr. (Skip); Paul L. Rogers; James H. Holl; Malcolm E. Woodward; Edwin G. Wong — diagnostic microcode S37; William M. Parrish; Eric B. Decker — microcode for 37, 64, 68; Paul Smythe; Greg Gilliom; Brian Feldman; Norm Galassi; Frank Hublou; Daryl Allred; Barry Shackleford;
Series 64
[edit]PAGE 1 HP 3000 Series 64/68/70 Microcode 10/ 2/86 9:26 AM RECORD C.S. *********** ALU A *********** ************* ALU B ******************* NO ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPSK SPEC SKIP COMMENT ddddd XXXX **************************************************************************
Murillo, Richard D. (March 1982). "Dual ALU Micromachine has powerful development tools". HP Journal. 33 (3): 5–6. Fig. 1. Development sequence using MDS, the HP 3000 Series 64 microcode development system.
RA 0000 SR 7 SPOA 0000 BKX3 0000 DL 03F0 PB 0000 1000 NIR 0200 RB 0000 ESR 7 SP1B 0000 BKX4 0000 DB 0000 0400 P 10CD CIR 0200 RC 0000 NM 0 SP2B 0000 BKX5 0000 0 D400 PL 2CBB DSPL 00 RD 0000 ENM 0 SP3B 0D40 BKX6 0000 SM D400 X 0000 RE 0001 RAC 0 SP4B 0000 BKX7 0000 Z 0000 0E00 STA MITROCE 03 RF 0000 RG FFFF CTR 00 CTRX 00 FLAGS 12345 CAR 0000 10CD YRA 10CC OPA 01C0 RH 0000 PDB 10CD YRB 10CD OPB 0200 RAR 0703 RREG SREG FUNC SHFT STOR SPSK RREG SREG FUNC SHFT STOR SPEC SKIP R3ADR 0008 XC DB JSZ 0012 TEST P INC P RONP R2ADR 0694 RD RB SUB NOFL RC RA LINK SP1B EPP4 R1ADR 0695 ADD UNC UBA ADD CCA VBUS 0696 RREG SREG UBR O C N RREG SREG UBB C N 0000 0000 0000 0 1 0 0000 0000 0000 1 0
0006 38e57110ccf3e40c # $LUT INSTR=NOP 0 000 000 000 xxx xxx ENTRY=NOP, DSPL=6 Counts 64-bit Microinstruction # 32099-11009_MPE_IV_1of2_2244 (Count of uniq instr values) 46 38e57110ccf3e40c 32 0001000200030004 Filler? 19 5ca5611ebcf3ad24 16 03841e7003841e70 16 03840e6003840e60 16 037e0f70037e0f70 15 5ce571100cf3e40d 15 0000011800000118 14 4ca5631e9ef3f406 14 28e571100cf3e40d 12 38e57104ccf3cc12 12 38e57010ccf3e40d 11 5525611e0cf3dd15 11 38e57105ccf3e4f4 10 38e83110ccf3e40c
"3. CPU and Cache Memory". Series 64 Reference/Training Manual (PDF). HP 3000 Computer Systems. Hewlett-Packard. April 1983. pp. 3-01–3-45. 30140-90005.
- "3-13 LUT store and parity checker" (Document). p. 3-10.
{{cite document}}
: Cite document requires|publisher=
(help) - "3-31 Microsquencer Control" (Document). p. 3-13.
{{cite document}}
: Cite document requires|publisher=
(help) - "3-31 Jump and Skip Conditions" (Document). p. 3-13.
{{cite document}}
: Cite document requires|publisher=
(help) - "3-33 Jumps to Subroutines" (Document). p. 3-14.
{{cite document}}
: Cite document requires|publisher=
(help) - "3-34 Returns to Subroutines" (Document). p. 3-14.
{{cite document}}
: Cite document requires|publisher=
(help)
References
[edit]- ^ "HP 3000 Series 64" (PDF). HP Journal. 33 (3). March 1982.
- ^ "HP 3000 Series 37" (PDF). HP Journal. 36 (9). September 1985.
- ^ HP 3000 Series 64/68/70 Computer Systems Microcode Manual (PDF) (2nd ed.). Hewlett-Packard. October 1986. 30140-90045.
External Links
[edit]- "3000 Computer Systems". HP Computer Museum.
- "3000 Series 64". 1981.
- "3000 Series 37". 1984.
- "3000 Micro CX". 1986.
- "3000 Micro XE". 1986.
- "3000 Micro LX/GX/RX". 1988.
- HP Manuals on Bitsavers
- HP 3000 Series 64/68/70 Computer Systems Microcode Manual (PDF) (2nd ed.). Hewlett-Packard. October 1986. 30140-90045.
- MPE IV System Tables Reference Manual (PDF) (2nd Updated ed.). Hewlett-Packard. October 1981. 32002-90003.
- System Tables Reference Manual (PDF) (3rd ed.). Hewlett-Packard. November 1982. 32002-90003.
- MPE V Tables Manual for MPE V/E, Version G.00.00 (PDF). Hewlett-Packard. September 1983. 32002-90003.
- MPE V Tables Manual for MPE V/E, Version G.01.00 (PDF). Hewlett-Packard. January 1985. 32033-90040.
- MPE V Tables Manual MPE V/E (VUF G.08.00) MPE V Release 23 (PDF) (5th ed.). Hewlett-Packard. October 1991. 32033-91047.