Информатика и вычислительная техника. Принципы управления памятью вычислительной системы. Виртуальная память и преобразование адресов

  • 21.07.2019

ОРГАНИЗАЦИЯ ПАМЯТИ В ВЫЧИСЛИТЕЛЬНЫХ МАШИНАХ

Назначение, основные параметры и

Классификация видов памяти

Устройства памяти (запоминающие устройства) ВМ предназначены для записи, хранения и считывания информации, представленной в цифровой форме /2,3/. Устройства памяти, как и процессоры, оперируют с двумя видами информации – программами и данными, поэтому характеристики памяти во многом определяют производительность и функциональные возможности ВМ.

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

Основными параметрами, характеризующими устройства памяти, являются информационная емкость (объем), быстродействие, энергопотребление и стоимость /2,5,8/.

Информационная емкость (объем) устройства памяти определяется максимальным количеством хранимой информации и измеряется в байтах, Кбайтах, Мбайтах, Гбайтах и Тбайтах.

1 Кбайт = 2 10 байт; 1Мбайт = 2 20 байт; 1Гбайт = 2 30 байт и 1Тбайт = 2 40 байт.

Быстродействие памяти характеризуется следующими основными параметрами:

временем выборки (доступа) t В, определяемым временным интервалом между моментами подачи сигнала выборки (начала цикла чтения) и получением считанных данных на выходе памяти;

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

В общем случае цикл обращения состоит из фазы выборки (доступа) и фазы регенерации (восстановления) памяти, поэтому t Ц > t В.

Быстродействие памяти можно также характеризовать скоростью передачи записываемых или считываемых данных и измерять в Мбайтах/сек.

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

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

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

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

По физическому принципу работы память классифицируется на электронную, магнитную, оптическую, магнитно – оптическую.

Электронная память выполняется на полупроводниковых элементах и реализуется в виде БИС. Электронная память разделяется на статическую и динамическую.

В БИС статической памяти в качестве элементарных ячеек памяти применяются статические триггеры на биполярных или полевых транзисторах. Как известно, число устойчивых состояний триггера равно двум, что позволяет использовать его для хранения единицы информации – бита. Ячейки памяти для хранения байт и слов используют соответственно 8 и 16 триггеров.

В БИС динамической памяти в качестве элементарных ячеек памяти применяются электрические конденсаторы. Наличие заряда соответствует хранению логической «1», отсутствие заряда – хранению логического «0». В качестве запоминающих конденсаторов используются либо межэлектродные емкости МОП транзисторов, либо специально созданные в кристалле БИС МОП конденсаторы. Фрагмент структурной схемы динамической памяти, содержащий две ячейки 1 и 2, изображен на рис.6.1.

Каждая элементарная ячейка памяти содержит запоминающий МОП конденсатор С (десятые доли пФ) и транзисторный ключ Т, подключающий этот конденсатор к шине данных. Затвор транзисторного МОП – ключа соединен с соответствующим выходом дешифратора адреса. При выборе ячейки ключ Т открывается и подключает конденсатор С к шине данных. Далее, в зависимости от вида команды: запись (WR) или чтение (RD) - через соответствующий усилитель производится запись входных данных (DI) или чтение выходных данных (DO).

Динамическая память по сравнению со статической существенно проще, дешевле и обеспечивает очень высокую степень интеграции, т.е. более высокую удельную емкость. Но по сравнению со статической динамическая память обладает меньшим быстродействием и требует периодической регенерации (восстановления) информации в элементарных ячейках. Другими словами, необходимо периодически восстанавливать заряд на запоминающих конденсаторах С, которые с течением времени саморазряжаются, т.е. «теряют» информацию. Для этого через каждые несколько миллисекунд (mсек) производятчтение информации из ячеек памяти и затем повторную запись информации, что позволяет восстанавливать заряд на запоминающих конденсаторах C. Необходимость организации периодических циклов регенерации (Refresh Cycles) несколько усложняет управление динамической памятью.

Для типовых модулей электронной памяти время выборки t В составляет единицы – десятки наносекунд (nсек ), а информационная емкость – десятки – сотни Мбайт.

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

Магнитная память основана на наличии у ряда магнитных материалов (например, окиси железа) двух устойчивых состояний остаточного намагничивания противоположного знака. Такие магнитные материалы характеризуются прямоугольной петлей гистерезиса B = f(H) , и из них выполняется рабочий магнитный слой, наносимый на поверхность различных подвижных носителей – магнитных дисков. Для записи и чтения информации используются магнитные головки, представляющие собой миниатюрные катушки индуктивности, намотанные на магнитном сердечнике с зазором. При записи магнитная головка намагничивает участок магнитного слоя, проходящий под рабочим зазором, в направлении, определяемом направлением протекающего тока. При считывании намагниченные участки поверхности проходят около индуктивной головки считывания и наводят в ней импульсы э.д.с. Устройства памяти, использующие этот принцип, имеют очень низкую удельную стоимость хранения информации, являются энергонезависимыми, но, являясь электромеханическими, по быстродействию, надежности и энергопотреблению существенно уступают электронной памяти. Для НЖМД скорость передачи данных достигает десятков Мбайт/сек, а информационная емкость – сотен Гбайт.



В оптической памяти для хранения информации используется изменение оптических свойств (в основном, степени отражения) поверхности носителя. Оптический носитель выполняется в виде диска (Compact Disk - CD), отражающий слой (металлическое напыление) которого покрыт слоем органического красителя. При записи луч лазера модулируется потоком записываемых бит и в определенных местах дорожки выжигает ямки в слое красителя. За счет разницы коэффициента отражения ямок и невыжженных участков поверхности при считывании возникает модуляция яркости отраженного луча, которая кодирует считываемую с CD информацию. Производятся различные типы оптических CD дисков: CD-ROM (Read Only Memory) – позволяющие только считывать записанную матричным способом информацию, CD-R (Recordable) – допускающие хотя бы однократную запись на диск и многократное считывание, CD-RW (ReWritable) – позволяющие многократную перезапись на диск (и конечно же, считывание). Оптические диски дешевы и имеют значительную (до одного Гбайта) информационную емкость, являются энергонезависимыми и легко сменяемыми, но по быстродействию, надежности и энергопотреблению, как и магнитные диски, существенно уступают электронной памяти.

По функциональному назначению устройства памяти можно классифицировать на сверхоперативные запоминающие устройства (СОЗУ), оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и внешние запоминающие устройства (ВЗУ).

ОЗУ предназначено для хранения программ (системных, прикладных) и данных, непосредственно используемых ЦП в текущее время. Длительности циклов чтения и записи для оперативной памяти, как правило, одинаковы. Обычно в качестве ОЗУ применяется динамическая память объемом до единиц Гбайт в зависимости от назначения и области применения МС.

СОЗУ или кэш-память (Cache Memory) – это небольшого объема быстродействующая память, у которой длительность цикла обращения t Ц. меньше длительности машинного цикла процессора. Поэтому при обращении к кэш-памяти не требуется вводить такты ожидания процессора в машинные циклы обращения к памяти. Кэш-память является буферной памятью между ОЗУ и ЦП и выполняется на базе статической памяти. Кэш хранит копии блоков (страниц) программ и данных тех областей ОЗУ, к которым происходили последние обращения, а также каталог – список их текущего соответствия областям ОЗУ. При каждом обращении к оперативной памяти контроллер кэш-памяти по каталогу проверяет, есть ли действительная копия затребованного блока (страницы) в кэш. Если копия там есть, то это случай кэш-попадания , и обращение за данными или кодом происходит только к кэш-памяти. Если действительной копии там нет, то это случай кэш-промаха , и в кэш записывается требуемый блок (страница) из ОЗУ, причем запись производится на место предварительно удаленного из кэш в ОЗУ наименее актуального блока (страницы), т.е. блока информации, число обращений к которому было наименьшим. За счет присущих программам и данным таких фундаментальных свойств, как пространственная и временная локальности /2,7,13/ число кэш-попаданий во много раз превышает число кэш-промахов даже при небольших (единицы – десятки Кбайт) объемах кэш памяти. Поэтому использование кэш-памяти значительно повышает производительность ВМ. Обычно кэш реализуется по трехуровневой схеме: первичный кэш (L1 Cache), объемом десятки Кбайт, и вторичный кэш (L2 Cache), объемом сотни Кбайт, размещается в кристалле МП, кэш третьего уровня (L3 Cache), единицы Мбайт устанавливают на системной плате или в корпусе МП.

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

ВЗУ предназначены для энергонезависимого хранения больших объемов определенным образом структурированной информации: файлов, баз данных, архивов. Характерной особенностью внешней памяти является то, что ее устройства оперируют блоками информации, а не байтами или словами, как это позволяет оперативная память. Кроме того, процессор может осуществлять доступ к ВЗУ только через оперативную память. В качестве ВЗУ обычно используется дисковые (НЖМД, CD) накопители, позволяющие хранить сотни Гбайт информации.

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

Способ организации памяти определяется методом размещения и поиска информации в ЗУ. По этому признаку различают адресную, ассоциативную и стековую организацию памяти.

В адресной памяти для обращения к ячейкам памяти используются их адреса , под которыми понимаются коды номеров ячеек памяти. Адресная организация памяти позволяет обращаться к ячейкам памяти по их адресам в произвольном порядке, причем длительность цикла обращения является одинаковой для всех ячеек независимо от адреса. Поэтому для названия такой память также используется термин «запоминающие устройства с произвольной выборкой (ЗУПВ)» или RAM (Random Access Memory). Адресную организацию памяти имеют, например, ОЗУ и ПЗУ.

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

Если ячейка с заданной комбинацией нулей и единиц находится, АЗУ формирует положительный ответ с указанием адреса найденной ячейки. Далее адрес передается в дешифратор адреса, и все содержимое такой ячейки можно считать или записать в нее новое содержимое. В противном случае АЗУ формирует отрицательный ответ на запрос.

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

Стековая память (Stack), так же как и ассоциативная является безадресной. Стек можно рассматривать как совокупность ячеек, образующих одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. В этой памяти запись и чтение производятся по правилу «последнее записанное считывается первым» или «Last Input First Output (LIFO)». Поэтому стек называют «магазинной» памятью с обратным порядком считывания. Обычно стек организуют в оперативной памяти. Количество слов в стеке определяется регистром-указателем стека SP, а запись в стек и чтение из него производится соответственно командами PUSH и POP. Широкое применение стековая память находит, как уже было рассмотрено выше, при обработке прерываний и вызове подпрограмм.

Наряду со стековой памятью большое распространение получила «магазинная» память с прямым порядком считывания, т.е. «первое записанное считывается первым» или «First Input First Output (FIFO)». Эта память называется буферной и, как и стек, организуется в ОЗУ.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1. Принципы обмена информацией между иерархическими уровнями подсистемы памяти.

2. Основные функции и основные подсистемы вычислительной системы.

3. Принцип действия ассоциативной кэш-памяти.

4. Реализация прерываний от периферийных устройств, подключенных через последовательный интерфейс.

5. Что такое кольца защиты?

6. Что такое сегментация оперативной памяти?

7. Основные особенности видеоданных. Матричное и графическое представление видеоинформации.

8. Что такое файл? Различия между файлом и каталогом.

9. Основные стадии конвейера современных процессоров.

10. Что такое переименование регистров?

Вопрос № 1. Принципы обмена информацией между иерархическими уровнями подсистемы памяти

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

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

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

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss). Попадание - есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне. Доля попаданий (hit rate) или коэффициент попаданий (hit ratio) есть доля обращений, найденных на более высоком уровне. Иногда она представляется процентами. Доля промахов (miss rate) есть доля обращений, которые не найдены на более высоком уровне.

Поскольку повышение производительности является главной причиной появления иерархии памяти, частота попаданий и промахов является важной характеристикой. Время обращения при попадании (hit time) есть время обращения к более высокому уровню иерархии, которое включает в себя, в частности, и время, необходимое для определения того, является ли обращение попаданием или промахом. Потери на промах (miss penalty) есть время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор). Потери на промах далее включают в себя две компоненты: время доступа (access time) - время обращения к первому слову блока при промахе, и время пересылки (transfer time) - дополнительное время для пересылки оставшихся слов блока. Время доступа связано с задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между устройствами памяти двух смежных уровней.

Вопрос № 2. Основные функции и основные подсистемы вычислительной системы

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

Основные функции:

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

* Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

* Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

* Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

* Обеспечение пользовательского интерфейса.

* Сетевые операции, поддержка стека сетевых протоколов.

Дополнительные функции:

* Параллельное или псевдопараллельное выполнение задач (многозадачность).

* Эффективное распределение ресурсов вычислительной системы между процессами.

* Разграничение доступа различных процессов к ресурсам.

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

Вопрос № 3. Принцип действия ассоциативной кэш-памяти

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

Особо отметим, что при таком запросе возможен один из трех результатов:

1. имеется в точности одна строка с заданным тегом;

2. имеется несколько строк с заданным тегом;

3. нет ни одной строки с заданным тегом.

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

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

Если следующие выборки возможны из этого участка, они будут сделаны уже из КЭШа (быстро) - "КЭШ-попадание". Если же окажется, что нужного элемента в КЭШе нет, - "КЭШ-промахом". В этом случае обращение происходит к ОЗУ (медленно), и при этом одновременно заполняется очередная КЭШ-строка.

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

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

Если произошел КЭШ-промах, а в КЭШе нет свободных строк, необходимо заменить одну строку КЭШа на другую строку.

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

Вопрос № 4. Реализация прерываний от периферийных устройств, подключенных через последовательный интерфейс

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

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

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

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

Прерывание (англ. interrupt) -- сигнал, сообщающий процессору о совершении какого-либо асинхронного события. При этом выполнение текущей последовательности команд приостанавливается, и управление переда?тся обработчику прерывания, который выполняет работу по обработке события и возвращает управление в прерванный код. Виды прерываний: Аппаратные (англ. IRQ - Interrupt Request) -- события от периферийных устройств (например, нажатия клавиш клавиатуры, движение мыши, сигнал от таймера, сетевой карты или дискового накопителя) -- внешние прерывания, или события в микропроцессоре -- (например, деление на ноль) -- внутренние прерывания; Программные -- инициируются выполняемой программой, т.е. уже синхронно, а не асинхронно. Программные прерывания могут служить для вызова сервисов операционной системы.

Прерывания требуют приостановки выполнения текущего потока инструкций (с сохранением состояния) и запуска исполнения процедуры-обработчика прерывания ISR (Interrupt Service Routine). Эта процедура первым делом должна идентифицировать источник прерывания (а их может быть и несколько), затем выполнить действия, связанные с реакцией на событие. Если события должны вызывать некоторые действия прикладной программы, то обработчику прерывания следует только подать сигнал (через ОС), запускающий (или пробуждающий) поток инструкций, выполняющий эти действия. Собственно процедура ISR должна быть оптимизирована по затраченному времени. Обслуживание прерываний, особенно в защищенном режиме, в PC-совместимых компьютерах на процессорах x86 связано со значительными накладными расходами. По этой причине их число стараются сократить. Значительные хлопоты доставляет идентификация источника прерывания -- в архитектуре PC-совместимых компьютеров для этого используются традиционные, но неэффективные механизмы. В ряде случаев прерывания от устройств заменяют поллингом -- программно-управляемым опросом состояния устройств. При этом состояния множества устройств опрашивают по прерыванию от таймера.

Вопрос № 5. Что такое кольца защиты?

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

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

Оригинальная система Multics имела 8 колец защиты, но многие современные системы имеют как правило меньше. Процессор всегда знает в каком кольце исполняется код, благодаря специальным машинным регистрам.

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

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

Вопрос № 6. Что такое сегментация оперативной памяти?

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

Как уже указывалось, в системе с сегментацией каждый адрес представляет пару : s - имя сегмента и d - смещение. Каждой программе соответствует всегда присутствующая в памяти таблица сегментов, в которой каждому сегменту данного процесса соответствует одна запись. С помощью этой таблицы система отображает программные адреса в истинные адреса ОП. Адрес таблицы хранится в аппаратном регистре, называемом регистром таблицы сегментов.

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

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

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

Вопрос № 7. Основные особенности видеоданных. Матричное и графическое представление видеоинформации

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

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

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

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

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

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

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

Простота масштабирования изображения без ухудшения его качества;

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

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

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

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

Вопрос № 8. Что такое файл? Различия между файлом и каталогом

вычислительный память оперативный видеоданные

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

Фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);

Определённое логическое представление и соответствующие ему операции чтения/записи.

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

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

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

Вопрос № 9. Основные стадии конвейера современных процессоров

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

Выполнение команды состоит из ряда этапов:

1) чтение команды из памяти,

2) определение длины,

3) определение адреса ячейки памяти, если она используется,

4) выполнение команды,

5) сохранение результата.

В ранних процессорах все эти этапы над каждой командой проводились полностью. Конвейер позволил ускорить процесс: после того, как команда проходила один из этапов и переходила на следующий, начиналась обработка следующей команды. Это решение появилось в последних 486-х (например, в AMD 5х86-133). В Pentium впервые появился двойной конвейер. Команды смогли выполняться параллельно (кроме плавающей арифметики и команд перехода). Это позволило повысить производительность примерно на 30-35%.

Вопрос № 10. Что такое переименование регистров?

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

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

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

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

Источники

Интернет-ресурс - http://www.chinapads.ru/

Рязанцев О.І., Недзельський Д.О., Гусєва С.В. Архітектурна та структурна організація обчислювальних систем. Навчальний посібник. - Луганськ: Вид-во. СНУ ім. В.Даля, 2008.

Интернет-ресурс - http://studopedia.net/

Интернет-ресурс - http://proc.ucoz.ru/load/ustrojstvo_processora/1-1-0-2

Э.Танненбаум. Архитектура компьютера, 4-изд. СПб. Питер 2006.

Интернет-ресурс - http://193.108.240.69/moodle/file.php/5/navch_pos_OS.doc

Интернет-ресурс - http://znanija.com/task/1788585

Размещено на Allbest.ru

Подобные документы

    Классификация компьютерной памяти. Использование оперативной, статической и динамической оперативной памяти. Принцип работы DDR SDRAM. Форматирование магнитных дисков. Основная проблема синхронизации. Теория вычислительных процессов. Адресация памяти.

    курсовая работа , добавлен 28.05.2016

    История появления и развития оперативной памяти. Общая характеристика наиболее популярных современных видов оперативной памяти - SRAM и DRAM. Память с изменением фазового состояния (PRAM). Тиристорная память с произвольным доступом, ее специфика.

    курсовая работа , добавлен 21.11.2014

    Простейшая схема взаимодействия оперативной памяти с ЦП. Устройство и принципы функционирования оперативной памяти. Эволюция динамической памяти. Модуль памяти EDO-DRAM BEDO (Burst EDO) - пакетная EDO RAM. Модуль памяти SDRAM, DDR SDRAM, SDRAM II.

    реферат , добавлен 13.12.2009

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

    презентация , добавлен 18.03.2012

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

    презентация , добавлен 12.01.2009

    Хранение различной информации как основное назначение памяти. Характеристика видов памяти. Память типа SRAM и DRAM. Кэш-память или сверхоперативная память, ее специфика и области применения. Последние новинки разработок в области в оперативной памяти.

    презентация , добавлен 01.12.2014

    Обобщение основных видов и назначения оперативной памяти компьютера. Энергозависимая и энергонезависимая память. SRAM и DRAM. Триггеры, динамическое ОЗУ и его модификации. Кэш-память. Постоянное запоминающее устройство. Флэш-память. Виды внешней памяти.

    курсовая работа , добавлен 17.06.2013

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

    курсовая работа , добавлен 02.12.2009

    Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

    курсовая работа , добавлен 05.12.2012

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

Основная память

Основная память - это запоминающее устройство, напрямую связанное с процессором и предназначенное для хранения выполняемых программ и данных непосредственно участвующих в операциях. Она имеет достаточное быстродействие, но ограниченный объем. Основная память делится на различные виды, основными из которых являются оперативная память (ОЗУ) и постоянное запоминающее устройство (ПЗУ) (рис.1).

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

ОЗУ служит для приема, хранения и выдачи информации. Именно в нем процессор «берет» программы и исходные данные для обработки, в нее он записывает полученные результаты. Название «оперативная» это память получила потому, что она работает очень быстро, так что процессору практически не приходится ждать при чтении данных из памяти и записи в память. Однако содержащие в ней данные сохраняются только пока компьютер включен. При выключении компьютера содержимое оперативной памяти стирается. Таким образом ОЗУ - энергозависимая память.

Рис. 1. Основные виды основной памяти

Часто для оперативной памяти используют обозначение RAM (random access memory, т.е. память с произвольным доступом). Под произвольным доступом понимают возможность непосредственного доступа к любой (произвольной) заданной ячейки памяти, причем время доступа для любой ячейки одинаково.

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

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

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

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

Для ускорения доступа к оперативной памяти на быстродействующих компьютерах используется стабильная сверхбыстродействующая КЭШ-память, которая располагается, как бы «между» микропроцессором и оперативной памятью и хранит копии наиболее часто используемых участков оперативной памяти. При обращении микропроцессора к памяти сначала производится поиск нужных данных из КЭШ-памяти. Поскольку время доступа к КЭШ-памяти в несколько раз меньше, чем к обычной памяти, а в большинстве случаев необходимые микропроцессору данные уже хранятся в КЭШ-памяти, среднее время доступа к памяти уменьшается. КЭШ-память реализуется на микросхеме SRAM (статическая ОП).

Для компьютеров на основе Intel-386DX или 80386SX размер КЭШ-памяти в 64 Кбайт является удовлетворительным, а 128 Кбайт вполне достаточным. Компьютеры на основе Intel-80486DX, DX2, DX4 и Pentium обычно оснащаются КЭШ-памятью емкостью 256 Кбайт.

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

В микропроцессоре Pentium Pro КЭШ-память второго уровня содержится в едином корпусе с самим процессором (можно сказать она встроена в микропроцессор).

Не обязательно иметь всю память, информация в которой должна меняться. Часть наиболее важной информации лучше постоянно хранить в памяти компьютера. Эту память называют постоянной. Данные в постоянную память занесены при ее изготовлении. Как правило, эти данные не могут быть изменены, выполняемые на компьютере программы могут только их считывать. Такой вид памяти обычно называют ROM (read only mеmory, или память только для чтения), или ПЗУ (постоянное запоминающее устройство).

В IBM PC - совместимом компьютере в постоянное памяти хранятся программы для проверки оборудования, компьютера, инициирования загрузки операционной системы (ОС) и выполнения базовых функций по обслуживанию устройств компьютера. Поскольку большая часть этих программ связана с обслуживанием ввода-вывода, часто содержимое постоянной памяти называется BIOS (Basic Input - output System, или базовая система ввода -вывода).

Во многих компьютерах устанавливается BIOS на основе ФЛЕШ-памяти. Такая память может быть изменена программами, что позволяет обновлять BIOS с помощью специальных программ, без замены материнской платы или микросхемы BIOS.

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

Емкость ФЛЕШ-памяти от 32 Кбайт до 2 Мбайт, время доступа по считыванию 0,06 мкс, время записи одного байта примерно 10 мкс; ФЛЕШ-память - энергонезависимое ЗУ.

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

Таким образом, емкость основной памяти состоит из миллионов отдельных ячеек памяти емкостью 1 байт каждая. Общая емкость основной памяти современных ПК обычно лежит в пределах от 1 до 4 Гбайт. Емкость ОЗУ на один два порядка превышает емкость ПЗУ: ПЗУ занимает на новых системных платах до 2 Мбайт), остальное объем ОЗУ.

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

1. Память в ЭВМ имеет многоуровневую организацию.

2.Память классифицируется по способу доступа к данным.

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

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

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

3. По способу хранения.

Статические

Динамические

Постоянные

Флэш память

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

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

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

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

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

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

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



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

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

Для уменьшения влияния циклов регенерации на производительность памяти стали использовать различные методы. Это, во-первых, использование модульной технологии построения ЗУ с организацией банков и чередованием адресов, то есть с размещением данных с четными и нечетными адресами в разных модулях(микросхемах) памяти к которым возможно одновременное обращение в цикле памяти, таким образом совмещая выборку данных в одном модуле с циклом регенерации в другом, при отсутствии режима пакетной выборки то есть одновременной выборки данных по четному и нечетному адресу.

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

Что касается архитектуры самих ЗУ, которые предназначены для хранения,

записи и считывания данных можно отметить следующее.

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

Увеличение емкости памяти

Увеличение быстродействия

Повышение надежности хранения и снижение энергоемкости памяти.

Если системная память современных 32х разрядных компьютеров,имеющих адресную шину обращения к памяти в 32 разряда, дает возможность наращивать свою емкость до 4ГБТ, то для ЭВМ 2и 3 поколений, имеющих ферритовую память, емкость даже суперкомпьютеров того времени исчислялась только десятками и сотнями кбт Так емкость памяти БЭСМ6 отечественного суперкомпьютера в свое время составляла около768кбт,даже не доходя до мегабайтной границы.

Скачок в объеме оперативной памяти произошел с введением полупроводниковой технологии при изготовлении запоминающих устройств памяти,благодаря которой емкость оперативной памяти перешагнула мегабайтный рубеж. Одной из первых ЭВМ, которая имела такую память была IBM7030 в1961году.Размер ее памяти составлял 2МГБТ. Конструкторские наработки в этой машине были использованы позже в известных сериях машин IBM360 и IBM370. Эти машины, имеющие адресные шины обращения к памяти в 24 разряда имели возможность наращивания объемов своих памятей до16 МГБТ. С внедрением 32х разрядной шины в таких ЭВМ как ESA370, IBM4381 память хоть и не перешла гигабайтную границу, но имела возможность наращивания от 16 до64мгбт.

Современные мейнфреймы Zархитектуры такие,например, как Z9BC имеют возможность наращивания до 64ГБТ,имея 64 разрядную шину, а ЭВМZ10 даже до 1,5ТРБТ.

Что же касается наших отечественных ЭВМ объем оперативной памяти машин ЕС Ряд 3(ЕС1046,ЕС1066) достиг 8Мгбт, машин которым суждено было закончить свой исторический путь развития на этом этапе.

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

Следующей одной из основных характеристик физической организации памяти является время выборки данных,которое составляло для ЭВМ 2ого поколения, имеющих память на магнитных сердечниках, 10-12мкск. И только с внедрением полупроводниковой памяти время выборки данных сократилось на порядок и стало от 1,5 до0,5мкск.

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

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

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

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

Реальная память стала разбиваться на физические страницы, размеры которых соответствовали размеру виртуальных страниц.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поэтапный механизм преобразования логического адреса в физический(при разбиении старшей части логического адреса на две части) происходит в следующем порядке:

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

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

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

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

И так в соответствии с вышеописанным алгоритмом аппаратными средствами поддержки преобразования логических адресов в физические являются:

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

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

3. Сумматор для выполнения операций сложения адресной арифметики.

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

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

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

Следует отметить, что идеология сегментации виртуальной памяти в вычислительных системах трактуется по- разному. Например, этап сегментации в процессе преобразования логических адресов в физические в системах фирмы IBM(IBM360,IBM370,сервера Zархитектуры) неотделим от этапа страничного преобразования, являясь предшествующим этапом перед этапом преобразования страниц также как в системахINTEL, он управляется только старшей частью адресов логического адреса, средняя часть адреса и младшая группа адресов участвует только при страничном преобразовании. Тем самым осуществляя неразделимую логическую связь между этапами, разбивая виртуальную память вначале на сегменты- области большого размера а потом сегменты на страницы.

В серверах Zархитектуры размер виртуального адреса был увеличен до64 разрядов, что дало возможность адресовать виртуальную память объемом до 16 эксабайт. Что же касается многомерности логической памяти в этих серверах, то аппаратная часть их дает возможность иметь до4х типов виртуальных независимых друг от друга адресных пространств с количеством пространств в двух из них по 64К и в двух оставшихся по 16 со своими табличными преобразованиями для каждого типа, которые используются для построения виртуальных логических образований- логических партиций,в каждой из которых функционирует своя операционная система. Каждый тип виртуальных адресов, связан с типом своей виртуальной памятью подвержен одному и тому же механизму преобразования со своими наборами таблиц. Следовательно, следуя понятиям и терминологии, рассмотренными выше, память в этих серверах можно считать набором из 4х типов одномерных виртуальных памятей с пятиэтапным преобразованием,имеющими пять видов областей: страница, сегмент, регион1, регион2, регион3.

Схема преобразования виртуальных адресов в серверах Zархитектуры

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

1. Вычислительные системы с общей памятью (shared memory) – Мультипроцессоры:

i. PVP (CrayT90)

ii. SMP(Intel SHV, SunFire, Dec8400 и т.д.)

i. COMA (KSR-1, DDM)

ii. CC-NUMA (Stanford Dash, Data General и т.д.)

iii. NCC-NUMA (Crag T3E)

2. Вычислительные системы с распределенной памятью (distributed memory) – Мультикомпьютеры:

ii. MPP – слабосвязанные системы (Intel TFLOPS)

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

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

Рассмотрим модели архитектур памяти ВС, которые будут верны как для класса множественный поток данных MIMD, так и для SIMD:

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

Mp – общая память

Pi – процессор

Общая шина

Особенности: в каждый момент времени обмен по шине, может вести только один из процессоров. Производительность падает с увеличением количества процессоров. Чаще всего от 4 до 8 процессоров в системе, максимальная производительность = 2. Систему нельзя отнести к отказоустойчивым, так как отказ одного модуля памяти или процессора может привести к отказу всей системы.

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

NUMA – неоднородный доступ к памяти. Здесь различают несколько классов. Используется единое адресное пространство, но каждый процессор имеет локальную память (как правило, кэш). Доступ к ЛП осуществляется гораздо быстрее, чем доступ к удаленной памяти через сеть или коммутатор.


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



Главный недостаток: очень сложное управление, ОС не участвует в процессе управления (все задачи возлагаются на аппаратуру).

CC-NUMA – модель кэш-когерентного доступа к неоднородной памяти. Используется не кэш, а обычная физически распределенная память. Не требуется какого-либо программного обеспечения для сохранения множества обновленных данных. С этим справляется аппаратный уровень.

NCC-NUMA – модель предполагает использование единого адресного пространства, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление возлагается на ПО, это считается недостатком, но модель наиболее перспективная с точки зрения повышения производительности.

Мультикомпьютеры – блоки, из которых строится система, представляют собой с процессором и памятью.

NORMA – архитектура без прямого доступа к удаленной памяти.


P – процессор

M – локальная память

K0 и K1 – контроллер ввода/вывода

Блоки – процессорные элементы. Из них собирают системы.

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

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



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

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