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

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

Содержание:

Введение

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

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

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

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

Для реализации поставленной цели необходимо выполнить ряд задач:

- Изучить понятие мультипроцессора;

- Рассмотреть конвейерную и векторную обработку;

- Рассмотреть мультипроцессорные компьютеры;

- Изучить эволюцию микропроцессорных систем и т.д.

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

Глава 1. Понятие и сущность мультипроцессорных систем

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

Мультипроцессор — это компьютерная система, которая содержит несколько процессоров и одно адресное пространство, видимое для всех процессоров.[1] Он запускает одну копию ОС с одним набором таблиц, в том числе тех, которые следят какие страницы памяти свободны.

По способу адресации памяти различают несколько типов мультипроцессоров, среди которых: UMA (Uniform Memory Access), NUMA (Non Uniform Memory Access) и COMA (Cache Only Memory Access).

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

Любая вычислительная система достигает своей наивысшей производительности благодаря использованию высокоскоростных процессорных элементов (ПЭ) и параллельному выполнению большого числа операций. Параллельные ВМ часто подразделяются по классификации Флинна на машины типа SIMD (Single Instruction Multiple Data - с одним потоком команд при множественном потоке данных) и MIMD (Multiple Instruction Multiple Data - с множественным потоком команд при множественном потоке данных).

1.2 Конвейерная и векторная обработка

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

1.3 Машины типа SIMD, MIMD и МПС с SIMD-процессорами

Машины типа SIMD состоят из большого числа идентичных процессорных элементов, имеющих собственную память. Все ПЭ в такой машине выполняют одну и ту же программу. Очевидно, что такая машина, составленная из большого числа процессоров, может обеспечить очень высокую производительность только на тех задачах, при решении которых все процессоры могут делать одну и ту же работу. Модель вычислений для машины SIMD очень похожа на модель вычислений для векторного процессора: одиночная операция выполняется над большим блоком данных. Модели вычислений на векторных и матричных ВМ настолько схожи, что эти ВМ часто рассматриваются как эквивалентные.[2]

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

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

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

Основной характеристикой оно параллельных МПС но является ускорение R, но определяемое выражением

R = оно T1 / Tn ,

оно где T1 – еще время выполнения еще задачи на но однопроцессорной ВМ; Tn – оно время выполнения еще той же еще задачи на n-но процессорной ВМ.

Многопроцессорные системы но за годы оно развития вычислительной но техники претерпели еще ряд этапов еще своего развития. Исторически первой еще стала осваиваться оно технология SIMD. Однако в настоящее но время наметился но устойчивый интерес к но архитектурам MIMD. Этот интерес еще главным образом оно определяется двумя оно факторами:

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

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

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

В МПС с общей еще памятью один оно процессор осуществляет еще запись в конкретную но ячейку, а другой оно процессор производит но считывание из оно этой ячейки но памяти. Чтобы обеспечить но согласованность данных и но синхронизацию процессов, еще обмен часто но реализуется по оно принципу взаимно но исключающего доступа к оно общей памяти оно методом "почтового но ящика".[3] Модель еще системы с общей оно памятью очень оно удобна для но программирования и иногда оно рассматривается как еще высокоуровневое средство но оценки влияния но обмена на но работу системы, но даже если оно основная система в оно действительности реализована с оно применением локальной еще памяти и принципа оно передачи сообщений.

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

Эффективность схемы оно коммуникаций зависит оно от протоколов еще обмена, основных еще сетей обмена и но пропускной способности но памяти и каналов еще обмена. В сетях с коммутацией но каналов по оно мере возрастания оно требований к обмену оно следует учитывать но возможность перегрузки но сети. Здесь межпроцессорный еще обмен связывает оно сетевые ресурсы: еще каналы, процессоры, но буферы сообщений. Объем передаваемой но информации может оно быть сокращен оно за счет оно тщательной функциональной но декомпозиции задачи и но тщательного диспетчирования еще выполняемых функций.[4]

Таким образом, оно существующие МПС оно распадаются на но две основные еще группы. К первой группе но относятся МПС с еще общей (разделяемой) но основной памятью, оно объединяющие до оно нескольких десятков (оно обычно менее 32) еще процессоров. Сравнительно небольшое оно количество процессоров в но таких машинах оно позволяет иметь но одну централизованную но общую память и оно объединить процессоры и еще память с помощью но одной шины. При наличии у но процессоров кэш-оно памяти достаточного еще объема высокопроизводительная еще шина и общая но память могут оно удовлетворить обращения к но памяти, поступающие оно от нескольких но процессоров.

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

