Значение - счетчик - команда - Большая Энциклопедия Нефти и Газа, статья, страница 2
Извините, что я говорю, когда вы перебиваете. Законы Мерфи (еще...)

Значение - счетчик - команда

Cтраница 2


16 ОС говньге двухадресные Команды. [16]

Выполнение команды JSR Rn, SUBR заключается в том, что содержимое регистра Rn засылают в адресный стек ( R6 или SP), теку -: щее значение счетчика команд ( R7 или PC) - адрес возврата - помещают в регистр Rn, a вычисленный по имеющимся в команде данным начальный адрес подпрограммы принимают в счетчик команды PC. Выполнение команды RTS Rn вызывает передачу в PC хранящего в Rn адреса возврата и восстановление прежнего значения Rn, которое при переходе на подпрограмму было в стеке.  [17]

Для того чтобы перезапустить ее, операционная система должна определить, где находится первый байт команды. Значение счетчика команд во время прерывания зависит от того, какой операнд вызвал ошибку, и от реализации микрокода процессора.  [18]

Учтите, что не существует специальной команды, открывающей ячейку с адресом, который вычисляется с помощью индексирования по какому-либо иному регистру, отличному от PC. Команда - - сама по себе не использует значение счетчика команд, потому что он указывал бы на подпрограмму в комплексе ODT, отвечающую за выполнение этой команды. Зато в ней имеется специальный указатель, с помощью которого определяется, к какой ячейке во время исполнения будет произведено обращение при относительной адресации.  [19]

Когда выполнение подпрограммы заканчивается, из стека извлекается значение счетчика команд. По завершении подпрограммы второго уровня вложения из стека изымается значение счетчика команд подпрограммы первого уровня вложения. Оно загружается в счетчик команд, после чего выполнение указанной подпрограммы может быть возобновлено, начиная с команды, которая следовала за командой ВЫЗОВ ПОДПРОГРАММЫ. Когда завершается выполнение подпрограммы первого уровня, из стека опять извлекается очередное значение счетчика команд.  [20]

Во время трансляции команд значение счетчика ячеек программы соответствует величине, которую имеет счетчик команд ( PC) при выполнении программы. Однако при выполнении программы значение счетчика ячеек программы не всегда совпадает со значением счетчика команд. Например, при трансляции констант данных счетчик ячеек программы принимает такие значения, которые счетчик команд иметь не может, если только не возникнет ситуации, когда программа попытается манипулировать своими данными как командами.  [21]

У компьютера есть трехуровневый конвейер, как показано на рис. 1.6, а. На каждом такте процессор выбирает из памяти одну команду с адреса, на который указывает счетчик команд, и помещает ее в конвейер, после чего значение счетчика команд увеличивается. Предположим, каждая команда занимает ровно одно слово процессора. Команды, находящиеся в конвейере, продвигаются вперед на одно слово. При прерывании текущее состояние счетчика команд сохраняется в стеке, а в счетчик команд заносится адрес обработчика прерываний. Затем конвейер смещается на один шаг вправо, и первая команда обработчика прерываний попадает в конвейер. Обладает ли такая машина точными прерываниями.  [22]

Одно дело - знать, что необходимая для выхода из обеих подпрограмм информация сохранена, другое дело - располагать ею. Мы все еще можем вернуться из SPACE в PERIOD командой MOV R5 PC; но поскольку мы не знаем, где в результате исполнения команды JSR R5 SPACE было сохранено значение счетчика команд для выхода из подпрограммы PERIOD в главную программу, - то и не имеем возможности вернуться в последнюю.  [23]

Диспетчирование заключается в постоянном принятии решений о том, какой процесс нужно запускать следующим, и в соответствующей установке машинного счетчика команд, содержащего адрес очередной команды, которая подлежит выполнению. Конечно, для обеспечения возможности запуска процесса необходимо загрузить в регистры значения, находившиеся там в тот момент, когда данный процесс был прерван. Значение счетчика команд нужно установить равным адресу команды, логически следующей за последней выполнившейся до того, как работа программы была приостановлена. В некоторых случаях на диспетчер также возлагается обязанность хранить информацию о состоянии прерываемой программы, поскольку обработчик прерываний делает это далеко не во всех системах. Диспетчер принято рассматривать как фундаментальный элемент ядра и операционной системы в целом. Однако в принципе ядро может и не содержать соответствующего механизма. При этом все обязанности диспетчера выполняются либо одним из более высоких уровней системы, либо самими прикладными программами. Решение о том, включать диспетчер в ядро или не включать, зависит от предполагаемой степени информированности прикладных программ о составе мультипрограммной смеси, а также от принятого в системе разделения функций управления между элементами системы и программами пользователей.  [24]

Команды JP и CALL задают единственный операнд, которым должно быть слово, записанное в памяти, а не непосредственный операнд или содержимое регистра. Полагая, что слово представляет собой команду, команда JP позволяет осуществить переход к этой команде. Для этого значение счетчика команд устанавливается равным адресу этого слова. Команда CALL является командой вызова подпрограммы, идентичной команде JSR, и служит для записи адреса возврата в стек и последующего перехода к подпрограмме.  [25]

Различные команды окажутся на разных стадиях выполнения. К приходу прерывания значение счетчика команд может не отражать истинной границы между уже выполненными и еще не выполненными командами. Скорее всего, он будет указывать на адрес очередной команды, которую следует выбрать из памяти и поместить в конвейер, а не на адрес команды, только что обработанной исполнительным блоком.  [26]

27 Диаграмма работы СВ в режиме прерывания. [27]

Диаграмма работы СВ в режиме прерывания приведена на рис. 5.10. На ней показано, что по запросу прерывания gt при условии, что прерывание по этой причине разрешено, вместо очередной команды текущей программы выполняется команда передачи управления в первую индексную ячейку специальной памяти ( ОЗУ), которая соответствует данной причине прерывания. Схема выработки номера прерывания ( см. рис. 5.6) формирует адрес первой индексной ячейки, который поступает в регистр действительного адреса и далее в ОЗУ. Содержимое первой индексной ячейки заносится в регистр команд. В соответствии с поступившей командой значение счетчика команд, увеличенное на единицу, и код команды безусловной передачи управления записывается посредством блока чтения-записи в ячейку Ai3 ОЗУ.  [28]

При использовании относительной адресации для выборки констант обнаруживается существенный недостаток. Следовательно, если в команде хранить не относительные адреса, а сами данные, то можно добиться выигрыша в эффективности. Во-первых, за исключением памяти, необходимой для хранения команды, не нужно дополнительное слово памяти для хранения константы, как в случае относительной адресации, следовательно, экономится память. Во-вторых, исключается операция сложения относительного адреса со значением счетчика команд для обращения к данным, поскольку второе слово команды содержит данные. Данные становятся доступными после выборки второго слова команды. Следовательно, при хранении данных в команде к тому же экономится и время.  [29]

30 Некоторые общие типы объектов исполняющей системы, управляемых менеджером объектов. [30]



Страницы:      1    2    3