Google
 

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