# Лабораторная работа №9 "Интеграция блока загрузки и сохранения"

После реализации блока загрузки и сохранения его необходимо интегрировать в процессорную систему, реализованную в рамках ЛР№7. На _рис. 1_ представлена схема, иллюстрирующая интеграцию компонентов:

![../../.pic/Labs/lab_08_lsu/fig_01.drawio.svg](../../.pic/Labs/lab_08_lsu/fig_01.drawio.svg)

_Рисунок 1. Подключение LSU в процессорную систему._

## Материалы для подготовки к лабораторной работе

Перед выполнением данной лабораторной работы рекомендуется изучить теоретическую часть ЛР№8.

## Задание

Интегрировать модуль `lsu` в модуль `processor_system`.

## Порядок выполнения работы

1. Интегрируйте модули `lsu` и `data_mem` в модуль `processor_system`.
   1. Обратите внимание, что из модуля `processor_system` необходимо убрать логику сигнала `stall`, т.к. она была перемещена внутрь модуля `lsu`.
2. После интеграции модулей проверьте процессорную систему с помощью [программы](../07.%20Datapath/#Задание) и верификационного окружения из ЛР№7.
   1. Как и в случае с проверкой процессора архитектуры CYBERcobra, вам не будет сказано, пройден тест или нет. Вам необходимо самостоятельно, такт за тактом, проверить, что процессор правильно выполняет описанные в [_листинге 1_](../07.%20Datapath/#Задание) ЛР№7 инструкции (см. порядок выполнения задания ЛР№4). Для этого необходимо сперва самостоятельно рассчитать, что именно должна сделать данная инструкция, а потом проверить, что процессор сделал именно это.
   2. Обратите внимание на то, как теперь исполняются инструкции `sw`, `sh`, `sb`, `lw`, `lh`, `lb`, `lhu`, `lbu`.
3. Данная лабораторная работа не предполагает проверки в ПЛИС.
