Опубликован: 19.04.2025 | Доступ: свободный | Студентов: 1 / 0 | Длительность: 07:05:00
Лекция 14:

Задания

< Лекция 13 || Лекция 14 || Лекция 15 >
  1. Спланируйте расширение и кодировку опкодов команд цифровой обработки сигналов (арифметика с насыщением):

    • сложение с насыщением - SAT.ADD;
    • вычитание с насыщением - SAT.SUB;
    • умножение с насыщением - SAT.MUL;
    • умножение полуслов с накоплением в полном регистре - MAC.H;
    • умножение с насыщением полуслов с накоплением в полном регистре SAT.MAC.H;


      А) В варианте применения для кодирования свободных кодов функциональных полей.

      Б) в варианте кастомного расширения.

  2. Модифицируйте дешифратор команд, что бы он воспринимал ваши расширения системы команд, реализованное в п.1 (отдельно для вариантов А) и Б). Протестируйте решение.
  3. Модифицируйте АЛУ для распознавания ваших новых опкодов и функциональных расширений. Поверьте полученное решение.
  4. Интегрируйте АЛУ в один вариантов процессора. Протестируйте поведение системы.
  5. Параметризируйте количество теневых регистров в файл-регистре и программном счётчике.
  6. Интегрируйте системный таймер (из раздела многопоточный процессор) в адресное пространство регистров CSR, можно использовать определённые в стандартом RV.
  7. Модифицируйте Hart_table для поддержки произвольного количества нитей/хартов.
  8. Интегрируйте Hart_table в адресное пространство CSR регистров.
  9. Разделите "память программ" и "память данных" на два отдельных модуля для представленной микроархитектуры (например, для её многотактного варианта).
  10. Напишите "загрузчик" памяти программ по UART.

    UART-загрузчик позволяет инициализировать только память программ. Предлагаемый алгоритм работы загрузчика:

    • по приему определенного управляющего байта загрузчик выставляет активный уровень на внутренней линии сброса процессора;
    • по второй байтовой команде сбрасывается счетчик адреса памяти;
    • далее следует последовательность тетрад передаваемого слова, начиная с младшей, комбинированные с тетрадой-номером ;
    • после каждого байта с упакованной тетрадой следует пара управляющих байт первый из которых устанавливает активный уровень на линии разрешения записи памяти, второй сбрасывает его;
    • по завершении последовательности упакованных тетрад управляющим байтом снимается активный уровень на линии сброса.

    Так как компилятором используется также память данных, необходимо модифицировать загрузчик, чтобы он мог также инициализировать и память данных.

  11. В предложенной микроархитектуре укажите не точное соответствие спецификации RV32I (основное, т.к. возможно оно не единственное)).
< Лекция 13 || Лекция 14 || Лекция 15 >