Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Мультипроцессоры (Понятие, роль и сущность микропроцессоров)

Содержание:

Введение

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

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

Мультипроцессорные системы — это системы с общей оперативной памятью от двух до тысячи процессоров, где каждый Центральный процессор имеет равный доступ ко всей физической памяти может читать и писать отдельный слова с помощью специальных команд. при этом время доступа к памяти обычно составляет от 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 позволяет более эффективно решать проблему когерентности данных.

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

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

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

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

Впервые идея поддержки одновременной многопоточности (simultaneous multithreading, SMT)[12] была предложена в 1995 г. в университете Вашингтона Дином Тулсеном (Dean Tullsen) и позднее активно развита компанией Intel под названием технологии гиперпоточности (hyper threading, HT).

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

Как правило, число аппаратно-поддерживаемых потоков равно 2, в более редких случаях этот показатель достигает 4 и даже 8. Важно при этом подчеркнуть, что аппаратно-поддерживаемые потоки на логическом уровне операционных систем Linux и Windows воспринимаются как отдельные процессоры, т. е., например, единственный процессор с двумя аппаратно-поддерживаемыми потоками в менеджере Task Manager операционной системы Windows диагностируется как два отдельных процессора. Использование процессоров с поддержкой многопотоковости может приводить к существенному ускорению вычислений.

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

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

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

Поясним сказанное на примере рисунке 1.

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

Рисунок 1 — Демонстрация зависимости между тактовой частотой, энергопотреблением и производительностью процессора[13]

Например, для увеличения параметров быстродействия процессора, увеличим его тактовую частоту на величину в 20%. В результате параметры производительности будут увеличены не на полную величину в 20%, а только лишь на 13% или меньше. Данное явление обусловлено тратой энергии на другие процессы (на увеличение энергопотребления, нагрев и т.д.).

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

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

Кэш-память L1, L2, L3……

Кэш-память L1

Оперативная память

Кэш-память L1

Вычислительное ядро

Вычислительное ядро

Рисунок 2 - Архитектура двухъядерного процессора[14]

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

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

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

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

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

Выводы по первой главе

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

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

2. Классификации мультипроцессоров и применение в современных системах

2.1 Классификации мультипроцессоров

Рассмотрим классификации мультипроцессорных систем. Простая классификация предусматривает две категории: гомогенные (одинаковые процессоры в системе) и гетерогенные (разнотипные процессоры в системе).

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

Рисунок 3 — Классификация мультипроцессоров по ряду признаков[15]

Многопоточное программирование используется либо явно (в языках C/C++ с помощью POSIX Threads или в Java и C# – с помощью конструкций языка), либо неявно – декларативно с помощью директив компилятора (Open MP) или автоматически самим компилятором (High Performance Fortran).

Предпосылками разработки мультипроцессоров стала необходимость решения всё более сложных задач. В связи с этим возникли следующие направления[16]:

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

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

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

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

Рисунок 4 – Причины изменения в алгоритмах и мультипроцессорах[17]

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

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

Поэтому есть минимально две важные характеристики распределенных систем[18]:

– от пользователей скрыты различия между компьютерами и способами связи между ними;

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

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

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

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

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

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

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

Операционные системы, разработанные для распределенных компьютерных систем, можно разделить на сильно связанные и слабосвязанные. Сильно связанных системах операционные системы, в основном, работает с одним, глобальным представлением ресурсов, которыми она управляет. Сильно связанные операционные системы обычно принимаются в качестве основных видов распределенных операционных системам (DOS) и применяются в процессе управления мультипроцессорными и гомогенными компьютерными системами[19].

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

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

С целью упрощения разработки и интеграции приложений приходится базировать одну часть программного обеспечения на разных моделях (файлах), а другую часть программного обеспечения связывать с на удаленным вызовом, то есть с сетевым обменом (Remote Procedure Calls, RPC).

То есть процессу разрешается вызывать процедуры, выполнение которых происходит на удаленном компьютере. Такие модели позволяют упростить использование сетевых систем, например, World Wide Web (WWW) — система, построенная на базе модели распределенных документов (distributed documents).

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

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

2.2. Мультипроцессоры Intel

Первыми мультипроцессорами с архитектурой x86 на базе процессоров Intel 80386 и Intel 486 стали серверы Compaq SystemPro, затем компания Intel создала стандарт MultiProcessor Specification, который стал на долгие годы стандартом для SMP-машин c архитектурой x86.

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

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

Достоинством мультипроцессоров является: простота программирования, поддержка SМР существует уже давно во всех ведущих операционных системах, а недостатком — невысокая масштабируемость процессоров.

Память, представляемая как одно общее пространство, может быть распределена по узлам системы (DSM-MIMD — distributed shared memo­r y MIMD). В этом подклассе машин у каждого процессора имеется своя локальная память, а доступ к разным участкам общей памяти является неодинаковым (быстрее или медленнее), то такие системы носят название NUMA (от Non-Uniform Memory Access).

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

Класс DM-MIMD (distributed memory MIMD) означает многопроцессорные MIMD-машины с распределенной памятью, когда у каждого процессора есть своя локальная память, не видная другим процессорам. Каждый процессор в такой системе выполняет свою задачу со своим набором данных в своей локальной памяти.

Если одному процессору необходимы информационные сведения из другого процессора, то для обмена сообщениями используется модель программирования Message Passing с помощью Parallel Virtual Machint (PVM) или какой-нибудь реализации Message Passing Interface (MPI).

Зачастую специалисты выделяют еще и такие MIMD- подклассы, производные класса: SPMD (Single Program Multiple Data), где описана система с одной единственной программой и MPMD (Multiple Programs Multiple Data), где описана система, в которой:

а) на одном процессоре MIMD-машины работает мастерпрограмма, а на других – подчиненная программа, работой которой руководит мастер-программа (принцип master/slave, или master/worker);

