русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Указатель команд


Дата добавления: 2015-06-12; просмотров: 704; Нарушение авторских прав


Расширеный указатель команд (EIP) содержит смещение в текущем сегменте кода следующей подлежащей выполнению команды. Указатель команд непосредственно не доступен программисту, но он управляется явно командами управления потоком (переходы, возвраты и т.д.), прерываниями и исключениями. Значение регистра EIP увеличивается, указывая последовательно на границы исполняемых команд. Однако, команды выбираются с упреждением, в результате чего, значение EIP только приблизительно соответствует команде, загружаемой в процессор. Процессор i486 не загружает команды поодиночке. Для загрузки команд перед их фактическим использованием, существует функция опережающего просмотра программы. Она обеспечивает загрузку выравненного 128-битного блока кода, команды которого хранятся в процессоре в ожидании обработки. ( Выравнивание блока производится обнулением четырех последних битов его адреса ). Данные блоки загружаются с игнорированием границ между командами. Таким образом, во время начала исполнения команды, она уже загружена в процессор и декодирована. Такой способ загрузки команд значительно повышает производительность процессора, т.к позволяет совмещать выполнение команды, с загрузкой и декодировать команд. При выполнении команды перехода и вызова подпрограммы, процессор загружает выравненый блок, содержащий адрес перехода или подпрограммы. При этом, команды которые были предварительно загружены и декодированы, отменяются. Если в результате выполнения предварительной загрузки вырабатывается исключение, например, выход за рамки сегмента кода, об исключении не сообщается, пока выполняются команды, предшествующие байту, выработавшему данное исключение. Если же команда отменяется, исключение не генерируется вообще. В режиме реальной адресации упреждающая выборка может привести к обращению процессора к неожиданному для программиста адресу памяти. При работе в защищенном режиме исключения отрабатываются правильно при обращении к данному адресу. В случае же работы процессора в реальном режиме, не существует аппаратных механизмов обеспечения правильной работы процессора. Например, если система не возвращает RDY#-сигнал (сигнал, который завершает цикл шины), для циклов шины при обращении к несуществующему адресу, учреждающая выборка должна быть защищена от обращения к таким адресам. Если в системе предусмотрена проверка четности, упреждающая выборка должна быть защищена от обращения по адресу, расположенному за пределами защищенной по четности памяти. (Наоборот, RDY# может возвращать четный сигнал для циклов шины при обращении к несуществующим адресам, и ошибки четности могут игнорироваться при упреждающей выборке за пределами защищенной по четности памяти. )



Упреждающая выборка может быть сохранена от ссылки на нежелательные адреса с помощью организации некоторой дистанции между адресом и последним выполняемым байтом. Например, для сохранения упреждающей выборки от обращения к адресам от 10000H до 1000FH, последний исполняемый байт должен иметь адрес меньше 0FFEEH. Выравненный 128-битный блок между последним байтом последней исполняемой команды и адресом, обращение к которому недопустимо, должен быть очищен. Поведение процессора i486 в процессе упреждающей выборки зависит от конкретной реализации. Фирма Intel(R) оставляет за собой право изменять в будущем механизм работы процессора при упреждающей выборке.



<== предыдущая лекция | следующая лекция ==>
Регистры флагов | Формат команд


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.227 сек.