- •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.
4. Архитектура процессора.
Как правило, процессоры характеризуются либо своим приложением, либо своей архитектурой. Обычно трудно связать конкретную архитектуру с конкретным приложением. Кроме того, некоторые архитектуры сочетают в себе различные подходы к реализации.
Таблица – Примеры процессоров, идентифицированные функцией
Тип процессора |
Приложение |
Graphics processing unit (GPU) |
Трёхмерная графика; рендеринг; затенение, текстура |
Digital signal processor (DSP) |
Задачи цифровой обработки сигналов, иногда используется с беспроводной связью |
Media processor |
Обработка видео- и аудиосигнала |
Network processor |
Маршрутизация, буферизация |
Таблица – Примеры процессоров, идентифицированные архитектурой
Тип процессора |
Архитектура/применение |
SMD |
Одна инструкция, применяемая к нескольким функциональным блокам (процесоорам) |
Vector (VP) |
Одна инструкция, применяемая к нескольким конвейерным регистрам |
VLIW |
Несколько инструкций, выдаваемых каждому циклу под контролем компилятора |
Superscalar |
Несколько инструкций, выдаваемых каждому циклу под аппаратным контролем |
С точки зрения программиста последовательные процессоры выполняют по одной инструкции за раз. Тем не менее, многие процессоры имеют возможность выполнять несколько команд одновременно, с помощью таких методов, как конвейерная передача, несколько используемых блоков и несколько ядер. Конвейер – это мощный метод, который используется почти во всех текущих реализациях процессоров. Также широко используются методы извлечения и использования присущего коду параллелизма во время компиляции или выполнения.
Процессор: функциональный вид
SoC |
Приложение |
Архитектура набора команд |
Описание процессора |
Freescale e600 |
ЦОС |
PowerPC |
Суперскаляр с векторным расширением |
ClearSpeed CSX600 |
Общий |
Проприетарный |
Массив-процессор из 96 элементов обработки |
PlayStation 2 |
Игры |
MIPS |
Конвейер с двумя векторными сопроцессорами |
ARM VFP11 |
Общий |
ARM |
Настраиваемый векторный сопроцессор |
Для этих примеров можно охарактеризовать их как общего назначения или специального назначения с поддержкой игр или приложений обработки сигналов. Этот профессиональный взгляд мало что говорит о базовой аппаратной реализации. Действительно, несколько совершенно разных архитектурных подходов могут реализовать одну и ту же общую функцию.
5. Простые последовательные процессоры.
Последовательные процессоры напрямую реализуют модель последовательного выполнения. Эти процессоры обрабатывают инструкции последовательно из потока команд. Следующая инструкции не обрабатывается до тех пор, пока всё выполнение текущей не будет завершено и её результаты не будут зафиксированы.
Семантика инструкции определяет, что для получения указанного результата должна быть выполнена последовательность действий. Эти действия включают в себя:
Получение инструкции в регистр инструкций (IF)
Расшифровка кода операции инструкции (ID)
Генерация адреса в памяти любого элемента данных, находящего там (AG)
Получение операндов данных в исполняемые регистры (DF)
Выполнение указанной операции (EX)
Запись результата в файл регистра (WB)
Instruction
IF |
→ |
ID |
→ |
AG |
→ |
DF |
→ |
EX |
→ |
WB |
Во время выполнения последовательный процессор выполняет одну или несколько операций за тактовый цикл из потока команд.
Инструкция – это контейнер, который представляет собой наименьший пакет выполнения, явно управляемый процессором. Одна или несколько операций содержатся в инструкции.
Различие между инструкциями и операциями имеет решающее значение для различения поведения процессора. Скалярные и суперскалярные процессоры потребляют одну или несколько команд за цикл, где каждая инструкция содержит одну операцию.