

La HP 2100 es una serie de minicomputadoras de 16 bits producidas por Hewlett-Packard (HP) desde mediados de la década de 1960 hasta principios de la década de 1990. Se vendieron decenas de miles de unidades de esta serie a lo largo de sus 25 años de vida útil, lo que convirtió a HP en el cuarto mayor fabricante de minicomputadoras durante la década de 1970.
El diseño se originó en Data Systems Inc. (DSI) y se conocía originalmente como DSI-1000. HP adquirió la compañía en 1964 y la integró a su división Dymec. El modelo original, el 2116A, construido con circuitos integrados y memoria de núcleo magnético , se lanzó en 1966. Durante los cuatro años siguientes, se lanzaron los modelos A a C con diferentes tipos de memoria y expansión, así como los modelos 2115 y 2114 de menor costo. Todos estos modelos fueron reemplazados por la serie HP 2100 en 1971, [ 1 ] y posteriormente por la serie 21MX en 1974, cuando la memoria de núcleo magnético se sustituyó por memoria de semiconductores. [ 2 ]
Todos estos modelos también se comercializaron como la serie HP 2000 , que combinaba una máquina de la serie 2100 con componentes opcionales para ejecutar el lenguaje de programación BASIC en modo multiusuario de tiempo compartido . [ 3 ] HP Time-Shared BASIC fue popular en la década de 1970, y muchos de los primeros programas BASIC se escribieron en o para esta plataforma, especialmente el emblemático Star Trek , que fue popular durante los inicios de la era de las computadoras domésticas . People's Computer Company publicó sus programas en formato HP 2000.
La introducción de la HP 3000 en 1974 ofreció una competencia de alta gama a la serie 2100; toda la línea pasó a llamarse HP 1000 en 1976 y se posicionó como computadoras en tiempo real . En 1979 se presentó una versión con un diseño muy renovado, la serie 1000 L , que utilizaba chips de integración a gran escala CMOS e introducía un modelo de torre de escritorio . Esta fue la primera versión en romper la retrocompatibilidad con las tarjetas de expansión de la serie 2100. La última actualización fue la serie A , con nuevos procesadores capaces de alcanzar un rendimiento superior a 1 MIPS , [ 4 ] y el último modelo, el A990, se lanzó en 1990. [ 5 ]
Historia
Orígenes
HP formed Dynac in 1956 to act as a development shop for projects the main company would not normally undertake. Their original logo was simply the HP logo turned upside down, forming something approximating "dy" and thus inspiring the name. Learning that Westinghouse owned a trademark on that name, in 1958 they changed it to Dymec. The company was brought in-house in 1959 to become the Dymec Division, and in November 1967 was renamed the Palo Alto Division.[6]
Dymec originally made a variety of products for the HP family, but over time became primarily an integrator, building test equipment and similar systems that were used by HP. In 1964, Kay Magleby and Paul Stoft began experimenting with the use of PDP-5 and PDP-8 computers to act as controllers for their complex test systems, but they felt the machines would require changes to truly suit their needs. At the time, Digital Equipment Corporation (DEC) was still a small company and a takeover target. David Packard found Ken Olsen too difficult to deal with, and such plans went nowhere.[6]
Looking for another design they could purchase, Packard was led to the five-person Data Systems, Inc. (DSI) of Detroit. DSI was owned by Union Carbide, and when Packard asked how it was that Union Carbide came to own a computer company, HP Labs manager Barney Oliver replied, "We didn't demand an answer to that question." Bill Hewlett initially refused to consider the development of a "minicomputer", but when Packard reframed it as an "instrument controller" the deal was approved.[6]
DSI was purchased in 1964 and initially set up at Dymec with four of the original five employees of DSI and a number of other employees coming from HP's instrumentation divisions.[6][7] The computer group later moved to its own offices in Cupertino, California, in a building purchased from Varian Associates, becoming the Cupertino Division.[6]
First models

Dirigida por Magleby, la nueva división completó el diseño como el 2116A, que se presentó del 7 al 10 de noviembre de 1966 en la Joint Computer Conference en San Francisco. [ 8 ] [ 9 ] Fue uno de los primeros miniordenadores de 16 bits en llegar al mercado, pero en ese momento fue más notable como "un nuevo e inusual ordenador de instrumentación" con un diseño altamente ampliable y soporte en tiempo real . El sistema presentaba un gabinete de gran tamaño que albergaba hasta 16 tarjetas de expansión, o podía ampliarse aún más a 48 tarjetas con una jaula de expansión externa.
El sistema se lanzó con 20 tarjetas de instrumentación diferentes, que incluían contadores, escaladores nucleares, termómetros electrónicos, voltímetros digitales , convertidores de CA/ohmios, amplificadores de datos y escáneres de entrada. Un conjunto adicional incorporó dispositivos de entrada/salida como unidades de cinta , impresoras, tarjetas perforadas y cinta de papel , y otros periféricos. [ 10 ] El servicio en tiempo real se proporcionó asignando a cada ranura de tarjeta un vector de interrupción fijo que llamaba al controlador de dispositivo correspondiente . [ 6 ]
Cuando la máquina llegó al mercado, rápidamente se hizo evidente que se vendía mucho más rápido en el mercado de procesamiento de datos empresariales que en el mercado de instrumentación al que estaba originalmente dirigido. Esto llevó a la introducción del 2115A en 1967, que eliminó gran parte de las capacidades de expansión para ofrecer una opción más económica para usuarios comerciales. Una versión aún más simplificada se lanzó como el 2114A en 1968, [ 6 ] que tenía solo ocho ranuras, dejando espacio para que la fuente de alimentación se incorporara al chasis principal. [ 11 ] Los modelos 2115 y 2114 también carecían del extenso control DMA del 2116, eliminaron algunas de las operaciones matemáticas y funcionaban a velocidades ligeramente más lentas.
Estos son los modelos originales que utilizan memoria principal y una CPU cableada:
- 2116A, reloj de 10 MHz, tiempo de ciclo de 1,6 microsegundos (μs). Normalmente se suministra con 4k palabras, ampliable a 8k internamente o a 16k con un sistema de memoria externa. El chasis incluye 16 ranuras de E/S, también ampliables. Peso: 230 libras (104 kg) . [ 12 ] Presentado en noviembre de 1966. Marcó el primer uso de circuitos integrados por parte de HP. [ 8 ]
- El modelo 2116B admitía una nueva opción de expansión de memoria de 32k. Peso como se indicó anteriormente. [ 13 ] Presentado en septiembre de 1968.
- El modelo 2116C utilizaba un núcleo más pequeño para que cupiera un procesador de 32k en el chasis principal. Se presentó en octubre de 1970.
- 2115A, versión de corta duración y costo reducido que eliminó el DMA y algunas funciones matemáticas, tenía solo 8 ranuras de E/S y funcionaba a 8 MHz de reloj y un tiempo de ciclo de 2,0 μs. Pesaba 65 libras (29 kg) , requería una fuente de alimentación externa voluminosa; peso total: 160 libras (72,6 kg) . [ 13 ] Introducido en noviembre de 1967.
- 2114A, una versión simplificada del 2115 con un nuevo panel frontal y fuente de alimentación interna. Interruptores táctiles no mecánicos en el panel frontal. Peso: 95 libras (43 kg) . [ 13 ] Presentado en octubre de 1968.
- Los modelos 2114B y 2114A incorporan un único canal DMA y un nuevo panel frontal con pulsadores iluminados. Se lanzaron en noviembre de 1969.
- El modelo 2114C, idéntico al 2114B, tenía una memoria máxima de 16k. Fue presentado en octubre de 1970.
HP 2000
En 1968, [ 14 ] [ 15 ] [ 16 ] la compañía lanzó el sistema de tiempo compartido 2000A, [ 17 ] posteriormente conocido como HP 2000/Access. Este se basaba en el 2116B (un 2116A con una memoria de núcleo ampliada de 8k) que ejecutaba HP Time-Shared BASIC y utilizaba un 2114 independiente como servidor de terminal . TS BASIC permitía crear múltiples cuentas de usuario [ 18 ] con hasta 16 usuarios conectados simultáneamente.
Los modelos posteriores del 2000, de la B a la F, utilizaban versiones más recientes de la CPU subyacente a medida que se introducían. Algunos modelos utilizaban versiones de gama baja de la misma CPU que el servidor de terminales; el 2000F, por ejemplo, utilizaba un 2100S como CPU principal y controlador de almacenamiento primario, mientras que un 2100A actuaba como servidor de terminales. [ 19 ] Los modelos B, C y F eran de doble procesador. En la última versión, el 2000F, se utilizaban una CPU 2100S y una 2100A, con la 2100A conectada a hasta 32 terminales serie mediante interfaces de multiplexor serie. [ 19 ]
A pesar de sus costos relativamente altos —el 2000F costaba $105,000 en 1974, [ 19 ] o alrededor de $ 685,000 en 2025— fue la primera minicomputadora en ofrecer BASIC de tiempo compartido , [ 20 ] lo que la hizo muy popular a principios y mediados de la década de 1970.
2100


