Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Конвейерное выполнение операций




Множественность функциональных устройств процессора

Разделение универсального арифметико-логического устройства (АЛУ), выполнявшего широкий набор операций, на набор устройств выполнения отдельных операций или групп “родственных” операций (сложения-вычитания, умножения, деления, сдвига, операций алгебры логики и т.п.) – «функциональных» устройств позволило организовать их параллельную работу. Получившееся при этом заметное увеличение объема оборудования должно было компенсироваться существенной эффективностью такого параллелизма. Для этого в идеале нужно было обеспечить параллельную подачу команд для выполнения на этих устройствах и готовность операндов, необходимых для выполнения команд.

Задержки при последовательной подаче из УУ на ФУ независимых по операндам “векторных” команд работы с массивами данных (“векторами”) при большой длине массивов не сильно сказываются на возможности параллельного выполнения этих команд (при этом, конечно, должны быть готовы операнды).

В случае последовательности “скалярных” команд эффективность параллелизма работы ФУ может быть достигнута только за счет одновременной загрузки ФУ этими командами. Это реализуется за счет выбора из ОП “длинного командного слова”, содержащего набор команд, соответствующий имеющемуся в процессоре набору ФУ. С определенными ограничениями этот подход реализуется в современных «скалярных» процессорах.

 

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

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

При разделении ФУ на K ступеней выполнение N операций на нем будет осуществлено за K+(N-1) тактов.

Примером конвейерного выполнения операций в ФУ может служить четырехступенчатый конвейер выполнения операции умножения чисел, представленных в двоичной системе счисления с “плавающей запятой”. На первой ступени конвейер выполняется сложение “порядков” операндов (степеней двойки – основания системы счисления), на второй ступени выполняется перемножение мантисс операндов. На третьей ступени выполняется “нормализация” результата (приведение значения мантисс в установленный диапазон значений с соответственным изменением порядка результата), на четвертой ступени – округление результата.

В случае выполнения нескольких связанных “векторных” операций возможна организация их конвейерного выполнения без запоминания на регистрах или в ОП промежуточных результатов. Результаты выполнения операций будут поступать с выходов одних ФУ на входы ФУ, выполняющих операции, связанные с предшествующими. Фактически образуется длинный конвейер с числом ступеней, равным сумме количеств ступеней во всех связанных таким образом ФУ. Такая организация называется “зацеплением” ФУ. Соответственно дополнительно многократно увеличивается производительность процессора при выполнении последовательности связанных векторных операций (достигается так называемая “супервекторная” производительность). Например, при выполнении векторного оператора E =(A+B) x C/ D реализуемого последовательностью трех векторных операций на ФУ, имеющих по 4 ступени, работающие за 1 такт, общее время вычисления оператора E будет равно

12+(N-1), где N – число компонент векторов A,B,C,D и E То есть, для векторов, содержащих по 64 компонента, данное вычисление, требующее выполнения 192-х двуместных операций, будет выполнено всего за 75 тактов.

Удачным примером организации “векторно-конвейерной” ЭВМ является ЭВМ “Cray-1” (1976 г.), созданная компанией Cray Research руководством Сеймура Крея (эту машину называют первым суперкомпьютером в мире).

Представляет также интерес организация векторно-конвейерной ЭВМ без регистров промежуточного хранения «векторных» данных (ЭВМ Cyber-205 фирмы CDC и созданная в ИТМ и ВТ под руководством Андрея Андреевича Соколова отечественная ЭВМ МКП (“модульный конвейерный процессор”), объединяющая архитектурные решения ЭВМ Cray-1 и Cyber-205 c организацией многопоточных вычислений (последнее будет рассмотрено также в следующем разделе курса).

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.