Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dfkda.txt
There are no other files named dfkda.txt in the archive.
;DFKDA
IDENTIFICATION
--------------
PRODUCT CODE: AH-F533E-DD
DIAGNOSTIC CODE: DFKDA
PRODUCT NAME: DFKDAE0 KL10 ARITHMETIC/RANDOM/INTERRUPT
/MEMORY RELIABILITY TEST
VERSION: 0.5
DATE RELEASED: SEPT 1984
MAINTAINED BY: 36 BIT DIAGNOSTIC ENGINEERING
AUTHOR: BILL SCORZELLI
COPYRIGHT (C) 1976, 1984
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
SOFTWARE SHALL AT ALL TIMES REMAIN IN DIGITAL EQUIPMENT
CORPORATION.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
MAINDEC-10-DFKDA.TXT
PAGE 2
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
2.0 REQUIREMENTS
2.1 EQUIPMENT
2.2 STORAGE
2.3 PRELIMINARY PROGRAMS
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
3.2 STARTING PROCEDURE
3.3 OPERATING PROCEDURE
4.0 DATA SWITCH FUNCTIONS
5.0 ERRORS
6.0 PROGRAM DESCRIPTION
7.0 ITERATION COUNTER
8.0 CYCLE TIME
9.0 OPERATIONAL VARIATIONS
10.0 MISCELLANEOUS
11.0 SIMULATOR
12.0 HISTORY
13.0 LISTING
MAINDEC-10-DFKDA.TXT
PAGE 3
1.0 ABSTRACT
--------
THIS PDP-10 KL10 ARITHMETIC/RANDOM/INTERRUPT/MEMORY
RELIABILITY TEST IS A COMPREHENSIVE RELIABILITY TEST
OF THE COMPLETE PROCESSOR-MEMORY SUBSYSTEM. THE PROGRAM
INCLUDES ARITHMETIC INSTRUCTION TESTING WITH RANDOM OPERANDS,
RANDOM INSTRUCTION TESTING, INTERRUPT TESTING AND
MEMORY RELIABILITY TESTING.
THE ARITHMETIC TESING IS DONE USING PSEUDO-RANDOM NUMBERS
AND COMPARING THE MACHINE RESULTS WITH EACH OTHER AND WITH
A HARDWARE OPERATION SIMULATION PROGRAM.
THE RANDOM INSTRUCTION TESTING PROGRAM IS DESIGNED TO
EXECUTE RANDOM INSTRUCTIONS (NON-PC CHANGE) IN CORE,
IN THE FAST AC'S, AND THRU SOFTWARE SIMULATION.
THE RESULTS OF THE THREE GROUPS OF INST ARE COMPARED FOR
EQUALITY. UPON A DISCREPENCY THE PROGRAM PRINTS ALL
PERTINENT INFORMATION AND GOES INTO A REPETITIVE FAILURE LOOP.
THE INTERRUPT PORTION OF THE DIAGNOSTIC TESTS THE PRIORITY
INTERRUPT SYSTEM, THE PROCESSOR APR SYSTEM AND THE
INTERRUPTABILITY OF MOST CLASSES OF INSTRUCTIONS.
IT ALSO TESTS PARITY ERROR INTERRUPTS, NON-EX-MEMORY INTERRUPTS,
ADDRESS BREAKS AND BLT INSTRUCTION INTERRUPTABILITY.
THE DK20 METER IS USED TO CAUSE CLOCK INTERRUPTS.
THE MEMORY RELIABILITY PORTION OF THE TEST IS USED TO VERIFY
THE OPERATIONS OF THE MEMORY SUBSYSTEM. ALL OF MEMORY, UP TO
4096K, IS USED IF AVAILABLE. A PHYSICAL MEMORY ADDRESS
TEST AND A RANDOMLY SELECTED DATA PATTERNS TEST ARE PERFORMED.
MEMORY ADDRESSING IS VERIFIED BY USING A FAST-RATE ADDRESSING
SCHEME WHEREBY THE SELECTED ADDRESS BIT WILL CHANGE ON EVERY
MEMORY ACCESS. THE FAST RATE TESTING IS RANDOMLY SELECTED AND
DEPENDING ON THE SELECTION WILL HAVE ALL ADDRESS BITS FAST-RATED
OR ANY ONE ADDRESS BIT OR NO FAST-RATE TESTING PERFORMED.
MAINDEC-10-DFKDA.TXT
PAGE 4
2.0 REQUIREMENTS
------------
2.1 EQUIPMENT
---------
A PDP-10 KL10 EQUIPPED WITH A MINIMUM OF 32K OF CORE MEMORY.
CONSOLE PROCESSOR
CONSOLE TELETYPE
LINE PRINTER (OPTIONAL)
DECTAPE FOR PROGRAM STORAGE (OPTIONAL)
2.2 STORAGE
-------
PROGRAM BEGINS AT 30000(8) AND USES ALL OF AVAILABLE MEMORY.
2.3 PRELIMINARY PROGRAMS
--------------------
BASIC INSTRUCTION DIAGNOSTICS.
BASIC INSTRUCTION RELIABILITY TESTS.
ADVANCED INSTRUCTION DIAGNOSTICS.
3.0 PROGRAM PROCEDURES
------------------
3.1 LOADING PROCEDURE
-----------------
DECTAPE - LOAD WITH DIAMON (DECTAPE DEVICE CODE 320)
TIMESHARING - LOAD WITH DIAMON.
MAINDEC-10-DFKDA.TXT
PAGE 5
3.2 STARTING PROCEDURE
------------------
THE "OPRSEL" SWITCH MUST BE SET TO ALLOW THE OPERATOR TO
BE PROMPTED AND SPECIFY WHAT TEST CONTROL SWITCHES TO
BE USED ON PROGRAM STARTUP.
A. SELECT OPERATIONAL CONSOLE DATA SWITCH SETTINGS (REFER TO
4.0 DATA SWITCH FUNCTIONS).
B. EXEC MODE -
STAND-ALONE STARTING ADDRESS IS 30000.
SPECIAL FEATURE START (CLEAR ALL TOTALS) IS 30004.
RESTART ADDRESS, AFTER POWER DOWN, IS 30005.
C. TIME-SHARING MODE -
LOAD AND RUN VIA DIAMON, THE PROGRAM WILL RUN 2 PASSES
AND THEN RETURN TO DIAMON. TO THEN CONTINUALLY RUN
TYPE "G" TO DIAMON.
IN USER MODE THE FOLLOWING QUESTIONS WILL BE ASKED TO
SELECT THE OPERATIONAL SWITCHES:
TELETYPE SWITCH CONTROL: ? 0,S,Y OR N -
IF THE OPERATOR TYPE "N", THE ACTUAL CONSOLE SWITCHES ARE USED.
IF THE OPERATOR TYPES "Y", THE FOLLOWING QUESTIONS ARE ASKED
TO SPECIFY THE SWITCH SETTINGS:
SPECIFY LH SWITCHES IN OCTAL -
SPECIFY RH SWITCHES IN OCTAL -
IF THE OPERATOR TYPES "0", ZERO'S ARE USED FOR THE SWITCH SETTINGS.
IF THE OPERATOR TYPES "S", PREVIOUSLY SET SWITCHES ARE USED.
THIS IS ONLY VALID UPON RESTARTING OF AN INTERRUPTED
PROGRAM.
D. IF IT IS DESIRED TO SPECIFY THE INITIAL BASE RANDOM NUMBER
SET SWITCH 'RANBAS' (BEFORE STARTING) AND RESPOND TO THE FOLLOWING
TYPE-OUT ACCORDINGLY.
SPECIFY RANDOM NUMBER BASE -
MAINDEC-10-DFKDA.TXT
PAGE 6
3.3 OPERATING PROCEDURE
-------------------
A. TO THROUGHLY TEST ALL HARDWARE ALL TEST CONTROL DATA
SWITCHES SHOULD BE SET TO 0.
B. WHEN DEBUGGING HARDWARE, SET SWITCHES TO 0. ALLOW THE
TELETYPE TO PRINT THE ERROR MESSAGES. THIS ALLOWS THE
PROGRAM TO RUN A COMPLETE PASS AND THEN THE ERROR MESSAGES
MAY BE CORRELATED TO QUICKLY DIAGNOSE THE FAILURE. IF A
HARDWARE PROBLEM IS SUCH THAT THE ERROR MESSAGES, AFTER
THE FIRST ONE, HAVE NO MEANING SET THE LOOP ON ERROR
SWITCH AND RESTART THE PROGRAM. THE FIRST FAILURE WILL
THEN CAUSE THE PROGRAM TO ENTER A LOOP SUITABLE FOR SCOPING.
C. WHEN TAKING MARGINS, SET DATA SWITCHES 'NOPNT' AND 'DING'.
THIS WILL INHIBIT PRINTOUT BUT WILL ALLOW THE TELETYPE BELL
TO BE RUNG WHEN AN ERROR OCCURS. IF THE MARGIN OBTAINED IS
UNACCETABLE, THE OPERATOR MAY REVERT TO STANDARD SWITCH
SETTINGS. TO INCREASE THE DUTY, FACTOR AND DECREASE THE
PROBABILITY OF SIMULATOR FAILURES, SWITCH 'FAST' MAY BE USED.
THIS, HOWEVER, IS NOT A COMPLETE TEST OF THE HARDWARE
AND SHOULD BE USED WITH CAUTION.
D. ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING
ERRORS ON THE LINE PRINTER.
E. THE PROGRAM SHOULD RUN SEVERAL HOURS TO ALLOW ENOUGH
RANDOM NUMBERS TO BE PROCESSED TO VERIFY SYSTEM
RELIABILITY.
MAINDEC-10-DFKDA.TXT
PAGE 7
4.0 DATA SWITCH FUNCTIONS
----------------------
SWITCH STATE FUNCTION
------ ----- --------
0 ABORT 0 NORMAL OPERATION
1 ABORT AT END OF PASS
1 RSTART NOT USED
2 TOTALS 0 NORMAL
1 PRINT OPERATION TOTALS
3 NOPNT 0 NORMAL TYPEOUT
1 INHIBIT ALL PRINT/TYPEOUT
(EXCEPT FORCED)
4 PNTLPT 0 NORMAL OUTPUT TO TTY
1 PRINT ALL DATA ON LPT
(LOGICAL DEVICE, USER MODE)
5 DING 0 NO FUNCTION
1 RING TTY BELL ON ERROR
6 LOOPER 0 PROCEED TO NEXT TEST
1 ENTER SCOPE LOOP ON TEST ERROR
7 ERSTOP 0 NO FUNCTION
1 HALT ON TEST ERROR
8 PALERS 0 PRINT ONLY FIRST ERROR WHEN LOOPING
1 PRINT ALL ERRORS, EVEN IF SAME ERROR
9 RELIAB 0 QUICK VERIFY MODE
1 RELIABILITY MODE
10 TXTINH 0 PRINT FULL ERROR MESSAGES.
1 INHIBIT COMMENT PORTION OF
ERROR MESSAGES.
11 INHPAG HAS NO EFFECT, MUST RUN PAGED
12 MODDVC NOT USED
13 INHCSH 0 ALLOW CACHE USE
1 INHIBIT CACHE USE
14 OPRSEL 0 RUN DEFAULT
1 PROMPT OPERATOR FOR TEST SELECTION
MAINDEC-10-DFKDA.TXT
PAGE 8
4.0 DATA SWITCH FUNCTIONS (CON'T)
-----------------------------
RIGHT HALF SWITCHES
-------------------
SWITCH STATE FUNCTION
------ ----- --------
18 (400000) ENTDDT 1 ENTER DDT UPON STARTING PROGRAM
19 (200000) INHCLK 1 INHIBIT CLOCKK INTERRUPTS
20 (100000) INHMEM 1 INHIBIT MEMORY TESTING
21 (040000) INHADB 1 INHIBIT ADDRESS BREAK TESTING
22 (020000) INHII 1 INHIBIT INSTRUCTION INTERRUPT TESTING
23 (010000) INHMI 1 INHIBIT METER INTERRUPT TESTING
24 (004000) INHBLT 1 INHIBIT BLT INTERRUPT TESTING
25 (002000) INHPAR 1 INHIBIT PARITY INTERRUPT TESTING
26 (001000) INHNXM 1 INHIBIT NXM INTERRUPT TESTING
27 (000400) INHNEW 1 INHIBIT DOUBLE PRECISION INSTRUCTIONS
28 (000200) INHDFP 1 INHIBIT DOUBLE FLOATING POINT TEST
29 (000100) INHFP 1 INHIBIT FLOATING POINT TEST
30 (000040) INHBYT 1 INHIBIT BYTE TEST
31 (000020) INHFXD 1 INHIBIT FIXED POINT TEST
32 (000010) INHRAN 1 INHIBIT RANDOM INSTRUCTIONS
33 (000004) SNGFL 1 RUN SINGLE FAST LOOP
34 (000002) SLOW 1 RUN JUST SIMULATION COMPARISIONS
35 (000001) FAST 1 RUN JUST INSTRUCTION COMPARISIONS
MAINDEC-10-DFKDA.TXT
PAGE 9
5.0 ERRORS
------
A. INSTRUCTION ERROR
-----------------
IF AN INSRUCTION FAILS TO GIVE THE CORRECT RESULTS, THE
TEST TITLE, PASS COUNT, TYPE OF FAILURE (INSTRUCTION
COMPARISION OR SIMULATION COMPARISION), MACHINE RESULTS,
SIMULATION RESULTS AND INSTRUCTION SIMULATION ARE
PRINTED.
B. SIMULATOR PRINTOUT
------------------
WHEN AN ERROR OCCURS THE SIMULATED MACHINE STATES AND
REGISTERS ARE PRINTED SO THAT BY USE OF HARDWARE MAINTENANCE
SWITCHES, I.E., SINGLE PULSE, CONSOLE LIGHTS
MAY BE COMPARED TO THE PRINTOUT TO DETERMINE THE EVENT
TIME OF THE FAILURE.
THE PRINTOUT CONTAINS THE RESULTS OF THE INSTRUCTION
UNDER TEST. THIS IS AC, AC+1, E, OR C(E) FOR FIXED AND
FLOATING - POINT INSTRUCTIONS; AC, POINTER, C(E) FOR BYTE
INSTRUCTIONS. THE FOLLOWING TWO LINES INDICATE THE
INSTRUCTION THAT FAILED, INITIAL VALUES, AND SIMULATED
RESULTS. THIS IS FOLLOWED BY THE MACHINE TIMES AND
CORRECT CONTENTS OF THE SEVERAL REGISTERS, AFTER THE
OCCURANCE OF THE TIME PULSE.
C. SCOPE LOOP
----------
WHEN PRINTING IS COMPLETE, IF THE 'LOOPER' SWITCH
IS SET,THE ROUTINE WILL ENTER A LOOP SUITABLE
FOR SCOPING. AT THIS TIME THE MI REGISTER WILL
DISPLAY THE RESULTS OF THE FAILING OPERAND, OR THE
FLAGS RESISTER WITH MACHINE RESULTS IN C(LEFT)
AND SIMULATED RESULTS IN C(RIGHT). IF THE FAILURE IS NOT
FLAGS, THE MI WILL CONTAIN THE FIRST OPERAND THAT
FAILED IN THE ORDER OF AC, AC+1, AND C(E).
D. TO SCOPE
--------
1. TO BE DETERMINED.
MAINDEC-10-DFKDA.TXT
PAGE 10
5.0 ERRORS (CON'T)
---------------
E. OPERAND STORAGE
---------------
IF SOMETHING HAPPENS TO THE PRINTOUT OR YOU ARE NOT SURE
WHAT THE ORIGINAL AND FINAL OPERANDS ARE:
1. AC'S ARE SAVED IN LOCATIONS SAVAC THROUGH SAVAC+17.
2. ORIGINAL OPERANDS ARE IN SAVAC+1, 2 AND 3.
3. RESULTS ARE IN AC1, AC2 AND AC3.
4. C(AC1)=C(AC), C(AC2)=C(AC+1), C(AC3)=C(E) OR E.
LOOK IN SYMBOL TABLE AT END OF LISTING FOR LOCATION OF SAVAC.
F. PROGRAM ERRORS
---------------
PROGRAM ERRORS SUCH AS: ILLEGAL UUO'S, PARITY ERRORS,
NON-EX-MEMORY, ILLEGAL INTERRUPTS, ETC., ARE HANDLED
BY PRINTOUT OF THE TYPE OF ERROR WITH AS MUCH INFORMATION
AS IS PERTINENT.
MAINDEC-10-DFKDA.TXT
PAGE 11
6.0 PROGRAM DESCRIPTION
-------------------
A. INSTRUCTION COMPARISION
-----------------------
IN THIS SECTION INSTRUCTIONS ARE TESTED BY PERFORMING A DIVIDE
THEN A MULTIPLY AND THEN ADD BACK IN THE DIVISION REMAINDER.
THE ORIGINAL OPERANDS SHOULD BE THE SAME AS THE FINAL RESULTS.
B. SIMULATION COMPARISION
----------------------
IN THIS SECTION INSTRUCTIONS ARE EXECUTED AND THEN SIMULATED
AND THE RESULTS COMPARED. ACTUAL EXECUTION OF THE INSTRUCTION
SHOULD GIVE THE SAME RESULTS AS SIMULATION OF THE INSTRUCTION.
SIMULATION IS DONE BY USING SOFTWARE ROUTINES AND PSEUDO
HARDWARE REGISTERS TO FOLLOW THE HARDWARE INSTRUCTION FLOWS.
7.0 ITERATION COUNTER
-----------------
THE ITERATION COUNT OF THE PROGRAM IS DISPLAYED IN THE
MEMORY INDICATORS (MI). THIS COUNT IS A DECREMENTING COUNT
AND INITIALLY STARTS AT -1 IN STAND-ALONE OPERATION.
8.0 CYCLE TIME
----------
THIS PROGRAM IS A RELIABILITY TEST USING RANDOM NUMBERS
AND AS SUCH SHOULD BE RUN FOR SEVERAL HOURS TO INSURE
THAT ENOUGH NUMBERS ARE PROCESSED TO VERIFY SYSTEM
RELIABILITY.
MAINDEC-10-DFKDA.TXT
PAGE 12
9.0 OPERATIONAL VARIATIONS
----------------------
A. DIAGNOSTIC MONITOR
THIS PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PROVIDE
RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PROVIDE A
QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR AREA
OF THE PROCESSOR. CERTAIN PROCEDURES ARE USED WHEN THE
PROGRAM IS USED IN THIS MANNER. THEY ARE:
1. THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PROGRAM
AND STARTS IT AT LOCATION 30002.
2. MONCTL - USED AS THE DIAGNOSTIC MONITOR CONTROL WORD.
LH = 0, STAND-ALONE OPERATION
-PASS COUNT, RUNNING UNDER DIAGNOSTIC MONITOR
RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
DIAGNOSTIC MONITOR CONTROL.
3. MONFLG - USED AS THE DIAGNOSTIC MONITOR SPECIAL USER MODE FLAG.
-1 = NORMAL USER OPERATION.
0 = SPECIAL USER MODE OPERATION. I/O TREATED AS EXEC
AND PROCESSED BY THE DIAGNOSTIC MONITOR.
MAINDEC-10-DFKDA.TXT
PAGE 13
9.0 OPERATIONAL VARIATIONS (CON'T)
------------------------------
B. USER MODE
TO OUTPUT THE PRINTED ERROR MESSAGES TO A USER SPECIFIED
DEVICE IN USER MODE, ASSIGN THE DESIRED OUTPUT DEVICE TO
DEVICE NAME 'DEV' AND SET SWITCH 'PNTLPT'. THE PHYSICAL
DEVICE CAN BE ANY DEVICE THAT CAN ACCEPT ASCII FORMAT
SUCH AS LPT, DSK, DTA, ETC. THE CORRESPONDING OUTPUT
FILE IS 'DFKDA.LPT'.
EXAMPLE DEVICE ASSIGNMENT:
.ASSIGN DSK DEV
IN USER MODE THE PROGRAM WILL MAKE TWO PASSES AND THEN RETURN
TO MONITOR MODE.
THE OUTPUT FILE (IF USED) MAY THEN BE PRINTED BY USING THE
NORMAL MONITOR COMMANDS (R PRINT, LIST, TYPE, ETC.).
IF THE PROGRAM IS ABORTED BEFORE COMPLETION (BY ^C, ETC.) THE
OUTPUT FILE MAY THEN BE CLOSED BY USING THE MONITOR 'REENTER'
COMMAND.
C. SYSTEM EXERCISER
STARTING ADDRESS IS 30003. DATA SWITCHES ARE PRESTORED
IN 'SWTEXR' LOCATION 30023.
10.0 MISCELLANEOUS
-------------
NONE.
MAINDEC-10-DFKDA.TXT
PAGE 14
11.0 SIMULATOR
---------
THE PDP-10 KL10 SIMULATOR IS USED TO SIMULATE THE ACTUAL
HARDWARE OPERATION OF THE PDP-10 KL10 CENTRAL PROCESSOR. THE
PURPOSE OF THIS SIMULATION PROGRAM IS TO PROVIDE A
MEANS OF HARDWARE DEVELOPMENT AND MACHINE CHECKOUT. THE
SIMULATION PROGRAM MAY ALSO BE USED FOR DIAGNOSTIC PROGRAM
DEVELOPMENT AND AS A PROGRAM OPERATION TRACE DEBUG SYSTEM.
THE SIMULATION IS ACCOMPLISHED THROUGH SOFTWARE BY USING PROGRAM
ROUTINES TO FOLLOW THE HARDWARE OPERATION FLOW AND CORE MEMORY
LOCATIONS AS PSEUDO HARDWARE REGISTERS.
A. DDT PROGRAM TYPE-IN SIMULATION
------------------------------
TO USE THE SIMULATOR TO SIMULATE A SMALL PROGRAM TYPED-IN
WITH DDT THE FOLLOWING PROCEDURE (EXAMPLE) IS USED.
START PROGRAM WITH SWITCH 'ENTDDT' SET SO THAT CONTROL TRANSFERS
TO DDT.
*DDT*
200! A: DMOVE 0,300 ;SAMPLE PROGRAM (DDT TYPIN)
A+1! DFAD 0,302
A+2! HALT
300! 1.0
301! 0
302! 3.0
303! 0
INPC! 200 ;STARTING ADDRESS
MASK! 0 ;ALLOW ALL INST TO PRINT
INSTR! 0 ;ALLOW ALL INST TO PRINT
CNPLPC! 0 ;ALLOW SIMULATION TO START AT 0
UPRPC! 777777 ;CONTINUE TO 77777.
SIMDDT$G ;TRANSFER TO SIMULATOR
INPC = RIGHT HALF IS OBJECT PROGRAM STARTING ADDRESS
LEFT HALF = 0 = EXEC MODE OBJECT PROGRAM
=10000 = USER MODE OBJECT PROGRAM
MASK = WORD TO ALLOW CHECKING OF ONLY DESIRED INSTRUCTION CODE
BITS TO DETERMINE INSTRUCTION SIMULATION PRINTOUT.
INSTR = WORD TO FURTHER SELECT INSTRUCTIONS TO BE PRINTED.
CNTLPC = WORD USED TO PREVENT SIMULATION PRINTOUT UNTIL THE
OBJECT PROGRAM PC IS EQUAL OR GREATER.
UPRPC = WORD USED TO PREVENT SIMULATION PRINTOUT WHEN THE
OBJECT PROGRAM PC IS GREATER THAN.
MAINDEC-10-DFKDA.TXT
PAGE 15
B. SIMULATOR PRINT PROGRAM
-----------------------
THE SIMULATOR PRINT PROGRAM PROVIDES A BREAK POINT IN THE
MAIN SIMULATOR MASTER CLOCK CYCLE AT WHICH TIME TRANSFER IS MADE
TO THE SIMULATOR PRINT PROGRAM. THE PRINT PROGRAM THEN DETER-
MINES IF THE MASTER CLOCK IS AT THE FIRST INSTRUCTION TIME OF
THE INSTRUCTION. IF IT IS A CHECK IS MADE TO DETERMINE IF THIS
INSTRUCTION IS TO BE PRINTED. DONE BY MASKING THE INSTRUCTION
CODE BITS WITH THE WORD 'MASK' AND THEN FURTHER DELIMITING THE
INSTRUCTION BY A 'CAME' INSTRUCTION WITH THE WORD 'INSTR'.
THE PC OF THE INSTRUCTION IS ALSO CHECKED AGAINST 'CNTLPC' AND
'UPRPC' AND MUST BE BETWEEN THIS RANGE TO BE PRINTED.
AN EXAMPLE TO PRINT SIMULATION OF THE INSTRUCTIONS IN THE RANGE
100 TO 177 WOULD BE:
MASK=700000,,0
INSTR=100000,,0
CNTLPC=0,,0
UPRPC=0,,-1
IF THE INSTRUCTION PASSES THESE TESTS THE PRINT CONTROL IS SET
ACCORDINGLY. THEN THE PC, AND INSTRUCTION ARE PRINTED. THEN
THE MACHINE STATES ARE PRINTED (IF CALLED FOR BY SW29, PNTMS)
UNTIL THE START OF THE NEXT INSTRUCTION. AT THIS TIME THE
INITIAL AND FINAL FLAG AND REGISTER RESULTS ARE PRINTED.
AT THE COMPLETION OF EACH MACHINE STATE PRINTOUT A TRANSFER
IS MADE BACK TO THE MAIN SIMULATOR TO CONTINUE SIMULATION.
TRANSFER FROM AND TO THE MAIN SIMULATOR IS DONE ON EACH
MASTER CLOCK CYCLE WITH THE INSTRUCTION AND/OR MACHINE PSEUDO
REGISTER CONTENTS PRINTED IF CALLED FOR.
MAINDEC-10-DFKDA.TXT
PAGE 16
C. MAIN SIMULATOR
--------------
THIS SECTION PERFORMS THROUGH SOFTWARE ROUTINES AND PSEUDO
HARDWARE REGISTERS THE ACTUAL HARDWARE OPERATION OF THE KL10
CENTRAL PROCESSOR. THE ACTUAL OPERATION OF THIS SECTION IS
DESCRIBED IN THE KL10 HARDWARE FLOW CHARTS AND SYMBOLIC TAGS,
REGISTERS, FLAGS, ETC. ARE ALL AS LISTED ON THE FLOW CHARTS.
THIS SECTION OF THE PROGRAM WAS INITIALLY WRITTEN BY PDP-10 ENGINEERING.
ENGINNERING DESIGN UPDATES AND DEVELOPMENT BY PDP-10 DIAGNOSTICS.
D. ACCUMULATORS
------------
0- F -MISC LOGIC FLIP-FLOPS
1- T -TEMPORARY REGISTER
2- T1 -TEMPORARY REGISTER 1
3- T2 -TEMPORARY REGISTER 2
4- T3 -TEMPORARY REGISTER 3
5- S -18 BIT PSEUDO STATE REGISTER
6- AR -36 BIT ARITHMETIC PSEUDO REGISTER
7- MQ -36 BIT MULT/QUOTIENT PSEUDO REGISTER
10- BR -36 BIT BUFFER PSEUDO REGISTER
11- AD -36 BIT ADDER PSEUDO REGISTER
12- MB -36 BIT MEMORY BUS PSEUDO REGISTER
13- PC -18 BIT PROGRAM COUNTER PSEUDO REGISTER
14- MA -18 BIT MEMORY ADDRESS PSEUDO REGISTER
15- SC -9 BIT SHIFT COUNTER PSEUDO REGISTER
16- IR -13 BIT INSTRUCTION PSEUDO REGISTER
17- P -PUSH DOWN POINTER AC
E. CORE MEMORY
-----------
AB -18 BIT ADDRESS BUS PSEUDO REGISTER
ARX -28 BIT EXTENDED ARITHMETIC PSEUDO REGISTER
ADX -28 BIT EXTENDED ADDER PSEUDO REGISTER
FE -9 BIT FLOATING EXPONENT PSEUDO REGISTER
SA -9 BIT SHIFT COUNT ADDER PSEUDO REGISTER
TIME -ELAPSED TIME SINCE BEGINNING OF PROGRAM IN NSEC.
ACS,+0 TO +17 -PSEUDO ACCUMULATORS
MAINDEC-10-DFKDA.TXT
PAGE 17
12.0 HISTORY
-------
VERSION 0.2
FEBRUARY 23,1977
CHANGES MADE IN THE PDP-11 CLOCK HANDLING BECAUSE OF A
PROBLEM IF THE PDP-11 CLOCK TICKS AT THE EXACT INSTANCE THAT THE
PARITY ERROR TEST IS BEING DONE. THE PDP-11 CLOCK IS NOW TURNED
OFF DURING THE PARITY ERROR TEST.
VERSION 0.1
SEPTEMBER 11,1975
THE KI10 SIMULATOR IS USED IN THIS PROGRAM WITH CHANGES
NECESSARY TO PREVENT THE MACHINE TIME PRINTOUTS AS THE
SIMULATION AS FAR AS INITIAL AND FINAL OPERAND VALUES
IS CORRECT FOR THE INSTRUCTIONS TESTED VIA THIS PROGRAM.
PREVIOUS HISTORY OF CONVERSION OF THE KI10 SIMULATOR INTO
A WORKABLE VERSION FOR THE KL10 PROCESSOR.
PS #519 INCORPORATED TO CORRECT PROBLEM WITH FLOATING
DIVIDE SIMULATION.
ECO #42 INCORPORATED TO CORRECT PROBLEM WITH FLOATING MULTIPLY
SIMULATION AND TIMING PROBLEM WITH DOUBLE FLOATING
SUBTRACT.
13.0 LISTING
-------