Примечание: для лучшего понимания статьи рекомендую прочитать 2 предыдущие про хранение информации и архитектуру процессора.
Тракт данных – группа 32-разрядных регистров, АЛУ с двумя входами, и шины. Для упрощения программирования, каждый регистр носит название своей команды ISA:
LV указывает на локальные переменные,
SP указывает на стек,
TOS указывает на вершину стека.
Данные по тракту передаются через три шины: А, С и В.
A передаёт данные из регистра H в АЛУ.
B передаёт данные из остальных регистров в АЛУ.
C передаёт данные из АЛУ в регистры.
Передача данных из АЛУ в регистры.
Числа умножены и АЛУ отправляет их по шине C в регистры управления памятью. Оттуда они отправятся назад в память.
Работа тракта данных
Работа тракта данных состоит из четырёх этапов:
- Считывание данных из постоянной памяти.
- Передача данных из регистров в АЛУ.
- Операция над данными в АЛУ.
- Возвращение данных из АЛУ в регистры.
Считывание из памяти
Мы хотим умножить два числа: 10 на 20.
Калькулятор получил задание: "умножь это на это."
Операционная система через команды процессора находит регистры для записи и записывает два числа. Чтобы АЛУ получило эти числа, должен появится сигнал – разряд тока на двух регистрах.