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

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

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

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

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

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

Текст 3 страницы из PDF

Названные операции имеются в задачах сортировки, быстрогопреобразования Фурье, при обработке графов, представленных в форме списка, и вомногих других задачах.Быстродействие векторного процессора на таких операциях снижается до уровнябыстродействия скалярного процессора.Выше конвейерные ЭВМ были описаны по частям: сначала скалярная часть, затемвекторная.Теперь рассмотрим полную структуру векторной ЭВМ на примере машины CRAY(рис. 6). Архитектура типичного векторного суперкомпьютера Cray следующая (вкачестве примера рассмотрим старую модель Cray-1):•Процессор имеет 8 векторных регистров, каждый из которых может хранить64 слова по 64 бита каждое.•Есть также 8 скалярных регистров для 64-битовых слов и•8 регистров для адресации для 20-битовых слов.•Вместо кэш-памяти используются специальные регистры, управлениекоторыми осуществляется программным путем из выполняющейсяпрограммы.Всего компьютер Cray-1 содержал до 12 конвейеризованных процессоров,имевших отдельные конвейеры для различных арифметических и логических операций.Скорость работы процессора строго согласована со скоростью работы оперативнойпамяти.CRAY-1, созданная в 1976 г., была одной из первых ЭВМ, в которой в полной мерепроявились все характерные особенности векторно-конвейерных машин.

Машина CRAY1 включает стандартные для любой ЭВМ секции: управления памятью и ввода-вывода,регистровую секцию и группу функциональных устройств. Однако состав оборудованиякаждой секции существенно отличается от аналогичных устройств последовательныхЭВМ.Память используется как для выборки команд и векторных данных (конвейерныйрежим), так и для выборки скалярных данных (поточный режим). Для организациипоточного режима применяются буферные регистры адреса (B0...B63) и данных(T0...T63). Память обладает большой пропускной способностью, однако для разных узловне всегда используется полная пропускная способность. Максимальная скорость нужнадля заполнения буферов команд.Структура УУ: здесь имеются механизмы предварительного просмотра команд, атакже резервирования регистров и функциональных устройств.Рис.

6. Архитектура процессора CRAY-1.Для выполнения адресных операций используются группа адресных регистровA0...A7 и специальные АЛУ для операций целочисленной арифметики. Эти АЛУ, как ивсе другие функциональные устройства, имеют конвейерную структуру.Скалярные операции выполняются с помощью группы регистров S0...S7, авекторные - с помощью векторных регистров V0...V7.Наибольший интерес представляет состав функциональных устройств. Ввыполнении скалярных операций участвует семь функциональных устройств: четыре дляработы с целочисленной арифметикой и три для работы с числами с плавающей запятой.Устройство "Счетчик" используется для подсчета числа единиц в операнде или числанулей, предшествующих первой единице операнда.Поскольку деление плохо поддается конвейеризации, в CRAY-1 оно выполняется вустройствах обратной аппроксимации и умножения посредством итерационнойпроцедуры.

Такой подход позволяет использовать конвейерную обработку на операцииумножения и зацепление операций.Векторные операции в CRAY-1 можно разделить на четыре типа. Векторнаяинструкция первого типа получает операнды из одного или двух регистров V и отправляетрезультат в другой регистр V. Последовательные пары операндов передаются из Vj и Vk вконвейерное АЛУ в каждом такте, и соответствующий результат на выходе АЛУпоявляется на m тактов позже, где m - длина конвейера. Результат отправляется в регистррезультата Vi. Векторная инструкция второго типа получает по одному операнду изрегистров S и V. Инструкции двух других типов передают данные между памятью ирегистрами V.При выдаче векторной инструкции требуемое АЛУ и регистры операндоврезервируются на число тактов, определяемое длиной вектора.

Последующая векторнаяинструкция, требующая тех же ресурсов, что и выполняемая, не может выполняться дотех пор, пока ресурсы не будут освобождены. Однако выполнение последующихинструкций, не пересекающихся по ресурсам с неоконченной инструкцией, разрешается.Две команды машины CRAY-1 требуют специального объяснения. Установкамаски 64-разрядного векторного регистра маски (VM) соответствует 64 элементамвекторного регистра. Если элемент удовлетворяет условию, то соответствующий разрядVM устанавливается в 1, в противном случае - в 0. Таким образом команда, VM V5, Zустанавливает разряд VM в 1, когда элементы V5 равны нулю; VM V7, P устанавливаетразряд VM в 1, если элементы V7 положительны.По команде слияния векторов содержимое двух векторных регистров Vi и Vkсливается в один результирующий вектор Vi в соответствии с маской регистра VM.

