Часть 5 · Микроархитектура RISC · уровни 48–67

Пятая часть — RISC Lab: вы собираете на Verilog 32-битный RISC-процессор на учебном подмножестве RV32I и доводите его до пятиступенчатого конвейера — с форвардингом, пузырями загрузки и сбросом неверного пути, которые вы обнаруживаете и разрешаете сами.

Открыть в игре →Программа курса

Основные идеи части

  • Регистровый файл вместо аккумулятора: 32 регистра x0–x31, x0 всегда ноль; каждая команда называет операнды явно — rs1, rs2 и rd.
  • Учебное подмножество RV32I: 32-битные команды и данные, форматы R/I/S/B/U/J, 26 инструкций. Доступ к памяти только через lw/sw.
  • Control Unit, Forwarding Unit и Hazard Unit — Verilog-блоки, которые вы пишете сами: «конфликт» и «пузырь» вы формулируете в терминах сигналов.
  • Пять стадий IF—ID—EX—MEM—WB: одна команда проходит все пять, а соседняя в это время стоит на следующей.
  • Инженерный компромисс: конвейер меряется двумя метриками — CPI и ценой схемы (задержка, число вентилей).

Что вы построите к концу части

К концу части у вас конвейерное RISC-ядро: однотактное ядро RV32I, разрезанное на пять стадий, с форвардингом, пузырём загрузки и flush ветвлений — и та же программа «Knight Rider» на светодиодах, что в конце однотактного арка, но на конвейере, с ZIP-экспортом для Tang Nano 9K.

Уровни части

  1. 48. Прощай, аккумулятор! Открыть в игре →
  2. 49. Анатомия R-команды Открыть в игре →
  3. 50. АЛУ на 32 бита Открыть в игре →
  4. 51. Константа внутри команды Открыть в игре →
  5. 52. Память по правилам Открыть в игре →
  6. 53. Шаг на четыре Открыть в игре →
  7. 54. Цикл на BNE Открыть в игре →
  8. 55. Сумма массива Открыть в игре →
  9. 56. Вызов и возврат Открыть в игре →
  10. 57. Вложенные вызовы и стек Открыть в игре →
  11. 58. Собираем RV32I Открыть в игре →
  12. 59. Knight Rider RISC Открыть в игре →
  13. 60. Лаборатория верификации Открыть в игре →
  14. 61. Почему такт длинный Открыть в игре →
  15. 62. Между стадиями Открыть в игре →
  16. 63. Пять команд в полёте Открыть в игре →
  17. 64. Короткий путь Открыть в игре →
  18. 65. Пузырь загрузки Открыть в игре →
  19. 66. Призраки неверного пути Открыть в игре →
  20. 67. Knight Rider Pipeline Открыть в игре →

Номер уровня ведёт в его гайд в библиотеке; «Открыть в игре» — прямо в симулятор на этот уровень.

Что дальше: хаб «Verilog и FPGA» → · обзор для преподавателя →