Имитация перемещения данных при выполнении инструкций по сборке с использованием общей схемы ЦП - PullRequest
0 голосов
/ 01 июля 2019

Image of cpu diagram

Не знаю, если это правильная категория для моего вопроса. Я давал задание для имитации перемещения данных этой трех инструкций по сборке на диаграмме процессора ARM выше.

1. mov  r3,r1

2. ldr  r5,[lr]

3. stmfd   sp!,{r4,r5,r6,lr}

Конечно, я знаю, что делает эта инструкция, но я не смог найти ни одного ресурса, который бы подробно объяснял встроенный поток в CPU, чтобы эта инструкция работала. Поэтому я ищу любую ссылку или любое объяснение того, как процессор выполняет эту инструкцию, используя диаграмму процессора выше.

1 Ответ

1 голос
/ 01 июля 2019

"эта инструкция" - какая?Вы показали три.Кроме того, если вы знаете, что делает каждый, почему вы не можете следить за этим на диаграмме?

В любом случае, давайте возьмем первый, mov r3,r1.Логично начать с поля, называемого «счетчик программ».Проходя через мультиплексор, который помещает текущий адрес выборки команд на адресную шину.Подсистема памяти затем отвечает командным словом на шине данных.Это проходит через "reg reg" в "декодер команд", который затем управляет сигналами управления для выполнения команды.Сначала он указывает «регистровому файлу» поместить исходный регистр r1 в выходной мультиплексор, из которого он поступает в ALU, который запрограммирован на отсутствие операции, потому что это простая инструкция копирования (mov).Неизменное значение проходит через «регистр вывода» на шину данных.Затем декодер команд сообщает верхнему правому мультиплексору взять его и направить в регистровый файл, сохраняющий его в регистр назначения r3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...