ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


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

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

Різницю між виконанням скалярної та векторної операції наглядно відображає рис. 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 років векторні комп’ютери мали швидкий розвиток і з екзо­тичних перетворились в широковживаний клас потужних комп’ютерів.

 

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти