Imlac PDS-1 - Imlac PDS-1

El IMLAC PDS-1 y PDS-4 eran sistemas de visualización gráfica populares en la década de 1970. Fueron hechos por IMLAC Corporation , una pequeña empresa en Needham, Massachusetts . IMLAC no es un acrónimo, sino el nombre de un poeta de la novela de Samuel Johnson , La historia de Rasselas, príncipe de Abissinia . El PDS-1 debutaron en 1970. Fue la primera realización a bajo coste comercial de Ivan Sutherland 's de Dibujos del sistema de una pantalla altamente interactiva gráficos por ordenador con el movimiento. Vendido por $ 8300 antes de las opciones, su precio era equivalente al costo de cuatro Volkswagen Beetles . El PDS-1 era funcionalmente similar al IBM 2250 mucho más grande , que costaba 30 veces más. Fue un paso significativo hacia las estaciones de trabajo informáticas y las pantallas modernas.

El PDS-1 constaba de un monitor CRT , un teclado, un lápiz óptico y un panel de control en un escritorio pequeño con la mayor parte de la lógica electrónica en el pedestal del escritorio. La electrónica incluía una simple minicomputadora de 16 bits y 8-16 kilobytes de memoria de núcleo magnético , y un procesador de pantalla para controlar los movimientos del haz CRT.

Visualización de vectores renovada

El monitor era una pantalla vectorial monocromática de 14 pulgadas , que se actualizaba continuamente desde la memoria local. Su resolución normal era de 1024 por 1024 puntos direccionables y 2K x 2K en el modo de escala de fuente pequeña. El haz de electrones CRT se movía libremente en la posición X e Y y en el ángulo bajo el control del programa para dibujar líneas inclinadas individuales y formas de letras, al igual que los movimientos de lápiz sobre papel de un trazador de lápiz . El rayo saltó áreas en blanco de la pantalla. Las cosas se pueden dibujar en orden arbitrario.

Las pantallas vectoriales son una alternativa ahora obsoleta a las pantallas de escaneo rasterizado . En las pantallas vectoriales, el haz de electrones CRT 'dibuja' solo las líneas y curvas mostradas. En las pantallas de escaneo de trama, la imagen es una cuadrícula de puntos de píxeles (una imagen 'en mapa de bits'), y el rayo CRT barre repetidamente toda la pantalla en un patrón horizontal fijo (como en los televisores), independientemente de qué puntos estén activados. Los gráficos rasterizados de mapa de bits requieren mucha más memoria que los gráficos vectoriales. La resolución en blanco y negro de 1024x768 de nivel XGA requiere 96 kilobytes de memoria de actualización de video, 12 veces más que un PDS-1 básico. En 1970, esa cantidad de memoria central costaba alrededor de $ 8000. (Ahora cuesta solo 0.05 centavos de DRAM compartida).

Las pantallas vectoriales eran buenas para mostrar gráficos de datos, modificar dibujos de líneas y diagramas CAD , dar vueltas a formas de marco de alambre en 3-D , editar texto, diseñar páginas impresas y jugar juegos simples. Pero no manejaban colores, imágenes, áreas rellenas, pantallas en blanco y negro o fidelidad WYSIWYG a las fuentes de texto impreso profesionalmente.

La pantalla del PDS-1 se actualizó o redibujó repetidamente 40 veces por segundo para evitar un parpadeo visible. Pero el movimiento irregular del rayo era más lento que los movimientos constantes en las pantallas de trama. Las desviaciones del rayo fueron impulsadas por bobinas magnéticas, y esas bobinas lucharon contra cambios rápidos en su corriente. La pantalla parpadeaba cuando se llenaba con más de 800 pulgadas de líneas o más de 1200 caracteres, porque el rayo necesitaba más de 1/40 de segundo para rastrear todo.

El terminal gráfico Tektronix 4010 de menor costo de la competencia utilizaba una tecnología CRT de tubo de almacenamiento alternativa que no requería actualización continua y, por lo tanto, ninguna memoria de pantalla de computadora local. La imagen brillante fue recordada por el propio fósforo CRT. Pero al igual que un Etch A Sketch , la imagen acumulada podría modificarse o moverse solo borrando con flash toda la pantalla y luego ralentizando el redibujo de todo con datos reenviados desde una computadora grande. Esto era mucho menos interactivo que el PDS-1 y no podía mostrar animaciones.

En otras pantallas de esta era, las fuentes de texto estaban cableadas y no se podían cambiar. Por ejemplo, las consolas de operador del CDC 6600 formaron cada letra a la vez enviando el haz de electrones Charactron CRT a través de una máscara de plantilla metálica con un orificio en forma de A, o a través de un orificio en forma de B, etc.

Pero en el PDS-1, todas las formas, tamaños y espacios de las letras estaban completamente controlados por software. Cada forma deseada de la letra E tenía su propia subrutina de visualización que ejecutaba una secuencia de trazos vectoriales cortos para esa letra. Cada aparición de una letra en la pantalla era una llamada del procesador de pantalla a la subrutina de esa letra. Este esquema maneja fuentes arbitrarias, conjuntos de caracteres extendidos e incluso idiomas cursivos de derecha a izquierda como el árabe. Las fuentes más pequeñas y de dibujo más rápido eran feas, con aproximaciones en forma de diamante de bucles redondeados. El esquema de subrutina de visualización también maneja símbolos de diseño electrónicos.

La cara del monitor PDS-1 era rectangular y estaba disponible en orientación vertical u horizontal. La cuadrícula de puntos de 1K x 1K se estiró un 33% en la dirección más larga para permitir que el texto y los gráficos llenen la pantalla. Todos los programas de gráficos tenían que tener en cuenta los píxeles no cuadrados. Si el sistema fuera a usarse principalmente para gráficos, el monitor podría instalarse con una cuadrícula sin estirar dejando los extremos de la pantalla permanentemente sin usar.

Procesadores duales

El procesador de pantalla del PDS-1 y su minicomputadora funcionaron simultáneamente, con la misma memoria.

Las instrucciones para el procesador de pantalla consistían en instrucciones de trazo corto de 1 byte para letras y curvas, e instrucciones vectoriales de 6 bytes de longitud y saltos incondicionales de 2 bytes. El procesador de pantalla no tenía instrucciones ALU convencionales y nunca modificó la memoria. Los saltos admitían llamadas de subrutinas para objetos repetidos como letras y símbolos. Los saltos también permitieron organizar los objetos mostrados en listas vinculadas para una edición rápida. Las posiciones XY estaban solo en forma de números enteros. No hubo soporte para rotaciones o escalas arbitrarias sobre la marcha. Si un símbolo cruzó un borde de la pantalla, el rayo se envolvió hacia el otro lado en lugar de recortarse, formando una mancha. Por lo tanto, los niveles más altos de la aplicación tuvieron que realizar la prueba de recorte, utilizando estructuras de datos independientes. (Esto se corrigió en modelos posteriores). La programación de las subrutinas de fuentes de letras se realizó a través del lenguaje ensamblador. El código para los dibujos de líneas y el diseño general se generó sobre la marcha, mediante programas que se ejecutaban en la minicomputadora local o en una computadora remota de gran tamaño.

La minicomputadora incorporada del PDS-1 era necesaria para responder rápidamente a las interacciones del teclado y el lápiz óptico del usuario, sin demoras en hablar con una computadora grande compartida en tiempo compartido para obtener ayuda. La tarea principal de la minicomputadora era crear y modificar la lista de visualización según fuera necesario para el siguiente ciclo de actualización. Para texto y gráficos de líneas 2-D , esto fue fácil y no requirió mucha informática. Para minimizar los costos, Imlac diseñó su propio miniordenador simple con el menor número posible de registros y puertas lógicas. Era una máquina de un solo acumulador muy parecida a un DEC PDP-8 , excepto que usaba instrucciones y datos de 16 bits en lugar de 12 bits. No había instrucciones de multiplicación / división de enteros, ni instrucciones de punto flotante, ni microprogramación, ni direccionamiento virtual ni caché. La única forma de modificación de la dirección fue a través de punteros de dirección indirectos almacenados en la memoria. Ciertas celdas de puntero se incrementarían automáticamente cuando se usaran. No se admitieron operaciones de pila.

La programación de esta minicomputadora se realizó mediante lenguaje ensamblador. No era un código objeto compatible con ninguna otra cosa y, por lo tanto, tenía un soporte de herramientas limitado. Imlac finalmente agregó un compilador Fortran autohospedado con compilaciones de una hora debido a la memoria reducida. Algunos modelos de PDS tenían una unidad de disco de cartucho IBM 2310 opcional o una unidad de disquete de 8 pulgadas. Estos ejecutaron superposiciones de programas de soporte de SO de disco rudimentario. Los discos se eliminaron de productos posteriores.

La electrónica PDS-1 se construyó a partir de circuitos integrados TTL de baja densidad de la serie 7400 , con solo una docena de puertas lógicas o 4 bits de registro por chip DIP . Pequeñas tarjetas de circuitos impresos con capacidad para 12 chips cada una. El pedestal de escritorio poco profundo tenía tres estantes o filas de tarjetas, con 25 tarjetas por fila, y una placa posterior de envoltura de alambre que conectaba todas las tarjetas. No había un bus de fondo uniforme. La documentación del cliente incluía esquemas completos hasta el nivel de la puerta, para que los clientes pudieran diseñar sus propias placas de interfaz. Era posible ver, tocar y comprender cada detalle de cómo funcionaba todo el sistema. El tiempo de ciclo de la memoria central fue de 2,0 microsegundos para el PDS-1 y de 1,8 microsegundos para el PDS-1D. La lógica TTL funcionó 10 veces más rápido, con 10 pulsos de tiempo por ciclo de memoria del núcleo.

El PDS-1 básico no incluía las tarjetas de hardware opcionales para vectores largos. En cambio, la minicomputadora creó una larga secuencia de instrucciones de pantalla de carrera corta. El software utilizó un método rápido de Bresenham para calcular puntos intermedios para líneas inclinadas sin multiplicar ni dividir. De manera similar, el hardware de vector largo solo necesitaba un circuito de suma / resta. Si un programa de vector largo se ejecutó por error en una máquina básica sin esa opción, el procesador de pantalla podría volverse loco y potencialmente quemar el fósforo del monitor o los amplificadores de deflexión.

Aplicaciones

El PDS-1 y el PDS-4 fueron adquiridos en pequeñas cantidades por organizaciones de I + D y muchas universidades. Desarrollaron aplicaciones informáticas pioneras y capacitaron a la próxima generación de diseñadores de sistemas gráficos. El sistema de hipertexto FRESS tenía capacidad y usabilidad mejoradas si se accede desde un sistema PDS-1; el usuario puede crear hipervínculos con un lápiz óptico y crearlos simplemente con un par de pulsaciones de teclas. La edición de ventanas múltiples en FRESS también era posible cuando se usaba el PDS-1. Se utilizaron sistemas PDS-1 para diseñar el protocolo de gráficos de red de Arpanet.

Los sistemas de visualización Imlac se agruparon en varios productos comerciales más grandes que incluían diseño visual y software especializado. Imlac vendió un sistema de maquetación y composición de periódicos usando PDS-1 llamado CES. El sistema CAD mecánico Anvil de MCS utilizó estaciones de trabajo Imlac posteriores para diseñar de forma interactiva piezas mecánicas, que luego se fresaron automáticamente a partir de material de metal.

Algunas aplicaciones simples, como los editores de texto, estaban completamente codificadas en el ensamblador de Imlac y podían ejecutarse sin mucha participación con una computadora más grande. Hofstadter compuso su libro Gödel, Escher, Bach en un editor de Imlac. Pero la mayoría de las aplicaciones de gráficos requerían un fuerte soporte de punto flotante, compiladores y un sistema de archivos. Esas aplicaciones se ejecutaban principalmente en una costosa computadora de tiempo compartido, que enviaba datos de imagen digeridos al Imlac, que ejecutaba un pequeño programa ensamblador que emulaba un terminal gráfico genérico. Un uso típico era renderizar dibujos arquitectónicos y recorridos animados que se habían dibujado previamente sin conexión. El uso de PDS-1 se detuvo durante varios años al no tener una biblioteca de programas estándar que respaldara la animación o el dibujo interactivo y el arrastre de objetos.

Pero por la noche, los estudiantes estaban dispuestos a escribir grandes cantidades de código ensamblador solo por diversión. Las aplicaciones PDS-1 más recordadas hoy son los primeros juegos interactivos . ¡La guerra espacial para dos jugadores ! fue portado desde una demostración de PDP-1. Freeway Crossing , un antecesor del popular juego de arcade Frogger , fue creado en un PDS-1 como parte de un experimento de psicología en 1971. Mazewar , el primer juego de computadora multijugador en línea, fue creado en un par de PDS-1. Más tarde, hasta 8 jugadores se ejecutaron en estaciones PDS-1 u otras terminales conectadas en red a la computadora PDP-10 host del MIT que ejecuta el programa Mazewar AI . Los juegos de Mazewar entre el MIT y Stanford fueron una carga de datos importante en los inicios de Arpanet .

Evolución del producto Imlac

  • 1968: Fundación de Imlac. Su plan de negocios consistía en terminales gráficos interactivos para los operadores bursátiles, lo que no sucedió.
  • 1970: PDS-1 introducido para el mercado gráfico general.
  • 1972: PDS-1D introducido. Era similar al PDS-1 con circuitos y backplane mejorados.
  • 1973: PDS-1G introducido.
  • 1974: PDS-4 introducido. Funcionó dos veces más rápido y mostró el doble de texto o gráficos sin parpadeo. Su procesador de pantalla admitía una ampliación interactiva instantánea con recorte. Tenía un complemento de punto flotante opcional.
  • 1977: Se vendió un total de alrededor de 700 sistemas PDS-4 en los EE. UU. Fueron construidos bajo pedido en lugar de ser producidos en masa.
  • 1978: Se presenta Dynagraphic 3250. Fue diseñado para ser utilizado principalmente por una biblioteca de gráficos patentada codificada por Fortran que se ejecuta en computadoras más grandes, sin programación del cliente dentro del terminal.
  • ????: Presentación de Dynagraphic 6220.
  • 1979: Imlac Corporation es adquirida por Hazeltine Corporation , un fabricante de terminales de solo texto.
  • 1981: Se presenta Imlac Dynagraphic Series II de Hazeltine. Fue diseñado para ser compatible con el estándar de biblioteca de gráficos 3D CORE 1979 de SIGGRAPH. Su costo fue de $ 9000 en cantidades OEM. Tenía una resolución de 2Kx2K, 192 kilobytes de RAM y un microprocesador 8086, todo dentro de la unidad del monitor.

El DEC GT40 tenía un diseño y un precio similares al PDS-1D. Su electrónica de escritorio era más compacta y utilizaba una placa PDP 11/05 de producción masiva como su minicomputadora local. Esto le dio automáticamente un conjunto mucho más grande de herramientas de programación. Pero también suele estar impulsado por aplicaciones que se ejecutan en sistemas PDP más grandes.

Los píxeles reemplazan las pantallas vectoriales

La densidad, la capacidad y el precio de la memoria de la computadora han mejorado de manera constante y exponencial durante décadas, una tendencia de ingeniería llamada Ley de Moore . Las limitaciones de las pantallas vectoriales actualizadas o de almacenamiento se aceptaron solo en la era en la que esas pantallas eran mucho más baratas que las alternativas de escaneo de trama. Las pantallas gráficas de trama inevitablemente se hicieron cargo cuando el precio de 128 kilobytes ya no importaba.

Imlac PDS-1 en Xerox PARC los impresionó con su interactividad y gráficos. Pero su feo texto llevó a Chuck Thacker a desarrollar la máquina experimental Xerox Alto con mapa de bits en 1973, una década antes de que tanta memoria fuera asequible para máquinas de un solo usuario que no eran de investigación. Y Alto llevó a la revolución GUI.

El PDS-1 y terminales vectoriales similares fueron reemplazados en la década de 1980 por terminales de gráficos de trama (no programables) como el AED767. Y mediante estaciones de trabajo personales fácilmente programables con gráficos de trama como la máquina Terak 8510 / a UCSD Pascal y el sistema PERQ Unix de alto rendimiento . Y esos fueron reemplazados por Macintosh de mercado masivo basados ​​en microprocesadores , PC con Windows y consolas de videojuegos . Y ahora con chips individuales dentro de los teléfonos inteligentes .

Emulación

En 2013, se escribió un emulador de Imlac llamado sImlac. Se puede obtener una versión actualizada de este emulador en el repositorio de GitHub de Living Computers: Museum + Labs, con sede en Seattle .

Referencias

enlaces externos