Рис. 1

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

Рис.2

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

Существующие ВС но класса MIMD но образуют три еще технических подкласса:

но симметричные мультипроцессоры;

оно системы с массовым но параллелизмом;

кластеры.

1.4 Симметричные мультипроцессоры и но системы с массовым но параллелизмом

Симметричные оно мультипроцессоры (SMP) еще используют принцип оно разделяемой памяти. В этом случае но система состоит оно из нескольких но однородных процессоров и но массива общей но памяти (обычно оно из нескольких еще независимых блоков). еще Все процессоры еще имеют доступ к еще любой ячейке оно памяти с одинаковой оно скоростью. Процессоры подключены к еще памяти с помощью оно общей шины еще или коммутатора. Аппаратно поддерживается оно когерентность кэшей. Вся система но работает под но управлением единой ОС.[5]

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

Кластер – параллельный но компьютер, все но процессоры которого но действуют как но единое целое но для решения но одной задачи. Первым кластером еще на рабочих но станциях был еще Beowulf. Проект Beowulf но начался в 1994 г. сборкой в научно-оно космическом центре еще NASA 16-процессорного оно кластера на еще Ethernet-кабеле. С тех пор еще кластеры на еще рабочих станциях еще обычно называют но Beowulf-кластерами. Любой Beowulf-но кластер состоит но из машин (оно узлов) и объединяющей но их сети (еще коммутатора). Кроме ОС, но необходимо установить и оно настроить сетевые но драйверы, компиляторы, оно ПО поддержки оно параллельного программирования и оно распределения вычислительной но нагрузки. В качестве узлов но обычно используются но однопроцессорные ВМ с но быстродействием 1 ГГц и но выше или но SMP-серверы с оно небольшим числом оно процессоров (обычно 2–4).[6]

но Для получения но хорошей производительности но межпроцессорных обменов но используют полнодуплексную еще сеть Fast но Ethernetс пропускной оно способностью 100 Mбит/с. При этом но для уменьшения оно числа коллизий оно устанавливают несколько «но параллельных» сегментов оно Ethernet или но соединяют узлы но кластера через еще коммутатор (switch). В но качестве операционных еще систем обычно оно используют Linux но или Windows еще NT и ее но варианты, а в качестве но языка программирования – С++. оно Наиболее распространенным но интерфейсом параллельного еще программирования в мод еще модели передачи еще сообщений является оно MPI(Message оно Passing Interface). но Рекомендуемой бесплатной оно реализацией MPI еще является пакет еще MPICH, разработанный в оно Аргоннской национальной но лаборатории США. Во многих оно организациях имеются оно локальные сети оно компьютеров с соответствующим еще программным обеспечением. Если такую оно сеть снабдить оно пакетом MPICH, но то без но дополнительных затрат еще получается Beowulf-оно кластер, сравнимый оно по мощности с еще супер-ЭВМ. Это является оно причиной широкого оно распространения таких оно кластеров.

Глава 2 Программное оно обеспечение и аппаратные но средства мультипроцессорных оно систем

2.1 Основные результаты но суперкомпьютерной программы «оно СКИФ» Союзного оно государства

Тематика еще высокопроизводительных вычислений и но мультипроцессорных систем оно была одной оно из основных оно тематик Института оно программных систем но РАН. Если угодно - оно исследования в этом но направлении были еще одной из еще целей создания еще Института.

В работах по оно данной тематике еще можно выделить еще несколько этапов:

  • 1990 - 1995 гг.: работы с транспьютерными еще системами, участие еще ИПС РАН в но Российской транспьютерной оно ассоциации; начало оно исследований и первых но экспериментов, в том но направлении, которое в еще дальнейшем приведет к еще созданию Т-системы.
  • 1994 - 1998 гг.: поиск и реализация оно решений для еще компонент первых но версий Т-системы, в оно качестве аппаратной но базы используются еще различные сети оно из ПЭВМ - еще начиная с самодельных оно сетей на еще базе "ускоренного RS-232" (еще до 1 Mbit/s) и оно собственных коммутирующих оно устройств для еще таких связей; оно заканчивая кластером но на базе оно FastEthernet (100 Mbit/s).
  • 1998 - 1999 гг.: развитие первой но версии Т-системы, еще налаживание кооперации с но коллегами из еще Минска, формирование но суперкомпьютерной программы "но СКИФ" Союзного но государства.
  • 2000 - 2004 гг.: период исполнения еще суперкомпьютерной программы "но СКИФ" Союзного оно государства, в которой еще ИПС РАН еще определен как оно головной исполнитель оно от Российской но Федерации.
  • 2007 - 2011 гг.: период исполнения еще суперкомпьютерной программы "но СКИФ" Союзного оно государства, в которой еще ИПС РАН оно определен как но головной исполнитель еще от Российской еще Федерации.

1993-1994 годы

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

1995 год

В рамках оно работ по но транспьютерной тематике еще была выполнена еще разработка оригинальной но интерфейсной платы оно для IBM еще PC на еще основе транспьютера но Т425 (Пономарев А. Ю., Шевчук Ю. В., Позлевич Р. В.). Разработанная плата еще обеспечивает сопряжение оно персонального компьютера с оно аппаратурой на но основе транспьютеров: с еще вычислительной транспьютерной еще сетью или с еще аппаратурой сбора но экспериментальных данных оно на базе еще транспьютеров. Интерфейс с компьютером оно был построен но по принципу оно разделяемой памяти еще это решение оно обеспечило скорость но передачи данных но до 5 Мбайт/оно сек на но шине ISA, но что приблизительно оно на порядок оно превосходило параметры еще всех существовавших в оно то время оно транспьютерных плат, но использующих метод но программного обмена оно через интерфейсный еще чип С011.

В 2000-2003 гг. получены следующие но результаты:

  • Разработана оно конструкторская документация (КД) и но образцы высокопроизводительных оно систем "СКИФ" еще Ряда 1, которые еще прошли приемочные (но государственные) испытания. По результатам но государственных испытаний но конструкторской документации еще присвоена литера О1.
  • Разработано базовое но программное обеспечение оно кластерного уровня (оно ПО КУ) и ряд оно прикладных систем еще суперкомпьютеров "СКИФ" оно Ряда 1. Данное ПО оно прошло приемочные (оно государственные) испытания. На испытания еще выносилось более оно двадцати программных еще систем, среди но них:
    • модифицированное оно ядро операционной еще системы Linux-еще SKIF (ИПС еще РАН и МГУ);
    • оно модифицированные пакеты но параллельной файловой но системы PVFS-еще SKIF и системы но пакетной обработки но задач OpenPBS-оно SKIF (ИПС оно РАН и МГУ);
    • еще мониторная система оно FLAME-SKIF еще кластерных установок еще семейства "СКИФ";
    • еще стандартные средства (но MPI, PVM) оно поддержки параллельных но вычислений, 12 адаптированных оно пакетов, библиотек и но приложений (ИПС оно РАН и МГУ);
    • Т-но система и сопутствующие оно пакеты: T-ядро, оно компилятор tgcc, но пакет tcmode оно для редактора но Xemacs, демонстрационные и еще тестовые Т-задачи (оно ИПС РАН и но МГУ);
    • отладчик оно TDB для но MPI-программ (оно ИПС РАН);
    • оно две первые но прикладные системы, но разрабатываемые по оно программе "СКИФ": оно одна для но автоматизации проектирования оно химических реакторов (еще ИВВиИС, СПб.), другая, созданная с но использованием технологий ИИ, оно для классификации но большого потока но текстов (ИЦИИ еще ИПС РАН).

еще По результатам но испытаний данным еще программным системам еще ПО КУ "оно СКИФ" присвоена еще литера О1.

  • В ОАО "НИЦЭВТ" но подготовлена производственная еще база, проведена оно разработка КД и но освоены в производстве еще адаптеры (N330, оно N337, N335) но системной сети но SCI, которые но являются полными оно функциональными аналогами еще адаптеров SCI оно компании Dolphin (оно D330, D337, еще D335).
  • В 2000-2003 гг. построено 12 опытных оно образцов и вычилительных оно установок Ряда 1 и еще Ряда 2 семейства "еще СКИФ".
  • Самую но высокую производительность оно из них но имеет установка "но СКИФ К-500": пиковая оно производительность составляет 716.8 Gflops, реальная оно производительность - 471.6 Gflops (на но задаче Linpack, 65.79% от пиковой). еще На 2004 год оно запланирован выпуск еще еще двух еще моделей суперкомпьютеров, оно самый мощный оно из них "но СКИФ К-1000" ожидается но со следующими еще показателями: пиковая оно производительность около 2.6 Tflops (ожидаемая но реальная производительность оно на задаче оно Linpack: 1.7 Tflops).

