Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 49
Текст из файла (страница 49)
Реальные программы всегда содержат значительную долю скалярных операций. На производительность процессора оказывают влияние не только операционные устройства, но и ОП, системы ввода-вывода и т.п. Обычно возможности конвейерных систем принято характеризовать длиной вектора Е,дп при которой производительность соответствует половине максимальной, или пиковой. Широкое признание конвейерный принцип обработки получил с середины 1970-х гг., когда появилось несколько конвейерно-векторных ВС, наиболее известными из которых были Сгау-1 и СуЬег-205.
9.4. Симметричные системы Среди М1М1)-архитектур наибольший интерес сегодня представляют две. Такие архитектуры называют симметричными (Зупппегпс Мв!11Ргосеззог — БМР) и асиммевричными (Авупппегпс Мп!й Ргосемог — АМР). В М1М13-архитектурах несколько процессоров могут одновременно обращаться к программному ядру, что приводит к потенциальным задержкам и блокировкам. Одним из методов, позволяющим избежать блокировок, служит простой механизм: при обращении процесса к системной памяти осуществляется проверка замка. Если замок «заперт», то процесс ожидает его «отпирания».
Этот метод обычно и называют асимметричным мультипроцессированием. Его преимущество заключается в простоте, а недостаток — в том, что процессорам часто приходится ждать, пока ядро не будет освобождено захватившим его процессором. Поскольку лишь один процессор может выполнять системную программу, то 237 эти замки устанавливают в начале каждого обращения к систем ной памяти и снимают их после его завершения. Вероятность ожи дания возрастает с увеличением числа процессоров, и, следова тельно, рост производительности за счет увеличения числа про цессоров при асимметричной организации ограничен. При симметричной организации все процессоры равноправны, связаны единой шиной и имеют доступ к общей памяти; по шине они также получают доступ к общим устройствам ввода вывода (рис.
9.4). Все программы и данные хранятся в виде одной копии в единой памяти, к которой имеют доступ все процессоры и контроллеры ввода-вывода. Эта единая память позволяет ПО считать, что обработка производится как бы в одном процессоре, что значительно упрощает программирование. Наличие единой памяти снижает быстродействие, но память строят в виде нескольких банков: когда в одном банке происходит обновление информации, другой свободен для доступа. Кроме того, все процессоры снабжают кэш-памятью достаточно большого объема, служащей для устранения потерь времени из-за конфликтов при обращении к общей памяти и довольно медленной работы шины.
Наличие у каждого процессора своей кэш-памяти уменьшает потребность в обращениях к ОП, т.е. ускоряет обработку, но приводит к когерентности кэш-памяти. Каждый из процессоров симметричной ВС выполняет задачи, возлагаемые на него ОП; поэтому эффективность ВМР-системы зависит от способности ОС распределять задачи по процессорам. Для более эффективной работы ВС многие ОС (в частности, ЪУ1пбонз ХТ) содержат средства разделения задачи на цепочки, или нити (гпгеад), которые могут выполняться на разных процессорах. Это повышает не только производительность системы, но и ее надежность: выход из строя любого процессора может фиксироваться ОС, а его нагрузка автоматически распределяться по оставшимся исправными процессорам. Помимо высокой надежности симметричные системы обладают возможностью наращивать до определенных пределов свои вычислительные ресурсы, т.е.
конфигурацию такой системы можно произвольным образом -память на Рис. 9.4. Структура симметричной ВС 238 расширять. Система БМР обладает свойством масштабируемости и позволяет решить несколько задач: обеспечивает высокую производительность и надежность, обладает широкими возможностями наращивания вычислительных ресурсов и позволяет реализовать открытость информационной системы. Открытость системы обеспечивается стандартными средствами взаимодействия различных компонентов и частей ВС.
Примером симметричной ВС являются выпускаемые в настоящее время промышленные двухпроцессорные рабочие станции на базе процессора Репг)шп 1Ч Хеоп. Каждый процессор в этих станциях снабжен собственной кэш-памятью объемом не менее 512 Кбайт (обычно 1 Мбайт или больше). Помимо ЦП в этих станциях установлены графические платы, усовершенствованные графические порты и другие схемы, обеспечивающие преимущества при работе с трехмерной графикой, видеоклипами и т.п.
9.5. Системы со сверкдлинным командным словом Анализ затрат времени на выполнение команды показывает, что требуется значительное время на обращение к ОП как за самой командой, так и за обрабатываемыми данными. Мультипроцессорная система не решает всех проблем, поскольку вся исходная, подлежащая обработке информация все равно находится в памяти, а доступ к ней ограничен.
Единственный способ повышения производительности состоит в расширении доступа к памяти. Придание каждому процессору в мультипроцессорной системе «своего» блока памяти, построение ОП из нескольких блоков с поочередным обращением к ним, размещение в каждом процессоре собственной кэш-памяти составляют основу современных технических решений. Концепция сверхдлинного командного слова (Чегу 1.опя 1пигосбоп %ого — Ч1.1%) предполагает, что для загрузки нескольких обрабатывающих устройств можно получить необходимые команды и данные из памяти за одно обращение. Сверхдлинное командное слово позволяет разместить несколько независимых команд в одном слове и получать их из памяти за одно обращение.
В машинах со сверхдлинным командным словом достигается заметная экономия времени при обращениях к памяти: становятся доступными несколько задаваемых командным словом операций (нет необходимости несколько раз обращаться в ОП за новыми командами); в регистрах процессора находится несколько результатов выполнения предыдущего командного слова. Эти результаты с больШой вероятностью будут использованы в качестве входных операндов для следующего командного слова. 239 Рис. 9.5.
Структура машины со сверхдлинным командным словом Это создает предпосылки для уменьшения числа обращений к ОП, однако для того чтобы действительно уменьшить их количество, необходимо иметь широкую системную магистраль. Такая магистраль может быть реализована на печатной плате: современные магистрали имеют ширину 64, 128 и 256 разрядов.
В машине со сверхдлинным командным словом (рис. 9.5) реализован синхронный принцип обработки, т.е. выборка следующего командного слова осуществляется по завершении строго определенного числа тактов. При реализации синхронной обработки важно, чтобы длительность всех операций была примерно одинаковой. В качестве устройств обработки могут использоваться однотипные или разнотипные специализированные процессоры; для получения информации из памяти служат широкополосные магистрали.
Принцип сверхдлинного командного слова в настоящее время находит широкое применение для построения мультипроцессорных серверов, так как не требует больших затрат на проектирование системы и создание ПО, но в то же время позволяет значительно повысить их быстродействие. 9.6. Другие виды мультипроцессорных систем В настоящее время существует множество различных структур мультипроцессорных систем. Некоторые их этих структур находят применение в персональных компьютерах, некоторые служат основой для компьютеров сверхвысокого быстродействия, а какието пока изучаются на уровне моделей.
Некоторые подобные структуры рассмотрены ниже. Машины с массовым параллелизмом. Обычно машина с массовым параллелизмом (рис. 9.6) состоит из ведущего модуля (ВМ), модулей обработки (МО) и коммутирующей сети (КС), в них часто используется супервизорная магистраль (СМ). В качестве ВМ используют ту или иную промышленную ЭВМ которая служит для управления всеми МО, загрузки их данными 240 см Рис. 9.6. Машина с массовым параллелизмом и выдачи результатов. Коммутирующая сеть реализуется различными способами — от двухмерной до многомерной сети, дерева, тора и т.п. Супервизорная магистраль служит для передачи команд и приказов. Как правило, разрядность модуля обработки невелика — 1...16 бит.
Частота синхронизации ограничена, тем не менее, она достигает 200...500 МГц. К таким машинам предъявляются взаимоисключающие требования. Во-первых, число элементарных процессоров в них может достигать нескольких тысяч и, во-вторых, при таком большом числе ПЭ становятся значительно длиннее цепи управления и передачи данных, т.е. снижается тактовая частота.
Помимо МО общего назначения в состав таких машин могут входить различные специализированные модули. Примерами систем с массовым параллелизмом могут служить ТЗП фирмы Сгау Кевеагсп, Рагаяоп фирмы 1пге1, СМ5 фирмы ТЬ1пЫпя Мас1йпез. Эти машины были разработаны в середине 1990-х гг. и позже. Матричные системы.
Высокопроизводительные системы такого типа представляют собой синхронные ОКМД-системы. В них используется большое число одинаковых обрабатывающих элементов, выполняющих одну операцию, но над различными данными (рис. 9.7, а). Большое число одинаковых СБИС делает их привле- Поток команд Пото дзи Рис. 9.7. Матричная ВС: а — приниип матричной обработки; б — обобщенная структура 241 кательными не только с технологических позиций, но и с точки зрения повышения производительности.