Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Процесор векторного комп'ютера.

Поиск

Вище були розглянуті скалярні та суперскалярні процесори, в яких операції викону­ються над скалярними даними. Однак існує значна кількість завдань, коли опрацюван­ню за одними процедурами підлягають великі масиви (вектори) даних. У цьому випадку виглядає доцільним розгляд можливості модифікації комп’ютера під виконання цього класу завдань. До цих пір така модифікація здійснювалась в потужних комп’ютерах, але на даний час вона почала поширюватись на всі типи комп’ютерів. Відповідно комп’юте­ри, орієнтовані на опрацювання векторів даних, дістали назву векторних.

Різницю між виконанням скалярної та векторної операції наглядно відображає рис. 4.17, з якого видно, що скалярна операція передбачає виконання додавання над двома дани­ми, тоді як векторна - над двома векторами даних.

 

Аби зрозуміти стиль програмування векторних комп’ютерів, наведемо приклад програми із скалярними і векторними кодами. Запишемо програму обчислення виразу У= а * X + У, де У, X - вектори, а а - скаляр. Нехай вектори мають довжину по 64 елемен­ти. Векторна програма має вигляд:

 

LD. F0, а ; load scalar a
LV VI, Rx ; load vector X
MULTS V2, F0, VI ; vector-scalar mult.
LV V3, Ry ; load vector Y
ADDV V4, V2, V3 ; add
SV Ry, V4 ; store vector

 

Відповідна скалярна програма має вигляд:

 

 

  LD ADDI F0,a R4,Rx,#512 ; last address to
Loop: load LD F2,0(Rx) ; load X(l)
  MULTD F2,F0>,F2 ; a*X(l)
  LD F4, 0(Ry) ; load Y(l)
  ADDD F4,F2,F4 ; a*X(l)+Y(l)
  SD F4,0(Ry) ; store into Y(l)
  ADDI Rx,Rx,#8 ; increment index
  ADDI Ry,Ry,#8 ; increment index
  SUB R20,R4,Rx ; compute bound
  BNZ R20, loop ; check if done

У скалярній програмі курсивом позначено залежності, яких немає у векторному ва­ріанті програми. Обидва варіанти програми можна порівняти за наступними кількісни­ми характеристиками:

1. За кількістю операцій: 578(2+9*64) проти 321(1+5*64); кількість операцій у вектор­ній програмі зменшено в 1,8 разу

2. За кількістю команд: 578(2+9*64) проти 6-ти команд у векторній програмі; пере­вага в 96 разів.

В таблиці 4.3 наведені характеристики кількох промислових векторних комп’ютерів, з якої видно доцільність їх створення з огляду на досягнуту продуктивність.

 

 

Тип машини Рік випуску Частота, MHz Кількість регістрів Кількість елементів Кількість пристроїв float point Кількість пристроїв load/store Продуктив ність (MFLOPS)
Cray-1              
Cray XMP           2L, IS  
Cray YMP           2L, IS  
Cray C-90             15238(16)
Cray T-90             57600(32)
Conv. C-l             20(1)
Conv. С-4             3240(4)
Fuj. VP200     8-256 32-1024     533(1)
Fuj. VP300     8-256 32-1024     N/A
NEC SX/2     8 + 8К 256 + var     1300(1)
NEC SX/3     8 + 8К 256 + var     25600(4)

 

Таким чином, процесори векторних комп’ютерів виконують команди над вектора­ми даних. Структура цих процесорів за складом та зв’язками повторює вже розглянуті вище структури процесорів, тобто це можуть бути процесори векторних комп’ютерів із складною та простою системою команд, конвеєрні та суперконвеєрні, а також процесори супервекторних комп’ютерів, коли в процесорі є декілька конвеєрів команд. Основна їх відмінність - забезпечення одночасного виконання однієї команди над вектором даних. Це, зокрема, дозволяє будувати 'їх блоки виконання команд за конвеєрним принципом і при цьому позбутися конфліктів, які суттєво гальмують роботу конвеєра чи ускладню­ють його структуру.

Для вияснення базових принципів побудови процесорів векторних комп’ютерів роз­глянемо структуру та систему команд процесора векторного варіанта комп’ютера БЬХ, а саме комп’ютера ЭЪХУ. До складу процесора, структура якого приведена на рис. 4.18, входять пристрій векторного читання запису, регістрові файли з векторними та ска­лярними регістрами, а також операційний пристрій з набором конвеєрних операційних пристроїв додавання, множення та ділення з рухомою комою та виконання арифметич­них і логічних операцій над цілими числами.


