PDP11/44


The PDP11/44 was the last PDP11 designed with discrete logic for the processor, the latter high end machines use the J11 chip. It was intended as a midrange machine compatible with the PDP11/70, but lacks the dual register set. The complete system fitted into a DEC standard mounting space of 27"x19"x10". The processor consisted of the following cards :-

  • M7094 - Data Path Module. This contained almost all of the data paths, including arithmetic, boolean and shift logic. Part of the memory management logic is also included.

  • M7095 - Control Module. Contains the microsequence logic and control store

  • M7096 - Multifunction Module. Contains the console processor (Intel 8085), console and diagnostic serial ports (for TU58) and the line time clock.

  • M7097 - Cache memory. A 8Kb, direct map, write-through cache. You can disable 4Kb memory banks with switches on the module, or remove it completely (with a huge performance reduction)

  • M7098 - Unibus Interface Module. Contains logic for bus control, the bootstrap and diagnostic ROMS, and the Unibus Map to translate 18bit bus addresses into 22 bit memory addresses.

  • M7091 +
  • M7092 - Commercial Instruction Set. These two optional boards provided extra instructions for string, character and BCD data manipulation. There was not much software to support it.

  • M7093 - Floating-point Processor. Optional FPU consisting of sixteen AMD 2901 bit slice processors to make a 64 bit processor for floating point operations. The performance was poor compared to the dedicated logic used in 11/45/50/55/60/70 machines.

There are four dedicated slots for MOS ECC memory, which has it's own datapath to the central processor.

The console emulator is the most sophisticated of the PDP11's, with the following commands:-

CommandLetterDescription
ADDERAPrints the 16 bit result of adding the correct address pointer to the last data examined
BOOTBFollowed by a device name to boot the system
CONTINUECContinue from the halt state
DEPOSITDDeposit into memory or CPU registers
EXAMINEEExamine memory
FILLFSet the fill characters to be output after a CR on the console
HALTHStop program execution
INITIALIZEIPerform a processor and Unibus reset
MICROSTEPMExecute specified number of processor microsteps
SINGLE-INSTRUCTION-STEPNStep single PDP-11 instructions
REPEATRRepeat a Deposit or Examine until a CTRL-C is typed.
STARTSStart a program executing (including an INITIALIZE)
SELF-TESTTRun processor diagnostics
BINARY LOAD/UNLOADXAllow sending of binary data via the console serial line.

There are several command qualifiers :-
QualifierDescription
/GThis specifies the address for deposits and examines as being a general register 0-17 (R0-5,Kernel SP,PC, Temp., Unused, Temp., Temp., Temp., Temp., Supervisor SP, User SP)
/N:countSpecify a repeat count for deposits and examines.
/MA machine dependent register is specified (similar to /G), 0-11 (octal) is :- FP data, CIS micro PC, CIS data, CPU data, CPU micro PC, cache data, CPU error register, MFM data, Unibus data and Signal register.
/TBForce the console to perform bus transfers, even if the bus is hung.
/CBBypass the cache for memory transfers
/EUsed with the T (test) command to perform extensive tests.
/ARun APT tests with the T command
+In the address field, this command will cause the last address to be incremented by two (1 for registers using /G or /M)
-Cause the address to be decremented
@The last data field will be used as an address
*Use the last (read same) address again
SWAddress the switch register,