совокупность технических устройств и процессов, обеспечивающих запись, хранение и воспроизведение информации в ЭВМ. Память — основная часть любой вычислительной системы или отдельной вычислительной машины, она реализуется аппаратурно — в виде комплекса взаимосвязанных запоминающих устройств (См. Запоминающее устройство) (ЗУ) — и программными средствами. Максимальное количество информации, которое может храниться в П. ЭВМ (ёмкость), определяется суммарной ёмкостью всех ЗУ, а быстродействие П. ЭВМ зависит как от быстродействия отдельных ЗУ, так и от принципов их организации в единую систему памяти и способов обмена информацией внутри этой системы. С увеличением ёмкости П. ЭВМ её быстродействие, как правило, снижается за счёт возрастания времени, необходимого для поиска нужной информации в больших массивах, а также вследствие увеличения времени пробега импульсов по электрическим цепям.
Память современной ЭВМ строится в виде многоступенчатой иерархической системы, что обеспечивает экономически оправданное удовлетворение противоречивых требований — большой ёмкости и высокого быстродействия. В иерархию П. ЭВМ обычно входят: внешняя память очень большой ёмкости (сотни миллионов слов), в которой массивы информации хранятся на магнитных лентах (См. Магнитная лента); ещё одна ступень внешней памяти, меньшей ёмкости и более высокого быстродействия, — на магнитных барабанах (См. Магнитный барабан) и магнитных дисках (См. Магнитный диск); внутренняя, или оперативная, память, которая в ЭВМ 3-го поколения чаще называется главной памятью, с ёмкостью до сотен тыс. и млн. слов и циклом обращения от десятых долей до нескольких мксек (быстродействие оперативной памяти, входящей в состав Процессора, должно быть соизмеримо с быстродействием последнего, так как выполнение любой арифметической или логической операции связано с извлечением информации из оперативной памяти и записью туда полученных результатов); сверхоперативная память, объединяющая наиболее часто используемые ячейки оперативной памяти и имеющая ёмкость в несколько десятков или сотен слов и цикл обращения от сотых до десятых долей мксек; регистры — ЗУ ёмкостью в одно слово в различных блоках процессора; постоянная память (долговременная, односторонняя) для хранения табличных данных, коэффициентов, подпрограмм (См. Подпрограмма) и микропрограмм (См. Микропрограмма); буферная память как промежуточное звено при обмене между ЗУ различных уровней П. ЭВМ.
Существенное ускорение вычислительного процесса за счёт уменьшения числа обращений к главной памяти может быть достигнуто использованием так называемой магазинной (гнездовой, стековой) памяти, представляющей собой набор отдельных словарных регистров, одноимённые разряды которых соединены между собой цепями сдвига. Применение магазинной памяти приводит также к уменьшению места, отводимого в главной памяти для хранения программ, и позволяет избегать запоминания содержимого регистров в главной памяти при переходе к подпрограммам или при прерывании данной программы внешними сигналами.
Учитывая, что все современные высокопроизводительные ЭВМ работают в режиме мультипрограммирования (См. Мультипрограммирование), при котором в них реализуется выполнение нескольких программ одновременно, исключительную важность приобретает вопрос организации обмена информацией между внешней и оперативной памятью. В системах с простым обменом в оперативной памяти в каждый данный момент времени размещается только одна программа или часть её, в системах с распределением оперативной памяти в последней может находиться одновременно несколько целевых программ или их частей. При этом не надо производить обмен каждый раз, когда обработка целевой программы заканчивается, так как др. целевые программы или их части уже находятся в П. ЭВМ и готовы к обработке.
Распределением П. ЭВМ называется процесс размещения информации (блоков данных или команд) в ЗУ различных уровней для наиболее эффективного использования всей ёмкости П. ЭВМ, рациональной организации вычислительного процесса и сокращения времени решения задачи. Статическое распределение П. ЭВМ производится программистом при анализе задачи и составлении программы, то есть до начала решения задачи. Однако это существенно затрудняет работу программиста, который в процессе программирования должен всё время следить, где на данном этапе находится нужная информация, какие запоминающие ячейки и поля П. ЭВМ заняты или свободны и т. д. При работе в режиме мультипрограммирования статическое распределение П. ЭВМ оказывается практически нереализуемым, так как программист не может заранее предусмотреть всех возможных ситуаций, возникающих при решении одновременно нескольких задач. Поэтому распределение П. ЭВМ должно выполняться в самой ЭВМ автоматически в процессе исполнения программ. Такой метод называется динамическим распределением П. ЭВМ. При этом во избежание случайного вторжения программой одной задачи в области П. ЭВМ, занятые информацией, относящейся к другой задаче, предусматривается Защита памяти, благодаря которой при попытке обращения к запрещенным блокам П. ЭВМ происходит автоматическое прерывание программы. При динамическом распределении П. ЭВМ внутренний обмен информацией между оперативной и внешней памятью удаётся организовать так, что пользователь (программист) как бы имеет в своём распоряжении одну оперативную память очень большой ёмкости, ограниченной только разрядностью адреса в команде. На самом деле эта память — виртуальная (кажущаяся), так как в любой данный момент времени только небольшая часть информации, содержащейся в виртуальной памяти, физически находится в оперативном ЗУ.
Для нахождения информации в массиве П. ЭВМ применяют методы адресного (по номеру ячейки П. ЭВМ) и ассоциативного (по содержанию самой информации) поисков. Различают следующие виды адресации: неявную (подразумеваемый адрес), когда в команде не указывается адрес операнда (адрес подразумевается в коде операции команды); непосредственную, когда в команде содержится не адрес операнда, а сам операнд; прямую, при которой исполнительный адрес содержится в самой команде; относительную, при которой адрес формируется суммированием адресной части команды с содержанием так называемого базового регистра; косвенную, когда в команде указывается адрес (номер) ячейки ЗУ, в которой, в свою очередь, содержится адрес операнда. Ассоциативный поиск осуществляется в ассоциативных запоминающих устройствах (См. Ассоциативное запоминающее устройство). Дальнейшим развитием последних являются многофункциональные ЗУ, в которых реализуются не только функции сравнения, как в простых ассоциативных ЗУ, но и некоторые функции логической и арифметической обработки информации.
Лит.: Ассоциативные запоминающие устройства, под ред. Л. П. Крайзмера, Л., 1967; Крайзмер Л. П., Устройства хранения дискретной информации, 2 изд., Л., 1969; Крайзмер Л. П., Матюхин С. А., Майоркин С. Г., Память кибернетических систем (Основы мнемологии), М., 1971; Балашов Е. П., Кноль А. И., Многофункциональные запоминающие устройства, Л., 1972; Каган Б. М., Каневский М. М., Цифровые вычислительные машины и системы, 2 изд., М., 1973.
А. В. Гусев, Л. П. Крайзмер.
Большая советская энциклопедия. — М.: Советская энциклопедия.
1969—1978.
Организация памяти в ЭВМ
ЭВМ, реализованная по классической
фон-неймановской архитектуре, включает в себя:
• процессор, содержащий арифметико-логическое устройство (АЛУ) и центральное
устройство управления (ЦУУ);
• память, которая в современных ЭВМ подразделяется на оперативную (ОП или ОЗУ)
и сверхоперативную (СОЗУ);
• внешние устройства, к которым относят внешнюю память
(ВЗУ) и устройства ввода/вывода (УВВ).
В этой главе рассмотрим организацию устройств памяти. Принципы взаимодействия
других устройств ЭВМ с процессором рассмотрены в разд. 6.3.
Концепция многоуровневой
памяти
Известно, что память ЭВМ предназначена для хранения программ и данных, причем
эффективность работы ЭВМ во многом определяется характеристиками ее памяти. Во
все времена к памяти предъявлялись три основных требования: большой объем,
высокое быстродействие и
низкая (умеренная) стоимость.
Все перечисленные выше требования к памяти являются взаимно-противоречивыми,
поэтому пока невозможно реализовать один тип ЗУ, отвечающий всем названным
требованиям. В современных ЭВМ организуют комплекс разнотипных ЗУ,
взаимодействующих между собой и обеспечивающих приемлемые характеристики памяти
ЭВМ для каждого конкретного применения. В основе большинства ЭВМ лежит
трехуровневая организация памяти: сверхоперативная (СОЗУ) — оперативная (ОЗУ) —
внешняя (ВЗУ). СОЗУ и ОЗУ могут непосредственно взаимодействовать с
процессором, ВЗУ взаимодействует только с ОЗУ.
СОЗУ обладает максимальным быстродействием (равным процессорному), небольшим
объемом (105 — 107 байтов)
и располагается, как правило, на кристалле процессорной БИС. Для обращения к
СОЗУ не требуются магистральные (машинные) циклы. В СОЗУ размещаются наиболее
часто используемые на данном участке программы данные, а иногда — и фрагменты
программы.
Быстродействие ОЗУ может быть ниже процессорного (не более чем на порядок), а
объем составляет 105 — 107 байтов.
В ОЗУ располагаются подлежащие выполнению программы и обрабатываемые данные.
Связь между процессором и ОЗУ осуществляется по системному или
специализированному интерфейсу и требует для своего осуществления машинных
циклов.
Информация, находящаяся в ВЗУ, не может быть непосредственно использована
процессором. Для использования программ и данных, расположенных в ВЗУ, их
необходимо предварительно переписать в ОЗУ. Процесс обмена информацией между
ВЗУ и ОЗУ осуществляется средствами специального канала или (реже) —
непосредственно под управлением процессора. Объем ВЗУ практически неограничен,
а быстродействие на 3 — 6 порядков ниже процессорного.
Схематически взаимодействие между процессором и уровнями памяти представлено на
рис.
Следует
помнить, что положение ЗУ в иерархии памяти ЭВМ определяется не элементной
базой запоминающих ячеек (известны случаи реализации ВЗУ на БИС —
«электронный диск» и, наоборот, организация оперативной памяти на
электромеханических ЗУ — магнитных барабанах), а возможностью доступа
процессора к данным, расположенным в этом ЗУ.
При организации памяти современных ЭВМ (МПС) особое внимание уделяется
сверхоперативной памяти и принципам обмена информацией между ОЗУ и ВЗУ.
Сверхоперативная память
Применение СОЗУ в
иерархической памяти ЭВМ может
обеспечить повышение производительности ЭВМ за счет снижения среднего времени
обращения к памяти Т при
условии, что время цикла СОЗУ Тс будет
(значительно) меньше времени цикла ОЗУ Т~.
Очевидно:
где рc — вероятности
обращения к СОЗУ. Обозначим
так же: рo — вероятности
обращения к ОЗУ.
Из рис. следует, что повышение производительности ЭВМ может осуществляться
двумя путями:
уменьшением отношения —
увеличением вероятности рc обращения
в СОЗУ.
Первый путь связан, прежде всего, с технологическими особенностями производства
БИС и здесь не рассматривается.
Если считать, что информация размещается в СОЗУ
и ОЗУ случайным образом, то вероятности рc и рo пропорциональны объемам соответствующих ЗУ. В этом
случае рc <
рo и наличие в ЭВМ
СОЗУ практически не влияет на ее производительность.
То же можно было бы сказать и о ситуации,
когда отношение =1; но
не следует забывать, что наличие в ЭВМ СОЗУ
с прямой адресацией (POH) позволяет включать в систему команд короткие команды,
использовать косвенно-регистровую адресацию и, в конечном итоге, увеличивать
производительность ЭВМ даже при Тс = Тo.
Итак, для эффективного применения СОЗУ следует
таким образом распределять информацию по уровням памяти ЭВМ, чтобы
в СОЗУ всегда
располагались наиболее часто используемые в данный момент коды.
Принято различать СОЗУ по
способу доступа к хранимой в нем информации. Известны два основных класса СОЗУ по
этому признаку:
• с прямым доступом;
• с ассоциативным доступом.
СОЗУ с прямым доступом
СОЗУ с прямым доступом (POH
— регистры общего назначения) получило широкое распространение в большинстве
современных ЭВМ. Фактически РОН — это небольшая регистровая намять, доступ к которой
осуществляется специальными командами. Стратегия размещения данных в РОН
целиком определяется программистом (компилятором). Обычно в РОН размещают
многократно используемые адреса (базы, индексы), счетчики циклов, данные
активного фрагмента задачи, что повышает вероятность обращения в ячейки РОН по
сравнению с ячейками ОЗУ.
СОЗУ с ассоциативным
доступом
Применение СОЗУ с ассоциативным доступом позволяет
автоматизировать процесс размещения данных в СОЗУ, обеспечивая
«подмену» активных в данный момент ячеек ОЗУ ячейками СОЗУ.
Эффективность такого подхода существенно зависит от выбранной стратегии замены
информации в СОЗУ, причем использование ассоциативного СОЗУ имеет смысл только
при условии Тc <<T0.
Принцип ассоциативного доступа состоит в следующем. Накопитель ассоциативного
запоминающего устройства (АЗУ) разбит на два поля — информационное и признаков.
Структура информационного поля накопителя
соответствует структуре обычного ОЗУ, а запоминающий элемент поля признаков,
помимо функции записи, чтения и хранения бита, обеспечивает сравнение хранимой
информации с поступающей и выдачу признака равенства.
Признаки равенства всех элементов одной ячейки поля признаков объединяются по
«И» и устанавливают в 1 индикатор совпадения ИС, если информация,
хранимая в поле признака ячейки, совпадает с информацией, подаваемой в качестве
признака на вход Р накопителя.
Во второй фазе обращения (при чтении) на выход данных D последовательно
поступает содержимое информационных полей тех ячеек, индикаторы совпадения
которых установлены в 1 (если таковые найдутся).
Способ использования АЗУ в качестве сверхоперативного иллюстрирует рис. В
информационном поле ячеек АСОЗУ — копия информации некоторых ячеек ОЗУ, а в
поле признаков — адреса этих ячеек ОЗУ. Когда процессор генерирует обращение к ОЗУ,
он одновременно (или прежде) инициирует процедуру опроса АСОЗУ, выдавая в
качестве признака адрес ОЗУ.
Если имеет место совпадение признака ячейки с запрашиваемым адресом (не более
одного раза, алгоритм загрузки АСОЗУ не предусматривает возможности появления
одинаковых признаков), то процессор обращается (по чтению или по записи) в
информационное поле этой ячейки АСОЗУ, при этом блокируется обращение к ОЗУ.
Если требуемый адрес не найден в АСОЗУ, инициируется (или продолжается)
обращение к ОЗУ, причем в АСОЗУ создается копия ячейки ОЗУ, к которой обратился
процессор. Повторное обращение процессора по этому адресу будет реализовано в
АСОЗУ (на порядок быстрее, чем в ОЗУ).
Таким образом, в АСОЗУ создаются копии тех
ячеек ОЗУ, к которым
в данный момент обращается процессор в надежде, что «в ближайшее
время» произойдет новое обращение по этому адресу. (Существуют и другие
стратегии загрузки АСОЗУ, например, если процессор обращается в ОЗУ по
определенному адресу, то в АСОЗУ перемещается содержимое целого блока соседних
ячеек.)
При необходимости записи в АСОЗУ новой информации требуется отыскать свободную
ячейку, а при ее отсутствии (что чаще всего и бывает) — отыскать ячейку,
содержимое которой можно удалить из АСОЗУ. При этом следует помнить, что если
во время пребывания ячейки в АСОЗУ в нее производилась запись, то требуется не
просто очистить содержимое ячейки, а записать его в ОЗУ по адресу, хранящемуся
в поле признаков, т. к. процессор,
отыскав адрес в АСОЗУ, производит запись только туда, оставляя в ОЗУ старое
значение (т. н. «АСОЗУ с обратной записью»). Возможен
и другой режим работы СОЗУ — со сквозной записью, при котором всякая запись
осуществляется и СОЗУ, и в ОЗУ.
При поиске очищаемой ячейки чаще всего используют метод
случайного выбора. Иногда отмечают ячейки, в которые не проводилась
запись, и поиск «кандидата на удаление» проводят из них.
Более сложная процедура замещения предполагает учет длительности пребывания
ячеек в АСОЗУ, или частоты обращения по этому адресу, или времени с момента
последнего обращения. Однако все эти методы требуют дополнительных аппаратных и
временных затрат.
Одним из наиболее дешевых способов, позволяющих учитывать поток обращений к
ячейкам, является следующий. Каждой ячейке АСОЗУ ставится в соответствие бит
(триггер) обращения, который устанавливается при обращении к этой ячейке. Когда
биты обращения всех ячеек АСОЗУ установятся в 1, все они одновременно
сбрасываются в О. Поиск
очищаемой ячейки осуществляется среди ячеек, биты обращения которых нулевые,
причем если таких ячеек несколько, то среди них осуществляется случайная
выборка.
Наличие АСОЗУ в ЭВМ позволяет (при достаточном его объеме и правильно выбранной
стратегии загрузки) значительно увеличить производительность системы. При этом
наличие или отсутствие АСОЗУ никак не отражается на построении программы. АСОЗУ
не является программно-доступным объектом, оно скрыто от пользователя. Недаром
в литературе для обозначения АСОЗУ часто используется термин
«кэш-память» (cache — тайник).
Кэш-память, структура которой приведена на рис., носит название полностью
ассоциативной. Здесь каждая ячейка кэш может подменять любую ячейку
ОЗУ. Достоинство такой памяти — максимальная вероятность кэш- попадания (при
прочих равных условиях), по сравнению с другими способами организации кэш. К недостаткам
можно отнести сложность ее структуры (а следовательно, и высокую стоимость).
Действительно, в каждом разряде поля признаков необходимо реализовать, наряду с
возможностями записи и хранения, функцию сравнения хранимого бита с
соответствующим битом признака, а потом конъюнкцию результатов сравнения
разрядов в каждой ячейке.
Кэш-память с прямым отображением требует
минимальных затрат оборудования (по сравнению с другими вариантами организации
кэш), но имеет минимальную вероятность кэш-попаданий. Суть организации (рис.) состоит в следующем. Физическая оперативная
намять разбивается на блоки (множества) одинакового размера, количество которых
(блоков) соответствует числу ячеек кэш, причем каждой строке ставится в
соответствие определенное множество ячеек памяти, не пересекающееся с другими.
Все ячейки множества претендуют на одну строку кэш.
Такая организация кэш исключает собственно ассоциативный поиск, а
следовательно, значительно упрощается схема ячейки поля признаков.
Действительно, здесь копия требуемой ячейки оперативной памяти может
располагаться в единственной строке
кэш. Часть физического адреса (на
рис.— старшая) определяет номер множества и, следовательно, строку кэш.
Содержимое этой строки выбирается по обычному адресному принципу, и поле тега
сравнивается с младшей частью физического адреса. Таким образом, для всей
кэш-памяти (любого размера) достаточно единственной схемы сравнения.
Однако предложенная выше структура имеет
существенный недостаток. Если проводить разбиение памяти на множества, как
показано на рис., то в большинстве случаев кэш будет использоваться крайне неэффективно.
Во-первых, хотя адресное пространство физической памяти 32-разрядных
микропроцессоров составляет 232 байтов,
в современных ПЭВМ обычно используют намять объемом 225 — 229 байтов.
Следовательно, строки кэш, отображаемые на старшие (физически отсутствующие)
множества памяти, никогда не будут использованы.
Во-вторых, если в множества включать
следующие подряд ячейки ОЗУ, то копии никаких двух последовательных ячеек ОЗУ
нельзя одновременно иметь в кэш (кроме случая последней и первой ячеек двух
соседних множеств), что противоречит одной из основополагающих стратегий
загрузки кэш — целесообразности копирования в кэш группы последовательных ячеек
ОЗУ.
Для исключения отмеченных недостатков разбиение ячеек памяти на множества осуществляется
таким образом, чтобы соседние ячейки относились к разным множествам, что
достигается размещением поля номера множества не в старших, а в младших
разрядах физического адреса.
Для дальнейшего увеличения вероятности кэш-попаданий можно реализовать вариант
кэш-памяти, ассоциативной по множеству, которая
отличается от кэш с прямым отображением наличием нескольких строк кэш на одно
множество ячеек памяти.
Например, внутренняя кэш-память
процессоров i80486 и Pentium — ассоциативная по множеству. Вся физическая
память разбивается на 128 множеств, а каждому множеству соответствуют 4 строки
кэш. Рассмотрим подробнее организацию внутренней кэш-памяти процессора 80486
[3].
Внутренняя кэш 80486 (рис. 5.4) имеет объем 8 Кбайт и предназначена для
хранения как команд, так и данных — копий информации ОЗУ. Информация
перемещается из ОЗУ в кэш выровненными 16-байтовыми блоками (4 младшие бита
физического адреса — нули). Кэш имеет четырех направленную (или четырехканальную)
ассоциативную по множеству организацию, что является компромиссом между
быстродействием и экономичностью кэш- памяти с прямым отображением и большим
коэффициентом попаданий полностью ассоциативной кэш-памяти.
Блок информации из ОЗУ может располагаться в кэш только в одном из 128
множеств, причем в каждом множестве возможно хранение четырех блоков. Адресация
кэш осуществляется путем разделения физического адреса на три поля:
• 7 битов
поля индекса (А4 — А10) определяют номер множества, в котором проводится поиск;
• старшие 21 бит адреса являются полем тега (признака), по которому
осуществляется ассоциативный поиск (внутри множества из четырех блоков);
• четыре младшие бита адреса определяют позицию байта в блоке.
Когда при чтении возникает промах, в кэш копируется из ОЗУ 16-байтовый
блок (строка), содержащий запрошенную
информацию.
Устройство памяти эвм
Памятью
компьютера называется совокупность
устройств для хранения программ, вводимой
информации, промежуточных результатов
и выходных данных. Память компьютера
построена из двоичных запоминающих
элементовах, объединенных в группы по
8 битов, которые называются байтами.
(Единицы измерения
памяти совпадают с единицами измерения
информации). Все байты
пронумерованы. Номер байта называется
адресом.
Байты
могут объединяться в ячейки, которые
называются словами.
Для каждого компьютера характерна
определенная длина слова – два, четыре
или восемь байтов. Это не исключает
использование ячеек памяти другой длины
(например, полуслово, двойное слово).
Как правило, в одном машинном слове
может быть представлено либо число,
либо одна команда. Однако допускаются
переменные форматы представления
информации. Разбиение памяти на слова
для четырехбайтовых компьютеров
представлено в таблице 1.
Таблица
1
Байт0 |
Байт1 |
Байт2 |
Байт3 |
Байт4 |
Байт5 |
Байте6 |
Байт7 |
ПОЛУСЛОВО |
ПОЛУСЛОВО |
ПОЛУСЛОВО |
ПОЛУСЛОВО |
||||
СЛОВО |
СЛОВО |
||||||
ДВОЙНОЕ |
Широко
используются и более крупные производные
единицы объема памяти Килобайт,
Мегабайт, Гигабайт,
а также в последнее время
Терабайт и
Петабайт.
Современные
компьютеры имеют много разнообразных
запоминающих устройств, которые
различаются по назначению, временным
характеристикам, объему хранимой
информации и стоимости хранения
одинакового объема информации.
Классификация
памяти представлена на рисунке:
Рисунок
3. Классификация памяти
Внутренняя
память предназначена для хранения
относительно небольших объемов информации
при ее обработке микропроцессором.
Внешняя
память предназначена для длительного
хранения больших объемов информации,
независимо от того включен или выключен
компьютер.
Энергозависимой
называется память, которая стирается
при выключении компьютера.
Энергонезависимой
называется память, которая не стирается
при выключении компьютера.
К
энергонезависимой внутренней памяти
относится постоянное
запоминающее устройство
(ПЗУ, англ. ROM
– Read
Only
Memory
– память только для чтения).
Обычно в ПЗУ записываются программы,
обеспечивающие минимальный базовый
набор функций управления устройствами
компьютера. ПЗУ содержит программы
BIOS,
необходимые для
управления многими
компонентами
компьютера.
В ПЗУ находятся программы управления
дисплеем, клавиатурой, принтером, внешней
памятью, тестирования устройств, входящих
в ЭВМ. BIOS
доступна постоянно,
независимо от работоспособности внешних
компонентов, таких как системные
загрузочные дискеты. В BIOS
есть программа System
Setup,
— именно с ее помощью пользователь
управляет самыми глубокими настройками
системы В современных материнских
платах используются, как правило,
микросхемы Flash
BIOS,
программы в которых могут перезаписываться,
что обеспечивает модернизацию этой
программы при появлении новых устройств,
которым нужно обеспечить поддержку
(например, новых типов микросхем
оперативной памяти).
При
включении компьютера первоначально
управление передается программе из
ПЗУ, которая тестирует компоненты
компьютера и запускает программу-загрузчик
операционной системы. Эта память
составлена из микросхем, как правило,
небольшого объема.
Важным
компонентом, размещенным на системной
плате, является микросхема
CMOS RAM-памяти.
Эта память с невысоким
быстродействием и минимальным потреблением
энергии от батарейки. Используется для
хранения информации о конфигурации и
составе оборудования компьютера, а
также о режимах его работы. Информация
в ней может изменяться по мере необходимости
программой Setup.
Поэтому при загрузке компьютера BIOS
берет необходимую для своей работы
информацию об изменяемых параметрах
компонентов ПК именно из этой памяти.
Так, из CMOS
RAM-памяти
считывается информация о МП, о типах и
емкости оперативной и всех видах дисковой
памяти, о работоспособности устройств
компьютера и т.д.
К
энергозависимой внутренней памяти
относятся оперативное
запоминающее устройство (ОЗУ), видеопамять
и кэш-память. В
оперативном запоминающем
устройстве в двоичном
виде запоминается обрабатываемая
информация, программа ее обработки,
промежуточные данные и результаты
работы. ОЗУ обеспечивает режимы записи,
считывания и хранения информации, причём
в любой момент времени возможен доступ
к любой произвольно выбранной ячейке
памяти – это означает, что
каждый байт памяти имеет свой индивидуальный
адрес.
Это отражено в англоязычном названии
ОЗУ – RAM (Random Access Memory – память с произвольным
доступом). Доступ к этой информации в
ОЗУ осуществляется очень быстро.
Оперативная память
используется только для временного
хранения данных и программ,
так как при выключении
машины все данные, находящиеся в ОЗУ,
пропадают.
Объем
ОЗУ обычно составляет от 32 до 512 Мбайт.
Для несложных административных задач
бывает достаточно и 32 Мбайт ОЗУ, но
сложные задачи компьютерного дизайна
могут потребовать до 2 Гбайт ОЗУ.
Обычно
ОЗУ исполняется на
интегральных микросхемах памяти SDRAM
(синхронное динамическое
ОЗУ). Каждый
информационный бит в SDRAM
запоминается в виде электрического
заряда крохотного конденсатора,
образованного в структуре полупроводникового
кристалла. Из-за токов утечки такие
конденсаторы быстро разряжаются, и их
периодически (примерно каждые 2
миллисекунды) подзаряжают. Этот процесс
называется регенерации
памяти (Refresh Memory).
Микросхемы CDRAM
имеют емкость 16-256 Мбит и более. Большинство
современных компьютеров комплектуются
модулями типа DIMM
(Dual-In-Line
Memory
Module
— модуль памяти с двухрядным расположением
микросхем) и высокоскоростные модули
Rambus DRAM (RIMM) и DDR DRAM.
Модули памяти характеризуются такими
параметрами как объем
– (16, 32, 64, 128, 256 и 512 Мбайт), число микросхем,
паспортная частота (100 или 133 МГц), время
доступа к данным (6 или 7 наносекунд) и
число контактов (73, 168 или 184). Разработан
и выпускается модули памяти 1-2 Гбайта.
Для
хранения графической информации
используется видеопамять. Видеопамять
(VRAM) – разновидность
оперативного ЗУ, в котором хранятся
закодированные изображения. Центральный
процессор компьютера направляет данные
в видеопамять, а графический процессор
видеокарты считывает оттуда информацию.
Кроме того, в видеопамяти хранится
кадровый буфер и промежуточные данные,
необходимые графическому процессору.
Современные видеокарты оснащены памятью
типа Grafic
DDR3
объемом до 512 Мбайт. Рабочей частотой
1300 МГц, шиной разрядностью 126-256 бит.
Среднее значение задержек на массовых
видеокартах Составляет до 1.6 Нс. Объем
видеопамяти, установленный на корте,
важен в первую очередь для обработки
трехмерных изображений с текстурами в
высоком разрешении разрешения при
большой глубине цвета. Для плоской
графики достаточно 32 Мбайта видеопамяти,
что обеспечивает работу с разрешением
1600х1200 пиксел при 32-битном цвете. Это ЗУ
организовано так, что его содержимое
доступно сразу двум устройствам –
процессору и дисплею. Поэтому изображение
на экране меняется одновременно с
обновлением видеоданных в памяти.
Внешняя
память (ВЗУ) предназначена для длительного
хранения программ и данных, целостность
ее зависит от того, включен или выключен
компьютер. В отличие от оперативной
памяти, внешняя память не имеет прямой
связи с процессором. Информация от ВЗУ
к процессору и наоборот циркулирует
примерно по следующей цепочке
У
стройства внешней памяти весьма
разнообразны. Их можно классифицировать:
по виду носителя, по типу конструкции,
по принципу записи и считывания
информации, по методу доступа и т.д. при
этом под носителем понимается материальный
объект, способный хранить информацию.
Один из возможных вариантов классификации
ВЗУ приведен на рисунке 4.
Рисунок
4. Классификация внешних запоминающих
устройств
В
зависимости от типа носителя все ВЗУ
можно подразделить на накопителя на
магнитной ленте и дисковые накопители.
Внешняя
память может быть с произвольным
доступом и последовательным доступом.
Устройства памяти с произвольным
доступом позволяют
получить доступ к произвольному блоку
данных примерно за одно и то же время
доступа.
Винчестеры,
как и другие магнитные накопители с
прямым доступом, имеют дорожковую
организацию дисковой памяти. Это
означает, что поверхность магнитных
дисков разбивается на концентрические
кольца разного диаметра – дорожки,
начиная с внешнего края. Далее структуру
информации на винчестере следует
рассматривать отдельно с точки зрения
физической и логической структур. Чаще
всего путаница возникает при сравнении
параметров, относящихся к различным
структурам.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Оглавление
Память ЭВМ, виды, краткая характеристика
1. Введение
2. Определение
3. Виды памяти ЭВМ
3.1 Внутренняя память
3.2 Внешняя память
4 Заключение
5 Литература
Память ЭВМ, виды, краткая характеристика
1. Введение
В современном мире
мобильных компьютерных технологий большинство людей уже просто не могут
обойтись без коммуникаторов, планшетов и другой портативной компьютерной
техники. В свою очередь растет спрос на скорость работы представленных
мобильных решений, поскольку никто уже не готов мириться с низкой
производительностью того или иного устройства.
Скорость выполнения программ напрямую зависит от скорости передачи данных между
процессором и памятью, а для выполнения больших программ, обрабатывающих
огромные массивы данных, необходима память очень большого объема.
В идеале память должна быть быстрой, большой и недорогой..Поэтому проектировщики
компьютерных систем трудятся над разработкой и усовершенствованием технологий,
позволяющих создавать для компьютера видимость большой и быстрой памяти.
В этом вопросе рассмотрим, что такое память ЭВМ и какие виды
памяти существуют.
2. Определение
Память ЭВМ –
совокупность технических устройств и процессов, обеспечивающих запись,
хранение и воспроизведение информации в ЭВМ. Компьютерная память обеспечивает
поддержку одной из функций ЭВМ — способность длительного
хранения информации.
Память — основная
часть любой вычислительной системы или отдельной вычислительной машины,
она реализуется аппаратно — в виде комплекса взаимосвязанных
запоминающих устройств (ЗУ) — и программными средствами. Максимальное
количество информации, которое может храниться в памяти ЭВМ (ёмкость),
определяется суммарной ёмкостью всех ЗУ, а быстродействие памяти ЭВМ
зависит как от быстродействия отдельных ЗУ, так и от принципов их
организации в единую систему памяти и способов обмена информацией
внутри этой системы.
Задачей памяти является
хранение программ и данных. Существует два класса запоминающих устройств, а именно
первичные и вторичные. Первичное запоминающее устройство – это память,
быстродействие которой определяется скоростью работы электронных микросхем.
Пока программа выполняется, она должна храниться в первичной памяти. Эта память
состоит из большого количества полупроводниковых ячеек, каждая из которых
может хранить один бит информации. Ячейки редко считываются по отдельности –
обычно они обрабатываются группами фиксированного размера, называемыми словами…
Для облегчения доступа к словам в памяти с каждым словом связывается отдельный
адрес. Адрес – это числа, идентифицирующие конкретные местоположения слов в
памяти. Для того чтобы прочитать слово из памяти или записать его в таковую,
необходимо указать его адрес и задать управляющую команду, которая начнет
соответствующую операцию.[1]Для каждого компьютера характерна
определенная длина слова — два, четыре или восемь байтов. Это не исключает
использования ячеек памяти другой длины (например, полуслово, двойное слово).
Как правило, в одном
машинном слове может быть представлено либо одно целое число, либо одна
команда, но допускаются переменные форматы представления информации.
3. Виды памяти ЭВМ
Память современной ЭВМ
строится в виде многоступенчатой иерархической системы, что обеспечивает
экономически оправданное удовлетворение противоречивых требований —
большой ёмкости и высокого быстродействия, и обычно предполагает
использование нескольких запоминающих устройств, имеющих различные
характеристики. В иерархию памяти ЭВМ обычно входят: внешняя память и
внутренняя, или оперативная, память.
3.1 Внутренняя память
Оперативная память.
Назначение оперативной
памяти – хранение данных, работа с которыми осуществляется в данный момент
времени. Если для этого использовать жесткий диск, то время доступа к данным
заметно увеличится, так как производительность оперативной памяти намного выше,
чем дисковой. Это скажется на быстродействии всей системы. Оперативная память обеспечивает возможность обращения
процессора к любой ее ячейке, поэтому называется памятью с произвольным
доступом (RAM – Random Access Memory)[2].
Из определения следует,
что в оперативной памяти на стадии выполнения могут одновременно находится
несколько программ. Кроме того, в оперативной памяти могут находиться как
обрабатываемые, так и уже обработанные программой данные. Можно считать, что
оперативная память представляет собой последовательность пронумерованных
байтов. Каждый байт имеет свой собственный номер, который называют адресом.
Содержимое любого байта памяти может обрабатываться независимым от остальных
байтов образом. Указав адрес байта, можно прочитать код, который в нем записан
или записать в этот байт какой – либо другой код.
Максимально возможный
объем оперативной памяти, который иногда называют адресным пространством, и
объем памяти, фактически присутствующий в составе машины, являются важнейшими
характеристиками данной модели в целом и конкретного экземпляра компьютера.
Адресное пространство является величиной постоянной для данной модели, в то
время как фактический объем оперативной памяти может у разных экземпляров быть
разным, но он не может быть больше, чем адресное пространство для данной
модели. Современные модули памяти RAM бывают: DDR, DDR2, DDR3 и DDR4.
Характеристики оперативной памяти каждого вида значительно лучше, чем
характеристики предшествующего поколения. Рассмотрим их:
1.
DDR. Самая древняя оперативная
память. Время ее господства на IT рынке уже давно ушло. Но кое-где еще иногда
встречаются системы, в которых используется эта оперативная память. Как
правило, это довольно старые системы. Эта память потребляет напряжение 2.5 В.
Обычно, напряжение увеличивается при разгоне процессора. DDR является самым
прожорливым представителем оперативной памяти, так как требует для своей работы
самое высокое напряжение. Эта память работала на частотах 266/333/400 Mhz и
использовалась на компьютерах класса Intel Pentium 4.
2.
DDR2. Основное отличие DDR2 от
DDR — вдвое большая частота работы шины (533/800/1066 Mhz), по которой
данные передаются в буфер микросхемы памяти. При этом чтобы обеспечить
необходимый поток данных, передача на шину осуществляется из четырёх мест
одновременно.
3.
DDR3. Этот тип памяти основан
на технологиях DDR2 со вдвое увеличенной частотой передачи данных по шине
памяти. Отличается пониженным энергопотреблением по сравнению с
предшественниками (1,5 В, по сравнению с 1,8 В для DDR2 и 2,5 В для DDR).
Частота полосы пропускания лежит в пределах от 800 до 2400 Mhz (рекорд
частоты — более 3000 Mhz), что обеспечивает большую пропускную способность
по сравнению со всеми предшественниками. В целом скорость работы DDR3 выше, чем
у DDR2, на 15-20 процентов.
4.
DDR4 — новый
тип оперативной памяти, являющийся эволюционным развитием предыдущих
поколений DDR. Отличается повышенными частотными характеристиками и пониженным
напряжением питания. В массовое производство вышла во 2 квартале 2014 года[3]
Кроме оперативной памяти
в состав внутренней памяти входят кэш-память и постоянная память.
Постоянная память.
Постоянная —
энергонезависимая память, используется для хранения данных, которые никогда не
потребуют изменения. Содержание памяти специальным образом “зашивается” в
устройстве при его изготовлении для постоянного хранения. Из ПЗУ можно только
читать. Прежде всего, в постоянную память записывают программу управления
работой самого процессора. В ПЗУ находятся программы управления дисплеем, клавиатурой,
принтером, внешней памятью, программы запуска и остановки компьютера,
тестирования устройств.
Важнейшая микросхема
постоянной или Flash-памяти — модуль BIOS, предназначенная для автоматического
тестирования устройств после включения питания компьютера и загрузки
операционной системы в оперативную память.
Разновидность постоянного
ЗУ — CMOS RAM. Это память с невысоким быстродействием и минимальным
энергопотреблением от батарейки. Используется для хранения информации о
конфигурации и составе оборудования компьютера, а также о режимах его работы.
Содержимое CMOS изменяется специальной программой Setup, находящейся в BIOS.
Кэш-память.
По сравнению с
быстродействием современных процессоров скорость функционирования основной
памяти мала. Однако процессор не может тратить много времени в ожидании команд
и данных из основной памяти. Поэтому нужны механизмы, сокращающие время доступа
к необходимой информации. Поскольку быстродействие основной памяти физически
ограничено, здесь потребуется архитектурное решение. Таким решением является
использование быстрой кэш-памяти, благодаря которой основная память
представляется процессору более быстрой, чем она есть на самом деле.[4]
Кэш — это память с
большей скоростью доступа, предназначенная для ускорения обращения к данным,
содержащимся постоянно в памяти с меньшей скоростью доступа. Кэширование
применяется ЦПУ, жёсткими
дисками, браузерами, веб-серверами, службами DNS и WINS.
Кэш состоит из набора
записей. Каждая запись ассоциирована с элементом данных или блоком данных
(небольшой части данных), которая является копией элемента данных в основной
памяти. Каждая запись имеет идентификатор, определяющий соответствие между
элементами данных в кэше и их копиями в основной памяти.
3.2 Внешняя память
Внешняя память
предназначена для длительного хранения программ и данных, и целостность её
содержимого не зависит от того, включен или выключен компьютер. В отличие от
оперативной памяти, внешняя память не имеет прямой связи с процессором. Устройства внешней памяти или, иначе, внешние запоминающие
устройства весьма разнообразны. Их можно классифицировать по целому ряду
признаков: по виду носителя, типу конструкции, по принципу записи и считывания
информации, методу доступа и т.д.[5]
Рассмотрим классификацию по виду носителей.
Гибкий диск, дискета — устройство для хранения небольших объёмов информации
(максимально до 2,88 МБ), представляющее собой гибкий пластиковый диск в
защитной оболочке. Используется для переноса данных с одного компьютера на
другой и для распространения программного обеспечения. Способ записи двоичной
информации на магнитной среде называется магнитным кодированием.
Накопитель на жёстких
магнитных дисках или винчестерский
накопитель — это наиболее массовое запоминающее устройство большой ёмкости, в
котором носителями информации являются круглые алюминиевые или стеклянные
пластины — плоттеры, обе поверхности которых покрыты слоем ферромагнитного
материала. С момента создания первых жёстких дисков, в результате непрерывного
совершенствования технологии записи данных, их максимально возможная ёмкость
непрерывно увеличивается. Ёмкость современных жёстких дисков достигает
нескольких Тб. НЖМД используется для постоянного хранения информации — программ
и данных, и является основным накопителем данных в большинстве ЭВМ.
Существуют внешние или
портативные жесткие диски, которые подключаются к компьютеру с помощью
USB-кабеля.
CD-ROM состоит
из прозрачной полимерной основы диаметром 12 см и толщиной 1,2 мм. Одна сторона
покрыта тонким алюминиевым слоем, защищенным от повреждений слоем лака.
Двоичная информация представляется последовательным чередованием углублений и
основного слоя.
Со временем на смену
CD-ROM пришли цифровые видеодиски DVD. Эти диски имеют тот же размер,
что и обычные CD, но вмещают 4,7 Гбайт данных, т.е. по объёму заменяют семь
стандартных дисков CD-ROM. На таких дисках могут выпускаться полноэкранные
видеофильмы отличного качества, программы-тренажёры, мультимедийные игры и
многое другое.[6]
Blu-ray Disc, BD — формат оптического носителя, используемый для записи с
повышенной плотностью и хранения цифровых данных, включая видео высокой
чёткости. Первый прототип нового носителя был представлен в октябре 2000 года.
Более короткая длина волны сине-фиолетового лазера позволяет хранить больше
информации на 12-сантиметровых дисках того же размера, что и у CD/DVD.
Уменьшение длины волны, использование числовой апертуры (0,85, в сравнении с
0,6 для DVD), высококачественной двухлинзовой системы, а также уменьшение
толщины защитного слоя в шесть раз (0,1 мм вместо 0,6 мм) предоставило возможность
проведения более качественного и корректного течения операций чтения/записи.
Это позволило записывать информацию в меньшие точки на диске, а значит, хранить
больше информации в физической области диска, а также увеличить скорость
считывания до 432 Мбит/с.
Флеш-накопитель — запоминающее устройство, использующее в качестве носителя
флеш-память (разновидность полупроводниковой технологии электрически
перепрограммируемой памяти). Благодаря компактности, дешевизне, механической
прочности, большому объёму, скорости работы и низкому энергопотреблению,
флеш-память широко используется в цифровых портативных устройствах и носителях
информации. Очень распространены USB флеш-накопители (флеш-брелоки) –
устройства, подключаемое к компьютеру или иному считывающему устройству по
интерфейсу USB.
Серьёзным недостатком
данной технологии является ограниченный срок эксплуатации носителей, а также
чувствительность к электростатическому разряду.
4 Заключение
Первые ЭВМ
использовали запоминающие устройства исключительно для хранения обрабатываемых
данных. Их программы реализовывались на аппаратном уровне в виде
жёстко заданных выполняемых последовательностей. Любое перепрограммирование
требовало огромного объёма ручной работы по подготовке новой документации,
перестройки блоков и устройств и т. д. Использование архитектуры фон
Неймана, предусматривающей хранение компьютерных программ и данных в общей
памяти, коренным образом переменило ситуацию.
К настоящему
времени создано множество устройств, предназначенных для хранения данных.
Универсального решения не существует, у каждого имеются свои достоинства и свои
недостатки, поэтому компьютерные системы оснащаются несколькими видами систем
хранения, основные свойства которых обуславливают их использование и
назначение.
5 Литература
1.
Организация ЭВМ. 5-е изд. /К.Хамахер, З.
Вранешич, С. Заки. – СПб.: Питер; Киев: Издательская группа BHV,
2003. – 848с.
2.
Информатика: Учебник / Под ред. проф. Н.В.
Макаровой — М.: Финансы и статистика -2006. — 768 с.
3.
Экономическая информатика Онлайн учебник http://www.lessons-tva.info/edu/e-informatika.html
4.
Википедия https://ru.wikipedia.org/wiki/
5.
Электронный учебник. http://avinout.com/osi_t9.html
6.
Подготовка к ЕГЭ. http://egeinf.gym5cheb.ru/p21aa1.html
7.
Студопедия. http://studopedia.org/1-134281.html
8.
ОК IT
для бизнеса. http://ko.com.ua/jedsger_vajb_dejkstra_11696
9.
Информатика и ИКТ. Профильный уровень:
учебник для 11 класса/Н.Д.Угринович. – 2-е изд., испр. И доп. – М.: БИНОМ.
Лаборатория знаний, 2009.
Организация памяти в ЭВМ
Содержание
Введение
. Общесистемная
часть
.1 Организация
памяти в ЭВМ.
.2 Организация
доступа к ресурсу ОП.
.3 Физическая
память.
.4 Стратегии
размещения информации в памяти.
.5 Страничная
организация памяти
.6 Алгоритмы
распределения адресного пространства ОП.
. Специальная
часть.
.1 Постановка
целей и задач.
.2 Использование
методов имитационного моделирования для решения поставленной задачи
.3 Описание
характеристик модели и ее поведения
.3.1 Описание
адресного пространства ОП.
.3.2 Описание
страницы.
.3.3 Описание
модели системы.
.4 Описание
классов и элементов
.4.1 Описание
класса страницы
.4.2 Описание
адресного пространства ОП
.4.3 Описание
модели системы
.5 Внешний
вид разработанного приложения и описание работы с программой.
Заключение
Список
источников
Приложение
1. Листинг исходного кода программы.
Введение
Одним из наиболее сложных аспектов разработки операционной системы
является управление памятью. Хотя стоимость памяти постоянно снижается и в
результате растет размер основной памяти на современных машинах, достигая
гигабайтного диапазона, ее всегда недостаточно для хранения всех программ и
структур данных, необходимых активным процессам и операционной системе в целом.
Соответственно, одной из центральных задач операционной системы является управление
памятью, включая выгрузку и загрузку блоков из вторичной памяти. Однако
операции ввода — вывода довольно медленные, и их скорость с каждым годом
отстает от скорости работы процессора. Для эффективной работы процессора
операционная система должна четко рассчитывать процессы подкачки для
минимизации влияния операций ввода — вывода на производительность.
Моделированием одной из ее функций мы и займемся в данной курсовой работе.
1. Общесистемная
часть
1.1 Организация памяти в ЭВМ
Компактные микроэлектронные запоминающие устройства, так называемая
«память», широко применяются в современной аппаратуре самого различного
назначения. Но, тем не менее, разговор о классификации памяти, её видах следует
начать с определения места и роли, отведённой памяти в ЭВМ. Память является
одной из самых главных функциональных частей машины, предназначенной для
записи, хранения и выдачи команд и обрабатываемых данных. Следует сказать, что
команды и данные поступают в ЭВМ через устройство ввода, на выходе которого они
получают форму кодовых комбинаций 1 и 0. Основная память, как правило, состоит
из запоминающих устройств двух видов — оперативного (ОЗУ) и постоянного (ПЗУ).
ОЗУ предназначено для хранения переменной информации; оно допускает
изменение своего содержимого в ходе выполнения вычислительного процесса. Таким
образом, процессор берёт из ОЗУ код команды и, после обработки каких-либо
данных, результат обратно помещается в ОЗУ. Причем возможно размещение в ОЗУ
новых данных на месте прежних, которые при этом перестают существовать. В
ячейках происходит стирание старой информации и запись туда новой. Из этого
видно, что ОЗУ является очень гибкой структурой и обладает возможностью
перезаписывать информацию в свои ячейки неограниченное количество раз по ходу
выполнения программы.
ПЗУ содержит такой вид информации, которая не должна изменяться в ходе
выполнения процессором программы. Такую информацию составляют стандартные
подпрограммы, табличные данные, коды физических констант и постоянных
коэффициентов. Эта информация заносится в ПЗУ предварительно, и блокируется
путем пережигания легкоплавких металлических перемычек в структуре ПЗУ. В ходе
работы процессора эта информация может только считываться. Таким образом, ПЗУ
работает только в режимах хранения и считывания.
1.2 Организация доступа к ресурсу ОП
Ресурсом называется средство вычислительной системы, которое может быть
выделено процессу на определенный интервал времени. Все ресурсы вычислительной
системы (ВС) можно разделить на физические и виртуальные. Физические ресурсы —
реально существующие ресурсы, обладающие всеми физическими свойствами при
распределении между процессами. Виртуальный ресурс является некоторой моделью
физического и не существует реально в том виде, в котором предоставляется
процессу. Примерами виртуальных ресурсов могут служить виртуальная память,
виртуальные регистры, виртуальные CD-ROM приводы и пр.
Размер оперативной памяти (как правило, значительно уступающий размерам
виртуальной памяти, выделяемой процессам в системе) может накладывать существенные
ограничения на количество одновременно находящихся в системе процессов и
скорость их исполнения, что связано с невозможностью предоставления каждому
процессу участка соответствующего размера в ОП и, неизбежным в связи с этим,
перемещения процессов с ВЗУ в ОП и наоборот. Поэтому схема функционирования
оперативной и виртуальной памяти во многом определяет работу операционной
системы в целом и ее отдельных приложений в частности.
Основная (оперативная) память всегда была и остается до сих пор наиболее
критическим ресурсом компьютеров. Если учесть, что большинство современных
компьютеров обеспечивает 32-разрядную адресацию в пользовательских программах,
и все большую силу набирает новое поколение 64-разрядных компьютеров, то
становится понятным, что практически безнадежно рассчитывать, что когда-нибудь
удастся оснастить компьютеры основной памятью такого объема, чтобы ее хватило
для выполнения произвольной пользовательской программы, не говоря уже об
обеспечении мультипрограммного режима, когда в основной памяти, вообще говоря,
могут одновременно содержаться несколько пользовательских программ.
Поэтому всегда первичной функцией всех операционных систем (более точно,
операционных систем, обеспечивающих режим мультипрограммирования) было
обеспечение разделения основной памяти между конкурирующими пользовательскими
процессами. Мы не будем здесь слишком сильно вдаваться в историю этого вопроса.
Заметим лишь, что применявшаяся техника распространяется от статического
распределения памяти (каждый процесс пользователя должен полностью поместиться
в основной памяти, и система принимает к обслуживанию дополнительные
пользовательские процессы до тех пор, пока все они одновременно помещаются в
основной памяти), с промежуточным решением в виде «простого своппинга»
(система по-прежнему располагает каждый процесс в основной памяти целиком, но
иногда на основании некоторого критерия целиком сбрасывает образ некоторого
процесса из основной памяти во внешнюю память и заменяет его в основной памяти
образом некоторого другого процесса), до смешанных стратегий, основанных на
использовании «страничной подкачки по требованию» и развитых
механизмов своппинга.
1.3 Физическая
память
Организация и управление основной или первичной или физической (реальной)
памятью вычислительной машины — один из самых важных факторов, определяющих
построение операционных систем. Для непосредственного выполнения программ или
обращения к данным необходимо, чтобы они размещались в основной памяти.
Вторичная, или внешняя память — это, как правило, накопители на магнитных
дисках, магнитных барабанах и магнитных лентах — их емкость много больше и
позволяет хранить множество программ и данных, которые должны быть наготове для
обработки.
Организация памяти — это способ представления и использования основной
памяти. Распространенными способами организации памяти для системы с физической
памятью являются:
· однопрограммные (одно абонентские) системы;
· мультипрограммные системы с фиксированными разделами, с
трансляцией и загрузкой модулей в абсолютных адресах;
· мультипрограммные системы с фиксированными разделами, с
трансляцией и загрузкой перемещаемых модулей;
· мультипрограммные системы с переменными разделами;
· системы со свопингом.
Цель стратегий управления памятью заключается в том, чтобы обеспечить
наиболее эффективное использование такого дорогостоящего ресурса, каким
является основная память, и при этом достигнуть наивысших возможных скоростных
характеристик машины. Существует три вида стратегий управления памятью:
· стратегии выборки;
· стратегии размещения;
· стратегии замещения.
Стратегии выборки ставят своей целью определить, когда следует выбирать
очередной блок программы или данных для переписи в основную память. Стратегии
выборки по запросу (по требованию) предусматривают загрузку в память блоков программ
и данных только в тот момент, когда они запрашиваются. В стратегиях выборки с
упреждением система пытается предупредить запросы программы пользователя и
загружает соответствующие блоки программ и данных в основную память еще до
того, как они реально потребуются; таким образом, эти блоки уже будут
находиться в основной памяти, так что обращающаяся к ним программа сможет
продолжать свое выполнение без задержки.
1.4 Стратегии
размещения информации в памяти
Стратегии размещения информации в памяти предназначены для того, чтобы
определить, в какое место основной памяти следует помещать поступающие
программы и данные при распределении памяти неперемещаемыми разделами. Наиболее
часто применяются следующие стратегии:
1 размещение с выбором первого
подходящего (стратегия “первый подходящий”):
2 размещение с выбором наиболее
подходящего (стратегия “самый подходящий”);
3 алгоритм с выбором наименее
подходящего (стратегия “самый неподходящий”).
Стратегия “первый подходящий” состоит в выполнении следующих шагов:
4 упорядочить таблицу свободных
областей в порядке возрастания адресов;
5 поместить информацию в первый
встретившийся участок основной памяти размером не менее требуемого.
Стратегия “самый подходящий” реализует следующую последовательность
действий:
6 упорядочить таблицу свободных
областей в порядке возрастания размеров свободных областей:
7 поместить информацию в первый
встретившийся участок свободной памяти размером не менее требуемого.
Стратегия “самый неподходящий” выполняет следующие действия:
8 упорядочить таблицу свободных
областей в порядке убывания размеров областей;
9 поместить информацию в первый
встретившийся участок свободной памяти размером не менее требуемого.
Строгих доказательств преимуществ той или иной стратегии перед остальными
не существует, так что их применение в операционных системах основано на
интуитивных аргументах разработчиков ОС.
1.5 Страничная
организация памяти
При построении виртуальной оперативной памяти
применяют несколько способов адресации в пределах как виртуального, так и
физического адресного пространства. Каждый вариант адресации основан на
конкретной схеме структуризации адресного пространства.
Различаются два класса схем структуризации:
· схемы страничной структуризации;
· схемы сегментной структуризации.
Страничная организация памяти состоит в разбиении
программы на части фиксированной длины, называемые страницами; длина страницы
обычно определяется особенностями аппаратных средств и другими системными
факторами. Фирма IBM, например,
использует в своих системах страничной организации памяти страницы двух
размеров: в 2К и в 4К. Из нашего обсуждения механизма защиты памяти в
операционной системе OS/MFT фирмы IBM вы, вероятно, помните, что память в этой системе
распределяется между программами порциями емкостью в два К; отсюда — 2К —
байтовые страницы. Программирующие на языке ассемблера конечна не могут не
осознавать значения числа 4К — оно определяет максимальный адрес,
сопоставляемый одному регистру базы. При столь коротких страницах и хорошо
согласованном спектре длин сегментов с используемой системой распределения
памяти вероятность возникновения неиспользованных областей памяти значительно
снижается.
За исключением того, что страницы имеют фиксированный размер, реализация
системы страничной организации памяти почти идентична реализации системы
сегментации. Программы загружаются в память разрозненными страницами (рис. 1).
Адрес разбивается на две части (рис. 2) с номером страницы, занимающим старшие
разряды и смещением — в младших разрядах; в процессе выполнения программы
адреса динамически преобразуются с помощью таблицы страниц программы (рис. 3).
То, что ранее называлось регистром размещения таблицы сегментов, теперь будет
называться регистром размещения таблицы страниц.
Рис. 1. Загрузка программы в системе
Рис. 2. Адресация в системе со страничной организацией
памяти
Рис. 3. Динамическое преобразование адресов в системе
со страничной -организацией памяти
В системе страничной организации памяти несколько легче прослеживается
распределение памяти; память просто делится на ряд страниц фиксированной длины
(рис. 4), при этом в таблице описания страниц (рис. 5) состояние каждой
страницы (свободна или занята) задается одноразрядным флажком.
Рис. 4. Память, разделенная на страницы.
Рис. 5. Таблица содержания страниц
При необходимости определения адреса свободного
фрагмента памяти программе главного планировщика или программе-инициатору (или
каким-либо их аналогам) достаточно найти в таблице содержимого таблиц элемент с
нулевым значением признака состояния, присвоить соответствующую страницу
загружаемой программе и изменить значение признака состояния на единицу.
Следует заметить, что между этой таблицей содержимого страниц и таблицей
страниц программы, описанной выше, имеется существенная разница. Таблица
содержимого страниц используется операционной системой при распределении
памяти, тогда как таблицей страниц программ обеспечивается динамическое
преобразование адресов выполняемых программ, которые уже находятся в памяти.
Как мы уже видели, некоторая потеря памяти неизбежна при любой схеме ее
распределения; страничная организация памяти даже при фиксированных размерах
модулей сталкивается с той же проблемой, хотя и в несколько ином плане.
Проблема страничной организации памяти, если сформулировать ее как можно проще,
состоит в том, что любой фиксированный размер страницы неизбежно оказывается не
подходящим. Эта формулировка, вероятно, требует небольшого пояснения.
Программисты не пишут своих программ частями фиксированной длины; почти; в
любой программе найдется, по крайней мере, одна страница, используемая не
полностью. Даже если в среднем это составляет 1К на программу, то в системе
мультипрограммирования, работающей с 10 программами, суммарная потеря памяти
составит целых 10К[1]!
1.6 Алгоритмы
распределения адресного пространства ОП
Алгоритм распределения адресного пространства оперативной памяти отличен
от алгоритма распределения адресного пространства виртуальной памяти.
Нерационально, например, использовать распределение
страниц по правилу «без перераспределения», поскольку цена потерь из-за наличия
«псевдосвободных» страниц была бы слишком высока. Переполнение адресного
пространства наступало бы слишком часто. При вытеснении «псевдосвободных» страниц
пришлось бы не только корректировать адреса занятых участков, но и переписывать
информацию из них. При этом требовалось бы производить еще и коррекцию
содержимого этих участков, если информация в них носила бы адресный характер.
Вместе с тем сравнительно небольшой объем адресного
пространства оперативной памяти и структурирование его страницами
фиксированного размера могут существенно облегчить построение алгоритма.
Разовый запрос от каждого из процессов на выделение памяти согласно
рассматриваемой схеме функционирования виртуальной памяти может быть только на
одну страницу. В ответ на запрос указывается номер некой «свободной» страницы
из набора номеров свободных страниц в текущий момент времени. Причем не
накладываются никакие требования на «соседей» выделяемой страницы. Это могут
быть либо свободные, либо распределенные страницы.
Для выполнения распределения ведут учет свободных и
распределенных страниц. Наиболее простой метод учета основан на использовании
двоичного вектора. Число двоичных разрядов вектора равно числу страниц
адресного пространства оперативной памяти. Двоичные разряды нумеруются в том же
порядке, что и страницы. Тогда значение двоичного разряда с номером i будет однозначно определять текущее
состояние страницы с номером i.
Страница свободна, если значение равно 0, и распределена, если значение равно
1. Для выделения свободной страницы достаточно найти в двоичном векторе нулевой
разряд, номер которого и будет равен номеру распределяемой страницы. После
распределения нулевой разряд устанавливается в 1.
При данном способе структуризации возможно и используется
перераспределение страниц. Если в некоторый момент обнаруживается, что
свободных страниц нет, то ищется «кандидат» на перераспределение из числа уже
распределенных страниц. Информацию, соответствующую странице-кандидату,
переносят на уровень внешней памяти (в архивную среду). Затем освобожденную
таким «насильственным» образом страницу закрепляют за процессом, выдавшим
требование на выделение страницы. Выбор страницы-кандидата, а также перенос
информации в архив осуществляются механизмами, реализующими решение задач
замещения и перемещения.
2. Специальная
часть
2.1 Постановка целей и задач
Задание:
Разработка модели задачи размещения информации в адресном пространстве ОП при
структуризации фиксированными страницами.
Постановка задачи:
Необходимо смоделировать задачу размещения информации в адресном
пространстве ОП при структуризации фиксированными страницами. Для этого
необходимо создать модель, которая бы занималась структурированием адресного
пространства, в зависимости от размера самого адресного пространства и размера
страниц. Модель должна позволять размещать страницы в адресном пространстве ОП
(в соответствии с алгоритмом) и освобождать, а также замещать при переполнении.
Перечисленные задачи являются отправной точкой для реализации модели и
определяют взаимодействие всех ее элементов.
2.2 Использование
методов имитационного моделирования для решения поставленной задачи
Замещение одного объекта другим с целью получения информации о важнейших
свойствах объекта-оригинала с помощью объекта-модели называется моделированием.
Широкое применение имитационного моделирования в ходе проектирования и
эксплуатации сложных систем делает актуальным задачу создания методик
построения, испытания и верификации имитационного моделирования для сложных
систем.
Основным методом исследования сложных систем является метод
математического моделирования. Под математическим моделированием понимают
описание поведения физических систем при помощи математических уравнений или
соотношений.
Отличительная особенность моделирования как метода исследования
заключается в возможности изучения, прогнозирования и оптимизации таких
процессов и объектов, с которыми очень затруднителен или экономически невыгоден
физический (натурный) эксперимент. Во многих случаях натурный эксперимент
опасен и может быть выполнен лишь один раз (изменение состояния экосистем,
управление климатом), он требует много времени (селекционные исследования) или
попросту невозможен (воспроизводство гео- и астрофизических процессов).
Использование имитационного моделирования рекомендуется в следующих
случаях:
· Нет законченной постановки задачи и идет процесс познания
объекта моделирования;
· Аналитические методы имеются, но позволяют оценить очень
грубо свойства сложной системы;
· Желательно получить характеристики всех входных координат,
компонент, составляющих сложную систему;
· Необходимо произвести моделирование в ускоренном или
замедленном масштабе времени.
Процесс моделирования предполагает наличие объекта исследования;
исследователя, перед которым поставлена конкретная задача; модели, создаваемой
для получения информации об объекте и необходимой для решения поставленной
задачи.
Для моделирования объектов и процессов используется, как правило,
имитационное моделирование. При проведении имитационных экспериментов
моделируются поведение различных частей комплексов (как динамических объектов)
и их взаимодействия с учетом внешних возмущающих факторов и параметрических
возмущений.
Каждая модель представляет собой комбинацию таких составляющих, как
· Компонент — составные части, которые при объединении образуют
систему.
· Переменные — описывают входы и выходы компоненты. В тех
случаях, когда переменные изменяют состояние компоненты, их называют переменные
состояния.
· Параметры — значения характеризующие состояние компоненты.
· Функциональные зависимости — определяют поведение переменных
в пределах компоненты.
· Ограничения — представляют собой устанавливаемые пределы
изменения переменных.
· Целевые функции — характеризируют динамические свойства или
иные свойства системы.
Моделирование с помощью ЭВМ, т.е. имитационное моделирование, является в
настоящее время одним из наиболее эффективных средств исследования сложных
систем (СС).
2.3 Описание
характеристик модели и ее поведения
Так как разрабатываемая модель не рассчитывает на полное описание
функционирования работы управления адресным пространством ОП, то ее параметры и
функции ограничены демонстрацией только некоторых возможностей.
Для реализации всего механизма размещения в адресном пространстве ОП при
структуризации фиксированными страницами создаются: модель адресного
пространства ОП, модель страницы, модель системы.
.3.1 Описание адресного пространства ОП
Параметры:
· размер адресного пространства
· размер страницы
Функции:
· графическое отображение адресного пространства ОП
· изменение размера адресного пространства
· изменение размера страниц
.3.2 Описание страницы
Параметры:
· признак занятости страницы
· размер страницы
· адрес страницы
· имя (идентификатор) страницы
Функции:
· графическое отображение страницы
· вывод информации о странице
.3.3 Описание модели системы
Параметры:
· двоичный вектор (информация о занятых страницах)
· список адресов размещенных страниц
· поля для ввода данных
· кнопки для регистрации ввода
Функции:
· установление значений параметров, введенных пользователем
· поиск свободных страниц, имитация занятости страницы
· очистка адресного пространства
· замещение страниц при переполнении адресного пространства
· освобождение занятых страниц
2.4 Описание
классов и элементов
Программная реализация была выполнена в среде Visual Studio на языке высокого уровня C#.
2.4.1 Описание класса страницы
Страница реализуется при помощи создания пользовательского типаclass Page
, который представляет собой класс страницы:
· string name — имя (идентификатор) страницы
· int size — размер страницы
· int adress — адрес страницы
· bool busy — логическая переменная, определяющая занятость
страницы
· Rectangle rect — графические размеры страницы
· public Page — конструктор для инициализации экземпляра класса
страницы
· public int Size — открытое свойство для изменения размера
страницы
· public int Adress — открытое свойство для изменения адреса
страницы
· public Rectangle Rect — открытое свойство для изменения
графических размеров страницы
· public string Name — открытое свойство для изменения имени
страницы
· public bool Busy — открытое свойство для изменения занятости
страницы
· public void Draw — функция реализующая графическое
отображение страницы
Вид класса страницы в работе и описание составных частей:
Рис.1 «вид страницы в приложении»
.4.2 Описание адресного пространства ОП
Адресное пространство ОП реализуется при помощи стандартной компоненты Visual Studio C# — PictureBox, которая задает область графического отображения адресного пространства
на форме приложения. Помимо нее используются параметры и функции:
· int APOPsize — размер адресного пространства
· private void Form1_Paint(object sender, PaintEventArgs e) — функция обработчик события
графического отображения АП
Вид адресного пространства ОП в работе и описание составных частей:
Рис.2 «вид компоненты адресного пространства»
.4.3 Описание модели системы
Для реализации взаимодействия в модели используются следующие параметры и
функции:
· int count — переменная для задания
идентификатора странице
· int size — переменная для задания размера
страниц
· private void button1_Click(object sender, EventArgs e) — функция обработчик события
размещения страницы в адресном пространстве
· private void button2_Click(object sender, EventArgs e) — функция обработчик события
освобождения страницы
· private void pictureBox1_Paint(object sender, PaintEventArgs e) — функция обработчик события
графического отображения страниц в АП
· private void button3_Click(object sender, EventArgs e) — функция обработчик события
освобождения всех занятых страниц
· private void button4_Click(object sender, EventArgs e) — функция обработчик события задания
размера страниц
· private void button5_Click(object sender, EventArgs e) — функция обработчик события задания
размера АП
Вид системы в работе и описание составных частей
Рис.3 «вид системы при работе»
2.5 Внешний
вид разработанного приложения и описание работы с программой.
При запуске программы мы видим следующее окно:
Рис.4 «вид приложения №1, вид при запуске»
В названии приложения мы видим название программы. Слева располагается
компонента, отображающая адресное пространство ОП. Справа находятся элементы
управления. Пользователю предлагается ввести размер адресного пространства ОП и
нажать кнопку «Задать».
При нажатии на кнопку «Задать» запоминается размер адресного пространства
ОП, поле «Размер АП ОП» и кнопка «Задать» деактивируются, а поле «Размер
страницы» и кнопка «Задать» станут активны.
Рис.5 «вид приложения №2, активация поля «Размер страницы» и кнопки
«Задать»»
После ввода необходимого размера страницы при нажатии кнопки ««Задать»»
запоминается размер страницы. После чего поле «Размер страницы» и кнопка
«Задать» деактивируются и включается кнопка «Добавить»
Рис.6 «вид приложения №3, кнопки «Добавить»»
При нажатии на кнопку «Добавить» происходит размещение в адресном
пространстве страницы информации. Активируется список «Адреса страниц» и кнопка
«Удалить»
Рис.7 «вид приложения №4, размещение в адресном пространстве»
После размещения появляется возможность освободить занятые страницы
Рис.8 «вид приложения №5, освобождение страниц»
После чего при добавлении используются выше освобожденные страницы
Рис.9 «вид приложения №6, повторное заполнение»
При переполнении адресного пространства ОП происходит замещение любой
случайно выбранной страницы
Рис.10 «вид приложения №7, переполнение»
Кнопка «Очистить» позволяет освободить все страницы адресного
пространства ОП.
Рис.11 «вид приложения №8, очистка»
Заключение
В данном курсовой работе была поставлена задача создания модели
размещения информации в адресном пространстве ОП при структуризации
фиксированными страницами.
В результате работы была создана модель, позволяющая пользователю
размещать, освобождать и замещать страницы в адресном пространстве ОП. В
процессе функционирования модели пользователь имеет возможность регулировать
параметры: влиять на размер адресного пространства ОП, изменять размер
страницы. Пользователь может в реальном времени просматривать графическое
отображение занятости ОП. Эта модель демонстрирует данный подхода к структуризации
адресного пространства оперативной памяти и является адекватной системе
управления, так как есть возможность контролировать ход моделирования и
наблюдать за происходящими процессами с помощью таблиц и графического
изображения.
Список
источников
1. Г.
Дейтел «Введение в операционные системы», М.: «Мир» ,1987 г.
. Г.Н.
Соловьѐв, В.Д. Никитин «Операционные системы ЭВМ», М.: «Выс-шая школа»
,1989 г.
. И.В.
Максимей «Имитационное моделирование на ЭВМ», М.: «Радио и связь», 1988 г.
. В.
Столингс «Операционные Системы», М.: «Питер», 2002 г.
. Э.
Троелсен «Язык программирования С# 2005 и платформа .NET 2.0» , М.: «Вильямс»,
2007 г.
Приложение 1.
Листинг исходного кода программы
using
System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Drawing.Drawing2D;Курсовая
{partial class Курсовая : Form
{
Page[] binaryvector; //структура данных хранящая
иформацию о занятых и свободных страницахcount;//вспомогательная переменная для
задания идентификатора страницамAPOPsize;//размер АП ОПsize;//размер страниц
public Курсовая()
{();= 16;= new Page[APOPsize / size];= 0;=
256;
}class Page//класс страницы
{name;//идентификаторsize;//размер
int adress;//адресbusy;//занятость страницы
Rectangle rect;Page(int adress, int size,
Rectangle rect)//конструктор
{.adress = adress;.size = size;.rect = rect;
}int Size
{{ return size; }{ size = value; }
}int Adress
{{ return adress; }{ adress = value; }
}Rectangle Rect
{{ return rect; }{ rect = value; }
}string Name
{{ return name; }{ name = value; }
}bool Busy
{{ return busy; }{ busy = value; }
}void Draw(Graphics g)//отрисовка на форме
{.FillRectangle(new
SolidBrush(Color.Orange), rect);.DrawRectangle(new Pen(Color.Black),
rect);.DrawString(name + » Адрес » + adress +
» Размер » +
size,Font(«Arial», 9), new SolidBrush(Color.Black),.Location);
}
}void button1_Click(object sender, EventArgs
e)//размещение
страницы
{temp = false;(int i = 0; i <
binaryvector.Length; i++)
{(binaryvector[i].Busy == false)
{[i].Name = «Страница » +
count;[i].Busy = true;.Items.Add(binaryvector[i].Adress);= true;;
}(temp == false)
{rnd = new Random();r = rnd.Next(0,
binaryvector.Length);[r].Name = «Страница » + count;
}++;.Refresh();.Enabled = true;.Enabled = true;
;
}void button2_Click(object sender, EventArgs
e)//удаление
(освобождение) страницы
{(int i = 0; i < binaryvector.Length;
i++)
{(Convert.ToInt32(listBox1.SelectedItem)
==.ToInt32(binaryvector[i].Adress))
{.Items.Remove(Convert.ToInt32
(binaryvector[i].Adress));[i].Busy =
false;.Refresh();
}
}temp = false;(int i = 0; i <
binaryvector.Length; i++)
{(binaryvector[i].Busy == true)
{= true;
}
}(temp == false)
{.Enabled = false;.Enabled = false;
}
}void Form1_Paint(object sender,
PaintEventArgs e)//отображение
АП ОП
{.Graphics.DrawString(«0», new
Font(«Arial», 9),SolidBrush(Color.Black), pictureBox1.Location.X —
10,.Location.Y — 10);.Graphics.DrawString(Convert.ToString(APOPsize), new
Font(«Arial»,
), new SolidBrush(Color.Black),
pictureBox1.Location.X — 25,.Location.Y + pictureBox1.Height);
}void pictureBox1_Paint(object sender,e)//отображение страниц
{(binaryvector.Length != 0)
{(int i = 0; i < binaryvector.Length;
i++)
{(binaryvector[i].Busy == true)
{[i].Draw(e.Graphics);
}
}
}
}void button3_Click(object sender, EventArgs
e)//освобождение АП
{.Enabled = false;.Enabled = false;.Enabled
= false;.Enabled = true;.Enabled = true;.Enabled = false;.Enabled =
false;.Items.Clear();(int i = 0; i < binaryvector.Length; i++)
{[i].Busy = false;
}= 0;.Refresh();
}void button4_Click(object sender, EventArgs
e)//задание размер
страниц
{=
Convert.ToInt32(comboBox2.SelectedItem);(size <= APOPsize)
{= new Page[APOPsize / size];(int i = 0; i
< binaryvector.Length; i++)
{[i] = new Page(i * size, size,Rectangle(new
Point(0, i * pictureBox1.Height /.Length), new Size(pictureBox1.Width,.Height /
binaryvector.Length)));
}.Enabled = false;.Enabled = false;.Enabled
= true;
}MessageBox.Show(«Размер страницы должен быть
меньше
размера адресного пространства»);
}
private void button5_Click(object sender,
EventArgs e)//задание размера
АП
{=
Convert.ToInt32(comboBox1.SelectedItem);.Refresh();.Enabled = false;.Enabled =
false;.Enabled = true;.Enabled = true;
}
}
}
Классификация запоминающих устройств и систем памяти позволяет выделить общие и характерные особенности их организации, систематизировать базовые принципы и методы, положенные в основу их реализации и использования.
Устройства памяти подразделяются по двум основным критериям: по функциональному назначению (роли или месту в иерархии памяти) и принципу организации.
Классификация ЗУ по функциональному назначению (иерархия запоминающих устройств)
Память ЭВМ почти всегда является «узким местом», ограничивающим производительность компьютера. Поэтому в ее организации используется ряд приемов, улучшающих временные характеристики памяти и, следовательно, повышающих производительность ЭВМ в целом.
Память вычислительной машины представляет собой иерархию запоминающих устройств (внутренние регистры процессора, различные типы сверхоперативной и оперативной памяти, диски, ленты), отличающихся средним временем доступа и стоимостью хранения данных в расчете на один бит. Пользователю хотелось бы иметь и недорогую и быструю память. Кэш-память представляет некоторое компромиссное решение этой проблемы.
Кэш-память — это способ организации совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который позволяет уменьшить среднее время доступа к данным за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из медленного ЗУ.
Кэш-памятью часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств — «быстрое» ЗУ. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем.
Верхнее место в иерархии памяти занимают регистровые ЗУ, которые входят в состав процессора и часто рассматриваются не как самостоятельный блок ЗУ, а просто как набор регистров процессора. Такие ЗУ в большинстве случаев реализованы на том же кристалле, что и процессор, и предназначены для хранения небольшого количества информации (до нескольких десятков слов, а в RISC-архитектурах – до сотни), которая обрабатывается в текущий момент времени или часто используется процессором. Это позволяет сократить время выполнения программы за счет использования команд типа регистр-регистр и уменьшить частоту обменов информацией с более медленными ЗУ ЭВМ. Обращение к этим ЗУ производится непосредственно по командам процессора.
Следующую позицию в иерархии занимают буферные ЗУ (кэш-память). Их назначение состоит в сокращении времени передачи информации между процессором и более медленными уровнями памяти компьютера. Буферная память может устанавливаться на различных уровнях, но здесь речь идет именно об указанном ее местоположении.
Еще одним (внутренним) уровнем памяти являются служебные ЗУ. Они могут иметь различное назначение. Одним из примеров таких устройств являются ЗУ микропрограмм выполнения команд процессора, а также различных служебных операций (например, хранение таблиц адресов данных в кэше процессора). Специфика назначения предполагает недоступность их командам процессора.
Следующим уровнем иерархии памяти является оперативная память. Оперативное ЗУ (ОЗУ) является основным запоминающим устройством ЭВМ, в котором хранятся выполняемые в настоящий момент процессором программы и обрабатываемые данные, резидентные программы, модули операционной системы и т.п. Информация, находящаяся в ОЗУ, непосредственно доступна командам процессора, при условии соблюдения требований защиты.
Еще одним уровнем иерархии ЗУ может являться дополнительная память, которую иногда называли расширенной или массовой. Эта ступень использовалась для наращивания емкости оперативной памяти до величины, соответствующей адресному пространству с помощью подключения более дешевого и емкого, чем ОЗУ, но более медленного запоминающего устройства.
В состав памяти ЭВМ входят также ЗУ, принадлежащие отдельным функциональным блокам компьютера. Формально эти устройства непосредственно не обслуживают основные потоки данных и команд, проходящие через процессор. Их назначение обычно сводится к буферизации данных, извлекаемых из каких-либо устройств и поступающих в них. Типичные примеры такой памяти – видеопамять графического адаптера и буферная память контроллеров жестких дисков и других внешних запоминающих устройств. Емкости и быстродействие этих видов памяти зависят от конкретного функционального назначения обслуживаемых ими устройств. Для видеопамяти, например, объем может достигать величин, сравнимых с оперативными ЗУ, а быстродействие – даже превосходить быстродействие последних.
Следующей ступенью памяти, являются жесткие диски. В этих ЗУ хранится практически вся информация, начиная от операционной системы и основных прикладных программ и кончая редко используемыми пакетами и справочными данными. Эти ЗУ обладают большей емкостью, чем остальные виды памяти и используются для постоянного хранения данных.
Все остальные запоминающие устройства можно объединить с точки зрения функционального назначения в одну общую группу, охарактеризовав ее как группу внешних ЗУ. Под словом “внешние” следует подразумевать то, что информация, хранимая в этих ЗУ, в общем случае расположена на носителях не являющихся частью собственно ЭВМ. Это дискеты, флеш-накопители, CD, DVD, BD-диски и др.
Классификация зу по принципу организации.
Особенности организации ЗУ определяются, в первую очередь, используемыми технологиями, логикой их функционирования, а также некоторыми другими факторами. Эти особенности и соответствующие разновидности ЗУ перечисляются ниже.
По функциональным возможностям ЗУ можно разделять:
-
простые, допускающие только хранение информации;
-
многофункциональные, которые позволяют не только хранить, но и перерабатывать хранимую информацию без участия процессора непосредственно в самих ЗУ.
По возможности изменения информации различают ЗУ:
-
постоянные (или с однократной записью – CD-ROM, ПЗУ);
-
односторонние (с перезаписью или перепрограммируемые – CD-RW);
-
двусторонние (имеют близкие значения времен чтения и записи – HDD).
По способу доступа различают ЗУ:
-
с адресным доступом (произвольный, последовательный);
-
с ассоциативным доступом (по ключу).
По организации носителя различают ЗУ:
-
с неподвижным носителем (SDD, flash);
-
с подвижным носителем (HDD).
По способу подключения к системе ЗУ делятся на:
-
внутренние (стационарные);
-
внешние (съемные).
По количеству блоков, образующих модуль или ступень памяти, можно различать:
-
одноблочные ЗУ;
-
многоблочные ЗУ (позволяют обрабатывать данные параллельно).
Состав, устройство и принцип действия основной памяти
Комплекс технических средств, реализующих функцию памяти, называется запоминающим устройством (ЗУ). ЗУ необходимы для размещения в них команд и данных. Они обеспечивают центральному процессору доступ к программам и информации.
Запоминающие устройства делятся на:
-
основную память (ОП),
-
сверхоперативную память (СОЗУ) – устаревшее название кэш и/или регистровой памяти
-
внешние запоминающие устройства (ВЗУ).
Основная память включает в себя два типа устройств: оперативное запоминающее устройство (ОЗУ или RAM — Random Access Memory) и постоянное запоминающее устройство (ПЗУ или ROM — Read Only Memory).
ОЗУ предназначено для хранения переменной информации. Оно допускает изменение своего содержимого в ходе выполнения процессором вычислительных операций с данными и может работать в режимах записи, чтения, хранения.
ПЗУ содержит информацию, которая не должна изменяться в ходе выполнения процессором вычислительных операций, например стандартные программы и константы. Эта информация заносится в ПЗУ перед установкой микросхемы в ЭВМ. Основными операциями, которые может выполнять ПЗУ, являются чтение и хранение.
Функциональные возможности ОЗУ шире, чем ПЗУ Но ПЗУ сохраняет информацию при отключении питания (т.е. является энергонезависимой памятью) и может иметь более высокое быстродействие, так как ограниченность функциональных возможностей ПЗУ и его специализация на чтении и хранении позволяют сократить время выполнения реализуемых им операций считывания.
В современных ЭВМ микросхемы памяти (ОП и СОЗУ) изготавливают из кремния по полупроводниковой технологии с высокой степенью интеграции элементов на кристалле (микросхемы памяти относятся к так называемым “регулярным” схемам, что позволяет сделать установку элементов памяти в кристалле (чипе) настолько плотной, что размеры элементов памяти становятся сопоставимыми с размерами отдельных атомов).
Основной составной частью микросхемы является массив элементов памяти (ЭП), объединенных в матрицу накопителя.
Каждый элемент памяти может хранить 1 бит информации и имеет свой адрес. ЗУ, позволяющие обращаться по адресу к любому ЭП в произвольном порядке, называются запоминающими устройствами с произвольным доступом.
При матричной организации памяти реализуется координатный принцип адресации ЭП, в связи с чем адрес делится на две части (две координаты) — Х и Y. На пересечении этих координат находится элемент памяти, чья информация должна быть прочитана или изменена.
ОЗУ связано с остальным микропроцессорным комплектом ЭВМ через системную магистраль (рис.1).
Рис. 1. Структурная схема ОЗУ
По шине управления передается сигнал, определяющий, какую операцию необходимо выполнить.
По шине данных передается информация, записываемая в память или считываемая из нее.
По шине адреса передается адрес участвующих в обмене элементов памяти (поскольку данные передаются машинными словами, а один ЭП может воспринять только один бит информации, блок элементов памяти состоит из n матриц ЭП, где n —количество разрядов в машинном слове). Максимальная емкость памяти определяется количеством линий в шине адреса системной магистрали.
Микросхемы памяти могут строиться на статических (SRAM) и динамических (DRAM) ЭП. В качестве статического ЭП чаще всего выступает статический триггер. В качестве динамического ЭП может использоваться электрический конденсатор, сформированный внутри кремниевого кристалла.
Статические ЭП способны сохранять свое состояние (0 или 1) неограниченно долго (при включенном питании). Динамические ЭП с течением времени записанную в них информацию теряют (например, из-за саморазряда конденсатора), поэтому они нуждаются в периодическом восстановлении записанной в них информации — в регенерации.
Микросхемы элементов памяти динамических ОЗУ отличаются от аналогичных ЭП статических ОЗУ меньшим числом компонентов в одном элементе памяти, в связи с чем имеют меньшие размеры и могут быть более плотно упакованы в кристалле. Однако из-за необходимости регенерации информации динамические ОЗУ имеют более сложные схемы управления.
Основными характеристиками ОЗУ являются объем и быстродействие.
На производительность ЭВМ влияет не только время доступа, но и такие параметры (связанные с ОЗУ), как тактовая частота и разрядность шины данных системной магистрали. Если тактовая частота недостаточно высока, то ОЗУ простаивает в ожидании обращения. При тактовой частоте, превышающей возможности ОЗУ, в ожидании будет находиться системная магистраль, через которую поступил запрос в ОЗУ.
ПЗУ (энергонезависимая память)
Микросхемы ПЗУ также построены по принципу матричной структуры накопителя. Функции элементов памяти в них выполняют перемычки в виде проводников, полупроводниковых диодов или транзисторов. В такой матрице наличие перемычки может означать “1”, а ее отсутствие — “О”. Занесение формации в микросхему ПЗУ называется еепрограммированием, а устройство, с помощью которого заносится информация, — программатором. Программирование ПЗУ заключается в устранении (прожигании) перемычек по тем адресам, где должен храниться “О”. Обычно схемы ПЗУ допускают только одно программирование, но специальные микросхемы — репрограммируемые ПЗУ (РПЗУ) — допускают их многократное стирание и занесение новой информации. Этот вид микросхем также относится к энергонезависимым, т.е. может длительное время сохранять информацию при выключенном питании (стирание микросхемы происходит либо за счет подачи специального стирающего напряжения, либо за счет воздействия на кристалл ультрафиолетового излучения, для этого в корпусе микросхемы оставляется прозрачное окно).
Сверхоперативные ЗУ(в настоящее время это кэш-память) используются для хранения небольших объемов информации и имеют значительно меньшее время (в 2 — 10 раз) считывания/записи, чем основная память. СОЗУ (или кэш) обычно строятся на регистрах и регистровых структурах.
Регистр представляет собой электронное устройство, способное хранить занесенное в него число неограниченно долго (при включенном питании). Наибольшее распространение получили регистры на статических триггерах.
По назначению регистры делятся на регистры хранения и регистры сдвига. Информация в регистры может заноситься и считываться либо параллельно, сразу всеми разрядами, либо последовательно, через один из крайних разрядов с последующим сдвигом занесенной информации.
Сдвиг записанной в регистр информации может производиться вправо или влево. Если регистр допускает сдвиг информации в любом направлении, он называется реверсивным.
Регистры могут быть объединены в единую структуру. Возможности такой структуры определяются способом доступа и адресации регистров.
Если к любому регистру можно обратиться для записи/чтения по его адресу, такая регистровая структура образует СОЗУ с произвольным доступом.
Безадресные регистровые структуры могут образовывать два вида устройств памяти: магазинного типа и память с выборкой по содержанию (ассоциативные ЗУ).
Память магазинного типа образуется из последовательно соединенных регистров (рис. 2).
Если запись в регистровую структуру (рис.2,а) производится через один регистр, а считывание — через другой, то такая память является аналогом магазинной памяти и работает по принципу “первым вошел — первым вышел” (FIFO — first input, first output).
Если же запись и чтение осуществляются через один и тот же регистр (рис. 2,б), такое устройство называется стековой памятью, работающей по принципу “первым вошел — последним вышел” (FILO — first input, last output). При записи числа в стековую память сначала содержимое стека сдвигается в сторону последнего, К-го регистра (если стек был полностью заполнен, то число из К-го регистра теряется), а затем число заносится в вершину стека -регистр 1. Чтение осуществляется тоже через вершину стека, после того как число из вершины прочитано, стек сдвигается в сторону регистра 1.
Рис.2. Регистровая структура магазинного типа: а — типа FIFO; б — типа FILO
Стековая память получила широкое распространение. Для ее реализации в ЭВМ разработаны специальные микросхемы. Но часто работа стековой памяти эмулируется в основной памяти ЭВМ: с помощью программ операционной системы выделяется часть памяти под стек (в IBM PC для этой цели выделяется 64 Кбайта). Специальный регистр микропроцессора (указатель стека) постоянно хранит адрес ячейки ОП, выполняющей функции вершины стека. Чтение числа всегда производится из вершины стека, после чего указатель стека изменяется и указывает на очередную ячейку стековой памяти (т.е. фактически стек остается неподвижным, а перемещается вершина стека). При записи числа в стек сначала номер ячейки в указателе стека модифицируется так, чтобы он указывал на очередную свободную ячейку, после чего производится запись числа по этому адресу. Такая работа указателя стека позволяет реализовать принцип “первым вошел — последним вышел”. В стек может быть загружен в определенной последовательности ряд данных, которые впоследствии считываются из стека уже в обратном порядке, на этом свойстве построена система арифметических преобразований информации, известная под названием “логика Лукашевича”.
Память с выборкой по содержанию является безадресной. Обращение к ней осуществляется по специальной маске, которая содержит поисковый образ. Информация считывается из памяти, если часть ее соответствует поисковому образу, зафиксированному в маске. Например, если в такую память записана информация, содержащая данные о месте жительства (включая город), и необходимо найти сведения о жителях определенного города, то название этого города помещается в маску и дается команда чтение — из памяти выбираются все записи, относящиеся к заданному городу.
В микропроцессорах ассоциативные ЗУ используются в составе кэш-памяти для хранения адресной части команд и операндов исполняемой программы. При этом нет необходимости обращаться к ОП за следующей командой или требуемым операндом: достаточно поместить в маску необходимый адрес, если искомая информация имеется в СОЗУ, то она будет сразу выдана. Обращение к ОП будет необходимо лишь при отсутствии требуемой информации в СОЗУ. За счет такого использования СОЗУ сокращается число обращений к ОП, а это позволяет экономить время, так как обращение к СОЗУ требует в 2 — 10 раз меньше времени, чем обращение к ОП.
Кэш-память может быть размещена в кристалле процессора (так называемая “кэш-память I уровня”) или выполнена в виде отдельной микросхемы (внешняя кэш-память или кэш-память II уровня). Встроенная кэш-память (I уровня) в процессорах Pentium имеет объем около 16 Кбайт, время доступа — 5 — 10 нс, работает с 32-битными словами и при частотах 75-166 МГц обеспечивает пропускную способность от 300 до 667 Мбайт/с. Внешняя кэш память (II уровня) имеет объем 256 Кбайт — 1 Мбайт, время доступа — 15 нc, работает с 64-битными словами и при частоте 66 МГц обеспечивает максимальную пропускную способность 528 Мбайт/с. Конструктивно исполняется либо в виде 28-контактной микросхемы, либо в виде модуля расширения на 256 или 512 Кбайт.
Рис. 3. Возможный состав системы памяти ЭВМ
) 1 такт
Кэш 1-го уровня – 8 Кслов, ( не более 128 Кб ) 1-2 такта
Кэш 2-го уровня – 256 Кслов, (от 128 Кбайт до 1−12 Мбайт) 3-5 тактов
Кэш 3-го уровня – 1 Мслов, (более 24 Мбайт) 6-11 тактов
Основная память – 4 Гслов, 12-55 тактов
Внешняя память – к*Тслов, от 106 слов
Буферные ЗУ:Их назначение состоит в сокращении времени передачи информации между процессором и более медленными уровнями памяти компьютера. Буферная память может устанавливаться на различных уровнях. Ранее такие буферные ЗУ в отечественной литературе называлисверхоперативными (СОЗУ), сейчас это название практически полностью вытеснил термин «кэш-память» или простокэш.
Принцип использования буферной памяти во всех случаях сводится к одному и тому же. Буфер представляет собой более быстрое (а значит, и более дорогое), но менее емкое ЗУ, чем то, для ускорения работы которого он предназначен. При этом в буфере размещается только та часть информации из более медленного ЗУ, которая используется в настоящий момент.
Конструктивно кэш уровня L1 входит в состав процессора (поэтому его иногда называют внутренним). Кэш уровня L2 либо также входит в микросхему процессора, либо может быть реализован в виде отдельной памяти. Как правило, на параметры быстродействия процессора большее влияние оказывают характеристики кэш-памяти первого уровня.
Время обращения к кэш-памяти, которая обычно работает на частоте процессора, составляет от десятых долей до единиц наносекунд, т.е. не превышает длительности одного цикла процессора.
Обмен информацией между кэш-памятью и более медленными ЗУ для улучшения временных характеристик выполняется блоками, а не байтами или словами.Управляют этим обменом аппаратные средства процессора и операционная система, и вмешательство прикладной программы не требуется. Причем непосредственно командам процессора кэш-память недоступна, т.е. программа не может явно указать чтение или запись в кэш-памяти, которая является для нее, как иногда говорят, “прозрачной” (прямой перевод используемого в англоязычной литературе словаtransparent).
Кэш (cache) — это память быстрого доступа, расположенная непосредственно в процессоре (в старых ЦП в виде микросхемы). Эта характеристика не так важна, как тактовая частота, но все же будет не приятно если кэш будет маленьким. В нем храниться информация с наибольшей вероятностью запроса. Доступ к этой информации будет воспроизведен мгновенно, этим cache отличается от оперативной памяти.