Опубликован: 04.08.2025 | Доступ: свободный | Студентов: 15 / 0 | Длительность: 02:58:00
Лекция 2:

Разработка цифровых ИС на примере микроконтроллерного ядра SCR1 - HDL описание

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Данные фазы могут быть сконфигурированы в 2-4 стадии конвейера.


Запрос инструкции


Во время фазы запроса инструкции к памяти инструкций отправляется запрос с адресом из регистра IMEM_ADDR или с адресом, вычисленным во время выполнения инструкции ветвления или прыжка. Данная фаза может занимать произвольное число тактов в зависимости от задержки памяти инструкций.

Получение инструкции


Во время фазы получения инструкции считанное 32 битное слово данных предварительно декодируется, т.е. определяется тип содержащихся в нем инструкций, например, две RVC инструкции или одна RVI инструкция.

Предварительно декодированная инструкция отправляется в очередь инструкций или напрямую в декодер в зависимости от конфигурации ядра.

Декодирование инструкции


Во время данной фазы формируются управляющие сигналы для других фаз и извлекается непосредственное значение (immediate).

Полученные сигналы помещаются в очередь выполнения или пересылаются напрямую в логику выполнения инструкции в зависимости от конфигурации.

Выборка операндов


Во время данной фазы происходит выборка операндов. Источниками операндов могут служить:

  • Многопортовый регистровый файл, содержащий регистры общего назначения (MPRF);
  • Регистровый файл управления и состояния (CSRF);
  • Непосредственное поле инструкции;
  • Счетчик команд.

Данная фаза необходима только для инструкций, требующих операции с операндами.

Арифметические и логические операции


Во время данной фазы выполняются арифметические или логические операции над операндами.

Умножение занимает 1 или 32 такта в зависимости от конфигурации. Деление всегда занимает 33 такта.

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

Операции загрузки/сохранения в память данных


Во время данной фазы осуществляются операции с памятью данных. Данная фаза может занимать произвольное число тактов в зависимости от задержки памяти данных. Данная фаза необходима только для инструкций, выполняющих операции с памятью.

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >