Организация памяти в вычислительных машинах. Физическая и логическая организация памяти вычислительных систем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Статические

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

Постоянные

Флэш память

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Из микросхем памяти (чипов) создаются модули памяти, которые устанавливаются в специальные слоты (разъемы) вычислительной системы. Сейчас наиболее распространены DIMM модули - модули памяти с двумя рядами контактов.

Разрядность адресной шины определяет адресное пространство, то есть количество ячеек памяти, которые могут адресоваться непосредственно. Если разрядность адресной шины - n, то количество всех возможных двоичных комбинаций (количество адресов) определится как N = 2n.

Рис. 1. Организация связи системы памяти с процессором

Память вычислительного устройства может выполнять три операции:

a) хранение информации;

b) запись информации;

c) чтение информации.

Характеристики памяти:

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

Удельная емкость определяется как отношение емкости памяти к физически занимаемому ею объему.

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

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

Классификация памяти:

Память с произвольным доступом

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

Прямой циклический доступ

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

Последовательный доступ

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

Безадресная память

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

Классификация памяти по функциональному назначению:

ПЗУ - постоянные запоминающие устройства или ROM (Read Only- Memory), служат для хранения постоянных данных и служебных программ.

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

ОЗУ - оперативное запоминающее устройство или RAM (Random Access Memory - память с произвольной выборкой), служит для хранения выполняемой программы и оперативных данных. Если к любому регистру можно обратиться для записи/чтения по его адресу, то такая регистровая структура образует СОЗУ с произвольным доступом.

Классификация по способу хранения информации:

Статическая память

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

Динамическая память

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

Постоянная память

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

Голографическая память

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

Биологическая память

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

Память на магнитных носителях

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

Оптическая память

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

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

Тема 3.1Организация вычислений в вычислительных системах

Назначение и характеристики ВС. Организация вычислений в вычислительных системах. ЭВМ параллельного действия, понятия потока команд и потока данных. Ассоциативные системы. Матричные системы. Конвейеризация вычислений. Конвейер команд, конвейер данных. Суперскаляризация.

Студент должен

знать:

Понятие потока команд;

Понятие потока данных;

Типы вычислительных систем;

Архитектурные особенности вычислительных систем

Вычислительные системы

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

Создание ВС преследует следующие основные цели:

· повышение производительности системы за счёт ускорения процессов обработки данных;

· повышение надёжности и достоверности вычислений;

· предоставление пользователю дополнительных сервисных услуг т.д.

Тема 3.2

Классификация ВС в зависимости от числа потоков команд и данных: ОКОД (SISD), ОКМД (SIMD), МКОД (MISD), МКМД (MIMD).

Классификация многопроцессорных ВС с разными способами реализации памяти совместного использования: UMA, NUMA, СОМА. Сравнительные характеристики, аппаратные и программные особенности.

Классификация многомашинных ВС: МРР, NDW и COW. Назначение, характеристики, особенности.

Примеры ВС различных типов. Преимущества и недостатки различных типов вычислительных систем.

Классификация вычислительных систем

Отличительной особенностью ВС по отношению к классическим ЭВМ является наличие в ней нескольких вычислителей, реализующих параллельную обработку .

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

Вычислительные системы можно разделить на две группы:

· многомашинные ;

· многопроцессорные .

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

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

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

Особенностью многопроцессорных вычислительных систем является наличие общей оперативной памяти в качестве общего ресурса (рисунок 11).

Рисунок 11 - Архитектура многопроцессорной вычислительной системы

Классификация Флинна

Среди всех рассматриваемых систем классификации ВС наибольшее распространение получила классификация, предложенная в 1966г М. Флинном. В её основу положено понятие потока , под которым понимается последовательность элементов команд или данных, обрабатываемая процессором. В зависимости от количества потоков команд и потоков данных Флинн выделяет 4 класса архитектур:

· ОКОД – одиночный поток команд - одиночный поток данных. К ним относятся классические фон – неймановские ВМ. Конвейерная обработка не имеет значения, поэтому в класс ОКОД попадают как ВМ 6600 со скалярными функциональными устройствами, так и 7600 с конвейерными.

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

· ОКМД – один поток команд – много потоков данных – команды выдаются одним управляющим процессором, а выполняются одновременно на всех обрабатывающих процессорах над локальными данными этих процессоров. SIMD (single instruction – multiple data)

· МКМД – много потоков команд - много потоков данных- совокупность компьютеров, работающих по своим программам со своими исходными данными. MIMD (multiple instruction – multiple data)

Схема классификации Флинна является наиболее распространённой при первоначальной оценке ВС, поскольку сразу позволяет оценить базовый принцип работы системы. Однако у классификации Флинна имеются и очевидные недостатки: например, неспособность однозначно отнести некоторые архитектуры к тому или иному классу. Второй недостаток - чрезмерная насыщенность класса MIMD.

Существующие вычислительные системы класса MIMD образуют три подкласса: симметричные мультипроцессоры (SMP) , кластеры и массово параллельные системы (MPP). В основе этой классификации лежит структурно – функциональный подход.

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

Использование SMP обеспечивает следующие возможности:

· масштабирование приложений при низких начальных затратах, путём применения без преобразования приложений на новых более производительных аппаратных средствах;

· создание приложений в привычных программных средах;

· одинаковое время доступа ко всей памяти;

· возможность пересылки сообщений с большой пропускной способностью;

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

Кластерная система образуется из модулей, объединённых системой связи или разделяемыми устройствами внешней памяти, например, дисковыми массивами.

Размер кластера варьируется от нескольких модулей до нескольких десятков модулей.

В рамках как совместно используемой, так и распределенной памяти реализуется несколько моделей архитектур системы памяти. На рисунке 12 приведена классификация таких моделей, применяемых в вычислительных системах класса MIMD (верна и для класса SIMD).

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

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

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

Технически UMА-системы предполагают наличие узла, соединяющего каждый из п процессоров с каждым из т модулей памяти. Простейший путь построения таких ВС - объединение нескольких процессоров (Р i .) с единой памятью (М P) посредством общей шины - показан на рисунке 12а. В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, то есть процессоры должны соперничать за доступ к шине. Когда процессор Р i , выбирает из памяти команду, остальные процессоры Р j (i ≠ j )должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать: пока один процессор декодирует и выполняет команду, другой вправе использовать шину для выборки из памяти следующей команды. Однако когда добавляется третий процессор, производительность начинает падать. При наличии на шине десяти процессоров кривая быстродействия шины (рисунок 12б)становится горизонтальной, так что добавление 11-го процессора уже не дает повышения производительности. Нижняя кривая на этом рисунке иллюстрирует тот факт, что память и шина обладают фиксированной пропускной способностью, определяемой комбинацией длительности цикла памяти и протоколом шины, и в многопроцессорной системе с общей шиной эта пропускная способность распределена между несколькими процессорами. Если длительность цикла процессора больше по сравнению с циклом памяти, к шине можно подключать много процессоров. Однако фактически процессор обычно намного быстрее памяти, поэтому данная схема широкого применения не находит.

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

К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4-8 процессоров, значительно реже 32-64 процессора. Кроме того, подобные системы нельзя отнести к отказоустойчивым , так как отказ одного процессора или модуля памяти влечет отказ всей ВС.

Рисунок 13 - Общая память:

а)объединение процессоров с помощью шины и система с локальными кэшами;

б) производительность системы как функция от числа процессоров на шине;

в) многопроцессорная ВС с общей памятью, состоящей из отдельных модулей

Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти , обозначаемый как NUMA (Non-Uniform Memory Access). Здесь, по-прежнему, фигурирует единое адресное пространство, но каждый процессор имеет локальную память. Доступ процессора к собственной локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные запоминающие устройства играют роль быстрой кэш-памяти для глобальной памяти. Подобная схема может улучшить производительность ВС, но не в состоянии неограниченно отсрочить выравнивание прямой производительности. При наличии у каждого процессора локальной кэш-памяти (рисунок 13а) существует высокая вероятность (р> 0,9) того, что нужные команда или данные уже находятся в локальной памяти. Разумная вероятность попадания в локальную память существенно уменьшает число обращений процессора к глобальной памяти и, таким образом, ведет к повышению эффективности. Место излома кривой производительности (верхняя кривая на рисунке 13б), соответствующее точке, в которой добавление процессоров еще остается эффективным, теперь перемещается в область 20 процессоров, а точка, где кривая становится горизонтальной, - в область 30 процессоров.

В рамках концепции NUMA реализуется несколько различных подходов, обозначаемых аббревиатурами СОМА, CC-NUMA и NCC-NUMA.

