Файл: Мультипроцессоры (Понятие, роль и сущность микропроцессоров).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.04.2023

Просмотров: 250

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

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

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

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

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

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

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

Исходя из данной цели необходимо решить такие задачи:

  1. определить сущность и значение мультипроцессоров в современных технологических продуктах;
  2. рассмотреть назначение мультипроцессоров, их функции и классификации;
  3. изучить мультипроцессоры с позиции операционных систем и их структуру;

Предметом исследования является сфера информационных разработок как в России, так и зарубежом.

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

Теоретической базой для настоящего исследования стали учебные пособия, монографии и статьи авторов А.А. Роженцова, А.А. Баева, Д.С. Чернышева, К.А. Лычагина.

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

  1. Теоретические аспекты применения мультипроцессорных систем в современных технологических системах

1.1 Понятие, роль и сущность микропроцессоров

Рассмотрим, что же принято понимать под термином «мультипроцессор» и мультипроцессорные системы. Основными авторами, внесшими вклад в развитие теоретических аспектов выбранной темы, являются В.С. Камлюк, Д.В. Камлюк[1], Крахоткина Е.В., В.И.Терехин[2].

Мультипроцессорные системы — это специальные компьютерные системы, которые в своем составе имеют не один, а сразу несколько процессоров и только одно адресное пространство (адресный путь, поле), которое в свою очередь видно для сразу нескольких процессоров[3].

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

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

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


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

Впервые система мультипроцессора была использована в вычислительной системе в решении, имеющем производительность более 100 гигафлопс, производителем данного решения стала окмпания Numerical Wind Tunnel производства Fujitsu.

Исторически компания Intel в 1997 г. смогла преодолеть барьер мощности в один терафлопс за счет создания системы ASCI Red[4].

Следующим решением стало решение IBM BlueGene/L, которое имело производительность более 100 терафлопс, оно было создано в июне 2005 г.

Затем, в июне 2008 г. впервые в истории был создан суперкомпьютер Roadrunner, который имел 1,026 петафлопс по показателям производительности, данное решение было создано компанией IBM.

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

Решения по указанным требованиям пользователей были представлены компанией NVIDIA (в частности, семейство NVIDIA® Tesla™) и компанией AMD (в частности, семейство ATI FireStream™). Их решения показывали потрясающую пиковую производительность, значительно превышающую 1 терафлопс.

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

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

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


1.2 Признаки и типы мультипроцессоров

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

Симметричная мультипроцессорность представляет собой способ организации симметричной мультипроцессорности. Данный способ реализуется через внедрение в одно вычислительное устройство имеется нескольких равноправных процессоров. Такие вычислительных системы относятся к классификации Флинна, то есть к группе MIMD (multi instruction multi data), что позволяет различать два типа многопроцессорных систем – multiprocessors (мультипроцессоры, или системы с общей разделяемой памятью) и multicomputers (мультикомпьютеры, или системы с распределенной памятью).

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

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

Существует две методики дублирования данных их кэша в оперативную память: обратная и сквозная запись данных.

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

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

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


  • Modified (строка была изменена и изменения не отражены в оперативной памяти)[6],
  • Exclusive (данные в строке кэша и оперативной памяти одинаковы, в остальных кэшах этих данных нет) [7],
  • Shared (данные в строке кэша и оперативной памяти одинаковы, в каких-то других кэшах этих данные тоже присутствуют)[8],
  • Invalid (строка содержит недостоверные данные)[9].

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

При состоянии строки shared (распространена на другие разделы) состояние её копии в других кэшах изменится на invalid (недостоверно), а текущий процессор обновит её данных во временной памяти, а, следовательно, и её состояние на modified[10].

Например, при наличии скопированных строк в одном кэше в состоянии exclusive или shared, то данные будут переброшены из оперативной памяти кэш, а строки будут отмечены как shared (распространены) в временных кэшах оперативных систем.

Блокировка чтения файла также возможна, если в каком-либо кэше содержится копия строки в состоянии modified. Затем срока будет записана в оперативной памяти, а её состояние будет изменено на shared.

Если ни в одном из кэшей нет копии строки, то блок данных загружается из оперативной памяти, а строка помечается как exclusive. Операция записи при промахе инициирует чтение блока данных из оперативной памяти и устанавливает состояние строки в значение modified. При этом, если в каком-либо кэше находилась копия данных в состоянии modified, то сначала данные из этого кэша записываются в оперативную память, а строка помечается как invalid. Все кэши, которые содержали копию данных в состоянии shared или exclusive переходят в состояние invalid.[11]

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

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