Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kompyuterni_sistemi_lektsiyi_1_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
241.66 Кб
Скачать

6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)

7 Advanced Vector Extensions (AVX)

Це розширення команд х86 для мікропроцесорів AMD та Intel, що було запропоновано компанією Intel в 2008 р.

AVX надає різноманітні покращення, нові інструкції, а також нову схему кодування.

Зміни:

  1. Розмір векторних регістрів збільшено до 256 бііт. Регістр YMM0-YMM15 SSE-інструкції використовують молодші 128 біт даних регістрів.

  2. Набір AVX-інструкцій використовує 3-х операндний синтаксис.

Набір інструкцій AVX містять в собі аналоги SSE-інструкцій для чисел з плаваючою комою. Проте все одно рекомендується відмова від старих і підтримка нових.

Підтримка в різних ОС:

Linux: 2.6.30 від 9.06.2009

Windows 7: Service Pack 1

Windows Server 2008 R2: Service Pack 1

Windows 8: вбудовано.

Мікропроцесори, які підтримують:

Intel: Sandy Bridge, 2011; Ivy Bridge, 2011

AMD: Buldozer, 2011; Piledriver, 2011.

8 Класифікація комп’ютерних систем

Є декілька систем класифікації. В основі кожної з них лежить та чи інша характеристика. Найбільш вживаною в даний час є класифікація Флінна, яка базується на понятті потоків команд і даних. На основі кількості потоків даних і потоків команд виділяють 4 класи:

  1. SISD — Single Instruction Single Data

В даний клас потрапляють всі комп’ютери фоннейманського типу, в яких 1 потік команд обробляє послідовно 1 потік даних.

  1. SIMD — Single Instruction Multiple Data

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

  1. MIST — Multiple Instruction Single Data

Множинний потік команд, одиничний потік даних. На даний час клас порожній.

  1. MIMD — Multiple Instruction Multiple Data

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

Конвеєрні — кожен пристрій є конвеєром розподіленого часу.

Паралельні — кожен потік обробляється своїм власним.

Діляться на:

А) системи з спільною пам’яттю;

Б) системи з розподіленою пам’яттю

9 CUDA (Computer Unified Device Architecture)

Це та програмно-апаратна архітектура паралельних обчислень, яка дозволяє суттєво підвищити продуктивність обчислень завдяки використанню графічних контролерів компанії nVidia.

CUDA SDK дозволяє програмістам реалізувати на мові програмування С алгоритми, що будуть виконуватись на графічних процесорах nVidia.

Програмована архітектура

Перша версія CUDA SDK була представлена в лютому 2007 р. В основі лежить трохи модифікована мова С з певними обмеженнями (відсутність рекурсії і ін.). використовується власний компілятор nvcc. Компілятор розділяє код на так званий host-код і device-код. host-код виконується на АЦП, він управляючий, device-код на графічному процесорі.

Більшість команд є SIMD-командами. Застосовується не тільки для графічних обчислень, а й для наукових і дослідницьких цілей.

Платформа CUDA вперше з’явилась на графічному чіпі nVidia G80. Перша версія обладнання з підтримкою CUDA мала 32 бітний векторний процесор одинарної точності. Більш пізніші чіи з GT200 використовують 64 бітну точність.

Графічний процесор реалізує апаратну багато поточність, а отже відкриває перспективи перекласти функції графічного прискорювача. Наприклад, графічне ядро nVidia PhysX.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]