Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IBM370

.pdf
Скачиваний:
36
Добавлен:
02.06.2015
Размер:
5.21 Mб
Скачать

?????? RR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+------------------------

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

¦

???

¦

R1

¦

 

R2

¦

 

 

 

 

 

 

 

 

 

¦ ???????? ¦

 

¦

 

 

¦

 

 

 

 

 

 

 

 

 

+------------------------

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

0

 

7

8

11

12

 

15

 

 

 

 

 

 

 

 

 

?????? RX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

¦

???

¦

R1

¦

 

X2

¦

B2

 

¦

D2

¦

 

 

 

 

¦ ???????? ¦

 

¦

 

 

¦

 

 

¦

 

¦

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

0

 

7

8

11

12

 

15

16

19

20

31

 

 

 

 

 

?????? RS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

¦

???

¦

R1

¦

 

R3

¦

B2

 

¦

D2

¦

 

 

 

 

¦ ???????? ¦

 

¦

 

 

¦

 

 

¦

 

¦

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

0

 

7

8

11

12

 

15

16

19

20

31

 

 

 

 

 

?????? SI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

¦

???

¦

 

I2

 

 

¦

B2

 

¦

D2

¦

 

 

 

 

¦ ???????? ¦

 

 

 

 

¦

 

 

¦

 

¦

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

0

 

7

8

 

 

 

15

16

19

20

31

 

 

 

 

 

?????? S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

¦

???

 

????????

 

¦

B2

 

¦

D2

¦

 

 

 

 

¦

 

 

 

 

 

 

¦

 

 

¦

 

¦

 

 

 

 

+----------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

0

 

 

 

 

 

 

15

16

19

20

31

 

 

 

 

 

?????? SS ? ????? ????? ?????

 

 

 

 

 

 

 

 

+--------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

¦

???

¦

 

L

 

 

¦

B1

 

¦

D1

¦

B2

¦

D2

¦

¦ ???????? ¦

 

 

 

 

¦

 

 

¦

 

¦

 

¦

 

¦

+--------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

0

 

7

8

 

 

 

15

16

19

20

31

32

35

36

 

47

21

?????? SS ? ?????

??????

?????

 

 

 

 

 

 

 

 

+

--------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

+

¦

???

¦

 

L1

¦

L2

¦ B1

 

¦

D1

¦

B2

¦

D2

¦

¦ ???????? ¦

 

 

¦

 

¦

 

¦

 

¦

 

¦

 

¦

+

--------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

0

7

8

11

12

15

16

19

20

31

32

35

36

 

47

Рис. 3.1. Шесть основных форматов команд

Первый байт команды (а в формате S первые два ее байта) содержит код операции (КОП).

При выполнении некоторых команд в формате S игнорируется весь второй байт или часть его.

Первые два бита КОП следующим образом определяют длину и формат команды:

Биты (0–1)

Длина команды

Формат команды

00

Одно полуслово

RR

01

Два полуслова

RX

10

Два полуслова

RS/SI/S/RX

11

Три полуслова

SS

При изображении формата команды КОП дается в шестнадцатеричном представлении. В

этом представлении шестнадцатеричная цифра передает четырехбитовый код, а две цифры – восьмибитовый код, или байт. Цифры с 0 до 9 используются для кодов 0000–1001; буквы A–F

(шестнадцатеричные цифры) — для кодов 1010–1111.

Остальные поля при изображении формата команды обозначаются условным кодом, состо-

ящим из буквы или из буквы и цифры. Цифра обозначает операнд, к которому относится поле.

Регистровые операнды

В форматах RR, RX и RS содержимое регистра, указанного полем R1, называется первым операндом. В формате RR поле R2 указывает регистр, содержащий второй операнд; тот же са-

мый регистр может быть указан для первого и второго операндов. В формате RS поле R3 ис-

пользуется в зависимости от кода команды.

Поле R указывает общий регистр в общих командах и регистр с плавающей точкой в коман-

дах с плавающей точкой. В командах ЗАГРУЗКА УПРАВЛЕНИЯ и ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ поле R указывает управляющий регистр.

Если в описании команды отсутствует особое указание, то регистровый операнд имеет дли-

ну регистра (32 бита в случае общего или управляющего регистра и 64 бита в случае регистра с плавающей точкой); второй операнд имеет ту же длину, что и первый.

22

Непосредственные операнды

