El PDP-11 es una serie de minicomputadoras de 16 bits vendidas por Digital Equipment Corporation (DEC) desde 1970 hasta finales de la década de 1990, uno de un conjunto de productos de la serie de procesadores de datos programados (PDP). En total, se vendieron alrededor de 600.000 PDP-11 de todos los modelos, lo que la convierte en una de las líneas de productos de mayor éxito de DEC. Algunos expertos consideran que el PDP-11 es el miniordenador más popular. [1] [2]
El PDP-11 incluyó una serie de características innovadoras en su conjunto de instrucciones y registros adicionales de uso general que hicieron que fuera más fácil de programar que los modelos anteriores de la serie PDP. Además, el innovador sistema Unibus permitió que los dispositivos externos se conectaran más fácilmente al sistema mediante el acceso directo a la memoria , abriendo el sistema a una amplia variedad de periféricos . El PDP–11 reemplazó al PDP–8 en muchas aplicaciones informáticas en tiempo real , aunque ambas líneas de productos vivieron en paralelo durante más de 10 años. La facilidad de programación del PDP-11 lo hizo popular para la informática de propósito general.
El diseño del PDP–11 inspiró el diseño de los microprocesadores de finales de la década de 1970 , incluido el Intel x86 [1] y el Motorola 68000 . Las características de diseño de los sistemas operativos PDP-11 y otros sistemas operativos de Digital Equipment influyeron en el diseño de sistemas operativos como CP/M y, por tanto, también MS-DOS . La primera versión de Unix con nombre oficial se ejecutó en PDP-11/20 en 1970. Se suele afirmar que el lenguaje de programación C aprovechó varias características de programación de bajo nivel dependientes de PDP-11, [3] aunque no originalmente por diseño. . [4]
Un esfuerzo por expandir el PDP-11 de direccionamiento de 16 a 32 bits condujo al diseño VAX-11 , que tomó parte de su nombre del PDP-11.
En 1963, DEC introdujo lo que se considera la primera minicomputadora comercial en forma de PDP–5 . Este era un diseño de 12 bits adaptado de la máquina LINC de 1962 que estaba destinado a ser utilizado en un laboratorio. DEC simplificó ligeramente el sistema LINC y el conjunto de instrucciones, apuntando el PDP-5 a configuraciones más pequeñas que no necesitaban la potencia de su PDP-4 más grande de 18 bits . El PDP-5 fue un éxito y finalmente vendió alrededor de 1.000 máquinas. Esto llevó al PDP–8 , otro modelo de 12 bits con costos reducidos que vendió alrededor de 50.000 unidades.
Durante este período, el mercado de las computadoras estaba pasando de longitudes de palabras basadas en unidades de 6 bits a unidades de 8 bits, tras la introducción del estándar ASCII de 7 bits . En 1967-1968, los ingenieros de DEC diseñaron una máquina de 16 bits, la PDP-X, [5] pero la dirección finalmente canceló el proyecto porque no parecía ofrecer una ventaja significativa sobre sus plataformas existentes de 12 y 18 bits.
Esto llevó a varios de los ingenieros del programa PDP-X a dejar DEC y formar Data General . Al año siguiente presentaron el Data General Nova de 16 bits . [6] El Nova vendió decenas de miles de unidades y lanzó lo que se convertiría en uno de los principales competidores de DEC durante las décadas de 1970 y 1980.
Ken Olsen , presidente y fundador de DEC, estaba más interesado en una máquina pequeña de 8 bits que en un sistema más grande de 16 bits. Este se convirtió en el proyecto "Calculadora de escritorio". No mucho después, Datamation publicó una nota sobre una calculadora de escritorio que se estaba desarrollando en DEC, lo que causó preocupación en Wang Laboratories , que estaban fuertemente invertidos en ese mercado. Al poco tiempo, quedó claro que todo el mercado se estaba moviendo hacia los 16 bits, y la calculadora de escritorio también comenzó con un diseño de 16 bits. [7]
El equipo decidió que el mejor enfoque para una nueva arquitectura sería minimizar el ancho de banda de memoria necesario para ejecutar las instrucciones. Larry McGowan codificó una serie de programas en lenguaje ensamblador utilizando conjuntos de instrucciones de varias plataformas existentes y examinó cuánta memoria se intercambiaría para ejecutarlos. Harold McFarland se unió al esfuerzo y ya había escrito un conjunto de instrucciones muy complejo que el equipo rechazó, pero un segundo era más simple y en última instancia formaría la base del PDP-11. [7]
Cuando presentaron por primera vez la nueva arquitectura, los directivos quedaron consternados. Carecía de datos inmediatos de una sola palabra de instrucción y de direcciones cortas, los cuales se consideraban esenciales para mejorar el rendimiento de la memoria. McGowan y McFarland finalmente pudieron convencerlos de que el sistema funcionaría como se esperaba y, de repente, "el proyecto de la Calculadora de escritorio se puso de moda". [7] Gran parte del sistema se desarrolló utilizando un PDP-10 donde el SIM-11 simuló lo que se convertiría en el PDP-11/20 y Bob Bowers escribió un ensamblador para ello. [7]
En una etapa posterior, el equipo de marketing quería enviar el sistema con 2K de memoria [a] como configuración mínima. Cuando McGowan afirmó que esto significaría que un ensamblador no podría ejecutarse en el sistema, el mínimo se amplió a 4K. El equipo de marketing también quería utilizar el carácter de barra diagonal para los comentarios en el código ensamblador, como era el caso en el ensamblador PDP–8. McGowan declaró que entonces tendría que usar punto y coma para indicar división, y la idea fue descartada. [7]
La familia PDP-11 se anunció en enero de 1970 y los envíos comenzaron a principios de ese año. DEC vendió más de 170.000 PDP-11 en la década de 1970. [8]
Inicialmente fabricado con lógica de transistor-transistor a pequeña escala , en 1975 se desarrolló una versión de integración a gran escala de una sola placa . En 1979 se desarrolló un procesador de dos o tres chips, el J-11 .
Los últimos modelos de la línea PDP-11 fueron los de placa única PDP-11/94 y PDP-11/93 introducidos en 1990. [9]
La arquitectura del procesador PDP-11 tiene un conjunto de instrucciones mayoritariamente ortogonal . Por ejemplo, en lugar de instrucciones como cargar y almacenar , el PDP-11 tiene una instrucción de movimiento para la cual cualquiera de los operandos (origen y destino) puede ser memoria o registro. No hay instrucciones específicas de entrada o salida ; el PDP–11 usa E/S asignadas en memoria y, por lo tanto , se usa la misma instrucción de movimiento ; la ortogonalidad incluso permite mover datos directamente desde un dispositivo de entrada a un dispositivo de salida. Las instrucciones más complejas, como agregar, también pueden tener memoria, registro, entrada o salida como origen o destino.
La mayoría de los operandos pueden aplicar cualquiera de los ocho modos de direccionamiento a ocho registros. Los modos de direccionamiento proporcionan direccionamiento de registro, inmediato, absoluto, relativo, diferido (indirecto) e indexado, y pueden especificar el incremento y la decrementación automáticos de un registro en uno (instrucciones de byte) o dos (instrucciones de palabra). El uso del direccionamiento relativo permite que un programa en lenguaje de máquina sea independiente de la posición .
Los primeros modelos del PDP-11 no tenían un bus dedicado para entrada/salida , sino sólo un bus de sistema llamado Unibus , ya que los dispositivos de entrada y salida estaban asignados a direcciones de memoria.
Un dispositivo de entrada/salida determinaba las direcciones de memoria a las que respondería y especificaba su propio vector de interrupción y prioridad de interrupción . Este marco flexible proporcionado por la arquitectura del procesador hizo que fuera inusualmente fácil inventar nuevos dispositivos de bus, incluidos dispositivos para controlar hardware que no se habían contemplado cuando se diseñó originalmente el procesador. DEC publicó abiertamente las especificaciones básicas de Unibus, incluso ofreció prototipos de placas de circuito de interfaz de bus y alentó a los clientes a desarrollar su propio hardware compatible con Unibus.
Unibus hizo que el PDP-11 fuera adecuado para periféricos personalizados. Uno de los predecesores de Alcatel-Lucent , Bell Telephone Manufacturing Company , desarrolló la red de conmutación de paquetes ( X.25 ) BTMC DPS-1500 y utilizó PDP-11 en el sistema de gestión de red regional y nacional, con el Unibus conectado directamente a el hardware DPS-1500.
Los miembros de mayor rendimiento de la familia PDP-11 abandonaron el enfoque de autobús único. El PDP–11/45 tenía una ruta de datos dedicada dentro de la CPU , que conectaba la memoria semiconductora al procesador, con la memoria central y los dispositivos de E/S conectados a través del Unibus. [10] En el PDP–11/70, esto se llevó un paso más allá, con la adición de una interfaz dedicada entre discos, cintas y memoria, a través del Massbus . Aunque los dispositivos de entrada/salida continuaron mapeándose en direcciones de memoria, fue necesaria cierta programación adicional para configurar las interfaces de bus agregadas.
El PDP–11 admite interrupciones de hardware en cuatro niveles de prioridad. Las interrupciones son atendidas por rutinas de servicio de software, que podrían especificar si ellas mismas podrían ser interrumpidas (logrando anidamiento de interrupciones ). El evento que provoca la interrupción lo indica el propio dispositivo, ya que informa al procesador la dirección de su propio vector de interrupción.
Los vectores de interrupción son bloques de dos palabras de 16 bits en un espacio de direcciones del kernel bajo (que normalmente correspondía a una memoria física baja) entre 0 y 776. La primera palabra del vector de interrupción contiene la dirección de la rutina del servicio de interrupción y la segunda palabra el valor. que se cargará en el PSW (nivel de prioridad) al ingresar a la rutina de servicio.
El PDP-11 fue diseñado para facilitar su fabricación por parte de mano de obra semicalificada. Las dimensiones de sus piezas eran relativamente poco críticas. Utilizaba un backplane envuelto en alambre .
El LSI-11 (PDP-11/03), introducido en febrero de 1975 [9] es el primer modelo PDP-11 producido mediante integración a gran escala ; toda la CPU está contenida en cuatro chips LSI fabricados por Western Digital (el conjunto de chips MCP-1600 ; se puede agregar un quinto chip para ampliar el conjunto de instrucciones). Utiliza un autobús que es una variante cercana del Unibus llamado LSI Bus o Q-Bus ; se diferencia del Unibus principalmente en que las direcciones y los datos se multiplexan en un conjunto compartido de cables en lugar de tener conjuntos de cables separados. También difiere ligeramente en cómo aborda los dispositivos de E/S y eventualmente permitió una dirección física de 22 bits (mientras que Unibus solo permite una dirección física de 18 bits) y operaciones en modo bloque para un ancho de banda significativamente mejorado (que Unibus no permite). apoyo).
El microcódigo de la CPU incluye un depurador : firmware con una interfaz serie directa ( RS-232 o bucle de corriente ) a un terminal . Esto permite al operador realizar la depuración escribiendo comandos y leyendo números octales , en lugar de operar interruptores y leer luces, el método de depuración típico en ese momento. De este modo, el operador puede examinar y modificar los registros, la memoria y los dispositivos de entrada/salida de la computadora, diagnosticando y quizás corrigiendo fallas en el software y los periféricos (a menos que una falla desactive el microcódigo en sí). El operador también puede especificar desde qué disco arrancar . Ambas innovaciones aumentaron la confiabilidad y redujeron el costo del LSI-11.
Se podría agregar una opción de almacén de control de escritura (WCS) (KUV11-AA) al LSI-11. Esta opción permitió la programación de la micromáquina interna de 8 bits para crear extensiones específicas de la aplicación para el conjunto de instrucciones PDP-11. El WCS es una placa Q-Bus cuádruple con un cable plano que se conecta al tercer zócalo ROM de microcódigo. Se incluyó el código fuente del microcódigo EIS/FIS para que estas instrucciones, normalmente ubicadas en el tercer MICROM, pudieran cargarse en el WCS, si se desea. [11]
Los sistemas posteriores basados en Q-Bus, como LSI–11/23, /73 y /83, se basan en conjuntos de chips diseñados internamente por Digital Equipment Corporation. Los sistemas PDP-11 Unibus posteriores se diseñaron para utilizar tarjetas de procesador Q-Bus similares, utilizando un adaptador Unibus para admitir los periféricos Unibus existentes , a veces con un bus de memoria especial para mejorar la velocidad.
Hubo otras innovaciones importantes en la línea Q-Bus. Por ejemplo, una variante del sistema PDP–11/03 introdujo la autoprueba de encendido (POST) de todo el sistema.
El diseño básico del PDP-11 era flexible y se actualizaba continuamente para utilizar tecnologías más nuevas. Sin embargo, el rendimiento limitado de Unibus y Q-Bus comenzó a convertirse en un cuello de botella en el rendimiento del sistema y la limitación de direcciones lógicas de 16 bits obstaculizó el desarrollo de aplicaciones de software más grandes. El artículo sobre la arquitectura PDP-11 describe las técnicas de hardware y software utilizadas para solucionar las limitaciones del espacio de direcciones.
El sucesor de 32 bits del PDP–11 de DEC, el VAX–11 (para "Virtual Address eXtension") superó la limitación de 16 bits, pero inicialmente era una superminicomputadora dirigida al mercado de tiempo compartido de alta gama. Las primeras CPU VAX proporcionaban un modo de compatibilidad PDP-11 bajo el cual gran parte del software existente podía usarse inmediatamente, en paralelo con el software más nuevo de 32 bits, pero esta capacidad se eliminó con el primer MicroVAX .
Durante una década, el PDP-11 fue el sistema más pequeño que podía ejecutar Unix , [12] pero en la década de 1980, la IBM PC y sus clones se apoderaron en gran medida del mercado de las computadoras pequeñas; BYTE en 1984 informó que el microprocesador Intel 8088 de la PC podía superar al PDP–11/23 cuando se ejecutaba Unix. [13] Los microprocesadores más nuevos, como el Motorola 68000 (1979) y el Intel 80386 (1985), también incluían direccionamiento lógico de 32 bits. El 68000 en particular facilitó el surgimiento de un mercado de estaciones de trabajo científicas y técnicas cada vez más potentes que a menudo ejecutaban variantes de Unix. Estos incluían el HP 9000 serie 200 (comenzando con el HP 9826A en 1981) y el 300/400, y el sistema HP-UX se transfirió al 68000 en 1984; Estaciones de trabajo Sun Microsystems que ejecutan SunOS , comenzando con el Sun-1 en 1982; Estaciones de trabajo Apollo/Domain a partir del DN100 en 1981 con Domain/OS , que era propietario pero ofrecía cierto grado de compatibilidad con Unix; y la gama Silicon Graphics IRIS , que se desarrolló hasta convertirse en estaciones de trabajo basadas en Unix en 1985 (IRIS 2000).
Podría decirse que las computadoras personales basadas en el 68000, como Apple Lisa y Macintosh , Atari ST y Commodore Amiga , constituían una amenaza menor para el negocio de DEC, aunque técnicamente estos sistemas también podían ejecutar derivados de Unix. En los primeros años, en particular, Xenix de Microsoft fue portado a sistemas como el TRS-80 Modelo 16 (con hasta 1 MB de memoria) en 1983, y al Apple Lisa, con hasta 2 MB de RAM instalada. en 1984. La producción en masa de esos chips eliminó cualquier ventaja de costos para el PDP-11 de 16 bits. Una línea de computadoras personales basada en la PDP-11, la serie DEC Professional , fracasó comercialmente, junto con otras ofertas de PC que no son PDP-11 de DEC.
En 1994, DEC [14] vendió los derechos de software del sistema PDP-11 a Mentec Inc., un productor irlandés de placas basadas en LSI-11 para computadoras personales con arquitectura Q-Bus e ISA, y en 1997 descontinuó la producción de PDP-11. Durante varios años, Mentec produjo nuevos procesadores PDP–11. Otras empresas encontraron un nicho de mercado para reemplazar procesadores PDP-11 heredados, subsistemas de disco, etc. Al mismo tiempo, estuvieron disponibles implementaciones gratuitas de Unix para PC basadas en BSD o Linux .
A finales de la década de 1990, no sólo DEC sino la mayor parte de la industria informática de Nueva Inglaterra, que se había construido alrededor de minicomputadoras similares al PDP-11, colapsó frente a las estaciones de trabajo y servidores basados en microcomputadoras.
Los procesadores PDP–11 tienden a dividirse en varios grupos naturales dependiendo del diseño original en el que se basan y del bus de E/S que utilizan. Dentro de cada grupo, la mayoría de los modelos se ofrecieron en dos versiones, una destinada a fabricantes de equipos originales y otra a usuarios finales. Aunque todos los modelos comparten el mismo conjunto de instrucciones, los modelos posteriores agregaron nuevas instrucciones e interpretaron ciertas instrucciones de manera ligeramente diferente. A medida que la arquitectura evolucionó, también hubo variaciones en el manejo de algunos registros de control y estado del procesador.
Los siguientes modelos utilizan el Unibus como autobús principal:
Los siguientes modelos utilizan el Q-Bus como bus principal:
La serie PDT eran sistemas de escritorio comercializados como "terminales inteligentes". Los modelos /110 y /130 estaban alojados en un gabinete de terminal VT100 . El /150 estaba alojado en una unidad de mesa que incluía dos unidades de disquete de 8 pulgadas, tres puertos serie asíncronos, un puerto de impresora, un puerto de módem y un puerto serie síncrono y requería un terminal externo. Los tres emplearon el mismo conjunto de chips que se usó en el LSI-11/03 y el LSI-11/2 en cuatro "micras". Existe una opción que combina dos de los micrometros en un portador dual, liberando un zócalo para un chip EIS/FIS. El /150 en combinación con un terminal VT105 también se vendió como MiniMINC, una versión económica del MINC-11.
La serie DEC Professional son PC de escritorio destinadas a competir con las anteriores computadoras personales basadas en 8088 y 80286 de IBM. Los modelos están equipados con disqueteras de 5 1⁄4 pulgadas y discos duros, excepto el 325 que no tiene disco duro . El sistema operativo original era P/OS, que era esencialmente RSX-11 M+ con un sistema de menús en la parte superior. Como el diseño pretendía evitar el intercambio de software con los modelos PDP-11 existentes, la mala respuesta del mercado no fue sorprendente. El sistema operativo RT-11 finalmente se transfirió a la serie PRO. También se realizó una adaptación interna del sistema operativo RSTS/E a la serie PRO para DEC, pero no se lanzó. Las unidades PRO-325 y -350 se basan en el chipset DCF-11 ("Fonz"), el mismo que se encuentra en 11/23, 11/23+ y 11/24. El PRO-380 se basa en el chipset DCJ-11 ("Jaws"), el mismo que se encuentra en el 11/53,73,83 y otros, aunque funciona sólo a 10 MHz debido a limitaciones en el chipset de soporte.
El PDP-11 fue lo suficientemente popular como para que en los países del Bloque del Este se produjeran muchas minicomputadoras y microcomputadoras compatibles con PDP-11 sin licencia . Algunos eran compatibles con pines con el PDP-11 y podían usar sus periféricos y software del sistema. Éstas incluyen:
Varios sistemas operativos estaban disponibles para el PDP-11.
El servidor de comunicaciones DECSA era una plataforma de comunicaciones desarrollada por DEC basada en un PDP–11/24, con capacidad para tarjetas de E/S instalables por el usuario, incluidos módulos asíncronos y síncronos. [44] Este producto se utilizó como una de las primeras plataformas comerciales sobre las cuales se podían construir productos de red, incluidas puertas de enlace X.25, puertas de enlace SNA , enrutadores y servidores de terminales .
También estaban disponibles adaptadores Ethernet, como la tarjeta DEQNA Q-Bus .
Muchos de los primeros sistemas de ARPANET fueron PDP-11.
Había disponible una amplia gama de periféricos; algunos de ellos también se utilizaron en otros sistemas DEC como el PDP–8 o el PDP–10 . Los siguientes son algunos de los periféricos PDP-11 más comunes.
La familia de computadoras PDP-11 se utilizó para muchos propósitos. Se utilizó como minicomputadora estándar para informática de propósito general, como informática de tiempo compartido , científica, educativa, médica, gubernamental o empresarial. Otra aplicación común fue el control de procesos en tiempo real y la automatización de fábricas .
Algunos modelos OEM también se utilizaban con frecuencia como sistemas integrados para controlar sistemas complejos como sistemas de semáforos, sistemas médicos, mecanizado con control numérico o para gestión de redes. Un ejemplo de tal uso de PDP-11 fue la gestión de la red de conmutación de paquetes Datanet 1. En la década de 1980, el procesamiento de radar de control de tráfico aéreo del Reino Unido se llevó a cabo en un sistema PDP 11/34 conocido como PRDS (Sistema de visualización de radar procesado en la RAF). Oeste Drayton. [ cita necesaria ] El software para el acelerador de partículas lineal médico Therac-25 también se ejecutó en un PDP 32K 11/23. [45] En 2013, se informó que se necesitarían programadores PDP-11 para controlar las plantas de energía nuclear hasta 2050. [46]
Otro uso fue el almacenamiento de programas de prueba para equipos Teradyne ATE , en un sistema conocido como TSD (Test System Director). Como tales, estuvieron en uso hasta que su software quedó inoperable debido al problema del año 2000 . La Marina de los EE. UU. utilizó un PDP-11/34 para controlar su dispositivo de desorientación espacial multiestación, un simulador utilizado en el entrenamiento de pilotos, hasta 2007, cuando fue reemplazado por un emulador basado en PC que podía ejecutar el software PDP-11 original y Interfaz con tarjetas controladoras Unibus personalizadas. [47]
Se utilizó un PDP–11/45 para el experimento que descubrió el mesón J/ψ en el Laboratorio Nacional Brookhaven . [48] En 1976, Samuel CC Ting recibió el Premio Nobel por este descubrimiento. Se utilizó otro PDP-11/45 para crear los planos de la Estrella de la Muerte durante la secuencia informativa en Star Wars . [ cita necesaria ]
Ersatz-11, un producto de D Bit, [49] emula el conjunto de instrucciones PDP-11 que se ejecuta en DOS, OS/2, Windows, Linux o bare metal (sin sistema operativo). Se puede utilizar para ejecutar RSTS u otros sistemas operativos PDP-11.
SimH es un emulador que compila y se ejecuta en varias plataformas (incluido Linux ) y admite la emulación de hardware para DEC PDP–1, PDP–8, PDP–10, PDP–11, VAX, AltairZ80, varios mainframes IBM y otros. minicomputadoras.
Todos los modelos DEC Datasystem 350 tienen CPU PDP–11/10
{{cite book}}
: Mantenimiento CS1: varios nombres: lista de autores ( enlace ){{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace )