Intel 8008-Intel 8008
información general | |
---|---|
Lanzado | Mediados de 1972 |
Interrumpido | 1983 |
Diseñada por | Corporación de Terminales Informáticos (CTC) |
Fabricantes comunes | |
Actuación | |
máx. frecuencia de reloj de la CPU | 200 kHz a 800 kHz |
Ancho de datos | 8 bits |
Ancho de dirección | 14 bits |
Arquitectura y clasificación | |
Solicitud | Terminales de computadora , calculadoras , máquinas embotelladoras, robots industriales ASEA de los años 70 (IRB 6), computadoras simples , etc. |
Nodo de tecnología | 10 micras |
Conjunto de instrucciones | 8008 |
Especificaciones físicas | |
transistores | |
Paquete(s) | |
Zócalo(s) | |
Historia | |
Sucesor | Intel 8080 |
Estado de soporte | |
no soportado |
El Intel 8008 (" ocho mil ocho " u " ochenta y ocho ") es uno de los primeros microprocesadores orientados a bytes diseñado por Computer Terminal Corporation (CTC), implementado y fabricado por Intel , e introducido en abril de 1972. Es una CPU de 8 bits con un bus de direcciones externo de 14 bits que podría direccionar 16 KB de memoria. Originalmente conocido como 1201 , el chip fue encargado por Computer Terminal Corporation (CTC) para implementar un conjunto de instrucciones de su diseño para su terminal programable Datapoint 2200 . Como el chip se retrasó y no cumplió con los objetivos de rendimiento de CTC, el 2200 terminó usando la propia CPU basada en TTL de CTC . Un acuerdo permitió a Intel comercializar el chip a otros clientes después de que Seiko expresara su interés en usarlo para una calculadora .
Historia
CTC se formó en San Antonio en 1968 bajo la dirección de Austin O. "Gus" Roche y Phil Ray, ambos ingenieros de la NASA . Roche, en particular, estaba principalmente interesado en producir una computadora de escritorio. Sin embargo, dada la inmadurez del mercado, el plan de negocios de la compañía mencionaba solo un reemplazo de Teletype Model 33 ASR, que se envió como Datapoint 3300 . El estuche fue diseñado deliberadamente para caber en el mismo espacio que una máquina de escribir IBM Selectric y usó una pantalla de video con la misma relación de aspecto que una tarjeta perforada de IBM . Aunque comercialmente exitoso, el 3300 tenía problemas de calor continuos debido a la cantidad de circuitos empaquetados en un espacio tan pequeño.
Para abordar el calentamiento y otros problemas, se inició un rediseño que presentaba la parte de la CPU del circuito interno reimplementada en un solo chip. En busca de una empresa capaz de producir su diseño de chip, Roche recurrió a Intel, entonces principalmente un proveedor de chips de memoria. Roche se reunió con Bob Noyce , quien expresó su preocupación por el concepto; John Frassanito recuerda que "Noyce dijo que era una idea intrigante y que Intel podría hacerlo, pero que sería un movimiento tonto. Dijo que si tienes un chip de computadora, solo puedes vender un chip por computadora, mientras que con memoria , puedes vender cientos de chips por computadora". Otra preocupación importante era que la base de clientes existente de Intel compraba sus chips de memoria para usarlos con sus propios diseños de procesadores; si Intel introdujera su propio procesador, podrían ser vistos como un competidor y sus clientes podrían buscar memoria en otra parte. Sin embargo, Noyce acordó un contrato de desarrollo de $50,000 a principios de 1970. También se incorporó a Texas Instruments (TI) como segundo proveedor.
TI pudo hacer muestras del 1201 basadas en dibujos de Intel, pero resultaron tener errores y fueron rechazadas. Las propias versiones de Intel se retrasaron. CTC decidió volver a implementar la nueva versión de la terminal utilizando TTL discreto en lugar de esperar a una CPU de un solo chip. El nuevo sistema se lanzó como Datapoint 2200 en la primavera de 1970, con su primera venta a General Mills el 25 de mayo de 1970. CTC detuvo el desarrollo del 1201 después del lanzamiento del 2200, ya que ya no era necesario. Seis meses después, Seiko se acercó a Intel y expresó su interés en usar el 1201 en una calculadora científica, probablemente después de ver el éxito del Intel 4004 más simple que usa Busicom en sus calculadoras comerciales. Siguió un pequeño rediseño, bajo el liderazgo de Federico Faggin , el diseñador del 4004, ahora líder del proyecto del 1201, expandiéndose de un diseño de 16 pines a 18 pines, y el nuevo 1201 se entregó a CTC a finales de 1971. .
En ese momento, CTC había avanzado una vez más, esta vez al Datapoint 2200 II , que era más rápido. El 1201 ya no era lo suficientemente potente para el nuevo modelo. CTC votó para poner fin a su participación en el 1201, dejando la propiedad intelectual del diseño a Intel en lugar de pagar el contrato de $50,000. Intel le cambió el nombre a 8008 y lo puso en su catálogo en abril de 1972 a un precio de 120 dólares. Este cambio de nombre intentó aprovechar el éxito del chip 4004, presentando el 8008 simplemente como un puerto de 4 a 8, pero el 8008 no se basa en el 4004. El 8008 se convirtió en un diseño comercialmente exitoso. A esto le siguió el Intel 8080 , y luego la exitosa familia Intel x86 .
Uno de los primeros equipos en construir un sistema completo alrededor del 8008 fue el equipo de Bill Pentz en la Universidad Estatal de California, Sacramento . Sac State 8008 fue posiblemente la primera microcomputadora verdadera, con un sistema operativo de disco construido con lenguaje ensamblador IBM Basic en PROM, todo manejando una pantalla a color, disco duro, teclado, módem, lector de cinta de audio/papel e impresora. El proyecto comenzó en la primavera de 1972 y, con la ayuda clave de Tektronix , el sistema estaba en pleno funcionamiento un año después. Bill ayudó a Intel con el kit MCS-8 y proporcionó información clave para el conjunto de instrucciones Intel 8080 , lo que ayudó a que fuera útil para la industria y los aficionados.
En el Reino Unido, un equipo de SE Laboratories Engineering (EMI) dirigido por Tom Spink construyó en 1972 una microcomputadora basada en una muestra preliminar del 8008. Joe Hardman amplió el chip con una pila externa. Esto, entre otras cosas, le permitió guardar y recuperar energía en caso de falla. Joe también desarrolló una impresora de pantalla directa. El sistema operativo se escribió utilizando un metaensamblador desarrollado por L. Crawford y J. Parnell para Digital Equipment Corporation PDP-11 . El sistema operativo se grabó en una PROM. Fue impulsado por interrupciones, en cola y basado en un tamaño de página fijo para programas y datos. Se elaboró un prototipo operativo para la gerencia, quien decidió no continuar con el proyecto.
El 8008 fue la CPU para las primeras computadoras personales comerciales sin calculadora (excluyendo el propio Datapoint 2200): el kit SCELBI de EE. UU. y el Micral N francés y el MCM / 70 canadiense preconstruidos . También fue el microprocesador de control de los primeros modelos de la familia de terminales de computadora 2640 de Hewlett-Packard .
Intel ofreció un simulador de conjunto de instrucciones para el 8008 denominado INTERP/8. Fue escrito en FORTRAN .
Diseño
1 3 | 1 2 | 1 1 | 1 0 | 0 9 | 0 8 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 0 0 | (posición de bit) |
Registros principales | ||||||||||||||
A | un acumulador | |||||||||||||
B | registro b | |||||||||||||
C | registro c | |||||||||||||
D | registro _ | |||||||||||||
mi | registro electronico | |||||||||||||
H | Registro H (indirecto) | |||||||||||||
L | Registro L (indirecto) | |||||||||||||
Contador de programa | ||||||||||||||
ordenador personal | Contador de programa _ | |||||||||||||
Pila de llamadas de dirección push-down | ||||||||||||||
COMO | Nivel de llamada 1 | |||||||||||||
COMO | Nivel de llamada 2 | |||||||||||||
COMO | Nivel de llamada 3 | |||||||||||||
COMO | Nivel de llamada 4 | |||||||||||||
COMO | Nivel de llamada 5 | |||||||||||||
COMO | Nivel de llamada 6 | |||||||||||||
COMO | Nivel de llamada 7 | |||||||||||||
banderas | ||||||||||||||
C | PAG | Z | S | banderas |
El 8008 se implementó en lógica PMOS de modo de mejora de puerta de silicio de 10 μm . Las versiones iniciales podrían funcionar a frecuencias de reloj de hasta 0,5 MHz. Esto se aumentó más tarde en el 8008-1 a un máximo especificado de 0,8 MHz. Las instrucciones toman entre 5 y 11 estados T, donde cada estado T es de 2 ciclos de reloj. Las cargas registro-registro y las operaciones ALU toman 5T (20 μs a 0,5 MHz), registro-memoria 8T (32 μs), mientras que las llamadas y los saltos (cuando se toman) toman 11 estados T (44 μs). El 8008 es un poco más lento en términos de instrucciones por segundo (36.000 a 80.000 a 0,8 MHz) que el Intel 4004 de 4 bits y el Intel 4040 . pero dado que el 8008 procesa datos de 8 bits a la vez y puede acceder a una cantidad significativamente mayor de RAM, en la mayoría de las aplicaciones tiene una ventaja de velocidad significativa sobre estos procesadores. El 8008 tiene 3.500 transistores .
El chip (limitado por su DIP de 18 pines ) tiene un solo bus de 8 bits y requiere una cantidad significativa de lógica de soporte externo. Por ejemplo, la dirección de 14 bits, que puede acceder a "16 K × 8 bits de memoria", debe bloquearse mediante parte de esta lógica en un registro de dirección de memoria externa (MAR). El 8008 puede acceder a 8 puertos de entrada y 24 puertos de salida.
Para el uso de controladores y terminales CRT , este es un diseño aceptable, pero es bastante engorroso de usar para la mayoría de las otras tareas, al menos en comparación con las próximas generaciones de microprocesadores. Algunos de los primeros diseños de computadoras se basaron en él, pero la mayoría usaría el último y mejorado Intel 8080 en su lugar.
Diseños de procesadores relacionados
El posterior NMOS Intel 8080 de 40 pines amplió los registros 8008 y el conjunto de instrucciones e implementa una interfaz de bus externa más eficiente (usando los 22 pines adicionales). A pesar de una relación arquitectónica cercana, el 8080 no se hizo compatible binariamente con el 8008, por lo que un programa 8008 no se ejecutaría en un 8080. Sin embargo, como Intel usaba dos sintaxis de ensamblaje diferentes en ese momento, el 8080 podría usarse en un 8008 lenguaje ensamblador compatible con versiones anteriores.
El Intel 8085 es una versión modernizada eléctricamente del 8080 que usa transistores en modo de agotamiento y también agregó dos nuevas instrucciones.
El Intel 8086 , el procesador x86 original, es una extensión no estricta del 8080, por lo que también se parece ligeramente al diseño original del Datapoint 2200. Casi todas las instrucciones de Datapoint 2200 y 8008 tienen un equivalente no solo en el conjunto de instrucciones de 8080, 8085 y Z80 , sino también en el conjunto de instrucciones de los procesadores x86 modernos (aunque las codificaciones de instrucciones son diferentes).
Características
La arquitectura 8008 incluye las siguientes características:
- Siete registros de "scratchpad" de 8 bits: el acumulador principal (A) y otros seis registros (B, C, D, E, H y L).
- Contador de programa de 14 bits (PC).
- Pila de llamadas de direcciones push-down de siete niveles . En realidad, se utilizan ocho registros, y el registro superior es el PC.
- Cuatro indicadores de estado de código de condición: acarreo (C), paridad par (P), cero (Z) y signo (S).
- Acceso indirecto a la memoria utilizando los registros H y L (HL) como un puntero de datos de 14 bits (los dos bits superiores se ignoran).
Código de ejemplo
El siguiente código fuente de ensamblaje 8008 es para una subrutina llamada MEMCPY
que copia un bloque de bytes de datos de un tamaño determinado de una ubicación a otra.
001700 000 001701 000 001702 000 001703 000 001704 000 001705 000 002000 066 304 002002 056 003 002004 327 002005 060 002006 317 002007 302 002010 261 002011 053 002012 302 002013 024 001 002015 320 002016 301 002017 034 000 002021 310 002022 066 300 002024 056 003 002026 302 002027 207 002030 340 002031 060 002032 301 002033 217 002034 350 002035 364 002036 337 002037 066 302 002041 056 003 002043 302 002044 207 002045 340 002046 060 002047 301 002050 217 002051 350 002035 364 002052 373 002053 104 007 004 002056 |
; MEMCPY --
; Copy a block of memory from one location to another.
;
; Entry parameters
; SRC: 14-bit address of source data block
; DST: 14-bit address of target data block
; CNT: 14-bit count of bytes to copy
ORG 1700Q ;Data at 001700q
SRC DFB 0 ;SRC, low byte
DFB 0 ; high byte
DST DFB 0 ;DST, low byte
DFB 0 ; high byte
CNT DFB 0 ;CNT, low byte
DFB 0 ; high byte
ORG 2000Q ;Code at 002000q
MEMCPY LLI CNT+0 ;HL = addr(CNT)
LHI CNT+1
LCM ;BC = CNT
INL
LBM
LOOP LAC ;If BC = 0,
ORB
RTZ ;Return
DECCNT LAC ;BC = BC - 1
SUI 1
LCA
LAB
SBI 0
LBA
GETSRC LLI SRC+0 ;HL = addr(SRC)
LHI SRC+1
LAC ;HL = SRC + BC
ADM ;E = C + (HL)
LEA ;(lower sum)
INL ;point to upper SRC
LAB
ACM ;H = B + (HL) + CY
LHA ;(upper sum)
LLE ;L = E
LDM ;Load D from (HL)
GETDST LLI DST+0 ;HL = addr(DST)
LHI DST+1
LAC ;HL = DST + BC
ADM ;ADD code same as above
LEA
INL
LAB
ACM
LHA
LLE
LMD ;Store D to (HL)
JMP LOOP ;Repeat the loop
END
|
En el código anterior, todos los valores se dan en octal. Las ubicaciones SRC
, DST
y CNT
son parámetros de 16 bits para la subrutina denominada MEMCPY
. En realidad, solo se utilizan 14 bits de los valores, ya que la CPU tiene solo un espacio de memoria direccionable de 14 bits. Los valores se almacenan en formato little-endian , aunque esta es una elección arbitraria, ya que la CPU es incapaz de leer o escribir más de un byte en la memoria a la vez. Dado que no hay ninguna instrucción para cargar un registro directamente desde una dirección de memoria determinada, primero se debe cargar el par de registros HL con la dirección, y luego se puede cargar el registro de destino desde el operando M, que es una carga indirecta desde la ubicación de la memoria. en el par de registros HL. El par de registros BC se carga con el CNT
valor del parámetro y se reduce al final del ciclo hasta que se convierte en cero. Tenga en cuenta que la mayoría de las instrucciones utilizadas ocupan un solo código de operación de 8 bits.
Diseñadores
- CTC ( Conjunto de instrucciones y arquitectura ): Victor Poor y Harry Pyle .
-
Intel ( Implementación en silicio ):
- Ted Hoff , Stan Mazor y Larry Potter (científico jefe de IBM) propusieron una implementación de un solo chip de la arquitectura CTC, utilizando memoria de registro RAM en lugar de memoria de registro de desplazamiento, y también agregaron algunas instrucciones y funciones de interrupción. El diseño del chip 8008 (originalmente llamado 1201) comenzó antes del desarrollo del 4004. Hoff y Mazor, sin embargo, no pudieron y no desarrollaron un "diseño de silicio" porque no eran ni diseñadores de chips ni desarrolladores de procesos y, además, la metodología y los circuitos de diseño basados en puertas de silicio necesarios, en desarrollo por Federico Faggin para el 4004, aún no estaban disponibles.
- Federico Faggin , habiendo terminado el diseño del 4004, se convirtió en líder del proyecto desde enero de 1971 hasta su finalización con éxito en abril de 1972, después de haber sido suspendido, por falta de progreso, durante unos siete meses.
- Hal Feeney , ingeniero de proyectos, realizó el diseño lógico detallado, el diseño de circuitos y el diseño físico bajo la supervisión de Faggin, empleando la misma metodología de diseño que Faggin había desarrollado originalmente para el microprocesador Intel 4004 y utilizando los circuitos básicos que había desarrollado para el 4004. Se grabó un logotipo "HF" combinado en el chip aproximadamente a mitad de camino entre las almohadillas de unión D5 y D6.
Segundas fuentes
MicroSystems Internacional (MIL) MF8008
Siemens SAB8008
Ver también
- Mark-8 y SCELBI , kits de computadora basados en 8008
- MCM/70 y Micral , microordenadores pioneros
- PL/M , el primer lenguaje de programación dirigido a un microprocesador, el Intel 8008, desarrollado por Gary Kildall
Referencias
enlaces externos
- Manual de usuario de MCS-8 con hoja de datos 8008 (1972)
- Madera, Lamont (8 de agosto de 2008). "Historia de la PC olvidada: los verdaderos orígenes de la computadora personal" . Mundo Informático .
- La página de soporte de Intel 8008 no oficial
- La página del DigiBarn Computer Museum en la máquina Sacramento State de Bill Pentz, una microcomputadora completa construida alrededor del 8008
-
Martín, Donald P. (1974). Diseño de microcomputadoras . Investigación Martín .
- — (1976). Diseño de microcomputadoras (2ª ed.). Investigación Martín . OCLC 911808003 .
- Runyan, Subvención (abril de 1977). "Ahora, BASIC para el 8008, ¡incluso!" . Revista Kilobaud : 116–8.
- "Un intérprete de lenguaje BÁSICO para el microprocesador Intel 8008" . Universidad de Illinois. 1974.
- Tarjeta de referencia del lenguaje ensamblador 8008
-
Shirriff, Ken (diciembre de 2016). "Fotografías de troquel y análisis del revolucionario microprocesador 8008, 45 años" .
- — (febrero de 2017). "Ingeniería inversa de la ALU sorprendentemente avanzada del microprocesador 8008" .
- — (octubre de 2020). "Cómo la carga de arranque hizo posible el histórico procesador Intel 8008" .
- — (noviembre de 2020). "Ingeniería inversa del circuito carry-lookahead en el procesador Intel 8008" .