Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 213

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

На рис. 11-11, а приведен наиболее простой случай, когда запрашиваемая страница указана в ассоциатив­ ных регистрах. Состояния разрядов занятости и исполь­ зования в этом случае не имеют значения; адресный ре­ гистр загружается в пашем примере номером физичес­ кой страницы из третьего ассоциативного регистра. Рассмотрим далее другую ситуацию (рис. 11-11,6). Сравнение виртуального адреса и ассоциативной памяти показало, что требуемые сведения в регистрах отсут­ ствуют. В этом случае выполняется процедура обраще­ ния к страничной таблице, в результате которой в адрес­ ный регистр заносится из памяти номер физической страницы. Прежде чем обратиться к памяти по только что найденному адресу, необходимо записать в какой-ли­ бо из ассоциативных регистров сведения о данной стра­ нице. Для выбора регистра просматриваются значения

600


 

 

Номер

 

 

 

Номер

Виртуаль-

 

 

 

програмВиртуальный

програм-

 

 

 

 

 

м ы

адрес

 

м ы

ный

адрес

Разряд заня­

 

 

 

N

Р г

 

N

р

г

 

 

 

 

тости

 

 

 

.

 

у

Разряд исполь

 

 

 

 

 

 

 

 

'ь-

----------------^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J L

 

задания

 

 

'пало

просмо7пр\

\ п

з

Boßoct—I 'у- —

 

 

f .Провер,г p/fCL

страна,- - щ - , Разряд

л а,

. —

содр.

 

 

 

собпаде­

----------

 

использо-

 

 

Разряд за

 

 

 

ной. mag*■ ѵ

 

 

 

 

 

ния

лицы

 

/ бания

I

 

 

 

нятости

 

 

 

памяти

 

 

I

 

2*М+р

 

Р{р,Ы)

 

2aN+p

РРр,А/)

%

)/ста-

 

5>V

 

 

 

 

нодка

 

 

 

 

«йк

 

 

 

разряда

 

 

X

 

 

 

 

занятости

І | |

 

 

 

 

 

 

 

А г

 

 

j

 

 

 

 

 

 

ІЙ *

 

 

 

!

р

 

 

 

 

 

 

г *

 

 

а)

4S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6)

É V

 

 

 

 

 

 

 

Р/Р,Н)

 

 

 

 

 

 

 

 

 

 

 

 

 

Р/р,П)

 

 

 

 

 

 

 

Адресный регистр

 

 

Адресный регистр

 

 

 

Номер

 

п а м я т и

 

 

 

памяти

 

 

 

програм-

В иртуальный

 

 

 

 

 

 

 

Адресный регистр п а м я т и

Рис. 11-11. Пример организации работы ассоциативной памяти стра­ ничных таблиц.

601


разрядов занятости. В нашем примере только два ассо­ циативных регистра заняты (состояние 1 разряда заня­ тости) .

Выбирается свободный регистр с наименьшим номе­ ром и в него передается найденная пара чисел: 2aN-\-p и Р(р, N)\ разряд занятости данного регистра устанав­ ливается в состояние 1. Старое содержимое регистра те­ ряется.

На рис. l l - l l , ß изображена ситуация, когда все ас­ социативные регистры заняты. В этом случае просматри­ ваются разряды использования и находится регистр с наименьшим номером, у которого разряд использова­ ния установлен в состояние 0. В этот регистр заносится новая информация и его разряд использования устанав­ ливается в состояние 1. Установка разряда использова­ ния производится также и при прямом использовании данного регистра (без обращения к страничной табли­ це). Если все разряды использования оказались в состо­ янии 1, то они автоматически сбрасываются и учет ис­ пользования возобновляется сначала.

Сегментная организация памяти. До сих пор пред­ полагалось, что виртуальная память, которой располага­ ет программист, представляет собой непрерывный мас­ сив с единой нумерацией слов. Однако программа обыч­ но состоит из нескольких отдельных массивов: главной ветви, некоторого числа подпрограмм, одной или не­ скольких секций данных. Так как заранее длина этих массивов неизвестна, то удобно, чтобы при программиро­ вании каждый массив имел свою собственную нумера­ цию слов, начинающуюся с нуля и продолжающуюся в возрастающем порядке. Желательно также, чтобы со­ ставленная таким образом программа могла работать при динамическом распределении памяти, не требуя от программиста усилий по объединению различных ее ча­ стей в единый массив. Эта задача решается в некоторых вычислительных системах путем использования особого метода преобразования виртуальных адресов в истин­ ные, называемого сегментной организацией памяти.

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

602


Н 6 / &
с т р а н

Возникает определенная иерархия в организации программ, состоящая из четырех ступеней: 1) програм­ ма, 2) сегмент, 3) страница, 4) слово. Этой иерархии программ соответствует иерархия таблиц, служащих для перевода виртуальных адресов в физические. Система

Программная таблица

//аѵ ал о

//о м ер а с е гм е н т­ програм м ной

'паолицб/

С е гм е н т н а я т а б л и ц а

П амира

Р а чалв

сегм ен -

стр ан и ч ­

т о б

ной

т аб л и щ /

 

б тр а н и ч н а н т а б л и ц а

//ом ер а //о м ер а SupmuaHi- ф иоиѵ е-

сниас н а с т р а н н а

С егм ен тн ая

т а б л и ц а

С егм ен тн ая т а б л и ц а

Н омера

 

Н ачало

Н омера

N a Vало

стран и ч ­

стран и ѵ -

сегм ен -

 

ной

сегм ен -

ной

т о б

 

т о б

таб л и ц м

тао л и ц м

б т р а н а ч н а н

т а б л и ц а

С трани чная

т а б л и ц а

//ом ера

 

//ом ера

//ом ера

//ом ера

^и ртуал и

 

фиоиѵ е-

#иртуалб-

фиоиѵ е-

Н 6 / Х

 

СННйV

Н 6 / Х

снное

с т р а н н а

с т р а н н а

с т р а н н а

стр ан и ц

Н ам ятг

Рис. 11-12. Таблицы перевода адресов при сегментной организации памяти.

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

603


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

адрес

Рис. 11-13. Процедура преобразования адресов при сегмент­ ной организации памяти.

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

Рассмотрим теперь на примере машины IBM 360, мо­

дель 67, процедуру перевода адресов для системы с сег­ ментной организацией памяти (рис. 11-13). Пусть имеет­

604

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

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

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

11-5. М Н О Г О М А Ш И Н Н Ы Е И М Н О Г О П Р О Ц Е С С О Р Н Ы Е В Ы Ч И С Л И Т Е Л Ь Н Ы Е С И С Т Е М Ы

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

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

На практике часто в ответственных случаях, когда предъявляются особо строгие требования к надежности и достоверности функционирования вычислительной си­ стемы, используют дуплексные вычислительные системы, образованные из двух одинаковых ЦВМ, снабженных средствами автоматического контроля правильности

функционирования (см. гл. 12) и средствами обмена ин­

605