В формате SI в качестве второго операнда непосредственно используется содержимое восьмибитового поля I2 (поля с непосредственными данными). Поля B1 и D1 определяют пер-

вый операнд длиной 1 байт.

Операнды в памяти

В форматах SI и SS содержимое общих регистров, указанных полем B1, складывается с со-

держимым поля D1, образуя адрес первого операнда. В форматах S, RS и SS содержимое об-

щего регистра, указанного полем B2, складывается с содержимым поля D2, образуя адрес вто-

рого операнда. В формате RX содержимое общих регистров, указанных полями X2 и B2, скла-

дывается с содержимым поля D2, образуя адрес второго операнда.

В формате SS, если заданы два поля длины, L1 обозначает количество байтов операнда,

добавленных справа к байту, имеющему адрес первого операнда. Поэтому длина первого опе-

ранда в байтах равна 1–16 в соответствии с диапазоном двоичных кодов в поле L1 (0–15). Поле

L2 подобным же образом обозначает число дополнительных байтов операнда справа от ячей-

ки, указанной адресом второго операнда. Результаты помещаются на место первого операнда и никогда не записываются вне поля, определенного его адресом и длиной. Если первый опе-

ранд длиннее второго, второй операнд дополняется старшими нулями до длины первого опе-

ранда. Подобное удлинение не вызывает изменения второго операнда в памяти.

В формате SS с единственным восьмибитовым полем длина L обозначает количество до-

полнительных байтов операнда справа от байта, указанного адресом первого операнда. По-

этому длина в байтах первого операнда может составлять 1–256, что соответствует диапазону двоичных кодов в поле L (0–255). При записи в память результаты помещаются на место пер-

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

ключение составляют следующие команды: ОТРЕДАКТИРОВАТЬ, ОТРЕДАКТИРОВАТЬ И ОТМЕТИТЬ, ПЕРЕКОДИРОВАТЬ, ПЕРЕКОДИРОВАТЬ И ПРОВЕРИТЬ.

Формирование адреса

Адрес обращения к основной памяти содержится в регистре, который указан в поле R ко-

манды, или формируется из трех двоичных чисел – базового адреса, индекса и смещения.

Базовый адрес – это 24-битовое число в общем регистре, номер которого задан программой в четырехбитовом поле B команды. Базовый адрес может использоваться как средство незави-

симой адресации каждой области программы или данных. Для массива он может задавать по-

ложение массива, а при обработке записей идентифицировать запись. С помощью базового адреса можно адресовать всю основную память. Базовый адрес может также быть использо-

ван для индексации.

Индекс представляет собой 24-битовое число в общем регистре, который определяется по-

лем X команды. Индекс входит в состав адреса только для команд формата RX. При употреб-

23

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

ресации отдельного элемента внутри массива.

Смещение представляет собой 12-битовое число в поле D команды. Смещение позволяет выполнять относительную адресацию в пределах 4095 байтов, следующих за ячейкой, адрес которой равен базовому адресу. При вычислениях с массивами смещение можно использовать для указаний одного или нескольких компонентов, относящихся к элементу массива. При обра-

ботке записи смещение может служить для идентификации блоков внутри записи.

При формировании адреса базовый адрес и индекс рассматриваются в качестве 24-

битовых положительных двоичных чисел. Аналогично смещение рассматривается в качестве

12-битового положительного двоичного числа, к которому слева приписывается 12 нулей. Все три компонента складываются как 24-битовые двоичные числа, причем переполнение в резуль-

тате игнорируется. Сумма всегда имеет 24 бита. Биты адреса нумеруются числами 8–31 в со-

ответствии с нумерацией битов базового адреса и битов индекса в общем регистре.

Нули в любом из полей X2, B1 и B2 указывают на отсутствие соответствующего компонента адреса. В этом случае при формировании адреса должно быть использовано нулевое значение соответствующего компонента независимо от содержимого общего регистра 0. Использование смещения, равного 0, ничем не отличается от использования смещений, не равных 0.

Вкоманде может быть задан один и тот же общий регистр как для вычисления адреса, так и

вкачестве хранилища операнда. Вычисление адреса осуществляется до выполнения опера-

ции.

Если в определении команды нет иных указаний, вычисленный адрес операнда определяет операнд в основной памяти. Если операнд находится в основной памяти, то адрес указывает его самый левый байт. В командах перехода адрес второго операнда служит адресом, по кото-

