Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dskebd.txt
There are no other files named dskebd.txt in the archive.
;DSKEB
IDENTIFICATION
--------------
PRODUCT CODE: AH-E602A-DD
DIAGNOSTIC CODE: DSKEB
PRODUCT NAME: DSKEBA0 KS10 - CACHE DIAGNOSTIC
VERSION: 0.1
DATE RELEASED: OCTOBER 1978
MAINTAINED BY: DIAGNOSTIC ENGINEERING
AUTHOR: EDWARD G. PRENTICE
COPYRIGHT (C) 1978
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.
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 ITERATION COUNTER
7.0 CYCLE TIME
8.0 OPERATIONAL VARIATIONS
9.0 MISCELLANEOUS
10.0 LISTING
1.0 ABSTRACT
OVERVIEW - THIS IS A SHORT OVERVIEW OF THE KS10 CACHE DIAGNOSTIC.
THIS PROGRAM WAS WRITTEN TO RECOGNIZE AND REPORT ANY
ERRORS CAUSED BY A FAULT IN THE CACHE LOGIC. THE DIAGNOSTIC
CONSISTS OF SEVEN TESTS, THE FIRST OF WHICH IS AN
ACCUMULATOR TEST BECAUSE THE ACCUMULATORS AND THE CACHE
RESIDE IN THE SAME RAM MEMORY. THEN THERE ARE SIX INTENSIVE
CACHE TESTS THAT ARE DESCRIBED BELOW. THIS DIAGNOSTIC
REQUIRES THAT THE MAIN CPU DIAGNOSTICS RUN SUCCESSFULLY
FIRST.
ACCHK - THIS TEST INSURE THAT THE ACCUMULATORS ARE WORKING.
THIS TEST VERIFIES THAT ALL 8 AC BLOCKS ARE WORKING
CORRECTLY. FIRST, EACH AC IN EACH BLOCK IS LOADED WITH THE
BLOCK NUMBER IN THE LEFT HALF, AND THE AC NUMBER IN THE
RIGHT HALF, THUS A UNIQUE NUMBER IS LOADED INTO EACH AC.
THEN THE AC'S ARE CHECKED TO INSURE THAT EACH AC CONTAINS
THE PROPER NUMBER.
NEXT, AC 17 IS CHECK TO INSURE THAT IT CAN HOLD ALL
ZEROS, AND THEN TO INSURE THAT IT CAN HOLD ALL ONES. THEN
THAT ENTIRE BLOCK IS TESTED TO INSURE THAT ALL THE ACS IN IT
CAN HOLD BOTH ZEROS AND ONES. THEN THE TEST IS REPEATED FOR
EACH OF THE OTHER BLOCKS.
PHYCHK - PHYSICAL ADDRESS CHECK.
THIS TEST INSURES THAT THE SIGNAL 'NOT PHYSICAL' IS
WORKING CORRECTLY. A PAGE IS LOADED AND TIMED WITH PAGING
TURNED OFF, WHICH YIELD REFERENCES THAT ARE PHYSICAL. IF
ANY CACHE HITS ARE FOUND, THE SIGNAL IS BAD. WHEN USED IN
CONJUNCTION WITH THE OTHER TESTS THAT CHECK FOR CACHE HITS,
THE OPPOSITE STATE OF THE 'NOT PHYSICAL' IS CHECKED FOR
VALIDITY. HOWEVER, IF ALL THE OTHER TIMING TESTS FAIL, THIS
SIGNAL IS A GOOD PLACE TO LOOK FOR THE TROUBLE.
CACCHK - CACHEABLE/UNCACHEABLE CHECK.
THIS TEST MAKES SURE THAT THE PAGE CACHEABLE SIGNAL
IS WORKING CORRECTLY. THE TEST CHECKS FOR BOTH STATES OF
CACHEABLE/UNCACHEABLE, AND PERFORMS THE TEST ON BOTH
EXEC/USER ADDRESS SPACE.
LOALIT - LOW ORDER ADDRESS LINE INTERFERENCE TEST.
THIS TEST PERFORMS THE LOW ORDER ADDRESS
INTERFERENCE CHECKING. THE ADDRESS LINES RUNNING INTO THE
CACHE (ONE PAGE) ARE TESTED FOR INTERFERENCE, WHILE AT THE
SAME TIME PERFORMING A RAM TEST ON THE CACHE RAMS (TREATING
THE CACHE AS A MEMORY) THIS TEST ALSO ALLOWS THE CHECKING OF
THE WRITE THRU, BECAUSE THE MEMORY SHOULD END UP WITH
DIFFERENT DATA THAN WHAT IT STARTED WITH (EVEN THOUGH THE
CACHE RAM TEST SUCCEEDED).
HOALIT - HIGH ORDER ADDRESS LINE INTERFERENCE TEST.
THIS TEST CHECKS THE HIGH ORDER ADDRESS LINES OF THE
VIRTUAL ADDRESS AND PERFORMS AN INTERFERENCE CHECK ON THOSE
LINES. A PAGE IS LOADED INTO THE CACHE BY EXECUTING IT.
THEN THE PAGE NUMBER IS CHANGED BY ONE BIT AND EXECUTED
AGAIN, WHILE BEING TIMED. IF THE TEST RUNS FASTER THAN THE
THRESHOLD, CACHE HITS WERE ENCOUNTERED WHEN THEY SHOULDN'T
HAVE, WITH THE PROBLEM BEING ON THE ADDRESS BIT THAT
CHANGED. IF CACHE MISSES ARE ENCOUNTERED, THEN THE ADDRESS
LINES HAVE NO INTERFERENCE WITH EACH OTHER.
UECHEK - USER TO EXEC CACHE CHECK.
THIS PROGRAM CHECKS THE TRANSITION OF THE EXEC/USER
SIGNAL IN THE CACHE CONTROL LOGIC FROM THE USER STATE TO THE
EXEC STATE. THIS TEST IS USED IN CONJUCTION WITH EUCHEK, TO
CHECK THE OPPOSITE TRANSITION OF THE SIGNAL. THE TEST LOADS
A PAGE OF MEMORY INTO THE CACHE BY EXECUTING IT IN USER
MODE. THEN THE PROGRAM IS PUT INTO EXEC MODE, AND THE SAME
PAGE IS EXECUTED, WHILE BEING TIMED. IF THE TEST RAN FASTER
THAN THE THRESHOLD (500 NSEC/JRST), THEN THE REFERENCES GOT
CACHE HITS WHEN THEY WEREN'T SUPPOSED TO. IF HOWEVER THE
TEST RAN SLOWER THAN THE THRESHOLD, THEN THE REFERENCES GOT
CACHE MISSES, AND THE STATE OF THE EXEC/USER SIGNAL IS
CORRECT.
EUCHEK - EXEC TO USER CACHE CHECK.
THIS PROGRAM CHECKS THE TRANSITION OF THE EXEC/USER
SIGNAL IN THE CACHE CONTROL LOGIC FROM THE EXEC STATE TO THE
USER STATE. THIS TEST IS USED IN CONJUCTION WITH UECHEK, TO
CHECK THE OPPOSITE TRANSITION OF THE SIGNAL. IF BOTH TESTS
SUCCEED, THAT IMPLIES THAT THE SIGNAL IS WORKING CORRECTLY.
2.0 REQUIREMENTS
2.1 EQUIPMENT
A DECSYSTEM 2020 WITH 32K OF MEMORY.
DIAGNOSTIC CONSOLE
CONSOLE TELETYPE
LOAD DEVICE
2.2 STORAGE
THE PROGRAM USES ALL OF THE FIRST 32K OF MEMORY
2.3 PRELIMINARY PROGRAMS
ALL PRECEDING CENTRAL PROCESSOR DIAGNOSTICS.
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURES
THIS DIAGNOSTIC REQUIRES THAT THE DECSYSTEM 2020 SUBROUTINE
PROGRAM BE RESIDENT IN THE DECSYSTEM 2020.
LOAD VIA CONSOLE PROCESSOR OR WITH "SMMON".
3.2 STARTING PROCEDURE
STAND-ALONE STARTING ADDRESS IS 30000.
3.3 OPERATING PROCEDURE
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 NOT USED
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 OPERATION
1 RELIABILITY MODE OPERATION
10 TXTINH 0 PRINT FULL ERROR MESSAGES.
1 INHIBIT COMMENT PORTION OF
ERROR MESSAGES.
5.0 ERRORS
ERRORS ARE PRINTED ON THE TTY OR LINE PRINTER. THE ERROR
PRINTOUT CONTAINS THE TEST TITLE, TEST PASS COUNT, PC OF THE
FAILURE, SUBTEST TITLE, SUBTEST FUNCTION, CORRECT WORD, ACTUAL
RESULTS, DISCREPANCY WORD, AND A DIAGNOSTIC COMMENT.
THE FOLLOWING IS AN EXAMPLE ERROR MESSAGE:
PC= NNNNNN
SWITCHES = 000000 000000
ERROR IN DSKEB - KS10 CACHE DIAGNOSTIC VERSION 0.1 - (SUBTEST NAME)
CORRECT: XXXXXX XXXXXX
ACTUAL: YYYYYY YYYYYY
DISCREP: ZZZZZZ ZZZZZZ
(DIAGNOSTIC COMMENT)
THE SUBTEST NAME AND DIAGNOSTIC COMMENT PORTION OF THE ERROR
TYPEOUT MAY BE INHIBITED BY SETTING THE 'TXTINH' SWITCH.
THIS ALLOWS FOR SHORTER PRINTOUTS ON REPETITIVE FAILURES.
THE TEST TITLE IS ONLY PRINTED WHEN STARTING THE PROGRAM OR ON
THE FIRST FAILURE IF IT HAS NOT BEEN PRINTED YET.
THE TEST PASS COUNT IS ONLY PRINTED ON ERRORS WHICH OCCUR ON
PASSES AFTER THE FIRST PASS.
IF AN AUDIO INDICATION OF A CONTINUING ERROR IS DESIRED THE
'DING' SWITCH MAY BE SET.
6.0 ITERATION COUNTER
THE ITERATION COUNT OF THE PROGRAM IS PRINTED ON THE CONSOLE
TTY.
7.0 CYCLE TIME
THE PROGRAM CYCLE TIME IS A UNDER A MINUTE AND IS THEREFORE
SUITABLE FOR MARGINING, VIBRATION TESTS, ETC.
8.0 OPERATIONAL VARIATIONS
9.0 MISCELLANEOUS
THE 'INHCSH' SWITCH IS NOT USED IN THIS DIAGNOSTIC.
10.0 LISTING