Начаты еще работы по оно инженерным расчетам оно на системах оно семейства "СКИФ" и еще по созданию еще единого информационного еще пространства программы "но СКИФ". В рамках еще приемочных (государственных) оно испытаний сверх оно программы и методики еще испытаний были оно показаны первые но результаты в этом но направлении:

  • проведена оно проверка режима но удаленного доступа но из г. Минска к ресурсам оно одного из но ведущих в области оно механики жидкости и оно газа инженерных но пакетов STAR-CD, еще установленного на оно суперкомпьютере "СКИФ" в г. Переславле-Залесском (еще ИПС РАН);
  • но проведена проверка но режима удаленного еще доступа из г. Минска с помощью но Web-интерфейса к еще ресурсам программного еще комплекса для но расчета процессов в еще PECVD-реакторах, оно установленного на но суперкомпьютере "СКИФ" в г. Переславле-Залесском (но ИПС РАН);
  • но показаны результаты еще использования ведущего в но области механики но деформируемого твердого но тела инженерного но пакета LS-DYNA, оно установленного на оно суперкомпьютере "СКИФ" в г. Минске (УП "оно НИИ ЭВМ").

2.2 Мультипроцессорные компьютеры

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

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

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

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

Глава 3 Эволюция оно микропроцессорных систем

3.1 Основные направления но развития

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

История развития еще микропроцессоров в полной еще мере подчиняется еще диалектике эволюционного еще усовершенствования архитектуры. Начиная от но машины ENIAC, еще содержавшей 19 тыс. ламп, производительность но компьютеров росла оно на порядок но каждые пять еще лет. Большое число еще транзисторов на но современном кристалле еще делает возможным еще применить в одном еще микропроцессоре все но известные способы еще повышения производительности, оно сообразуясь только с оно их совместимостью.[8] Однако для оно полного использования еще возможностей аппаратуры но уже недостаточно оно ограничиться только еще аппаратно реализованными но алгоритмами управления, но достаточно единообразно еще функционирующими во еще всех ситуациях. Поэтому при но реализации усложненной оно логики управления еще используется программное еще обеспечение, для еще поддержки которого еще вводятся дополнительные еще команды и регистры но управления микропроцессора. В свою очередь, еще формирование программ еще для потактного но управления микропроцессором но под силу еще только компилятору. Таким образом, в еще современных микропроцессорах еще возник симбиоз еще программных и аппаратных еще средств. Этот симбиоз но представляет собой еще нечто большее, еще нежели эволюционный еще ход развития, а оно смену самого оно направления развития еще микропроцессоров, выражающуюся в еще переходе к мультитредовым и но многопроцессорным архитектурам.

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

  1. увеличение но емкости памяти но внутри кристалла;
  2. но увеличение количества оно арифметико-логических оно устройств;
  3. введение еще блоков обработки оно мультимедийных данных, оно ранее использовавшихся, оно например, в сигнальных оно микропроцессорах;
  4. интеграция но на кристалле еще функций управления оно памятью и периферийными оно устройствами, для оно исполнения которых в еще традиционных микропроцессорах но используются наборы оно микросхем («чипсеты»);
  5. еще интеграция на но кристалле интерфейсов оно сетевых и телекоммуникационных оно систем, что оно позволяет соединять оно эти микропроцессоры оно друг с другом и но телекоммуникационными и вычислительными но сетями без оно дополнительных адаптеров.

3.2 Увеличение объема оно внутрикристальной памяти

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

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

еще Постоянный рост оно емкости кэш-но памяти микропроцессора но сопровождался усложнением оно процесса управления, оно что вылилось в но переход от но кэш-памяти но со сквозной оно записью к кэш-оно памяти с буферизированной и но обратной записями. При этом в но микропроцессорах использовалось еще программное управление но режимом записи оно кэш-строк но путем установки но бита, переключающего еще режимы сквозной и но обратной записи оно кэш-строки. Однако в случае оно промаха в кэш-оно памяти возрастающий но разрыв между оно временем выполнения но команды и временем еще доступа в память оно привел к недопустимо еще большим потерям но производительности. Поэтому в микропроцессоры оно были введены но команды управления но кэшированием. Например, в Pentium оно III появились еще команды нового но типа, обеспечивающие: оно запись данных еще из регистров в оно память, минуя оно кэш; чтение еще данных из оно памяти в регистры, еще минуя кэш; оно запись данных но из памяти но выборочно в кэш оно первого и второго но уровня; запись оно данных из но кэш-памяти и оно буферов записи в оно память.[9]

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

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

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

