Toshiba TLCS - Toshiba TLCS

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

ТЛКС-12

TLCS-12 представлял собой 12-битный микропроцессор и центральный процессор производства Toshiba. Его разработка началась в 1971 году и была завершена в 1973 году. Это была микросхема MOS- микросхемы 32  мм² с примерно 2800 кремниевыми затворами , изготовленная по технологии 6 мкм с использованием логики NMOS . Он был использован в Форд ЕЕС блока управления двигателем системы, который начал производство в 1974 году и вошло в массовое производство в 1975. Системная память включена 512-битный RAM , 2 кб ROM и 2 кб EPROM .    

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

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

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

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

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

Toshiba Z84C00

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

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

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

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

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

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

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

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

Большинство функциональных возможностей 8-битного аккумулятор А также было реализовано для 16-битного регистра пары HL, таких как отсутствующие SUBи CPинструкция, а также AND, XORи ORинструкция поразрядной. ADD HL,rrФлаг галтель из Z80 реализован. Кроме того, DJNZ BC,addrинструкция была добавлена ​​для облегчения подсчета 16-битных циклов.

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

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

Например, инструкция 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 бит и обеспечивает совместимость снизу вверх.
  • TLCS-870 / C сохраняет 16-битное адресное пространство и предоставляет совместимый язык ассемблера , но изменяет кодировку инструкций, поэтому требуется другой объектный код .
  • TLCS-870 / C1 - это совместимый снизу вверх вариант 870 / C с небольшими расширениями.

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

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

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

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

Регистр 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 и ассемблер . Ни один из этих инструментов не доступен бесплатно.

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

Есть проект по переносу ассемблера GNU на семейство TLCS-900.

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

Рекомендации

Внешние ссылки