ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 629
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g– номер сегмента, а s– смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номе- ру g, и смещения s.
Недостатком данного метода распределения памяти является фраг- ментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
Странично-сегментное распределение
Как видно из названия, данный метод представляет собой комби- нацию страничного и сегментного распределения памяти и, вслед- ствие этого, сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент, в свою очередь, делится на виртуальные страницы, которые нумеруются в пре- делах сегмента. Оперативная память делится на физические страницы. Загрузка процесса выполняется операционной системой постранично, при этом часть страниц размещается в оперативной памяти, а часть на диске. Для каждого сегмента создаётся своя таблица страниц, структура которой полностью совпадает со структурой таблицы страниц, исполь- зуемой при страничном распределении.
Для каждого процесса создаётся таблица сегментов, в которой ука- зываются адреса таблиц страниц для всех сегментов данного процесса. Начальный адрес таблицы сегментов загружается в специальный ре- гистр процессора, когда активизируется соответствующий процесс.
Виртуальный адрес при странично-сегментном распределении со- стоит из трёх частей (g, p, s), где g – номер сегмента, p – номер вирту- альной страницы процесса, s – смещение в пределах виртуальной стра- ницы. Трансляция виртуального адреса в физический с использованием таблиц сегментов и страниц начинается (рис. 4.17) с того, что на осно- вании начального адреса таблицы сегментов (содержимое регистра ад-
реса таблицы сегментов), номера сегмента (старшие разряды виртуаль- ного адреса) определяется базовый адрес соответствующей таблицы страниц для данного сегмента. А дальше происходит всё то же самое, что при страничном распределении. По найденному базовому адресу таблицы страниц, номеру виртуальной страницы p из таблицы страниц извлекается старшая часть физического адреса страницы (n), к которой присоединяется смещение s (младшая часть).
Процесс преобразования адресов посредством таблиц является до- статочно длительным и, естественно, приводит к снижению производи- тельности системы. С целью ускорения этого процесса используется специальная, полностью ассоциативная кэш-память (рис. 4.17), которая называется буфером преобразования адресов TLB (translation lookaside buffer).
Виртуальный адрес (g, p, s)
Физический адрес
Рис. 4.17. Механизм преобразования адресов для странично-сегментной организации памяти с использованием TLB
Виртуальный адрес страницы VAi, составленный из полей g и p, пе- редаётся в TLB в качестве поискового признака (тега). Он сравнивается с тегами (VA) всех ячеек TLB, и при совпадении из найденной ячейки выбирается физический адрес страницы n, позволяющий сформировать полный физический адрес элемента данных, находящегося в ОП. Если совпадение не произошло, то трансляция адресов осуществляется обыч- ными методами через таблицы сегментов и страниц. Эффективность преобразования адресов с использованием TLB зависит от коэффициен- та «попадания» в кэш-памяти, т.е. от того, насколько редко приходится обращаться к табличным методам трансляции адресов. Учитывая прин- цип локальности программ и данных, можно сказать, что при первом обращении к странице, расположенной в ОП, физический адрес опреде- ляется
с помощью таблиц и загружается в соответствующую ячейку TLB. Последующие обращения к странице выполняются с использова- нием TLB.
-
Методы ускорения процессов обмена между ОП и ВЗУ
Эффективная скорость обмена между оперативным и внешним уровнями памяти в значительной степени определяется затратами на поиск секторов или блоков в накопителе ВЗУ. Для уменьшения влияния затрат времени поиска информации на скорость обмена используют традиционные методы буферизации и распараллеливания. Метод бу- феризации заключается в использовании так называемой дисковой кэш- памяти. Дисковый кэш уменьшает среднее время обращения к диску. Это достигается за счёт того, что копии данных, находящихся в диско- вой памяти, заносятся в полупроводниковую память. Когда необходи- мые данные оказываются находящимися в кэше, время обращения значи- тельно сокращается. За счет исключения задержек, связанных с позицио- нированием головок, время обращения может быть уменьшено в 2–10 раз.
Дисковый кэш может быть реализован программно или аппаратно.
Программный дисковый кэш – это буферная область в ОП, пред- назначенная для хранения считываемой с диска информации. При по- ступлении запроса на считывание информации с диска вначале произ- водится поиск запрашиваемой информации в программном кэше.
При наличии в кэше требуемой информации она передаётся в про- цессор. Если она отсутствует, то осуществляется поиск информации на диске. Считанный с диска информационный блок заносится в буферную область ОП (программный дисковый кэш). Программа, управляющая дисковой кэш-памятью, осуществляет также слежение и за работой дис- ка. Весьма хорошую производительность показывают программы Smart Drv, Ncache и Super PC-Kwik. Иногда для программного кэша использу-
ется дополнительная или расширенная память компьютера.
Аппаратный дисковый кэш – это встроенный в контроллер диска кэш-буфер с ассоциативным принципом адресации информационных блоков. По запросу на считывание информации вначале производится поиск запрашиваемого блока в кэше. Если блок находится в кэше, то он передаётся в ОП. В противном случае информационный блок считыва- ется с диска и заносится в кэш для дальнейшего использования. При по- ступлении запроса на запись информационный блок из ОП заносится вначале в дисковый кэш и лишь затем (после выполнения соответству- ющих операций по поиску сектора) – на диск, при этом обычно копия блока в дисковом кэше сохраняется. Запись информационного блока из ОП в кэш производится на место блока, копия которого сохранена на диске. Для управления процессами копирования вводятся специальные указатели, которые определяют, сохранена ли данная копия на диске,
к какому информационному блоку обращение производилось ранее других и т.п. Копирование блока на диск производится по завершении операции поиска и не связано непосредственно с моментом поступле- ния запроса.
Второй способ, позволяющий уменьшить снижение эффективной скорости обмена, вызванное операциями поиска на диске, связан с ис- пользованием нескольких накопителей на диске. Все информацион- ные блоки распределяются по нескольким накопителям, причём так, чтобы суммарная интенсивность запросов по всем накопителям была одинаковой, а запросы по возможности чередовались. Если известны интенсивности запросов к каждому информационному блоку, то можно ранжировать эти блоки, а если при этом известны и логические связи между блоками, то связанные блоки с примерно одинаковыми интен- сивностями запросов должны размещаться в разных накопителях. Это позволяет совместить операции обмена между ОП и одним из накопи- телей с
операциями поиска очередного блока в других накопителях.
- 1 ... 68 69 70 71 72 73 74 75 76