Компания Tera но объявила о разработке но проекта мультитредового еще микропроцессора, реализующего оно процессор МТА. Level One, но приобретенная Intel, еще выпустила мультитредовый оно сетевой микропроцессор но IXP1200, содержащий в но своем составе 6 оно четырехтредовых процессоров. IBM анонсировала оно проект компьютера но Blue Gene, но кристалл микропроцессора оно которого включает 32 оно восьмитредовых процессора. В кристалл встроена оно память EDRAM, еще организованная в 32 блока. Каждый блок еще соответствует одному еще из 32 процессоров и но имеет шину но доступа 256 разрядов. Поскольку EDRAM но обладает высокой оно пропускной способностью и но малой задержкой, но то при оно восьмитредовой структуре но процессора становится оно возможным отказаться но от кэш-но памяти, вместо но которой между еще процессором и памятью оно используется небольшая еще буферная память.

3.3 Увеличение числа и состава функциональных устройств

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

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

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

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

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

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

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

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

Процесс функционирования процессора с внеочередным исполнением команд иллюстрирует рис. 3.1:

Рисунок 3 Процесс функционирования процессора с внеочередным исполнением команд

Многие производители расширяют сегодня функциональные возможности выпускаемых микропроцессоров за счет введения специализированных блоков для мультимедийных приложений. Подобный блок имелся уже в микропроцессоре второго поколения Intel 80860, и на некоторых приложениях его использование давало существенный прирост производительности. Аналогичные блоки включены и в другие микропроцессоры Intel (ММХ-расширение системы команд Pentium и 70 новых SIMD-команд Pentium III), AMD (3D Now!), Sun (VIS SPARC), Compaq (Alpha MVI), HP (PA-RISC MAX2), SGI/Mips (MDMX), Motorola (PowerPC AltiVec).

Возможны различные варианты встраивания команд мультимедийной обработки в систему команд микропроцессора: на уровне функционального блока, использующего общий с другими блоками файл регистров (Pentium MMX) или на уровне отдельного процессора со своим регистровым файлом, используя разнесенную (decoupled) архитектуру. Последний вариант применен в Pentium III и PowerPC AltiVec.

Команды мультимедийной обработки задают в режиме SIMD-процессора параллельную обработку нескольких единиц данных, представленных, как правило, малоразрядными (8, 16, 32) числами в формате с фиксированной точкой. Однако это не исчерпывает всех текущих потребностей и, например, в Pentium III введена параллельная обработка в режиме SIMD-процессора четырех 32-разрядных операндов в формате с плавающей точкой.

3.4 Интеграция функций

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

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

В кристалл интегрируются интерфейсы сетевых и телекоммуникационных систем, что позволяет без дополнительных адаптеров соединять микропроцессоры друг с другом, с телекоммуникационными и вычислительными сетями. Интеграция коммуникационных интерфейсов в кристалл микропроцессора была впервые проделана в транспьютерах. Однако это были упрощенные интерфейсы, позволяющие связываться лишь с другими транспьютерами. В процессорах Motorola MPC8260 поддерживается уже множество телекоммуникационных протоколов, включающих, например, 10/100 Mбит/с Ethernet, 155 Mбит/с ATM, 256 каналов 64 Кбит/с HDLC. Компания Motorola предлагает два семейства кристаллов, в которых в качестве ядра используется PowerPC 603e – это семейство на основе технологий AltiVec и PowerQUICC.

Ориентация разработчиков на создание систем с распределенной разделяемой памятью привела к интеграции в кристалл блока управления когерентностью многоуровневой памяти на кристалле и распределенной внешней памяти, доступ к блокам которой выполняется через интегрированную в тот же кристалл коммуникационную среду. В качестве примеров этого подхода можно назвать микропроцессоры Alpha 21364, Power4, а также Blue Gene. В качестве ядра у микропроцессора Alpha 21364 используется Alpha 21264, но на кристалле интегрированы: шестивходовый частично ассоциативный кэш второго уровня емкостью 1,5 Мбайт; контроллер памяти, поддерживающий работу с динамической памятью Direct Rambus; сетевой интерфейс.

Рисунок 4 Архитектура микропроцессора Alpha 21364

Для динамического исполнения в микропроцессоре Alpha 21364 (рис.3.2) рассматриваются сразу 80 команд – больше, чем у любого другого процессора. После декодирования команда помещается в очередь к устройствам с фиксированной или плавающей точкой. Команды, получившие все операнды, конкурируют за доступ к функциональным устройствам: двум блокам операций с плавающей точкой, выполняющим сложение, умножение, деление, извлечение квадратного корня и четырем целочисленным устройствам (двум общего назначения и двум адресной арифметики). Последние наряду с простыми арифметическими и логическими операциями выполняют все команды загрузки и сохранения как целочисленных данных, так и данных в формате с плавающей точкой.

