Тошиба TLCS

Префикс, применяемый к микроконтроллерам производства Toshiba

TLCS — это префикс, применяемый к микроконтроллерам , производимым Toshiba . Линейка продукции включает несколько семейств архитектур CISC и RISC . Отдельные компоненты обычно имеют номер детали, начинающийся с «TMP». Например, TMP8048AP является членом семейства TLCS-48. [1] : 11 

TLCS-12

TLCS-12 был 12-битным микропроцессором и центральным процессором , произведенным Toshiba. Его разработка началась в 1971 году и была завершена в 1973 году. Это был 32  -мм 2 МОП-чип интегральной схемы с примерно 2800 кремниевыми затворами , изготовленный по 6-мкм процессу с логикой NMOS . Он использовался в системе блока управления двигателем Ford EEC , производство которого началось в 1974 году и пошло в массовое производство в 1975 году. Системная память включала 512-битное ОЗУ , 2 кб ПЗУ и 2 кб СППЗУ . [2] [3] TLCS-12A  [яп.] , улучшенная версия TLCS-12, была анонсирована в 1975 году. [4]   

Семейство TLCS-47

Микроконтроллеры категории TLCS-47 — это 4-битные системы. Они больше не рекламируются на сайте Toshiba.

Семейство TLCS-48

Семейство TLCS-48 было клонами микроконтроллера Intel MCS-48 (8048). [1]

Семейство TLCS-Z80

Тошиба Z84C00

Это была серия микроконтроллеров, совместимых с Zilog Z80 .

Семейство TLCS-90

Опытная версия микроконтроллера семейства TLCS-90 с разъемом EPROM

Микроконтроллеры семейства TLCS-90 используют 8-битную / 16-битную архитектуру, напоминающую Z80 . [1] Они больше не рекламируются на веб-сайте Toshiba.

TLCS-90 унаследовал большинство функций Z80, таких как:

  • семь 8-битных регистров (A, B, C, D, E, H и L),
  • шесть 16-битных регистров (BC, DE, HL, IX, IY и SP), три из которых представляют собой 8-битные пары регистров,
  • комбинированный флаг четности/переполнения,
  • , и 16-битные инструкции обмена, EX DE,HL[ 1] : Приложение-2  иEX AF,AF'EXX
  • LDIRи инструкции LDDRпо копированию памяти.

Однако есть и существенные различия. Он не использует отдельное адресное пространство ввода-вывода Z80, но добавляет больше гибкости к комбинациям операндов, некоторым новым операциям (в частности, умножению и делению) и нескольким дополнительным режимам адресации :

  • (SP+d)и (HL+A)индексированные режимы, работающие аналогично (IX+d)и(IY+d)
  • однобайтовая « нулевая страница » адресации памяти от FF00 до FFFF 16
  • (IX)и (IY)адресация без смещения, что позволяет сэкономить один байт машинного кода и сократить время выполнения
  • относительно ПК длинный (от -32768 до +32767 байт из счетчика программ, а не более короткий от -128 до +127)

Большая часть функциональности 8-битного аккумулятора A также была реализована для 16-битной пары регистров HL, например, отсутствующие инструкции и , а SUBтакже побитовые инструкции , и . Реализована особенность флага из Z80. Кроме того, инструкция была добавлена ​​для облегчения подсчета 16-битных циклов.CPANDXORORADD HL,rrDJNZ BC,addr

Пакеты SoC TLCS-90 включают 4-битные регистры BX и BY, которые объединяются с эффективными адресами на основе регистра IX или IY, что позволяет процессору адресовать до одного мегабайта памяти. [1] : MPU90-16  Процессор включает инструкции INCX ($FF00+n)и DECX ($FF00+n), которые полезны для выполнения 20-битной арифметики указателей с использованием регистров IX и BX или регистров IY и BY.

Инструкции делятся на однобайтовые базовые и двухбайтовые расширенные. Коды операций E0 16 — FE 16 — это префиксы, которые начинают расширенную инструкцию. Кодировка инструкции необычна тем, что префикс указывает один операнд расширенной инструкции, и в отличие от однобайтовых префиксов, используемых архитектурой Z80 или x86 , за ним могут следовать байты операнда. [1] : MPU90-23, Приложение-12  После байтов префикса второй байт кода операции указывает операцию и второй операнд.

Например, инструкция ADD (IX+127),5кодируется как F4 7F 68 05, где первые два байта определяют адрес назначения, третий байт определяет операцию, а четвертый байт предоставляет исходный операнд.

Семейство TLCS-870

Микроконтроллеры семейства TLCS-870 (серии TLCS-870, TLCS-870/X, TLCS-870/C и TLCS-870/C1) используют 8-битную / 16-битную архитектуру, вдохновленную TLCS-90, но менее похожую на Z80.

TLCS-870 — оригинальная модель с 16-битным адресным пространством, которая была расширена в двух разных направлениях:

  • TLCS-870/X расширяет архитектуру до 20 бит с обеспечением восходящей совместимости. [5]
  • TLCS-870/C сохраняет 16-битное адресное пространство и предоставляет совместимый язык ассемблера , но изменяет кодировку инструкций [5], так что требуется другой объектный код .
  • TLCS-870/C1 — это совместимый снизу вверх вариант 870/C с небольшими расширениями. [6]