A lo largo de la década de 1970, la gama de productos se fue mejorando constantemente con nuevos modelos que seguían siendo compatibles en cuanto a software y expansión con el modelo original 2116.
A principios de 1970, se le pidió a Fred Allard, anteriormente de la División de Núcleos de Memoria de Ampex , que diseñara un nuevo sistema de memoria de núcleo magnético para los sistemas en lugar de seguir comprándolos a Ampex. Utilizando núcleos más nuevos de 18 milésimas de pulgada , en lugar de los de 22 milésimas, y una sola línea de detección/inhibición , lograron integrar una memoria de 8 kW en una sola tarjeta de expansión. Esto se utilizó a partir de los modelos 2116C. [ 22 ]
En 1971, el modelo actualizado 2100A reemplazó a toda la línea 211x existente. El sistema general era similar a los modelos anteriores y seguía basándose en memoria de núcleo. Físicamente, se parecía más al 2114, ya que la fuente de alimentación estaba integrada y tenía una expansión interna limitada. Sin embargo, la CPU se reconstruyó con microcódigo que podía ser programado por el usuario, se añadieron multiplicaciones y divisiones por hardware, y se agregó un sistema simple de protección de memoria , que provocaba una interrupción de alta prioridad cuando se activaba. Un controlador DMA de dos canales proporcionaba un mayor rendimiento. También estaba disponible una unidad de punto flotante opcional . Los botones del panel frontal estaban iluminados por pequeñas lámparas incandescentes que se fundían con el uso. El uso de una fuente de alimentación conmutada [ a ] permitió que el chasis fuera significativamente más pequeño que los modelos anteriores.
Para 1972, HP había vendido 4500 minicomputadoras, convirtiéndose en una de las mayores empresas del mercado. Ese año, fusionaron la División Mountain View, que fabricaba unidades de cinta magnética, con la División Cupertino para crear la División de Sistemas de Datos (DSD). Para entonces, el proyecto HP 3000 estaba en serios problemas, y en febrero de 1973, Packard envió a Paul Ely para hacerse cargo de la división. Las ventas de la serie 2100 se mantuvieron sólidas; la unidad número 6000 se vendió en agosto de 1973, la número 8000 en febrero de 1974 y la número 10 000 en febrero de 1975. [ 24 ] Fueron declaradas obsoletas en 1978. [ 1 ]
- Modelo 2100A, normalmente con 4 kW pero ampliable a 32 kW, 14 ranuras de E/S ampliables a 45. Introducido en 1971.
- El modelo 2100S, una versión del 2100A que incluía la opción de coma flotante, un generador de base de tiempo para la interfaz con hardware dependiente del tiempo y una tarjeta de interfaz para teleimpresora, se presentó en 1973.
21MX
En 1972, la división decidió cambiar a chips de memoria SRAM de 4 kbit en lugar de núcleos. Estos eran aproximadamente el doble de rápidos que los núcleos de bajo costo contemporáneos y mucho más pequeños, lo que permitió construir máquinas de 32 kwords en un formato similar al del 2114. Cuando tomaron esta decisión, las SRAM de 4 kbit no estaban disponibles, por lo que inicialmente se utilizaron máquinas experimentales con núcleos de la serie 2100, que luego se reemplazaron por SRAM de 1 kbit. Al principio parecía que los componentes de 4 k no estarían disponibles para cuando se hubiera actualizado el resto de la máquina, por lo que la empresa consultó con varios fabricantes y descubrió que algunos estaban desarrollando activamente componentes de 4 k. En particular, Intel , Mostek , Motorola y Texas Instruments sugirieron que dichos componentes estarían disponibles en grandes cantidades a finales de 1974. [ 25 ]
El uso de dichas memorias en un chasis de expansión como el de los sistemas anteriores significaba que había espacio para mucha más memoria, en el rango de megapalabras. Sin embargo, el uso de direcciones de 15 bits por parte de la CPU limitaba el tamaño a 32kwords. [ 26 ] Para satisfacer la demanda de sistemas más grandes, HP desarrolló el "Sistema de Mapeo Dinámico" o DMS. El DMS amplió el formato de dirección de 15 a 20 bits, lo que permitió un máximo de 1.048.576 palabras, una expansión drástica del sistema original. [ 27 ]
Estos cambios llevaron a la introducción en 1974 de la primera máquina de la serie 21MX. Esta denominación correspondía al procesador "21-M" y a la memoria "21-X", ya que los sistemas de control de memoria se separaron de la CPU para brindar flexibilidad en caso de que se modificaran los componentes de 4k elegidos durante la producción. Esto resultó útil en la práctica, ya que las máquinas se enviaban con memorias que utilizaban componentes de Motorola o Texas Instruments, y podían combinarse en una misma máquina, mientras que el sistema de mayor densidad basado en componentes Mostek de 16 pines podía ser compatible reemplazando el controlador 21-X/2 estándar por el 21-X/1. [ 25 ]
Toda la serie 2100 fue reemplazada en 1974 por la primera de estas máquinas de la serie 21MX. Utilizando componentes de máxima densidad, las nuevas máquinas podían admitir hasta 1,2 MB en los modelos más grandes. Cuando la CPU se actualizó aún más en 1976, los nuevos modelos se convirtieron en la "Serie 21MX E" y los modelos originales pasaron a denominarse retroactivamente "Serie 21MX M". La principal diferencia entre la M y la E era que la E utilizaba una sincronización inteligente para mejorar la velocidad hasta aproximadamente el doble que la M. [ 28 ] Se lanzó una mayor variedad de estilos de máquinas como parte de la serie 21MX, incluyendo sistemas más pequeños con cuatro ranuras y otros más grandes con 9 o 14 ranuras. [ 29 ]
La serie 21MX incorporaba una unidad de gestión de memoria y una memoria semiconductora ampliable hasta 1.048.576 palabras (una megapalabra ). Los indicadores de bits en los botones del panel frontal utilizaban pequeños diodos emisores de luz (LED) rojos, en lugar de las bombillas incandescentes propensas a fundirse que se usaban en versiones anteriores.
- Serie M – 2105A, 2108A, 2112A (línea azul en el panel frontal)
- Serie E – 2109A, 2113A (línea amarilla en el panel frontal; E de extendido)
- Serie F: 2111F, 2117F (línea roja en el panel frontal; F para procesador de punto flotante en un chasis 2U independiente).
El 21MX utilizaba el sistema operativo HP RTE (tiempo real). Inicialmente, eran sistemas de montaje en rack de 19 pulgadas, del tamaño de un refrigerador , con luces e interruptores en los paneles frontales. Los últimos modelos incorporaban un procesador de un solo chip y cabían debajo de un escritorio, utilizando una consola en lugar de un panel frontal.
Los nuevos modelos de las series L y A tenían capacidad de interfaz HP-IB , pero como en todos los sistemas HP de la época, se eliminaron las luces LED intermitentes del panel frontal. A pesar de la demanda de los clientes de capacidad en tiempo real y los esfuerzos del departamento de I+D de HP mediante una tarjeta de tiempo real instalable, el sistema operativo RTE-A no era tan bueno en operaciones en tiempo real como RTE en un 21MX. Esta fue una razón importante por la que este ordenador era difícil de destruir. Muchas empresas utilizan operaciones en tiempo real para tomar mediciones y controlar procesos: encender o apagar una bomba, un calentador, una válvula, acelerar o desacelerar un motor, etc.
Serie 1000

A finales de 1976, toda la línea pasó a llamarse "HP 1000", convirtiéndose en la "HP 1000 Serie M" y la "HP 1000 Serie E". Al año siguiente se presentó la "HP 1000 Serie F", que era una Serie E con una unidad de coma flotante añadida. [ 30 ] Para 1978, el éxito de la línea había impulsado a HP a convertirse en el cuarto mayor fabricante en el sector de las minicomputadoras, solo por detrás de DEC, IBM y Data General . [ 6 ]
En 1980 se presentó la serie HP 1000 L. Esta utilizaba un nuevo procesador basado en el proceso de integración a gran escala de silicio sobre zafiro de HP . Además, las tarjetas de expansión también estaban equipadas con sus propios procesadores, lo que les permitía acceder a la memoria principal y realizar operaciones de entrada/salida sin sobrecargar la CPU. Si bien esto hizo que las tarjetas de expansión fueran incompatibles con los modelos anteriores por primera vez, también mejoró considerablemente el rendimiento general. Estos modelos carecían de la unidad de gestión de memoria. [ 31 ]
- Procesadores de CPU y E/S HP1000L de silicio sobre zafiro (SOS)
La serie L fue, a su vez, reemplazada en 1982 con la "HP 1000 A-Series", que incluía un nuevo diseño de CPU "Lightning" que alcanzaba 1 MIPS , y la CPU "Magic" aún más rápida a 3 MIPS. Se produjo una amplia variedad de modelos diferentes, incluyendo torres de escritorio y una variedad de sistemas de montaje en rack de diferentes tamaños. [ 31 ] Un modelo de gama baja A400 se introdujo en 1986, [ 32 ] y el último modelo de gama alta A990 se lanzó en 1990. [ 33 ] Cada uno direccionable hasta 32 MB de RAM.
- 1981:
- A600 – basado en el procesador de división de bits Am2900 , 1 MIPS, 53k FLOPS Nombre en clave: LIGHTNING
- A600+ – basado en el procesador de división de bits Am2900, admite la separación de código y datos, memoria ECC (corrección de errores) opcional.
- 1982??:
- A700 : basado en el procesador AMD AM2903 de arquitectura bit-slice, procesador de punto flotante por hardware opcional, 1 MIPS, 204kFLOPS, microprogramación, memoria ECC opcional . Nombre en clave: PHOENIX
- 1984:
- A900 – Proporciona una ruta de datos segmentada , 3 MIPS, 500kFLOPS, memoria ECC. Nombre en clave MAGIC
- 1986:
- A400 : primera CPU de placa única con 4 líneas serie; CPU fabricada por VLSI Technology con su proceso CMOS-40, 512 KB de RAM integrada. Nombre en clave: Yellowstone.
- 1992:
- A990 : CPU implementada con dos circuitos integrados de aplicación específica (ASIC) CMOS de 208 pines , 298 instrucciones, admite hasta 512 MB de memoria.
Legado
La serie HP 2000 se presentó en 1969, se vendió hasta junio de 1978 y recibió soporte hasta 1985. [ 36 ]
Se escribieron versiones de muchos juegos fundamentales de BASIC en la plataforma, o se adaptaron a ella. Entre ellos destaca Star Trek de Mike Mayfield de 1971. [ 37 ] [ 38 ] [ b ] Su popularidad convirtió su dialecto de BASIC en una lengua franca y muchos listados de BASIC se proporcionaban normalmente en ese formato; People's Computer Company publicó sus programas en formato HP 2000. [ 39 ] [ 40 ] Los sistemas HP también se utilizaron para la enseñanza de estadística, análisis de regresión [ 41 ] y economía. [ c ]
siglo XXI
Las designaciones de 2000 y 2100 se han reutilizado:
Arquitectura
Organización de la memoria
El HP 2100 fue diseñado en una época en la que la RAM, en forma de memoria de núcleo magnético, estaba bajando de dólares a centavos por bit, [ 44 ] mientras que la implementación de registros de procesador mediante transistores o integración a pequeña escala seguía siendo muy costosa. Esto favoreció los diseños con pocos registros y la mayor parte del almacenamiento en RAM, lo que a su vez influyó en la arquitectura del conjunto de instrucciones (ISA) para utilizar un diseño de memoria-memoria o memoria- acumulador . Este concepto básico se introdujo ampliamente por primera vez en el seminal PDP-8 de 12 bits, que dio origen a muchos diseños similares como el 2100.
En el 2100, las direcciones tienen una longitud de 15 bits, lo que permite un total de 32k palabras de memoria de 16 bits (64 KB en términos modernos). [ 45 ] La unidad de memoria direccionable más pequeña es una palabra de 16 bits; no tiene instrucciones que busquen un solo byte de 8 bits. La dirección se divide en dos partes: los 5 bits más significativos se refieren a una de las 32 "páginas", mientras que los 10 bits menos significativos son el "desplazamiento" que apunta a una sola palabra dentro de la página de 1024 palabras. Con el sistema DMS en la serie 21MX, los 5 bits superiores se utilizan para seleccionar uno de los 32 registros, cada uno de los cuales contiene 12 bits. Los 10 bits menos significativos del registro se colocan delante del desplazamiento original de 10 bits para producir una dirección de 20 bits. [ 27 ] Los dos bits más significativos se utilizan para implementar la protección de memoria . [ 27 ]
La mayor parte del procesamiento se realiza en los registros A y B, cada uno de 16 bits. Estos registros también son accesibles en las posiciones de memoria 0 y 1, respectivamente. Esto significa que se puede cargar un valor en un acumulador mediante la operación normal de guardado de registros; por ejemplo, LDA 1se cargará el valor del registro A en la posición de memoria 1, copiando así el valor de A en B. [ 46 ]
Además de los registros A y B, la CPU también incluye el registro M, que almacena la dirección de memoria actual, y el registro T, que almacena el valor en esa dirección. [ 47 ] El registro P se utiliza como contador de programa y se incrementa automáticamente con cada instrucción, pero también se utiliza como dirección base para algunos accesos a memoria (véase más abajo) que se calculan y se colocan en M. También hay dos registros de un bit, Desbordamiento y Extensión, [ 45 ] en términos modernos, estos bits se considerarían el registro de estado . Adicionalmente, está el registro S/D (Interruptor/Pantalla) de 16 bits, que se utiliza para la entrada y salida del panel frontal. [ 48 ] [ 49 ]
Ciertas áreas de memoria están reservadas para fines especiales, como las posiciones 0 y 1 utilizadas por los acumuladores. Las palabras adicionales en las 64 posiciones inferiores de la memoria se utilizan para el acceso directo a memoria (DMA) y las interrupciones vectorizadas (véase más abajo). En modelos posteriores, las 64 palabras superiores de la memoria disponible están reservadas para el cargador de arranque . [ 50 ]
Instrucciones
El conjunto de instrucciones original contenía 68 [ 6 ] o 70 instrucciones. [ 52 ]
- Aritmética : suma, incremento, conjunción, disyunción, disyunción exclusiva o excluyente.
- Control de programa : Saltar, Ir a, Ir a subrutina
- Desplazamiento y rotación : desplazamientos aritméticos y lógicos, rotaciones de 16 y 17 bits.
- Opcional : Multiplicación, división, carga y almacenamiento de 32 bits, desplazamientos de 32 bits.
Las 68 instrucciones del conjunto de instrucciones estándar tienen 16 bits de longitud. La mayoría se ejecutan en un ciclo de memoria, o 16 ciclos de reloj, [ 53 ] aunque el direccionamiento indirecto y ISZpueden usar hasta 36 ciclos. [ 48 ] La bifurcación condicional se realiza con una instrucción condicional de salto de una instrucción, que normalmente es una instrucción de salto . No hay pila para subrutinas; en su lugar, se reserva la primera ubicación de memoria de la rutina y la instrucción escribe la dirección de retorno en esa ubicación JSB. [ 54 ] Esto significa que no hay soporte interno para código reentrante ; el soporte para esto debe agregarse a través de una pila implementada por el usuario.
En el conjunto de instrucciones (ISA) existen tres estilos básicos: referencias a memoria, referencias a registros y entrada/salida. Algunos modelos extendieron el ISA con hardware adicional, incorporando, por ejemplo, instrucciones de punto flotante o instrucciones adicionales de aritmética de enteros y de memoria, pero estas se encuadrarían en las mismas tres categorías básicas. [ 46 ]
Las instrucciones de memoria utilizan cuatro bits para la instrucción y dos más para indicadores especiales, lo que da un total de seis bits de la palabra de 16 bits. Esto deja espacio para una dirección de 10 bits en la instrucción, almacenada en los bits menos significativos (LSB), del 0 al 9. Si el bit 15 está activado, esto indica direccionamiento "indirecto" en lugar de "directo". En el modo directo, la dirección en la instrucción es la dirección del operando, mientras que en el modo indirecto, la dirección era un puntero a otra ubicación de memoria que contenía la dirección del operando. También se podría activar el bit 15 en esa ubicación, lo que permitiría que la indirección tuviera la profundidad requerida, finalizando cuando una de las ubicaciones tiene un 0 en el bit 15. [ 45 ] [ 55 ]
Además del modo Directo/Indirecto, el bit 10 de la instrucción controla el indicador Z/C. Cuando se establece en 0, esto significa que los cinco bits superiores de la dirección eran cero, mientras que los diez inferiores eran el valor de la instrucción. Esto permite un acceso rápido a la página Z (cero), las primeras 1024 palabras de memoria. Cuando se establece en 1, la dirección se construye combinando los 10 bits de la instrucción con los cinco bits superiores del registro P, la página C (actual) de memoria, lo que permite acceder a la memoria como 32 páginas de 1024 palabras. [ 56 ] Por lo tanto, se pueden direccionar 2048 palabras en cualquier momento; 1024 de ellas dentro de la página cero y otras 1024 dentro de la misma página que la instrucción que realiza la referencia. [ 55 ]
Las instrucciones de registro no requieren una dirección y, por lo tanto, disponen de más bits libres. Esto se utiliza para agrupar cuatro u ocho instrucciones en una sola palabra de memoria, [ 57 ] lo que, si se usa correctamente, puede acelerar significativamente las operaciones. Se incluyen un total de 39 operaciones de registro, que se dividen en instrucciones de desplazamiento y rotación, y las instrucciones de alteración y salto, indicadas por el bit 10, [ 58 ] mientras que el bit 11 indica si se aplica al registro A o al B. [ 59 ]
Existen dos clases generales de instrucciones de registro: el grupo de desplazamiento y rotación y el grupo de modificación y salto. El primero se utiliza para la manipulación básica bit a bit de los valores de un registro y puede contener hasta cuatro instrucciones por palabra, aunque las dos instrucciones centrales siempre son CLE,SLA/B(borrar E, saltar si A/B es cero). El segundo grupo consta de ocho instrucciones que realizan incrementos en los registros y, a continuación, una bifurcación condicional. Estas se utilizan normalmente para implementar bucles. [ 58 ]
E/S e interrupciones
Las instrucciones de entrada/salida normalmente se comunican a través de los acumuladores. El formato de la instrucción comienza con los bits "1000" en los bits más significativos, seguidos de un bit que indica qué registro usar (A=0, B=1), seguido de un "1", el bit de bandera H/C, y luego tres bits para la instrucción y los seis bits restantes para la identificación del dispositivo de E/S, [ 60 ] o canal, lo que permite hasta 64 dispositivos. Algunos números de dispositivo son utilizados por el propio sistema. [ 61 ]
La E/S se inicia borrando el bit Flag con STFy luego estableciendo el bit C usando STC. El hardware detecta este patrón y comienza su operación. Cuando la operación se completa, el dispositivo establece el bit Flag y luego el programa carga los datos resultantes de la tarjeta usando la LI*instrucción, o los envía a la tarjeta con OT*. [ 60 ]
La transferencia de datos real se realiza normalmente mediante el sistema de interrupciones. Las direcciones de memoria 4 a 63 (decimal) almacenan las direcciones de las rutinas a las que se debe saltar cuando se activa una interrupción, proporcionando 60 niveles de interrupción. [ 62 ] Las direcciones 4 a 7 están cableadas para fallos de alimentación, errores de comprobación de paridad y, en modelos posteriores, errores de protección de memoria. Las direcciones 8 y superiores son vectores de interrupción accesibles por el usuario, asignados a un canal de E/S y organizados por orden de prioridad. [ 63 ] Por lo tanto, si el dispositivo de E/S 13 produce una interrupción, la CPU salta a la dirección en la ubicación de memoria 13, pero solo si no está enmascarada por una interrupción de mayor prioridad, de 1 a 12. [ 62 ]
Otra característica clave de la serie 2100 es un controlador de acceso directo a memoria independiente que utiliza el robo de ciclos para acceder a la memoria cuando la CPU no la está utilizando, por ejemplo, durante los momentos en que realiza cálculos internos. Mediante esta función, se pueden completar procesos de E/S prolongados mientras la CPU trabaja en otros problemas. El sistema se configura enviando una instrucción al controlador DMA mediante los comandos de E/S; el controlador DMA es el canal 6 y recibe inicialmente una instrucción que contiene el número del dispositivo de E/S que desea utilizar DMA, si es una entrada (escritura en memoria desde el dispositivo) o una salida (lectura de memoria al dispositivo), la ubicación inicial en memoria para los datos y el número de palabras. Este código de configuración suele instalarse en uno de los vectores de interrupción, automatizando el proceso. [ 61 ] El DMS tiene tablas separadas para la CPU y el sistema DMA, por lo que DMA puede cargar datos en partes separadas de la memoria extendida. [ 27 ]
Programación
HP proporcionó un ensamblador de tres pasadas para la máquina, [ 64 ] utilizando un formato delimitado por columnas. La primera área, a la izquierda de la línea de código, es la etiqueta, que debe comenzar en la columna 1 si está presente. A continuación, viene el mnemónico de la instrucción y luego los parámetros. El resto de la línea se puede usar para un comentario. El ensamblador permite escribir expresiones matemáticas básicas directamente, en lugar de usar mnemónicos, y también incluye varias pseudoinstrucciones, como ORGestablecer la dirección base del programa. [ 60 ]
Además del ensamblador y el enlazador asociado , las máquinas inicialmente se enviaron con un compilador FORTRAN 66 , el sistema operativo y controladores de E/S. Con el tiempo, se agregaron otros lenguajes, incluidos BASIC, ALGOL , FORTRAN IV [ 65 ] y FORTRAN 77. [ 66 ]
HP adaptó implementaciones de AGL a la plataforma, lo que añadió comandos a su lenguaje BASIC para generar gráficos en sus terminales y trazadores gráficos . Una expansión similar en su lenguaje FORTRAN se denominó GRAPHICS/1000.
Sistemas operativos
Los 2100 se usaban normalmente con el sistema operativo "Real Time Executive", o RTE para abreviar. [ 67 ] Se lanzaron varias versiones de RTE para las diferentes versiones de la máquina; RTE-II para los 2114–2116, RTE-III para los 2100, RTE-IV para la serie 21MX y RTE-A para la serie "A".
El intérprete de comandos del sistema operativo, incluso a finales de la década de 1970, era muy primitivo, con un sistema de archivos de un solo nivel , el Administrador de Archivos o FMGR. Por ejemplo, el comando para ejecutar un compilador FORTRAN sería el siguiente: [ 66 ]
ru, f77, &prueba,'prueba,%prueba
significa ejecutar el programa f77, utilizando caracteres especiales para distinguir entre archivos fuente, objetos y archivos ejecutables.
El HP 1000 fue uno de los pocos miniordenadores que limitaba los nombres de archivo a solo cinco caracteres, en lugar de los seis habituales en aquella época, lo que dificultaba la adaptación e incluso la escritura de programas. La versión posterior RTE-A para el HP 1000 ofrecía una estructura de directorios convencional con nombres de archivo de 16,4 caracteres e hizo que el comando ru fuera opcional.
TODS (Test Oriented Disk System) fue desarrollado por un técnico en el centro de reparación de placas HP para mejorar el tiempo de respuesta en el centro. Se utilizó para cargar diagnósticos desde un repositorio central en lugar de cargar cintas de papel individuales. TODS también se utilizó en las series HP 2116 a 21MX-F para sistemas de prueba para misiles como Phoenix (9206B), Harpoon (9500D-354), Tomahawk y muchos otros. Los primeros conjuntos de prueba fueron el 9500A, evolucionando al 9500D, seguido por el ATS (Automated Test System); sistemas de prueba HP específicos, como el conjunto de prueba de componentes de lanzamiento Minuteman 9500D-A46 y el conjunto de prueba de componentes de lanzamiento Peacekeeper/Minuteman ATS-E35; el HP 8580/8542 Microwave ANA/ASA (Analizador de red automático/Analizador de espectro automático) se ejecutaba en TODS; y el conjunto de prueba del transpondedor de microondas TDRSS utilizaba TODS y era un sistema muy grande.
También existía MTOS (Magnetic Tape Operating System), similar a TODS.
Descendientes y variantes

Los ordenadores de sobremesa HP 9810, 9820 y 9830 utilizan una versión TTL serializada y lenta de la CPU 2116, aunque finalmente no utilizaron ningún sistema operativo ni software de aplicación, sino que se basaron en intérpretes fáciles de usar basados en ROM , como BASIC , que funcionaban al encenderse, y teclados y pantallas integrados en lugar de discos o terminales estándar . En 1975, HP presentó el BPC (Binary Processing Chip), uno de los primeros microprocesadores de 16 bits del mundo , que utilizaba el proceso NMOS -II de HP. [ 68 ] [ 69 ] El BPC se empaquetaba normalmente en un módulo híbrido de cerámica con los chips EMC e IOC, que añadían instrucciones matemáticas y de E/S extendidas. El híbrido se desarrolló como el núcleo del nuevo ordenador de sobremesa 9825. [ 70 ] La posterior estación de trabajo 9845 añadió un chip MMU . Estos fueron los precursores de los ordenadores personales y las estaciones de trabajo técnicas.
Las principales diferencias entre la arquitectura original del 2116 y el microprocesador BPC radican en una estructura de E/S completamente rediseñada, la eliminación de múltiples niveles de direccionamiento indirecto y la incorporación de un registro de pila para la llamada y el retorno de subrutinas. La eliminación del direccionamiento indirecto múltiple permitió disponer de un bit adicional en una palabra de memoria que contenía una dirección indirecta, lo que posibilitó aumentar la capacidad máxima de memoria de 32 KB (palabras de 16 bits) a 64 KB. El BPC también añadió una entrada que permitía que la "página actual" fuera relativa a la ubicación de la instrucción actual, en lugar de una página alineada con potencias de dos.
El BPC se utilizó en una amplia gama de ordenadores, periféricos y equipos de prueba de HP, hasta que se dejó de fabricar a finales de la década de 1980.
Polonia fabricaba un clon de la HP 2114B desde 1973. Los clones polacos se denominaban MKJ-28 (prototipo, 1973), SMC-3 (producción piloto, 17 máquinas, 1975-1977) y PRS-4 (producción en serie de más de 150 máquinas, 1978-1987).
Checoslovaquia produjo sus propios clones compatibles con HP 1000, denominados ADT4000 (4300, 4500, 4700, 4900). Los proveedores Aritma Prague (desarrollo), ZPA Čakovice y ZPA Trutnov entregaron más de 1000 unidades entre 1973 y 1990. Estas computadoras se utilizaron en centrales eléctricas, incluidas las nucleares, otras industrias, el ejército, universidades, etc., por su alta fiabilidad y sus funciones en tiempo real. Los sistemas operativos eran DOS/ADT (varias versiones) y Unix. El híbrido más antiguo, el ADT7000 (1974), estaba compuesto por partes digitales del ADT4000 y analógicas del ADT3000, pero solo la parte digital era de interés para los clientes. El ADT4316 (1976) tenía 16K palabras de memoria de núcleo de ferrita, y el ADT4500 (1978) hasta 4M palabras de RAM de semiconductores. El ADT 4900 fue diseñado como un ordenador de placa única , pero su producción en masa no llegó a iniciarse. El Ejército Popular Checoslovaco utilizó los miniordenadores móviles MOMI 1 y MOMI 2, basados en ADT, instalados en un contenedor transportado por el camión Tatra 148.
Notas
- ↑ Se afirma que es el primer ejemplo de tal cosa en una computadora. [ 23 ]
- ↑ La versión original de Star Trek se escribió ese mismo año para el ordenador central SDS Sigma 7 , pero el código fuente se perdió cuando el autor perdió el acceso a esa máquina. Se reescribió desde cero en el HP 2000, que sigue siendo la versión más antigua disponible públicamente.
- ↑ GMCRO1: Macroeconomía; BitSavers
Referencias
Citas
- 1 2 "2100A" .
- ↑ "21-MX" .
- ↑ Descripción del procesador Hewlett-Packard 2100 (PDF) . Julio de 1972.
- ↑ "1000, Serie L/A" .
- ↑ "1000 A990" .
- ^ Leibson 2017 .
- ↑ "Dymec" .
- 1 2 "Historia del ordenador digital 2116A" . HP .
- ↑ "50º aniversario del primer ordenador de HP" .
- ↑ HP 1967 , págs. 2-16.
- ↑ "2114" .
- ↑ HP 1967 , pág. 2-2 (9).
- 1 2 3 "Censo de computadoras de primera generación de Hewlett-Packard - The Vintage Technology Association" . decadecounter.com . Folletos de computadoras HP, Especificaciones diferenciales HP 2116/15/14. Archivado del original el 29 de diciembre de 2009. Recuperado el 6 de febrero de 2019 .
- ↑ «Los empleados de Cupertino trabajaron en los primeros productos informáticos de HP» . Insight , HP Cupertino, vol. 2, n.º 6, pág. 6. Noviembre-diciembre de 1989. Consultado el 29 de octubre de 2025.
- ↑ Anuncio de HP: "una medida de progreso" . Scientific American , vol. 219, n.º 3, págs. 44-45. Septiembre de 1968. Consultado el 29 de octubre de 2025.
- ↑ Thomas C. Poulter, Jr. (julio de 1968). «Un sistema informático práctico de tiempo compartido» . Hewlett-Packard Journal , vol. 19, n.º 11, págs. 2-7. Archivado el 6 de diciembre de 2011. Consultado el 29 de octubre de 2025.
- ↑ "Hewlett/Packard Computers" .
El 2000A fue el primer sistema de tiempo compartido HP 2000 en el mercado alrededor de 1969.
- ↑ Los identificadores de usuario eran una letra seguida de 3 dígitos, lo que permitía hasta 26.000 cuentas de usuario.
- 1 2 3 "Sistema de tiempo compartido 2000" .
- ↑ "Superando los 10 años" . Revista MEASURE . Hewlett Packard. Octubre de 1976.
- ↑ "La informática en ESO a través de los tiempos: el asombroso avance de la tecnología" . Imagen de la semana de ESO . Consultado el 4 de junio de 2012 .
- ↑ "2116" .
- ↑ Poynor, Todd (agosto de 1991). "25 años de computación en tiempo real" (PDF) . Interfaz en tiempo real . HP-Interex.
- ↑ "Mountain View" .
- 1 2 Frankenberg 1974 , pág. 16.
- ↑ HAYES, JOHN P. (1978). Arquitectura y organización de computadoras . McGraw-Hill. pág. 303. ISBN 0-07-027363-4.
- 1 2 3 4 Frankenberg 1974 , pág. 19.
- ↑ "Serie E 21MX" .
- ↑ "Serie M 21MX" .
- ↑ "Serie F 21MX" .
- 1 2 "1000, Serie L/A" .
- ↑ "1000 A400" .
- ↑ "1000 A990" .
- ↑ Bryan, J. David. "Características de HP" (Documento). HP.
- ↑ "Interfaz del controlador de disco 13037-60023" . 1000 — 21MX . Museo de Computadoras HP.
- ↑ "Sistema de tiempo compartido 2000" .
- ↑ Lo mejor de la informática creativa, volumen 1. Informática creativa. 1976. pág. 275.
- ↑ "STTR1: STAR TREK, BIBLIOTECA DE PROGRAMAS HP BASIC" . Archivado del original el 15 de febrero de 2015.
- ↑ Qué hacer después de pulsar Intro . People's Computer Company. 1975. pág. vii.
- ↑ Albrecht, Bob (1972). A mi computadora le gusto cuando hablo en BASIC . Dymax.
- ↑ Robert F. Ling; Harry V. Roberts (julio de 1975). "IDA: Un enfoque para el análisis interactivo de datos en la enseñanza". The Journal of Business . 48 (3): 411– 451. doi : 10.1086/295765 . JSTOR 2352233 .
- ↑ John R. Delaney. "Análisis y calificación de la HP 2000-2b19wm" . PC Magazine . Archivado del original el 26 de enero de 2019. Consultado el 9 de noviembre de 2018. La
HP 2000-2b19wm... una computadora portátil de 15 pulgadas por menos de $300.
- ↑ "Descargas de software y controladores para la serie de impresoras HP LaserJet 2100" . Soporte de HP . Archivado del original el 8 de marzo de 2024. Consultado el 8 de marzo de 2024 .
- ↑ "Precios de la memoria (1957-2017)" . John C. McCallum .
- 1 2 3 Peterson 2014 , pág. 371.
- 1 2 Peterson 2014 , pág. 370.
- ↑ HP 1967 , págs. 2-4.
- 1 2 HP 1967 , págs. 2-5.
- ↑ 2100 1972 , pp. 2–7, 2–8.
- ↑ 2100 1972 , págs. 2-6.
- ↑ 2116C Computer, Volumen 1 (PDF) . Hewlett-Packard. Julio de 1971. pp. 2–4 . Consultado el 16 de enero de 2024 .
- ↑ "Portada del folleto HP 2114/15/16" . Museo de Historia de la Computación .
- ↑ HP 1967 , pág. 2-2.
- ↑ Peterson 2014 , pág. 372.
- 1 2 HP 1967 , págs. 2–3.
- ↑ Peterson 2014 , págs. 371–372.
- ↑ HP 1967 , págs. 2-9.
- 1 2 HP 1967 , pág. 2-11.
- ^ HP 1967 , págs. 2-10, 2-11.
- 1 2 3 Peterson 2014 , pág. 375.
- 1 2 Peterson 2014 , pág. 377.
- 1 2 HP 1967 , pág. 2-12.
- ↑ HP 1967 , págs. 2-6.
- ↑ Peterson 2014 , pág. 374.
- ↑ HP 1967 , págs. 1-7.
- 1 2 Manual de Fortran 77
- ↑ Weisenberg, Michael (28 de junio de 1982). "Los sistemas con potencia de mainframe vienen en tamaños micro" . InfoWorld . pág. 25.
- ↑ Eads, William D.; Maitland, David S. (junio de 1976). "Procesador LSI NMOS de alto rendimiento" (PDF) . HP Journal . 27 (10): 15–18 . Archivado del original (PDF) el 27 de octubre de 2021. Consultado el 12 de julio de 2020 .
- ↑ Leibson, Steve. "Microprocesador híbrido" . HP9825.COM . Consultado el 15 de junio de 2008 .
- ↑ Patente estadounidense 4075679 , "Calculadora programable", publicada el 21 de febrero de 1978, asignada a Hewlett-Packard Company.
Bibliografía
- Leibson, Steve (2017). "HP: La compañía informática accidentalmente, a propósito" . HP9825.COM .
- La empresa Hewlett Packard. Página principal del HP1000/RTE.
- Hewlett-Packard (marzo de 1967). "Sección 2-26, Directo/Indirecto". Especificaciones y funcionamiento básico del ordenador HP 2116A, volumen 1 (PDF) . págs. 2-3 .
- Peterson, James (2014). «Sección 2-26, Directo/Indirecto». Organización de computadoras y programación en lenguaje ensamblador . Academic Press. págs. 369–378 . ISBN 978-1-4832-6859-0.
- Guía del ordenador 2100. Hewlett-Packard. Septiembre de 1972.
- Frankenberg, Robert (octubre de 1974). "Se selecciona memoria totalmente semiconductora para la nueva serie de minicomputadoras" (PDF) . Hewlett-Packard Journal . 26 (2): 15– 20.
Enlaces externos
- Archivo HP2100 de Jeff Moffat: software y manuales
- Simulador, con binarios ejecutables y código fuente en C.
- Folleto de la HP 2100 de 1972
- Sistema HP2100 montado en rack. Imagen del sitio de Guilherme Bittencourt que muestra de arriba a abajo, a la izquierda: una computadora de la serie E 21MX, una computadora 2100A, una fuente de alimentación (PS) 2100, una unidad de disco 7905, un controlador de unidad 13037; a la derecha: un lector de cinta de papel, una perforadora de cinta de papel, una unidad de disco 7900, una fuente de alimentación 7900.
- Museo de Computadoras HP: Series 1000-L y A
- Museo de Historia de la Computación: El Método HP , HP 2116 , Año 1966 .
- computadoras de 16 bits
- Introducciones relacionadas con la informática en 1966
- Computadoras que utilizan diseños de segmentación de bits
- Minicomputadoras
- Computadoras HP