рому осуществляется переход, в команда сдвига второй операнд задает величину сдвига.

3.2.Слова состояния программы

Общее назначение слова состояния программы (PSW) – управление последовательностью выборки команд, а также фиксация и индикация состояния технических средств по отношению к выполняемой в настоящий момент программе. PSW, используемое в данный момент времени,

называется текущим. Запоминая текущее PSW во время прерывания, можно сохранить состо-

яние процессора для последующего анализа. Загружая новое PSW или его часть, можно изме-

нить состояние процессора полностью или частично.

3.3.Выполнение команд

Адрес команды в текущем PSW определяет ячейку, из которой производится выборка ко-

манды. Затем адрес команды увеличивается на количество байтов в этой команде, чтобы по-

лучить адрес следующей команды. Данная команда выполняется, и те же действия повторяют-

ся с использованием нового значения адреса команды.

24

Переходы

Обычная последовательность выполнения команд нарушается командами перехода с це-

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

тате анализа информации требуется принять решение.

Обращение к подпрограммам осуществляется командой ПЕРЕХОД С ВОЗВРАТОМ, которая позволяет не только ввести адрес новой команды, но и сохранить адрес возврата и всю необ-

ходимую для возврата информацию.

Принятие решений производится с помощью команды УСЛОВНЫЙ ПЕРЕХОД. Эта команда проверяет двухбитовый признак результата, который отражает результат при выполнении большинства арифметических и логических операций, а также операций ввода-вывода. В зави-

симости от результата выполнения этих операций устанавливается одно из четырех возмож-

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

жает такие случаи, как неравенство результата операции нулю, первый операнд больше второ-

го или не равен ему, переполнение, занятость канала, нулевое значение результата операции.

Однажды установленный признак результата не изменяется до тех пор, пока не встретится ко-

манда, которая установит другое его значение.

Двухбитовый признак результата может иметь четыре значения: 0, 1, 2 и 3. Каждое значе-

ние признака имеет определенный смысл только для операции, в результате выполнения кото-

рой он установлен.

Управление циклом можно осуществить с помощью команды УСЛОВНЫЙ ПЕРЕХОД, ана-

лизируя результаты операций над адресами или производя счет числа повторений. Для неко-

торых часто встречающихся комбинаций арифметических действий и проверок результата предусмотрены команды ПЕРЕХОД ПО СЧЕТЧИКУ и ПЕРЕХОД ПО ИНДЕКСУ. Такие переходы в силу большой специализации в определенных случаях значительно повышают производи-

тельность вычислительной установки.

Прерывания

Система прерываний позволяет изменять состояние процессора при возникновении опре-

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

ния, внешние прерывания, прерывания ввода-вывода, прерывание повторного пуска и преры-

вания от схем контроля.

Каждому классу прерываний соответствуют два PSW, которые называются старым и новым и помещаются в специально отведенных для этой цели ячейках реальной основной памяти.

Прерывание любого класса состоит в запоминании информации, указывающей причину преры-

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

25

Старое PSW хранит всю необходимую информацию о состоянии процессора в момент пре-

рывания. Если в конце программы, получившей управление в результате прерывания, имеется команда, заменяющая текущее PSW на старое, то процессор восстановит состояние, предше-

ствующее прерыванию, и выполнение прерванной программы будет продолжено.

3.4.Порядок обращения в память

С точки зрения логики работы процессор обрабатывает команды по одной, причем выпол-

нение следующей команды не начинается до тех пор, пока не будет выполнена предыдущая команда; после осуществления перехода выполняется команда, указанная адресом перехода.

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

рядком.

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

полняющему данную последовательность операций, выборка последующей команды происхо-

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

смотренных в разделе “Взаимосвязь обращений по логическим и реальным адресам” главы 5.

Полученные результаты будут такими же, как если бы операции выполнялись в концептуаль-

ном порядке. В частности, команда в памяти может быть модифицирована командой, которая непосредственно ей предшествует.

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

идействительный порядки полностью совпадают. Однако в более сложных машинах совмеще-

ние операций, буферизация операндов и результатов, а также сравнимость времени выполне-

ния операций с временем распространения сигналов между блоками технических средств, мо-

гут вызывать значительные расхождения между концептуальным и фактическим порядками. В

таких машинах предусмотрены специальные схемы, выявляющие зависимость между операци-

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

При работе одного процессора можно, как правило, допустить, что выполнение каждой ко-

манды происходит как неделимое событие. Но фактически выполнение команды может распа-

даться на последовательность отдельных шагов. В некоторых командах выборка и запись опе-

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

Когда программа, выполняемая одним процессором, взаимодействует с программой канала или другого процессор, то в этой программе должно учитываться, что одна операция может

26

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

стоять из серии доступов и что концептуальная и действительная последовательности осу-

ществления этих доступов могут отличаться друг от друга. Обращения к памяти, связанные с выполнением команды, бывают следующих типов: выборка команды, выборка из таблиц дина-

мической переадресации, обращение к операндам в памяти и доступ к ключу защиты памяти.

Выборка команды

Выборка команды состоит в том, что по адресу команды, указанному в текущем PSW, про-

изводится выборка одного, двух или трех полуслов. Доступ к полю команды, содержащему непосредственный операнд, выполняется в процессе выборки команды. Если же команда и ее операнд расположены в одной и той же ячейке, то из этой ячейки производится выборка как команды, так и операнда. Выборка подчиненной команды при выполнении команды ВЫПОЛНИТЬ считается выборкой команды.

Байты команды могут подвергаться выборке порознь (группами в различных сочетаниях) и

не обязательно в направлении слева направо. В некоторых случаях при однократном выполне-

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

бытия; для действительного выполнения операции выборка команды может быть в этом случае произведена дополнительно.

Выборка команд не обязательно производится в соответствии с концептуальной последова-

тельностью их выполнения; не обязательно также и то, чтобы выборка команды производилась всякий раз, когда она выполняется. Выборка какой-либо команды, в частности, может предше-

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

Нет никаких ограничений на количество команд, которые могут быть выбраны предвари-

тельно, и на количество копий, которые могут быть сделаны с содержимого одной и той же ячейки памяти. Это может привести к тому, что будет выполнена не самая последняя копия ко-

манды. Запись в память, выполненная каналом или другим процессором, не обязательно из-

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

ды, то учитывается модифицированная информация.

Все копии предварительно выбранных команд сбрасываются в тех случаях, когда процессор переходит в режим переадресации или выходит из этого режима, когда в управляющих реги-

стра 0 и 1 изменяются параметры переадресации (при установленном режиме переадресации),

при временной отмене совмещения, а также когда процессор переходит в состояние “работа”.

27

Замечания по программированию

Далее приводятся примеры влияния предварительной выборки команд на выполнение про-

граммы.

Если программа, выполняемая одним из процессоров, изменяет содержимое некоторой ячейки памяти и затем устанавливает флажок, указывающий на это изменение, то программа,

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

вать изменение не во всех, а только в части битов этой команды.

Когда программа модифицирует содержимое ячейки памяти, используя для этого один ло-

гический адрес, а потом делает выборку из нее по другому логическому адресу, то такая мо-

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

Процессор может осуществить предварительную выборку команды, а затем другой процес-

сор может до выполнения этой команды изменить ключ памяти. В результате может оказаться,

что процессор выполнит команду из защищенной области памяти.

Выборка из таблиц динамической переадресации

При выборке из таблиц динамической переадресации (DAT) соблюдаются следующие пра-

вила:

1. Строки таблицы могут быть предварительно выбраны в буфер быстрой переадресации

(TLB), и, если не выполнена команда ОЧИСТКА TLB, их можно использовать без повторной вы-

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

2. Выборка строк таблицы DAT из основной памяти может производиться порциями – по од-

ному байту за выборку. Однако в промежутках между этими выборками ни один процессор не может выполнить запись операнда в ту же ячейку.

3. Выборка строки таблицы DAT может производиться при каждом использовании адреса, в

частности при предварительном тестировании, если оно выполняется, а также при каждом об-

ращении к каждому байту каждого операнда.

4. Выборка строки таблицы DAT может производиться даже после того, как выполнены не-

которые обращения к операндам текущей команды. Эта выборка может произойти непосред-

ственно перед фактическим обращением к байту, при котором используется строка таблицы

DAT.

5. Выборка строки таблицы страниц предшествует обращению к странице. Когда строка таблицы страниц из неактивной становится активной, ее выборке предшествует выборка соот-

ветствующей строки таблицы сегментов.

28

