Я нашел этот поток относительно счетчик инструкций, но хотел немного больше информации о том, как счетчик работает в MARS4. Инструкции отображаются Статично или Динамично? Если да, то есть ли способ найти другого? Благодарю вас!
Счетчик инструкций MARS работает со статическими или динамическими инструкциями?
Ответы (1)
Динамическими или статическими являются не инструкции, а количество.
Счетчик выполненных инструкций — это динамический счетчик инструкций, и в приведенных вами вопросах и ответах говорится, что это то, что дает вам счетчик MARS.
Статическое количество инструкций - это просто размер кода: посмотрите на двоичное окно после сборки и вычтите последний - первый адреса. Инструкции = байт/4. (За вычетом любого заполнения для выравнивания, если вы не хотите это учитывать, но часто вы это делаете, потому что действительно важны объем кода в I-кэше и размер, который нужно загрузить с диска. Инструкция, которая никогда не запускается, в основном неотличима от прокладка для выравнивания.)
(Поэтому статический I-счетчик довольно тривиален, как счетчик строк дизассемблирования. Но динамический счетчик зависит от того, как работает программа, поэтому полезно иметь динамический счетчик команд в симуляторе.)