TLCS - это префикс, применяемый к микроконтроллерам производства Toshiba . Линия продуктов включает несколько семейств архитектур CISC и RISC . Отдельные компоненты обычно имеют номер детали, начинающийся с «TMP». Например, TMP8048AP является членом семейства TLCS-48. [1] : 11
ТЛКС-12
TLCS-12 представлял собой 12-битный микропроцессор и центральный процессор производства Toshiba. Его разработка началась в 1971 году и была завершена в 1973 году. Это была микросхема MOS-интегральной схемы 32 мм² с примерно 2800 кремниевыми затворами , изготовленная по 6-мкм техпроцессу с использованием логики NMOS . Он был использован в Форд ЕЕС блока управления двигателем системы, который начал производство в 1974 году и вошло в массовое производство в 1975. Системная память включена 512-битный RAM , 2 кб ROM и 2 кб EPROM . [2] [3]
Семейство TLCS-47
Микроконтроллеры категории TLCS-47 представляют собой 4-битные системы. Они больше не рекламируются на веб-сайте Toshiba.
Семейство TLCS-48
Семейство TLCS-48 было клонами микроконтроллера Intel MCS-48 (8048). [1]
Семейство TLCS-Z80
Это была серия микроконтроллеров, совместимых с Zilog Z80 .
Семейство TLCS-90
Микроконтроллеры семейства 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-битными парами регистров,
- комбинированный флаг четности / переполнения,
- то
EX DE,HL
,EX AF,AF'
иEXX
16-разрядные команды обмена, [1] : Приложение-2 и 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, что позволяет процессору адресовать до одного мегабайта памяти. [1] : MPU90-16 Процессор включает в себя INCX ($FF00+n)
и DECX ($FF00+n)
инструкцию, которые могут быть использованы для выполнения 20-битной арифметики указателей с использованием регистров IX и BX или IY и регистрами.
Инструкции делятся на однобайтовые базовые и двухбайтовые расширенные. Коды операций с 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 бит совместимым снизу вверх способом. [4]
- TLCS-870 / C сохраняет 16-битное адресное пространство и предоставляет совместимый язык ассемблера , но изменяет кодировку инструкций [4], поэтому требуется другой объектный код .
- TLCS-870 / C1 - это совместимый снизу вверх вариант 870 / C с небольшими расширениями. [5]
Семейство TLCS-900
Семейство TLCS-900 наследует большинство функций архитектуры TLCS-90 и включает 32-битные регистры и 24-битную адресную шину. Большинство реализаций (серии TLCS-900, [6] TLCS-900 / L, [6] TLCS-900 / H и TLCS-900 / L1) имеют 16-битные внутренние пути передачи данных, как MC68000 , в то время как TLCS-900 / Серия H1 имеет внутреннюю ширину 32 бита (как MC68020 ).
Набор команд в основном совместим с TLCS-90, хотя двоичное кодирование отличается. [6] : 182–184 Реализуется та же схема кодирования режима адресации перед кодом операции инструкции и дополнительными операндами. Ранние модели поддерживали как «минимальный режим», в котором регистры в банках и программный счетчик имели ширину 16 бит, так и «максимальный режим», в котором были все 32-битные регистры общего назначения. Более поздние модели опускали минимальный режим.
В максимальном режиме имеется 4 банка из четырех 32-битных регистров, каждый из которых может быть разделен на две 16-битные половины или четыре 8-битных четверти. В минимальном режиме ранних моделей было 8 банков из четырех 16-битных регистров, которые можно было разделить на 8-битные половины. Процессор может использовать текущий банк (на который указывает RFP
поле в 16-битном регистре состояния SR), предыдущий банк, совместимый с альтернативной схемой регистров TLCS-90, или любой произвольный номер банка от 0 до 7. Существует также фиксированный набор из четырех 32-битных регистров, один из которых предназначен для использования в качестве указателя стека. Ранние модели имели два отдельных указателя стека для пользовательского и системного режимов. Обычно из 3-битного кода можно адресовать только набор из 8 регистров; для адресации всех регистров требуется дополнительный 6/8-битный кодовый байт, который может быть вставлен только в операнд режима адресации с префиксом, ограничивая, какие комбинации регистров могут использоваться для операндов источника и назначения. [6]
Регистр 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 . Также доступны версии без ПЗУ
- множество последовательных интерфейсов:
- I²C
- Синхронные / асинхронные последовательные периферийные устройства ( UART / USART) (используются с RS-232 , RS-485 и другими)
- Шина последовательного периферийного интерфейса (SPI)
- USB
- сторожевой таймер (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.
Рекомендации
- ^ a b c d e f 8-битный микроконтроллер: TLCS-48, -90 (PDF) . Toshiba. Ноябрь 1988. Архивировано (PDF) из оригинала 28 марта 2020 года. Альтернативный URL
- ^ "1973: 12-разрядный микропроцессор управления двигателем (Toshiba)" (PDF) . Японский музей истории полупроводников . Проверено 27 июня 2019 .
- ^ Белзер, Джек; Хольцман, Альберт Г .; Кент, Аллен (1978). Энциклопедия компьютерных наук и технологий: Том 10 - Линейная и матричная алгебра микроорганизмов: компьютерная идентификация . CRC Press . п. 402. ISBN. 9780824722609.
- ^ а б Хейвуд, Дэвид. "Исходный код MAME: src / devices / cpu / tlcs870 / tlcs870d.cpp" . Проверено 25 апреля 2020 года .
- ^ «Набор инструкций для серии TLCS-870 / C1» (PDF) . Полупроводниковая компания Toshiba Corporation. 16 декабря 2008 г.
- ^ а б в г «Руководство пользователя 16-разрядного микроконтроллера серии TLCS-900» (PDF) . Корпорация Toshiba. 1994 - через Bitsavers.org.
Внешние ссылки
- Веб-сайт Toshiba Japan, посвященный серии TLCS
- Веб-сайт Toshiba USA, посвященный серии TLCS