Эта статья включает список общих ссылок , но в ней отсутствуют соответствующие встроенные цитаты . ( Июль 2009 ) |
TLCS — это префикс, применяемый к микроконтроллерам , производимым Toshiba . Линейка продукции включает несколько семейств архитектур CISC и RISC . Отдельные компоненты обычно имеют номер детали, начинающийся с «TMP». Например, TMP8048AP является членом семейства TLCS-48. [1] : 11
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 — это 4-битные системы. Они больше не рекламируются на сайте Toshiba.
Семейство TLCS-48 было клонами микроконтроллера Intel MCS-48 (8048). [1]
Это была серия микроконтроллеров, совместимых с Zilog Z80 .
Микроконтроллеры семейства TLCS-90 используют 8-битную / 16-битную архитектуру, напоминающую Z80 . [1] Они больше не рекламируются на веб-сайте Toshiba.
TLCS-90 унаследовал большинство функций Z80, таких как:
EX DE,HL
[ 1] : Приложение-2 иEX AF,AF'
EXX
LDIR
и инструкции LDDR
по копированию памяти.Однако есть и существенные различия. Он не использует отдельное адресное пространство ввода-вывода Z80, но добавляет больше гибкости к комбинациям операндов, некоторым новым операциям (в частности, умножению и делению) и нескольким дополнительным режимам адресации :
(SP+d)
и (HL+A)
индексированные режимы, работающие аналогично (IX+d)
и(IY+d)
(IX)
и (IY)
адресация без смещения, что позволяет сэкономить один байт машинного кода и сократить время выполненияБольшая часть функциональности 8-битного аккумулятора A также была реализована для 16-битной пары регистров HL, например, отсутствующие инструкции и , а SUB
также побитовые инструкции , и . Реализована особенность флага из Z80. Кроме того, инструкция была добавлена для облегчения подсчета 16-битных циклов.CP
AND
XOR
OR
ADD HL,rr
DJNZ 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/X, TLCS-870/C и TLCS-870/C1) используют 8-битную / 16-битную архитектуру, вдохновленную TLCS-90, но менее похожую на Z80.
TLCS-870 — оригинальная модель с 16-битным адресным пространством, которая была расширена в двух разных направлениях:
Семейство 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.