Семейство TLCS-900

Семейство TLCS-900 наследует большинство функций архитектуры TLCS-90 и включает 32-битные регистры и 24-битную адресную шину. Большинство реализаций (TLCS-900, [7] TLCS-900/L, [7] TLCS-900/H и TLCS-900/L1 серии) имеют 16-битные внутренние пути данных, как MC68000 , в то время как серия TLCS-900/H1 имеет внутреннюю ширину 32 бита (как MC68020 ).

Набор инструкций в основном совместим снизу вверх с TLCS-90, хотя двоичное кодирование отличается. [7] : 182–184  Реализована та же схема кодирования режима адресации до кода операции инструкции и дополнительных операндов. Ранние модели поддерживали как «минимальный режим», в котором банковые регистры и счетчик программ имели ширину 16 бит, так и «максимальный режим», в котором все регистры общего назначения были 32-битными. Более поздние модели исключили минимальный режим.

В максимальном режиме имеется 4 банка из четырех 32-битных регистров, каждый из которых может быть разделен на две 16-битные половины или четыре 8-битные четверти. В минимальном режиме ранних моделей имеется 8 банков из четырех 16-битных регистров, которые могут быть разделены на 8-битные половины. Процессор может использовать текущий банк (на который указывает поле RFPв 16-битном регистре состояния SR), предыдущий банк для совместимости с альтернативной схемой регистров TLCS-90 или любой произвольный номер банка от 0 до 7. Также имеется фиксированный набор из четырех 32-битных регистров, один из которых выделен в качестве указателя стека. Ранние модели имели два отдельных указателя стека для пользовательского и системного режимов. Обычно из 3-битного кода можно адресовать только набор из 8 регистров; Для адресации всех регистров требуется дополнительный 6/8-битный байт кода, который может быть вставлен только в операнд префиксного режима адресации, что ограничивает комбинации регистров, которые могут использоваться для исходных и целевых операндов. [7]

Регистр F (нижняя 8-битная половина 16-битного регистра SR) имеет альтернативный регистр, называемый F'. Выполнение EX AF,AF'из TLCS-90 требует выполнения EX A,A'и EX F,F'.

TLCS-900 также включает 4 канала передачи "microDMA", каждый из которых имеет программируемые адреса источника и назначения, счетчики передач, размеры данных (байт, слово и длинное слово) и различные режимы передачи. Они запускаются так же, как обычные прерывания, и прерывают выполнение программы в процессе передачи.

Модель TLCS-900/H наиболее широко использовалась в Neo Geo Pocket и Neo Geo Pocket Color .

Особенности и отличия

Современные процессоры TLCS предлагают некоторые или все из следующих функций:

Поскольку спрос на эти функции существенно различается в зависимости от требований конкретного проекта (низкое энергопотребление, большое количество портов ввода-вывода и т. д.), заказчики могут выбирать из широкого спектра различных версий.

Инструменты разработки

Toshiba предлагает совместимый с ANSI C компилятор C и ассемблер . Ни один из инструментов не доступен бесплатно.

Бесплатный компилятор Small Device C поддерживает TLCS-90.

Существует проект по портированию ассемблера GNU на семейство TLCS-900.

Macroassembler AS [1] Альфреда Арнольда — это свободный ассемблер, поддерживающий семейства TLCS-47, TLCS-870, TLCS-90, TLCS-900 и TLCS-9000.

Ссылки

  1. ^ abcdef 8-битный микроконтроллер: TLCS-48, -90 (PDF) . Toshiba. Ноябрь 1988 г. Архивировано (PDF) из оригинала 28.03.2020.Альтернативный URL-адрес
  2. ^ "1973: 12-битный микропроцессор управления двигателем (Toshiba)" (PDF) . Музей истории полупроводников Японии . Получено 27 июня 2019 г. .
  3. ^ Белзер, Джек; Хольцман, Альберт Г.; Кент, Аллен (1978). Энциклопедия компьютерных наук и технологий: Том 10 - Линейная и матричная алгебра для микроорганизмов: компьютерная идентификация. CRC Press . стр. 402. ISBN 9780824722609.
  4. ^ "新HPCの歩み(第54回)-1975年(b)-" . Проверено 20 ноября 2023 г.
  5. ^ ab Haywood, David. "MAME исходный код: src/devices/cpu/tlcs870/tlcs870d.cpp". GitHub . Получено 25 апреля 2020 г. .
  6. ^ "Набор инструкций серии TLCS-870/C1" (PDF) . Toshiba Corporation Semiconductor Company. 16 декабря 2008 г.
  7. ^ abcd "Руководство пользователя 16-битного микроконтроллера серии TLCS-900" (PDF) . Корпорация Toshiba. 1994 – через Bitsavers.org.
  • Сайт Toshiba Japan о серии TLCS
  • Сайт Toshiba USA о серии TLCS
Взято с "https://en.wikipedia.org/w/index.php?title=Toshiba_TLCS&oldid=1224589088"