What's CIS for? (was RE: Original 11/74 front panel)
ak6dn at mindspring.com
Fri Feb 10 14:01:06 CST 2006
What Henk says is basically accurate. The PDP-11 Commercial Instruction
designed to support PDP-11 Cobol applications. AFAIK the PDP-11 RSX-11M
Cobol compiler was the only application that actually made any use of
CIS, altho it
is possible that some OSes internally might have used the string move (MOVC)
instruction for moving memory around (it worked on arbitratry
of up to 64KB, the entire memory space).
I don't know of a good description available of PDP-11 CIS, but it might
in PDP-11 CPU guides for the PDP-11/44, PDP-11/23-4, which had CIS options.
For a reasonably good overview, look in the SIMH PDP-11 sources at the file
"pdp11_cis.c" which implements the CIS instruction set in C code and has
of good commentary.
The list of CIS instructions is really rather short:
MOVC,MOVRC,MOVTC -- string moves
CMPC,LOCC,SKPC,SCANC,SPANC,MATC -- string operations
ADDP,SUBP,CMPP,ASHP,MULP,DIVP -- packed decimal math
ADDN,SUBN,CMPN,ASHN -- unpacked decimal math
CVTNL,CVTLN,CVTPN,CVTNP,CVTPL,CVTLP -- data conversion
LD2R,LD3R -- descriptor loads
I wrote the 11/74 microcode for LDxR, CMPC~MATC, and the CVTxx groups.
Probably the most interesting/fun instruction to code was MATC (match
substring in string).
One of the more complicated, believe it or not, was the plain old MOVC,
in the 11/74 CIS implementation, as it was highly optimized to run the
subsystem at full bandwidth, no wasted cycles. MOVC is also tricky
because it allowed
for overlapping source/destination strings, and the microcode must
handle this correctly.
And of course since all these instructions could run for a very long
time (eg, 64K memory
move) they had to be interruptible/continuable/restartable so as not to
system interrupt latency.
Now you know why RISC architecture is so popular... this all took 4KW of
96b wide micro
code in the CISP and another 512W of 64b wide code in the base 11/74 CPU.
Gooijen, Henk wrote:
> CIS stands for Commercial Instruction Set.
> The chip adds new "instruction opcodes" to the processor.
> AFAIK it is of little use, unless you have COBOL programs,
> or do a lot of string manipulations, and then of course it
> is only used if the program recognizes it.
> That's about what I know. I have the chip here too, but never
> thought of installing it, because it will draw power, generate
> some extra heat, and that's about it.
> But I keep the chip, it's a bit rare, and because of its looks :-)
> - Henk, PA8PDP.
> Van: cctalk-bounces at classiccmp.org namens Julian Wolfe
> Verzonden: vr 10-02-2006 19:09
> Aan: 'General Discussion: On-Topic and Off-Topic Posts'
> Onderwerp: What's CIS for? (was RE: Original 11/74 front panel)
> Speaking of CIS, can anyone point me to a good document as to what the
> benefits of CIS are? I've often wondered what this is about, as it's a
> plug-in chip on my 11/23+
More information about the cctalk