
- •1 Вступ
- •2 Класи комп’ютерних систем Комп’ютери із спільною пам’яттю (мультиплексорні системи)
- •3 Класифікація протоколів когерентності кешів
- •4 Реалізація smp систем
- •6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)
- •8 Класифікація комп’ютерних систем
- •10 Матричні процесори
- •11 Numa архітектура
- •13 Машинні потоки команд (Data Flow)
- •14 Кластерні системи
- •15 Операційні системи
- •16 Фізична організація файлових систем
- •17 Файлова система ntfs (New Technology File System)
- •18 Файлова система ext2
- •19 Архітектура ос
- •20 Багатошарова структура операційної системи
- •21 Віртуальна пам’ять
- •22 Архітектура ос
6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)
7 Advanced Vector Extensions (AVX)
Це розширення команд х86 для мікропроцесорів AMD та Intel, що було запропоновано компанією Intel в 2008 р.
AVX надає різноманітні покращення, нові інструкції, а також нову схему кодування.
Зміни:
Розмір векторних регістрів збільшено до 256 бііт. Регістр YMM0-YMM15 SSE-інструкції використовують молодші 128 біт даних регістрів.
Набір 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 класи:
SISD — Single Instruction Single Data
В даний клас потрапляють всі комп’ютери фоннейманського типу, в яких 1 потік команд обробляє послідовно 1 потік даних.
SIMD — Single Instruction Multiple Data
1 потік команд та багато потоків даних. В даний клас попадають системи, які виконують векторні операції. Тобто комп’ютерні системи даного типу містять команди, які одночасно можуть працювати з декількома командами.
MIST — Multiple Instruction Single Data
Множинний потік команд, одиничний потік даних. На даний час клас порожній.
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.