[comp.os.vms] CPU Serial Numbers

siegel@SCIVAX.STSCI.EDU ("HOWARD SIEGEL") (07/07/88)

Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU) writes

>> [In response to a message asking about methods of identifying a CPU for
>> software protection, the author writes:]

>>	> - How can we get the cpu identification (F$GETSYI("SID")??) from
>>	     within
>>
>>	    With the system service SYS$GETSYI.

>>							     However, the
>>	format of the SID register is different for different processors (in
>>	the case of the 11/78x, I know that in addition to the serial number
>>	the register also contains the ECO/FCO level, so you have to be
>>	carefull to look at only the serial number portion unless you want
>>	your software to stop working every time the machine has a field
>>	upgrade), also all microVAX IIs have the same serial number.
>>
>>  FALSE.  The ONLY VAX CPU ever to have a serial number in the SID was the 780
>> (and, of course, the 785).  Even then, there were only 12 bits of serial
>> number, and there were a lot more than 4096 780's produced!
>>

The 780 and 785 were NOT the only VAXen that had serial numbers in the SID.
The following is from the 1986 VAX Hardware Handbooks, Volumes 1 and 2
(order codes EB-25949-46 and EB-28348-46).

The format of the SID is as follows:

         31        24 23        16 15         8 7          0
	+------------+------------+------------+------------+
	|            |            |            |            |
	+------------+------------+------------+------------+
         \__________/ \____________________________________/
          Type Code     Type Specific Information

	Type Code - Binary number that identifies the model of VAX processor:

	Type Code   Processor
	---------   -------------------------------------------
	0	    Reserved for DEC
	1	    11/780 or 11/785 per bits 23:22
	2	    11/750, 11/751
	3	    11/725, 11/730
	4	    8600
	5 - 127	    Reserved for DEC
	128 - 255   Reserved for Digital CSS group and customers

Note that I only had the 1986 manuals available, so the list of processor type
codes is incomplete.

Type specific information for the older series VAXen:

	(Note the 86xx are transition machines.  They are new technology
	versions of the 78x architecture, not true BI machines)

	11/725, 11/730, 11/750, 11/751:

		Bits 23:16 - Not used
		Bits 15:8  - CPU microcode software rev level
		Bits 7:0   - CPU hardware rev level

	11/780, 11/785:

		Bits 23:22 - CPU type, 1 = 780, 0 = 785
		Bits 21:18 - CPU hardware rev level
		Bits 17:15 - letter assigned to system rev level
		Bits 14:12 - Manufacturing facility number
		Bits 11:0  - CPU serial number

	11/782, 8600, 8650

		Bits 23:16 - CPU hardware rev level
		Bits 15:12 - Manufacturing facility number
		Bits 11:0  - CPU serial number


Type specific information for the newer series VAXen:

	8800/8700, 8550/8500:

		Bit  23    - Left/Right processor flag
		Bits 22:16 - Processor rev level
		Bits 15:0  - system serial number

	8300/8200:

		Bits 23:19 - Processor rev code
		Bits 18:9  - Microcode patch rev level
		Bit  8     - Secondary patch bit
		Bits 7:0   - Control store ROM/RAM rev level

Thus, not only did the 780 and 785 contain system serial numbers, but also
the 782, 86xx, 88xx, 87xx, and 85xx processors.  These handbooks did not
contain information on the microVAX series processor registers, so I can
not point to anyhting in writing, but I have heard that the older processors
(the microVAX-I and -II) each had the same serial number (eg. all uVAX-I had
the same number...).

The issue of CPU serial numbers has become important to me because the system
that we inheritted and are maintaining has the feature that it uses the CPU
serial number to determine, via a lookup into a hardcoded table, what software
configuration to bring up.  This has caused us grief because we would like to
distribute the system across more CPU's than the software currently allows,
and the newer systems either have the same SN for all processors, or there
really is no SN to use.  The system is also not designed to easily convert
to using a different CPU unique identifier such as the DECnet node number,
the DECnet node name, the SCS system id, etc. etc.

     +--------------------------------------+--------------------------+
     !  Howard Siegel - TRW, Inc.           !  "I am quite sure  that  !
     !                                      !  you could  elevate  an  !
     !  ARPAnet:  siegel@scivax.arpa        !  earwig to the level of  !
     !  SPAN:     SCIVAX::SIEGEL            !  a  nuclear  scientist,  !
     !  USnail:   One Space Park, O2/2751   !  but it would still  be  !
     !            Redondo Beach, Ca. 90278  !  a very stupid thing to  !
     !  AT&T:     213/535-5083              !  do!"                    !
     +--------------------------------------+--------------------------+

------