Toshiba TLCS
TLCS is a prefix applied to microcontrollers made by Toshiba. The product line includes multiple families of CISC and RISC architectures. Individual components generally have a part number beginning with "TMP". E.g. the TMP8048AP is a member of the TLCS-48 family.[1]: 11 TLCS-12The TLCS-12 was a 12-bit microprocessor and central processing unit manufactured by Toshiba. It began development in 1971, and was completed in 1973. It was a 32 mm2 MOS integrated circuit chip with about 2,800 silicon gates, fabricated on a 6 μm process with NMOS logic. It was used in the Ford EEC engine control unit system, which began production in 1974 and went into mass production in 1975. The system memory included 512-bit RAM, 2 kb ROM and 2 kb EPROM.[2][3] The TLCS-12A , an improved version of the TLCS-12, was announced in 1975.[4] TLCS-47 familyThe microcontrollers in the TLCS-47 category are 4-bit systems. These are no longer advertised on the Toshiba website. TLCS-48 familyThe TLCS-48 family were clones of the Intel MCS-48 (8048) microcontroller.[1] TLCS-Z80 familyThese were a series of Zilog Z80 compatible microcontrollers. TLCS-90 familyThe microcontrollers in the TLCS-90 family use a 8-bit/16-bit architecture reminiscent of the Z80.[1] These are no longer advertised on the Toshiba website. The TLCS-90 inherits most Z80 features, such as:
There are, however, significant differences. It omits the separate I/O address space of the Z80, but adds more flexibility to operand combinations, some new operations (notably multiply and divide), and several additional addressing modes:
Most of the functionality of 8-bit accumulator A has also been implemented for the 16-bit HL register pair, such as the missing TLCS-90 SoC packages include the 4-bit BX and BY registers, which get concatenated with effective addresses based on the IX or IY register, allowing the processor to address up to one megabyte of memory.[1]: MPU90-16 The processor includes the Instructions are divided into one-byte basic and two-byte extended instructions. Opcodes E016 through FE16 are prefixes which begin an extended instruction. The instruction encoding is unusual in that the prefix specifies one operand of the extended instruction, and unlike the single-byte prefixes used by the Z80 or x86 architecture, may itself be followed by operand bytes.[1]: MPU90-23,Appendix-12 After the prefix bytes, the second opcode byte specifies the operation and second operand. For example, the instruction TLCS-870 familyThe microcontrollers in the TLCS-870 family (TLCS-870, TLCS-870/X, TLCS-870/C and TLCS-870/C1 series) use a 8-bit/16-bit architecture inspired by the TLCS-90, but less like the Z80. The TLCS-870 is the original, with a 16-bit address space, which was extended in two different directions:
TLCS-900 familyThe TLCS-900 family inherits most features from the TLCS-90 architecture, and includes 32-bit registers and a 24-bit address bus. Most implementations (TLCS-900,[7] TLCS-900/L,[7] TLCS-900/H and TLCS-900/L1 series) have 16-bit internal data paths, like the MC68000, while the TLCS-900/H1 series is 32 bits wide internally (like the MC68020). The instruction set is mostly upward-compatible with the TLCS-90, although the binary encoding differs.[7]: 182–184 The same scheme of encoding the addressing mode before the instruction's opcode and additional operands is implemented. The early models supported both a "minimum mode" where the banked registers and program counter were 16 bits wide, and a "maximum mode" which had all 32-bit general purpose registers. Later models omitted the minimum mode. In maximum mode, there are 4 banks of four 32-bit registers, each of which can be split into two 16-bit halves or four 8-bit quarters. In the minimum mode of early models, there are 8 banks of four 16-bit registers, which can be split into 8-bit halves. The processor can use the current bank (pointed to by the The F register (low 8-bit half of the 16-bit register SR) has an alternate register called F'. Executing The TLCS-900 also includes 4 "microDMA" transfer channels, each of which have programmable source and destination addresses, transfer counts, data sizes (byte, word, and longword), and various transfer modes. These are triggered the same way as normal interrupts, and interrupt program execution upon the transferring process. The TLCS-900/H model was most prominently used in the Neo Geo Pocket and Neo Geo Pocket Color. Features and differencesCurrent TLCS processors offer some or all of the following features:
As demand for these features differs widely depending on the requirements for a specific project (low energy consumption; high number of I/O ports; etc.), customers can choose from a wide range of different versions. Development toolsToshiba offers an ANSI C compatible C compiler and an assembler. Neither tool is available for free. The free Small Device C Compiler supports the TLCS-90. There is a project for porting GNU assembler to the TLCS-900 family. Alfred Arnold's The Macroassembler AS [1] is a free assembler supporting the TLCS-47, TLCS-870, TLCS-90, TLCS-900 and TLCS-9000 families. References
External links |