Конкретный набор компонент, входящих в данный компьютер, называется его конфигурацией. Минимальная конфигурация ПК необходимая для его работы включает в себя системный блок (там находятся МП, ОП, ПЗУ, НЖМД, НГМД), клавиатуру (как устройство ввода информации) и монитор (как устройство вывода информации)
Многопроцессорный компьютер (мультипроцессор) ПС-2000 предназначен для задач, обладающих массовым параллелизмом на уровне элементарных операций, и ориентирован на высокопроизводительную обработку данных по хорошо распараллеливаемым алгоритмам. Синхронная высокопараллельная обработка многих потоков данных в нем осуществляется под управлением общего потока команд, что свойственно SIMD-архитектурам (один поток команд, много потоков данных).
Мультипроцессор состоит из набора однотипных процессорных элементов (ПЭ1, ПЭ2, …, ПЭN), связанных между собой регулярным и магистральным каналом, и общего устройства управления (ОУУ) (рис. 1).
Каждый ПЭ, а также ОУУ состоят из нескольких функциональных устройств, включающих самую быструю в компьютере программно доступную регистровую память. Совокупность этих устройств (как в ОУУ, так и всех ПЭ) образует разветвленный конвейерный агрегат с программно конфигурируемыми связями. Каждое функциональное устройство составляет конвейерную ступень. Обмен данными между этими устройствами производится через общий для соседних ступеней регистр. Состав и назначение функциональных устройств каждого ПЭ приведены в табл. 1.
ОУУ обеспечивает прием и хранение программы мультипроцессора, генерацию и передачу общих для всех ПЭ управляющих сигналов, синхронизацию процессов обработки и ввода-вывода, тестирование ПЭ, а также связь с внешней мониторной подсистемой (МПС) (рис. 2). Состав и назначение функциональных устройств ОУУ приведены табл. 2.
Оригинальная архитектура ПС-2000 соединила относительную простоту аппаратных решений систем управления одним потоком команд с беспрецедентно высокой гибкостью программирования высокопараллельной обработки одновременно многих потоков данных. Уникальная гибкость управления ПС-2000 ломает привычные представления о функциональных возможностях SIMD-компьютеров. Невероятно, но в серийном ПС-2000 было сделано, казалось, совершенно немыслимое для компьютеров этого класса. В ресурсах ПС-2000 на программном уровне была эмулирована многопроцессорная архитектура MIMD (много потоков команд, много потоков данных). При этом все ПЭ, работая параллельно под управлением устройства активации, могли одновременно выполнять каждый свою программу, загруженную в собственный модуль оперативной памяти. Например, 64-процессорный SIMD-компьютер ПС-2000 смог параллельно выполнять 64 потока разных программ. Существовавшие на тот момент SIMD-компьютеры этого делать не умели.
Перечислим особенности архитектуры ПС-2000, которые обеспечили ей высокую гибкость и эффективностью вычислений.
· Команды отличались повышенной функциональной гибкостью управления разнообразными видами аппаратного параллелизма. Это качество достигается за счет многоуровневого иерархического структурирования большого множества одновременно исполняемых операций.
· Виды программно управляемого параллелизма:
— одновременное выполнение во всех ПЭ множества разнотипных действий (активация, вычислительные операции, вычисление адресов, доступ к модулям оперативной памяти, межпроцессорные пересылки данных по регулярному каналу);
— одновременное выполнение любого, программно задаваемого подмножества разнотипных действий (действия в ПЭ; ОУУ; параллельный обмен данным между модулями оперативной памяти ПЭ и набором дисководов через автономные каналы системы внешней памяти – СВП; действия в мониторной подсистеме), управление процессами внешней операционной системы.
· Наличие значительных объемов регистровой памяти ПЭ, в которых параллельно во всех активных ПЭ реализуются массовые вычисления и межпроцессорные обмены при исполнении циклических участков программ. Для циклов с большим числом повторений доля обращения к более медленным модулям оперативной памяти ПЭ может быть малой. В этом случае регистры реализуют положительный эффект кэширования (причем с параллельным выполнением действий во многих ПЭ).
· Межпроцессорная конвейеризация регистровых вычислений через регистры B регулярного канала обеспечивает режим программируемых систолических структур, что дает предельно достижимый уровень параллелизма.
· Набор однотипных устройств адресной арифметики L ПЭ обеспечивает параллельный доступ к памяти М по набору адресов с возможностями инкрементной модификации этих адресов.
· Набор однотипных устройств активации ПЭ обеспечивает высокий уровень параллелизма при ассоциативной обработке больших массивов данных (поиск и сортировки по программно задаваемым предикатным функциям, теоретико-множественные операции, обработка растровой графики, событийное управление вычислительными действиями и др.).
Система команд
Программирование мультипроцессора производится посредством высокопараллельных иерархически структурированных команд, которые обеспечивают программисту наглядное представление параллелизма функциональных устройств и высокоэффективное управление всеми действиями, синхронно исполняемыми в разветвленном конвейеризованном агрегате, связывающем функциональные устройства ПЭ и ОУУ.
Два верхних уровня структуры команды показаны на рис. 3. Все команды имеют одинаковый размер— 64 разряда— и разделены на две равные части— левую и правую. Каждая из них разделена на несколько полей. В каждом поле для соответствующего функционального устройства задается набор трехадресных операций с регистрами. В полях левой части задается управление устройством Т, а также либо S, либо В. В полях правой части задается управление либо устройствами М и L, либо W и устройствами H и HL, либо G.
После простой дешифрации команды все заданные в ее полях действия исполняются параллельно и синхронно на соответствующих устройствах.
Чем больше действий в полях каждой команды, тем выше параллелизм программы, эффективнее использование вычислительных ресурсов и, естественно, скорость выполнения. Искусство программирования мультипроцессора состоит в написании как можно более наполненных действиями полей команд.
Эффективность распараллеливания повышается за счет совмещения во времени разнотипных устройств. Например, выполнение массовых вычислений в устройствах S ПЭ совмещается с сопутствующими операциями (подготовка настроек, модификация адресов операндов, считывание операндов, запись результатов, управление конфигурацией решающего поля и т.п.). Таким образом, мультипроцессор ПС-2000 с общим потоком команд максимально использует параллелизм разнотипных и однотипных устройств.
Масштабируемость
Мультипроцессор ПС-2000 компонуется из модулей трех типов, каждый из которых размещается в одной стойке. Модули масштабирования компонуются из устройства обработки (УО), состоящего из 8 ПЭ и ОУУ. Модули имеют следующий состав:
· базовый – одно УО (8 ПЭ) и одно ОУУ;
· наращивания 1 — одно УО (8 ПЭ);
· наращивания 2 — два УО (16 ПЭ).
Минимальная конфигурация (8 ПЭ) состоит из одной стойки, максимальная (64 ПЭ) состоит из пяти стоек в виде «звезды».
Технические характеристики устройств ПС-2000
Быстродействие, разрядность и объемы регистровой и оперативной памяти определялись доступной элементной базой, однако структура и архитектура мультипроцессора не зависит существенным образом от элементной базы.
Устройство S работает с 24-разрядными регистровыми операндами. Однотактные арифметические операции с фиксированной запятой и логические операции над словами выполняются за 0,32 мкс, что соответствует рабочей частоте 3 МГц. Сложение/вычитание в формате плавающей запятой выполнялось за три такта (0,96 мкс), умножение— за пять тактов (1,6 мкс).
Объем одного модуля памяти данных М или Н составлял 1638424-разрядных слова, операции считывания или записи выполняются пословно за 0,96 мкс. Объем памяти программ G составляет 1638464-разрядных слова. Время выдачи каждой команды— 0,32 мкс, время выполнения операции ветвления – от 1,28 до 1,92 мкс.
Регулярный канал обеспечивал массовый обмен данными в режиме сегментируемого многокольцевого сдвига между соседними ПЭ.За 0,32 мкс производится передача и прием N 24-разрядных слов, где N – количество ПЭ в мультипроцессоре ПС-2000.
Магистральный канал обеспечивает «широковещательную» передачу одного 24-разрядного слова всем активным ПЭ либо из регистра KU ОУУ в один такт за 0,32 мкс, либо из любого ПЭ в два такта— за 0,64 мкс.
Регулярный и магистральный каналы могут программно сегментироваться на несколько не связанных между собой одинаковых фрагментов размером 8, 16, 32 или 64 ПЭ.
При тактовой частоте 3 МГц средняя производительность 64-процессорного компьютера ПС-2000 на задачах промышленной обработки данных была близка к пиковой— 200 MFLOPS
15. Устройство центрального процессора
Любой ЦП независимо от его предназначения располагает рядом функциональных устройств (ФУ): блоками целочисленных вычислений (Integer Execution Unit, E-box, арифметико-логическое устройство), обработки адресов (Address Translation Unit, A-box), контроллером системной шины (System Bus Controller, B-box), декодером команд (Instruction Decoding Unit, I-box). Для проведения вычислений и хранения промежуточных результатов используется так называемый файл регистров (их может быть несколько), состоящий из фиксированного количества записей определенной длины (регистров). Практически во всех современных ЦП реализованы и средства предсказания направления условных переходов. С начала 1990-х гг. общепринятой стала практика внедрения в ядро ЦП блока вещественных вычислений (Floating-Point Unit, F-box). Если дизайн определенной аппаратной платформы предполагал использование кэш-памяти с прямым доступом, то в ЦП вводился блок взаимодействия с кэш-памятью (Cache Memory Interface Unit, C-box). В современных ЦП нередко также реализованы контроллеры памяти, периферийных шин и т. Д