Введение в архитектуру компьютеров

Магистральные системы


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

Рис. 9.5. Последовательное исполнение команды

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

Идея об использовании принципа совмещения операций в целях повышения скорости ЭВМ, равно как и идея об объединении машин и о создании многопроцессорных систем с общей основной памятью, была высказана академиком С.А. Лебедевым на сессии АН СССР в 1957 г. Несмотря на то что эти идеи были высказаны более 40 лет назад, они актуальны и сегодня.



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

Еще большая степень совмещения показана на рис. 9.6.

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

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

Рис. 9.6. Высокая степень совмещения операций

На сегодняшний день магистральные системы получили большое распространение. Так, уже системы STAR 100, CDC 6600, CDC 7600, IBM 360/91, IBM 360/195 имели отдельные блоки для магистральной обработки. Принцип магистральной обработки основан на разбиении вычислительного процесса на несколько подпроцессов, каждый из которых выполняется на отдельном устройстве, как это имеет место при выполнении сложных операций последовательно по подоперациям на промышленном конвейере, в связи с чем этот метод иногда называют конвейерным.

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

В системе STAR 100, например, используется четырехэтапная магистраль для сложения, а шестиэтапная – для умножения.



Более высокий уровень магистральной обработки – командно-магистральная обработка. Здесь каждая команда из потока команд выполняется на соответствующих ей функциональных обрабатывающих устройствах, которые могут работать одновременно. Для эффективной работы подобных систем необходимо, чтобы команды были по возможности независимы друг от друга, а распределение команд в потоке по возможности совпадало с набором функциональных устройств. Типичный представитель такой системы – CDC 6600, который содержит 10 спецустройств обработки (умножение с плавающей точкой, сложение целых чисел и др.).

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

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

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

Считается, что магистральный принцип обработки повышает эффективность операций сложения на 47 %, а операций умножения – на 230 %.

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

Первым шагом на пути создания магистральных систем явилось перекрытие операций. В большой мере это перекрытие операций I/O, обработки в процессоре и обращения к ОП (UNIVAC, IBM 7094).


Из отечественных ЭВМ следует отметить БЭСМ-6. В результате эволюции структур компьютеров проектировщики пришли от реализации отдельных блоков для магистральной обработки (IBM 360/91, IBM 360/195) до полной реализации принципа магистральной обработки (STAR 100, CRAY 2, 3, 4 и т. д.).

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

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

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


Содержание раздела