Cтраница 1
Индекс сегмента и индекс страницы в логическом адресе, вызывающем особый случай, помещаются в основную память по адресам 145 - 147, а по адресу 144 помещаются нули. При использовании 2048-байтовых страниц значения младших 11 битов адреса непредсказуемы; при использовании 4096-байтовых страниц непредсказуемы 12 младших битов адреса. [1]
Индекс сегмента в поле логического адреса используется для выбора строки таблицы сегментов, указывающей на таблицу страниц, которую следует использовать для получения реального адреса. Чтобы получить адрес строки таблицы сегментов, к содержимому битов 8 - 25 управляющего регистра 1 следует приписать справа шесть нулей и сложить значение индекса сегмента с полученным числом таким образом, чтобы младший бит индекса сегмента располагался в позиции, соответствующей биту 29 адреса таблицы сегментов. [2]
Поле индекса сегмента начинается с бита 8 логического адреса и распространяется до бита 15 включительно при 64К - бай-товом сегменте и до бита 11 при 1М - байтовом сегменте. Поле индекса страницы начинается с бита, следующего за последйим битом индекса сегмента, и распространяется до бита 19 при 4К - байтовой странице и до бита 20 при 2К - байтовой странице. Индекс байтов включает в себя последние 11 или 12 младших битов логического адреса. [3]
Часть логического адреса, содержащая индекс сегмента, ис - пользуется для выбора строки из таблицы сегментов, которая определяет таблицу страниц, участвующую в формировании истинного адреса. Адрес строки в таблице сегментов получается путем присоединения к содержимому битов 8 - 25 управляющего регистра 1 шести младших нулевых битов и прибавления к полученному коду кода индекса сегмента. При этом младший бит кода индекса сегмента располагается на позиции, соответствующей биту 29 адреса таблицы сегментов. [4]
Логический адрес подразделяется соответственно на поле индекса сегмента, поле индекса страницы и поле индекса байта. [5]
Логический адрес подразделяется соответственно на поле индекса сегмента, поле индекса страницы и поле индекса байтов. [6]
Когда этап распределения закончен, начинается этап переопределения строк, на котором сортируются индексы сегментов строк по возрастанию значений младших ключей. На рис. 18.17 отсортированный список индексов содержит 16 сегментов строк. Этот список используется для определения двух новых строк: одна содержит 12 сегментов, другая четыре сегмента. [7]
Поле индекса страницы занимает биты логического адреса, непосредственно следующие за битами поля индекса сегмента, и распространяется до бита 19, если страница содер - жит 4К байтов информации, и до бита 20, если страница со-держит 2К байтов информации. Индекс байта занимает оставшиеся 11 или 12 младших разрядов логического адреса. [8]
Таким образом, процедура преобразования логического адреса в физический состоит в следующем. По индексу сегмента выбирается из таблицы сегментов соответствующая строка. По адресу, содержащемуся в этой строке, и индексу страницы логического адреса выбирается строка из таблицы страниц, из которой в свою очередь выбираются старшие разряды физического адреса. Наконец, к ним приформировывается в качестве младших разрядов индекс байта, взятый без изменения из логического адреса. [9]
Поле индекса сегмента начинается с бита 8 логического адреса и распространяется до бита 15 включительно при 64К - бай-товом сегменте и до бита 11 при 1М - байтовом сегменте. Поле индекса страницы начинается с бита, следующего за последйим битом индекса сегмента, и распространяется до бита 19 при 4К - байтовой странице и до бита 20 при 2К - байтовой странице. Индекс байтов включает в себя последние 11 или 12 младших битов логического адреса. [10]
Длина таблицы сегментов в блоках по 64 байта равна содержимому битов 0 - 7 управляющего регистра 1, увеличенному на единицу. С помощью содержимого поля длины устанавливается, принадлежит ли таблице сегментов строка, определяв мая индексом сегмента логического адреса. [11]
Индекс сегмента в поле логического адреса используется для выбора строки таблицы сегментов, указывающей на таблицу страниц, которую следует использовать для получения реального адреса. Чтобы получить адрес строки таблицы сегментов, к содержимому битов 8 - 25 управляющего регистра 1 следует приписать справа шесть нулей и сложить значение индекса сегмента с полученным числом таким образом, чтобы младший бит индекса сегмента располагался в позиции, соответствующей биту 29 адреса таблицы сегментов. [12]
Часть логического адреса, содержащая индекс сегмента, ис - пользуется для выбора строки из таблицы сегментов, которая определяет таблицу страниц, участвующую в формировании истинного адреса. Адрес строки в таблице сегментов получается путем присоединения к содержимому битов 8 - 25 управляющего регистра 1 шести младших нулевых битов и прибавления к полученному коду кода индекса сегмента. При этом младший бит кода индекса сегмента располагается на позиции, соответствующей биту 29 адреса таблицы сегментов. [13]
Индекс сегмента в поле логического адреса используется для выбора строки таблицы сегментов, указывающей на таблицу страниц, которую следует использовать для получения реального адреса. Чтобы получить адрес строки таблицы сегментов, к содержимому битов 8 - 25 управляющего регистра 1 следует приписать справа шесть нулей и сложить значение индекса сегмента с полученным числом таким образом, чтобы младший бит индекса сегмента располагался в позиции, соответствующей биту 29 адреса таблицы сегментов. [14]
Поля регистра используются следующим образом: Длина таблицы сегментов: содержимое битов 0 - 7 управляющего регистра 1 определяет длину таблицы сегментов в блоках по 64 байта каждый. Следовательно, размер таблицы сегментов может изменяться на целое число, кратное суммарной длине 16 строк такой таблицы. Индекс сегмента служит для выбора строки таблицы сегментов, а содержимое поля длины позволяет проверить, указывает ли индекс сегмента на строку, находящуюся в пределах заданной таблицы сегментов. [15]