Организация ЭВМ и систем

         

Выборка широким словом


Прямой способ сокращения числа обращений к ОП состоит в организа­ции выборки широким словом.

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

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

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

Примером организации широкой ОП является система Alpha AXP21064, в которой кэш второго уровня, шина памяти и сама ОП имеют разрядность 256 бит.


Расслоение обращений

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

Целью данного мето­да является увеличение скорости доступа к памяти посредством совмещения фаз обращений ко многим модулям памяти. Известно несколько вариантов организации расслоения. Наиболее часто используется способ расслоения обращений за счет расслоения адресов. Этот способ основывается на свой­стве локальности программ и данных, предполагающем, что адрес следую­щей команды программы на единицу больше адреса предыдущей (линей­ность программ нарушается только командами перехода). Аналогичная по­следовательность адресов генерируется процессором при чтении и записи слов данных. Таким образом, типичным случаем распределения адресов об­ращений к памяти является последовательность вида а, а+ 1, а + 2,... Из этого следует, что расслоение обращений возможно, если ячейки с адресами а, а+ 1, а + 2,... будут размещаться в блоках 0, 1,2,... Такое распределение яче­ек по модулям (банкам) обеспечивается за счет использования адресов вида



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

Принцип расслоения обращений иллюстрируется на рис. 4.20,а. Все про­граммы и данные «размещаются» в адресном пространстве последовательно. Однако ячейки памяти, имеющие смежные адреса, находятся в различных физических модулях памяти. Если ОП состоит из 4-х модулей, то номер мо­дуля кодируется двумя младшими разрядами адреса. При этом полные т-разрядные адреса 0, 4, 8,... будут относиться к блоку 0, адреса 1, 5, 9, ... - к блоку 1, адреса 2, 6, 10,...


— к блоку 2 и адреса 3, 7, 11,... - к блоку 3. В ре­зультате этого последовательность обращений к адресам 0, 1, 2, 3, 4, 5, ... будет расслоена между модулями 0,1,2,3,0,1,....



Поскольку каждый физический модуль памяти имеет собственные схе­мы управления выборкой, можно обращение к следующему модулю произ­водить, не дожидаясь ответа от предыдущего. Так на временной диаграмме (рис. 4.20,6) показано, что время доступа к каждому модулю составляет т = 4Т, где Т = ti+1-ti - длительность такта. В каждом такте следуют непре­рывно обращения к модулям памяти в моменты времени t1, t2, t3 ... .



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

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

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

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

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

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

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



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

Если система памяти разработана для поддержки множества независи­мых запросов (как это имеет место при работе с кэш-памятью, при реализа­ции многопроцессорной и векторной обработки), эффективность системы будет в значительной степени зависеть от частоты поступления независимых запросов к разным модулям. Обращения по последовательным адресам, или в более общем случае обращения по адресам, отличающимся на нечетное чис­ло, хорошо обрабатываются традиционными схемами расслоения памяти. Проблемы возникают, если разница в адресах последовательных обращений четная. Одно из решений, используемое в больших компьютерах, заключает­ся в том, чтобы статистически уменьшить вероятность подобных обращений путем значительного увеличения количества модулей памяти. Например, в суперкомпьютере NEC SX/3 используются 128 модулей памяти.

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

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

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


Содержание раздела