б) на разных узлах MIMD-машины работают разные программы, которые по-разному обрабатывают один и тот же массив данных (принцип coupled analysis).

Рисунок 5 – Архитектура MIMD[20]

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

Затем в каждом классе выделяют серии процессоров, отличающиеся между собой по некоторым ключевым характеристикам. Например, система развития мультипроцессоров "Tick-Tock" от Intel имеет свою стратегию развития, которая осуществляется по двум стадиям: уменьшение техпроцесса и незначительное усовершенствование архитектуры, а затем происходит выпуск новой микроархитектуры на существующем техпроцессе.

Рисунок 6 — Стратегия Tick-Tock[21]

На данный момент широко распространены процессоры Intel с микроархитектурой Sandy Bridge, основанной на 32-нм технологии, и Ivy Bridge, которая является развитием предыдущей и основана на 22-нм технологии с использованием транзисторов с трехмерной структурой затвора (3D Tri-Gate Transistor).

В классе настольных и мобильных систем сегодня "царствуют" представители семейства Intel ® Core ™ 3го поколения, в серверном сегменте – процессоры Intel ® Xeon ®. Особенностям микроархитектуры Intel ® Core ™, позволившей компании Intel существенно потеснить своего основного конкурента – компанию AMD, посвящено множество материалов и публикаций. Не ставя перед собой задачу подробного ее обсуждения, кратко отметим лишь ключевые моменты, выделяемые самими разработчиками.

Hyper-Threading — это технология, которая позволяет удвоить число ядер в операционной системе за счёт обработки нескольких потоков команд на каждом ядре.

Например, рассмотрим технические характеристики в классе настольных и серверных процессоров с технологией Hyper-Threading, показанные на рисунке 7.

Рисунок 7 — Процессоры с технологией Hyper-Threading[22]

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

2.3 Мультипроцессоры AMD

Рассмотрим процессов семейства AMD Phenom™ и AMD Opteron™ .

Сама компания AMD была создана и основана в 1969 г., поэтому она и является основным конкурентом для Intel.

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

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

Мультипроцессоры AMD поддерживают технологии, аналогичные рассмотренных ранее у Intel: расширенная технология оптимизации энергопотребления (AMD PowerNow!™ Technology), увеличение частоты ядер при необходимости (AMD Turbo CORE Technology), поддержка новых инструкций (AVX, AES, FMA4, XOP), общий кэш третьего уровня (AMD Balanced Smart Cache) и многое другое.

На рынке настольных систем основное оружие компании AMD сегодня – процессоры AMD FX™, построенные на микроархитектуре. Существующие версии мультипроцессоров представлены на рисунке 8.

Рисунок 8 — Виды мультипроцессоров AMD[23]

2.4 Процессоры IBM Power7

Компания IBM гораздо старше, чем Intel и AMD, и, в отличие от последних, она никогда не производила только процессоры. Мультипроцессоры, выпускаемые сегодня - это основа суперкомпьютеров вроде Roadrunner или BlueGene.

