Это позволяет детерминизироватьи уменьшить время отклика, чем обычно требуется для кэш.Интерфейс SRAM включает в себя отдельную однонаправленную 32-разрядную шину адреса, считывания и записи данных.
Двойной или унифицированный интерфейс
Интерфейс SRAM памяти включает в себя возможность выборалибо двойной или единой инструкции и интерфейсов передачи данных.
Двойной интерфейс дает возможность независимого подключения кинструкции и устройствам передачи данных. Это в целом дает высокуюпроизводительность, так как конвейер может генерироватьсинхронные I и D запросы, которые затем исполняютсяпараллельно.
Обычно, транзакции чтения или записи выполняются в едином цикла. Если задержка мульти-цикла нужна, однако интерфейс может быть в остановлен, чтобы позволить реализовать подключение более медленных устройств.
ВMIPS приложение может выполняться как из внутренней флэш-памяти, так и из внутреннего ОЗУ, которое можно динамически разделить на области программ и данных.
Ввысокоскоростных процессорах узким местом, снижающим быстродействие, является Flash память программ, с её ограничениями на время доступа. СемействоMIPS имеет флэшпамять с 128-и битной шиной, которая позволяет за одно обращение выбирать четыре 32-битных инструкции, что соответствует выборке из Flash памяти с учетверенной скоростью. Однако, даже при наличии 128-битного буфера предвыборки, выполнение инструкций с тактовой частотой ядра не представляется возможным, так как реальное приложение содержит ветвления и повторяющиеся инструкции, а так же производит чтение данных из флэш-памяти.Поэтому в архитектуру M4K был введен конфигурируемый кэш предвыборки, состоящий из 16 128-битных строк, из них 4 строки могут использоваться в ка-
31
честве кэша данных, что полезно при обработке массивов данных.
Кэш предвыборки выполняет две задачи: кэширование инструкций, к которым осуществляется доступ и предвыборка инструкций из Flash памяти, до того как они необходимы для исполнения. Каждая строка кэш-строки содержит признак, описывающий что хранится в строке и адреса памяти, команды из которых находятся в Кэше. Обычно строки Кэша содержат копию участка памяти Flash, данные из которой доступны ядру без задержек.
Использование кэша предвыборки позволяет выполнять линейный код на максимальной частоте тактирования без состояний ожидания. Этому способствуют две линии кэша с адресной маской, которые могут содержать повторяющиеся инструкции, а так же механизм предикативной выборки инструкций.
1.1.6. Опциональные устройства
Интерфейс Сопроцессора 2
В M4K ядро имеется возможность настроить интерфейс для on-chip сопроцессора. Этот сопроцессор может быть тесно связан в ядре процессора, обеспечивая высокую производительность решения интеграция графического ускорителя или DSP, например.
Интерфейс сопроцессора является расширяемым и стандартизированным на MIPSядре. В ядре M4Kподдерживается подмножество полного стандартный интерфейс сопроцессора, в частности 32-х битная передача данных.
Интерфейс сопроцессора предназначен для облегчения интеграции с ИС заказчика. Интерфейс обеспечивает высокую производительность и связь между ядром и сопроцессор.
32
Расширение системы команд с помощью CorExtend (UserDefinedInstructions – UDI)
Дополнительное расширениеCorExtend пользовательских инструкций (UDI) в данном блоке дает возможность осуществления небольшого числа комбинаций инструкции, которые тесно связаны с ядром исполнительного модуля. Интерфейс UDI блок является внешним по отношениюк ядру M4K.
Такие инструкции, могут работать на регистре общего назначения, указанные непосредственные данные по инструкции слова, или локальные состояния хранятся в UDI блока. Пункт назначения может быть регистром общего назначения или внутриUDIблока. Операция может завершиться в один цикл или несколько циклов, если это необходимо.
Поддержка отладки по EJTAG
JTAG – сокращение от англ. Joint Test Action Group —
название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало прочно ассоциироваться с разработанным этой группой специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Официальноена-
званиестандартаStandard Test Access Port and Boundary-Scan Architecture. Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки.
Доступ к регистрам в каждом аппаратном модуле через контроллер TAP.
Порт тестирования (TAP — Test Access Port) представляет собой четыре или пять выделенных выводов микросхемы:
ТСК, TMS, TDI, TDO и (опционально) TRST.
JTAG-порт микросхемы и ячейки периферийного сканирования. Функциональное назначение этих линий: TDI (test
33
data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK; TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK; TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц; TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования.
Внекоторых случаях к перечисленным сигналам добавляется сигнал TRST для инициализации порта тестирования, что необязательно, так как инициализация возможна путём подачи определённой последовательности сигналов на вход TMS.
Работа средств обеспечения интерфейса JTAG подчиняется сигналам автомата управления, встроенного в микросхему. Состояния автомата определяются сигналами TDI и TMS порта тестирования. Определённое сочетание сигналов TMS и TCK обеспечивает ввод команды для автомата и её исполнение.
Если на плате установлено несколько устройств, поддерживающих JTAG, они могут быть объединены в общую цепочку. Уникальной особенностью JTAG является возможность программирования не только самого микроконтроллера (или ПЛИС), но и подключённой к его выводам микросхемы флэшпамяти. Причём существует два способа программирования флэш-памяти с использованием JTAG: череззагрузчик с последующим обменом данными через память процессора, либо через прямое управление выводами микросхемы.
Вядре M4Kпредусматрен опциональный расширенный (Enhanced) интерфейс JTAG (EJTAG) для использования в про
34
цессе отладки программного обеспечения приложения и код ядра. В дополнение к обычному пользовательскому режиму и режиму ядра работы M4K ядро обеспечивает режим отладки, который вводится после исключения отладки (произведенное аппаратной точкой останова, пошаговым исключением и т. д.) которое продолжается до отладочного исключения возврата (DERET).В течение этого времени, процессорвыполняет отладку исключениястандартным обработчиком.
Интерфейс EJTAG работает через порт тестового доступа(TAP), используется последовательный порт связи для передачи тестовых данных в и из ядра M4K.
Отладочные регистры
Три отладочных регистра(отладка, DEBUG2, DEPC, иDESAVE) были добавлены на MIPS Сопроцессор 0(CP0) регистр. DEBUGandDEBUG2показывают причину исключения отладки и используется для созданияодношаговых операций. DEPC, или Исключение ОтладкиПрограммного счетчика – это регистр содержащий адрес, по которому было взято исключение отладки. Это используется, чтобы возобновить программувыполнение после завершения операции отладки. Наконец, регистр DESAVE, или Сохранение Исключения Отладкипозволяет выполнить сохранение регистров общего назначения, используемых во время выполненияотладки обработчиков исключений.
MIPS трассировка
В M4K ядро включает в себя дополнительнуюподдержка MIPS трассировки в реальном времени, т.е. отслеживание адреса команд, адресов и значения данных. Трассировочная информация собирается в on-chipили off-chipпамяти для последущей обработки программой регенерации трассы.
On-chip трассировка в памяти может быть настроенана размер от 0 до8 МБ и доступ к ней осуществляется через суще-
35