Целочисленные АЛУ общего назначения выполняют арифметические и логические операции, сдвиги и переходы. Одно из целочисленных АЛУ выполняет также умножение, а другое – новый набор команд обработки видеоданных. Для динамического переименования доступны 41 из 80 целочисленных регистров и 41 из 72 регистров с плавающей точкой.

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

Благодаря встроенному сетевому интерфейсу упрощается объединение микропроцессоров в высокопроизводительные многопроцессорные системы. Сетевой интерфейс поддерживает 4 межпроцессорных соединения типа «точка-точка» со скоростью передачи данных 10 Гбайт/с каждый при задержке 15 нс. Сетевой интерфейс обеспечивает когерентность кэшей в многопроцессорной системе и реализует асинхронный обмен данными с адаптивной маршрутизацией. Пример структуры многопроцессорной системы на основе микропроцессоров Alpha 21364 показан на рис. 3.3:

Рисунок 5 Пример структуры многопроцессорной системы

Микропроцессор имеет пятый порт – ввода-вывода, работающий на скорости обмена 3 Гбайт/с.

Процессоры Alpha 21364 и Power4 объединяет общность архитектурных решений: суперскалярная микроархитектура, внеочередное исполнение команд, большая кэш-память на кристалле, специализированный порт для основной памяти, а также высокоскоростные линки для объединения микропроцессоров в системы с архитектурой NUMA с распределенной разделяемой памятью (distributed shared memory — DSM).

Каждый процессор Power4 (рис. 3.4) подобен Power3 и имеет два конвейерных блока для работы с 64-разрядными операндами с плавающей точкой на частоте 1 ГГц, выбирающих на исполнение по 5 команд каждый и 2 блока для работы с памятью. В процессорах реализуется внеочередное исполнение команд. Микропроцессор реализован на кристалле, содержащем 170 млн. транзисторов. Для достижения тактовой частоты 1,1 ГГц стадии конвейеров имеют задержку 8-10 вентилей.

Процессоры содержат раздельные кэш-памяти команд и данных первого уровня емкостью по 64 Кбайт каждая. Кроме того, имеется разделяемая (общая) кэш-память на кристалле второго уровня и внешняя кэш-память третьего уровня. Для образования мультипроцессорных конфигураций имеются 3 линка с суммарной пропускной способностью 45 Гбайт/с.

Рисунок 6 Архитектура Power4

Наряду с параллелизмом уровня команд (ILP), процессор использует параллелизм уровня тредов (TLP). Динамическое выявление параллелизма позволяет предотвращать простои процессора при трудно выявляемых статически исключительных ситуациях, например, промахе в кэш-памяти. Power4 изготавливается по 0,18-микронной технологии SOI («кремний на изоляторе») с медными проводниками и 5 слоями металла на кристалле площадью 400 мм2.

Отличительная особенность Power4 – наличие кэш-памяти второго уровня, разделяемой двумя процессорами кристалла, а также внешними процессорами других кристаллов через линки шириной 16 байт, работающие на тактовой частоте более 500 МГц, что обеспечивает пропускную способность свыше 8 Гбайт/с. Суммарная пропускная способность 4 линков составляет более 35 Гбайт/с. При объединении 4 кристаллов и их размещении, как показано на рис. 3.5, проводники линков могут быть достаточно короткими и, что важно, прямыми.

Рисунок 7 Пример объединения Power4 в фрагмент многопроцессорной системы

Физически кэш-память второго уровня емкостью около 1,5 Мбайт состоит из трех одинаковых блоков, доступ к которым выполняется через коммутатор с пропускной способностью на уровне 100 Гбайт/с. Протокол когерентности обеспечивает размещение данных, поступивших по линкам, в том блоке кэш-памяти, который использовался для размещения данных последним.

Порт кристалла Power4, предназначенный для подключения кэш-памяти третьего уровня емкостью до 32 Мбайт имеет ширину 16 байт для каждого из двух направлений пересылки данных. Порт функционирует на 1/3 от тактовой частоты процессоров кристалла, что обеспечивает пропускную способность к памяти на уровне 10 Гбайт/с. Теги кэш-памяти третьего уровня расположены внутри кристалла, что ускоряет реализацию протокола когерентности. Для работы с основной памятью может быть использована восьмипоточная программная предвыборка данных непосредственно в кэш-память первого уровня на кристалле. Пересылать можно одновременно до 20 строк кэша.

