El Intel 8008 (" ocho mil ocho " o " ochenta y ocho ") es uno de los primeros microprocesadores orientados a bytes diseñado y fabricado por Intel y presentado en abril de 1972. Es una CPU de 8 bits con un procesador externo de 14 bits. bus de direcciones de 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 el propio TTL de CTCCPU basada en su lugar. Un acuerdo permitió a Intel comercializar el chip a otros clientes después de que Seiko expresó su interés en usarlo como calculadora .
![]() Una variante del procesador Intel C8008-1 con cerámica violeta, tapa de metal dorado y pines dorados. | |
Información general | |
---|---|
Lanzado | Mediados de 1972 |
Interrumpido | 1983 [1] |
Fabricante (s) común (es) |
|
Actuación | |
Max. Frecuencia de reloj de la CPU | 200 kHz a 800 kHz |
Ancho de datos | 8 bits |
Ancho de la dirección | 14 bits |
Arquitectura y clasificación | |
Solicitud | Terminales de ordenador , calculadoras , embotelladoras, robots industriales ASEA de los años 70 [2] (IRB 6), ordenadores simples , etc. |
Min. tamaño de la característica | 10 µm |
Conjunto de instrucciones | 8008 |
Especificaciones físicas | |
Transistores |
|
Paquete (s) |
|
Enchufe (s) | |
Historia | |
Sucesor | Intel 8080 |
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 ASR Teletype Model 33 , 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 . [3] 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 el diseño de su chip, Roche se dirigió a Intel, que entonces era principalmente un proveedor de chips de memoria. [3] 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 podía hacerlo, pero sería una movida tonta. 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 ". [3] Otra preocupación importante fue que la base de clientes existente de Intel compró 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. No obstante, Noyce acordó un contrato de desarrollo de 50.000 dólares a principios de 1970. Texas Instruments (TI) también fue contratado como segundo proveedor.
TI pudo hacer muestras del 1201 basadas en dibujos de Intel, [ cita requerida ] pero estos demostraron tener errores y fueron rechazados. Las propias versiones de Intel se retrasaron. CTC decidió volver a implementar la nueva versión del terminal utilizando TTL discreto en lugar de esperar una CPU de un solo chip. El nuevo sistema fue lanzado como Datapoint 2200 en la primavera de 1970, con su primera venta a General Mills el 25 de mayo de 1970. [3] 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, expresando 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 utilizado por 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, que se expandió de un diseño de 16 pines a 18 pines, y el nuevo 1201 se entregó a CTC a finales de 1971. . [3]
En ese momento, CTC había vuelto a avanzar, 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 con el 1201, dejando la propiedad intelectual del diseño a Intel en lugar de pagar el contrato de 50.000 dólares. 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 es la base del 4004. [4] El 8008 pasó a ser un diseño de éxito comercial. A esto le siguió el Intel 8080 y luego la exitosa familia Intel x86 . [3]
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 . El Sac State 8008 fue posiblemente el primer microordenador verdadero, con un sistema operativo de disco construido con lenguaje ensamblador IBM Basic en PROM, todos manejando una pantalla a color, disco duro, teclado, módem, lector de cinta de audio / papel e impresora. [5] El proyecto comenzó en la primavera de 1972 y, con la ayuda clave de Tektronix, el sistema fue completamente funcional 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 en 1972 construyó una microcomputadora basada en una muestra previa al lanzamiento del 8008. Joe Hardman extendió el chip con una pila externa. Esto, entre otras cosas, le dio recuperación y guardado en caso de falla de energía. Joe también desarrolló una impresora de pantalla directa. El sistema operativo fue escrito usando un meta-ensamblador desarrollado por L. Crawford y J. Parnell para un PDP-11 de Digital Equipment Corporation . [6] El sistema operativo se quemó en una PROM. Fue impulsado por interrupciones, en cola y basado en un tamaño de página fijo para programas y datos. Se preparó un prototipo operativo para la dirección, que decidió no continuar con el proyecto.
El 8008 fue la CPU de 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 prefabricados . También fue el microprocesador de control para los primeros modelos de la familia 2640 de terminales de computadora de Hewlett-Packard .
Intel ofreció un simulador de conjunto de instrucciones para el 8008 llamado INTERP / 8. Fue escrito en FORTRAN .
Diseño
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/a/af/Intel_8008_arch.svg/220px-Intel_8008_arch.svg.png)
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 | D registro | |||||||||||||
mi | E registro | |||||||||||||
H | Registro H (indirecto) | |||||||||||||
L | Registro L (indirecto) | |||||||||||||
Contador de programa | ||||||||||||||
ordenador personal | P ROGRAMA C ounter | |||||||||||||
Pila de llamadas de dirección pushdown | ||||||||||||||
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 | |||||||||||||
Registro de estado | ||||||||||||||
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 en frecuencias de reloj de hasta 0,5 MHz. Esto se incrementó posteriormente 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 son 2 ciclos de reloj. [7] Las cargas de registro-registro y las operaciones de ALU toman 5T (20 μs a 0,5 MHz), la memoria de registro 8T (32 μs), mientras que las llamadas y los saltos (cuando se toman) toman 11 estados T (44 μs). [8] 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 e Intel 4040 de 4 bits . [9] El hecho de que el 8008 procese datos de 8 bits a la vez y pueda acceder a una cantidad significativamente mayor de RAM aún le da una ventaja de velocidad significativa en la mayoría de las aplicaciones. El 8008 tiene 3500 transistores . [10] [11] [12]
El chip (limitado por su paquete DIP de 18 pines ) tiene un solo bus de 8 bits y requiere una cantidad significativa de lógica de soporte externa. Por ejemplo, la dirección de 14 bits, que puede acceder a "16 K × 8 bits de memoria", necesita ser bloqueada por 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. [7]
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 computadora se basaron en él, pero la mayoría usaría en su lugar el Intel 8080 más reciente y mejorado . [ cita requerida ]
Diseños de procesador relacionados
El siguiente NMOS Intel 8080 de 40 pines se expandió sobre los registros y el conjunto de instrucciones 8008 e implementa una interfaz de bus externo más eficiente (utilizando los 22 pines adicionales). A pesar de una estrecha relación arquitectónica, el 8080 no se hizo compatible en binario 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 moda compatible con versiones anteriores del lenguaje ensamblador. [13]
El Intel 8085 es una versión eléctricamente modernizada del 8080 que usa transistores en modo de agotamiento y también agregó dos nuevas instrucciones. [14]
El Intel 8086 , el procesador x86 original, es una extensión no estricta del 8080, por lo que también se parece vagamente 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 del 8080, 8085 y Z80 , sino también en el conjunto de instrucciones de los procesadores x86 modernos (aunque las codificaciones de instrucciones son diferentes). [15]
Características
La arquitectura 8008 incluye las siguientes características: [ cita requerida ]
- Siete registros "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 dirección pushdown de siete niveles . En realidad, se utilizan ocho registros, siendo el PC el registro más alto.
- 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 puntero de datos de 14 bits (se ignoran los dos bits superiores).
Código de ejemplo
El siguiente código fuente de ensamblaje 8008 es para una subrutina nombrada 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 002002056003 002004 327 002005 060 002006 317 002007 302 002010 261 002011053 002012 302 002013 024 001 002015 320 002016 301 002017 034 000 002021 310 002022 066 300 002024 056 003 002026 347 002027 060 002030 337 002031 302 002032 206 002033 360 002034 301 002035 215 002036 350 002037 307 002040 066 302 002042056003 002044 347 002045 060 002046 337 002047 364 002050 353 002051 330 002052 302 002053 206 002054 360 002055 301 002056 215 002057 350 002060 373 002061 104 007 004002064 | ; MEMCPY - ; Copie un bloque de memoria de una ubicación a otra. ; ; Parámetros de entrada ; SRC: dirección de 14 bits del bloque de datos de origen ; DST: dirección de 14 bits del bloque de datos de destino ; CNT: recuento de bytes de 14 bits para copiar ORG 1700Q ; Datos en 001700q SRC DFB 0 ; SRC, byte bajo DFB 0 ; byte alto DST DFB 0 ; DST, byte bajo DFB 0 ; byte alto CNT DFB 0 ; CNT, byte bajo DFB 0 ; byte alto ORG 2000Q ; Código en 002000q MEMCPY LLI CNT + 0 ; HL = dirección (CNT) LHI CNT + 1 LCM ; BC = CNT INL LBM LOOP LAC ; Si BC = 0, ORB RTZ ; Devolver DECCNT LAC ; BC = BC - 1 SUI 1 LCA LAB SBI 0 LBA GETSRC LLI SRC + 0 ; HL = dirección (SRC) LHI SRC + 1 LEM ; DE = SRC INL LDM LAC ; HL = DE + BC ADE LLA LAB ACD LHA LAM ; Carga A de (HL) GETDST LLI DS T + 0 ; HL = dirección (DST) LHI DS T + 1 LEM ; DE = DST INL LDM LLE ; HL = DE LHD LDA ; D = A LAC ; HL = HL + BC ADL LLA LAB ACH LHA LMD ; Almacenar D a (HL) JMP LOOP ; Repite el ciclo 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 nombrada 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 instrucciones para cargar un registro directamente desde una dirección de memoria dada, el par de registros HL debe cargarse primero con la dirección, y luego el registro de destino puede cargarse 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 decrementa al final del ciclo hasta que se vuelve 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, usando memoria de registro RAM en lugar de memoria de registro de desplazamiento, y también agregaron algunas instrucciones y facilidad 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 diseñadores de chips ni desarrolladores de procesos, y además, la metodología y los circuitos de diseño necesarios basados en puertas de silicio, en desarrollo por Federico Faggin para el 4004, aún no estaban disponibles. [dieciséis]
- Federico Faggin , una vez 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 estado suspendido, por falta de avances, durante unos siete meses.
- Hal Feeney , ingeniero de proyectos, realizó el diseño lógico detallado, el diseño del circuito 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 de "HF" combinado en el chip aproximadamente a medio camino entre las almohadillas de unión D5 y D6.
Segundas fuentes
- Fuentes de segundo Intel 8008
VEB Mikroelektronik "Karl Marx" Erfurt (MME) U808 ( RDA )
MicroSystems International (MIL) MF8008
Siemens SAB8008
Ver también
- Mark-8 y SCELBI , kits de computadora basados en 8008
- MCM / 70 y Micral , microordenadores pioneros
Referencias
- ^ Historia de la CPU - Museo de la CPU - Ciclo de vida de la CPU .
- ^ "Treinta años en robótica - Robótica" . 19 de marzo de 2014. Archivado desde el original el 19 de marzo de 2014 . Consultado el 11 de abril de 2018 .
- ^ a b c d e f Wood, Lamont (8 de agosto de 2008), "Historia olvidada de la PC: los verdaderos orígenes de la computadora personal" , Computerworld
- ^ Ken Shirriff en una entrevista con Bryan Cantril, Jess Frazzelle, publicada por Oxide Computing Podcast "Primero, el 4004 y el 8008 son chips completamente diferentes. El marketing hace que suenen como si fueran solo una versión de 4 y 8 bits, pero son totalmente diferentes ". https://oxide.computer/podcast/on-the-metal-13-ken-shirriff/#t=19:52
- ^ "Dentro de la primera microcomputadora perdida del mundo" . cnet.com . 8 de enero de 2010 . Consultado el 11 de abril de 2018 .
- ^ Brunel University, 1974. Disertación de maestría en tecnología, LR Crawford.
- ^ a b "MCS-8 Micro Computer Set User Manual" (PDF) . Corporación Intel. 1972 . Consultado el 4 de diciembre de 2010 .
- ^ "Intel 8008 Opcodes" . Consultado el 4 de diciembre de 2010 .
- ^ "Familia de microprocesadores Intel 8008 (i8008)" . CPU World. 2003–2010 . Consultado el 4 de diciembre de 2010 .
- ^ Intel. "Gordon Moore y la ley de Moore" . Archivado desde el original el 4 de septiembre de 2009 . Consultado el 28 de junio de 2009 .
- ^ Intel (2012). "Intel Chips: cartel de la línea de tiempo" .
- ^ Intel (2008). "Guía de referencia rápida del microprocesador" .
- ^ Consulte elartículo Z80 para obtener una descripción.
- ^ Consulte elartículo Intel 8085 para obtener una descripción.
- ^ Consulte elartículo Intel 8086 para obtener una descripción.
- ^ Faggin, Federico ; Hoff, Marcian E .; Mazor, Stanley ; Shima, Masatoshi (diciembre de 1996), "The History of the 4004", IEEE Micro , Los Alamitos: IEEE Computer Society, 16 (6): 10-19, doi : 10.1109 / 40.546561 , ISSN 0272-1732
enlaces externos
- Manual de usuario del MCS-8 con hoja de datos 8008 (1972)
- Wood, Lamont (8 de agosto de 2008). "Historia de la PC olvidada: Los verdaderos orígenes de la computadora personal" . Computer World .
- La página de soporte de Intel 8008 no oficial
- La página del DigiBarn Computer Museum sobre la máquina del estado de Sacramento de Bill Pentz, una microcomputadora completa construida alrededor del 8008
- Martin, Donald P. (1974). Diseño de microcomputadoras . Martin Research.
- - (1976). Diseño de microcomputadoras (2ª ed.). Martin Research. OCLC 911808003 .
- Runyan, Grant (abril de 1977). "Ahora - BÁSICO para el 8008 - ¡Incluso!" . Revista Kilobaud : 116–8.
- "Un intérprete de lenguaje BÁSICO para el microprocesador Intel 8008" . Universidad de Illinois. 1974.
- 8008 Tarjeta de referencia de lenguaje ensamblador
- Shirriff, Ken (diciembre de 2016). "Fotografías y análisis del revolucionario microprocesador 8008, de 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 de búsqueda anticipada en el procesador Intel 8008" .