В архитектуре только с кэш-памятью (СОМА, Cache Only Memory Architecture) локальная память каждого процессора построена как большая кэш-память для быстрого доступа со стороны «своего» процессора. Кэши всех процессоров в совокупности рассматриваются как глобальная память системы. Собственно глобальная память отсутствует. Принципиальная особенность концепции СОМА выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной. В архитектуре СОМА данные переносятся в кэш-память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью. Для организации такого режима используют так называемые каталоги кэшей . Отметим также, что последняя копия элемента данных никогда из кэш-памяти не удаляется.

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

Модель кэш-когерентного доступа к неоднородной памяти (CC-NUMA, Cache Coherent Non-Uniform Memory Architecture) принципиально отличается от модели СОМА. В системе CC-NUMA используется не кэш-память, а обычная физически распределенная память. Не происходит никакого копирования страниц или данных между ячейками памяти. Нет никакой программно реализованной передачи сообщений. Существует просто одна карта памяти, с частями, физически связанными медным кабелем, и «умные» аппаратные средства. Аппаратно реализованная кэш-когерентность означает, что не требуется какого-либо программного обеспечения для сохранения множества копий обновленных данных или их передачи. Со всем этим справляется аппаратный уровень. Доступ к локальным модулям памяти в разных узлах системы может производиться одновременно и происходит быстрее, чем к удаленным модулям памяти.

Отличие модели с кэш-некогерентным доступом к неоднородной памяти (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) от CC-NUMA очевидно из названия. Архитектура памяти предполагает единое адресное пространство, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление использованием таких данных полностью возлагается на программное обеспечение (приложения или компиляторы). Несмотря на это обстоятельство, представляющееся недостатком архитектуры, она оказывается весьма полезной при повышении производительности вычислительных систем с архитектурой памяти типа DSM, рассматриваемой в разделе «Модели архитектур распределенной памяти».

В целом, ВС с общей памятью, построенные по схеме NUMA, называют архитектурами с виртуальной общей памятью (virtual shared memory architectures). Данный вид архитектуры, в частности CC-NUMA, в последнее время рассматривается как самостоятельный и довольно перспективный вид вычислительных систем класса M1MD.

Модели архитектур распределенной памяти. В системе с распределенной памятью каждый процессор обладает собственной памятью и способен адресоваться только к ней. Некоторые авторы называют этот тип систем многомашинными ВС или мультикомпьютерами , подчеркивая тот факт, "что блоки, из которых строится система, сами по себе являются небольшими вычислительными системами с процессором и памятью. Модели архитектур с распределенной памятью принято обозначать как архитектуры без прямого доступа к удаленной памяти (NORMA, No Remote Memory Access). Такое название следует из того факта, что каждый процессор имеет доступ только к своей локальной памяти. Доступ к удаленной памяти (локальной памяти другого процессора) возможен только путем обмена сообщениями с процессором, которому принадлежит адресуемая память.

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

Студент должен

знать:

Классификацию ВС;

Примеры ВС различных типов.

уметь:

- выбирать тип вычислительной системы в соответствии с решаемой задачей.


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22

Организация памяти МПС. Сегментация памяти. Вычисление адреса. Внутренняя КЭШ память .

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

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

Рисунок 7.4.1. Схема подключения модуля памяти.

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

– память программы начального запуска, выполненная на ПЗУ или флэш-памяти;

– память для стека или стек (Stack) – это часть оперативной памяти, пред­назначенная для временного хранения данных;

– таблица векторов прерываний, содержащая адреса начала программ обработки прерываний;

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

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

Часто простран­ство памяти делится на сегменты с программно изменяемым адресом начала сегмента и с установленным размером сегмента. Например, в процессоре Intel 8086 сегментирование памяти организовано следующим образом.

Вся память системы представляется не в виде непрерывного пространства, а в виде нескольких кусков – сегментов заданного размера (по 64 Кбайта), положение которых в пространстве памяти можно изменять программным путем.

Для хранения кодов адресов памяти используются не отдельные регистры, а пары регистров:

Сегментный регистр определяет адрес начала сегмента (то есть положение сегмента в памяти);

Регистр указателя (регистр смещения) определяет положение рабочего адреса внутри сегмента.

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

Рисунок 7.4.2. Формирование физического адреса памяти из адреса сегмента и смещения.

Положение этого адреса в памяти показано на рисунке7.4.3.

Рисунок 7.4.3. Положение физического адреса в памяти

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

Отметим, что введение сегментирования, прежде всего, связано с тем, что внутренние регистры процессора 16-разрядные, а физический адрес памяти 20-разрядный (16-разрядный адрес позволяет использовать память только в 64 Кбайт, что явно недостаточно).

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: