도시바 TLCS

Toshiba TLCS

TLCS는 도시바가 만든 마이크로컨트롤러에 적용되는 접두사다.이 제품 라인에는 CISC RISC 아키텍처의 여러 패밀리가 포함되어 있습니다.일반적으로 각 컴포넌트에는 "TMP"로 시작하는 부품 번호가 있습니다(예: TMP8048).AP는 TLCS-48 [1]: 11 패밀리의 멤버입니다.

TLCS-12

TLCS-12는 도시바가 제조한 12비트 마이크로프로세서중앙처리장치입니다.1971년에 개발이 시작되어 1973년에 완공되었다.32mm²의 MOS 집적회로 칩으로 약 2,800개의 실리콘 게이트가 있으며 NMOS 로직으로 6µm 공정으로 제작되었습니다.1974년 생산을 시작해 1975년 양산에 들어간 포드 EEC 엔진 제어 장치 시스템에 사용되었다.시스템 메모리에는 512비트 RAM, 2kb ROM 및 2kb [2][3]EPROM이 포함되어 있습니다.

TLCS-47 패밀리

TLCS-47 카테고리의 마이크로 컨트롤러는 4비트시스템입니다이것들은 도시바 웹사이트에 더 이상 광고되지 않습니다.

TLCS-48 패밀리

TLCS-48 패밀리는 인텔 MCS-48(8048) 마이크로 [1]컨트롤러의 클론입니다.

TLCS-Z80 패밀리

도시바 Z84C00

Zilog Z80 호환 마이크로 컨트롤러 시리즈입니다.

TLCS-90 패밀리

EPROM 소켓을 갖춘 TLCS-90 패밀리 마이크로 컨트롤러 개발 버전

TLCS-90 패밀리의 마이크로 컨트롤러는 Z80[1]연상시키는8비트/16비트 아키텍처를 사용합니다.이것들은 도시바 웹사이트에 더 이상 광고되지 않습니다.

TLCS-90은 다음과 같은 대부분의 Z80 기능을 상속합니다.

  • 7개의 8비트 레지스터(A, B, C, D, E, H 및 L),
  • 6개의 16비트 레지스터(BC, DE, HL, IX, IY 및 SP) 중 3개는 8비트 레지스터 쌍입니다.
  • 조합된 패리티/패리티 플래그,
  • EX DE,HL,EX AF,AF'그리고.EXX16비트 교환 [1]: Appendix-2 절차
  • LDIR그리고.LDDR메모리 카피 순서.

그러나 상당한 차이가 있습니다.Z80은 별도의 I/O 주소 공간을 생략하고 오퍼랜드의 조합, 새로운 조작(특히 곱하기 및 나누기) 및 추가 주소 지정 모드에 유연성을 더합니다.

  • (SP+d)그리고.(HL+A)인덱스 모드와 동일하게 동작합니다.(IX+d)그리고.(IY+d)
  • FF00 – FF에서 메모리의 싱글바이트 "제로 페이지" 주소 지정FF16
  • (IX)그리고.(IY)치환 없이 어드레싱하여 1바이트의 기계코드를 저장하고 실행시간을 늘릴 수 있습니다.
  • PC 상대적인 길이(프로그램 카운터에서 -128 ~+127 바이트로 짧은 대신 -32768 ~+32767 바이트)

8비트 어큐뮬레이터 A의 대부분의 기능은 16비트 HL 레지스터 쌍에도 구현되어 있습니다.예를 들어, 다음과 같습니다.SUB그리고.CP순서 및AND,XOR,그리고.OR비트 단위 명령어ADD HL,rrZ80의 flag quirk가 구현되어 있습니다.또,DJNZ BC,addr명령어가 추가되어 16비트루프 카운트를 용이하게 합니다.

TLCS-90 SoC 패키지에는 4비트 BX 및 BY 레지스터가 포함되어 있습니다.BY 레지스터는 IX 또는 IY 레지스터에 근거해 유효 주소와 연결되어 프로세서가 최대 1MB의 메모리를 [1]: MPU90-16 주소 지정할 수 있습니다.프로세서에는INCX ($FF00+n)그리고.DECX ($FF00+n)명령: IX 및 BX 레지스터 또는 IY 및 BY 레지스터를 사용하여 20비트 포인터 계산을 수행하는 데 유용합니다.

명령은 1바이트 기본 명령과 2바이트 확장 명령으로 나뉩니다.Opcode E016 ~FE는16 확장 명령을 시작하는 프리픽스입니다.명령 부호화는 프레픽스가 확장 명령의 피연산자를 1개 지정하고 Z80 또는 x86 아키텍처에서 사용되는 싱글바이트 프리픽스와 달리 그 뒤에 피연산자 [1]: MPU90-23,Appendix-12 바이트가 이어지는 경우가 있다는 점에서 특이합니다.프리픽스 바이트 뒤에 두 번째 opcode 바이트가 연산과 두 번째 오퍼랜드를 지정합니다.

예를 들어, 명령어는ADD (IX+127),5로 부호화되어 있다.F4 7F 68 05여기서 첫 번째 2바이트는 수신처 주소를 나타내고 세 번째 바이트는 동작을 나타내며 네 번째 바이트는 송신원 오퍼랜드를 나타냅니다.

TLCS-870 패밀리

TLCS-870 패밀리(TLCS-870, TLCS-870/X, TLCS-870/C 및 TLCS-870/C1 시리즈)의 마이크로 컨트롤러는 TLCS-90에서 영감을 받은8비트/16비트 아키텍처를 사용합니다.

TLCS-870은 원래 16비트주소 공간을 가진 것으로, 2개의 다른 방향으로 확장되어 있습니다.

  • TLCS-870/X는 업 호환성을 [4]갖춘 방법으로 아키텍처를 20비트로 확장합니다.
  • TLCS-870/C는 16비트 주소 공간을 유지하고 호환되는 어셈블리 언어를 제공하지만 명령 인코딩을[4] 변경하여 다른 오브젝트 코드가 요구되도록 합니다.
  • TLCS-870/C1은 마이너 [5]확장을 가진 870/C의 상향 호환 모델입니다.

TLCS-900 패밀리

TLCS-900 패밀리는 TLCS-90 아키텍처에서 대부분의 기능을 상속받으며 32비트 레지스터와 24비트 주소 버스를 포함합니다.대부분의 실장(TLCS-900,[6] TLCS-900/L,[6] TLCS-900/H 및 TLCS-900/L1 시리즈)에는 MC68000과 같은 16비트 내부 데이터 패스가 있으며, TLCS-900/H1 시리즈는 내부 폭(MC680과 유사)이 32비트입니다.

명령어 세트는 바이너리 부호화는 [6]: 182–184 다르지만 대부분 TLCS-90과 상위 호환성이 있습니다.명령의 opcode 및 추가 오퍼랜드가 구현되기 전에 주소 지정 모드를 인코딩하는 것과 동일한 스킴입니다.초기 모델은 뱅크 레지스터와 프로그램 카운터가 16비트인 "최소 모드"와 32비트 범용 레지스터를 모두 갖춘 "최대 모드"를 모두 지원했습니다.이후 모델에서는 최소 모드가 생략되었습니다.

최대 모드에서는 4개의 32비트 레지스터로 구성된 4개의 뱅크가 있으며 각각 2개의 16비트 하프 또는 4개의 8비트 쿼터로 분할할 수 있습니다.초기 모델의 최소 모드에서는 4개의 16비트 레지스터에 8개의 뱅크가 있으며, 8비트의 절반으로 분할할 수 있습니다.프로세서는 현재 뱅크를 사용할 수 있습니다.RFP이전 뱅크가 TLCS-90의 대체 레지스터 스킴 또는 0 ~7의 임의의 뱅크 번호와 호환되도록 합니다.또한 4개의 고정 32비트 레지스터 세트가 있으며, 그 중 하나는 스택 포인터 전용입니다.초기 모델에는 사용자 모드와 시스템모드용으로2개의 스택포인터가 있었어요통상, 3비트 코드에서 수신처 지정할 수 있는 것은 8개의 레지스터 세트뿐입니다.모든 레지스터를 수신처 지정할 때는 프리픽스 어드레싱 모드 오퍼랜드에만 삽입할 수 있는 추가 6/8비트코드 바이트가 필요합니다.따라서 소스 오퍼랜드와 [6]수신처 오퍼랜드에 사용할 수 있는 레지스터의 조합을 제한할 수 있습니다.

F 레지스터(16비트 레지스터 SR의 하위 8비트 절반)에는 F'라는 대체 레지스터가 있습니다.실행 중EX AF,AF'TLCS-90 에서는, 양쪽 모두를 실행할 필요가 있습니다.EX A,A'그리고.EX F,F'.

또, TLCS-900에는, 4개의 「마이크로 DMA」전송 채널이 있습니다.각 채널에는, 프로그램 가능한 송신원주소와 수신처 주소, 전송 카운트, 데이터 사이즈(바이트, 워드, 및 롱 워드) 및 다양한 전송 모드가 있습니다.이것들은 통상의 인터럽트와 같은 방법으로 트리거 되어 전송 프로세스시에 프로그램의 실행을 중단합니다.

TLCS-900/H 모델은 Neo Geo Pocket 및 Neo Geo Pocket Color에서 가장 두드러지게 사용되었습니다.

기능 및 차이점

현재의 TLCS 프로세서는, 다음의 기능의 일부 또는 모두를 갖추고 있습니다.

이러한 기능에 대한 수요는 특정 프로젝트의 요건(저소비 전력, 대량의 I/O 포트 등)에 따라 크게 다르기 때문에 고객은 다양한 버전에서 선택할 수 있습니다.

개발 도구

도시바는 ANSI C 호환 C 컴파일러와 어셈블러제공합니다.두 도구 모두 무료로 사용할 수 없습니다.

무료 Small Device C 컴파일러는 TLCS-90을 지원합니다.

GNU 어셈블리를 TLCS-900 패밀리에 이식하는 프로젝트가 있습니다.

Alfred Arnold의 매크로 어셈블러 AS [1]는 TLCS-47, TLCS-870, TLCS-90, TLCS-900 및 TLCS-9000 패밀리를 지원하는 프리 어셈블러입니다.

레퍼런스

  1. ^ a b c d e f 8-Bit Microcontroller: TLCS-48, -90 (PDF). Toshiba. November 1988. Archived (PDF) from the original on 2020-03-28. Alt URL
  2. ^ "1973: 12-bit engine-control microprocessor (Toshiba)" (PDF). Semiconductor History Museum of Japan. Retrieved 27 June 2019.
  3. ^ Belzer, Jack; Holzman, Albert G.; Kent, Allen (1978). Encyclopedia of Computer Science and Technology: Volume 10 - Linear and Matrix Algebra to Microorganisms: Computer-Assisted Identification. CRC Press. p. 402. ISBN 9780824722609.
  4. ^ a b Haywood, David. "MAME soure code: src/devices/cpu/tlcs870/tlcs870d.cpp". Retrieved 25 April 2020.
  5. ^ "TLCS-870/C1 Series Instruction Set" (PDF). Toshiba Corporation Semiconductor Company. 16 December 2008.
  6. ^ a b c d "TLCS-900 Series 16-bit Microcontroller User's Manual" (PDF). Toshiba corporation. 1994 – via Bitsavers.org.

외부 링크