Счетчик инструкций MARS работает со статическими или динамическими инструкциями?

Я нашел этот поток относительно счетчик инструкций, но хотел немного больше информации о том, как счетчик работает в MARS4. Инструкции отображаются Статично или Динамично? Если да, то есть ли способ найти другого? Благодарю вас!


person Apeirologue    schedule 24.03.2021    source источник
comment
Статический счетчик — это концепция времени компиляции. Динамический подсчет — это концепция времени выполнения.   -  person Erik Eidt    schedule 26.03.2021


Ответы (1)


Динамическими или статическими являются не инструкции, а количество.

Счетчик выполненных инструкций — это динамический счетчик инструкций, и в приведенных вами вопросах и ответах говорится, что это то, что дает вам счетчик MARS.

Статическое количество инструкций - это просто размер кода: посмотрите на двоичное окно после сборки и вычтите последний - первый адреса. Инструкции = байт/4. (За вычетом любого заполнения для выравнивания, если вы не хотите это учитывать, но часто вы это делаете, потому что действительно важны объем кода в I-кэше и размер, который нужно загрузить с диска. Инструкция, которая никогда не запускается, в основном неотличима от прокладка для выравнивания.)

(Поэтому статический I-счетчик довольно тривиален, как счетчик строк дизассемблирования. Но динамический счетчик зависит от того, как работает программа, поэтому полезно иметь динамический счетчик команд в симуляторе.)

person Peter Cordes    schedule 25.03.2021