При обработке второго операнда команды ЗАГРУЗКА РЕАЛЬНОГО АДРЕСА выборка строки таблицы сегментов предшествует выборке строки таблицы страниц. Выборка этих строк осу-

ществляется в соответствии с приведенным выше правилом 2. Эти выборки сочетаются с дру-

гими обращениями, как и выборки операндов из памяти.

Доступ к ключу памяти

Обращение к ключу памяти подчиняется следующим правилам.

1.Каждый раз, когда производится обращение к основной памяти, при котором действует защита, одновременно с обращением к ячейке памяти проверяются 5 битов, связанных с этой ячейкой и служащих для управления доступом.

2.Когда выполняется запись, то одновременно с операцией записи в соответствующем ключе памяти устанавливается бит изменения.

3.Команда УСТАНОВИТЬ КЛЮЧ ПАМЯТИ вызывает одновременную установку в ключе па-

мяти бита изменения и 5 битов для управления доступом. При выполнении команды УСТАНОВИТЬ КЛЮЧ ПАМЯТИ доступ к ключу памяти осуществляется согласно правилам, ко-

торые действуют при обращении к операндам памяти для записи, и является обращением с одноразовым доступом.

4. Команда ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ позволяет получить образ поля, состоящего из 5

битов, служащих для управления доступом, и бита изменения. Доступ к ключу памяти по ко-

манде ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ осуществляется согласно правилам, которые действуют при обращении к операндам, хранящимся в памяти, с целью их выборки, и является обраще-

нием с одноразовым доступом.

5. При выполнении команды СБРОСИТЬ БИТ ОБРАЩЕНИЯ не изменяются никакие биты ключа памяти, кроме бита обращения. Доступ к ключу памяти осуществляется по правилам,

которые действуют при обращении к операндам, хранящимся в памяти, с целью их модифика-

ции. Бит обращения является единственным модифицируемым битом.

Учет обращений с помощью бита обращения не всегда бывает полным, и правила установ-

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

Обращение к операндам, хранящимся в памяти

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

ек основной памяти, которые указаны командой.

В процессе выполнения команды производится полная или частичная выборка ее операн-

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

а окончательные результаты могут быть временно задержаны до помещения их в основную память. Запись, выполняемая каналами или другими процессорами, не всегда влияет на эти промежуточные результаты. Различаются три типа обращения к операндам, находящимся в

29

памяти: обращения к памяти для выборки, обращения к памяти для записи и обращения к па-

мяти для модификации.

Обращение к памяти для выборки операнда

Когда байты операнда, находящегося в памяти, участвуют в выполнении команды только в качестве источника информации, обращение к ним называется обращением к памяти для вы-

борки операнда. Если в описании команды указано, что при ее выполнении возможен особый случай при выборке, то это означает, что при реализации этой команды происходит обращение для выборки.

Если к байту осуществляется обращение для выборки, то доступ ко всем битам этого байта производится одновременно. Если операнд состоит более чем из одного байта, выборка из ос-

новной памяти может производиться порциями – по одному байту за выборку. Если нет специ-

альных указаний, то выборка байтов может идти в произвольном порядке. Для некоторых ко-

манд указано, что при обращении к операнду, находящемуся в памяти, осуществляется едино-

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

гого процессора.

Обращение к памяти для записи операнда

Когда байты операнда, хранящегося в памяти, участвуют в выполнении команды только по-

стольку, поскольку их заменяет результат ее выполнения, обращение к ним называется обра-

щением к памяти для записи операнда. Если в описании команды указано, что при ее выполне-

нии возможен особый случай при записи, то это означает, что при выполнении этой команды происходит обращение для записи.

Если к байту производится обращение для записи, то доступ ко всем битам этого байта осуществляется одновременно. Если операнд состоит более чем из одного байта, запись его в основную память может осуществляться порциями по одному байту при каждой записи. Если нет специальных указаний, запись байтов в память может идти в произвольном порядке. Для некоторых команд указано, что при обращении к памяти осуществляется единовременная в пределах блока запись байтов операнда. В этом случае в промежутках между записью байтов,

входящих в блок, не допускается записи или выборки со стороны другого процессора.

Процессор может задержать запись результатов в основную память. При этом время за-

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

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

До тех пор пока процессор не запишет в ячейку реальной основной памяти всю информа-

цию, предназначенную для этой ячейки, выборка операндов или строк таблицы DAT из этой

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]