Процессоры Power7+ выпускается по 32 нм технологическому процессу. Процессоры PowerXCell™ 8i Рассказ о процессоре PowerXCell™ 8i конечно же нужно начать с его прямого предка – процессора Cell (рисунок 9), разработанного альянсом в первую очередь для использования в игровых приставках Sony PlayStation 3.

Рисунок 9 - Процессор Cell[24]

Процессор Cell имеет существенно "неоднородное" устройство. Он состоит из одного двухъядерного Power Processor Element (PPE) и 8 Synergistic Processor Element (SPE). PPE построен на архитектуре PowerPC и "отвечает" в процессоре Cell за исполнение кода общего назначения (операционной системы в частности), а также контролирует работу потоков на сопроцессорах SPE.

Ядра PPE – 64-разрядные и так же, как и Power6, используют поочередный (in-order) порядок исполнения команд. PPE имеет блок векторных операций Vector Multimedia eXtensions (VMX), кэш первого уровня размеров 64 КБ и кэш второго уровня размером 512 КБ.

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

Основное отличие процессора PowerXCell™ 8i состоит в значительном улучшении работы с вещественными числами двойной точности, что позволило довести пиковую производительность на них до уровня в 100 гигафлопс.

2.5 Процессоры Sun UltraSPARC T1, Sun UltraSPARC T2, SPARC T3, SPARC T4

Компания Sun Microsystems в начале своей разработки микроархитектуры UltraSPARC Architecture подошла к процессу с индивидуальных позиций.

Рисунок 10 - Процессор Sun UltraSPARC T1

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

Это породило дальнейшие Процессоры более совершенного уровня: UltraSPARC T2 – 64 потока, технические характеристики процессора Sun UltraSPARC T1 представлены на рисунке 11.

Рисунок 11 — технические характеристики процессора Sun UltraSPARC T1[25]

Сопроцессор ядер в UltraSPARC T2 дополнительно поддерживает алгоритмы шифрования DES, 3DES, RC4, AES, SHA, MD5, CRC, а также алгоритм генерации случайных чисел. Основной недостаток процессора UltraSPARC T1 – наличие в процессоре только одного блока вычислений над числами с плавающей точкой, доступного для всех потоков всех ядер. В процессоре UltraSPARC T2 эту проблему решили – у каждого ядра есть собственный модуль для выполнения операций с вещественными числами.

Также в UltraSPARC T2 была поднята максимальная тактовая частота – до 1,4 ГГц. Плюс к этому – увеличен объем кэша второго уровня до 4 МБ, однако, в отличие от UltraSPARC T1, кэш не общий, а раздельный – по 512 КБ на каждое ядро. Кроме того, в процессор интегрированы два 10Gbit контроллера Ethernet и контроллер шины PCI Express.

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

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

Типичные ускорители вычислений, способные существенно добавить мощности даже обычным "персоналкам" – на этом направлении работает, например, компания ClearSpeed Technology. Далее появился, SPARK T3 и Т4.

Рисунок 12 — Ускоритель ClearSpeed™ Advance™ e720[26]

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

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

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

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

Иные технологии GPU-ускорители NVIDIA® TESLA K20X В 2007 г. компания NVIDIA представила продукты семейства Tesla™ для построения высокопроизводительных вычислительных систем. Последнее поколение ускорителей построено на базе архитектуры Kepler. Ускоритель Tesla K20X содержит один процессор GK110 имеет технические характеристики, представленные на рисунке 13. Ускоритель подключается к материнской плате по шине PCI Express 3.0.

Рисунок 13 — Технические характеристики TESLA K20X[27]

В комплект поставки данных процессоров включены следующие основные компоненты: CUDA Driver, CUDA Toolkit, CUDA SDK.

По сути CUDA (Compute Unified Device Architecture) – это программно аппаратное решение, которое позволяет применять видеопроцессоры для вычислений общего назначения.

Разработка программ для выполнения на Tesla K20X происходит таким же способом. С точки зрения программиста, Tesla K20X представляет собой набор независимых мультипроцессоров. Каждый мультипроцессор состоит из нескольких независимых скалярных процессоров, двух модулей для вычисления математических функций, конвейера, а также общей памяти. CUDA позволяет создавать специальные функции (ядра, kernels), которые выполняются параллельно различными блоками и потоками, в отличие от обычных C-функций.

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

Всем потокам также доступны два вида общей памяти для чтения: константная и текстурная, они кэшируются. Так же, как и в общей памяти устройства, данные сохраняются на протяжении работы приложения.

Основой архитектуры MIC является использование большого количества вычислительных ядер архитектуры x86 в одном процессоре. В результате для разработки параллельных программ могут быть использованы стандартные технологии, в частности: pthreads, OpenMP, Intel TBB, Intel Cilk Plus, MPI.

Кроме того, под архитектуру x86 разработано огромное количество инструментов и библиотек. Это является огромным преимуществом перед другими ускорителями вычислений, для которых используются специальные (обычно более сложные) технологии разработки параллельных программ: CUDA, OpenCL. Intel® Xeon Phi™ 5110P подключается к разъему PCIe x16 на материнской плате.

В двухпроцессорной системе можно установить до 8 карт Intel® Xeon Phi™ 5110P.

Рисунок 14 — Архитектура Intel® Xeon Phi™ 5110P [28]

Технические характеристики Intel Xeon Phi 5110P представлены на рисунке 15.

Рисунок 15 — Intel Xeon Phi 5110P[29]

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

Выводы по второй главе

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

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

Заключение

По итогам проведенного автором исследования «Мультипроцессоры» была достигнута поставленная цель.

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

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

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

  • По роли и доступу к памяти и к периферии: симметричные мультипроцессоры и асимметричные мультипроцессоры;
  • по способу адресации памяти: UMА; COMА; NUMА;
  • по программированию: многопоточные – когда на каждом процессоре запускается поток исполнения, и они обмениваются друг с другом данными через общие переменные в общей памяти; message passing – когда на каждом процессоре запускается отдельный процесс, и они обмениваются данными друг с другом путем обмена сообщениями.