Каждый из двух процессоров Power4 имеет систему команд IBM ISA, реализованную в RS/6000 и AS/400 и полностью совместимую с системой команд Power PC. Сохранение системы команд, вызванное поддержкой двоичного кода пользователей, потребовало применения как однотактных команд, так и микропрограмм и даже прерываний для программной реализации наиболее сложных команд ISA.

3.5 Однокристальные мультитредовые и мультискалярные системы

Современные микропроцессоры, например, Alpha 21264 и Pentium III, относятся к однотредовым, использующим параллелизм уровня команд, выявляемый либо статически (компилятором), либо динамически (аппаратурой микропроцессора), либо комбинацией этих двух методов. Параллелизм уровня тредов при использовании этих микропроцессоров может быть выявлен только статически. Динамическое выявление параллелизма уровня тредов в рамках архитектур однотредовых процессоров практически невозможно, так как требует просмотра большого количества команд на предмет их одновременного исполнения – расширения окна исполнения. Это влечет за собой усложнение логических схем управления внеочередным исполнением команд, что может привести к снижению тактовой частоты микропроцессора. Для разрешения данного противоречия предлагаются мультитредовые и мультискалярные микропроцессоры.

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

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

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

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

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

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

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

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

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

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

Микросборки не отличаются от СБИС. Выбор однокристальной реализации или микросборки определяется достигаемыми технико-экономическими показателями, например, использование микросборок памяти. Возможности подобной технологии демонстрирует микропроцессор Pentium Pro. Однако среди наиболее интересных проектов, концентрирующих архитектурные и технологические достижения, включая однокристальные системы и микросборки, можно назвать микропроцессор Power4;

4) В традиционных компьютерах, состоящих из микропроцессора и микросхем памяти, использующих в совокупности порядка 108 транзисторов в микропроцессоре и 109 транзисторов в памяти, в каждом такте задействовано по разным оценкам 104 – 105 транзисторов. Иначе говоря, имеет место простой значительной части оборудования, потенциально способного производить полезную работу. Конечно, при использовании КМОП-технологии простои имеют и определенный плюс: оборудование выделяет мало тепловой энергии. При существующих на сегодня конструкциях корпусов микросхем проблема теплоотвода может стать решающей при выборе архитектуры кристалла. Однако на кристалле может быть достаточно эффективно реализована многопроцессорная система из большого числа процессоров, каждый из которых имеет собственную небольшую встроенную память. Подобные вычислительные структуры обычно называют ассоциативными процессорами, памятью с обработкой, многофункциональной памятью или интеллектуальной памятью. К этому классу относятся однокристальные системы как с SIMD-архитектурой, например, Fuzion 150, так и с MIMD-архитектурой, например, Blue Gene.

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

Заключение

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

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

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

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

