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
Это были микроконтроллеры, совместимые с Zilog Z80 .
Семейство TLCS-90
Микроконтроллеры семейства 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'
иEXX
16-разрядные команды обмена, и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 предлагают некоторые или все из следующих функций:
- многофункциональные двунаправленные порты ввода / вывода общего назначения с дополнительными встроенными подтягивающими резисторами
- Программируемая по маске , однократно программируемая , флэш-память или ПЗУ типа EEPROM . Также доступны версии без ПЗУ
- множество последовательных интерфейсов:
- сторожевой таймер (WDT)
- мультиплексированные 10-битные аналого-цифровые преобразователи ; ЦАП
- двойные тактовые входы и оперативное переключение часов путем выбора различных значений передачи ( делитель частоты ), что позволяет использовать либо низкочастотные режимы с низким энергопотреблением, либо высокопроизводительные высокочастотные режимы
- предварительно масштабируемые 8-битные и 16-битные таймеры (могут использоваться как программируемые интервальные таймеры )
- Выход с 8-битной и 16-битной широтно-импульсной модуляцией (PWM) и программируемой генерацией импульсов (PPG)
- мощность напряжение диапазон напряжений питания от 1,8 до 5,5 вольт
- внешнее управление прерываниями
- генератор шаблонов , подходящий для управления шаговым двигателем
- Контроллер выбора / ожидания чипа
- различные форматы носителей микросхем
Поскольку спрос на эти функции сильно различается в зависимости от требований конкретного проекта (низкое энергопотребление; большое количество портов ввода-вывода и т. Д.), Клиенты могут выбирать из широкого диапазона различных версий.
Инструменты разработки
Toshiba предлагает ANSI C- совместимый компилятор C и ассемблер . Ни один из этих инструментов не доступен бесплатно.
Бесплатный компилятор C для малых устройств поддерживает TLCS-90.
Есть проект по переносу ассемблера GNU на семейство TLCS-900.
The Macroassembler AS [1] Альфреда Арнольда - это бесплатный ассемблер, поддерживающий семейства TLCS-47, TLCS-870, TLCS-90, TLCS-900 и TLCS-9000.