- •Лекція № 12 Комп’ютерні системи класу sisd
- •13.1 Матричний процесор
- •13.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •13.3 Архітектура матричних комп’ютерних систем
- •13.4 Структура процесорного елементу в матричній кс
- •13.5 Підключення і відключення процесорних елементів в матричних кс
- •13.6 Мережі взаємозв’язків процесорних елементів в матричних кс
- •13.7 Матрична комп’ютерна система illiac IV
- •13.8 Обробка інформації векторним процесором
- •13.9 Структура векторного процесора
- •13.10 Асоціативні кс
- •Контрольні запитання
- •Лекція №14 Конвеєрні комп’ютерні системи
- •14.1 Конвеєрні алп
- •Vliw-конвеєр
- •Суперконвеєр
- •Суперскалярний суперконвеєр
- •Лекція № 15 комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті (numa системи), кластерні системи, grid системи
- •15.1 Мультипроцесорні комп’ютерні системи
- •15.2 Мультипроцесорні кс типу numa
- •15.3 Мультикомп’ютерні комп’ютерні системи
- •Мультикомп’ютерна кс
- •15.4 Кластерні кс
- •15.5 Grid системи
- •Grid технологія створення розподіленої обчислювальної інфраструктури
- •Grid-системи як засіб групового використання ресурсів
- •Grid обчислень
- •Grid даних
- •Grid інструментальних засобів
- •Grid додатків
- •Напрямки використання grid
- •Розвиток і впровадження grid-технологій
- •Контрольні запитання
- •Лекція № 16 Комп’ютерні системи з нетрадиційною архітектурою
- •16.1 Систолічні кс
- •16.2 Класифікація структур систол
- •16.3 Кс з наддовгими командами (vliw)
- •16.4 Комп’ютерні системи з явним паралелізмом команд
- •16.5 Кс з обробкою за принципом хвильового фронту
- •16.6 Кс на базі трансп’ютерів і з неоднорідним доступом до пам’яті
- •Контрольні запитання
- •Лекція № 17 структури комп’ютерних систем з фіксованою системою зв’язків
- •17.1 Системи з фіксованою структурою з серійних мікропроцесорів
- •17.2 Спеціалізовані системи з фіксованою структурою
- •Контрольні запитання
- •Лекція № 19 системи введення-виведення даних в кс
- •19.1 Мережева базова система введення-виведення netbios
- •19.2 Периферійні пристрої для введення-виведення даних в кс
- •19.3 Клавішні пристрої
- •19.4 Сканери
- •19.5 Засоби відображення інформації
- •19.6 Пристрої друкування
- •19.7 Плотери
- •Контрольні запитання
- •Лекція № 20 інтерфейси комп’ютерних систем
- •20.1 Графі́чний інтерфе́йс користувача
- •20.2 Послідовний інтерфейс rs-232c
- •20.3 Паралельні інтерфейси
- •20.4 Шина usb
- •20.5 Пристрої введення (виведення) аналогової інформації в еом (аналого-цифрові інтерфейси)
- •Лекція № 22 структурні аспекти побудови відмовостійких комп’ютерних систем
- •Перелік рекомендованих джерел
- •Литература
13.8 Обробка інформації векторним процесором
У засобах векторної обробки під вектором розуміють одновимірний масив однотипних даних (зазвичай у формі з плаваючою комою), впорядкованих і певним чином розміщених в пам’яті КС. Якщо обробці піддаються багатовимірні масиви, їх також розглядають як вектори, адже при розміщенні матриці в пам’яті всі її елементи заносяться в комірки з послідовними адресами, причому дані можуть бути записані рядок за рядком або стовбець за стовбцем (рис.13.10)
Векторний процесор - це процесор, в якому операндами деяких команд можуть виступати впорядковані масиви даних - вектори.
Векторні комп’ютери маніпулюють масивами схожих даних подібно до того, як скалярні машини обробляють окремі елементи таких масивів. Це робиться за рахунок використання спеціально сконструйованих векторних центральних процесорів. При роботі у векторному режимі векторні процесори обробляють дані практично паралельно, що робить їх у декілька разів швидшими чим при роботі в скалярному режимі.
Рисунок 13.10 – Обробка векторним процесором багатовимірного масиву
Розглянемо можливі підходи до архітектури засобів векторної обробки. Найбільш поширені з них зводяться до трьох груп:
- процесор з конвеєрним арифметико-логічним пристроєм;
- процесор з масивом паралельних арифметико-логічних пристроїв;
- масив паралельних процесорів.
Останній варіант є багатопроцесорною системою, відомою як матрична КС. Поняття векторного процесора має відношення до двох перших груп.
13.9 Структура векторного процесора
Узагальнена структура векторного процесора приведена на рис.13.11. На схемі показані основні вузли процесора, без деталізації деяких зв’язків між ними.
Особливості векторного процесора:
- обробка всіх n компонентів векторів-операндів задається однією векторною командою;
- елементи векторів представляються числами у формі з плаваючою комою;
- арифметико-логічний пристрій векторного процесора може бути реалізовано у вигляді:
- єдиного конвеєрного пристрою, здатного виконувати всі предбачені операції над числами з плаваючою комою;
- арифметико-логічний пристрій складається з окремих блоків складання і множення, а іноді і блоку для обчислення зворотної величини, коли операція ділення x/y реалізується у вигляді x(1/y). Кожний з таких блоків також конвеєризований.
Рисунок 13.11 – Узагальнена структура векторного процесора
Склад векторної системи:
- скалярний процесор, що дозволяє паралельно виконувати векторні і скалярні команди;
- векторні регістри для зберігання векторів-операндів, які є сукупністю скалярних регістрів, об’єднаних в чергу типу FIFO, здатну зберігати 50-100 чисел з плаваючою комою.
Набір векторних регістрів (Va, Vb, Vc...) є в будь-якому векторному процесорі. Система команд векторного процесора підтримує роботу з векторними регістрами і обов’язково включає команди:
- завантаження векторного регістра вмістом послідовних елементів пам’яті, вказаних адресою першої комірки цієї послідовності;
- виконання операцій над всіма елементами векторів, що знаходяться у векторних регістрах;
- збереження вмісту векторного регістра в послідовності комірок пам’яті, вказаних адресою першої комірки цієї послідовності;
- регістр довжини вектора. Цей регістр визначає, скільки елементів фактично містить оброблюваний в даний момент вектор, тобто скільки індивідуальних операцій з елементами потрібно зробити;
- регістр максимальної довжини вектора, що визначає максимальне число елементів вектора, яке може бути одночасно оброблене апаратурою процесора. Цей регістр використовується при розділенні дуже довгих векторів на сегменти, довжина яких відповідає максимальному числу елементів, що обробляються апаратурою за один прийом;
- регістр маски вектора служить для виконання таких операцій, в яких повинні брати участь не всі елементи векторів. У цьому регістрі кожному елементу вектора відповідає один біт. Установка біта в одиницю дозволяє запис відповідного елемента вектора результату у вихідний векторний регістр, а скидання в нуль - забороняє.
- регістр вектора індексів по структурі аналогічний регістру маски. Служить для виконання операцій упакування/розпаковування для отримання вектора, що містить ненульові елементи і для зворотної операції відповідно. У векторі індексів кожному елементу початкового вектора відповідає один біт. Нульове значення біта свідчить, що відповідний елемент вихідного вектора рівний нулю.
Переваги векторного процесора:
- замість багаторазового вибору одних і тих же команд досить здійснити вибір тільки однієї векторної команди, що дозволяє скоротити витрати за рахунок пристрою управління і зменшити вимоги до пропускної здатності пам’яті;
- векторна команда забезпечує процесор упорядкованими даними. Коли ініціюється векторна команда, КС знає, що їй потрібно вибрати n пар операндів, розташованих в пам’яті впорядкованим чином. Так, процесор може вказати пам’яті на необхідність почати вибір таких пар. Якщо використовується пам’ять з чергуванням адрес, ці пари можуть бути отримані із швидкістю однієї пари за цикл процесора і направлені для обробки в конвеєризованний функціональний блок. За відсутності чергування адрес або інших засобів вибору операндів з високою швидкістю переваги обробки векторів істотно знижуються.
