3. Архітектура подвійної незалежної шини корпуса та гнізда мікропроцесорів
4. Технологія MMX, 3Dnow, Enhanced
Список використаної літератури
1. Паралельні архітектури
Паралельність розвивалась за двома напрямами:
1) вдосконалення структури комп'ютера за рахунок зменшення різниці між швидкістю роботи процесора та швидкістю доступу до оперативної пам'яті;
2) повторення однотипних пристроїв комп'ютера, об'єднаних за певною топологією.
Паралелізм застосовувався на кількох ієрархічних рівнях, зокрема:
1) рівень завдань -- між завданнями, що виконуються на комп'ютері, або між фазами завдання;
2) програмний рівень -- між частинами програми (наприклад, в межах циклів);
3) командний рівень -- між фазами виконання команди (інструкціями процесора);
4) арифметичний та розрядний рівні -- між елементами векторної операції всередині логічних схем арифметичного пристрою.
Принципові способи введення паралелізму в архітектуру комп'ютера можна поділити на такі групи:
-- функціональна обробка -- надання декільком пристроям можливості виконання різних функцій, зокрема операцій логіки, додавання, множення та ін.
- конвеєрна обробка -- використання принципу конвеєра з метою підвищення ефективності пристроїв;
-- матрична обробка -- використання матриці однакових процесорних елементів зі спільною системою керування, де всі елементи виконують одну і ту саму операцію, але з різними даними;
-- мультипроцесорна обробка -- здійснюється декількома процесорами, кожен з яких виконує власні команди, і всі вони взаємодіють через спільну оперативну пам'ять.
2. Шина процесора
Шина даних процесора (або головна шина) також іноді називається локальною шиною, оскільки вона локальна для процесора, який сполучений безпосередньо з нею. Будь-хто інший. Якщо процесор має 32-розрядну шину даних, то головна шина процесора на системній платні також повинна бути 32-розрядною. Це означає, що система може пересилати в процесор або з процесора за один цикл 32 розряди (бита) даних. У процесорів різних типів розрядність шини даних різна, причому розрядність головної шини процесора на системній платні повинна співпадати з розрядністю встановлюваних процесорів. Кажучи про розрядність процесорів, слід звернути увагу на той факт, що, хоча всі процесори Pentium мають 64-розрядну шину даних, розрядність їх внутрішніх регістрів складає тільки 32 біт і вони виконують 32-розрядні команди. Таким чином, з погляду програмного забезпечення всі чипи від 386 до Pentium III мають 32-розрядні регістри і виконують 32-розрядні інструкції. Проте, з погляду досвідченого фахівця який має уявлення про електроніку та фізику, розрядність шини даних цих процесорів, що працюють з 32-розрядним програмним забезпеченням, рівна 16 (386SX), 32 (386DX, 486) і 64 розрядам (Pentium). Розрядність шини даних-- головний чинник при проектуванні системної платні і систем пам'яті, оскільки вона визначає, скільки бітів передається в чип і з чипа за один цикл. Процесор майбутнього P7, званий Itanium (раніше Merced), передбачає нову 64-розрядну систему команд (IA-64), але як і раніше виконуватиме всі 32-розрядні команди, властиві звичайним процесорам -- від 386 до Pentium. Ще не відомо, чи буде Itanium мати 64-розрядну шину даних подібно Pentium або ж у нього буде 128-розрядна шина. Відомо що всі системи на основі 486-го процесора мають 32-розрядну шину процесора, тому розрядність головної шини у всієї системної плати для 486-х процесорів рівна 32. Розрядність шини даних у всіх процесорів Pentium-- і у оригінального Pentium, і у Pentium MMX, і у Pentium Pro, і навіть у Pentium II і Pentium III-- рівна 64 тому розрядність головної шини процесора у системної платі для Pentium також рівна 64. Не можна встановити 64-розрядний процесор на 32-розрядну системну плату, тому на системну плату для 486-го процесора не можна встановити справжній процесор Pentium. На основі апаратних засобів можна виділити наступні категорії систем: 64.
Компоненти PC, має можливості і проектування систем:
8-розрядні;
16-розрядні;
32-розрядні;
64-розрядні.
З погляду розробника, якщо не брати до уваги розрядність шини, архітектура всіх систем -- від 16- і до 64-разрядных-- в основі своїй практично не змінювалася. Старіші 8-розрядні системи істотно відрізняються. Можна виділити два основні типи систем, або два класи апаратних засобів: 8-розрядні системи (клас PC/XT); 16/32/64-разрядные системи (клас АТ). Тут PC -- це абревіатура, утворена від реrsonal computer (персональний комп'ютер), XT -- XTended PC (розширений PC), а AT -- advanced technology PC (вдосконалена технологія PC). Терміни PC, XT, і AT, що використовуються в цій книзі узяті з назв первинних систем IBM. Комп'ютер XT-- це практично той же комп'ютер PC, але в ньому на додаток до дисковода для гнучких дисків, який використовувався в базисному комп'ютері PC для зберігання інформації, був встановлений жорсткий диск. В цих комп'ютерах використовувалися 8-розрядні процесори 8088 і 8-розрядна шина ISA (Industry Standard Architecture -- архітектура промислового стандарту) для розширення системи. Шина -- ім'я, дане роз'ємом розширення, в які можна встановити додаткову плату. Шина ISA називається 8-розрядною тому, що в системах класу PC/XT через неї можна відправляти або одержувати тільки 8 біт даних за один цикл. Дані в 8-розрядній шині відправляються одночасно по восьми паралельних дротах. Комп'ютери, в яких розрядність шини рівна 16 або більше, називаються комп'ютерами класу АТ, причому слово advanced указує, що їх стандарти вдосконалені в порівнянні з базисним проектом, і ці удосконалення вперше були здійснені в комп'ютері IBM AT. AT-- позначення, IBM, що застосовувалося, для комп'ютерів, в яких використовувалися вдосконалені роз'єми розширення і процесори (спочатку 16-, а пізніше 32- і 64-розрядні). В комп'ютер класу АТ можна встановити будь-який процесор, сумісний з Intel 286 або більш старшою моделлю процесорів (включаючи 386, 486, Pentium Pentium Pro і Pentium II), причому розрядність системної шини повинна бути рівна 16 або більше. При проектуванні систем найважливішим чинником є архітектура системної шини разом з базисною архітектурою пам'яті, реалізацією запитів переривання (Interrupt ReQuest -- IRQ), прямого доступу до пам'яті (Direct Memory Access -- DMA) і розподілом адрес портів уведення-виведення. Способи розподілу і функціонування цих ресурсів у всіх комп'ютерів класу АТ схожі. В перших комп'ютерах AT використовувався 16-розрядний варіант шини ISA, який розширив можливості первинної 8-розрядної шини, що застосовувалася в комп'ютерах класу PC/XT. З часом для комп'ютерів AT було розроблено декілька версій системної шини і роз'ємів розширення.
Шина процесора з DIB застосовується кеш-пам'яттю другого рівня, тому вона може працювати значно швидше, ніж в тому випадку, якщо б їй довелося використовувати (сумісно з процесором) основну шину.
У архітектурі DIB передбачено дві шини: шина кеш-пам'яті другого рівня і шина, що сполучає процесор і основну пам'ять, або системна шина. Процесори Pentium Pro, Celeron, Pentium Will, Athlon і Duron можуть використовувати обидві шини одночасно, завдяки чому знижується критичність такого параметра, як пропускна спроможність шини.
Для реалізації архітектури DIB кеш-пам'ять другого рівня перемісить з системної плати в один корпус з процесором, що дозволило наблизити швидкодію кеш-пам'яті другого рівня до швидкодії вбудованої кеш-пам'яті, яка значно перевершує швидкодію пам'яті, що поміщається на системну плату. Щоб помістити кеш в корпус процесора, знадобилося модифікувати кубло процесора. В даний час існують наступні процесори, які встановлюються в кубло типа Socket і підтримують DIB: Pentium Pro (Socket 8), Pentium Пі/Celeron (Socket 370) і Socket А (Athlon/Duron); у кубло типа Slot встановлюються процесори Pentium П/Ш/Celeron (Slot 1) і Athlon (Slot А).
DIB також дозволяє системою шині виконувати одночасно декілька транзакцій (а не одну послідовність транзакцій), завдяки чому швидшає потік інформації усередині системи і підвищується ефективність. Всі засоби архітектури DIB підвищують пропускну спроможність майже в три рази в порівнянні з процесором, що має архітектуру одиночної шини.
3. Архітектура подвійної незалежної шини, корпуса та гнізда мікропроцесорів
Іншою новиною P6 є архітектура подвійної незалежної шини. Процесор має дві шини даних: одну -- для системи (системної плати), іншу -- для кеш-пам'яті. Завдяки цьому істотно підвищилася швидкодія кеш-пам'яті. Процесори покоління P5 мали тільки одиночну шину процесора на системній плати, і всі дані, включаючи передавання в кеш і з нього, передавалися по ній. Основна проблема полягала в тому, що швидкодія кеш-пам'яті була обмежена тактовою частотою шини системної плати, яка дорівнювала 66 Мгц. Сьогодні кеш-пам'ять може працювати на тактовій частоті 500 Мгц або вище, а оперативна пам'ять (SDRAM) -- з тактовою частотою 100 Мгц, через це виникла необхідність помістити пам'ять ближче до процесора. Було ухвалено рішення під'єднати до процесора додаткову шину, звану спеціалізованою (або виділеної) шиною кеша. Кеш-пам'ять другого рівня була сполучений з цією шиною і могла працювати на будь-якій тактовій частоті. Спочатку це було реалізовано в Pentium Pro, де кеш-пам'ять другого рівня була встановлена в корпусі процесора і працювала на його тактовій частоті. Проте таке рішення виявилося дуже дорогим, і тому кеш-пам'ять другого рівня була переміщений з корпусу процесора на картрідж, в який тепер упаковується Pentium II. В цьому випадку шина кеша могла працювати на будь-якій тактовій частоті, і спочатку вона працювала на частоті, удвічі меншої тактової частоти процесора. За наявності кеша на додатковій шині, безпосередньо сполученій з процесором, його швидкодія сумірно з швидкодією процесора. Якби швидкодія кеша обмежувалася тактовою частотою системної плати (наприклад, 66 або 100 Мгц), як у разі використовування гнізда типа Socket 7 (процесор P5), тактова частота кеш-пам'яті була б рівна Шосте покоління процесорів: P6 (686) 167 66 Мгц, навіть якщо частота процесора дорівнювала б 333 Мгц; на більш новій плати кеш “зав'язнув” би на тактовій частоті 100 Мгц при частоті процесора 500МГц і вище. У міру зростання тактової частоти процесора з подвійною незалежною шиною за рахунок більш високих множників тактової частоти системної плати швидкодія кеша збільшується в ту ж кількість раз що і тактова частота процесора. Іншими словами, швидкодія кеш-пам'яті на подвійній незалежній шині збільшується пропорційно швидкодії процесора. Архітектура подвійної незалежної шини необхідна для підвищення ефективності процесора, що працює на тактовій частоті 300МГц і вище. Із старим гніздом типа Socket 7 (для процесорів P5) таких тактових частот досягти було неможливо і довелося б нести величезні втрати в ефективності через повільну (прив'язаної до тактової частоти системної плати) кеш-пам'яті другого рівня. Саме тому тактова частота процесорів Pentium класу P5 не перевершує 266 Мгц; процесори P6 працюють на тактових частотах 500 Мгц і вище. Нарешті, в архітектурі P6 були розширені обчислювальні можливості суперскаляра процесорів P5: додані нові пристрої виконання команд, а команди розбиті на спеціальні мікрооперації. Можна сказати, що команди CISC реалізовані як послідовності команд RISC. Складність команд рівня RISC нижче, і тому організувати їх більш ефективну обробку в паралельно працюючих пристроях виконання команд набагато простіше. Якщо ви пам'ятаєте, P5 мав тільки два модулі виконання команд, тоді як P6 має не менше шести окремих спеціалізованих (виділених) модулів. Такий суперскаляр називається трьохконвейєрним (множинні модулі виконання команд можуть виконувати до трьох команд в одному циклі). Крім всього іншого, в архітектуру P6 вбудована підтримка багатопроцесорної системи, вдосконалені засоби виявлення і виправлення помилок, а також оптимізовано виконання 32-розрядного програмного забезпечення. Pentium Pro, Pentium II/III і інші процесори шостого покоління-- це не просто Pentium з більш високою швидкодією, вони мають багато додаткової нагоди і більш досконалу архітектуру. Ядро мікросхеми RISC-подібне, а команди більш високого рівня належать до класичної для Intel архітектури CISC. Розчленовувавши CISC-команди на окремі команди RISC і виконуючи їх на паралельно працюючих конвейєрах, Intel добивається збільшення загальної швидкодії. В порівнянні з Pentium, працюючим на тій же тактовій частоті, процесори P6 швидше виконують 32-розрядне програмне забезпечення. В процесорах P6 засобу динамічного виконання оптимізовані, в першу чергу, з метою підвищення ефективності при виконанні 32-розрядного програмного забезпечення (наприклад, такого як Windows NT/2000). Якщо ви використовуєте 16-розрядне програмне забезпечення на зразок операційних систем Windows 9х (які частина часу працюють в 16-розрядному середовищі) або ще старіші додатки, P6 не забезпечуватиме очікуваного підвищення ефективності. Це пояснюється тим, що в даному випадку не будуть до кінця використані можливості динамічного виконання. Тому Windows NT/2000 часто розцінюють як найбажанішу операційну систему для процесорів Pentium Pro, Celeron і Pentium II/III. Хоча ці процесори чудово працюють під управлінням Windows 9х, тільки Windows NT/2000 повністю використовує переваги P6. Причому ці переваги використовуються не стільки самою операційною системою, скільки додатками під її управлінням. Думаю, що розробники при створенні програмного забезпечення не забаряться скористатися всіма перевагами процесорів шостого покоління. Для цього знадобляться сучасні компілятори, які зможуть підвищити ефективність виконання 32-розрядного коду у всіх процесорах Intel. Але раніше потрібно поліпшити передбаченість коду щоб можна було використовувати переваги динамічного виконання множинного прогнозу галужень.
Itanium -- перший мікропроцесор, в основу якого встановлена 64-розрядна архітектура IA-64. Це абсолютно нова архітектура процесора, в якій використовується концепція VLIW (Very Long Instruction Words -- дуже довгі командні слова), прогноз команд, виділення переходу, попереджуюче завантаження і інші вдосконалені методи, що дозволяють збільшити паралелізм програмного коду. Нова мікросхема міститиме як елементи RISC, так і CISC. Існує ще одна нова архітектура, яку Intel називає EPIC (Explicitly Parallel Instruction Computing-- команди явно паралельних обчислень); вони дають вказівку процесору виконувати одночасно декілька команд. В Itanium в 128-розрядному слові закодовано три команди, кожна з них міститиме ще декілька додаткових бітів, на відміну від сьогоднішніх 32-розрядних команд. Додаткові біти дозволяють адресувати більшу кількість регістрів і використовуються для управління процедурою паралельного виконання команд в процесорі. Все це спрощує проектування процесорів з багатьма модулями для паралельного виконання команд і дозволяє підвищити їх тактову частоту. Іншими словами, крім здатності одночасно виконувати декілька окремих команд усередині процесора, Itanium може зв'язуватися з іншими мікросхемами і створювати середовище паралельної обробки. Крім нових можливостей і абсолютно нової 64-розрядної системи команд, Intel і Hewlett-Packard гарантують повну сумісність “вниз” від Itanium до нинішнього 32-розрядного програмного забезпечення Intel x86 і програмного забезпечення PA-RISC фірми Hewlett-Packard. В Itanium з'єднано три різні процесори в одному, а це значить що Itanium зможе одночасно виконувати вдосконалене, явно “паралельне” програмне забезпечення з архітектурою IA-64, Windows (з архітектурою IA-32) і програми HP-RISC UNIX. Таким чином, Itanium підтримує 64-розрядні команди при збереженні сумісності з сьогоднішніми 32-розрядними додатками. Щоб використовувати переваги 32-розрядних комп'ютерів, першим з яких був 386-й, необхідно було написати нове програмне забезпечення. На жаль, індустрія створення програмного забезпечення розвивається набагато повільніше індустрії апаратних засобів. Пройшло цілі 10 років після появи процесора 386, перш ніж Microsoft випустила Windows 95 -- першу 32-розрядну операційну систему. В Intel стверджують, що таке не може трапитися з Itanium: Microsoft вже почала працювати над 64-розрядною версією Windows NT. Проте, не дивлячись на це, швидше за все, буде потрібно декілька років, щоб ринок програмного забезпечення переорієнтувався на 64-розрядні операційні системи і 64-розрядне програмне забезпечення. Зараз встановлено дуже багато 32-розрядних процесорів, і зворотна сумісність з 32-розрядним режимом дозволить Itanium швидко виконувати 32-розрядне програмне забезпечення, оскільки для цього будуть передбачені апаратні засоби, а не емуляція за допомогою програмного забезпечення. При виготовленні Itanium використовується 0,18-мікронна технологія. Це дозволить зменшити розмір транзистора, а значить, збільшити їх кількість на кристалі. Модернізація процесора 209 Головна мета розробки архітектури IA-64 полягає в тому, щоб створити мікросхеми які домінували б на ринку робочих станцій і серверів і могли конкурувати з такими мікросхемами, як Digital Alpha, Sun Sparc і Motorola PowerPC. Компанія Microsoft розробляє версію операційної системи Windows NT для P7, а фірма Sun -- версію Solaris (програмне забезпечення для операційної системи UNIX). NCR вже оголосила, що будуватиме Solaris-системи на основі Itanium. В процесорі Itanium застосовується новий тип корпусу Pin Array Cartridge (РАС); вага процесора близько 170 г Розділення ланцюгів сигналів і живлення Підкладка Статична кеш-пам'ять. Шина кеша працює на частоті ядра Itanium має три рівні кеш-пам'яті: стандартні перший і другий рівні і кеш-пам'ять третього рівня, розташовану на окремому кристалі. Вся кеш-пам'ять встановлюється в картриджі процесора. Iiaa.iecaoey i.ioanni.a При створенні процесора 486 і більш пізніх Intel, враховуючи той факт, що може бути потрібно нарощування обчислювальних можливостей, розробила стандартні гнізда типа Socket, які підходять для ряду процесорів. Таким чином, маючи системну плату з гніздом типа Socket 3, можна встановити в нього фактично будь-який процесор 486, а маючи системну плату з гніздом типа Socket 7 -- будь-який процесор Pentium. Щоб максимально використовувати можливості системної плати, ви можете встановити найшвидший процесор з числа підтримуваних вашою платою. Звичайно це визначається типом гнізда на системній платі. Допустимо (найшвидший) процесор можна встановити в конкретний тип гнізда. Наприклад, якщо ваша системна плата має гніздо типа Socket 5 для Pentium, можете встановити процесор Pentium MMX 233 Мгц з перетворювачем напруги 2,8В або AMD-K6. Якщо у вас гніздо типа Socket 7, значить, ваша системна плата підтримує (безпосередньо, без яких-небудь перетворювачів) більш низьку напругу, необхідну наприклад, для Pentium MMX або AMD-K6. Заміна процесора може в деяких випадках подвоїти ефективність системи, наприклад якщо Pentium 100 поміняти на Pentium MMX 233. Проте якщо у вас Pentium 233, то замінити його ви не зможете, оскільки це найшвидший процесор, який можна встановити в гніздо типа Socket. У такому разі вам доведеться повністю замінити системну плату, щоб встановити процесор Pentium II. Якщо ваш корпус не якийсь особливий і в нього можна встановити стандартну системну плату з формфактором Baby-AT або ATX, рекомендую замінити системну платою і процесор, а не намагатися знайти процесор, який працюватиме з вашою платою. У свій час Intel активно просувала ідею процесорів OverDrive. Але часта зміна типів корпусів і роз'ємів, напруги живлення, зміна системи охолоджування і т.д. привели до того, що процесори OverDrive не користуються популярністю. Користувачі обожнюють знать, наскільки “швидкий” у них комп'ютер. Щоб допомогти їм задовольнити цю цікавість, розроблені різні програми тестування (для вимірювання різних параметрів ефективності системи і процесора). Хоча жодне число не може повністю відобразити ефективність складного пристрою, такого як процесор або весь комп'ютер, тести можуть бути корисні при порівнянні різних компонентів і систем. Єдино вірний і точний спосіб зміряти ефективність системи -- перевірити її в роботі з додатками. На продуктивність одного компоненту системи часто роблять вплив інші її компоненти. Не можна одержати точних цифр, порівнюючи системи які мають не тільки різні процесори, але і різні об'єми або типи пам'яті, жорсткі диски, відеоадаптери і ін. Все це впливає на результати випробувань, і набувають значення можуть сильно відрізнятися від істинних, якщо тестування проводилося неправильно. Причини несправності процесорів Тести бувають двох видів: тести компонентів, що вимірюють ефективність специфічних частин комп'ютерної системи, таких як процесор, жорсткий диск, відеоадаптер або накопичувач CD-ROM, і тести системи, що вимірюють ефективність всієї комп'ютерної системи, яка виконує даний додаток або даний набір тестових програм. Тести частіше за все видають тільки один вид інформації. Краще всього перевірити систему, використовуючи власний набір операційних систем і додатків. Є компанії, які спеціалізуються на програмах тестування. Ці компанії, а також розроблені ними тести перераховані нижче.
Частіше всього проблеми в роботі комп'ютера виникають “з вини” інших пристроїв. Процесор є одним з найважливіших пристроїв, тому його працездатність зразу ж вплине на функціонування всієї системи в цілому. Виявити несправність процесора можна тільки за допомогою другого явно справного процесора. Проте при цьому можна “спалити” справний процесор, якщо, наприклад, невірно встановлені перемички живлення на системній платі. Всі дії з процесором необхідно виконувати з особливою акуратністю, а живлення комп'ютера включати тільки після повторної перевірки правильності установки процесора в гнізді і відповідних перемичок на системній платі. Однією з найпоширеніших причин виникнення проблем при роботі процесорів є їх “розгін”, тобто установка параметрів, не відповідних робітникам. Це приводить до нагрівання процесора і, як наслідок, до виходу його з ладу. Якщо ви намагаєтеся “розігнати” процесор, то звертайте особливу увагу на температурний режим його роботи. Проконтролювати температурний режим роботи можна, або безпосередньо торкнувшись до радіатора процесора, або за допомогою програмних засобів.
4. Технологія MMX, 3Dnow, Enhanced
Залежно від контексту, ММХ може означати multi-media extensions (мультимедійні розширення) або matrix math extensions (матричні математичні розширення). Технологія ММХ використовувалася в старших моделях процесорів Pentium п'ятого покоління як розширення, завдяки якому швидшає компресія/декомпресія відеоданих, маніпулювання зображенням, шифрування і виконання операцій ввода-вивода-- майже всі операції, використовувані в багатьох сучасних програмах.
У архітектурі процесорів ММХ є два основні удосконалення. Перше, фундаментальне, полягає у тому, що всі мікросхеми ММХ мають більший внутрішній вбудований кеш, ніж їх побратими, що не використовують цю технологію. Це підвищує ефективність виконання кожної програми і всього програмного забезпечення незалежно від того, чи використовує воно фактично команди ММХ.
Інше удосконалення ММХ полягає в розширенні набору команд процесора 57 новими командами, а також у введенні нової можливості виконання команд, званої одиночний потік команд -- множинний потік даних (Single Instruction -- Multiple Data, SIMD).
У сучасних мультимедійних і мережевих додатках часто використовуються цикли; хоча вони займають близько 10% (або навіть менше) об'єму повного коду додатку, на їх виконання може піти до 90% загального часу. SIMD дозволяє одній команді здійснювати одну і ту ж операцію над декількома даними, подібно тому як викладач, читаючи лекцію, звертається до всієї аудиторії, а не до кожного студента окремо. Технологія SIMD дозволяє прискорити виконання циклів при обробці графічних, анімаційних, відео- і аудіофайлів; інакше ці цикли віднімали б час у процесора.
Intel також додала 57 нових команд, спеціально розроблених для ефективнішої обробки звукових, графічних і відеоданих. Ці команди призначені для виконання з високим ступенем паралелізму послідовностей, які часто зустрічаються при роботі мультимедійних програм. Високий ступінь паралелізму в даному випадку означає, що одні і ті ж алгоритми застосовуються до багатьох даних, наприклад до даних в різних крапках при зміні графічного зображення.
Такі компанії, як AMD і Cyrix, ліцензіювали у Intel технологію ММХ і реалізували її у власних процесорах.
Технологія 3DNow розроблена компанією AMD у відповідь на реалізацію підтримки інструкцій SSE в процесорах Intel. Вперше (травень 1998 року) SDNow реалізована в процесорах AMD Кб, а подальший розвиток -- Enhanced 3DNow -- ця технологія одержала в процесорах Athlon і Duron. Аналогічно SSE, технології SDNow і Enhanced SDNow призначені для прискорення обробки тривимірної графіки, мультимедіа і інших інтенсивних обчислень.
SDNow є набором з 21 інструкції SIMD, які оперують масивом даних у вигляді одиничного елементу. У Enhanced SDNow до існуючих додані ще 24 нові інструкції. Технології обробки даних SDNow і Enhanced SDNow хоча і подібні SSE, але несумісні на рівні інструкцій, тому виробникам програмного забезпечення необхідно окремо реалізувати підтримку цих технологій.
Технологія SDNow, як і SSE, підтримує операції SIMD з плаваючою комою, а також дозволяє виконувати до чотирьох операцій з плаваючою комою за один цикл. Інструкції SDNow для операцій з плаваючою комою можуть використовуватися разом з командами ММХ без помітного зниження швидкодії. Підтримується і попереджуюча вибірка даних -- механізм попереднього прочитування даних з кеш-пам'яті.
Всі технології прискорення обробки даних компаній Intel і AMD реалізовані на рівні операційних систем Windows 9x і Windows NT/2000. Окрім цього, всі програмні інтерфейси DirectX (з версії 6) компанії Microsoft і Open GL компанії SGI оптимізовані для технології SDNow, а практично всі сучасні відеодрайвери SDfx, ATI, Matrox і nVidia підтримують SDNow і Enhanced SDNow. Не дивлячись на те що технологія SDNow підтримується багатьма комп'ютерними іграми і драйверами відеоадаптерів, існує ряд професійних графічних додатків (до їх числа відноситься і Adobe * Photoshop), що не підтримують SDNow.
Список використаної літератури
1. Тулі М., Справочний посібник по цифровій техніці: М.: Энергоатоміздат, 1990.