Trailing-Edge
-
PDP-10 Archives
-
cuspbinsrc_2of2_bb-fp63b-sb
-
10,7/tgha/tgha.rnm
There are no other files named tgha.rnm in the archive.
.ps,70;.ap;.title TGHA Version 4 Documentation
.style headers 6,0,0 !causes all headers to be taken as is, no capitalizing
.set paragraph 0,1,2 !causes no indenting on first line in paragraph
.display number RL !number title and toc with lower case roman numerals
.c;TGHA - THE GREAT HEURISTIC ALGORITHM
.s2
.c;COPYRIGHT (C) 1979, 1981, 1984, 1986
.s
.c;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.
.page
.subtitle Table of Contents
.autosubtitle !causes header level 1's to be used as subtitles
.center;Table of Contents
.right;Page
.right;----
.!the next cmd inserts the table of contents produced by TOC.EXE
.require "TGHA.RNT" !name of file for runoff to process
.display number D !number pages with decimal numbers
.ps,78;.rm78;.number page 1;.lm0
.page;.hl1 Abstract
TGHA is the MOS memory analyzer program that is run by the monitor whenever a
correctable error occurs in an MF20 or MG20 memory array. It has the
responsibility for keeping the MOS memory in a viable condition using the
MF20/MG20 maintenance features.
When run by the monitor, TGHA obtains data about the MOS memory error from the
monitor. TGHA can also be run by a user with at least maintenance privileges.
In this mode, TGHA is used to create ASCII files (bit to text) from TGHA's data
base. HISTORY.LST contains information about the hardware configuration, the
state of the controller corrective logic, and a list of logged errors.
TRACE.LST contains entries tracking the corrective action taken by TGHA. TGHA
version 4 can be run with either or both MF20 (16K) and MG20 (64K) array
modules in the memory system. However, both types cannot be installed within
the same controller.
.ls
.le;TGHA sources will not be available to customers.
.le;This document applies to both TOPS-10 and TOPS-20 unless otherwise
specified.
.le;If the memory boot portion of KLI does not configure a block of
MOS memory due to multiple bit errors, TGHA will indicate what memory and how
much memory was not configured. The message will appear on the CTY, in the
TGHA trace file, and in ERROR.SYS.
.le;If the memory boot portion of KLI finds a parity error, KLI will use the
spare bit and configure the block. TGHA, upon finding that a spare bit was set
into use by KLI, will never use that spare bit for any other purpose. Upon
finding such a condition, tgha will output an appropriate message on the CTY,
in the trace file, and in ERROR.SYS.
.le;If a parity error ever occurs during swapping in of a spare bit, the spare
bit will then be flagged as if KLI had set the spare bit into use (see previous
paragraph). Similar CTY, trace file and SPEAR entries will be made.
.els
.page;.hl1 Installation Instructions
TGHA data and trace file names are TGHA.DAT and TGHA.TRA respectively. The old
files TGHAV2.* or TGHAV3.* should be renamed to preserve the database.
.hl2 Installation On TOPS-10
For TGHA to run properly on TOPS-10, the following lines must be entered in
OPR.ATO after DAEMON is started:
.ls
.le;:SLOG
.le;:DEF TGHA=
.le;R TGHA
.els
Since TGHA makes entries in ERROR.SYS via DAEMON, DAEMON must be running before
TGHA is started. After TGHA starts, it detaches itself. TGHA.EXE must reside
in the SYS: [1,4] area.
.hl2 Installation On TOPS-20
TGHA.EXE must reside in the SYSTEM: area (usually including PS:<SYSTEM>). The
TOPS-20 monitor starts TGHA automatically at system startup as a fork (process)
of job 0.
If the monitor cannot find TGHA at system startup, TGHA will not be run by the
monitor. If TGHA is not running, the monitor will throw away the error data
that might have been collected by TGHA, and the system will continue to run.
.page;.hl1 An Overview Of TGHA
.hl2 Running TGHA
TGHA is run at system startup by the monitor (TOPS-20) or by OPSER (TOPS-10).
This TGHA is informed by the monitor when a MOS memory error occurs.
Timesharing is stopped and TGHA performs bit substitution as required. After
TGHA runs, timesharing is continued. This is called the "system" TGHA.
Field Service can run TGHA to obtain a listing of TGHA's database. This is
called "user" TGHA. The same TGHA.EXE is used for both "system" and "user"
TGHA.
.hl3 Initial System Start Up
At initial system start up, the TOPS-20 monitor runs the system TGHA under job
0, or TOPS-10 OPSER runs the system TGHA. TGHA will first enable single bit
error reporting throughout MOS memory. TGHA will then either build the history
file if it does not already exist, or verify that it knows about all of the
MF20/MG20 hardware that is on line. If the history file exists and new MOS
memory hardware appears, TGHA will add this new hardware to its history file.
Once the initial start up initialization is complete, TGHA then looks for any
MOS memory errors that have occurred since the system was booted.
.hl3 Dumping TGHA Database
TGHA is run by field service personnel to list TGHA's database. In this mode,
TGHA knows that it is not the "system" TGHA, and it does not get called by the
monitor to look for MOS memory errors.
.nt
In order to run TGHA manually, the user must have the maintenance capabilities
enabled (TOPS-20) or be running as [1,2] (TOPS-10). This is required because
TGHA looks at the MOS memory to determine the current configuration.
.en
Under TOPS-20 enter "SYSTEM:TGHA" to the monitor prompt. Under TOPS-10 enter
"R TGHA". TGHA will respond with a "TGHA>" prompt.
The HELP command ("HELP"<cr>) produces the following text:
.tp 16;.lm8;.lt
Command Purpose
EXIT Exit from TGHA.
HELP Type this text.
HISTORY Dump history file database.
SCRAP Give instructions on how to scrap TGHA databases.
TRACE Dump trace file database.
.el;.lm0
The history and trace dump files will be created in the current path (TOPS-10)
or connected directory (TOPS-20). The trace listing will be called TRACE.LST.
The history listing will be called HISTORY.LST (TOPS-20) or HISTORY.LST
(TOPS-10). These files are listable versions of the TGHA database and the
trace file.
Although TGHA.TRA may look readable, remember that it is the equivalent of a
ring buffer. The oldest data is over written when the file becomes large
enough. This prevents the trace file from becoming uselessly large. TRACE.LST
is in chronological order, the oldest entries first.
When TGHA is run in "user" mode, the only functions available are the dumping
of the database files. No changes in the memory configuration or the use of
the spare bits can be done by TGHA in "user" mode.
.hl2 TGHA Files
TGHA files for both TOPS-10 and TOPS-20 include the following:
.lt
File Purpose Creation Mechanism
---- ------- -------------------
TGHA.EXE TGHA executable file Monitor tape
TGHA.HLP TGHA help file Monitor tape
TGHA.DOC TGHA documentation Monitor tape
TGHA.DAT TGHA history file TGHA.EXE when first run
TGHA.TRA TGHA trace file TGHA.EXE when first run
TGHA.BAD Bad copy of TGHA.DAT TGHA.EXE when the database
gets confused
.el
TGHA.DAT will not grow as errors are incurred. TGHA will purge old data as its
databases fill up. The only way that TGHA.DAT will grow is if new hardware is
brought on line (a storage module is swapped or a new controller is added to
the system). TGHA requires all of the history data that it has collected to
remain intact so that it can make correct decisions about corrective action.
.nt
TGHA.DAT should only be deleted under very rare circumstances. It contains
important history information.
.en
.hl2 MOS Memory Errors
When a MOS memory correctable error occurs, the monitor wakes up the system
TGHA. TGHA then gets the data for the error from the monitor. This is called
a chronological error. They are stored in order of occurrence in the history
database. There is a separate chronological error list for each module.
Only when the chronological error list is full does TGHA go off and attempt to
resolve a known error from this list.
.hl3 Known Error Determination
Known error determination is done statistically using the CHI SQUARED goodness
of fit formula. Starting with the first chronological error in the storage
module, the formula is used to test the distribution of the other errors in the
chronological error list for each type of possible hardware error.
For instance, the first hardware failure considered is a "full MUX failure". A
table is built by scanning all of the other errors in the storage module and
tallying only those errors that are covered by the specific type of hardware
error being considered, in this case, a full MUX failure. The table for a full
MUX failure is distributed by block and subblock number. This translates into
a distribution by chip since there are 16 chips involved in a full MUX failure.
If the the distribution is even enough, the Chi Squared goodness of fit test
will succeed, and a known error is declared.
This continues until either the hardware error type is found or all of the
error types have been tried.
The last type of hardware error considered is a cell error. If there are more
than a minimum number of errors of the same cell (typically 5), then a cell
error is declared.
After an error type has been found, all of the chronological errors that are
influenced by the known error type are eliminated from the chronological error
list. This procedure continues for each remaining error in the chronological
error list.
After the known error routine has been run, the corrective action routine is
called.
.hl3 Corrective Action
The goal of the corrective action routines is to determine the optimum
corrective action given the current known errors. This is done on a per group
basis.
First, the worst error in the group is found. This is the error that affect
the most amount of memory. Once the worst error has been found, the applicable
spare bits are used to cover it. If there is more than one known error in the
group, a scan is done to set all ICE (Inhibit Correctable Error reporting) bits
within the scope of the worst error. This procedure is repeated until all
known errors for the group have been analyzed.
There is one exception to the previous procedure. If the memory boot portion
of KLI (Double Bit Error scan) has used a spare bit to handle a double bit
error, TGHA will not change the use of that specific spare bit. If TGHA were
to attempt to use such a spare bit for another purpose, the possibility of
parity errors resulting would be too great to risk.
If a parity error occurs during the setting of a spare bit, TGHA will set the
same considerations on that spare bit as if KLI had set it.
On the occurrence of the previous conditions, appropriate ERROR.SYS entries
will be made.
.hl3 Parity Errors
Parity errors are handled like parity errors always have been. If the monitor
successfully continues after the parity error, it will attempt to take the page
of memory with the parity error offline.
The monitor then runs TGHA if the page was successfully removed. The monitor
may not be able to take the page with the parity error off line. This would be
the case if the page was part of the resident monitor. TGHA will enter parity
errors in its trace file, not the history file database.
TGHA will make an entry in the trace file and ERROR.SYS indicating physical
address, block of memory, and the orientation of the 4 storage modules
containing the error.
.page;.hl1 History File (TGHA.DAT)
The history file is made up of 3 different types of pages. They are the
directory page, group pages, and storage module pages. The sequence starts out
with one directory page. This page contains configuration information about
all of the MOS memory on the system. The next page is a group page followed by
four storage module pages. The pattern of a group and four succeeding storage
module pages is repeated for each group currently on line. A storage module
page for each storage module that has gone away is then listed.
.hl2 Directory Page
The first page of the history file contains the current configuration of the
memory, including the location of each storage module by serial number. Note
that the serial number in the history file is in the same format as the sticker
on the storage module itself.
The location of the storage modules in memory is documented in the history list
file for archival and Field Service reasons. The errors logged in the history
file are dependent upon the orientation of the storage modules. If they are
moved, the error corrections in the memory may have different characteristics.
If Field Service wishes to replace a storage module, the exact location by
serial number is therefore documented.
.hl2 Group Page
The group page contains information specific to the configuration of the group.
The last time the group was used in this configuration may be useful if groups
of storage modules are removed and put back into the memory later. The time of
the last change to the group is useful when determining where the most recent
errors have occurred in memory.
Let it be noted here that the chronological list of errors in the history file
and the entries in the trace file are tagged with the date and time. This is
required when correlating corrective action with memory modules.
.hl3 Spare Bit Substitution RAM Fields
The group page also contains a map of the current state of the Spare Bit
Substitution RAM. The Spare Bit Substitution RAM is used to direct bit
replacement with the spare bit RAMs.
The value of the Spare Bit Substitution RAM contains 4 fields. These are shown
below.
.tp 21;.b;.lm 12;.i-12
Field Bits##Meaning
.b;.i-12
#######400##Either KLI used this spare bit to cover a parity
error or a parity occurred during a bit swap. The 400 bit is in the TGHA
database only, and is not used in the actual bitswap process.
.b;.i-12
#######374##The octal value of the bit being replaced. To find the value of
the bit being replaced, this field must be shifted to the right by 2 places,
and the decimal equivalent value of the octal digits is the word bit being
replaced.
.b;.i-12
#########2##Set means correctable error reporting is disabled. Clear means
correctable error reporting is enabled. This bit is referred to as the "ICE"
(Ignore Correctable Errors) bit.
.b;.i-12
#########1##Bit Substitution RAM value parity bit.
.lm0;.b
.hl3 Bit Substitution RAM Examples
Three possible values for the Bit Substitution RAM are shown below.
.tp 20;.b;.lm6;.i-6
Value##Meaning
.b;.i-6
256#-#The spare bit is not in use. The value of the bit to be swapped points
to the spare bit. The spare bit is in decimal bit position 43.
.i-6
####-#Correctable error reporting is disabled for this Bit Substitution RAM
address.
.b;.i-6
255#-#Spare bit is not in use (same as previous example).
.i-6
####-#Correctable error reporting is enabled.
.b;.i-6
652#-#The 400 bit on indicates that this use of this spare bit prevents a
parity error from occurring. TGHA will not change this value. The Bit
substitution RAM data requires odd parity.
.i-6
####-#Bit 42 of the MF20 data path is being swapped (the parity bit).
.lm0;.b
The actual spare bit address in SBDIAG function 7 is 7 bits wide. The address
in the group page accounts for only the lower 5 bits. The high order 2 bits is
the group number within the controller. The group field is determined from the
group position in the memory controller, and not the group database. Therefore
the group portion of the field is not, and indeed cannot, be kept within the
Spare Bit RAM address table. This portion of the SBDIAG function is filled in
at execution time.
.hl2 Storage Module Page
A Storage Module Page contains information relating specifically to the storage
module. The serial number appears in the same format as the sticker on the
module itself. This is critical for field returns, which require that this
page be attached to the storage module if it is to be returned to the factory
for repairs. The last time the module was used can be useful in tracking
module swaps made in the MOS memory subsystem and field returns.
The known error list contains the error information related to the known errors
resolved from chronological errors by TGHA. Most of the information in each
entry is used by TGHA to determine overlap of errors. This overlap is
important when considering the optimum use of the spare bits.
The storage module chip location is included to facilitate module repair.
The time of resolution of the error may give an indication of the rate of
deterioration of failure of the module.
The current chronological error list for the storage module will include any
errors that have not been resolved into known errors yet. There may be
included in this list any soft errors that have occurred. These soft errors
will be removed from the list sometime after a minimum default (about 1 week).
.hl2 Unused Storage Module Page
Any storage modules that are in the TGHA history file, yet are not presently in
use, follow the other pages in the database. The inclusion of the unused
storage modules in the history file is required for the case when field service
has replaced a storage module, reloaded the system, and wants a copy of the
history file for that storage module so that the error data can be included
with the module when the module is returned for repairs.
Since these storage modules are no longer part of any configured group, no
group information is given.
.hl2 HISTORY.LST Sample
The HISTORY command causes the history database to be dumped to the file
HISTORY.LST. The following examples are from a HISTORY.LST file.
.hl3 Sample Directory Page
The directory page is always the first page of a HISTORY.LST file. It shows
all useful information from the directory page of the TGHA.DAT file. The
memory configuration shown includes 768Kw MF20 and 2048Kw MG20 memory.
.tp14;.lt
TGHA History file for System 2866 15-Nov-86 10:39:52 Page 1
History file data base version 2
Controller Group Number Storage module serial numbers by field
No. & Type 0 1 2 3
10 MF20 0 1480561 3260135 1480573 0430757
1 3290431 3280343 3280307 3290397
2 3260153 0070679 3300561 3300504
11 MG20 0 4080029 4080043 4080040 5170481
1 4080028 4370970 4080074 4461311
2
.el
.hl3 Sample Group Data Page
The Group Data Page is output for each group of memory in each controller
configured in the system. It is followed by Storage Module Data for each
storage module in the group.
.tp13;.lt
Group Data for System 2866 15-Nov-86 10:39:52 Page 2
Controller: 10 Group: 0
The last time this group was used was 14-Nov-86 11:38:36
The last time a change was made to this group was never
Bit Substitution Map:
000/ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
020/ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
.el
.hl3 Sample Storage Module Data Page
The Storage Module Data is output for each storage module listed in the TGHA
database. Each storage module's data is output with the storage modules
configured in each group. The data for storage modules that are not being used
is output after all active storage modules have been listed.
.tp22;.lt
Storage Module Data for System 2871 15-Nov-86 10:50:32 Page 20
Controller: 11 Group: 1 Field: 2
Storage module serial number 5220677, RAM size 64K
The last time this storage module was used was 15-Nov-86 10:50:30
No known errors determined yet for this module
Chronological errors:
Block Subblock BIFN Row Column E # Time
1 0 1 124 300 37 10-Oct-86 12:05:32
1 3 3 104 300 62 10-Oct-86 12:05:32
2 0 2 217 10 55 20-Oct-86 06:53:11
2 0 2 217 10 55 20-Oct-86 06:56:11
2 0 2 217 10 55 20-Oct-86 07:01:11
2 0 2 217 10 55 20-Oct-86 07:06:11
2 0 2 217 10 55 20-Oct-86 07:10:57
2 0 2 217 10 55 20-Oct-86 07:13:40
2 0 2 247 12 55 20-Oct-86 18:35:43
.el
.page;.hl1 Trace File (TGHA.TRA)
The trace file contains dated entries indicating what corrective action has
been taken by TGHA. If the TGHA software runs into confusion or a database
gets full, entries into the trace file will also reflect the difficulty.
Serious MOS memory hardware errors will also be entered in the trace file.
.hl2 Spare Bit Swap
The following is an example of the trace file for a spare bit swap for bit 42.
When the swap completes, the another message is put in the trace file.
.lt
********
11-Oct-86 15:50:12
Bit Substitution: Controller 10, Group 0, Block 1, Word (bits 33-35) 3
The Bit Sub RAM data is going to be changed to 124 (octal), bit 42 (decimal).
11-Oct-86 15:50:12
Bit Substitution: Completed normally
********
.el
.hl2 Parity Error (Double Bit Error)
The following is an example of a parity error. This message is caused by a
double bit error in MF20 memory. TGHA just dumps the information to the CTY
and to the trace file. No further action is taken by TGHA.
.tp6;.lt
********
11-Oct-82 19:20:02
Parity error at address 1001475, block 0
Storage module serial numbers by field:
0 = 7460209 1 = 7460108 2 = 7460117 3 = 7460200
********
.el
The MOS memory diagnostics should be run and the offending storage module
replaced.
.hl2 Serious Hardware Failure
The following is an example of a serious MOS memory failure. This error
message is seen after a full Mux failure. Although the error has been
corrected using the spare bits, the probability of a parity error due to
further hardware degradation has risen to an uncomfortable state.
.tp7;.lt
********
19-Jun-86 20:20:02
TGHA has temporarily corrected a serious MOS memory failure.
Call Field Service to report this Full Mux failure condition.
********
.el
This message also appears on the CTY. The MOS memory diagnostics should be run
and the offending storage module replaced.
.hl2 Use Of Spare Bit By KLI
The following is an example of KLI using the spare bit in its DBE (Double Bit
Error) scan when it configures memory. When TGHA detects this condition, it
will display this information since this prevents TGHA from using the spare bit
if another problem develops with the same word in memory.
.tp8;.lt
********
24-Jul-86 07:11:07
The memory boot in KLI has used the spare bit to prevent a parity error.
This condition should be corrected as soon as possible.
Controller Group Block Word (bits 33-35)
10 0 1 5
********
.el
This message also appears on the CTY. The MOS memory diagnostics should be run
and the offending storage module replaced.
.hl2 KLI Detected Bad Block
If KLI has not configured a block of MOS memory because of an error that cannot
be repaired using the spare bit, the block will not be configured.
.tp10;.lt
********
13-Jun-86 10:33:00
The following blocks of MOS memory are marked as bad and are not on line:
Controller Group Block
10 1 3
10 2 1
This consists of 128K of memory that is off line.
Call Field Service to report this condition.
********
.el
This message also appears on the CTY. The MOS memory diagnostics should be run
and the offending storage module replaced.
.hl2 Missing Database
If TGHA finds that there is no database and that a MOS memory controller was
last initialized by TGHA, TGHA will output the following message:
.tp8;.lt
********
19-Jul-86 12:35:21
MF20 Controller 10 was last initialized by TGHA, but TGHA has lost its
database. Run TGHA and use the SCRAP command to see recovery instructions.
********
.el
.hl3 Missing or Damaged Database Implications
In this situation, TGHA cannot determine whether any spare bits in use were set
by the memory boot in KLI or TGHA. This information was stored in the TGHA
database, which went away for some reason. TGHA must therefore assume that all
spare bits in use were set by KLI to prevent parity errors.
This means that these spare bits will not be available for correction of
further hardware failures in the memory. This is not an ideal situation for
TGHA to be in, and will not rectify its self automatically. Although this
situation is not immediately critical, it degrades the performance of TGHA.
The recovery procedure can be deferred to a convenient time, like a Field
Service PM or a scheduled system reload.
.hl3 Database Recovery Procedure
.nt
This is the ONLY time that the TGHA database file (TGHA.DAT) should be
explicitly deleted. Although this destroys all of the known error history,
the known errors will be resolved by TGHA in the same manner as before. The
probability of this situation arising is very low. This drastic action is
explained only to cover this situation.
.en
.tp10;.ls
.le;Copy any existing PS:<SYSTEM>TGHA.DAT to PS:<SYSTEM>TGHA.BAD.
.le;Delete PS:<SYSTEM>TGHA.DAT.
.le;Bring the system down (^ECEASE, Parser's SHUTDOWN command).
.le;Run KLI.
.le;Enter KLI's DIALOG mode.
.le;Answer FORCE in response to the "reconfigure memory" question.
.le;Continue through KLI dialog and reboot the system.
.le;TGHA will run and create a new TGHA.DAT file.
.els
A message similar to the one above will be given when the SCRAP command is
given to TGHA.
.hl2 Software State Word
The software state of the memory indicates whether KLI or TGHA was the last
program to make any changes in the Bit Substitution RAM. Although the software
bits in SBDIAG function were designed for this purpose, conflicts made them
impractical. The information is flagged in a word in the Bit Substitution RAM
instead of using the software state bits. When TGHA goes to check the state of
the software state word in the Bit Substitution RAM, and TGHA finds that the
data is not of the format that either KLI or TGHA uses, the following message
will be output:
.tp6;.lt
********
22-Nov-86 13:02:59
In Controller 10, the Bit Sub RAM state word was garbage.
TGHA is assuming a DBE scan was done last.
********
.el
This is a very strange state since the Spare Bit Substitution RAM address used
for the software state word is not in the address space used for swapping of
memory bits. It is suggested that the MOS memory diagnostics be run at the
next convenient time.
.hl2 CPU ID Change
If TGHA detects that the CPU options or serial number (as read by the APRID
instuction) has changed, the following information is put into the trace file.
No action needs to be taken.
.tp6;.lt
********
28-Oct-86 11:44:44
The CPU ID has changed from 660442375467 to 660442375356
********
.el
.page;.hl1 SPEAR
The SPEAR (ERROR.SYS) entries made by TGHA have the following format. The
standard SPEAR headers have been omitted from the following examples.
.hl2 New Known Error
.lt
********
13-Jun-86 10:33:00
A new MF20 known error has been declared.
Storage module serial number: 838009, RAM size = 16K
Block: 1, Subblock: 0, Bit In Field (10): 11, Row: 71, Column: 24,
E Number 192, Error Type: Chip
********
.el
This entry is created whenever a error is detected by TGHA. There is no
immediate action to be taken.
.hl2 Serious MOS Memory Hardware Failure
.lt
********
19-Jun-86 20:20:02
TGHA has temporarily corrected a serious MOS memory failure.
Call Field Service to report this Full Mux failure condition.
********
.el
See section 5.3 for more information. It is suggested that the MOS memory
diagnostics be run at the next convenient time.
.hl2 Use Of Spare Bit By KLI
.lt
********
25-Dec-86 13:20:29
The memory boot in KLI has used the spare bit to prevent a parity error.
This condition should be corrected as soon as possible.
Controller Group Block Word (bits 33-35)
10 0 1 2
********
.el
See section 5.4 for more information. It is suggested that the MOS memory
diagnostics be run at the next convenient time.
.hl2 KLI Detected Bad Block
.lt
********
13-Jun-86 10:33:00
The following blocks of MOS memory are marked as bad and are not on line:
Controller Group Block
10 1 3
10 2 1
This consists of 128K of memory that is off line.
Call Field Service to report this condition.
********
.el
See section 5.5 for more information. It is suggested that the MOS memory
diagnostics be run at the next convenient time.
.hl2 Missing Database
.lt
********
19-Jul-86 12:35:21
MF20 Controller 10 was last initialized by TGHA, but TGHA has lost its
database. Run TGHA and use the SCRAP command to see recovery instructions.
********
.el
See section 5.6 for more information.
.hl2 Software State Word
.lt
********
22-Nov-86 13:02:59
In Controller 10, the Bit Sub RAM state word was garbage.
TGHA is assuming a DBE scan was done last.
********
.el
See section 5.7 for more information. It is suggested that the MOS memory
diagnostics be run at the next convenient time.
.page;.hl1 Storage Organization
MOS Memory Control board slot numbers and basic functions are listed in the
following table. M8579/M8570 memory array boards occupy slots 8 to 19.
.lm4;.lt
Number Name Slot Function
M8574 WRP 04 XBUS Data/Write Path/ECC Generation/Spare Out
M8576 CTL 05 XBUS and Cycle Control/Word and Group Select/PROM Read
M8575 SYN 06 Spare In/Check/Correct/Address 14-21/Voltage Margin
M8577 ADT 07 MOS Address/Timing/Refresh/Block Select/Error
.el;.lm0
.hl2 Groups, Fields, Blocks, and Subblocks
MF20/MG20 storage is composed of groups, fields, blocks, and subblocks.
A "group" is a set of four storage boards. There may be up to three groups
installed in each MF20 backplane.
A "field" is one board (11 bits) wide. Four fields used in parallel give a 44
bit word: 36 data bits, 6 ECC (Error Check and Correct) bits, one 43 bit parity
bit, and one spare bit. A bit's group and field numbers uniquely pick the
bit's storage board.
A "block" is four times the RAM size. There are one to four blocks in each
group, but there are almost always four blocks in a group. Its start address
is programmable (SBDIAG function 12). Each block has 4 subblocks.
A "subblock" is the basic storage unit. Subblocks are 1 word (44 bits) wide,
and are selected by address 34-35. Every 4th word of a block's memory belongs
to a given subblock. There is 1 spare bit RAM per subblock.
During a memory cycle all of the block's fields and subblocks are always
cycled, with the 4 XBUS request bits specifying which subblock's words are
actually to be used.
.hl2 Calculating M8579 (MF20) RAM "E" Number
To calculate the "E" number of a RAM on an M8579 board you need the Block
Number (BN), Word Number (WN), and Bit-In-Field Number (BIFN). Use error
address bits 14-21 in an SBDIAG function 12 to read the address response RAM.
Bits 12-13 of the SBDIAG echo are BN. Error address bits 34-35 are WN. BIFN
can be derived from the table in section 7.4 using the bit number from either
the syndrome (from SBDIAG function 6.1) or the known error data pattern. Use
the BIFN from section 7.4 to select a number from the table below, and plug
that number into the formula to get the actual "E" number.
.tp5;.lm8;.lt
BIFN: 0 1 2 3 4 5 6 7 8 9 10
Table: 19. 38. 57. 76. 96. 116. 149. 167. 188. 204. 224.
Formula: Enumber = table(BIFN) - (4 * WN) - BN
.el;.lm0
The M8579 storage boards do not have any E numbers etched on them, making it
difficult to locate a specific DIP. Use the map below to locate MOS RAM dips
or DC008 MUX DIPs. Example: The E number for Block (BLK) 2, Subblock (SBLK) 1,
bit 18 would be 51. Use BLK and SBLK to find the row. Using the bit number,
look in the lower table to find the column.
The map is oriented as if you held the board with the component side up and the
connector edge towards you. Note that the row of MUX chips is staggered.
.tp23;.lm8;.lt
BLK SBLK Map of M8579 RAM and MUX chips by E numbers
--- ---- --------------------------------------------
0 0 224 204 188 167 149 116 96 76 57 38 19
1 0 223 203 187 166 148 115 95 75 56 37 18
2 0 222 202 186 165 147 114 94 74 55 36 17
3 0 221 201 185 164 146 113 93 73 54 35 16
0 1 220 200 184 163 145 112 92 72 53 34 15
1 1 219 199 183 162 144 111 91 71 52 33 14
2 1 218 198 182 161 143 110 90 70 51 32 13
3 1 217 197 181 160 142 109 89 69 50 31 12
0 2 216 196 180 159 141 108 88 68 49 30 11
1 2 215 195 179 158 140 107 87 67 48 29 10
2 2 214 194 178 157 139 106 86 66 47 28 9
3 2 213 193 177 156 138 105 85 65 46 27 8
0 3 212 192 176 155 137 104 84 64 45 26 7
1 3 211 191 175 154 136 103 83 63 44 25 6
2 3 210 190 174 153 135 102 82 62 43 24 5
3 3 209 189 173 152 134 101 81 61 42 23 4
MUX 207 205 171 169 131 98 79 59 40 20 2
.el;.lm0
.hl2 Calculating M8570 (MG20) RAM "E" Number
Calculating the "E" number of an M8570 RAM is very similar to the calculations
for an M8579.
To calculate the "E" number of a RAM on an M8570 board you need the Block
Number (BN), Word Number (WN), and Bit-In-Field Number (BIFN). Use error
address bits 14-21 in an SBDIAG function 12 to read the address response RAM.
Bits 12-13 of the SBDIAG echo are BN. Error address bits 34-35 are WN. BIFN
can be derived from the table in section 7.4 using the bit number from either
the syndrome (from SBDIAG function 6.1) or the known error data pattern. Use
the BIFN from the table in section 7.4 to select a number from the table below,
and plug that number into the formula to get the actual "E" number.
.tp5;.lm8;.lt
BIFN: 0 1 2 3 4 5 6 7 8 9 10
Table: 19. 38. 57. 75. 92. 112. 146. 165. 183. 202. 221.
Formula: Enumber = Table(BIFN) - (4 * WN) - BN
.el;.lm0
M8570 storage boards do not have any E numbers etched on them, making it
difficult to locate a specific DIP. Use the map below to locate MOS RAM dips
or DC008 MUX DIPs. Example: The E number for block (BLK) 2, Subblock (SBLK) 1,
bit 18 would be 51. Use BLK and SBLK to find the row. Using the bit number,
look in the lower table to find the column. The map is oriented as if you held
the board with the component side up and the connector edge towards you. Note
that the row of MUX chips is staggered.
.tp23;.lm8;.lt
BLK SBLK Map of M8570 RAM and MUX chips by E numbers
--- --- --------------------------------------------
0 0 221 202 183 165 146 112 92 75 57 38 19
1 0 220 201 182 164 145 111 91 74 56 37 18
2 0 219 200 181 163 144 110 90 73 55 36 17
3 0 218 199 180 162 143 109 89 72 54 35 16
0 1 217 198 179 161 142 108 88 71 53 34 15
1 1 216 197 178 160 141 107 87 70 52 33 14
2 1 215 196 177 159 140 106 86 69 51 32 13
3 1 214 195 176 158 139 105 85 68 50 31 12
0 2 213 194 175 157 138 104 84 67 49 30 11
1 2 212 193 174 156 137 103 83 66 48 29 10
2 2 211 192 173 155 136 102 82 65 47 28 9
3 2 210 191 172 154 135 101 81 64 46 27 8
0 3 209 190 171 153 134 100 80 63 45 26 7
1 3 208 189 170 152 133 99 79 62 44 25 6
2 3 207 188 169 151 132 98 78 61 43 24 5
3 3 206 187 168 150 131 97 77 60 42 23 4
MUX 204 203 185 148 128 114 95 58 40 20 2
.el;.lm0
.tp48
.hl2 Table of KL10 Bit Number to Bit In Field
.lm10;.lt
KL10 Bit Bit in Syndrome
Bit Use Field Field (Note 1)
---- ------ ----- ------ --------
00 data 0 02 014
01 data 1 02 024
02 data 0 03 030
03 data 1 03 034
04 data 0 04 044
05 data 1 04 050
06 data 0 05 054
07 data 1 05 060
08 data 0 06 064
09 data 1 06 070
10 data 0 07 074
11 data 1 07 104
12 data 0 08 110
13 data 1 08 114
14 data 0 09 120
15 data 1 09 124
16 data 0 10 130
17 data 1 10 134
18 data 2 02 140
19 data 3 02 144
20 data 2 03 150
21 data 3 03 154
22 data 2 04 160
23 data 3 04 164
24 data 2 05 170
25 data 3 05 174
26 data 2 06 204
27 data 3 06 210
28 data 2 07 214
29 data 3 07 220
30 data 2 08 224
31 data 3 08 230
32 data 2 09 234
33 data 3 09 240
34 data 2 10 244
35 data 3 10 250
36 ECC32 0 00 200
37 ECC16 1 00 100
38 ECC8 0 01 040
39 ECC4 1 01 020
40 ECC2 2 00 010
41 ECC1 3 00 004
42 ECCPAR 2 01 000
43 spare 3 01 (Note 2)
.el;.lm0
Note 1: The syndrome is a six bit number and is shown here octally grouped as
it would appear in an SBDIAG function 6.1 echo in bits 07-12. Note that the
43 bit parity bit is not included in this list.
Note 2: The spare bit has no associated syndrome. If the spare bit happens to
be replacing the bit which your syndrome points to, then the error is in the
spare bit and not the bit which the syndrome points to.
.hl2 Table of KL10 Bit Number to Field
.lm8;.tp 8;.lt
Field KL10 bit numbers as positioned in field
----- -------------------------------------------
0 16 14 12 10 08 06 04 02 00 38 36
1 17 15 13 11 09 07 05 03 01 39 37
2 34 32 30 28 26 24 22 20 18 42 40
3 35 33 31 29 27 25 23 21 19 43 41
.el;.lm0
.hl2 Table of Slot Numbers to Group, Field, and Bit
.lt
Slot Group Field Bits
---- ----- ----- --------------------------------
8 2 0 36,38,00,02,04,06,08,10,12,14,16
9 1 0 same
10 0 0 same
11 2 1 37,39,01,03,05,07,09,11,13,15,17
12 1 1 same
13 0 1 same
14 2 2 40,42,18,20,22,24,26,28,30,32,34
15 1 2 same
16 0 2 same
17 2 3 41,43,19,21,23,25,27,29,31,33,35
18 1 3 same
19 0 3 same
.el
.hl2 M8579/M8570 Array Board PROM Data
Every storage array board has associated with it a serial number and other
related data. There is one 32 bit PROM "word" per board which is read using
function 2. Which word you get depends upon bits 9-12. Four SBDIAGs are
necessary to read the entire word by varying the byte number in bits 13 and 14.
The layout of a PROM word is illustrated in the following table.
.tp26;.lt
M8570/M8579 PROM Data
PROM byte: 0 1 2 3
PROM bit: 01234567012345670123456701234567
Content: YYYYWWWWWW###########PPABNNSSMMM
YYYY is the 4 bit year number which is the BCD equivalent of the
last digit of the calendar year.
WWWWWW is the 6 bit week number.
##...## is an 11 bit serial number which is restarted from 1 each week.
PP is a MOS RAM population code: 00 - MOS RAM block 0 exists
01 - blocks 0 and 1 exist
10 - blocks 0, 1, and 2 exist
11 - board is fully populated
A Parity bit such that bytes 0-2 of the word have even parity.
B Another parity bit such that byte 3 has odd parity.
NN Is the 2 bit "timing number". This number determines which
distinct timing is to be used with the RAMs on this board.
SS Is the MOS RAM size code: 11 - 4k RAMs
10 - 16K RAMs (MF20)
01 - 32K RAMs
00 - 64K RAMs (MG20)
MMM Is the 3 bit MOS RAM manufacturer code:
000 - MOSTEK 100 - Motorola
001 - Intel 101 - Texas Instruments
010 - Fujitsu 110 - Other (DEC, DEC part number, etc.)
011 - Hitachi 111 - Unassigned
.el
There are actually 8 PROM words per array board, of which only one is allowed
out by the state of the 3 jumpers. If no jumper is cut then word 0 is
selected, if all are cut then word 7 is selected. These jumpers are cut in
relation to the manufacturer of the MOS RAMs on the board. Note also that the
serial number is also printed on the board in the form: YWW_#_#_#_#
.nt
Please make sure when an array board is sent in for repair that the error
typeout showing the serial number is attached to the board.
.en
.page;.hl1 Errors
.hl2 Error Correction Code (ECC) Calculation
Calculation of the ECC is based upon bit changes from a data word of all zeros.
The ECC for all zeros is defined to be 11 111 11 (or 376 as it would appear in
bits 07-13 of an SBDIAG function 6.0).
To calculate the ECC for any given word, take each "1" bit from the data word,
get the syndrome for that bit from the table below, and XOR it into the
previous ECC. Initially the ECC is the ECC for a data word of zero.
If there are more ones than zeros in the word then do the same as above only
apply the syndromes for each "0" bit and use the initial ECC value of 10 101 11
(256 octal). Note that the following relation always holds:
.b
.c;ECC(X) = 120 XOR ECC(NOT X)
.b
In other words, the ECC for the complement of a word differs from the ECC of
the word by 120 octal.
.hl3 Syndrome and 43 Bit Parity Table
.lt
Bit Fcn 6 Syn Syn Syn Syn Syn Syn 43b
number Octal 32 16 8 4 2 1 Par
--- ----- --- --- --- --- --- --- ---
00 016 0 0 0 0 1 1 1
01 026 0 0 0 1 0 1 1
02 032 0 0 0 1 1 0 1
03 034 0 0 0 1 1 1 0
04 046 0 0 1 0 0 1 1
05 052 0 0 1 0 1 0 1
06 054 0 0 1 0 1 1 0
07 062 0 0 1 1 0 0 1
08 064 0 0 1 1 0 1 0
09 070 0 0 1 1 1 0 0
10 076 0 0 1 1 1 1 1
11 106 0 1 0 0 0 1 1
12 112 0 1 0 0 1 0 1
13 114 0 1 0 0 1 1 0
14 122 0 1 0 1 0 0 1
15 124 0 1 0 1 0 1 0
16 130 0 1 0 1 1 0 0
17 136 0 1 0 1 1 1 1
18 142 0 1 1 0 0 0 1
19 144 0 1 1 0 0 1 0
20 150 0 1 1 0 1 0 0
21 156 0 1 1 0 1 1 1
22 160 0 1 1 1 0 0 0
23 166 0 1 1 1 0 1 1
24 172 0 1 1 1 1 0 1
25 174 0 1 1 1 1 1 0
26 206 1 0 0 0 0 1 1
27 212 1 0 0 0 1 0 1
28 214 1 0 0 0 1 1 0
29 222 1 0 0 1 0 0 1
30 224 1 0 0 1 0 1 0
31 230 1 0 0 1 1 0 0
32 236 1 0 0 1 1 1 1
33 242 1 0 1 0 0 0 1
34 244 1 0 1 0 0 1 0
35 250 1 0 1 0 1 0 0
-- -- -- -- -- -- --
10 15 18 19 20 20 20 = Sum of syndrome one bits
.el
.hl3 Example ECC and 43 Bit Parity Calculation
Example: Calculate the ECC and 43 bit parity for a data word of 3.
.lm8;.lt
376 is ECC for zero
250 is syndrome and 43b par for bit 35
244 is syndrome and 43b par for bit 34
--- XOR all of the above
362 is the ECC for a data word of 3
.el;.lm0
Another method for computing the ECC is as follows: for each of the 7 ECC bits
take the data word, logically AND it with the appropriate mask below, and
compute the result's odd parity. That bit is one of the ECC bits.
.lm8;.lt
000000 001777 ECC 32
000177 776000 ECC 16
037600 776007 ECC 8
343617 036170 ECC 4
554663 146631 ECC 2
665325 253252 ECC 1
732351 455514 43B PAR
.el;.lm0
Bits 03, 09, 10, 13, 15, 25, and 32 (040624 002010) form a set which is
one of many possible "independent" bit sets. By varying the values of
these 7 bits one can generate all 128 ECC codes, though not in any
special order. Adding bit 35 allows playing with the spare bit but does
not alter the independence of this bit set.
Note that the octal number 200,,2217 (33555599 decimal) is a small,
relatively easy to remember number which produces an all zeros ECC.
.hl2 Error Detection And Correction
When a write is done the memory calculates an ECC based upon the data it got
from the CPU. The data and the ECC are then put in memory. When a read is
done the controller gets the data and the old ECC from memory. It then
computes a new ECC on the data and XORs the old and new ECCs which results in a
syndrome. Obviously if there was no error in memory The old and new ECCs will
be the same, and the syndrome will be zero since XORing equal values produces
0.
Now, when there is an error in one bit the new syndrome will differ from what
it would have been by a value equal to the syndrome of the bad bit. Thus
XORing the new syndrome with the old one from memory will result in a syndrome
equal to that of the bad bit. The syndrome mapped to a bit which, in turn, is
used to complement (ie correct) the bad bit. See the example in the next section.
When one bit is bad on a read then, obviously, the parity of the 43 bit word
from memory will be bad. Bad parity is what causes the controller to recognize
a correctable error. The controller then goes off and computes the syndrome.
If the syndrome is that of one of the ecc bits then the mapped correction bit
goes nowhere since we don't send the ECC back to the CPU.
If there is no parity error and the syndrome is zero then there is no
correction necessary. However a double bit (uncorrectable) error gives good
parity (since 2 bits are bad) and a nonzero syndrome. This is how it
recognizes an double bit error. When a double bit error is detected it ships
the data, as is, to the CPU while forcing bad XBUS parity. See the table
following for a concise list of error conditions.
.hl3 Syndrome/Parity Bit Meanings
.lm8;.lt
Syndrome Parity Meaning and Action Taken
-------- ------ ------------------------
Zero OK Everything is OK.
Take data as it is.
Zero Bad 43 bit parity bit is bad.
Use the data as it is.
1,2,4,8, Bad An ECC bit is bad.
16,32 Use the data as it is.
Not 0,1,2 Bad A data bit is bad.
4,8,16,32 Correct it and send back corrected word.
Not 0 OK This is a non-correctable error.
Put data on XBUS as it is plus bad parity.
.el;.lm0
.hl3 Example of Error Correction
Write a 3 to memory, assume that bit 27 is stuck high in memory. This example
shows how ECC is applied in that case.
.lm4;.lt
As shown previously, the ECC for 3 is 362, therefore:
3<362> goes to memory.
On the read bit 27 is stuck high so that we see:
403<362> from memory.
We calculate the new ECC:
374 is ECC for 0 (less 43b par bit)
250 is syndrome for bit 35
244 is syndrome for bit 34
210 is syndrome for bit 27
--- XOR the whole mess together
170 is the new ECC.
We now calculate the syndrome:
360 is the old ECC (less 43b par bit)
170 is the new ECC
--- XOR
210 is the syndrome
The hardware maps the syndrome to the proper bit and XORs the bit:
403 is data from memory
400 is the mapped bit
--- XOR
3 is what goes back to the CPU.
Hocus-Pocus Presto-Chango, the error is gone!
.el;.lm0
.hl3 Double Bit Error Syndromes
This is the table of syndromes vs. all possible bit pairs which could cause a
double bit error with that syndrome. The syndrome is the octal number on the
left. Remember that it is only 6 bits but is shown aligned as it is in an
SBDIAG function 6.1. All the bit pairs which would result in a given syndrome
are on the line to the right of the syndrome. These pairs are decimal KL10 bit
numbers with the lower number of the pair to the left of the comma. The pairs
are in order by the lower number.
.tp20;.lt
Syn Bit pairs which could cause a DBE with the given syndrome
--- ---------------------------------------------------------
374 15,35 16,34 17,33 18,32 19,31 20,30 21,29 22,28 23,27 24,26 25,36
370 14,35 16,33 17,34 18,31 19,32 20,29 21,30 22,27 23,28 24,36 25,26
364 14,34 15,33 17,35 18,30 19,29 20,32 21,31 22,26 23,36 24,28 25,27
360 14,33 15,34 16,35 18,29 19,30 20,31 21,32 22,36 23,26 24,27 25,28
354 11,35 12,34 13,33 18,28 19,27 20,26 21,36 22,32 23,31 24,30 25,29
350 12,33 13,34 18,27 19,28 20,36 21,26 22,31 23,32 24,29 25,30 35,37
344 11,33 13,35 18,26 19,36 20,28 21,27 22,30 23,29 24,32 25,31 34,37
340 11,34 12,35 18,36 19,26 20,27 21,28 22,29 23,30 24,31 25,32 33,37
334 11,31 12,30 13,29 14,28 15,27 16,26 17,36 23,35 24,34 25,33 32,37
330 11,32 12,29 13,30 14,27 15,28 16,36 17,26 22,35 24,33 25,34 31,37
324 11,29 12,32 13,31 14,26 15,36 16,28 17,27 22,34 23,33 25,35 30,37
320 11,30 12,31 13,32 14,36 15,26 16,27 17,28 22,33 23,34 24,35 29,37
314 11,27 12,26 13,36 14,32 15,31 16,30 17,29 19,35 20,34 21,33 28,37
310 11,28 12,36 13,26 14,31 15,32 16,29 17,30 18,35 20,33 21,34 27,37
304 11,36 12,28 13,27 14,30 15,29 16,32 17,31 18,34 19,33 21,35 26,37
300 11,26 12,27 13,28 14,29 15,30 16,31 17,32 18,33 19,34 20,35 36,37
274 01,35 02,34 03,33 04,31 05,30 06,29 07,28 08,27 09,26 10,36 32,38
270 02,33 03,34 04,32 05,29 06,30 07,27 08,28 09,36 10,26 31,38 35,39
264 01,33 03,35 04,29 05,32 06,31 07,26 08,36 09,28 10,27 30,38 34,39
260 01,34 02,35 04,30 05,31 06,32 07,36 08,26 09,27 10,28 29,38 33,39
254 00,33 04,27 05,26 06,36 07,32 08,31 09,30 10,29 28,38 34,40 35,41
250 00,34 04,28 05,36 06,26 07,31 08,32 09,29 10,30 27,38 33,40 35,42
244 00,35 04,36 05,28 06,27 07,30 08,29 09,32 10,31 26,38 33,41 34,42
240 04,26 05,27 06,28 07,29 08,30 09,31 10,32 33,42 34,41 35,40 36,38
234 00,29 01,27 02,26 03,36 08,35 09,34 10,33 28,39 30,40 31,41 32,42
230 00,30 01,28 02,36 03,26 07,35 09,33 10,34 27,39 29,40 31,42 32,41
224 00,31 01,36 02,28 03,27 07,34 08,33 10,35 26,39 29,41 30,42 32,40
220 00,32 01,26 02,27 03,28 07,33 08,34 09,35 29,42 30,41 31,40 36,39
214 00,36 01,31 02,30 03,29 04,35 05,34 06,33 26,40 27,41 28,42 32,39
210 00,26 01,32 02,29 03,30 05,33 06,34 27,42 28,41 31,39 35,38 36,40
204 00,27 01,29 02,32 03,31 04,33 06,35 26,42 28,40 30,39 34,38 36,41
200 00,28 01,30 02,31 03,32 04,34 05,35 26,41 27,40 29,39 33,38 36,42
174 00,22 01,20 02,19 03,18 04,16 05,15 06,14 07,13 08,12 09,11 10,37
17,38 21,39 23,40 24,41 25,42
170 00,23 01,21 02,18 03,19 04,17 05,14 06,15 07,12 08,13 09,37 10,11
16,38 20,39 22,40 24,42 25,41
164 00,24 01,18 02,21 03,20 04,14 05,17 06,16 07,11 08,37 09,13 10,12
15,38 19,39 22,41 23,42 25,40
160 00,25 01,19 02,20 03,21 04,15 05,16 06,17 07,37 08,11 09,12 10,13
14,38 18,39 22,42 23,41 24,40
154 00,18 01,24 02,23 03,22 04,12 05,11 06,37 07,17 08,16 09,15 10,14
13,38 19,40 20,41 21,42 25,39
150 00,19 01,25 02,22 03,23 04,13 05,37 06,11 07,16 08,17 09,14 10,15
12,38 18,40 20,42 21,41 24,39
144 00,20 01,22 02,25 03,24 04,37 05,13 06,12 07,15 08,14 09,17 10,16
11,38 18,41 19,42 21,40 23,39
140 00,21 01,23 02,24 03,25 04,11 05,12 06,13 07,14 08,15 09,16 10,17
18,42 19,41 20,40 22,39 37,38
134 00,14 01,12 02,11 03,37 04,24 05,23 06,22 07,21 08,20 09,19 10,18
13,39 15,40 16,41 17,42 25,38
130 00,15 01,13 02,37 03,11 04,25 05,22 06,23 07,20 08,21 09,18 10,19
12,39 14,40 16,42 17,41 24,38
124 00,16 01,37 02,13 03,12 04,22 05,25 06,24 07,19 08,18 09,21 10,20
11,39 14,41 15,42 17,40 23,38
120 00,17 01,11 02,12 03,13 04,23 05,24 06,25 07,18 08,19 09,20 10,21
14,42 15,41 16,40 22,38 37,39
114 00,37 01,16 02,15 03,14 04,20 05,19 06,18 07,25 08,24 09,23 10,22
11,40 12,41 13,42 17,39 21,38
110 00,11 01,17 02,14 03,15 04,21 05,18 06,19 07,24 08,25 09,22 10,23
12,42 13,41 16,39 20,38 37,40
104 00,12 01,14 02,17 03,16 04,18 05,21 06,20 07,23 08,22 09,25 10,24
11,42 13,40 15,39 19,38 37,41
100 00,13 01,15 02,16 03,17 04,19 05,20 06,21 07,22 08,23 09,24 10,25
11,41 12,40 14,39 18,38 37,42
074 00,07 01,05 02,04 03,38 06,39 08,40 09,41 10,42 11,24 12,23 13,22
14,21 15,20 16,19 17,18 25,37 30,35 31,34 32,33
070 00,08 01,06 02,38 03,04 05,39 07,40 09,42 10,41 11,25 12,22 13,23
14,20 15,21 16,18 17,19 24,37 29,35 31,33 32,34
064 00,09 01,38 02,06 03,05 04,39 07,41 08,42 10,40 11,22 12,25 13,24
14,19 15,18 16,21 17,20 23,37 29,34 30,33 32,35
060 00,10 01,04 02,05 03,06 07,42 08,41 09,40 11,23 12,24 13,25 14,18
15,19 16,20 17,21 22,37 29,33 30,34 31,35 38,39
054 00,38 01,09 02,08 03,07 04,40 05,41 06,42 10,39 11,20 12,19 13,18
14,25 15,24 16,23 17,22 21,37 26,35 27,34 28,33
050 00,04 01,10 02,07 03,08 05,42 06,41 09,39 11,21 12,18 13,19 14,24
15,25 16,22 17,23 20,37 27,33 28,34 35,36 38,40
044 00,05 01,07 02,10 03,09 04,42 06,40 08,39 11,18 12,21 13,20 14,23
15,22 16,25 17,24 19,37 26,33 28,35 34,36 38,41
040 00,06 01,08 02,09 03,10 04,41 05,40 07,39 11,19 12,20 13,21 14,22
15,23 16,24 17,25 18,37 26,34 27,35 33,36 38,42
034 00,39 01,40 02,41 03,42 04,09 05,08 06,07 10,38 11,16 12,15 13,14
17,37 18,25 19,24 20,23 21,22 26,31 27,30 28,29 32,36
030 00,01 02,42 03,41 04,10 05,07 06,08 09,38 11,17 12,14 13,15 16,37
18,24 19,25 20,22 21,23 26,32 27,29 28,30 31,36 39,40
024 00,02 01,42 03,40 04,07 05,10 06,09 08,38 11,14 12,17 13,16 15,37
18,23 19,22 20,25 21,24 26,29 27,32 28,31 30,36 39,41
020 00,03 01,41 02,40 04,08 05,09 06,10 07,38 11,15 12,16 13,17 14,37
18,22 19,23 20,24 21,25 26,30 27,31 28,32 29,36 39,42
014 00,42 01,02 03,39 04,05 06,38 07,10 08,09 11,12 13,37 14,17 15,16
18,21 19,20 22,25 23,24 26,27 28,36 29,32 30,31 34,35 40,41
010 00,41 01,03 02,39 04,06 05,38 07,09 08,10 11,13 12,37 14,16 15,17
18,20 19,21 22,24 23,25 26,28 27,36 29,31 30,32 33,35 40,42
004 00,40 01,39 02,03 04,38 05,06 07,08 09,10 11,37 12,13 14,15 16,17
18,19 20,21 22,23 24,25 26,36 27,28 29,30 31,32 33,34 41,42
000 A zero syndrome never causes a double bit error.
.el
.rm132;.ps,132
.page;.hl1 Memory Controller SBUS Diagnostic Functions
.lt
FUNCTION 00 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > !CLEAR* *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! 0-5 * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * ! ! * ! ! * ! ! * ! 0 ! 0 * 0 ! 0 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5*CONTR!CORR !INCMP* <PARITY ERRORS> *INTERLEAVE ! <LAST WORD REQUESTS > *<LAST TYPE>! < ERROR ADDRESS *
FROM MEM 6* ERR ! ERR !CYCLE*READ !WRITE! ADR * 1 ! 1 ! RQ0 * RQ1 ! RQ2 ! RQ3 * RD ! WR ! 14 * 15 ! 16 ! 17 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* ERROR ADDRESS (CONTINUED) > *
FROM MEM 8* 18 ! 19 ! 20 * 21 ! 22 ! 23 * 24 ! 25 ! 26 * 27 ! 28 ! 29 * 30 ! 31 ! 32 * 33 ! 34 ! 35 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
FUNCTION 01 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! *<GROUP LOOPBACK >* *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! ! * ! ! *ENABL! GN2 ! GN1 * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < STATUS > !LD EN! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * ! ! * !DSABL! SF2 * SF1 !25-27! * ! 0 ! 0 * 0 ! 0 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* ! <MEM CONTROLLER TYPE> * <LPBK GRP SEL> * *
FROM MEM 6* ! ! * ! ! * ! ! 0 * 1 ! 0 ! 1 * 0 ! 1 ! 2 * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* ! < STATUS > ! *
FROM MEM 8* ! ! * ! ! * !DSABL! SF2 * SF1 ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
SF2 and SF1 are software flags do not effect the hardware, nor does the hardware affect them except to clear them on power-up.
Their combined meanings are: 0/controller was just powered up; 1/all rams but adresp are loaded, crude patching is done and
Bitsub RAM says which blocks may be used; 2/same as 1 but controller is configured; 3/same as 2 except that TGHA has finished its
work.
.el
.page
.lt
FUNCTION 02 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! * < SM PROM SELECT > !<PROM BYTE>* *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! ! * GN2 ! GN1 ! FN2 * FN1 ! 2 ! 1 * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < DIAG MIXER INPUT SELECT > ! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * ! ! 2 * 3 ! 4 ! 5 * 6 ! ! * ! 0 ! 0 * 0 ! 1 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* !<ERROR WD#>! < SELECTED DIAG DATA OR PROM DATA > * *
FROM MEM 6* ! ! * ! ! 2 * 1 ! 0 ! 1 * 2 ! 3 ! 4 * 5 ! 6 ! 7 * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* ! < MOS ADDRESS (SINGLE STEP ONLY) > !<CTL RAM PAR ERR>! *
FROM MEM 8* ! ! 0 * 1 ! 2 ! 3 * 4 ! 5 ! 6 * 7 ! TIM ! SUB * ADR ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Note: bits 23-27 are only used during single step diagnostic tests. The leftmost 1 bit selects the corresponding mixer input
for reading diagnostic signals. If 23-27 are 0 then the data returned is the selected SM PROM word. Note also that
bits 26-27 are used to select the address which is sent back in the MOS address field.
FUNCTION 03 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! !FAST * !<FIXED VAL LOGIC RAMS >!LD EN*LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! ! BUS * !ACKN !D VLD*RDA34!RDA35! 10 *11-13! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < FIXED VALUE LOGIC RAM LOAD ADDRESS > ! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! 0 * 1 ! 2 ! 3 * 4 ! 5 ! 6 * 7 ! ! * ! 0 ! 0 * 0 ! 1 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* !FAST * !<FIXED VAL LOGIC RAMS >! *
FROM MEM 6* ! ! * ! ! * ! ! BUS * !ACKN !D VLD*RDA34!RDA35! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* *
FROM MEM 8* ! ! * ! ! * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Notes: The ACKN RAM (bit 10) uses address bits 1-7 only.
The fast-bus bit is disconnected internally and is left in only for diagnostic compatability.
.el
.page
.lt
FUNCTION 04 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > !PORT * * < SINGLE STEP CLOCK CONTROL *
TO MEM 2* 0 ! 1 ! ? * ? ! ? !LPBK * ! ! *A COM!B COM!D VLD* ! !SSCLK*SSMOD! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* SS CLK CTL > *REFR !LD EN! * < REFRESH INTERVAL (GATED CLOCK/16) > ! < FUNCTION NUMBER > *
TO MEM 4* ! !RNOW *ALLOW!24-30! * 1 ! 2 ! 3 * 4 ! 5 ! 6 * 7 ! 0 ! 0 * 1 ! 0 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* * < SS CLOCK CONTROL ECHO > ! *
FROM MEM 6* ! ! * ! ! * ! ! *A COM!B COM! * ! ! *SSMOD! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* *REFR ! ! < REFRESH INTERVAL COUNTER > ! *
FROM MEM 8* ! ! *ALLOW! ! 0 * 1 ! 2 ! 3 * 4 ! 5 ! 6 * 7 ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Note: if port loopback is set (bit 5) the controller will just echo anything sent out by SBDIAG as long as the proper
controller number is given. Only an SBUS reset can clear this condition.
FUNCTION 05 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! * < SINGLE STEP SIMULATED REQUEST BITS > ! *LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! *ST A !ST B ! RQ0 * RQ1 ! RQ2 ! RQ3 * RD ! WR ! * SS ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < SINGLE STEP REQUEST SIMULATED ADDRESS BITS > ! < FUNCTION NUMBER > *
TO MEM 4* ! ! 14 * 15 ! 16 ! 17 * 18 ! 19 ! 20 * 21 ! ! 34 * 35 ! 0 ! 0 * 1 ! 0 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* *
FROM MEM 6* ! ! * ! ! * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* * < SS MOS RAS > ! *
FROM MEM 8* ! ! * ! ! * 0 ! 1 ! 2 * 3 ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
.el
.page
.lt
FUNCTION 06 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! ! < DIAGNOSTIC DATA TO SY OR WP BOARD > *LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! 32 ! 16 * 8 ! 4 ! 2 * 1 !MISC !MISC *07-14! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* !<ECC DIAG SUBFCN>! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * ! ! * ! 4 ! 2 * 1 ! ! * ! 0 ! 0 * 1 ! 1 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* ! < DIAGNOSTIC DATA FROM SY OR WP BOARD > * *
FROM MEM 6* ! ! * ! ! * ! 32 ! 16 * 8 ! 4 ! 2 * 1 !MISC !MISC * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* * < SS MOS CAS > ! *
FROM MEM 8* ! ! * ! ! * 0 ! 1 ! 2 * 3 ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Note: SBDIAG function 6 does different things depending on the subfunction code in bits 25-27:
6.0 Read the ECC register on the SYN board.
6.1 Read the syndrome buffer on the SYN board. This function is also normally used by monitor.
6.2 Sel diag bits 07-13 in place of MOS bits 36-42, force zeros on 00-35, run thru a correction pass, and return 00-35.
*** Please note that fcn 6.2 returns the entire word, not just bits 7-14. ***
6.3 Unused
6.4 Write ECC complement reg if bit 15 set, then read it back.
6.5 Write ECC complement reg if bit 15 set, then enable it to be sent to mem in place of d36-42 on next write to mem.
6.6 Read d36-43 mixer.
6.7 Enable latching of d36-43 mixer after next write.
7 8 9 10 11 12 13 14 7 8 9 10 11 12 13 14
+-----+-----*-----+-----+-----*-----+-----+-----* +-----+-----*-----+-----+-----*-----+-----+-----*
SUBFUNCTION ! < MEM BITS 36-43 LATCHED ON LAST RD ERROR > * SUBFUNCTION ! < ECC BITS TO BE COMPLEMENTED ON WR > ! PAR *
6.0 !ECC32!ECC16*ECC8 !ECC4 !ECC2 *ECC1 !E PAR!SPARE* 6.4 ! 32 ! 16 * 8 ! 4 ! 2 * 1 !E PAR! CTL *
+-----+-----*-----+-----+-----*-----+-----+-----* +-----+-----*-----+-----+-----*-----+-----+-----*
+-----+-----*-----+-----+-----*-----+-----+-----* +-----+-----*-----+-----+-----*-----+-----+-----*
SUBFUNCTION ! <SYNDROME LATCHED ON LAST RD ERR> !<ERR TYPE >* SUBFUNCTION ! <BITS 36-43 AS WRITTEN TO MEM AFTER FCN 6.7 > *
6.1 ! 32 ! 16 * 8 ! 4 ! 2 * 1 ! CORR! DBL * 6.6 !ECC32!ECC16*ECC8 !ECC4 !ECC2 *ECC1 !E PAR!SPARE*
+-----+-----*-----+-----+-----*-----+-----+-----* +-----+-----*-----+-----+-----*-----+-----+-----*
.el
.page
.lt
FUNCTION 07 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! ! < BIT SUBSTITUTION RAM DATA (BIT NUMBERS) > *LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! 32 ! 16 * 8 ! 4 ! 2 * 1 ! ICE ! PAR *07-14! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* * < BIT SUBSTITUTION RAM LOAD ADDRESS > ! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * GN2 ! GN1 ! BN2 * BN1 ! 33 ! 34 * 35 ! ! * ! 0 ! 0 * 1 ! 1 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* ! < BIT SUBSTITUTION RAM DATA ECHO > * *
FROM MEM 6* ! ! * ! ! * ! 32 ! 16 * 8 ! 4 ! 2 * 1 ! ICE ! PAR * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* * < SS MOS WR EN > ! *
FROM MEM 8* ! ! * ! ! * 0 ! 1 ! 2 * 3 ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
"ICE" means ignore correctable error (ie don't set correctable error flag)
FUNCTION 10 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! ! < VOLTAGE MARGINS > ! < V MARGIN ENABLES > *LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * !12.60!5.25 *-2.10!-5.46! 12 * 5 ! -2 !-5.2 *07-14! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* !CORR * CLR ! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! * ! ! * ! ! DIS *DCBAD! ! * ! 0 ! 1 * 0 ! 0 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* ! < VOLTAGE MARGINS > ! < V MARGINS ENABLED > * *
FROM MEM 6* ! ! * ! ! * !12.60!5.25 *-2.10!-5.46! 12 * 5 ! -2 !-5.2 * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* !CORR * DC ! *
FROM MEM 8* ! ! * ! ! * ! ! DIS * BAD ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Note: the voltages given above apply for ones in bits 7-10 where enabled by bits 11-14. The voltages corresponding to zeros
in bits 7-10 are 11.40, 4.75, -1.90, and -4.94. More than one margin may be set concurrently.
.el
.page
.lt
FUNCTION 11 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! ! < TIMING RAM LOAD ADR... *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! ! * ! ! * ! 0 ! 1 * 2 ! 3 ! 4 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ...ADR > !LD EN* < TIMING RAM DATA > ! ! < FUNCTION NUMBER > *
TO MEM 4* 5 ! 6 !21-30* RAS ! CAS ! PAR *WR EN!2ND A!D RDY*B CLR! ! * ! 0 ! 1 * 0 ! 0 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* *
FROM MEM 6* ! ! * ! ! * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* * < TIMING RAM DATA ECHO > ! ! 4K *-DSEL! *
FROM MEM 8* ! ! * RAS ! CAS ! PAR *WR EN!2ND A!D RDY*B CLR! ! EN *CYCEN! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
FUNCTION 12 00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E) 1* < CONTROLLER NUMBER > ! ! < ADDRESS RESPONSE RAM DATA > *LD EN! *
TO MEM 2* 0 ! 1 ! ? * ? ! ? ! * ! ! PAR *TYPE ! GN2 ! GN1 * BN2 ! BN1 !DESEL*08-14! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E) 3* ! < ADDRESS RESPONSE RAM LOAD ADDRESS > ! ! < FUNCTION NUMBER > *
TO MEM 4* ! ! 14 * 15 ! 16 ! 17 * 18 ! 19 ! 20 * 21 ! ! * ! 0 ! 1 * 0 ! 1 ! 0 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
LH(E+1) 5* ! < ADDRESS RESPONSE RAM ECHO > * *
FROM MEM 6* ! ! * ! ! * ! ! PAR *TYPE ! GN2 ! GN1 * BN2 ! BN1 !DESEL* ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
RH(E+1) 7* *
FROM MEM 8* ! ! * ! ! * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
Note: "DESEL" (bit 14) is "box deselected on 1".
.el
.page;.hl1 KL10 I/O Instructions Relating To Memory
.lt
00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
APRID *-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
700000 * < MICROCODE OPTIONS > * < MICROCODE VERSION NUMBER > *
LH(E) *KLPAG!XADDR!UNSTD* ! ! * ! !TRCKS* ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
* < HARDWARE OPTIONS > * < PROCESSOR SERIAL NUMBER > *
RH(E) *50 HZ!CACHE!CHANL* XADR!MSTR ! * ! ! * ! ! * ! ! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
CONO APR, *-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
700200 * ! I/O ! SELECTED FLAGS * < SELECT FLAG > ! * PI LEVEL *
E * !RESET! EN * DIS ! CLR ! SET * SBUS! NXM ! IOPF*MBPAR!C DIR!ADR P*POWER!SWEEP! * 4 ! 2 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
CONI APR, *-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
700240 * * < ENABLED FLAGS > ! *
LH(E) * ! ! * ! ! * SBUS! NXM ! IOPF*MBPAR!C DIR!ADR P*POWER!SWEEP! * ! ! *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
* !SWEEP! * SBUS! ! I/O * MB !CACHE! ADDR*POWER!SWEEP! INT * PI LEVEL *
RH(E) * ! BUSY! * ! ! * ERR ! NXM ! PGF * PAR ! DIR ! PAR * FAIL! DONE! REQ * 4 ! 2 ! 1 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
00/18 01/19 02/20 03/21 04/22 05/23 06/24 07/25 08/26 09/27 10/28 11/29 12/30 13/31 14/32 15/33 16/34 17/35
RDERA *-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
700400 * WORD NO !SWEEP* CHAN! DATA SRC *WRITE! ! PHYSICAL ADDRESS *
LH(E) * ! ! REF * REF ! ! * REF ! JUNK! JUNK* ! ! * ! ! 14 * 15 ! 16 ! 17 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
* < PHYSICAL ADDRESS OF FIRST WORD OF TRANSFER > *
RH(E) * 18 ! 19 ! 20 * 21 ! 22 ! 23 * 24 ! 25 ! 26 * 27 ! 28 ! 29 * 30 ! 31 ! 32 * 33 ! 34 ! 35 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
DATA SRC WRITE = 0 WRITE = 1
00 MEMORY (READ, RPW) CHANNEL (STORE STATUS)
01 CHANNEL (DATA STORE)
10 EBOX STORE FROM AR
11 READ FROM CACHE WRITEBACK FROM CACHE
(PG REFILL OR CHAN READ)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
CONO PI, *-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
700600 * WRITE EVEN PAR * ! DROP!CLEAR* REQ ! TURN CHAN * TURN SYS ! < SELECT CHANNEL > *
E * ADDR! DATA! DIR * ! INT ! SYS * INT ! ON ! OFF * OFF ! ON ! 1 * 2 ! 3 ! 4 * 5 ! 6 ! 7 *
*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*-----+-----+-----*
.el
[End of TGHA.DOC]