Опубликован: 19.04.2025 | Доступ: свободный | Студентов: 1 / 0 | Длительность: 07:05:00
Лекция 14:
Задания
< Лекция 13 || Лекция 14 || Лекция 15 >
-
Спланируйте расширение и кодировку опкодов команд цифровой обработки сигналов (арифметика с насыщением):
- сложение с насыщением - SAT.ADD;
- вычитание с насыщением - SAT.SUB;
- умножение с насыщением - SAT.MUL;
- умножение полуслов с накоплением в полном регистре - MAC.H;
-
умножение с насыщением полуслов с накоплением в полном регистре SAT.MAC.H;
А) В варианте применения для кодирования свободных кодов функциональных полей.
Б) в варианте кастомного расширения.
- Модифицируйте дешифратор команд, что бы он воспринимал ваши расширения системы команд, реализованное в п.1 (отдельно для вариантов А) и Б). Протестируйте решение.
- Модифицируйте АЛУ для распознавания ваших новых опкодов и функциональных расширений. Поверьте полученное решение.
- Интегрируйте АЛУ в один вариантов процессора. Протестируйте поведение системы.
- Параметризируйте количество теневых регистров в файл-регистре и программном счётчике.
- Интегрируйте системный таймер (из раздела многопоточный процессор) в адресное пространство регистров CSR, можно использовать определённые в стандартом RV.
- Модифицируйте Hart_table для поддержки произвольного количества нитей/хартов.
- Интегрируйте Hart_table в адресное пространство CSR регистров.
- Разделите "память программ" и "память данных" на два отдельных модуля для представленной микроархитектуры (например, для её многотактного варианта).
-
Напишите "загрузчик" памяти программ по UART.
UART-загрузчик позволяет инициализировать только память программ. Предлагаемый алгоритм работы загрузчика:
- по приему определенного управляющего байта загрузчик выставляет активный уровень на внутренней линии сброса процессора;
- по второй байтовой команде сбрасывается счетчик адреса памяти;
- далее следует последовательность тетрад передаваемого слова, начиная с младшей, комбинированные с тетрадой-номером ;
- после каждого байта с упакованной тетрадой следует пара управляющих байт первый из которых устанавливает активный уровень на линии разрешения записи памяти, второй сбрасывает его;
- по завершении последовательности упакованных тетрад управляющим байтом снимается активный уровень на линии сброса.
Так как компилятором используется также память данных, необходимо модифицировать загрузчик, чтобы он мог также инициализировать и память данных.
- В предложенной микроархитектуре укажите не точное соответствие спецификации RV32I (основное, т.к. возможно оно не единственное)).
< Лекция 13 || Лекция 14 || Лекция 15 >