Список используемых источников

    1. Андреев, А.М. Многопроцессорные вычислительные системы: теоретический анализ, математические модели и применение: Учебное пособие / А.М. Андреев, Г.П. Можаров, В.В. Сюзев. - М.: МГТУ им. Баумана, 2015. - 332 c.
    2. Андреев, А.М. Многопроцессорные вычислительные системы / А.М. Андреев. - М.: МГТУ, 2014. - 332 c.
    3. Белолипецкий, В.Г. Сборник олимпиадных задач для специальности "Вычислительные машины, комплексы, системы и сети".Учебное пособие для ВУЗов / В.Г. Белолипецкий. - М.: КноРус, 2016. - 277 c.
    4. Бройдо, В. Вычислительные системы, сети и телекоммуникации / В. Бройдо, О.П. Ильина. - СПб.: Питер, 2015. - 560 c.
    5. Бройдо, В.Л. Вычислительные системы, сети и телекоммуникации: Учебник для вузов / В.Л. Бройдо, О.П. Ильина. - СПб.: Питер, 2011. - 560 c.
    6. Бройдо, В.Л. Вычислительные системы, сети и телекоммуникации / В.Л. Бройдо. - СПб.: Питер, 2013. - 688 c.
    7. Горнец, Н.Н. ЭВМ и периферийные устройства. Компьютеры и вычислительные системы: Учебник для студентов учреждений высш. проф. образования / Н.Н. Горнец, А.Г. Рощин.. - М.: ИЦ Академия, 2012. - 240 c.
    8. Гудыно, Л.П. Вычислительные системы, сети и телекоммуникации: Учебное пособие / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко; Под ред. А.П. Пятибратов. - М.: КноРус, 2013. - 376 c.
    9. Емельянов, С.В. Информационные технологии и вычислительные системы / С.В. Емельянов. - М.: Ленанд, 2016. - 84 c.
    10. Емельянов, С.В. Информационные технологии и вычислительные системы: Интернет-технологии. Математическое моделирование. Системы управления. Компьютерная графика / С.В. Емельянов. - М.: Ленанд, 2014. - 96 c.
    11. Емельянов, С.В. Информационные технологии и вычислительные системы: ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ. ПРИКЛАДНЫЕ АСПЕКТЫ ИНФОРМАТИКИ / С.В. Емельянов. - М.: Ленанд, 2015. - 96 c.
    12. Замятина, О.М. Вычислительные системы, сети и телекоммуникации. моделирование сетей.: Учебное пособие для магистратуры / О.М. Замятина. - Люберцы: Юрайт, 2016. - 159 c.
    13. Зотов, А.Ф. Вычислительные системы, сети и телекоммуникации / А.Ф. Зотов. - М.: КноРус, 2012. - 288 c.
    14. Калмакова, А.В. Вычислительные машины, системы и сети / А.В. Калмакова, О.Е. Узинцев. - М.: МГИУ, 2008. - 76 c.
    15. Канащенков, А.И. Радиолокационные системы многофункциональных самолетов. Т. 3. Вычислительные системы РЛС многофунк. / А.И. Канащенков. - М.: Радиотехника, 2007. - 280 c.
    16. Ларионов, А.М. Вычислительные комплексы, системы и сети / А.М. Ларионов. - Л.: Энергоатомиздат, 1987. - 288 c.
    17. Мелехин, В.Ф. Вычислительные системы и сети: Учебник для студентов учреждений высш. проф. образования / В.Ф. Мелехин, Е.Г. Павловский. - М.: ИЦ Академия, 2013. - 208 c.
    18. Партыка, Т.Л. Электронные вычислительные машины и системы: Учебное пособие / Т.Л. Партыка, И.И. Попов. - М.: Форум, ИНФРА-М, 2012. - 368 c.
    19. Пятибратов, А.П. Вычислительные системы, сети и телекоммуникации: Учебник / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко. - М.: ФиС, ИНФРА-М, 2015. - 736 c.
    20. Рождествина, А.А. Вычислительные системы, сети и телекоммуникации (для бакалавров) / А.А. Рождествина. - М.: КноРус, 2013. - 376 c.
    21. Шевченко, В.П. Вычислительные системы, сети и телекоммуникации: Учебник / В.П. Шевченко. - М.: КноРус, 2012. - 288 c.
    22. Шепель, В.М. Вычислительные системы, сети и телекоммуникации: Учебник / В.М. Шепель. - М.: Финансы и статистика, 2015. - 736 c.
  1. Замятина, О.М. Вычислительные системы, сети и телекоммуникации. моделирование сетей.: Учебное пособие для магистратуры / О.М. Замятина. - Люберцы: Юрайт, 2016. - 159 c.

  2. Мелехин, В.Ф. Вычислительные системы и сети: Учебник для студентов учреждений высш. проф. образования / В.Ф. Мелехин, Е.Г. Павловский. - М.: ИЦ Академия, 2013. - 208 c.

  3. Емельянов, С.В. Информационные технологии и вычислительные системы / С.В. Емельянов. - М.: Ленанд, 2016. - 84 c.

  4. Белолипецкий, В.Г. Сборник олимпиадных задач для специальности "Вычислительные машины, комплексы, системы и сети".Учебное пособие для ВУЗов / В.Г. Белолипецкий. - М.: КноРус, 2016. - 277 c.

  5. Андреев, А.М. Многопроцессорные вычислительные системы: теоретический анализ, математические модели и применение: Учебное пособие / А.М. Андреев, Г.П. Можаров, В.В. Сюзев. - М.: МГТУ им. Баумана, 2015. - 332 c.

  6. Андреев, А.М. Многопроцессорные вычислительные системы / А.М. Андреев. - М.: МГТУ, 2014. - 332 c.

  7. Бройдо, В. Вычислительные системы, сети и телекоммуникации / В. Бройдо, О.П. Ильина. - СПб.: Питер, 2015. - 560 c.

  8. Пятибратов, А.П. Вычислительные системы, сети и телекоммуникации: Учебник / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко. - М.: ФиС, ИНФРА-М, 2015. - 736 c.

  9. Бройдо, В.Л. Вычислительные системы, сети и телекоммуникации: Учебник для вузов / В.Л. Бройдо, О.П. Ильина. - СПб.: Питер, 2011. - 560 c.

  10. Бройдо, В.Л. Вычислительные системы, сети и телекоммуникации / В.Л. Бройдо. - СПб.: Питер, 2013. - 688 c.