PDP-11

Un PDP-11 es un modelo de computadora de la línea PDP ( Procesador de datos programable ) construido por Digital Equipment Corporation (DEC) entre 1970 y 1993 .

Todos los PDP-11 son de 16 bits y pertenecen a la clase de miniordenadores . Fueron extremadamente populares porque combinaban modularidad, una excelente relación calidad / precio, y su uso no se limitaba a un solo sector de aplicación: también se encontraban en los laboratorios de física para la adquisición de datos que en las empresas de contabilidad. Finalmente, el mundo universitario también ha adquirido un gran número de estas máquinas.

Esta gama también es popular debido a que sirvió de base para el desarrollo de la Unix funcionamiento del sistema y el lenguaje C . El pre-incremento (++ i) y el post-incremento (i ++) de C hicieron posible, en particular, explotar esta posibilidad del lenguaje de máquina PDP-11.

También sucedió cuando el IBM 1130 lanzado en 1969, que equipó a muchos laboratorios y escuelas de ingeniería de todo el mundo, comenzó a envejecer sin que IBM propusiera un sucesor. Aparte de su enorme biblioteca de software gratuito, el 1130 no tenía ninguna ventaja particular sobre el PDP-11 en términos de velocidad o costo.

Como muchos otros, este rango ha desaparecido porque su espacio de direcciones de memoria era demasiado limitado (16 a 18 bits , 22 como máximo). Fue reemplazado por VAX , que significa Virtual Address eXtension , 32 bits. Los VAX tienen un modo de funcionamiento "compatible con PDP-11".

Arquitectura

Autobús

Los primeros PDP-11 se construyeron alrededor del bus UNIBUS . Los últimos modelos, con el conjunto de instrucciones incluido en algunos chips y llamado LSI-11 , se basan en el bus (más estrecho) llamado Q-BUS .

Registros

El procesador del PDP-11 tiene 8 registros , dos de los cuales tienen usos especiales: el registro 7, el PC (para Contador de programa o contador de programa) y el registro 6, el puntero de pila (SP, a Stack Pointer ). Los otros registros R0, R1, ..., R5 y son de uso general. El último registro es el registro de estado.

15 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R0 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R1 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R2 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R3 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R4 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R5 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R6 (SP) | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | R7 (PC) | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_____________________________________________________________/ registres (16 bits) 15 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | CM | PM | R | | PRI | T | N | Z | V | C | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_____________________________________________________________/ registre d'état(16 bits)

Los significados de las banderas en el registro de estado son:

  1. N negativo
  2. Z cero
  3. Desbordamiento de V ( sobreflujo )
  4. C ( llevar ) mantener

No todos los modelos PDP-11 tienen exactamente el mismo tipo de registros de estado, el que se muestra aquí corresponde a los modelos más avanzados.

Tipos de datos

Hay tres clases:

byte (8 bits) palabra (16 bits) entero largo (32 bits, dos registros) precisión simple Precisión doble muchos formatos diferentes ...

Conjuntos de instrucciones

Hay tres conjuntos de instrucciones posibles:

  1. el conjunto de instrucciones estándar PDP-11, cuyas instrucciones se pueden clasificar en siete categorías:
    1. Operando único
    2. Operando doble
    3. Conexión
    4. Saltos y subrutinas
    5. Escotillas
    6. Instrucciones misceláneas
    7. Códigos de condición
  2. el conjunto de instrucciones para aritmética de punto flotante para computación científica (opcional)
  3. el conjunto de instrucciones para la informática empresarial (opcional)

Cada instrucción especifica una operación a realizar, posiblemente operandos (registros, etc.) y un modo de direccionamiento .

Formato de instrucciones

El PDP-11 define 7 formatos. En todos los formatos que se describen a continuación:

Interpretación del campo de modo

El campo de modo se mantiene en 3 bits. Por ejemplo, una instrucción de dos operandos contiene dos campos de registro y dos campos de modo, cada uno de los cuales describe cómo interpretar el campo de registro.

Si consideramos solo los bits más a la izquierda (el tercero es el bit de indirección, ver más abajo):

El bit más a la derecha del modo es el bit de indirección: si este bit es uno, el direccionamiento será indirecto:

Tenga en cuenta que no existe un modo "inmediato": esto se logra utilizando el modo 2 (autoincrementación). De hecho, la PC apunta a la palabra que sigue a la instrucción, y el incremento posterior hace que pase a la siguiente instrucción después de que el procesador cargue el valor inmediato que sigue a la instrucción que se está ejecutando.
El uso de la PC como registro crea 4 modos nuevos:

Los modos de direccionamiento post-incrementado y pre-decrementado se utilizarán en particular en asociación con el puntero de pila SP: - (SP) que permite apilar y (SP) + desapilar.

Instrucciones a un operando

15 6 5 3 2 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération | mode | Rn | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_____________________/ destination

Ejemplo: CLR (R0) 005010

Dos instrucciones de operando

15 11 9 8 6 5 3 2 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération| mode | Rn | mode | Rn | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_____________________/ \_____________________/ source destination

Ejemplo: ADD R0, (R1)

NB: algunas instrucciones (ASH, ASHC, MUL, DIV) solo pueden tener un registro como fuente, en este caso el código de operación se extiende del bit 9 al bit 15:

15 11 9 8 6 5 3 2 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération | Rn | mode | Rn | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_________/ \_____________________/ source destination

Las conexiones

15 8 7 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération| | déplacement | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

El campo de desplazamiento está firmado, lo que permite un desplazamiento de -128 a +127 bytes.

Los saltos y llamadas / devoluciones de subrutinas

Para la instrucción JSR (Jump to Subroutine):

15 9 8 6 5 3 2 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération | Rn | mode | Rn | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_________/ \_____________________/ lien destination

Para la instrucción RTS (retorno de subrutina):

15 3 2 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération | Rn | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ \_________/ lien

Trampas e interrupciones

EMT, TRAP, BPT, IOT, CSM, RTI, RTT: sin formato específico.

Códigos de condición

CLC, CLV, CLZ, CLN, CCC, SEC, SEV, SEZ, SEN, SEC: sin formato específico.

15 5 3 2 1 0 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | code opération | O | N | Z | V | C | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Instrucciones misceláneas

HALT, WAIT, RESET, MTPD, MTPI, MFPD, MFPI, MTPS, MFPS, MFPT: sin formato específico.

Conjunto de instrucciones de números flotantes

Esta opción se llama FPP o FP-11 , FP para Floating Point . Agrega 6 nuevos registros de 64 bits (dos veces 32) para los cálculos, así como algunos otros especializados (como un registro de estado). El funcionamiento del procesador flotante es distinto del procesador estándar del PDP-11: aparte de un ligero retraso cuando el procesador flotante recupera la instrucción en la memoria, los dos procesadores calculan de forma independiente.

Este nuevo conjunto de instrucciones está disponible cambiando el microcódigo .

Conjunto de instrucciones de gestión

Denominado CIS, por Commercial Instruction Set , este conjunto de instrucciones centradas principalmente en la gestión de cadenas de caracteres está diseñado para acelerar las operaciones que normalmente requieren los programas de gestión (escritas en COBOL por ejemplo).

Permite la conversión de la representación de números en forma de caracteres a valores binarios (y viceversa) o cálculos directamente en representaciones de "cadenas de caracteres".

Simuladores

sistema de explotacion

Notas y referencias

Apéndices

Artículos relacionados

enlaces externos