stringtranslate.com

TLCS de Toshiba

TLCS es un prefijo que se aplica a los microcontroladores fabricados por Toshiba . La línea de productos incluye varias familias de arquitecturas CISC y RISC . Los componentes individuales generalmente tienen un número de pieza que comienza con "TMP". Por ejemplo, el TMP8048AP es un miembro de la familia TLCS-48. [1] : 11 

TLCS-12

El TLCS-12 fue un microprocesador y unidad central de procesamiento de 12 bits fabricado por Toshiba. Comenzó a desarrollarse en 1971 y se completó en 1973. Era un chip de circuito integrado MOS de 32 mm2 con aproximadamente 2800 puertas de silicio , fabricado en un proceso de 6 μm con lógica NMOS . Se utilizó en el sistema de unidad de control del motor Ford EEC , que comenzó a producirse en 1974 y entró en producción en masa en 1975. La memoria del sistema incluía RAM de 512 bits , ROM de 2 kb y EPROM de 2 kb . [2] [3] El TLCS-12A  [jp] , una versión mejorada del TLCS-12, se anunció en 1975. [4]     

Familia TLCS-47

Los microcontroladores de la categoría TLCS-47 son sistemas de 4 bits . Ya no se anuncian en el sitio web de Toshiba.

Familia TLCS-48

La familia TLCS-48 eran clones del microcontrolador Intel MCS-48 (8048). [1]

Familia TLCS-Z80

Toshiba Z84C00

Se trataba de una serie de microcontroladores compatibles con Zilog Z80 .

Familia TLCS-90

Versión de desarrollo de un microcontrolador de la familia TLCS-90 con zócalo EPROM

Los microcontroladores de la familia TLCS-90 utilizan una arquitectura de 8 bits / 16 bits que recuerda al Z80 . [1] Estos ya no se anuncian en el sitio web de Toshiba.

El TLCS-90 hereda la mayoría de las características del Z80, como:

Sin embargo, existen diferencias significativas. Omite el espacio de direcciones de E/S independiente del Z80, pero agrega más flexibilidad a las combinaciones de operandos, algunas operaciones nuevas (especialmente multiplicación y división) y varios modos de direccionamiento adicionales :

La mayor parte de la funcionalidad del acumulador A de 8 bits también se ha implementado para el par de registros HL de 16 bits, como las instrucciones SUBy faltantes CPy las instrucciones , AND, XORy ORbit a bit. ADD HL,rrSe implementó la peculiaridad de la bandera del Z80. Además, DJNZ BC,addrse agregó la instrucción para facilitar el conteo de bucles de 16 bits.

Los paquetes SoC TLCS-90 incluyen los registros BX y BY de 4 bits, que se concatenan con direcciones efectivas basadas en el registro IX o IY, lo que permite al procesador direccionar hasta un megabyte de memoria. [1] : MPU90-16  El procesador incluye las instrucciones INCX ($FF00+n)y DECX ($FF00+n), que son útiles para realizar aritmética de puntero de 20 bits utilizando los registros IX y BX o los registros IY y BY.

Las instrucciones se dividen en instrucciones básicas de un byte e instrucciones extendidas de dos bytes. Los códigos de operación E0 16 a FE 16 son prefijos que comienzan una instrucción extendida. La codificación de la instrucción es inusual en el sentido de que el prefijo especifica un operando de la instrucción extendida y, a diferencia de los prefijos de un solo byte utilizados por la arquitectura Z80 o x86 , puede ir seguido de bytes de operando. [1] : MPU90-23, Apéndice-12  Después de los bytes del prefijo, el segundo byte del código de operación especifica la operación y el segundo operando.

Por ejemplo, la instrucción ADD (IX+127),5se codifica como F4 7F 68 05, donde los primeros dos bytes especifican la dirección de destino, el tercer byte especifica la operación y el cuarto byte proporciona el operando de origen.

Familia TLCS-870

Los microcontroladores de la familia TLCS-870 (series TLCS-870, TLCS-870/X, TLCS-870/C y TLCS-870/C1) utilizan una arquitectura de 8 bits / 16 bits inspirada en el TLCS-90, pero menos parecida al Z80.

El TLCS-870 es el original, con un espacio de direcciones de 16 bits, que se amplió en dos direcciones diferentes:

Familia TLCS-900

La familia TLCS-900 hereda la mayoría de las características de la arquitectura TLCS-90 e incluye registros de 32 bits y un bus de direcciones de 24 bits. La mayoría de las implementaciones (TLCS-900, [7] TLCS-900/L, [7] TLCS-900/H y TLCS-900/L1) tienen rutas de datos internas de 16 bits , como el MC68000 , mientras que la serie TLCS-900/H1 tiene un ancho interno de 32 bits (como el MC68020 ).

El conjunto de instrucciones es en su mayor parte compatible con el TLCS-90, aunque la codificación binaria difiere. [7] : 182–184  Se implementa el mismo esquema de codificación del modo de direccionamiento antes del código de operación de la instrucción y los operandos adicionales. Los primeros modelos admitían tanto un "modo mínimo" en el que los registros bancarios y el contador de programa tenían 16 bits de ancho, como un "modo máximo" que tenía todos los registros de propósito general de 32 bits. Los modelos posteriores omitieron el modo mínimo.

En el modo máximo, hay 4 bancos de cuatro registros de 32 bits, cada uno de los cuales se puede dividir en dos mitades de 16 bits o cuatro cuartos de 8 bits. En el modo mínimo de los primeros modelos, hay 8 bancos de cuatro registros de 16 bits, que se pueden dividir en mitades de 8 bits. El procesador puede usar el banco actual (señalado por el RFPcampo en el registro de estado de 16 bits SR), el banco anterior para ser compatible con el esquema de registro alternativo del TLCS-90, o cualquier número de banco arbitrario de 0 a 7. También hay un conjunto fijo de cuatro registros de 32 bits, con uno de ellos dedicado como puntero de pila. Los primeros modelos tenían dos punteros de pila separados para los modos de usuario y sistema. Normalmente, solo se puede direccionar un conjunto de 8 registros desde un código de 3 bits; Para direccionar todos los registros se requiere un byte de código adicional de 6/8 bits que solo se puede insertar en el operando del modo de direccionamiento prefijado, lo que restringe qué combinaciones de registros se pueden usar para los operandos de origen y destino. [7]

El registro F (la mitad inferior de 8 bits del registro SR de 16 bits) tiene un registro alternativo llamado F'. Para ejecutar EX AF,AF'desde el TLCS-90 es necesario ejecutar tanto EX A,A'y EX F,F'.

El TLCS-900 también incluye 4 canales de transferencia "microDMA", cada uno de los cuales tiene direcciones de origen y destino programables, conteos de transferencia, tamaños de datos (byte, palabra y palabra larga) y varios modos de transferencia. Estos se activan de la misma manera que las interrupciones normales e interrumpen la ejecución del programa durante el proceso de transferencia.

El modelo TLCS-900/H fue el más utilizado en Neo Geo Pocket y Neo Geo Pocket Color .

Características y diferencias

Los procesadores TLCS actuales ofrecen algunas o todas las siguientes características:

Como la demanda de estas características varía ampliamente según los requisitos de un proyecto específico (bajo consumo de energía, gran cantidad de puertos de E/S, etc.), los clientes pueden elegir entre una amplia gama de versiones diferentes.

Herramientas de desarrollo

Toshiba ofrece un compilador de C compatible con ANSI C y un ensamblador . Ninguna de estas herramientas está disponible de forma gratuita.

El compilador C de dispositivos pequeños gratuito admite TLCS-90.

Hay un proyecto para portar el ensamblador GNU a la familia TLCS-900.

The Macroassembler AS [1] de Alfred Arnold es un ensamblador gratuito compatible con las familias TLCS-47, TLCS-870, TLCS-90, TLCS-900 y TLCS-9000.

Referencias

  1. ^ abcdef Microcontrolador de 8 bits: TLCS-48, -90 (PDF) . Toshiba. Noviembre de 1988. Archivado (PDF) desde el original el 28 de marzo de 2020.URL alternativa
  2. ^ "1973: microprocesador de control de motor de 12 bits (Toshiba)" (PDF) . Museo de Historia de Semiconductores de Japón . Consultado el 27 de junio de 2019 .
  3. ^ Belzer, Jack; Holzman, Albert G.; Kent, Allen (1978). Enciclopedia de informática y tecnología: volumen 10: Álgebra lineal y matricial para microorganismos: identificación asistida por computadora. CRC Press . pág. 402. ISBN 9780824722609.
  4. ^ "新HPCの歩み(第54回)-1975年(b)-" . Consultado el 20 de noviembre de 2023 .
  5. ^ de Haywood, David. «Código fuente de MAME: src/devices/cpu/tlcs870/tlcs870d.cpp». GitHub . Consultado el 25 de abril de 2020 .
  6. ^ "Conjunto de instrucciones de la serie TLCS-870/C1" (PDF) . Toshiba Corporation Semiconductor Company. 16 de diciembre de 2008.
  7. ^ abcd "Manual del usuario del microcontrolador de 16 bits de la serie TLCS-900" (PDF) . Toshiba Corporation. 1994 – vía Bitsavers.org.

Enlaces externos