
- •1. Встраиваемые системы. Классификация встраиваемых систем.
- •2. Определение Системы на кристалле.
- •3. Процесс разработки SoC.
- •4. Архитектура процессора.
- •5. Простые последовательные процессоры.
- •6. Конвейерный процессор.
- •7. Ilp (параллелизм на уровне инструкций).
- •8. Основные этапы (уровни) проектирования SoC. Системный уровень проектирования.
- •9. Функциональный уровень проектирования SoC.
- •10. Особенности проектирования SoC.
- •11. Классификация средств автоматизированного проектирования
- •12. Этапы проектных процедур с использованием сапр.
- •13. Маршруты проектирования плис.
- •14. Выбор процессора для SoC.
- •15. Структурная схема систем на кристалле. Варианты реализации систем на кристалле.
- •16. Особенности процессоров Soft-Core.
- •17. Основные понятия в процессорной архитектуре. Набор команд. Соглашения о наборе команд.
- •18. Машинный язык.
- •25. Арифметико-логическое устройство (алу).
- •Классификация алу
- •26. Устройство сдвига.
- •27. Двоичные числа с фиксированной точкой.
- •Кодирование отрицательных чисел в эвм
- •28. Двоичные числа с плавающей точкой.
- •Ieee 753-1985 определяет четыре формата представления чисел с плавающей запятой:
- •Формальное представление нормализованных чисел в формате ieee 754.
- •29. Проблема подсистемы памяти. Иерархия памяти. Локальность.
- •30. Матрицы памяти.
- •31. Типы памяти.
- •32. Логические функции и пзу (rom). Многопортовая память.
- •33. Матрицы логических элементов. Программируемые логические матрицы.
- •34. Матрицы логических элементов. Программируемая пользователем матрица логических элементов.
- •36. Ввод-вывод, отображённый в память. Аппаратная реализация ввода-вывода, отображённого в память.
- •37. Архитектура микропроцессорного ядра MicroBlaze.
- •38. Конвейерный регистр команд микропроцессорного ядра MicroBlaze.
- •39. Прерывания микропроцессорного ядра MicroBlaze.
- •40. Кэш память микропроцессорного ядра MicroBlaze.
- •41. Назначение и структура регистра статуса.
- •Структура регистра статуса msr микропроцессорного ядра MicroBlaze
- •42. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 1
- •Шинные интерфейсы микропроцессорного ядра MicroBlaze
- •43. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 2 Небольшое введение: Шинные интерфейсы микропроцессорного ядра MicroBlaze
- •Периферийные компоненты для микропроцессорного ядра MicroBlaze
- •44. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 3
- •45. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 4
- •46. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 5
- •47. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 6
- •Эволюция axi
- •52. Axi Interconnect. Прямое соединение. Только преобразование.
- •53. Axi Interconnect. Межсоединение n-к-1. Межсоединение 1-к-n.
- •54. Axi Interconnect. Межсоединение n-к -m.
37. Архитектура микропроцессорного ядра MicroBlaze.
ПОЯСНЕНИЕ ПРО MicroBlaze
MicroBlaze — soft-процессорное ядро, разработанное компанией Xilinx для использования в микросхемах ПЛИС серии FPGA. MicroBlaze реализуется с помощью стандартной логики и блоков памяти ПЛИС.
MicroBlaze имеет универсальные средства связи с периферией, обеспечивающее возможность применять его в разнообразных встроенных приложениях. Для доступа к внутренней памяти ПЛИС (BRAM), MicroBlaze использует специальную шину LMB(Local Memory Bus), что снижает нагрузку на другие шины. Подключение сопроцессора возможно средствами специального соединения, подобного FIFO — FSL (Fast Simplex Link). Интерфейс с сопроцессором может помочь ускорить работу алгоритмов с большим количеством вычислений, передав часть вычислений в созданный разработчиком (например, написанный на VHDL) аппаратный блок.
Xilinx EDK (Embedded Development Kit) — пакет программ для разработки встроенных систем на основе MicroBlaze (и PowerPC) для ПЛИС фирмы Xilinx. Основанный на Eclipse IDE, EDK состоит из двух независимых сред разработки — XPS и SDK.
Разработчик использует XPS (Xilinx Platform Studio) для создания и конфигурирования аппаратной спецификации встроенной системы (процессорное ядро, управление памятью, интерфейсы ввода-вывода и проч.). По ней XPS генерирует синтезируемое описание на уровне регистровых передач (RTL — register transfer level, на языке VHDL или Verilog), и создает набор скриптов для автоматического создания битового описания (из RTL в bitsream-файл). Для ядра MicroBlaze EDK генерирует зашифрованное описание (не читаемое человеком), но исходники на VHDL могут быть приобретены у Xilinx.
САМ ВОПРОС
Структура микропроцессорного ядра MicroBlaze построена по принципу Гарвардской архитектуры, в основе которой лежит концепция использования раздельных шин данных и команд. Организация магистралей микропроцессора в соответствии с этой концепцией обеспечивает достижение высоких скоростей выполнения операций. Обобщенная структура микропроцессорного ядра MicroBlaze представлена на рис. 1.
Основными элементами архитектуры микропроцессорного ядра MicroBlaze являются:
32-разрядное АЛУ;
блок регистров общего назначения;
регистр состояния (статуса);
программный счетчик (счетчик команд);
буфер команд (конвейерный регистр);
блок декодирования команд;
контроллер интерфейса шины команд;
контроллер интерфейса шины данных;
отладочная логика;
кэш-память команд;
кэш-память данных;
схема управления прерываниями.
ДАЛЕЕ ПОЯСНЕНИЯ (МНОГО, СТРАШНО И НЕПОНЯТНО, НО СКОРЕЕ ВСЕГО БУДЕТ СПРАШИВАТЬ)
Последние четыре элемента из перечисленных выше явно не показаны на рис. 1. Отладочная логика и кэш-память команд и данных не являются обязательными элементами архитектуры микропроцессорного ядра MicroBlaze. Необходимость их присутствия определяется разработчиком в соответствии с конфигурацией проектируемой системы.
Блок АЛУ выполняет логические и арифметические операции над 32-разрядными операндами. В качестве операндов может использоваться содержимое любого из 32 регистров общего назначения, а также 16- или 32-разрядные константы, указанные непосредственно в тексте команде. Результат выполнения операции заносится в один из регистров общего назначения, номер которого задается в качестве соответствующего параметра выполняемой инструкции.
Регистр статуса (Machine Status Register, MSR) содержит значения флагов (признаков), формируемых блоком АЛУ при выполнении арифметических и логических инструкций, а также операций ввода-вывода и прерываний. Этот регистр содержит 32 разряда.
Блок регистров общего назначения содержит 32 регистра, обозначаемых по порядку R0 — R31, длина каждого из которых составляет 32 разряда. При использовании этих регистров в разрабатываемой программе следует придерживаться соглашений, установленных интерфейсом Application Binary Interface (ABI), который определяет правила создания приложений на языке ассемблера для микропроцессорного ядра MicroBlaze. Компилятор программ, написанных на языке высокого уровня С/С++, при их трансляции автоматически выполняет требования, предусмотренные ABI. Согласно классификации, принятой в ABI, все регистры общего назначения условно разделяются на три группы:
регистры, предназначенные для хранения временных (промежуточных) данных, которые не сохраняются при вызове функций (подпрограмм);
регистры, содержимое которых восстанавливается после вызова функций (подпрограмм) в состояние, предшествующее обращению к функции (подпрограмме);
выделенные регистры, предназначенные для хранения строго определенных данных.
Схема управления прерываниями формирует комбинацию внутренних сигналов, необходимых для выполнения процедуры обработки прерываний. Микропроцессорное ядро MicroBlaze изначально содержит единственную цепь сигнала прерывания. Для расширения системы прерываний следует использовать дополнительную логику, которая реализуется на основе свободных ресурсов кристалла.
Контроллеры интерфейсов шин данных и команд предназначены для организации взаимодействия микропроцессорного ядра и других компонентов проектируемой системы, включая программную и оперативную память, через соответствующие магистрали.
Архитектура микропроцессорного ядра MicroBlaze предоставляет возможность выбора одного из трех вариантов реализации программной памяти, в которой хранится последовательность выполняемых команд. Первый вариант предполагает организацию памяти программ в виде запоминающего устройства, реализуемого на основе ресурсов блочной памяти кристалла Block SelectRAM.
Основным недостатком этого варианта является ограниченный объем программной памяти, который определяется физическими ресурсами блочной памяти ПЛИС. Второй вариант заключается в применении внешнего (по отношению к кристаллу FPGA) ППЗУ для хранения программ. В этом случае объем программной памяти может достигать максимально допустимого значения (4 Гбайта) при включении соответствующего числа микросхем ППЗУ. Для третьего варианта организации программной памяти характерно совместное использование внутренней блочной памяти ПЛИС и внешнего ППЗУ.