Список литературы

  1. Аверченков, В.И. Системы защиты информации в ведущих зарубежных странах: учебное пособие для вузов / В.И. Аверченков, М.Ю. Рытов, Г.В. Кондрашин, М.В. Рудановский. – 4-е изд., стер. – Москва: Флинта, 2016. – 224 с.
  2. Айдинян, А.Р. Аппаратные средства вычислительной техники: учебник / А.Р. Айдинян. – Москва; Берлин: Директ-Медиа, 2016. – 125 с.
  3. Алиев, М.Т. Микропроцессоры и микропроцессорные системы управления. 8-разрядные процессоры семейства AVR: лабораторный практикум / М.Т. Алиев, Т.С. Буканова; Поволжский государственный технологический университет. – Йошкар-Ола: ПГТУ, 2016. – 64 с.
  4. Бабёр, А.И. Основы схемотехники: пособие: [12+] / А.И. Бабёр. – Минск: РИПО, 2018. – 112 с.
  5. Барметов, Ю.П. Электронно-цифровые элементы и устройства: лабораторный практикум / Ю.П. Барметов; Министерство образования и науки РФ, Воронежский государственный университет инженерных технологий. – Воронеж: Воронежский государственный университет инженерных технологий, 2017. – 85 с.
  6. Березовская, Е.А. Информационно-аналитический инструментарий для системы поддержки принятия решений по управлению региональной социально-экономической системой: монография / Е.А. Березовская, С.В. Крюков, А.С. Лапшина и др.; отв. ред. С.В. Крюков; Министерство образования и науки РФ, Южный федеральный университет. – Ростов-на-Дону: Издательство Южного федерального университета, 2016. – 131 с. 
  7. Береснев, А.Л. Разработка и макетирование микропроцессорных систем: учебное пособие / А.Л. Береснев, М.А. Береснев; Министерство образования и науки РФ, Южный федеральный университет, Инженерно-технологическая академия. – Таганрог: Издательство Южного федерального университета, 2016. – 108 с.
  8. Буза, М.К. Архитектура компьютеров: учебник / М.К. Буза. – Минск: Вышэйшая школа, 2015. – 416 с.
  9. Гергель, В. Введение в принципы функционирования и применения современных мультиядерных архитектур (на примере Intel Xeon Phi): курс / В. Гергель, И. Мееров, С. Бастраков и др. – 2-е изд., исправ. – Москва: Национальный Открытый Университет «ИНТУИТ», 2016. – 408 с.
  10. Гринберг, А.С. Информационный менеджмент: учебное пособие / А.С. Гринберг, И.А. Король. – Москва: Юнити, 2015. – 415 с.
  11. Гриценко, Ю.Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю.Б. Гриценко; Министерство образования и науки Российской Федерации, Томский Государственный Университет Систем Управления и Радиоэлектроники (ТУСУР), Факультет дистанционного обучения. – Томск: ТУСУР, 2015. – 134 с.
  12. Информатика: учебное пособие / Е.Н. Гусева, И.Ю. Ефимова, Р.И. Коробков и др.; Министерство образования и науки Российской Федерации, Магнитогорский государственный университет. – 4-е изд., стер. – Москва: Флинта, 2016. – 261 с.
  13. Жданов, С.А. Информационные системы: учебник / С.А. Жданов, М.Л. Соболева, А.С. Алфимова. – Москва: Прометей, 2015. – 302 с.
  14. Березовская, Е.А. Информационно-аналитический инструментарий для системы поддержки принятия решений по управлению региональной социально-экономической системой: монография / Е.А. Березовская, С.В. Крюков, А.С. Лапшина и др.; отв. ред. С.В. Крюков; Министерство образования и науки РФ, Южный федеральный университет. – Ростов-на-Дону: Издательство Южного федерального университета, 2016. – 131 с.
  15. Хвостова, И.П. Информатика: учебное пособие / сост. И.П. Хвостова; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо- Кавказский федеральный университет». – Ставрополь: СКФУ, 2016. – 178 с.
  16. Кропотов, Ю.А. Методы синтеза минимизированных переключательных функций и цифровых комбинационных схем с памятью: учебное пособие / Ю.А. Кропотов. – Москва; Берлин: Директ-Медиа, 2018. – 154 с.
  17. Маркова, В.П. Эффективное программирование современных микропроцессоров: учебное пособие / В.П. Маркова, С.Е. Киреев, М.Б. Остапкевич, В.А. Перепелкин; Министерство образования и науки Российской Федерации, Новосибирский государственный технический университет. – Новосибирск: Новосибирский государственный технический университет, 2014. – 148 с.
  18. Николаев, В.Т. Практика программирования в инженерных расчётах: учебное пособие / В.Т. Николаев, С.В. Купцов, В.Н. Тикменов; под ред. В.Н. Тикменова. – Москва: Физматлит, 2018. – 440 с.
  19. Пигарев, Л.А. Микропроцессорные системы автоматического управления: учебное пособие / Л.А. Пигарев; Министерство сельского хозяйства РФ, Санкт-Петербургский государственный аграрный университет, Кафедра электроэнергетики и электрооборудования. – Санкт-Петербург: СПбГАУ, 2017. – 179 с.
  20. Платонов, Ю.М. Информатика: учебное пособие / Ю.М. Платонов, Ю.Г. Уткин, М.И. Иванов; Министерство транспорта Российской Федерации, Московская государственная академия водного транспорта. – Москва: Альтаир: МГАВТ, 2014. – 226 с.
  21. Подольский, В.И. Компьютерные информационные системы в аудите: учебное пособие / В.И. Подольский, Н.С. Щербакова, В.Л. Комиссаров; ред. В.И. Подольский. – Москва: Юнити, 2015. – 160 с.
  22. Провалов, В.С. Информационные технологии управления: учебное пособие / В.С. Провалов. – 4-е изд., стер. – Москва: Флинта, 2018. – 374 с.
  23.  Роженцов, А.А. Проектирование встраиваемых систем на микроконтроллерах: лабораторный практикум / А.А. Роженцов, А.А. Баев, Д.С. Чернышев, К.А. Лычагин; под общ. ред. А.А. Роженцова; Поволжский государственный технологический университет. – Йошкар-Ола: ПГТУ, 2015. – 120 с.
  24. Сажнев, А.М. Цифровые устройства и микропроцессоры: учебное пособие / А.М. Сажнев, И.С. Тырышкин; Новосибирский государственный аграрный университет, Инженерный институт. – Новосибирск: ИЦ НГАУ «Золотой колос», 2015. – 158 с.
  25. Синельников, М.С. Проектирование и технология электронной компонентной базы: лабораторный практикум / М.С. Синельников, В.Н. Леухин; Поволжский государственный технологический университет. – Йошкар-Ола: ПГТУ, 2015. – 72 с.
  26. Сычев, А.Н. ЭВМ и периферийные устройства: учебное пособие / А.Н. Сычев; Министерство образования и науки Российской Федерации, Томский Государственный Университет Систем Управления и Радиоэлектроники (ТУСУР), Факультет дистанционного обучения. – Томск: ТУСУР, 2016. – 113 с.
  27. Титоренко, Г.А. Информационные системы и технологии управления: учебник / ред. Г.А. Титоренко. – 3-е изд., перераб.и доп. – Москва: Юнити, 2015. – 591 с.
  28. Торгаев, С.Н. Практическое руководство по программированию STM-микроконтроллеров: учебное пособие / С.Н. Торгаев, М.В. Тригуб, И.С. Мусоров, Д.С. Чертихина; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский Томский государственный университет», Федеральное государственное бюджетное учреждение науки ИНСТИТУТ ОПТИКИ АТМОСФЕРЫ ИМ. В.Е. ЗУЕВА СИБИРСКОГО ОТДЕЛЕНИЯ РОССИЙСКОЙ АКАДЕМИИ НАУК. – Томск: Издательство Томского политехнического университета, 2015. – 111 с.
  29. Уткин, В.Б. Информационные системы и технологии в экономике: учебник / В.Б. Уткин, К.В. Балдин. – Москва: Юнити, 2015. – 336 с.
  30. Червяков, Н.И. Математические модели и методы синтеза в сверхбольших интегральных схемах: лабораторный практикум / авт.-сост. Н.И. Червяков, А.И. Галушкин, М.Г. Бабенко, В.А. Кучуков и др. – Ставрополь: СКФУ, 2016. – 187 с.
  31. Царев, Р.Ю. Теоретические основы информатики: учебник / Р.Ю. Царев, А.Н. Пупков, В.В. Самарин и др.; Министерство образования и науки Российской Федерации, Сибирский Федеральный университет. – Красноярск: Сибирский федеральный университет, 2015. – 176 с.
  32. Цифровая революция в логистике: эффекты, конгломераты и точки роста: материалы международной научно-практической конференции. XIV Южно-Российский логистический форум. 18–19 октября 2018 г.: [16+] / отв. ред. А.У. Альбеков ; Министерство образования и науки Российской Федерации, Ростовский государственный экономический университет (РИНХ), Южно-российская ассоциация логистики. – Ростов-на-Дону: Издательско-полиграфический комплекс РГЭУ (РИНХ), 2018. – 420 с.
  33. Введение в программные системы и их разработку / С.В. Назаров, С.Н. Белоусова, И.А. Бессонова и др. – 2-е изд., испр. – Москва: Национальный Открытый Университет «ИНТУИТ», 2016. – 650 с.
  34. Информационные технологии в АПК: учебное пособие / И. Шарипов, И. Воротников, С. Аникуев, М. Мастепаненко; Министерство сельского хозяйства Российской Федерации, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования, Ставропольский государственный аграрный университет. – Ставрополь: Ставропольский государственный аграрный университет, 2014. – 107 с.:
  35. Информатика: учебное пособие / сост. И.П. Хвостова; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо-Кавказский федеральный университет». – Ставрополь: СКФУ, 2016. – 178 с.
  36. Ипатова, Э.Р. Методологии и технологии системного проектирования информационных систем: учебник / Э.Р. Ипатова, Ю.В. Ипатов. – 2-е изд., стер. – Москва: Флинта, 2016. – 257 с.
  37. Камлюк, В.С. Мехатронные модули и системы в технологическом оборудовании для микроэлектроники: учебное пособие: [12+] / В.С. Камлюк, Д.В. Камлюк. – Минск: РИПО, 2016. – 383 с. 
  38. Красичкова, А.Г. Новейший самоучитель работы на ПК и ноутбуке: наглядно, понятно и очень просто / А.Г. Красичкова. – Москва: Издательство «Рипол-Классик», 2015. – 257 с.
  39. Крахоткина, Е.В. Архитектура ЭВМ: учебное пособие / авт.-сост. Е.В. Крахоткина, В.И. Терехин; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо- Кавказский федеральный университет». – Ставрополь: СКФУ, 2015. – 80 с.
  40. Игнатьева, А.В. Исследование систем управления: учебное пособие / А.В. Игнатьева, М.М. Максимцов. – 2-е изд., перераб. и доп. – Москва : Юнити, 2015. – 167 с.
  41. Ипатова, Э.Р. Методологии и технологии системного проектирования информационных систем: учебник / Э.Р. Ипатова, Ю.В. Ипатов. – 2-е изд., стер. – Москва: Флинта, 2016. – 257 с.
  42. Синютин, С.А. Цифровая обработка электрокардиосигнала в микроконтроллерных кардиомониторах: монография / С.А. Синютин, А.В. Леонова; Министерство образования и науки РФ, Южный федеральный университет. – Таганрог: Издательство Южного федерального университета, 2015. – 174 с.
  43. Ясенев, В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. – 3-е изд., перераб. и доп. – Москва: Юнити, 2015. – 560 с. 
  1. Камлюк, В.С. Мехатронные модули и системы в технологическом оборудовании для микроэлектроники: учебное пособие: [12+] / В.С. Камлюк, Д.В. Камлюк. – Минск: РИПО, 2016. – 383 с.

  2. Крахоткина, Е.В. Архитектура ЭВМ: учебное пособие / авт.-сост. Е.В. Крахоткина, В.И. Терехин; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо-Кавказский федеральный университет». – Ставрополь: СКФУ, 2015. – 80 с.

  3. Камлюк, В.С. Мехатронные модули и системы в технологическом оборудовании для микроэлектроники: учебное пособие: [12+] / В.С. Камлюк, Д.В. Камлюк. – Минск: РИПО, 2016. – 383 с.

  4. Ясенев, В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. – 3-е изд., перераб. И доп. – Москва: Юнити, 2015. – 560 с.

  5. Ясенев, В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. – 3-е изд., перераб. И доп. – Москва: Юнити, 2015. – 560 с.

  6. Ясенев, В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. – 3-е изд., перераб. и доп. – Москва: Юнити, 2015. – 560 с.

  7. Камлюк, В.С. Мехатронные модули и системы в технологическом оборудовании для микроэлектроники: учебное пособие: [12+] / В.С. Камлюк, Д.В. Камлюк. – Минск: РИПО, 2016. – 383 с.

  8. Камлюк, В.С. Мехатронные модули и системы в технологическом оборудовании для микроэлектроники: учебное пособие: [12+] / В.С. Камлюк, Д.В. Камлюк. – Минск: РИПО, 2016. – 383 с.

  9. Составлено автором

  10. Хвостова, И.П. Информатика: учебное пособие / сост. И.П. Хвостова; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо- Кавказский федеральный университет». – Ставрополь: СКФУ, 2016. – 178 с.

  11. Составлено автором

  12. Хвостова, И.П. Информатика: учебное пособие / сост. И.П. Хвостова; Министерство образования и науки Российской Федерации, Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северо- Кавказский федеральный университет». – Ставрополь: СКФУ, 2016. – 178 с.

  13. Введение в программные системы и их разработку / С.В. Назаров, С.Н. Белоусова, И.А. Бессонова и др. – 2-е изд., испр. – Москва: Национальный Открытый Университет «ИНТУИТ», 2016. – 650 с.

  14. Введение в программные системы и их разработку / С.В. Назаров, С.Н. Белоусова, И.А. Бессонова и др. – 2-е изд., испр. – Москва: Национальный Открытый Университет «ИНТУИТ», 2016. – 650 с.

  15. Составлено автором

  16. Составлено автором

  17. Царев, Р.Ю. Теоретические основы информатики: учебник / Р.Ю. Царев, А.Н. Пупков, В.В. Самарин и др.; Министерство образования и науки Российской Федерации, Сибирский Федеральный университет. – Красноярск: Сибирский федеральный университет, 2015. – 176 с.

  18. Составлено автором

  19. Царев, Р.Ю. Теоретические основы информатики: учебник / Р.Ю. Царев, А.Н. Пупков, В.В. Самарин и др.; Министерство образования и науки Российской Федерации, Сибирский Федеральный университет. – Красноярск: Сибирский федеральный университет, 2015. – 176 с.

  20. Составлено автором

  21. Ясенев, В.Н. Информационные системы и технологии в экономике: учебное пособие / В.Н. Ясенев. – 3-е изд., перераб. и доп. – Москва: Юнити, 2015. – 560 с.

  22. Царев, Р.Ю. Теоретические основы информатики: учебник / Р.Ю. Царев, А.Н. Пупков, В.В. Самарин и др.; Министерство образования и науки Российской Федерации, Сибирский Федеральный университет. – Красноярск: Сибирский федеральный университет, 2015. – 176 с.