stringtranslate.com

PDP-10

Sistemas PDP-10 en ARPANET resaltados en amarillo

El PDP-10 de Digital Equipment Corporation (DEC) , posteriormente comercializado como DECsystem-10 , es una familia de computadoras centrales [1] fabricada a partir de 1966 [2] y descontinuada en 1983. [3] [4] [5] Década de 1970 Los modelos y más allá se comercializaron bajo el nombre DECsystem-10, especialmente cuando el sistema operativo TOPS-10 se volvió ampliamente utilizado. [a]

La arquitectura del PDP-10 es casi idéntica a la del anterior PDP-6 de DEC , comparte la misma longitud de palabra de 36 bits y amplía ligeramente el conjunto de instrucciones. La principal diferencia fue una implementación de hardware muy mejorada. Algunos aspectos del conjunto de instrucciones son inusuales, en particular las instrucciones de bytes , que operan en campos de bits de cualquier tamaño de 1 a 36 bits inclusive, según la definición general de un byte como una secuencia contigua de un número fijo de bits .

El PDP-10 se encontró en muchas instalaciones informáticas y laboratorios de investigación universitarios durante la década de 1970, siendo los más notables el Laboratorio de Computación Aiken de la Universidad de Harvard , el Laboratorio de IA y el Proyecto MAC del MIT , SAIL de Stanford y Computer Center Corporation (CCC). , ETH (ZIR) y la Universidad Carnegie Mellon . Sus principales sistemas operativos , TOPS-10 y TENEX , se utilizaron para construir las primeras ARPANET . Por estas razones, el PDP-10 ocupa un lugar preponderante en el folclore de los primeros piratas informáticos .

Los proyectos para ampliar la línea PDP-10 fueron eclipsados ​​por el éxito de la superminicomputadora VAX no relacionada , y la cancelación de la línea PDP-10 se anunció en 1983. Según los informes, DEC vendió "alrededor de 1500 DECsystem-10 a finales de 1980". ". [6]

Modelos y evolución técnica.

Flip Chip de un DEC KA10, que contiene 9 transistores, 1971
Terminador de bus de memoria de cierre rápido, usado en KI10, 1973
Plano posterior de CPU con envoltura de alambre KL10

El procesador PDP-10 original es el KA10, introducido en 1968. [7] Utiliza transistores discretos empaquetados en la tecnología Flip-Chip de DEC , con cables de placa posterior envueltos mediante un proceso de fabricación semiautomático. Su tiempo de ciclo es de 1 μs y su tiempo de adición de 2,1 μs. [8] En 1973, el KA10 fue reemplazado por el KI10, que utiliza lógica transistor-transistor (TTL) SSI . A este se unió en 1975 el KL10 de mayor rendimiento (variantes posteriores más rápidas), que está construido a partir de lógica acoplada por emisor (ECL), microprogramado y tiene memoria caché . El rendimiento del KL10 fue de aproximadamente 1 megaflops utilizando números de punto flotante de 36 bits en reducción de filas de matriz. Era un poco más rápido que el VAX-11/750 más nuevo , aunque tenía más memoria limitada.

En 1978 se introdujo un modelo más pequeño y menos costoso, el KS10, que utilizaba componentes de segmento de bits TTL y Am2901 e incluía el PDP-11 Unibus para conectar periféricos. El KS10 se comercializó como DECSYSTEM-2020, parte de la gama DECSYSTEM-20; fue la entrada de DEC en el campo del procesamiento distribuido y se presentó como "el sistema informático mainframe de menor costo del mundo". [9]

KA10

El KA10 tiene una capacidad máxima de memoria principal (tanto virtual como física) de 256 kilopalabras (equivalente a 1152 kilobytes ); la memoria principal mínima requerida es de 16 kilopalabras. Según lo suministrado por DEC, no incluía hardware de localización ; La gestión de la memoria consta de dos conjuntos de registros de protección y reubicación, llamados registros de base y límites . Esto permite que cada mitad del espacio de direcciones de un usuario se limite a una sección determinada de la memoria principal , designada por la dirección física base y el tamaño. Esto permite el modelo de segmento de código compartible de solo lectura separado (normalmente el segmento alto) y segmento de pila /datos de lectura y escritura (normalmente el segmento bajo) utilizado por TOPS-10 y luego adoptado por Unix . Algunas máquinas KA10, primero en el MIT y luego en Bolt, Beranek y Newman (BBN), fueron modificadas para agregar memoria virtual [10] [11] y soporte para paginación bajo demanda , [12] [13] y más memoria física.

El KA10 pesa alrededor de 1920 libras (870 kg). [14]

La 10/50 era la máquina KA con procesador único de primera línea [15] en el momento en que se introdujo el paquete de software PA1050 . Otros dos modelos KA10 fueron el monoprocesador 10/40 y el doble procesador 10/55. [16] [b]

RI10

El KI10 introdujo soporte para la administración de memoria paginada y también admite un espacio de direcciones físicas más grande de 4 megapalabras . Los modelos KI10 incluyen 1060, 1070 y 1077, este último incorpora dos CPU.

KL10

CPU KL10-DA 1090 y 6 módulos de memoria

Los modelos originales KL10 PDP-10 (también comercializados como DECsystem-10) (1080, 1088, etc.) utilizan el bus de memoria PDP-10 original, con módulos de memoria externos. En este contexto, módulo significaba un gabinete, con unas dimensiones aproximadas (WxHxD) de 30 x 75 x 30 pulgadas con una capacidad de 32 a 256 kWpalabras de memoria de núcleo magnético . Los procesadores utilizados en el DECSYSTEM-20 (2040, 2050, 2060, 2065), comúnmente pero incorrectamente llamados "KL20", utilizan memoria interna, montada en el mismo gabinete que la CPU . Los modelos 10xx también tienen empaques diferentes; Vienen en los gabinetes altos originales PDP-10, en lugar de los cortos que se usaron más tarde para el DECSYSTEM-20. Las diferencias entre los modelos 10xx y 20xx fueron principalmente el sistema operativo que ejecutaban, ya sea TOPS-10 o TOPS-20 . Aparte de eso, las diferencias son más cosméticas que reales; algunos sistemas 10xx tienen memoria interna y E/S de "estilo 20", y algunos sistemas 20xx tienen memoria externa de "estilo 10" y un bus de E/S. En particular, todos los sistemas ARPAnet TOPS-20 tenían un bus de E/S porque la interfaz AN20 IMP era un dispositivo de bus de E/S. Ambos podrían ejecutar el microcódigo TOPS-10 o TOPS-20 y, por tanto, el sistema operativo correspondiente.

Modelo B

La última versión Modelo B de los procesadores 2060 elimina el límite de 256 kilopalabras en el espacio de direcciones virtuales al admitir hasta 32 "secciones" de hasta 256 kilopalabras cada una, junto con cambios sustanciales en el conjunto de instrucciones. Las dos versiones son CPU efectivamente diferentes. El primer sistema operativo que aprovecha las capacidades del Modelo B es TOPS-20 versión 3, y el direccionamiento extendido en modo de usuario se ofrece en TOPS-20 versión 4. Las versiones de TOPS-20 posteriores a la versión 4.1 solo se ejecutan en un Modelo B.

Las versiones 7.02 y 7.03 de TOPS-10 también usan direccionamiento extendido cuando se ejecutan en un procesador Modelo B 1090 (o 1091) que ejecuta el microcódigo TOPS-20.

MCA25

La actualización final del KL10 fue la actualización MCA25 de 2060 a 2065 (o de 1091 a 1095), que proporcionó algunos aumentos de rendimiento para programas que se ejecutan en varias secciones.

autobús de masas

La arquitectura de E/S de las máquinas KL de la serie 20xx se basa en un diseño de bus DEC llamado Massbus . Si bien muchos atribuyeron el éxito del PDP-11 a la decisión de DEC de hacer del PDP-11 Unibus una arquitectura abierta, DEC volvió a la filosofía anterior con el KL, haciendo que Massbus sea único y patentado. En consecuencia, no había fabricantes de periféricos del mercado de accesorios que fabricaran dispositivos para Massbus, y DEC decidió fijar el precio de sus propios dispositivos Massbus, en particular la unidad de disco RP06, con una prima sustancial por encima de los dispositivos comparables compatibles con IBM. CompuServe, por ejemplo, diseñó su propio controlador de disco alternativo que podía funcionar en Massbus, pero conectarse a subsistemas de disco estilo IBM 3330.

Procesadores frontales

Interfaz KL10 PDP-11/40

Las máquinas clase KL cuentan con un procesador frontal PDP-11/40 para el inicio y monitoreo del sistema. El PDP-11 se inicia desde una unidad de disco RP06 de doble puerto (o, alternativamente, desde una unidad de disquete de 8" o DECtape ), y luego se pueden dar comandos al PDP-11 para iniciar el procesador principal, que normalmente se inicia desde La misma unidad de disco RP06 que el PDP-11. El PDP-11 realiza funciones de vigilancia una vez que el procesador principal está en ejecución.

La comunicación con los mainframes IBM, incluida la entrada remota de trabajos (RJE), se logró mediante un procesador frontal DN61 o DN-64, utilizando un PDP-11/40 o PDP-11/34a. [17] [18]

KS10

KS10

El KS10 es un PDP-10 de menor costo construido con chips AMD de 2901 bits , con un microprocesador Intel 8080A como procesador de control. [19] El diseño del KS10 quedó paralizado para ser un Modelo A a pesar de que la mayoría de las rutas de datos necesarias para soportar la arquitectura del Modelo B están presentes. Sin duda, esto tenía como objetivo segmentar el mercado , pero acortó enormemente la vida útil del producto KS10.

El sistema KS utiliza un procedimiento de arranque similar al del KL10. El procesador de control 8080 carga el microcódigo desde un disco o cinta magnética RM03, RM80 o RP06 y luego inicia el procesador principal. El 8080 cambia de modo después de que se inicia el sistema operativo y controla la consola y los puertos serie de diagnóstico remoto.

Unidades de cinta magnética

El subsistema de control de cinta magnética TM10 admitía dos modelos de unidades de cinta :

Se podría admitir una combinación de hasta ocho de estos, utilizando dispositivos de siete o nueve pistas . El TU20 y el TU30 venían en versiones A (9 pistas) y B (7 pistas), y todas las unidades de cinta antes mencionadas podían leer/escribir desde/hacia cintas compatibles con IBM de 200 BPI , 556 BPI y 800 BPI.

El controlador TM10 Magtape estaba disponible en dos submodelos:

Set de instrucciones arquitectura

Desde los primeros PDP-6 hasta el KL-10 y el KS-10, la arquitectura del conjunto de instrucciones en modo de usuario es prácticamente la misma. Esta sección cubre esa arquitectura. El único cambio importante en la arquitectura es la adición de direccionamiento extendido de múltiples secciones en el KL-10; Al final se analiza brevemente el direccionamiento extendido, que cambia el proceso de generación de la dirección efectiva de una instrucción. Generalmente, el sistema tiene palabras e instrucciones de 36 bits y direcciones de 18 bits.

Registros

Hay 16 registros de 36 bits de uso general. La mitad derecha de estos registros (distintos del registro 0) se puede utilizar para la indexación. Algunas instrucciones operan en pares de registros. El registro "PC Word" está dividido por la mitad; los 18 bits de la derecha contienen el contador del programa y los 13 bits de la izquierda contienen las banderas de estado del procesador , con cinco ceros entre las dos secciones. A los bits del registro de condición, que registran los resultados de operaciones aritméticas ( p. ej. desbordamiento), sólo se puede acceder mediante unas pocas instrucciones.

En los sistemas KA-10 originales, estos registros son simplemente las primeras 16 palabras de la memoria principal . La opción de hardware "registros rápidos" los implementa como registros en la CPU, aún direccionables como las primeras 16 palabras de memoria. Algunos programas aprovechan esto utilizando los registros como caché de instrucciones , cargando código en los registros y luego saltando a la dirección apropiada; esto se usa, por ejemplo, en Maclisp para implementar una versión del recolector de basura . [21] Todos los modelos posteriores tienen registros en la CPU.

Modo supervisor

Hay dos modos operativos, modo supervisor y modo usuario. Además de la diferencia en las referencias a la memoria descrita anteriormente, los programas en modo supervisor pueden ejecutar operaciones de entrada/salida.

La comunicación del modo usuario al modo supervisor se realiza a través de operaciones de usuario no implementadas (UUO): instrucciones que no están definidas por el hardware y quedan atrapadas por el supervisor. Este mecanismo también se utiliza para emular operaciones que pueden no tener implementaciones de hardware en modelos más baratos.

Tipos de datos

Los principales tipos de datos que son directamente compatibles con la arquitectura son la aritmética de enteros de 36 bits en complemento a dos (incluidas las operaciones bit a bit), el punto flotante de 36 bits y las medias palabras. El punto flotante extendido de 72 bits se admite mediante instrucciones especiales diseñadas para usarse en secuencias de múltiples instrucciones. Los punteros de bytes están respaldados por instrucciones especiales. Una palabra estructurada como una mitad de "recuento" y una mitad de "puntero" facilita el uso de regiones limitadas de la memoria, en particular pilas .

Instrucciones

Las instrucciones se almacenan en palabras de 36 bits. Hay dos formatos, instrucciones generales e instrucciones de entrada/salida . [22]

En las instrucciones generales, los 9 bits más a la izquierda, del 0 al 8, contienen un código de operación de instrucción . Muchos de los posibles códigos 512 no están definidos en las máquinas del modelo base y están reservados para expansión como la adición de una unidad de punto flotante de hardware . Después del código de operación en los bits 9 a 12 está el número de un registro que se utilizará para la instrucción. Todas las instrucciones de entrada/salida comienzan con los bits 0 a 2 establecidos en 1 (valor decimal 7), los bits 3 a 9 contienen un número de dispositivo y los bits 10 a 12 el código de operación de la instrucción. [22]

En ambos formatos, los bits 13 a 35 se utilizan para formar la "dirección efectiva", E. Los bits 18 a 35 contienen una dirección numérica constante, Y. Esta dirección se puede modificar sumando el valor de 18 bits en un registro, X, el número de registro indicado en los bits 14 a 17. Si se establecen en cero, no se utiliza ninguna indexación, lo que significa que el registro 0 no se puede utilizar para la indexación. El bit 13, I, indica dirección indirecta, lo que significa que la dirección efectiva final utilizada por la instrucción no es E, sino la dirección almacenada en la ubicación de memoria E. Cuando se utiliza dirección indirecta, los datos de la palabra E se interpretan de la misma manera que el diseño de la instrucción. instrucción; Los bits 0 a 12 se ignoran y los bits 13 a 35 forman I, X e Y como se indica arriba.

La ejecución de la instrucción comienza calculando E. Agrega el contenido del registro dado X (si no es 0) al desplazamiento Y; luego, si el bit indirecto es 1, se recupera el valor en E y se repite el cálculo de la dirección efectiva. Si I es 1 en el valor almacenado en E en la memoria, el sistema también pasará indirectamente a través de esa dirección, posiblemente siguiendo muchos de estos pasos. [22] Este proceso continúa hasta que se alcanza una palabra indirecta con un bit indirecto cero. Este tipo de dirección indirecta era una característica común de los diseños de procesadores de esta época.

En modo supervisor, las direcciones corresponden directamente a la memoria física. En modo de usuario, las direcciones se traducen a la memoria física. Los modelos anteriores le dan al proceso de usuario una memoria "alta" y "baja": las direcciones con un bit superior 0 usan un registro base y aquellas con un 1 usan otro. Cada segmento es contiguo. Las arquitecturas posteriores tienen acceso a memoria paginada, lo que permite espacios de direcciones no contiguos. Los registros de propósito general de la CPU también se pueden direccionar como ubicaciones de memoria 0 a 15.

Instrucciones generales

Hay tres clases principales de instrucciones generales: aritméticas, lógicas y de movimiento; salto condicional; salto condicional (que puede tener efectos secundarios). También hay varias clases más pequeñas.

Las operaciones aritméticas, lógicas y de movimiento incluyen variantes que operan de registro inmediato, de memoria a registro, de registro a memoria, de registro y memoria a ambos o de memoria a memoria. Dado que los registros pueden direccionarse como parte de la memoria, también se definen operaciones de registro a registro. (No todas las variantes son útiles, aunque están bien definidas). Por ejemplo, la operación ADD tiene como variantes ADDI (agregar una constante inmediata de 18 bits a un registro), ADDM (agregar contenidos de registro a una ubicación de memoria ) , ADDB (agregar a B oth, es decir, agregar el contenido del registro a la memoria y también poner el resultado en el registro). Un ejemplo más elaborado es HLROM ( M alf Izquierda a Derecha , Unos a la Memoria), que toma la mitad izquierda del contenido del registro, los coloca en la mitad derecha de la ubicación de la memoria y reemplaza la mitad izquierda del ubicación de la memoria con unos. Las instrucciones de media palabra también se utilizan para listas enlazadas: HLRZ es el operador Lisp CAR; HRRZ es CDR.

Las operaciones de salto condicional examinan el contenido del registro y saltan a una ubicación determinada según el resultado de la comparación. Todos los mnemotécnicos para estas instrucciones comienzan con JUMP, JUMPA que significa "saltar siempre" y JUMP que significa "saltar nunca"; como consecuencia del diseño simétrico del conjunto de instrucciones, contiene varias operaciones no operativas como JUMP. Por ejemplo, JUMPN A,LOC salta a la dirección LOC si el contenido del registro A no es cero. También hay saltos condicionales basados ​​en el registro de condición del procesador mediante la instrucción JRST. En KA10 y KI10, JRST es más rápido que JUMPA, por lo que el salto incondicional estándar es JRST.

Las operaciones de salto condicional comparan el contenido del registro y de la memoria y saltan la siguiente instrucción (que a menudo es un salto incondicional) dependiendo del resultado de la comparación. Un ejemplo sencillo es CAMN A,LOC, que compara el contenido del registro A con el contenido de la ubicación LOC y omite la siguiente instrucción si no son iguales. Un ejemplo más elaborado es TLCE A,LOC (léase "Prueba del complemento izquierdo, omita si es igual"), que utilizando el contenido de LOC como máscara, selecciona los bits correspondientes en la mitad izquierda del registro A. Si todos esos bits son E igual a cero, omita la siguiente instrucción; y en cualquier caso sustituir esos bits por su complemento booleano.

Algunas clases de instrucción más pequeñas incluyen instrucciones de cambio/rotación y instrucciones de llamada a procedimiento. Particularmente notables son las instrucciones de pila PUSH y POP, y las correspondientes instrucciones de llamada de pila PUSHJ y POPJ. Las instrucciones de byte utilizan un formato especial de palabra indirecta para extraer y almacenar campos de bits de tamaño arbitrario, posiblemente avanzando un puntero a la siguiente unidad. [C]

Instrucciones de entrada/salida

El PDP-10 no utiliza dispositivos mapeados en memoria , a diferencia del PDP-11 y máquinas DEC posteriores. Se utiliza un conjunto de instrucciones separado para mover datos hacia y desde dispositivos definidos por un número de dispositivo en la instrucción. Los bits 3 a 9 contienen el número de dispositivo; los 7 bits permiten un total de 128 dispositivos. Las instrucciones permiten el movimiento de datos hacia y desde dispositivos en palabra a la vez (DATAO y DATAI) o bloque a la vez (BLKO, BLKI). [23]

En el modo de bloque, el valor señalado por E es una palabra en la memoria que se divide en dos, los 18 bits de la derecha indican una dirección inicial en la memoria donde se ubican (o se escriben) los datos y los 18 bits de la izquierda son un contador. Las instrucciones de bloque incrementan ambos valores cada vez que se llaman, aumentando así el contador y pasando a la siguiente ubicación en la memoria. Luego realiza un DATAO o DATAI. Finalmente, verifica el lado del contador del valor en E; si es distinto de cero, se salta la siguiente instrucción. Si es cero, realiza la siguiente instrucción, normalmente un SALTO hacia la parte superior del bucle. [24] Las instrucciones BLK son efectivamente pequeños programas que realizan un bucle sobre un DATO e incrementan instrucciones, pero al tener esto implementado en el propio procesador, evita la necesidad de leer repetidamente la serie de instrucciones de la memoria principal y, por lo tanto, realiza el bucle mucho más. rápidamente. [25]

El conjunto final de instrucciones de E/S se utiliza para escribir y leer códigos de condición en el dispositivo, CONO y CONI. [26] Además, CONSZ realizará un CONI, aplicará una máscara de bits a los datos recuperados con el valor en E y luego omitirá la siguiente instrucción si es cero, usado de manera similar a los comandos BLK. En CONSZ sólo se prueban los 18 bits correctos. [27]

Manejo de interrupciones

Un segundo uso de la instrucción CONO es establecer el nivel de prioridad del dispositivo para el manejo de interrupciones . Hay tres bits en la instrucción CONO, del 33 al 35, que permiten configurar el dispositivo en los niveles 0 a 7. El nivel 1 es el más alto, lo que significa que si dos dispositivos generan una interrupción al mismo tiempo, el dispositivo con el número más bajo comenzar a procesar. El nivel 0 significa "sin interrupciones", por lo que un dispositivo configurado en el nivel 0 no detendrá el procesador incluso si genera una interrupción. [28]

Cada canal del dispositivo tiene dos ubicaciones de memoria asociadas, una en 40+2N y la otra en 41+2N, donde N es el número de canal. Por lo tanto, el canal 1 usa las ubicaciones 42 y 43. Cuando la interrupción se recibe y acepta, lo que significa que ya no se está ejecutando ninguna interrupción de mayor prioridad, el sistema se detiene en la siguiente parte del ciclo de instrucción de lectura de memoria y en su lugar comienza a procesar en la dirección almacenada en el primero de esos dos lugares. Depende del manejador de interrupciones desactivar el nivel de interrupción cuando se completa, lo que puede hacer ejecutando una instrucción CONO, DATA o BLK. [28]

Dos de los números de dispositivo están reservados para fines especiales. El dispositivo 0 es la consola del panel frontal de la computadora; la lectura de ese dispositivo recupera la configuración de los interruptores del panel mientras que la escritura enciende las lámparas de estado. El dispositivo 4 es la "interrupción prioritaria", que se puede leer usando CONI para obtener información adicional sobre una interrupción que ha ocurrido. [29]

Direccionamiento extendido

En los procesadores que admiten direccionamiento extendido, el espacio de direcciones se divide en "secciones". Una dirección de 18 bits es una "dirección local", que contiene un desplazamiento dentro de una sección, y una "dirección global" es de 30 bits, dividida en un número de sección de 12 bits en la parte inferior de los 18 bits de la izquierda y un número de sección de 12 bits en la parte inferior de los 18 bits de la izquierda. desplazamiento dentro de esa sección en los 18 bits correctos. Un registro puede contener un "índice local", con un desplazamiento sin signo de 18 bits o una dirección local en los 18 bits derechos, o un "índice global", con un desplazamiento sin signo de 30 bits o una dirección global en los 30 bits derechos. Una palabra indirecta puede ser una "palabra indirecta local", con su bit superior configurado, los siguientes 12 bits reservados y los bits restantes siendo un bit indirecto, un código de registro de 4 bits y un desplazamiento de 18 bits, o una "palabra indirecta global", con su bit superior limpio, el siguiente bit es un bit indirecto, los siguientes 4 bits son un código de registro y los 30 bits restantes son un desplazamiento. [30] : 1-26–1-30 

El proceso de calcular la dirección efectiva genera un número de sección de 12 bits y un desplazamiento de 18 bits dentro de ese segmento. [30] : 1-26–1-30 

Software

Sistemas operativos

El sistema operativo original del PDP-10 se llamaba simplemente "Monitor", pero luego pasó a llamarse TOPS-10 . Finalmente, el sistema PDP-10 pasó a llamarse DECsystem-10. Las primeras versiones de Monitor y TOPS-10 formaron la base del sistema operativo WAITS de Stanford y del sistema de tiempo compartido CompuServe .

Con el tiempo, algunos operadores de PDP-10 comenzaron a ejecutar sistemas operativos ensamblados a partir de componentes importantes desarrollados fuera de DEC. Por ejemplo, el Programador principal puede provenir de una universidad, el Servicio de disco de otra, y así sucesivamente. Los servicios comerciales de tiempo compartido como CompuServe , On-Line Systems, Inc. (OLS) y Rapidata mantenían sofisticados grupos de programación de sistemas internos para poder modificar el sistema operativo según fuera necesario para sus propios negocios sin depender de DEC u otros. También existen sólidas comunidades de usuarios, como DECUS, a través de las cuales los usuarios pueden compartir el software que han desarrollado.

BBN desarrolló su propio sistema operativo alternativo, TENEX , que rápidamente se hizo popular en la comunidad de investigación. Posteriormente, DEC portó TENEX al KL10, lo mejoró considerablemente y lo llamó TOPS-20 , formando la línea DECSYSTEM-20.

El MIT , que había desarrollado CTSS, Sistema de tiempo compartido compatible para ejecutarse en su IBM 709 (y más tarde un sistema IBM 7094 modificado ), también desarrolló ITS, Sistema de tiempo compartido incompatible [31] para ejecutarse en su PDP-6 (y más tarde un sistema modificado de tiempo compartido). PDP-10); [ cita necesaria ]

Tymshare desarrolló TYMCOM-X , derivado de TOPS-10 pero utilizando un sistema de archivos basado en páginas como TOPS-20. [32]

Lenguajes de programación

DEC mantuvo el DECsystem-10 FORTRAN IV (F40) para el PDP-10 de 1967 a 1975 [33]

MACRO-10 (compilador de macros en lenguaje ensamblador), COBOL, BASIC y AID fueron compatibles con los monitores de intercambio y procesamiento múltiple. [34]

En la práctica, alrededor de 1970 estaban disponibles otros entornos de programación, incluidos LISP y SNOBOL, en el sitio del Politécnico de Hatfield.

Clones

Entre 1971 y 1972, los investigadores de Xerox PARC se sintieron frustrados por la negativa de la alta dirección de la empresa a permitirles comprar un PDP-10. Xerox acababa de comprar Scientific Data Systems (SDS) en 1969 y quería que PARC utilizara una máquina SDS. En cambio, un grupo liderado por Charles P. Thacker diseñó y construyó dos sistemas clon PDP-10 llamados MAXC (pronunciado Max, en honor a Max Palevsky , que había vendido SDS a Xerox) para su propio uso. MAXC también era un acrónimo de computadora Xerox de acceso múltiple. MAXC ejecutó una versión modificada de TENEX. [35]

Los intentos de terceros de vender clones de PDP-10 fueron relativamente infructuosos; consulte Foonly , Systems Concepts y XKL .

Uso por CompuServe

Una de las colecciones más grandes de sistemas de arquitectura DECsystem-10 jamás reunidas se encontraba en CompuServe , que, en su apogeo, operaba más de 200 sistemas débilmente acoplados en tres centros de datos en Columbus, Ohio . CompuServe utilizó estos sistemas como 'hosts', proporcionando acceso a aplicaciones comerciales y al Servicio de Información CompuServe. Si bien los primeros sistemas de este tipo se compraron a DEC, cuando DEC abandonó la arquitectura PDP-10 en favor del VAX , CompuServe y otros clientes de PDP-10 comenzaron a comprar computadoras compatibles con enchufes de Systems Concepts. En enero de 2007 , CompuServe operaba una pequeña cantidad de máquinas con arquitectura PDP-10 para realizar algunas funciones de facturación y enrutamiento.

Las principales fuentes de alimentación utilizadas en las máquinas de la serie KL eran tan ineficientes que los ingenieros de CompuServe diseñaron una fuente de repuesto que utilizaba aproximadamente la mitad de energía. CompuServe ofreció licenciar el diseño de su suministro de KL a DEC de forma gratuita si DEC prometía que cualquier KL nuevo comprado por CompuServe tendría instalado el suministro más eficiente. DEC rechazó la oferta.

Panel de luz MF10 con lámparas LED

Otra modificación realizada al PDP-10 por los ingenieros de CompuServe fue reemplazar los cientos de lámparas indicadoras incandescentes en el gabinete del procesador KI10 con módulos de lámparas LED. El costo de la conversión se compensó fácilmente con ahorros en el uso de electricidad, reducción de calor y mano de obra necesaria para reemplazar las lámparas quemadas. Digital siguió este paso en todo el mundo. La imagen del lado derecho muestra el panel de luz de la memoria MF10 que es contemporánea de la CPU KI10. Este artículo forma parte de un museo de informática y se llenó de LED en 2008 únicamente con fines de demostración. No había bancos similares de lámparas indicadoras en los procesadores KL y KS, solo en la memoria heredada y los dispositivos periféricos.

Cancelación e influencia

El PDP-10 finalmente fue eclipsado por las superminicomputadoras VAX (descendientes del PDP-11 ) cuando DEC reconoció que las líneas de productos PDP-10 y VAX competían entre sí y decidió concentrar su esfuerzo de desarrollo de software en el VAX más rentable. . La cancelación de la línea de productos PDP-10 se anunció en 1983, incluida la cancelación del proyecto Júpiter en curso para producir un nuevo procesador PDP-10 de alta gama (a pesar de que el proyecto estaba en buenas condiciones en el momento de la cancelación) y el proyecto Minnow para producir un PDP-10 de escritorio, que entonces puede haber estado en la etapa de creación de prototipos. [36]

Este evento significó la perdición de ITS y las culturas técnicas que habían generado el archivo de jerga original , pero en la década de 1990 se había convertido en una especie de insignia de honor entre los hackers de antaño haberse iniciado en un PDP-10.

Las instrucciones en lenguaje ensamblador PDP-10 LDB y DPB ( byte de carga/depósito ) siguen vivas como funciones en el lenguaje de programación Common Lisp . Consulte la sección "Referencias" del artículo LISP . El tamaño de palabra de 36 bits del PDP-6 y PDP-10 estuvo influenciado por la conveniencia de programación de tener 2 punteros LISP, cada uno de 18 bits, en una palabra.

Will Crowther creó Adventure , el prototipo de juego de aventuras por ordenador, para un PDP-10. Don Daglow creó el primer juego de béisbol para computadora (1971) y Dungeon (1975), el primer videojuego de rol en un PDP-10. Walter Bright creó originalmente Empire para el PDP-10. Roy Trubshaw y Richard Bartle crearon el primer MUD en un PDP-10. Zork fue escrito en el PDP-10. Infocom utilizó PDP-10 para el desarrollo y las pruebas de juegos. [37]

Bill Gates y Paul Allen escribieron originalmente Altair BASIC usando un simulador Intel 8080 ejecutándose en un PDP-10 en la Universidad de Harvard . Allen reutilizó el ensamblador PDP-10 como ensamblador cruzado para el chip 8080. [38] Poco después fundaron Microsoft .

Emulación o simulación

El software de simulación de ordenadores históricos, SIMH , contiene módulos para emular todos los modelos de CPU PDP-10 en una máquina basada en Windows o Unix. Copias de las cintas de distribución originales de DEC están disponibles para descargar desde Internet para que se pueda establecer un sistema TOPS-10 o TOPS-20 en funcionamiento. ITS y WAITS también están disponibles para SIMH. [39] [40]

El software KLH10 de Ken Harrenstien para sistemas tipo Unix emula un procesador KL10B con direccionamiento extendido y 4 MW de memoria o un procesador KS10 con 512 KW de memoria. La emulación KL10 admite la versión 442 del microcódigo KL10, lo que le permite ejecutar las versiones finales de TOPS-10 y TOPS-20. La emulación KS10 admite tanto el microcódigo ITS v.262 para la versión final de KS10 ITS como el microcódigo DEC v.130 para las versiones finales de KS TOPS-10 y TOPS-20. [41]

Este artículo se basa en parte en Jergon File , que es de dominio público.

Ver también

Notas

  1. ^ El nombre TOPS-10 se anunció en 1970.
  2. ^ también comercializado como 1040, 1050, 1055, según los modelos KI/KL como 1060, 1070, etc.
  3. ^ cf. Direccionamiento de bytes § Sistemas híbridos

Referencias

  1. ^ Ceruzzi, pag. 208, "Era grande; incluso la propia literatura de DEC llamaba [al PDP-10] una computadora central".
  2. ^ Ceruzzi, pag. 139
  3. ^ Winstanley, Graham (1991). Inteligencia artificial en ingeniería . West Sussex, Inglaterra: Wiley, Chichester. pag. 391.ISBN _ 9780471926030. PDP-10... fue descontinuado en 1983
  4. ^ "El PDP-10 se suspendió en 1983, pero el PDP-11 no se suspendió hasta 1997". ... con terceros que continúan vendiendo piezas, así que realmente no es eso ...
  5. ^ "¿Qué significa pdp-10?". definiciones.net . El PDP-10 era una familia de computadoras centrales fabricadas... la cancelación de la línea PDP-10 se anunció en 1983.
  6. ^ Larry Lettieri (noviembre de 1980). "Foonly desafía las patentes de DEC con un emulador". Mini-Micro Sistemas . págs.15, 17.
  7. ^ "Manual PDP10" (PDF) . Diciembre de 1968.
  8. ^ Digital Equipment Corporation, El manual de computadoras pequeñas digitales , p. 376
  9. ^ "DECSYSTEM-2020". gordonbell.azurewebsites.net .
  10. ^ Paseo, Theodore R.; Burchflel, Jerry D.; Tomlinson, Raymond S. (22 de julio de 1970). "Detalles técnicos del buscapersonas BBN modelo 701" (PDF) . Bolt, Beranek y Newman .
  11. ^ McNamee, LP (1976). "Un sistema de memoria virtual para el procesador PDP-10 KA10".
  12. ^ Bobrow, Daniel G .; Burchfiel, Jerry D.; Murphy, Daniel L .; Tomlinson, Raymond S. (marzo de 1972). "TENEX, un sistema de tiempo compartido paginado para el PDP-10" (PDF) . Comunicaciones de la ACM . 15 (3): 135-143. CiteSeerX 10.1.1.509.1454 . doi :10.1145/361268.361271. S2CID  52848167. Procesador PDP-10 aumentado con hardware de paginación especial 
  13. ^ "Manual de referencia del procesador DECsystem-10/DECSYSTEM-20" (PDF) . 1 de junio de 1982. DECsystem-10... paginación dinámica y gestión de conjuntos de trabajo
  14. ^ Manual de instalación del PDP-10 (PDF) . Corporación de equipos digitales. pag. 5.
  15. ^ Murphy, Dan (1989). "Orígenes y desarrollo de TOPS-20".
  16. ^ "Modelos PDP-10". 30 de junio de 2001. Sistema PDP 1055 de doble procesador (1050)... primeros monitores DEC-10
  17. ^ "Publicaciones de USENET alt.sys.pdp10 sobre procesadores frontales PDP-10".
  18. ^ "Manual de mantenimiento DN60". Corporación de equipos digitales. 31 de octubre de 1978. JBS-77-001-02-U.
  19. ^ Manual técnico DECSYSTEM-2020 basado en KS10 (PDF) (Segunda ed.). Corporación de equipos digitales. Septiembre de 1979. EK-0KS10-TM-002.
  20. ^ Guía de preparación del sitio PDP-10 (PDF) . Corporación de equipos digitales. Mayo de 1970.
  21. ^ Escalofríos, Olin. «Historia de la T» . Consultado el 25 de octubre de 2019 . Maclisp en el -10 había usado un GC de marca y barrido (una versión del cual "se ejecutó en el conjunto de registros", aunque esa es otra historia)
  22. ^ Programación abc 1970, pag. 13.
  23. ^ Programación 1970, págs. 87–88.
  24. ^ Programación 1970, pag. 88.
  25. ^ Programación 1970, pag. 89.
  26. ^ Programación 1970, pag. 86.
  27. ^ Programación 1970, pag. 87.
  28. ^ ab Programación 1970, pag. 92.
  29. ^ Programación 1970, pag. 94.
  30. ^ ab "Manual de referencia del procesador DECsystem-10/DECSYSTEM-20" (PDF) . Corporación de equipos digitales. Junio ​​de 1982. AA-H391A-TK, AD-H391A-T1. Archivado desde el original (PDF) el 11 de octubre de 2015 . Consultado el 14 de noviembre de 2015 .
  31. ^ "Una breve historia del hackerdom: los primeros hackers". MIT... construyó su propio sistema operativo, el legendario... Sistema de tiempo compartido incompatible
  32. ^ "Software Tymshare". inwap.com . Consultado el 24 de septiembre de 2023 .
  33. ^ Digital Equipment Corp. "Manual de referencia de programadores DECsystem-10 FORTRAN IV (F40)" (PDF) . Github . Corporación de equipos digitales . Consultado el 15 de abril de 2022 .
  34. ^ Equipos digitales (1968). "Manual de referencia del PDP-10" (PDF) . https://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/1970PDP10Ref_Part0.pdf . {{cite web}}: Enlace externo en |website=( ayuda )
  35. ^ Thacker, Charles (29 de agosto de 2007). "Historia oral de Charles (Chuck) Thacker" (PDF) . Museo de Historia de la Computación (Entrevista). Entrevistado por Kossow, Al . Consultado el 15 de noviembre de 2019 .
  36. ^ "Computadoras DEC de 36 bits". Archivado desde el original el 16 de diciembre de 2009 . Consultado el 4 de abril de 2009 .
  37. ^ "Zork en el PDP-10". Infocom desarrollaría Zork... PDP-10... alojado... Sistema de tiempo compartido incompatible... ARPANET... la máquina de DMG... comunidad... una especie de equipo extendido de pruebas beta
  38. ^ Allen, Paul (2012). Idea Man: una memoria del cofundador de Microsoft . Portafolio/Pingüino. pag. 74.ISBN _ 978-1-101-47645-1.
  39. ^ "Sistema de tiempo compartido incompatible". GitHub . 5 de enero de 2022.
  40. ^ "Índice de/dic/esperas".
  41. ^ Tim Shoppa "Anuncio de KLH10", 10 de noviembre de 2001. Consultado el 4 de abril de 2009.

Fuentes

Otras lecturas

enlaces externos

Grupos de noticias