LINC-8 era el nombre de una minicomputadora fabricada por Digital Equipment Corporation entre 1966 y 1969. Combinaba una computadora LINC con un PDP-8 en un gabinete, pudiendo así ejecutar programas escritos para cualquiera de las dos arquitecturas.
Arquitectura
El LINC-8 contenía una CPU PDP-8 y una CPU LINC, parcialmente emuladas por el PDP-8. En un momento dado, la computadora estaba en 'modo LINC' o en 'modo PDP-8'; ambos procesadores no podían funcionar en paralelo. Se proporcionaron instrucciones para cambiar entre modos. En el LINC-8, todas las interrupciones eran manejadas por la CPU PDP-8 y los programas que dependían de la arquitectura de interrupciones del LINC no podían ejecutarse.
El LINC era una máquina acumuladora de complemento de 12 bits , mientras que la PDP-8, aunque también era una máquina acumuladora de 12 bits, operaba en aritmética de complemento a dos .
El direccionamiento de memoria en las dos arquitecturas también fue diferente. En el LINC, el espacio de direcciones completo se dividió en segmentos de 1024 palabras , dos de los cuales se seleccionaron para su uso en cualquier momento: el campo de instrucción y el campo de datos . El acceso directo a los datos en el campo de instrucciones fue posible utilizando direcciones de 10 bits. El campo de datos solo se puede abordar indirectamente. El campo de instrucción y el campo de datos son teóricamente capaces de seleccionarse de hasta 32 áreas de 1K palabras de 12 bits cada una, ya que la arquitectura máxima es de 32K palabras en total. Como cuestión práctica, pocos sistemas LINC-8 se expandieron a 8K en total. La expansión de la memoria se logra primero agregando hardware de extensión de memoria PDP-8 e instrucciones de memoria extendidas y algunas modificaciones menores del procesador LINC para abordar la memoria más allá del total básico de 4K. Una vez que esto se logra, se pueden agregar "alas" de memoria 4K en una disposición de bus en cadena, que en teoría podría expandirse hasta 7 veces para implementar la 32K completa. En la práctica, siempre es difícil de implementar en el PDP-8 "normal" y, en el caso del LINC-8, fue necesario ralentizar un poco la CPU solo para agregar los primeros 4K adicionales.
Por lo tanto, como cuestión práctica, los segmentos de memoria LINC-8 están limitados al segmento 0-3, o quizás 0-7 en las pocas implementaciones de 8K. Sin embargo, las máquinas 4K básicas no pueden direccionar más allá de 0-3, mientras que los modelos de memoria extendida podrían intentar direccionar los segmentos 0-37 octal incluso si la memoria no existe.
Por convención, el área del segmento 0 no está disponible para operaciones LINC normales completamente emuladas. Esto se debe a que el programa PDP-8 generalmente conocido como PROGOFOP se carga allí para manejar todas las interrupciones, trampas, etc. Es posible escribir un programa para una CPU LINC "parcial", es decir, usar solo el hardware que realmente existe. Siempre que se realiza una operación que no puede manejar, la operación del PDP-8 se reanuda. Sin embargo, la operación LINC podría haberse cancelado por diversas razones. Como tal, siempre se recomienda cargar PROGOFOP al intentar utilizar programas LINC "completos" en este sistema.
Se escribieron muchos sistemas operativos para esta máquina; algunas eran esencialmente versiones ligeramente modificadas diseñadas para la CPU LINC original en la que se basa parcialmente. Las convenciones de arranque permitieron que se cargara primero una imagen de una versión personalizada de PROGOFOP, seguida de la ejecución de instrucciones de cinta para cargar el sistema operativo basado en LINC. En algunos casos, el procedimiento de inicio se realizó manualmente directamente en los conmutadores de consola LINC; sistemas posteriores iniciaron automáticamente el sistema después de cargar PROGOFOP.
Otros sistemas operativos son en realidad más genéricos y están diseñados para ignorar principalmente el lado LINC de las cosas. Estos son sistemas solo para PDP-8, aunque quizás configurados a medida para los caprichos de las especificaciones de un LINC-8. En algunos casos, esto significa que no se pueden ejecutar en ninguna otra máquina; en otros casos, el LINC-8 simplemente representaba una variación normal de los controladores de un sistema PDP-8 que de otro modo sería indescriptible. Una ventaja de un sistema basado en PDP-8 es que PROGOFOP es superfluo aquí. Si es necesario, el sistema PDP-8 podría cargar PROGOFOP así como un programa de usuario principalmente orientado a LINC para acceder a los periféricos del laboratorio. La convención LINC de que el primer 1K completo no está disponible reservado para PROGOFOP se cambia por la convención PDP-8 mucho más pequeña de reservar solo 07600-07777 o la última página de 128 palabras del primer 4K de la máquina. Esto corresponde a una pequeña área reservada al final del segmento LINC 3 a cambio de una flexibilidad general mucho mayor.
El PDP-8 dividió su memoria en páginas de 128 palabras . Una instrucción podría hacer referencia a la página actual , que es la página donde se encuentra la instrucción en sí, o la página 0 , las 128 palabras de memoria en las direcciones 0-127. El direccionamiento indirecto podría usarse para producir direcciones de 12 bits. Si se implementa más de 4 K de memoria, el direccionamiento indirecto se amplía para incluir el campo de datos, por lo que es posible acceder a cualquier ubicación indirectamente en 32 K como máximo. Nuevamente, las limitaciones de hardware del LINC-8 hacen que sea difícil lograr un tamaño total de más de 8K en total. También se implementa el campo de instrucción, lo que permite cargar programas más grandes en el mismo espacio de direccionamiento que controla el campo de datos. La transferencia de control puede ser directa o indirecta según sea necesario. La nueva dirección se determina estableciendo primero el nuevo valor del campo de instrucción y luego ejecutando una instrucción JMP o JMS en la dirección de 12 bits correspondiente del nuevo campo, lo que genera una dirección de 15 bits en general.
La computadora incluía varios periféricos LINC, que estaban controlados por instrucciones especiales del modo LINC. Estos dispositivos incluían entradas analógicas en forma de perillas y conectores, relés para el control de equipos externos, unidades LINCtape (el predecesor de DECtape ), un tubo de rayos catódicos similar a un osciloscopio bajo control de programa, así como un Teletype Modelo 33 ASR. En realidad, el CRT es una unidad especialmente modificada basada en un osciloscopio estándar de Tektronix modificado para ser impulsado únicamente por convertidores DA y una interfaz intensificadora; no hay circuitos de barrido como los que se encuentran en los osciloscopios convencionales. La mayoría de las modificaciones involucran módulos enchufables personalizados altamente reducidos, que también albergan las perillas reales enganchadas a los canales AD más bajos. Podría decirse que este es el precursor de la interfaz de mouse moderna; algún software utilizaba perillas giratorias de una manera que luego sugeriría la forma bidimensional de un mouse; Estos son botones que controlan solo un parámetro a la vez, etc.
Algunos de estos periféricos están simulados y en realidad son periféricos del PDP-8. Cualquier operación no implementada detiene la CPU LINC e interrumpe el procesador PDP-8 para manejar los detalles. Lo más notable es que LINCtape es en realidad un periférico PDP-8; la clase de cinta de instrucciones LINC quedan atrapadas e interrumpen el PDP-8, que luego emula cómo un LINC o PDP-12 real llevaría a cabo los detalles de la última instrucción de cinta. Presionar una variedad de teclas en la consola LINC aparentemente presente causa interrupciones en el PDP-8; PROGOFOP está diseñado para emular las funciones tal como aparecerían en el LINC original.
Una característica interesante es la parada FETCH / EXEC, que se implementa en todo el hardware en LINC y PDP-12. El hardware, cuando está habilitado, monitorea continuamente la ejecución de instrucciones hasta que se cumplen las condiciones específicas. Esto provocará una interrupción del PDP-8 que bloqueará el programa LINC. Las operaciones de la consola simulada se pueden utilizar para examinar la memoria o realizar otros cambios, como presionar la tecla DO simulada. La tecla DO ejecuta cualquier instrucción en el registro de interruptor izquierdo, mientras que el registro de interruptor derecho puede tener que configurarse también en el caso de instrucciones de palabra doble, como la mayoría de la clase de cinta. Arrancar ciertos sistemas operativos consiste en ejecutar una instrucción de lectura de cinta directamente desde ambos conjuntos de interruptores presionando la tecla DO simulada y luego presionando el interruptor START 20 simulado. En esencia, el LINC-8 implementa todas las funciones del panel de la consola del LINC "real", luego usa el PDP-8 para simular la mayoría de ellas.
Propósito
El LINC-8 fue construido como una computadora de laboratorio. Era lo suficientemente pequeño como para caber en un entorno de laboratorio, proporcionaba una potencia informática modesta a un precio bajo e incluía las capacidades de hardware necesarias para monitorear y controlar experimentos.
La unidad de cinta magnética LINCtape, diseñada por Wesley A. Clark para LINC, era adecuada para su manipulación en un entorno de laboratorio, y las cintas se podían guardar en el bolsillo, dejar caer o incluso perforar y cortar sin perder los datos almacenados en ellas.
Estado actual
En 1969, DEC mejoró el LINC-8 con el PDP-12 , una computadora de combinación similar para uso en laboratorio, y el LINC-8 fue cancelado. Se construyeron pocas computadoras LINC-8, contando solo en unos pocos cientos, por lo que el modelo es algo poco común en la actualidad.
A partir de 2008, se está llevando a cabo un proyecto para emular el LINC-8 en hardware moderno dentro de la sociedad informática Update en la Universidad de Uppsala .
Referencias
enlaces externos
- Proyecto GreenPea ]: un emulador de PDP-12