Arquitectura PDP-11

Está implementada en las unidades centrales de procesamiento (CPU) y los microprocesadores utilizados en los miniordenadores PDP-11.

Las palabras de 16 bits se almacenan en formato little-endian (los bytes menos significativos aparecen primero).

Las trampas o excepciones se generan con algunos errores del programa, como el intento de ejecutar una instrucción no definida, y también cuando el programa ejecuta una instrucción determinada como BPT, EMT, IOT o TRAP para solicitar un servicio del sistema operativo.

El registro R5 se utiliza habitualmente para apuntar al entorno de llamada del procedimiento en curso.

Los siguientes ocho modos se pueden aplicar a cualquier registro de uso general.

Un programa que utilice para las referencias internas exclusivamente el modo relativo (y también el diferido relativo) es independiente de la posición: no asume una ubicación específica, con lo que se puede cargar en una ubicación de memoria arbitraria, o incluso moverlo con posterioridad, sin necesidad de ajustar las direcciones para reflejar su ubicación (reubicación).

Al calcularse dichas direcciones en relación con la ubicación actual, el procesador realizará la reubicación sobre la marcha.

Algunas instrucciones, como por ejemplo MARK y SOB, no se implementaron en todos los modelos de PDP-11.

Los cuatro bits superiores especifican la operación a realizar (con el bit 15 habitualmente seleccionando el direccionamiento de palabra o byte).

El siguiente registro numerado más alto contiene la parte de orden superior del operando (o el resto).

Una excepción es la instrucción de multiplicar: el registro puede ser impar pero, si lo es, los 16 bits superiores del resultado no se almacenan.

El grupo restante de seis bits especifica el operando según los modos definidos anteriormente.

Como JMP no permite aplicar condiciones, una instrucción como BEQ se cambiaría por BNE para bifurcar rodeando la siguiente instrucción JMP que saltaría al destino deseado.

SOB (Subtract One and Branch - restar uno y saltar) es otra instrucción de bifurcación condicional.

La rutina llamada tendrá que especificar RTS R4 para regresar al llamante.

El ensamblador no definía la sintaxis para especificar cada combinación, pero los símbolos SCC y CCC ensamblaban una instrucción que asignaba o borraba respectivamente cualquiera de los cuatro códigos de condición.

El conjunto de instrucciones extendido o EIS era opcional para los modelos 35/11/40 y para el 03/11 y formaba parte del conjunto de instrucciones estándar en los procesadores más nuevos.

En el caso de que la memoria direccionada no estuviese en la caché suponía 1,02 microsegundos adicionales.

Los números más altos indicaban una mayor urgencia, quizás porque los datos podrían perderse o porque un sector deseado podría girar hasta quedar fuera del contacto con las cabezas de lectura/escritura, a menos que el procesador respondiera rápidamente.

La preparación de la impresora para recibir otro carácter tendría la prioridad más baja (BR4), ya que permanecería lista indefinidamente.

El procesador guardaba el contador de programa (PC) y la PSW, ingresaba al modo Kernel y los cargaba con nuevos valores de acuerdo a las dos palabras del vector especificado.

Por ejemplo, para un dispositivo en la línea BR6, la nueva PSW en su vector habitualmente especificaría 6 como la nueva prioridad del procesador, por lo que el procesador respondería a las solicitudes más urgentes (BR7) durante la rutina de servicio, pero pospondría las solicitudes de igual o menor prioridad.

Esa rutina haría funcionar el dispositivo, o al menos eliminaría la condición que causó la interrupción.

En el caso del sistema operativo Unix para PDP-11 también se disponía de un ensamblador adicional (llamado "as"), estructuralmente similar a MACRO-11, pero con diferente sintaxis y menos funcionalidades.

Cinta perforada utilizada en los PDP-11