Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Тема 9_2010_Векторные процессоры

Тема 9_2010_Векторные процессоры (Лекции (ещё одни))

PDF-файл Тема 9_2010_Векторные процессоры (Лекции (ещё одни)) Вычислительные машины, системы и сети (ВМСиС) (5531): Лекции - 7 семестрТема 9_2010_Векторные процессоры (Лекции (ещё одни)) - PDF (5531) - СтудИзба2015-08-16СтудИзба

Описание файла

PDF-файл из архива "Лекции (ещё одни)", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "вмсс" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

Тема 9. Скалярные и векторные процессоры1.Введение ...................................................................................................................................... 12.Две части программы – скалярная и векторная ....................................................................... 33.Принципы скалярной обработки............................................................................................... 44.Принципы векторной обработки...............................................................................................

85.Дополнительные затраты на организацию векторных вычислений во время работыпрограммы .................................................................................................................................... 151.ВведениеСовременные высокопроизводительные вычислительные системы в том числесупер-ЭВМ, имеют в своем составе несколько процессоров, чаще всего двух типов:•Скалярные•ВекторныеЭто связано с тем, что практически любую сложную задачу можно представить ввиде совокупности двух частей: последовательной и параллельной.Последовательные части – совокупность однократно выполняемых разнотипныхоперацийПараллельная часть – блоки, выполняемые параллельно.

Может быть явныйпараллелизм, если это независимые ветви программы, или обработка потоков данных,когда над многими элементами этих потоков выполняются одни и те же операции (обычноэто циклы)Реализация циклов на высокопроизводительных скалярных процессорахсопровождается рядом факторов, ограничивающих максимальную скорость вычислений:1. Перед каждой скалярной операцией необходимо вызвать и декодироватьскалярную команду.2. Для каждой команды необходимо вычислить адреса данных3.

Данные должны вызываться из памяти, а результаты запоминаться в памяти.В условиях, когда каждая команда вырабатывает свой собственный запрос кпамяти, возможны конфликты при обращении к памяти4. Реализация команд построения циклов (счетчик, переход) сопровождаетсянакладными расходамиОграничить влияние факторов 1-3: применить конвейер команд и раздельныебуферы команд и данныхЧтобы снять влияние всех факторов на производительность ВС – используютвекторные процессорыСуперскалярный процессор представляет собой нечто большее, чем обычныйпоследовательный (скалярный) процессор. В отличие от последнего, он можетвыполнять несколько операций за один такт.

Основными компонентамисуперскалярного процессора являются устройства для интерпретации команд,снабженные логикой, позволяющей определить, являются ли командынезависимыми, и достаточное число исполняющих устройств. В исполняющихустройствах могут быть конвейеры. Суперскалярные процессоры реализуютпараллелизм на уровне команд.Примером компьютера с суперскалярным процессором является IBM RISC/6000.Тактовая частота процессора у ЭВМ была 62.5 МГц, а быстродействие системы навычислительных тестах достигало 104 Mflop (Mflop - единица измерениябыстродействия процессора - миллион операций с плавающей точкой в секунду).Суперскалярный процессор не требует специальных векторизующихкомпиляторов, хотя компилятор должен в этом случае учитывать особенностиархитектурыВекторный процессор "умеет" обрабатывать одной командой не одноединственное значение, а сразу массив (вектор) значений. Пусть A1, A2 и P - это тримассива, имеющие одинаковую размерность и одинаковую длину, и имеется операторP=A1+A2Векторный процессор за один цикл выполнения команды выполнит попарноесложение элементов массивов A1 и A2 и присвоит полученные значениясоответствующим элементам массива P.

Каждый операнд при этом хранится в особом,векторном регистре. Обычному, последовательному процессору пришлось бы несколькораз выполнять операцию сложения элементов двух массивов. Векторный процессорвыполняет лишь одну команду! Разумеется, реализация такой команды будет болеесложной.Векторные компьютеры различаются тем, как операнды передаются командампроцессора.

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

С другой стороны, в первом случае имеется определенное времязапуска между инициализацией команды и появлением в конвейере первого результата.Если конвейер уже загружен, результат на его выходе будет получаться в каждом такте.Примером ЭВМ с такой архитектурой являются компьютеры серии CYBER 200,время запуска у которых составляло до 100 тактов. Это очень большая величина, даже приработе с векторами длиной 100 элементов, вышеупомянутые компьютеры достигали лишьполовины от своей максимально возможной производительности, и это их в конце концови погубило.В векторных компьютерах, работающих по схеме регистр-регистр, длина векторагораздо меньше.

Для компьютеров серии Cray это 64. Но существенно меньшее времязапуска позволяет добиться хороших показателей по быстродействию. Правда, еслиработать с длинными векторами, их приходится разбивать на части меньшей длины, чтоснижает быстродействие. Векторные компьютеры, работающие по схеме из регистра врегистр, в настоящее время доминируют на рынке векторных компьютеров и наиболеенаиболее известными представителями являются машины семейства Cray, NEC, Fujitsu иHitachi.2.Две части программы – скалярная и векторнаяВ любой программе существуют две части - векторизуемая и не векторизуемая.Например алгоритмы построения последовательностей, заданных рекуррентнымотношением, нельзя векторизовать - каждый последующий элемент зависит отпредыдущих и, соответственно, не может быть вычислен ни ранее, ни одновременно спредыдущими.

Другие невекторизуемые части программ - ввод/вывод, вызовподпрограмм или функций, организация циклов, разветвленные алгоритмы, работа соскалярными величинами. Это довольно широкий класс подзадач, он гораздо шире классавекторизуемых алгоритмов. При векторизации программ на самом деле ускоряетсявыполнение только части программы (большей или меньшей).

Поэтому каждуюпрограмму можно представить такой упрощенной диаграммой (если собрать всевекторизуемые и все скалярные части в единые блоки):+-----------------------+|1 начало|+-----------------------+|--->-------------||||+-----------------------+|| 2 векторизуемая часть ||+-----------------------+|||+-----------------------+|| 3 скалярная часть||+-----------------------+|||+----------------------+---<--| 4 организация цикла |+----------------------+||+-----------------------+|5 окончание|+-----------------------+Для начала исполним программу в полностью скалярном варианте (т.е. умышленноне будем векторизовать исполняемый код).

Обозначим время исполнения каждой изчастей программы через T1...T5. Тогда полное время работы невекторизуемых частейпрограммы будет равноTскал = T1 + T3 + T4 + T5а полное время работы программы будетT' = Tскал + T2Далее перетранслируем программу в режиме векторизации. Единственная частьпрограммы, которая ускорит свое выполнение, будет 2-ая. Предположим, что мы достиглиускорения работы этой части в N раз. Тогда полное время работы всей программысоставитT" = Tскал + T2/NА выигрыш в эффективности работы всей программы будетT'Tскал + T2Р = ---- = -------------- ,T"Tскал + T2/Nчто совсем не равно N.Положим, что Tскал = 1с, T2 = 99с, а N=100 (очень хороший показатель для 128элементных векторных процессоров).

В нашем варианте эффективность P будет всего(1+99)/(1+99/100)=50 или 40% от предельно возможных 128 раз, а при Tскал = 2с значениеP будет (2+98)/(2+98/100)=34 (27%). Хотя само по себе увеличение быстродействияпрограммы в 50 или даже в 30 раз при ее векторизации является очень большим(например вычисления будут занимать 1 сутки вместо 1 месяца), но предельновозможное ускорение в 128 (или 256) раз не может быть достигнуто на векторных ЭВМ.Практика показывает, что хорошим показателем увеличения быстродействия P можносчитать уже значения 6-10, что соответствует времени исполнения скалярной части всего10-15% от полного времени исполнения программы (T2 составляет 85-90%).3.Принципы скалярной обработкиОдним из самых простых и наиболее распространенных способов повышениябыстродействия процессоров является конвейеризация процесса вычислений.

Большимпреимуществом конвейерных ЭВМ перед параллельными ЭВМ других типов являетсявозможность использования пакетов программ, уже написанных дляпоследовательных ЭВМ.Рассмотрим структуру и функционирование скалярного конвейерного процессора в целом(рис. 1).Рис. 1. Организация скалярного конвейерного процессора:ЦМП - центральная многоблочная память;БАО - буфер адресов операндов;АЛУ - конвейеризованные арифметико-логические устройства для сложения,умножения и деления чисел с плавающей запятой;K', K''- коммутаторы памяти и АЛУ соответственно;БС РОН - блок состояния РОН;УПК - указатель номера пропущенной команды;СчК - счетчик команд;1 - шина адреса команд; 2 - шина управления выполнением команд обращения кпамяти; 3 - шина заполнения БК; 4 - шина смены состояний РОН; 5 - шинауправления выполнением регистровых командПроцессор содержит несколько конвейерных АЛУ.

Это позволяет одновременноисполнять смежные арифметико-логические операции, что соответствует реализации нетолько параллелизма служебных операций, но и локального параллелизма. Для разныхопераций АЛУ имеют различную длину конвейера (на рис.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее