рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Порядок доступа к памяти в SPARC

Порядок доступа к памяти в SPARC - раздел История, История операционных систем Современные Процессоры Предоставляют Возможность Управлять Порядком Доступа К...

Современные процессоры предоставляют возможность управлять порядком доступа команд к памяти. Например, у микропроцессоров SPARCv9 определены три режима работы с памятью (модели памя­ти), переключаемые битами в статусном регистре процессора. Свободный доступ к памяти (RMO, Relaxed Memory Order), когда процессор использует все средства кэширования и динамического переупорядочения ко­манд, и не пытается обеспечить никаких требований к упорядоченности выбор­ки и сохранению операндов в основной памяти.

Частично упорядоченный доступ (PSO, Partial Store Order), когда процессор по-прежнему использует и кэширование, и переупорядочивание, но в потоке команд могут встречаться команды membar. Встретив такую команду, процессор обязан гарантировать, что все операции чтения и записи из памяти, закодированные до этой команды, будут исполнены (в данном случае под исполнением подразумевается перенос результатов всех операций из кэша в ОЗУ), до того, как процессор попытается произвести любую из операций доступа к памяти, следующих за membar.

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

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

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

Рис. 6.3. Шинная архитектура

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

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

Системы NUMA-Q (рис. 6.4).

Многопроцессорные серверы IBM NUMA-Q состоят из отдельных процессорных модулей. Каждый модуль имеет собственную оперативную память и четыре процессора х86. Модули называются quad (четверки)

Четверки соединены высокоскоростными каналами IQ-Link с центральным коммутатором. Замена общей шины на звездообразную топологию с централь­ным коммутатором позволяет решить проблемы арбитража доступа к шине, в частности, устранить задержки при запросе к арбитру шины и ожидании его ответа запрашивающему устройству. NUMA-системы фирмы IBM могут содер­жать до 16 четверок, т. е. до 64 процессоров.

Архитектура позволяет также включать в эти системы процессоры с архи­тектурой, отличной от х86, например RS/6000 и System/390, позволяя, таким образом, создать в пределах одной машины гетерогенную сеть со сверхвы­сокоскоростными (1 ГигаБайтсек) каналами связи.

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

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

– Конец работы –

Эта тема принадлежит разделу:

История операционных систем

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Порядок доступа к памяти в SPARC

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Онтогенез повторяет филогенез
  После опубликования книги Чарльза Дарвина «Происхождение видов» немецкий зоолог Эрнст Хэккель (Ernst Haeckel) сформулировал правило: «Онтогенез повторяет филогенез». Сказав это, он

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

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

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

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

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

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

Системы промежуточных типов
Существуют системы, которые нельзя отнести к одному из вышеперечис­ленных классов. Такова, например, система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение неско

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

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

Проблема
Организация имеет двенадцать велосипедов. Стоит задача: перевезти рояль. Что делать? Грузовик не предлагать... Основная проблема MS Windows состоит вовсе не в том, что это не "насто­я

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

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

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

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

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

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

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

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

Создание процессов в Unix
В системах семейства Unix новые процессы создаются системным вызовом fork. Этот вызов создает два процесса, образы которых в первый момент пол­ностью идентичны, у них различается только значение, в

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

Формат загрузочного модуля a.out
В системе UNIX на 32-разрядных машинах также используется абсолютная за­грузка. Загружаемый файл формата a.out (современные версии Unix использу­ют более сложный формат загружаемого модуля и более

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

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

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

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

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

Сборка в момент загрузки
Как мы видели в предыдущем разделе, объектные модули и библиотеки со­держат достаточно информации, чтобы собирать программу не только зара­нее, но и непосредственно в момент загрузки. Этот способ,

Программные модули в N9000
В этих архитектурах каждый объектный модуль соответствует одному модулю в смысле языка высокого уровня Oberon (или NIL— N9000 Instrumental Language). Далее мы будем описывать архитектуру системы N9

Динамические библиотеки
В Windows и OS/2 используется именно такой способ загрузки. Исполняе­мый модуль в этих системах содержит ссылки на другие модули, называе­мые DLL (Dynamically Loadable Library, динамически загружае

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

Загрузка Sun Solaris
Полный цикл загрузки Solaris (версия Unix System V Release 4, поставляющаяся фирмой Sun) на компьютерах х86 происходит в шесть этапов. Первые три эта­па стандартны для всех ОС, работающих на IBM PC

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

Открытая память
Самый простой вариант управления памятью — отсутствие диспетчера па­мяти и возможность загружать в системе только один процесс. Именно так работают СР/М и RT-11 SJ (Single-Job, однозадачная). В эти

Алгоритмы динамического управления памятью
При динамическом выделении памяти запросы на выделение памяти формируются во время исполнения задачи. Динамическое выделение, таким образом, противопоставляется статическому, когда за

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

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

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

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

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

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

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

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

Прерывания
Альтернатива опросу, применяемая практически во всех современных процессорах, называется прерываниями (interrupt), и состоит в значительном усложнении логики обработк

ИСКЛЮЧЕНИЯ
Многие процессоры используют механизм, родственный прерываниям, для обработки не только внешних, но и внутренних событий (исключительные ситуации – отсутствие страницы, ошибки дост

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги