El sistema de desarrollo lógico HP 64000 , presentado el 17 de septiembre de 1979, es una herramienta para desarrollar hardware y software para productos basados en microprocesadores comerciales de una variedad de fabricantes. Los sistemas asistieron al desarrollo de software con ensambladores y compiladores para Pascal y C, proporcionaron hardware para la emulación en circuito de procesadores y memoria, tenían herramientas de depuración que incluían hardware de análisis lógico y un programador de chips de memoria de solo lectura programable (PROM). Se dispuso de una amplia variedad de tarjetas y software opcionales adaptados a microprocesadores particulares. Cuando se presentó, la HP 64000 tenía dos características distintivas. Primero, a diferencia de la mayoría de los sistemas de desarrollo de microprocesadores del momento, como IntelIntellec y Motorola EXORciser , no estaba dedicado a los microprocesadores de un fabricante en particular, y en segundo lugar, se diseñó de tal manera que hasta seis estaciones de trabajo se conectarían a través del bus de instrumentación HP-IB ( IEEE-488 ) a un disco duro común y una impresora para Formar una red estrechamente integrada.
Modelos
- 64100A , introducido en 1979. Era una estación de trabajo de escritorio que contenía diez ranuras de expansión para varias tarjetas opcionales. La oferta inicial de esta estación de trabajo requería un disco duro externo para todo el almacenamiento en disco, aunque el disco podía ser compartido por hasta seis estaciones de trabajo a través del bus de instrumentación HP-IB ( IEEE-488 ). [1] Más tarde, se agregó una opción de unidad de disquete dual para que una estación de trabajo pudiera usarse sin el disco duro compartido. Esta estación de trabajo utilizó el mismo microprocesador HP personalizado de 16 bits que se encuentra en la estación de trabajo HP 9845C . Se ofreció software y hardware para desarrollar microprocesadores de 8 y 16 bits.
- 64110A , una estación de trabajo más portátil con cinco ranuras para tarjetas, se introdujo en 1983. [2] Utilizaba el mismo procesador HP que el 64100A.
- El compartimento para tarjetas 64120A se introdujo en 1986. [3] Se ajustaba a las mismas tarjetas opcionales que el 64100A y el 64110A, y se conectaba mediante un bus IEEE-488 a una estación de trabajo estándar HP 9000 Serie 300 que ejecutaba el sistema operativo HP-UX en lugar de utilizar un estaciones de trabajo especialmente diseñadas como 64100A y 64110A. Con estos sistemas se utilizó el nombre "Entorno de desarrollo de microprocesador HP 64000-UX". Se introdujeron software y hardware para el desarrollo de microprocesadores de 32 bits.
- La caja de tarjetas 64700A se introdujo en 1988. [4] Se comercializó como un sistema de desarrollo de menor costo (en comparación con el 64120A) que podía operarse con una computadora personal IBM compatible con PC en lugar de una estación de trabajo. [5] Las tarjetas para este sistema llevaban los números 647xx y no eran compatibles con los otros sistemas.
Descripción
Terminología
Como se muestra en el diagrama de bloques de la derecha, un sistema 64000 constaba de varios componentes cuyos nombres tenían definiciones específicas:
- Mainframe es la estación de trabajo física o la caja de tarjetas que contiene las tarjetas opcionales.
- Host es el procesador que opera el mainframe. En los modelos 64100A y 64110A, el bus de host es la dirección, los datos, la entrada / salida y los buses de control del procesador de la estación de trabajo, que también se conectan a las tarjetas en el compartimento para tarjetas.
- El sistema de usuario es el sistema de microprocesador que se está desarrollando. Los términos procesador de usuario y memoria de usuario describen los componentes del sistema que se está desarrollando.
- Emulación o Emulador se refiere a tarjetas opcionales y otro hardware que están conectados al mainframe a través de tarjetas enchufables y pueden reemplazar el procesador y / o la memoria en el sistema del usuario. Las tarjetas de emulación y análisis están interconectadas con un bus de emulación que está completamente separado del bus de host.
Desarrollo de software
El 64000 proporcionó un sistema de archivos y un editor de texto para escribir software. Hubo un genérico ensamblador / enlazador ( Bitsavers manuales ), Pascal compilador ( Bitsavers manuales ), y C compilador ( Bitsavers manuales ), que se complementa con add-on transversales ensambladores y compiladores cruzados para cada microprocesador particular. Una lista de estos por número de producto es:
Microprocesador | Producto ensamblador # | Manual del ensamblador | Producto del compilador Pascal # | Manual del compilador Pascal | Producto del compilador de C # | Manual del compilador de C |
---|---|---|---|---|---|---|
Motorola 6800/1/2/3/8 | 64841A | Bitsavers | 64811A | Bitsavers | 64821A | |
Motorola 6809 | 64844A | Bitsavers | 64813A (imagen de disco en HPCM ) | Bitsavers | 64822A (imagen de disco en HPCM ) | Bitsavers |
Motorola 68000/08/10 | 64845A (imagen de disco en HPCM *) | Bitsavers | 64815A (imagen de disco en HPCM ) | Bitsavers | 64819A | Bitsavers |
Intel 8048 | 64846A (imagen de disco en HPCM ) | Bitsavers | ninguno | ninguno | ||
Intel 8051 | 64855A (imagen de disco en HPCM ) | ninguno | ninguno | |||
Intel 8080 / 8085 | 64840A | 64810A | Bitsavers | 64826A | ||
Intel 8086/87/88/186/188 | 64853A (imagen de disco en HPCM ) | 64814A (imagen de disco en HPCM ) | 64818A (imagen de disco en HPCM ) | |||
Zilog Z80 | 64842A (imagen de disco en HPCM ) | Bitsavers | 64823A (imagen de disco en HPCM ) | 64824A (imagen de disco en HPCM ) | ||
Zilog Z8 | 64850A | ninguno | ninguno | |||
Zilog Z8000 | 64854A | ninguno | ninguno | |||
RCA 1802 | 64848A | ninguno | ninguno | |||
Tecnología MOS 6501/6505 | 64843A | ninguno | ninguno | |||
Texas Instruments TMS9900 | 64847A | ninguno | ninguno | |||
Texas Instruments TMS320 | 64858A | ninguno | ninguno | |||
Fairchild F8 | 64849A | ninguno | ninguno | |||
MIL-STD-1750A | 64857A | ninguno | ninguno |
* HPCM es el Museo de la Computación de Hewlett Packard
Además, había un manual Pascal "Host Compiler", número de producto 64817A en Bitsavers , imagen de disco en HPCM , que podía usarse para escribir programas para ejecutar en el procesador de host de la estación de trabajo.
Emulación en circuito
El sistema 64000, mediante el uso de tarjetas y software opcionales, podría realizar la emulación en circuito de una variedad de microprocesadores y su memoria. [1] [2] Un sistema de emulación completo generalmente constaba de:
- Una tarjeta controladora de emulador de microprocesador, específica para cada microprocesador.
- Un "módulo" o "sonda" de emulación, que contenía componentes electrónicos de interfaz y era un módulo externo al mainframe. El procesador en el sistema del usuario se quitó de su zócalo y en su lugar se conectó un cable del módulo de emulación. El módulo de emulación contenía una copia del procesador del usuario que ejecutaba el código del programa tal como lo haría el procesador del usuario, y el sistema del usuario lo veía como el procesador normal.
- Una tarjeta controladora de memoria de emulación y una o más tarjetas de memoria de emulación. La memoria de emulación podría usarse para sustituir la memoria en el sistema de usuario de modo que, por ejemplo, el código del programa de usuario podría colocarse en la memoria de emulación y ejecutarse en lugar de tener que programar chips ROM.
- Una tarjeta analizadora "interna", que era un analizador lógico que monitoreaba el funcionamiento del procesador y la memoria emulados.
- Software emulador que permitía al operador iniciar y detener el procesador emulado, examinar el contenido de la memoria y registrar ubicaciones, medir la sincronización de la señal, observar el flujo del programa, etc.
La foto de la derecha muestra una estación de trabajo 64100A que emula el procesador de un sistema de usuario a través de un módulo emulador. La foto también muestra un módulo de adquisición de datos para una tarjeta analizadora lógica "externa" en el 64100A que estaba midiendo señales digitales adicionales en el sistema del usuario.
Microprocesador | Número de producto de la tarjeta controladora del emulador | Manual | # De producto de la cápsula de emulación | Manual | Producto de software de emulación # | Manual |
---|---|---|---|---|---|---|
Motorola 6800 | 64211A | Bitsavers | 64212A | Bitsavers | 64210A | Bitsavers |
Motorola 6801/6803 | 64256A | 64255A | 64256A | |||
Motorola 6802/6808 | 64211A | Bitsavers | 64213A | Bitsavers | 64210A | Bitsavers |
Motorola 6805 | 64191A | Bitsavers | 64192A / 64193A | Bitsavers | 64192A (imagen de disco en Bitsavers ) | |
Motorola 6809 | 64214A | Bitsavers | 64215A / 64216A | Bitsavers | 64215A (imagen de disco en Bitsavers ) | Bitsavers |
Motorola 68000/68008 | 64243A / 64244A | 64243A / 64244A | 64243A (imagen de disco en HPCM ) | Bitsavers | ||
Motorola 68010 | 64271A | 64249A | 64249A | |||
Intel 8048 | 64261A | 64262A | 64262A (imagen de disco en HPCM ) | |||
Intel 8051 | 64263A | 64264A | 64264A | |||
Intel 8080 | 64201A | 64202A | 64202A | |||
Intel 8085 | 64201A | 64203A | 64203A | |||
Intel 8086 | 64271A | 64222A | 64222A (imagen de disco en HPCM ) | |||
Intel 8088 | 64271A | 64226A | 64226A | |||
Intel 80186 | 64223A | 64224A | Bitsavers | 64224A | ||
Intel 80188 | 64223A | 64225A | 64225A | |||
Zilog Z80 | 64251A | 64252A | 64252A (imagen de disco en HPCM ) | |||
Zilog Z8001 / 8002 | 64271A | 64232A / 64233A | 64232A / 64233A |
* HPCM es el Museo de la Computación de Hewlett Packard
Tarjetas de control del emulador conectadas tanto al bus de host (mainframe) como al bus de emulación. Actuaron para pasar señales de control y datos entre el host y los sistemas emulados. Dependiendo del modelo, la placa de control también puede contener hardware para marcar códigos de operación ilegales o accesos a la memoria o para actuar como un analizador lógico interno.
La emulación de memoria permite que la RAM y / o ROM en el sistema del usuario sean reemplazadas por memoria en el sistema 64000. Se ofrecieron dos tarjetas controladoras de memoria de emulación:
- Controlador de memoria de emulación 64151A (manual en Bitsavers ), que tenía 16 líneas de dirección, por lo que podía abordar 64 KB de memoria, y
- 64155A Wide Address Memory Controller (manual en Bitsavers ), que tenía 24 líneas de dirección, por lo que podía abordar 16 MB de memoria.
Los mapas de memoria para el sistema del usuario podrían especificarse en términos de RAM, ROM y memoria protegida. El controlador de memoria detectó intentos de escritura en la ROM o acceso a la memoria protegida, lo que podría desencadenar acciones como puntos de interrupción del programa.
Se ofrecieron tarjetas de memoria de varias capacidades de RAM estática . Las tarjetas 64152B, 53B y 54B proporcionaron 32, 16 y 8 KB, respectivamente, y las tarjetas 64161A, 62A y 63A proporcionaron 128, 64 y 32 KB, respectivamente. [6] Cada uno de ellos podría configurarse para buses de datos de 8 o 16 bits. Las tarjetas de memoria se conectaron entre sí y al controlador de memoria a través de un bus de memoria de emulación. Los accesos a la memoria de emulación por parte del sistema anfitrión o del usuario se realiza a través de la tarjeta controladora.
Una vez que el procesador y la memoria emulados ocuparon el lugar del procesador y la memoria en el sistema del usuario, el diseñador pudo escribir y compilar el código del programa, cargarlo en la memoria de emulación e iniciar el sistema del usuario, ejecutando el programa en el procesador emulado.
Análisis
Un sistema 64000 podría actuar como analizador lógico para medir señales digitales dentro del sistema del usuario. Se ofrecieron dos tipos de tarjetas de análisis lógico, analizadores "internos" que medían señales directamente desde el bus de emulación dentro del mainframe, y analizadores "externos" que usaban sondas separadas para conectarse físicamente a elementos del sistema del usuario. De manera similar a los productos de emulación de memoria y procesador, las funciones de análisis a menudo se dividían en tarjetas controladoras y tarjetas de adquisición de datos. Algunas de las tarjetas controladoras del procesador de emulación ofrecían funciones de análisis interno sin hardware separado.
El hardware de análisis lógico también se dividió en analizadores de estado y analizadores de tiempo . El primero midió señales en sincronización con un reloj del sistema y podría, por ejemplo, registrar los estados de los buses de dirección, datos y control en el sistema del usuario en cada ciclo de la CPU. Estos datos se presentaban normalmente como una traza , mostrando el valor en cada bus para cada ciclo de la CPU. Para muchos microprocesadores, estaba disponible un "ensamblador inverso" que convertiría los valores medidos en el bus de datos en códigos de operación para el procesador del usuario.
La segunda forma de análisis lógico fue el análisis de tiempos. Un analizador de sincronización o lógica asíncrona midió señales digitales a intervalos de tiempo específicos, no necesariamente sincronizados con el reloj del sistema del usuario. Dicho análisis podría usarse para encontrar fallas o verificar que las señales digitales tengan los tiempos adecuados.
Además de estas funciones del analizador lógico, estaban disponibles las opciones de "análisis de software". Estas herramientas actuaron como lo que ahora se denominan depuradores y perfiladores .
Una lista de productos de análisis es:
Número de producto | Descripción | Manual |
---|---|---|
64300A | Analizador lógico interno | |
64302A | Analizador de lógica amplia interna | Bitsavers |
64310A | Analizador de rendimiento de software | Bitsavers |
64331A | Analizador de software de alto nivel 68000 | |
64601A | Controlador del analizador de temporización / hardware | Bitsavers |
64602A | Adquisición de temporización de 8 canales | Bitsavers |
64604A | Sonda de sincronización de 8 canales | Bitsavers |
64621A | Controlador del analizador de estado / software | Bitsavers |
64622A | Adquisición de estado de 40 canales | Bitsavers |
64623A | Adquisición de estado de 20 canales | Bitsavers |
64635A | Sonda de datos de estado de 20 canales | |
64636A | Sonda de reloj de estado de 8 canales |
De manera similar a la forma en que el hardware de emulación usaba "pods" con hardware de interfaz adaptado a cada microprocesador, el hardware de análisis usaba preprocesadores para actuar como una interfaz con el microprocesador. Aparte del preprocesador de bus de emulación 64304A (manual en Bitsavers ), cada una de las interfaces de preprocesador específicas de la CPU era una placa de circuito que encajaba dentro del módulo de preprocesador de propósito general 64650A (manual en Bitsavers ). Eso, a su vez, conectado a los cables de la tarjeta del analizador lógico.
Número de producto | Descripción |
---|---|
64304A | Preprocesador de bus de emulación |
64653A | Interfaz del preprocesador 8086/8088 |
64655A | Interfaz del preprocesador 8085 |
64657A | 80286 Interfaz del preprocesador |
64658A | Interfaz del preprocesador 80186/80188 |
64670A | Interfaz del preprocesador 68000 |
64671A | Interfaz del preprocesador 6809 |
64672A | Interfaz del preprocesador 6800/6802 |
64673A | 68008 Interfaz del preprocesador |
64674A | Interfaz de preprocesador 68000/68010 |
64680A | Interfaz del preprocesador Z8001 |
64681A | Interfaz del preprocesador Z8002 |
64683A | Interfaz del preprocesador Z80 |
64690A | Interfaz del preprocesador NSC800 |
Programador PROM
El 64100A tiene un espacio a la derecha del teclado que puede aceptar un módulo programador PROM. Se instaló una tarjeta de control de programador PROM común, la 64500A (manual en Bitsavers ), en la caja de tarjetas. Al menos 11 módulos programadores, numerados del 64502A al 64520A, estaban disponibles para una variedad de PROM y chips de microcontroladores programables de diferentes fabricantes.
Emulador MAME
Una emulación de la estación de trabajo 64100A es parte del sistema MAME (Multiple Arcade Machine Emulator), bajo el fabricante HP y titulado "HP 64000". El emulador es de código abierto y el código fuente está disponible .
Referencias
- ↑ a b Saponas, Thomas A .; Kerr, Brian W. (octubre de 1980). "El sistema de desarrollo lógico acelera el diseño del sistema de microcomputadoras" (PDF) . Diario de Hewlett-Packard . 31 (10): 3–12 . Consultado el 14 de julio de 2018 .
- ^ a b Davis, Michael W .; Scharrer, John A .; Wickliff, Robert G. (marzo de 1983). "Amplia capacidad de soporte y desarrollo lógico en un sistema conveniente" (PDF) . Diario de Hewlett-Packard . 34 (3): 3-5 . Consultado el 14 de julio de 2018 .
- ^ Entrada de HP Computer Museum para 64120A.
- ^ Entrada de HP Computer Museum para 64700A.
- ^ Catálogo de Hewlett Packard (PDF) . El archivo de Hewlett Packard. 1989. págs. 625–626 . Consultado el 14 de julio de 2018 .
- ^ Bitsavers
enlaces externos
- Documentación en PDF para HP 64000 de Bitsavers
- primer sistema 64000 de HP Computer Museum