Проверка четности указателя стека (параметр -S) — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Проверка четности указателя стека (параметр -S)

2022-10-05 30
Проверка четности указателя стека (параметр -S) 0.00 из 5.00 0 оценок
Заказать работу

Параметр -S включает проверку четности указателя стека (ar7). Особенностью процессора является то, что 64-х битные операции с памятью могут производиться только по четному адресу. Поскольку при обработке прерывания процессор записывает в стек регистровую пару PC,PSW 64-х битной операцией, то указатель стека во всех частях пользовательской программы, где разрешены прерывания, должен быть выровнен по границе 64-х разрядного слова, т.е. быть четным.

Следует отметить, что в отложенных командах перехода, указатель стека может принимать нечетные значения, т.к. прерывание возможно только по выполнении всех отложенных команд.

В случае, когда указатель стека нечетный и разрешены прерывания, выдается сообщение на стандартный вывод.

Размер банков памяти (параметр -m)

Параметр -m задает размер банков памяти. Размер указывается в 32-х разрядных словах, по умолчанию – 64000. Параметр задаёт размер эмулируемого банка (одинаковый для всех четырёх банков), то есть суммарный объем используемой памяти вчетверо больше.

Пример: emurun MyApp.abs –m128000

Проверка кремниевых ошибок (параметр -B)

Параметр -B включает проверку на возникновение кремниевых ошибок, ошибок реализации процессора, при выполнении программы. При обнаружении условий, при которых возможна ошибка, выдается сообщение.

Диагностируется 4-ая ошибка скалярного процессора. Ошибки векторного сопроцессора не диагностируются.

Конфигурация памяти

Эмулятор имеет четыре банка памяти одинакового размера, которые расположены в адресном пространстве по следующим начальным адресам:

· 00000000 – 0-й банк локальной памяти;

· 40000000 – 1-й банк локальной памяти;

· 80000000 – 0-й банк глобальной памяти;

· с0000000 – 1-й банк глобальной памяти.

Размер банков может быть изменен заданием параметра -m.

Подготовка пользовательской программы для запуска на эмуляторе

Пользовательская программа для запуска на эмуляторе, должна помещаться в конфигурацию памяти эмулятора.

Останов программы

Для исполнения программ на эмуляторе принято соглашение, о том, что адрес, равный <точка старта> + 6, является адресом, на который программа переходит для останова. Возвращаемым значением программы считается содержимое регистра gr0. При трансляции программ с языка С используется стартовый код, находящийся в библиотеке времени выполнения. В нем данные условия выполняются.

Время выполнения программы

Эмулятор процессора на уровне инструкций исполняет код пользовательских программ также как на реальном процессоре, однако временные характеристики: зависимости и задержки, не эмулируются (так называемый "быстрый" эмулятор). Очередная инструкция выполняется после того, как готов результат работы предыдущей. Это относится как к скалярным командам, так и к векторным - например, если первая из двух последовательных инструкций выполняет операцию векторного сложения 32 раза, то к моменту выполнения второй инструкции очередь результатов оказывается уже заполненной 32-я результатами первой операции. Результат выполнения правильной программы на "быстром" эмуляторе не отличается от результата выполнения этой же программы на реальном процессоре. Однако результаты выполнения фрагментов кода, зависящих от точного прохождения команд через конвейер процессора, будут отличаться. Временные характеристики выполнения программы оцениваются с помощью точного эмулятора, описанного в следующей главе.

Производительность эмулятора

Производительность эмулятора зависит от мощности инструментальной системы и её текущей загруженности. На машине с процессором Pentium II 300Мгц, работающей под управлением ОС Windows 95, в отсутствие посторонних пользовательских процессов, производительность эмулятора на потоке скалярных команд – порядка 300000 инструкций в секунду; скорость выполнения векторных команд сильно зависит от осуществляемых векторных операций и составляет приблизительно 100-10000 инструкций в секунду.


8  Точный эмулятор процессора

 

Введение

В данной главе описан интерфейс, управляющие параметры и режимы работы точного эмулятора процессора NM6403 из состава NMSDK.

Функциональное назначение

Точный эмулятор процессора NM6403, далее потактовый эмулятор, предназначен для моделирования и определения временных характеристик исполнения программ для процессора NM6403. Потактовый эмулятор процессора исполняет код пользовательских программ также как на реальном процессоре, кроме того, моделируются временные характеристики: блокировки в конвейере и задержки (так называемый "точный" эмулятор). Однако время доступа к эмулируемой памяти фиксировано и составляет один такт. Конечный результат выполнения любой правильной программы на "точном" эмуляторе не отличается от результата выполнения этой же программы на «быстром» эмуляторе (emurun) и на процессоре NM6403. Время выполнения правильной программы на "точном" эмуляторе может отличаться от результата выполнения этой же программы на реальном процессоре только для фрагментов кода, зависящих от прохождения команд по конвейеру процессора и от времени доступа к памяти.

Эмулятор запускается только из командной строки.


Поделиться с друзьями:

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.