Векторний процесор Ілюстрація роботи | Див. також |...

ГарвардськаМодифікована Гарвардськафон НейманаПотоки данихTTA1 біт4 біти8 біт12 біт16 біт24 біти[en]32 біти40 біт64 біти128 біт256 біт[en]512 біт[en]BitBit-serialКомандиСкалярністьСуперскалярністьДаніВекторMemoryTaskНиткаSISDSIMDMISDMIMDSPMDСпособи адресації пам'ятіБлок генерації адресиАрифметико-логічний пристрійBarrel shifterФункціональний блокМатематичний співпроцесорBack-side busМультиплексорРегістриМодуль керування пам'яттюБуфер асоціативної трансляціїКешРегістровий файлМікрокодПристрій керуванняТактова частота


Процесори


процесороперандамивекторискалярних процесорівсуперкомп'ютерівSSEвідеокартифізичні прискорювачіспівпроцесориCrayСиметричнаАсиметричнаNUMACOMAdistributedshareddistributed sharedSMT






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


Векторний процесор — процесор, в якому операндами деяких команд можуть слугувати впорядковані масиви даних — вектори. Відрізняється від скалярних процесорів, які можуть працювати лише з одним оператором в одиницю часу. Абсолютна більшість процесорів є скалярними або близькими до них. Векторні процесори були розповсюджені в галузі наукових обчислень, де вони були основою більшості суперкомп'ютерів починаючи з 1980х і до 1990х. Але різке збільшення продуктивності і активна розробка нових процесорів призвели до того, що векторні процесори були витіснені зі сфери повсякденних процесорів.


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



Ілюстрація роботи |


Для ілюстрації відмінностей в роботі векторного і скалярного процесора, розглянемо приклад додавання 10 чисел. При «звичайному» програмуванні використовується цикл, що бере пари чисел послідовно, і додає їх.


повторити цикл 10 разів
прочитати наступну інструкцію та декодувати
отримати перший доданок
отримати другий доданок
скласти
зберегти результат
кінець циклу

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


отримати наступну інструкцію і декодувати 
отримати 10 перших доданків
отримати 10 других доданків
додати
зберегти результат

Реалізація фірми Cray розширила можливості обчислень, що дозволило виконувати декілька різних операцій одразу. Наприклад, розглянемо код, що додає 2 набори чисел і помножує на третій, у Cray ці операції здійснились би так:


отримати наступну інструкцію і декодувати 
отримати 10 чисел
отримати 10 чисел
отримати 10 чисел
додати і помножити їх
зберегти результат

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



Див. також |


  • Скалярний процесор

















Popular posts from this blog

As a Security Precaution, the user account has been locked The Next CEO of Stack OverflowMS...

Українські прізвища Зміст Історичні відомості |...

Список ссавців Італії Природоохоронні статуси | Список |...