ПОД (пособие) (1184372), страница 7
Текст из файла (страница 7)
они могутработать без “счетчика команд”, указывающего текущую выполняемую командупрограммы. Для обращения к какой-либо переменной, хранящейся в памяти, этимкомпьютерам не обязательно давать ей имя. Такие компьютеры называются не-фоннеймановскими.Конвейерная обработка данных.Основу конвейерной обработки составляет раздельное выполнение некоторой операции внесколько этапов (за несколько ступеней) с передачей данных одного этапа следующему.Производительность при этом возрастает благодаря тому, что одновременно на различныхступенях конвейера выполняются несколько операций.
Конвейеризация эффективна толькотогда, когда загрузка конвейера близка к полной, а скорость подачи новых операндовсоответствует максимальной производительности конвейера. Если происходит задержка, топараллельно будет выполняться меньше операций и суммарная производительность22снизится. Векторные операции обеспечивают идеальную возможность полной загрузкивычислительного конвейера.При выполнении векторной команды одна и та же операция применяется ко всем элементамвектора (или чаще всего к соответствующим элементам пары векторов). Для настройкиконвейера на выполнение конкретной операции может потребоваться некотороеустановочное время, однако затем операнды могут поступать в конвейер с максимальнойскоростью, допускаемой возможностями памяти. При этом не возникает пауз ни в связи свыборкой новой команды, ни в связи с определением ветви вычислений при условномпереходе.
Таким образом, главный принцип вычислений на векторной машине состоит ввыполнении некоторой элементарной операции или комбинации из несколькихэлементарных операций, которые должны повторно применяться к некоторому блокуданных. Таким операциям в исходной программе соответствуют небольшие компактныециклы.Принцип конвейерной обработки информации нашел широкое применение ввычислительной технике.
В первую очередь это относится к конвейеру команд.Практически все современные ЭВМ используют этот принцип. Вместе с тем во многихвычислительных системах наряду с конвейером команд используется и конвейер данных.Сочетание этих двух конвейеров дает возможность достигнуть очень высокойпроизводительности систем на определенных классах задач, особенно если при этомиспользуется несколько конвейерных процессоров, способных работать одновременно инезависимо друг от друга.
Именно так и построены самые высокопроизводительныесистемы. Целесообразнее всего рассмотреть принцип конвейерной обработки на примеренекоторых, наиболее представительных систем.К числу ЭВМ, в которых широкое применение нашел конвейер команд, относится одна излучших свое время машин БЭСМ-6. Она была в течение многих лет самойбыстродействующей в стране благодаря целому ряду интересных решений, в том числе иконвейеру команд. Последний обеспечивался использованием восьми независимыхмодулей ОЗУ, работающих в системе чередования адресов, и большого числа быстрыхрегистров, предназначенных также и для буферизации командной информации. Этопозволило получить на БЭСМ-6 производительность 1 млн.
операций в секунду.Определенный интерес представляет построение систем IВМ 360/91, а также более позднейи более современной IВМ 360/195. Пять основных устройств системы: ОЗУ, управленияпамятью с буферным ОЗУ, процессор команд, операционные устройства для выполненияопераций с плавающей запятой, с фиксированной запятой и десятичной арифметикиработают одновременно и независимо друг от друга. Оперативное ЗУ построено помногомодульному принципу (до 32 модулей), устройство управления памятью работает попринципу конвейера и обеспечивает 8- или 16-кратное чередование адресов при обращениипроцессора и каналов ввода – вывода информации к ОЗУ.Кроме конвейера команд в системах IВМ 360/91 и IВМ 370/195 в обоих ОУ используетсятакже и конвейерная обработка данных. Однако в системе 360/195 конвейер получаетсядовольно внушительный: в каждом цикле осуществляется выборка до 8 команд,расшифровка 16 команд, до 3 операций над адресами и до 3 процессорных операций.
Всегов системе одновременно может обрабатываться до 50 команд.Существенно более полно используется принцип магистральной обработки в системеSTAR-100, разработанной фирмой СDС в 1973 г. Надо сказать, что фирма СDС вбольшинстве разрабатываемых и выпускаемых машин и систем использует принцип23конвейерном обработки для повышения производительности, однако раньше использовалсятолько командный конвейер, а в системе STAR-100 – оба типа конвейера. Системасодержит три конвейерных процессора (рис. 3.1): ППЗ – процессор, содержащийконвейерные устройства сложения и умножения с плавающей запятой; ППФЗ – процессор,содержащий конвейерное устройство сложения с плавающей запятой, конвейерноемногоцелевое устройство, выполняющее умножение с фиксированной запятой, деление иизвлечение квадратного корня; СП – специальный конвейерный 16-разрядный процессор,выполняющий операции с фиксированной запятой и ряд логических операций.Конвейерные процессоры оперируют с 64- или 32-разрядными числами и каждые 40 невыдают результаты в блок управления потоками данных и буферами.
Оперативное ЗУпостроено по модульному принципу (32-модуля памяти) и работает с чередованием адресовпод управлением устройства УП (управление памятью). Каждый малый цикл обращения кпамяти – 40 нc. (Полный цикл ОЗУ–1,28 мкс, т. е. 40X32 нc.)Конвейерный сумматор с плавающей запятой состоит из четырех сегментов –специализированных операционных устройств (см. рис. 1.2, а). Продолжительность циклакаждого сегмента составляет 40 нс; таким образом, время выполнения операции сложения сплавающей запятой равно 160 нс.Конвейерный умножитель включает в себя 8 сегментов, поэтому время выполненияоперации умножения составляет 320 нс. Но при загрузке конвейерных процессоров длиннойпоследовательностью операндов, над которыми производится одна и та же операция,результат выдается каждые 40 нс.
Учитывая, что каждый из двух основных процессоровможет выдавать по два 32-разрядных результата, нетрудно подсчитать, что система STAR100 может в пределе выполнять до 100 млн. операций в секунду.Устройства конвейерной обработки далеко не всегда выполняют с жесткой настройкой наодну определенную операцию. Чаще их делают многоцелевыми, вводя в конвейерсегменты, необходимые для реализации полного набора операций, в процессе выполнениякоторых весь тракт настраивается соответствующим образом. На рис.
3.2 представленаструктура системы АSС фирмы «Техас Инструментс» и показано, какие сегментыуниверсальной цепочки работают при различных операциях.Одной из наиболее высокопроизводительных вычислительных систем в миреобщепризнанно считается система CRAY, созданная в 1976 г. В этой системе конвейерныйпринцип обработки используется в максимальной степени: имеется и конвейер команд, иконвейер арифметических и логических операций. Кроме того, в системе широкоприменяется совмещенная обработка информации несколькими устройствами. Все этопозволило при решении научных задач достигнуть чрезвычайно высокойпроизводительности – до 250 млн.
операций в секундуСистема CRAY (рис. 2.3) состоит из четырех секций: функциональных устройств,регистров, управления программой, памяти и ввода – вывода. В системе 12функциональных устройств, работающих в режиме конвейера, разбитых на 4 группы:адресную, скалярную, операций с плавающей запятой и векторную. Число сегментов вкаждом функциональном устройстве (указано в скобках на схеме) сравнительно невелико,оно зависит от сложности операций и колеблется в пределах от 1 до 14 (вычислениеобратной величины). Такое сравнительно небольшое число сегментов в каждоммагистральном устройстве имеет определенные преимущества – они сравнительно быстрозаполняются. Длительность цикла каждого сегмента составляет 12,5 нс: это значит, чтокаждые 12,5 нс любое функциональное устройство может выдавать результаты.24Оперативная память системы, выполненная на интегральных схемах, имеет емкость 1 млн.слов (позже была увеличена до 4 млн.) и организована в виде 16 блоков памяти снезависимым управлением емкостью по 64 кслов.
Каждый блок включает в себя 72 модуля,причем модуль содержит один разряд всех 64 кслов. Система работает с 64-разряднымисловами, 8 разрядов используется для коррекции одиночных и обнаружения двойныхошибок, что обеспечивает высокую надежность хранения информации. Независимые блокидают возможность организовать 16-кратное чередование адресов. Цикл обращения к памяти– 50 нс.Существенную роль в достижении столь высокой производительности играют быстрыерегистры. Они разделены на 3 группы: адресные – А-регистры, скалярные – S-регистры ивекторные – V-регистры.