Подсистема памяти современных компьютеров





Скачать 490.93 Kb.
НазваниеПодсистема памяти современных компьютеров
страница5/6
Дата публикации13.03.2015
Размер490.93 Kb.
ТипРеферат
100-bal.ru > Банк > Реферат
1   2   3   4   5   6

Виртуальная память и организация защиты памяти



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

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

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

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

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

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

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

Для увеличения эффективности такого типа схем в процессорах используется специальная полностью ассоциативная кэш-память, которая также называется буфером преобразования адресов (TLB translation-lookaside buffer). Хотя наличие TLB не меняет принципа построения схемы страничной организации, с точки зрения защиты памяти, необходимо предусмотреть возможность очистки его при переключении с одной программы на другую.

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

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

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

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

Обычно в подобных системах обмен информацией между пользователями строится на базе сегментов. Поэтому сегменты являются отдельными логическими единицами информации, которые необходимо защищать, и именно на этом уровне вводятся различные режимы доступа к сегментам. Можно выделить два основных типа сегментов: программные сегменты и сегменты данных (сегменты стека являются частным случаем сегментов данных). Поскольку общие программы должны обладать свойством повторной входимости, то из программных сегментов допускается только выборка команд и чтение констант. Запись в программные сегменты может рассматриваться как незаконная и запрещаться системой. Выборка команд из сегментов данных также может считаться незаконной и любой сегмент данных может быть защищен от обращений по записи или по чтению.

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

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

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

Таблицы сегментов различных пользователей операционная система хранит в основной памяти. Для определения расположения таблицы сегментов выполняющейся программы используется специальный регистр защиты, который загружается операционной системой перед началом ее выполнения. Этот регистр содержит дескриптор таблицы сегментов (базу и границу), причем база содержит адрес начала таблицы сегментов выполняющейся программы, а граница - длину этой таблицы сегментов. Разряды номера сегмента виртуального адреса используются в качестве индекса для поиска в таблице сегментов. Таким образом, наличие базово-граничных пар в дескрипторе таблицы сегментов и элементах таблицы сегментов предотвращает возможность обращения программы пользователя к таблицам сегментов и страниц, с которыми она не связана. Наличие в элементах таблицы сегментов индикаторов режима доступа позволяет осуществить необходимый режим доступа к сегменту со стороны данной программы. Для повышения эффективности схемы используется ассоциативная кэш-память.
Терминология
access cycle - цикл обращения - последовательность (иногда ее длительность) операций устройства памяти между двумя последовательными актами чтения либо записи. Включает в себя, в частности, все операции, связанные с указанием адреса информации.
access time - время доступа (иногда ошибочно именуется скоростью) - время, необходимое на полный цикл обращения к информации, хранящейся по случайному адресу в чипе или модуле. Нужно иметь в виду, что в реальных условиях обращение чаще всего происходит не по случайному адресу, что позволяет использовать сокращенный цикл.
bank – банк. Группа модулей памяти одинаковой емкости, которые должны быть установлены одновременно, чтобы система могла работать. Количество модулей равняется отношению ширины системной шины к ширине шины модуля (умноженному на коэффициент interleave). Некоторые компьютеры способны работать с неполным банком памяти, но ценой значительного падения быстродействия.
bus - шина. Совокупность линий ввода-вывода, по которым информация передается одновременно. Ширина и частота шины естественным образом влияет на пропускную способность. Под главной, или системной шиной понимается шина между процессором и подсистемой памяти.
cache – кэш. Буфер обмена между медленным устройством хранения данных и более быстрым. Принцип его действия основан на том, что простой более быстрого устройства сильно влияет на суммарную производительность, а также - что с наибольшей вероятностью запрашиваются данные, сохраненные сравнительно недавно. Поэтому между устройствами помещают небольшой (по сравнению со всеми хранимыми данными) буфер быстрой памяти, что позволяет снизить потери быстрого устройства как на записи, так и на чтении