Если lй разряд VM - единица, то l-й элемент Vj становится l-м элементом регистра результатов, впротивном случае l-й элемент Vk становится l-м элементом регистра результатов.Значение регистра длины вектора определяет число сливаемых элементов. Таким образом,команда ViVj!Vk&VM сливает Vj и Vk в Vi в соответствии с комбинацией в VM;V7S2!V6&VM сливает S2 и V6 в V7 в соответствии с комбинацией в VM.Цель команд маски и слияния - обеспечить условные вычисления с векторнымикомандами.В CRAY-1 соотношение объема памяти хорошо сбалансировано спроизводительностью системы.

По эмпирическому правилу Амдала 1 бит памяти долженприходиться на 1 оп/с. В CRAY-1 при памяти 1 Мслов (64 Мбит) производительностьравна 80 Моп/с.В данной системе впервые применено зацепление операций. За счет этого могутработать два, а иногда три функциональных устройства, доводя производительностьсистемы до 160 и даже 240 миллионов результатов с плавающей запятой в секунду.5.Дополнительные затраты на организацию векторных вычислений во времяработы программыДля работы на векторных ЭВМ наиболее удобными являются массивы с длиной,равной длине векторного регистра.

Однако это благое пожелание очень редковыполняется. Более того, часто число элементов массива вообще не кратно 128.Рассмотрим простейший цикл, который можно векторизовать. Пусть дан массив m длины128, который надо заполнить по следующему алгоритму:do i=1, 128m(i) = ienddoМы будем пользоваться командами ассемблера несуществующей ЭВМ, новполне отражающими смысл операций с векторными регистрами. Приведенный циклможно записать на ассемблере так:SETLEN #128 ; установить используемое число; элементов в векторных регистрах (во всех)SETINC #4; установить смещение к последующему; элементу массива в памяти (4 байта)SETNUM v0; записать в элементы векторного регистра v0; их номера начиная с нуля и кончая 127ADD #1, v0 ; добавить 1 к каждому элементу регистра v0SAVE v0, m ; записать элементы v0 в ОЗУ в последовательные; слова (смещение = 4) начиная с адреса mОбратите внимание на 3 команду - каждый элемент векторного регистра "знает" свойномер.

Это делает очень простым вычисление переменной цикла: после добавления 1значение переменной получается записанным в соответствующий элемент вектора. Всего5 последовательных команд векторного процессора выполняют цикл из 128 повторений.Здесь нет ни команд сравнения, ни условных переходов.Теперь увеличим размер массива и число повторений цикла до N:do i=1, Nm(i) = ienddoДля правильной работы процессора мы обязаны установить число используемыхэлементов вектора не более, чем 128. Если N будет произвольным, то нам придетсяпревратить данный одинарный цикл в двойной:123do inc=0, N-1, 128NN = min0( 128, N-inc )do i=1, NNm(inc+i) = inc+ienddoenddoЦикл с меткой 1 выполняет "разбиение" массива на подмассивы длиной 128элементов.

Переменная inc имеет смысл смещения от первого элемента массива кочередному подмассиву: 0, 128, 256... Переменная NN определяет длину подмассива.Обычно она равна 128, но последний подмассив может иметь меньшую длину, если N некратно 128. Функция min0 выбора минимального значения в операторе с меткой 2 выдаетзначение не 128 только для последнего подмассива.

Внутренний цикл с меткой 3практически эквивалентен циклу из предыдущего примера.Имеется только 3 отличия:• число элементов в векторном регистре равно NN,• к параметру цикла дополнительно надо добавлять значение inc,•регистр записывать в память начиная не с начала массива, а c элемента с номеромi+incЭтот цикл может быть записан в машинных командах примерно так:SETLEN NNSETINC #4SETNUM v0; число элементов в векторных регистрах = NN; смещение к последующему элементу массива; записать в элементы векторного регистра v0; их номера начиная с нуля и кончая 127ADD #1, v0; добавить 1 к каждому элементу регистра v0ADD inc, v0 ; добавить значение переменной incMOVE inc, r0 ; записать в скалярный регистр r0 значение; переменной inc - смещение от первого; элемента массива к m(inc+1)MUL #4, r0; умножить на 4 - смещение в байтахADD #m, r0; добавить адрес массива m, получается адрес; элемента m(inc+1)SAVE v0, @r0 ; записать элементы v0 в ОЗУ в последовательные; слова (смещение = 4) начиная с адреса,; хранящегося в регистре r0По отношению к простейшему циклу добавились одна векторная и трискалярных команды.

Однако это только внутренний цикл. Охватывающий его цикл сметкой 1 и вычисление NN создадут дополнительный код, который будет выполнятьсястолько же раз, сколько и код для внутреннего цикла. Транслятор всегда будет создаватьохватывающий цикл, если N есть переменная, а не константа со значением от 1 до 128(для 128-элементного векторного регистра).Из сказанного выше следует, что эффективность векторной программы будетневысокой при работе с небольшими массивами, длина которых заранее неизвестна.Циклы с тремя повторениями могут в векторном режиме выполняться медленнее,чем в скалярном на той же машине..

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