Цей комп’ютер має векторні команди, які наведено в табл. 4.4.

 

Таблиця 4.4
Команда Операнди Операція Коментар
ADDV VI, V2.V3 V1=V2+V3 VECTOR+VECTOR
ADDSV VI, F0,V2 V1=F0+V2 SCALAR+VECTOR
MULTV VI, V2,V3 Vl=V2xV3 VECTORxVECTOR
MULSV VI, F0,V2 V1=F0XV2 SCALAR x VECTOR
LV VI,R1 V1=M[R]..Rl+63] LOAD, STRIDES
LVWS V1,R1,R2 V1=[R1.,R1+63*R2] LOAD, STRIDE=R2
LVI VI, R1.V2 V1=[R1+V2i,i=0..63 indirect (“gather”)
CeqV VM,V1,V2 VMASKi=(Vl I=V2I) comp. Set mask
MOV VLR,R1 Vec. Len. Reg = R1 set vector length
MOV VM.Rl Vec. Mask=Rl set vector mask

 

Приведений процесор є процесором комп’ютера з простою системою команд. До цього типу належать усі векторні суперкомп’ютери: Cray, Convex, Fujitsu, Hitachi, NEC.

Хоча потрібно зауважити, що існують і векторні комп’ютери з архітектурою «пам’ять- пам’ять», коли всі векторні операції є операціями типу пам’ять-пам’ять наприклад, CDC-6600 Подібно до приведеного на рис. 4.18, процесори векторних комп’ютерів містять на­ступні основні компоненти

• Векторні регістри; це регістрий файл фіксованої ємності що вміщує вектор даних. Цей файл має як мінімум 2 порти на читання і один порт на запис та зазвичай включає 8-32 векторних регістри, кожний з яких є 64-128-розрядним

• Конвеєрні операційні пристрої. Зазвичай застосовують 4-8 операційних пристро­їв, а саме: додавання, множення і ділення з фіксованою та рухомою комою, зсуву тощо

• Векторний вузол читання-запису, також конвеєрний, який опрацьовує вектори да­них. Водночас застосовують декілька таких вузлів

• Скалярні регістри, які містять один скаляр з рухомою комою або адресу

• Багатошинні магістралі або комутаційні мережі, які з’єднують між собою всі зазна­чені компоненти, аби прискорити роботу процесора в цілому

Перші векторні комп’ютери STAR-100 фірми CDC та ASC фірми ТІ були створені в 1972 році. Це були векторні комп’ютери з архітектурою типу пам’ять-пам’ять

Значний внесок в теорію побудови векторних комп’ютерів зробив видатний амери­канський конструктор векторних суперкомп’ютерів Сеймур Крей. На рис. 4.19 зображе­но його перший векторний суперкомп’ютер Cray-1 та векторні суперкомп’ютери Cray-2 і Cray-YMP.

Рис. 4.19. Векторні суперкомп’ютери Cray-1, Cray-2 і Cray-YMP

 

Комп’ютер CRAY-1 був створений в 1976 році і мав архітектуру типу «регістр-ре- гістр», тому він був найшвидшим серед векторних та скалярних комп’ютерів свого часу. В 1981 році на ринку з’явився значно потужніший векторний комп’ютер CYBER-205 фір­ми CDC з тією ж базовою архітектурою, що і STAR-100, але більшою кількістю вектор­них функціональних блоків. Це були векторні комп’ютери з архітектурою типу “пам’ять- пам’ять”. В 1983 році фірма Cray Research поставила на ринок векторний суперкомп’ютер CRAY Х-МР, а через кілька років - CRAY-2, який мав вищу тактову частоту та іще біль­ший рівень конвеєризації. В 1988 році фірма Cray Research створила значно швидший, ніж Х-МР суперкомп’ютер CRAY Y-MP, котрий мав 8 конвеєрних процесорів, кожний з яких працював з тактом 6 не.

Одночасно потужні векторні суперкомп’ютери почали створюватись і в інших дер­жавах. Зокрема, в середині 80-х років в Японії були створені суперкомп’ютери Fujitsu

VP100 і VP200, за ними Hitachi S810 і NEC SX/2, які за технічними характеристиками не поступалися комп’ютерам фірми Cray Research

Протягом наступних 20 років векторні комп’ютери мали швидкий розвиток і з екзо­тичних перетворились в широковживаний клас потужних комп’ютерів.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 314; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.9.9 (0.01 с.)