- •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.
38. Конвейерный регистр команд микропроцессорного ядра MicroBlaze.
Инструкция = команда.
ГРУБО: у нас есть список команд, которые должен выполнить микропроцессор. Каждая из них разбивается на равное количество составляющих, которые могут выполняться одновременно. Производится счет инструкций, они обрабатываются последовательно.
Буферный (конвейерный) регистр команд позволяет повысить производительность микропроцессорного ядра за счет параллельного выполнения нескольких команд. Для этого процесс обработки команды делится на несколько фаз (уровней). В MicroBlaze можно организовать 3-х или 5-ти уровневый конвейер. Каждая фаза выполняется в течение одного машинного цикла.
Пример для 3-х фаз (уровней):
Выборка – захват инструкции из программной памяти (ОЗУ – оперативная память), производится последовательно. Декодирование – определение типа инструкции. С выходов программной памяти формируются управляющие сигналы для выполнения команды. Они подаются на все блоки микропроцессорного ядра. Исполнение – выполнение инструкции. Контролируется программным счетчиком, на выходах которого формируется адрес выборки следующей инструкции, что обеспечивает последовательность. В обычном режиме (без прерываний) счетчик увеличивается на единицу.
Машинный цикл – интервал одного обращения к памяти или устройству; составляющая часть машинной команды.
Машинная команда, за которую выполняется 1 инструкция, разбивается несколько циклов (3 или 5). Благодаря этому можно выполнять фазы одновременно, повышая производительность.
39. Прерывания микропроцессорного ядра MicroBlaze.
ГРУБО: у нас есть задача с высшим приоритетом, которую нужно выполнить. Обработка предыдущей инструкции прерывается. Адрес прерванной инструкции запоминается, а сигнал, контролирующий прерывания, принимает значение 0, пока обработка не завершится.
Прерывание (interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события, требующего немедленного внимания. MicroBlaze изначально имеет один вход прерывания. Состояния обработки прерывания:
1.Адрес прерванной инструкции записывается в регистр общего назначения R14.
2.В программный счетчик загружается адрес процедуры обработки прерывания (0x00000010)(процессор знает, что именно по этому адресу находится «срочная» инструкция).
3.Флаг регистра статуса (Interrupt Enable (IE) Flag) сбрасывается до низкого логического уровня, что не позволяет зарегистрировать новое прерывание (то есть прервать текущее прерывание).
После завершения обработки адрес прерванной инструкции восстанавливается, а флаг регистра возвращается в состояние высокого логического уровня.
Еще есть понятие исключения - нештатная ситуация (ошибка), возникающая при работе процессора. При возникновении ошибки, в целом, происходит тоже самое:
1.Адрес прерванной инструкции записывается в регистр общего назначения R17.
2.В программный счетчик загружается адрес процедуры обработки исключения (0x00000008).
40. Кэш память микропроцессорного ядра MicroBlaze.
Для повышения производительности в состав микропроцессорного ядра MicroBlaze может быть включена быстродействующая кэш-память для хранения команд и данных. Размер этой памяти может составлять 2, 4, 8, 16, 32 и 64 Кбайт.
Реализация программной памяти:
Память на основе ресурсов блочной памяти кристалла Block SelectRAM (встроенная на ПЛИС). Минус: объем памяти ограничен платой.
Внешняя память. Объем программной памяти может достигать максимально допустимого значения (4 Гбайта).
Совмещение 1-ого и 2-ого вариантов (внутренней блочной памяти ПЛИС и внешнего ППЗУ).
Можно добавить:
Есть разные типы памяти: блочная (отдельная, выделенная, двухпортовая оперативная память) и распределенная (распределена по многим LUT-ам в ПЛИС). В данном случае речь идет о специально выделенной памяти.
Кэш – быстрая память, к которой процессор может обратиться.