PDP-10 Troubleshooting Guide

DEC's advice for troubleshooting a PDP-10 is to find out first whether a fault is in hardware or software, to reproduce it, and then to trace it step by step from the symptom back to the element whose inputs are correct but whose output is wrong. The tools are the MAINDEC diagnostics, the DDT debugger and margin testing.[1] The sections below cover the KA10 diagnostics and margins and the KS10 console and boot errors; KL10 fault finding is on DECsystem-10 Troubleshooting Guide.
KA10 diagnostics
[edit | edit source]DEC's KA10 test programs run in sequence: diagnostics A to H prove that every instruction executes with fixed operands, and the reliability tests I to P repeat instructions with pseudo-random operands. Each program uses only instructions proven by the ones before it, so run them in order; an error in a later program can be a fault in an instruction the program uses to simulate the result.[2]
| Test | Program | Checks |
|---|---|---|
| A | MAINDEC-10-D0AA | Basic instructions (MOVE and SKIP) |
| B | MAINDEC-10-D0BA | Basic instructions (MOVE, test, half-word) |
| C | MAINDEC-10-D0CA | Basic instructions (Boolean and PC-sensitive) |
| D | MAINDEC-10-D0DC | Priority interrupt system |
| E | MAINDEC-10-D0EB | Shift and rotate |
| F | MAINDEC-10-D0FB | Fixed-point multiply and divide |
| G | MAINDEC-10-D0GB | Floating-point and byte instructions |
| H | MAINDEC-10-D0HB | FMP, FDV, DFN |
| I to M | MAINDEC-10-D0IA to D0MD | Reliability tests for basic, memory, both-mode and PC-sensitive instructions |
| N | MAINDEC-10-D0ND | Reliability of fixed, floating and byte instructions |
| O | MAINDEC-10-D0OB | Block transfer (BLT) |
| P, Q | MAINDEC-10-D0PA, D0QA | KT10A protection and relocation |
| Z | MAINDEC-10-D0ZA | Processor timing (SPEEDY) |
| 2A, 2B | MAINDEC-10-D2AB, D2B80 | Console Teletype; paper-tape reader and punch |
[3] DEC notes that program numbers change as programs are revised.[3]
Reading the failures
[edit | edit source]- Diagnostics A to D halt at the end of the routine that failed. Use the program listing, which often names the circuit involved, then put the processor in a loop on the failing routine and look at the relevant signals with an oscilloscope, using the SING INST, SING CYCLE, ADR STOP and address-condition keys to catch the moment of failure.[2]
- Some routines in diagnostic D test user mode, where HALT is illegal; these hang in a
JUMPA .loop instead. The RUN light stays on, PROGRAM STOP stays off, the PC stops changing and MA shows the address of the loop. Replace the loop with a JRST back to the start of the routine to troubleshoot it.[2] - From diagnostic E onwards the console data switches select halt-on-error, proceed-on-error, printing and the bell. With neither halt nor proceed selected, the program loops on the failing routine for the oscilloscope; the printout appears only on the first pass.[2]
- Test N prints the expected register contents at each stage of the failing instruction. If the answer is right but the flags are wrong, look at the flag logic; if the answer is wrong, fix that first and the flags usually follow. Going back to the diagnostic for the failing instruction is a good first step.[4]
Margins
[edit | edit source]Running the tests under margin voltages turns intermittent and borderline faults into steady ones. Change margin switches only with the processor stopped, then restart at location 4000, because switching transients can alter registers or memory. If a program fails under margins in the memory control, instruction register or program counter logic, the stored program itself may have been altered: remove the margin and restart at 4000. If it then runs, the original error was real; if not, reload the program and resume margining from before the failure.[5] Limits are on PDP-10 Power System Service.
Readin faults
[edit | edit source]If READIN does nothing, first find out whether the processor can execute DATAI and BLKI: DEC gives a short hardware-readin simulator program to deposit at location 60 that reads the paper-tape reader. If it fails, the processor's I/O instructions are at fault; if it works, the fault is in the readin logic, which DEC isolates by single-cycling a readin with all ones deposited in location 0 and reading the IR and MI indicators.[6] Try another input device first, to rule out the device and its control.[6]
KS10 boot and console
[edit | edit source]The KS10 boots 30 seconds after power-up, or on the console BT command. The 8080 front end loads PRE-BOOT from disk or tape into location 1000 and starts it there; on an error it halts at one of these addresses:[7]
| Halt | Meaning |
|---|---|
| 1001 | Bad core-transfer address (page 1 is illegal; it cannot overlay PRE-BOOT) |
| 1002 | Disk retry error or magtape read error |
| 1003 | No RH11 base address |
| 1004 | Magtape skip failure |
[7] At the halt, locations 100 to 113 hold the 8080 disk address, the transfer address, the RH11 drive registers (RPCS1, RPCS2, RPDS, RPER1 to RPER3 for disk; MTCS1, MTCS2, MTDS, MTER1 for tape), the Unibus adapter page RAM and status register, and the PRE-BOOT version.[7] If booting from disk or tape fails, DEC's Unibus adapter check writes known patterns through the adapter to memory from the console.[8] The 8080 console's commands examine and deposit KS10 memory, I/O registers and microcode, start and stop the clock, and enable or disable parity checking and the cache.[9]
Power faults
[edit | edit source]A KA10 or KI10 that will not start, or stops, should be checked for mains on all three phases first.[10][11] On a KS10, check the backplane voltages at the reference pins before suspecting logic. See PDP-10 Power System Service.[8]
Related pages
[edit | edit source]- PDP-10
- PDP-10 General Maintenance
- PDP-10 Power System Service
- PDP-10 Documentation
- DECsystem-10 Troubleshooting Guide
References
[edit | edit source]- ↑ Digital Equipment Corporation, PDP-10 KA10 Central Processor Maintenance Manual, Volume I, DEC-10-HMAA-D, December 1968, section 6.1, p. 6-1 (File:PDP-10 KA10 Central Processor Maintenance Manual Volume I (DEC-10-HMAA-D).pdf).
- ↑ 2.0 2.1 2.2 2.3 DEC, DEC-10-HMAA-D, section 6.3, troubleshooting with the test programs, pp. 6-3 to 6-6.
- ↑ 3.0 3.1 DEC, DEC-10-HMAA-D, Table 6-2, processor diagnostic programs, p. 6-2.
- ↑ DEC, DEC-10-HMAA-D, section 6.3.7, troubleshooting with test program N, p. 6-7.
- ↑ DEC, DEC-10-HMAA-D, sections 6.4.1 to 6.4.3, pp. 6-8 to 6-11.
- ↑ 6.0 6.1 DEC, DEC-10-HMAA-D, section 6.5, troubleshooting readin, pp. 6-12 to 6-13.
- ↑ 7.0 7.1 7.2 Digital Equipment Corporation, KS10 Maintenance Guide, Volume I, EK-OKS10-MG-001, June 1979, system software section: standard boot procedure and PRE-BOOT error messages (File:KS10 Maintenance Guide Volume 1 (EK-OKS10-MG-001).pdf).
- ↑ 8.0 8.1 DEC, EK-OKS10-MG-001, checks/adjustments section: Unibus adapter mini check and backplane power adjustment.
- ↑ DEC, EK-OKS10-MG-001, KS10 console program, Table 2, console commands.
- ↑ Digital Equipment Corporation, PDP-10 Site Preparation Guide, DEC-10-HAAB-D, May 1970, electrical requirements (File:PDP-10 Site Preparation Guide (DEC-10-HAAB-D).pdf).
- ↑ Digital Equipment Corporation, DECsystem-10 Technical Summary, 1971, p. 49 (File:DECsystem-10 Technical Summary (1971).pdf).