Скачиваний:
53
Добавлен:
03.06.2014
Размер:
328.27 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ.

Государственное образовательное учреждение высшего профессионального образования.

«Санкт-Петербургский государственный электротехнический университет «лэти» имени в.И. Ульянова (Ленина)»

(СПБГЭТУ)

Кафедра ВТ

Отчет

по дисциплине «История информатики и ВТ»

Тема: Векторные процессоры и Cray-2.

Выполнил:ст. группы 9307 Джабаров Р.Р.

Проверил:проф. Богданов А.В.

Санкт-Петербург

2014 г.

Оглавление

Векторные процессоры. 3

Понятие  вектора  и  размещение  данных  в  памяти 4

Понятие векторного процессора. 5

Структура  векторного  процессора 7

Структуры  типа  “память-память”  и  “регистр-регистр” 11

Обработка  длинных  векторов  и  матриц. 12

Ускорение  вычислений. 12

Программирование под гетерогенные вычислительные архитектуры. 15

Примеры векторно-конвейерных систем. 15

Cray-2. 17

История создания. 17

Характеристики. 18

Стоимость. 18

Использование. 19

Дальнейшее развитие. 19

Вывод. 20

Векторные процессоры.

Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. Отличается от скалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинство процессоров являются скалярными или близкими к ним. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров начиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров из сферы повседневных процессоров.

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

  1. повторить цикл 10 раз

  2. прочитать следующую инструкцию и декодировать

  3. получить первое слагаемое

  4. получить второе слагаемое

  5. сложить

  6. сохранить результат

  7. конец цикла

Для векторного процессора алгоритм будет значительно отличаться:

  1. прочитать следующую инструкцию и декодировать

  2. получить 10 первых слагаемых

  3. получить 10 вторых слагаемых

  4. сложить

  5. сохранить результат

Реализация Cray расширила возможности вычислений, позволяя выполнять несколько различных операций сразу. Для примера, рассмотрим код складывающий 2 набора чисел и умножающий на третий, в Cray эти операции осуществились бы так:

  1. прочитать следующую инструкцию и декодировать

  2. получить 10 чисел

  3. получить 10 чисел

  4. получить 10 чисел

  5. сложить и умножить их

  6. сохранить результат

Таким образом, математические операции выполняются гораздо быстрее, основным ограничивающим фактором становится время, необходимое для извлечения данных из памяти.

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

Понятие вектора и размещение данных в памяти

В средствах векторной обработки под вектором понимается одномерный массив однотипных данных (обычно в форме с плавающей запятой), регулярным образом размещенных в памяти ВС. Если обработке подвергаются многомерные массивы, их также рассматривают как векторы. Такой подход допустим, если учесть, каким образом многомерные массивы хранятся в памяти ВМ. Пусть имеется массив данных А, представляющий собой прямоугольную матрицу размерности  4×5 (рис. 1).

a11

a12

a13

a14

a15

a21

a22

a23

a24

a25

a31

a32

a33

a34

a35

a41

a42

a43

a44

a45

 

 

 

 

 

 

Рис. 1. Прямоугольная  матрица  данных.

 

При размещении матрицы в памяти все ее элементы заносятся в ячейки с последовательными адресами, причем данные могут быть записаны строка за строкой или столбец за столбцом (рис. 2). С учетом такого размещения много-мерных массивов в памяти вполне допустимо рассматривать их как векторы и ориентировать соответствующие вычислительные средства на обработку одномерных  массивов  данных  (векторов).

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

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

Еще одной характеристикой вектора является число составляющих его элементов – длина  вектора.

 

Рис. 2. Способы  размещения  в  памяти  матрицы  4*5.