CAS (Column Access Strobe) - регистр обращения к столбцу. Сигнал, поданный на линию CAS чипа, означает, что через адресные линии вводится адрес столбца.
chipset - чипсет, набор микросхем материнской платы, реализующих архитектуру компьютера. Как правило, контроллер памяти входит в состав чипсета, поэтому зная, какой именно чипсет применен в компьютере, можно сделать выводы о применяемой памяти.
DDR (Double Data Rate) = SDRAM II
DIMM (Dual In-Line Memory Module) - наиболее современная разновидность форм-фактора модулей памяти. Отличается от SIMM тем, что контакты с двух сторон модуля независимы (dual), что позволяет увеличить соотношение ширины шины к геометрическим размерам модуля. Наиболее распространены 168-контактные DIMM (ширина шины 64 бит), устанавливаемые в разъем вертикально и фиксируемые защелками. В портативных устройствах широко применяются SO DIMM.
DIP (Dual In-line Package) - микросхемы с двумя рядами контактов, расположенными вдоль длинных сторон чипа и загнутых "вниз". Чрезвычайно распространенная упаковка во времена "до" модулей памяти.
DRAM (Dynamic RAM) - динамическая память - разновидность RAM, единичная ячейка которой представляет собой конденсатор с диодной конструкцией. Наличие или отсутствие заряда конденсатора соответствует единице или нулю. Основной вид, применяемый для оперативной памяти, видеопамяти, а также различных буферов и кэшей более медленных устройств. По сравнению со SRAM заметно более дешевая, хотя и более медленная по двум причинам - емкость заряжается не мгновенно, и, кроме того, имеет ток утечки, что делает необходимой периодическую подзарядку.
DRAM module - модуль памяти - устройство, представляющее собой печатную плату с контактами, на которой расположены чипы памяти (иногда заключенное в корпус), и представляющее собой единую логическую схему. Помимо чипов памяти может содержать и другие микросхемы, в том числе шунтирующие резисторы и конденсаторы, буферы, logic parity и т.п.
ECC (Error Checking and Correction) - выявление и исправление ошибок (возможны другие дешифровки того же смысла) - алгоритм, пришедший на смену "контролю четности". В отличие от последнего каждый бит входит более чем в одну контрольную сумму, что позволяет в случае возникновения ошибки в одном бите восстановить адрес ошибки и исправить ее. Как правило, ошибки в двух битах также детектируются, хотя и не исправляются. ECC поддерживают практически все современные серверы, а также некоторые чипсеты "общего назначения". Надо отметить, что ECC не является панацеей от дефективной памяти и применяется для исправления случайных ошибок.
EDO (Extended Data Out) - разновидность асинхронной DRAM, очень широко применявшаяся в последние 2 года. Представляет собой дальнейшее развитие метода fast page по "конвейерной" схеме - линии ввода-вывода остаются какое-то время открытыми для чтения данных в процессе обращения к следующему адресу, что позволяет организовать цикл доступа более оптимально.
fast page - дословно быстрый страничный (режим). Очень старая схема оптимизации работы памяти, которая основана на предположении, что доступ, как правило, осуществляется по последовательным адресам. Позволяет наряду с обычным циклом (RAS, затем CAS), использовать сокращенный, при котором RAS фиксирован, и соответственно его зарядка не требует времени. На сегодняшний день fast page - наиболее медленная из реально применяемых организаций памяти, однако еще сравнительно недавно это был единственный выбор для систем с контролем четности.
1   2   3   4   5   6

Похожие:

Подсистема памяти современных компьютеров iconПодсистема памяти современных компьютеров
Озу на уровне 256 Мбайт–1 Гбайт. В этом же пространстве располагается и постоянная память — пзу, или rom (Read Only Memory), которая...
Подсистема памяти современных компьютеров iconСистемы счисления компьютеров логические основы построения компьютеров

Подсистема памяти современных компьютеров icon1. Поднятие библиотечной деятельности на уровень современных требований...
Дни памяти, патриотические часы, музыкально-поэтические композиции, вечера песни, уроки памяти, часы солдатского письма, вечера-встречи,...
Подсистема памяти современных компьютеров iconСборник статей памяти академика
Внедрение в учебный процесс современных педагогических технологий и средств обучения
Подсистема памяти современных компьютеров iconПрограмма по формированию навыков безопасного поведения на дорогах...
Основные цели: Познакомить учащихся 6-7-х классов с основными событиями, открытиями, изобретениями, связанными с развитием компьютеров...
Подсистема памяти современных компьютеров iconЛитература диск
В учреждении имеется компьютерный класс, в котором установлены 15 компьютеров, подключенные к сети Интернет. Всего в учреждении используется...
Подсистема памяти современных компьютеров icon«Цифровые устройства обработки информации: цифровая видеокамера»
К сегодняшнему уроку вы подготовили сообщения о цифровых видеокамерах – устройствах, которое намного расширяет возможности современных...
Подсистема памяти современных компьютеров iconРеферат по дисциплине
При простых последовательных обращениях к основной памяти ячейки выбираются поочередно. Таким образом, расслоение памяти позволяет...
Подсистема памяти современных компьютеров iconРеферат по дисциплине Операционные Системы
При простых последовательных обращениях к основной памяти ячейки выбираются поочередно. Таким образом, расслоение памяти позволяет...
Подсистема памяти современных компьютеров iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цели урока: образовательные – познакомить учащихся с различными устройствами памяти компьютера, рассмотреть особенности внутренней...
Подсистема памяти современных компьютеров iconУрок 10 Тема: Виды памяти компьютера
Цель: ознакомить учащихся с видами памяти в компьютере, сформировать представление о различиях внутренней и внешней памяти компьютера,...
Подсистема памяти современных компьютеров icon«Работа с текстом в редакторе Word»
Разумеется, эти документы можно подготовить и без персонального компьютера, например на пишущей машинке. Однако с появлением персональных...
Подсистема памяти современных компьютеров iconФинансовый университет при правительстве российской федерации
Отличительные особенности этих компьютеров – высокая вычислительная мощность, простота установки и настройки. Однако в последние...
Подсистема памяти современных компьютеров iconТемы вашего учебного проекта
Наряду с автономной работой значительное повышение эффективности использования компьютеров может быть достигнуто объединением их...
Подсистема памяти современных компьютеров iconОбработки информации и управления реферат «Основные понятия курса Операционные Системы»
При простых последовательных обращениях к основной памяти ячейки выбираются поочередно. Таким образом, расслоение памяти позволяет...
Подсистема памяти современных компьютеров iconУрока: комбинированный урок с использованием современных средств икт цели
Развитие кругозора, познавательного интереса, совершенствование навыков самоанализа и самоконтроля, развитие мыслительных операций...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск