3. Процесори компанії AMD AMD - світовий постачальник інтегральних мікросхем для ринку персональних і мережних комп'ютерів і комунікацій, чиї виробничі потужності розташовані в Сполучених Штатах, Європі, Японії і Азії. AMD проводить мікропроцесори, пристрої флэш-пам'яті і допоміжні мікросхеми для комунікаційних і мережних додатків. Компанія AMD, заснована в 1969 року з штаб-квартирою в р. Саннівейл (шт. Каліфорнія), в 2000 року мала оборот 4,6 млрд. дол. (NYSE: AMD). Першим процесором, який AMD розробляла самостійно, був K5, випущений в 1996 року. Зараз про нього вже мало хто пам'ятає, правда і пам'ятати там особливо нічого. Як завжди, спізнившись з випуском цього кристала, відстаючи по тактовій частоті і продуктивності, AMD не змогла тоді завоювати розташування користувачів. Після цього провалу AMD набула забуту зараз фірму NexGen, ще одного незалежного розробника х86 процесорів, який володів передовою на той час технологією і в невеликих кількостях випускав кристали без арифметичного співпроцесора. Використовуючи ці напрацювання, AMD спроектувала нове покоління своїх CPU - K6. По операціях з цілими числами ці процесори сталі перевершувати аналоги від Intel, проте блок операцій з плаваючою крапкою все ще залишав бажати кращого. AMD не здавалася і для потреб комп'ютерних ігор запропонувала використовувати не співпроцесор, а спеціально спроектований набір SIMD-інструкцій 3DNow!. Так з'явився процесор AMD K6-2, в якому до звичайного ядра K6 додався ще один блок операцій з числами одинарної точності з плаваючою крапкою. Завдяки тому, що він міг виконувати однотипні обчислення з чотирма парами операндів одночасно, на спеціально оптимізованих під 3DNow! додатках K6-2 показував непогану продуктивність. AMD до свого процесора K6-2 додала інтегрований в ядро кеш другого рівня, працюючий на частоті кристала. Це врятувало продуктивність - отриманий K6-III міг успішно конкурувати з аналогами. Знаходячись в стані цінової війни, Intel і AMD прийшли до того, що найдешевші Intel Celeron продаються практично по собівартості, якщо не нижче, а на ринку дорогих процесорів влаштувався інший продукт від Intel - Pentium III. Єдиний шанс, що залишився, вижити для виснаженої і порозгублювала в боротьбі свої капітали AMD - вилізти на ринок дорогих і продуктивних процесорів. Причому, закріпитися на ньому не за рахунок ціни - цією зброєю досконало володіє Intel, який може скидати ціни значно сильніше AMD, а за рахунок швидкодії. Саме це і спробувала зробити AMD, викинувши на ринок процесор нового покоління - Athlon. 3.1. AMD K6-2 Цей процесор явився логічним продовженням лінійки K6 і відрізняється від попередника тільки добавленним в ядро нового модуля, оброблювального "3D-инструкции" і носячого назву 3DNow!. По суті - це ще один співпроцесор по типу MMX, але уміючий виконувати 21 нову інструкцію. Ці нові інструкції покликані, перш за все, прискорити обробку даних, пов'язаних з тривимірною графікою. Тому в набір інструкцій 3DNow! включені команди, працюючі з речовинночисельними аргументами одинарної точності. Саме тому, технологія ММХ не пішла в життя - ММХ працює з цілими числами, а при розрахунку тривимірних сцен оперувати доводиться з речовинними. Як і ММХ, 3DNow! використовує ті ж регістри, що і співпроцесор, це пов'язано з тим, що операційні системи повинні зберігати і скидати всі регістри процесора при перемиканні задач. Теоретично, 3DNow! повинен замінити співпроцесор при розрахунках тривимірної геометрії і істотно прискорити виконання цих обчислень. Модуль 3DNow! може виконувати до чотирьох SIMD (Single Instruction Multiple Data) інструкцій (з свого 21-командного набору) паралельно, що при грамотному використовуванні може дати небувалий приріст продуктивності. Доброю ілюстрацією цієї тези може послужити Quake2, працюючий на процесорах K6 в півтора рази повільніше, ніж на Pentium тієї ж частоти. Проте, всупереч поширеній думці, це зв'язано не з тормознутостью AMD-шного співпроцесора, а з тим що Intel реалізував в своєму кристалі можливість паралельної роботи процесора з арифметичним співпроцесором. В Quake2, код оптимізований з урахуванням цієї особливості, тому якщо процесорні і співпроцесори інструкції не можуть виконуватися одночасно (як на AMD K6), продуктивність виходить украй низька. K6-2 повинен вирішити цю проблему, але іншим шляхом - за рахунок конвейєризації 3D обчислень в модулі 3DNow! Проте, питання розпаралелювання обчислень повинне розв'язуватися програмістом, що викликає певні труднощі при реалізації алгоритмів, тим паче, що процес обчислення геометрії 3D-сцен далеко не лінійний. Тому, теоретична продуктивність К6-2, що значно перевищує швидкість всіх сучасних PII-процесорів, досягнута бути не може. Так, щоб від 3DNow! був хоч якийсь ефект, необхідно, щоб додаток використовував ті самі 21 інструкцію. Причому не як-небудь, а з урахуванням конвейєрної структури цього модуля процесора. 3.2. AMD K6-2 3DNow! AMD знов сподівається скоротити відрив від Intel'а, цього разу за допомогою технологій високого рівня і заточені під процесор 3D драйверів. Названа "K6-2 3DNow!", ця серія процесорів повинна розбити ілюзію, що користувачі повинні купувати процесори Intel Pentium II для досягнення максимально можливого 3D швидкодії. Вийшовши в 300 і 333Мгц версіях, лінія K6-2 містить деякі поліпшення, по порівнянню з вже знайомої користувачам лінії K6. Поліпшений співпроцесор, більш високі швидкості роботи ядра, підтримка 100Мгц кеша 2 рівні, і набір інструкцій, відомий як 3Dnow!, - ось якості, що піднесли K6-2 на вершину пропонованих AMD процесорів. 3DNow!, кажучи людською мовою, - це поліпшений процес обчислень, прискорюючий обраховування сцени для 3D графіки. Cyrellis вже раніше згадував, що однією з головних перешкод для прискорювачів 3D графіки є конфлікт між повільним створінням сцени типовим процесором Intel/AMD і можливостями рідного процесора 3D карти. Відеокарта повинна дочекатися, поки CPU завершить свою роботу, і лише тоді її 3D-процессор буде в змозі вичавити необхідну нам кількість кадрів в секунду. 3DNow! обіцяє змінити такий стан речей, проносячись крізь генерацію сцени на максимальній швидкості, тим самим значно підвищуючи продуктивність. 3.2.1. Технологія 3DNow! Технологія 3DNow!, запропонована AMD в своєму новому процесорі K6-2 (кодове ім'я було K6 3D), є розвитком вживаної повсюдно технології MMX. MMX - це додаткові 57 інструкцій процесора і 8 додаткових регістрів, які покликані збільшити продуктивність мультимедійних додатків. Якщо програма використовує ці можливості, то це вносить чималий внесок в швидкість її виконання. MMX була введена в процесорах фірми Intel, але до справжнього моменту все х86-процессоры, включаючи AMD, IDT і Cyrix, підтримують її. Проте, не дивлячись на повсюдну підтримку, MMX використовується недостатнім числом додатків, тому переваги від наявності підтримки MMX поки невеликі. Після упровадження MMX, ініціатива по упровадженню нових інструкцій несподівано перейшла до AMD. Правда, у відповідь на цей крок, Intel анонсував набір команд MMX2, який з'явився в процесорі Katmai. Додаткова система команд від AMD, названа 3DNow! (кодове ім'я було AMD-3D Technology), є набором інструкцій для прискорення операцій тривимірної графіки. Цей набір включає, зокрема, швидкий розподіл дійсних чисел, що виконується за 3 такти процесора, і обчислення зворотної величини до квадратного коріння, що виконується також за 3 такти. На думку AMD, використовування в 3D-играх технології 3DNow! дозволить 300-мегагерцовому K6-2 наздогнати по продуктивності Pentium II 400 мгц. 3.3. AMD K6-III Вслід за виходом чергового процесора від Intel, Pentium III, з'явилася новинка і від AMD - процесор K6-III. Цей процесор повинен був дозволити AMD піднятися з ніші дешевих систем і почати конкуренцію з Intel на ринку більш дорогих машин, готуючи грунт для нанесення вирішального удару по позиціях мікропроцесорного гіганта блокбастером K7. Довге очікування, читання специфікацій і перші враження від AMD K6-III давали всі підстави для того, щоб сподіватися на те, що позиції Intel похитнуть. Але, традиційно, AMD виступає в ролі наздоганяючого, а для перемоги в цьому випадку, згідно військовій тактиці, вимагається чимала перевага в силі. Але, проте, новий раунд битви AMD проти Intel, Socket7 проти Slot1, Давид проти Голіафа, почався. AMD K6-III - це AMD K6-2 плюс 256 Кбайт кеша другого рівня, інтегрованого в ядро і працюючого на його частоті. Пам'ятаючи, які чудеса продуктивності показує Intel Celeron, від AMD K6-III очікується також чималий приріст в швидкодії, тим паче, що шина пам'яті - головне вузьке місце в системі, хоч вона і працює на частоті 100 мгц. До того ж L2 кеш e К6-III має розмір в двічі більший, ніж в Celeron і в двічі більш швидкий (хоча і удвічі менший), чим в Pentium II. Не слідує до того ж забувати і про кеш, встановлений на материнській платні, - він стає кешем третього рівня і додає ще декілька відсотків продуктивності. Треба надати увагу і ще одному факту, а саме буквам CXT в назві ядра. Це ядро з'явилося в процесорах K6-2 зовсім недавно і відрізняється від передування наявністю функції пакетного запису в пам'ять Write Allocate. Тобто, нове ядро дозволяє передавати дані по шині як доведеться, а у міру накопичення 8-ми байтовими пакетами, що дає невеликий виграш в продуктивності при передачі даних по 64-битной шині. Правда, новій цю функцію назвати не можна, оскільки Write Allocate є і в інтеловских процесорах ще з часів Pentium Pro. Що стосується 3DNow!, то тут по порівнянню K6-2 все залишилося зовсім без змін. Проте, треба констатувати, що додатків використовуючих цю технологію на ринку не багато, а підтримка 3DNow! в драйверах відеокарт і DirectX не дає практично нічого. Також як і у випадку з SSE, для отримання значущого приросту в швидкодії, необхідне використовування SIMD-інструкцій при розрахунку геометрії 3D-сцены, оскільки функції, оптимізовані в DirectX працюють недостатньо швидко і не використовуються розробниками. Відзначимо той факт, що для підтримки нових K6-III підійде і стара Socket7 системна платня, для якої є BIOS з підтримкою ядра CXT і що мають можливість виставляння напруги живлення ядра 2.3-2.5В. Проте, якщо в керівництві до системної платні не вказаний спосіб виставляння цих напруг, зневірятися рано. В більшості випадків існують недокументовані установки для такої напруги живлення. 3.4. AMD K7 К7 - перший з сімейства мікропроцесорів х86 7-го покоління, в якому присутні конструктивні розв'язання, що до цих пір не застосовувалися в процесорах архітектури х86 і обіцяючі виграш в швидкодії навіть при однакових тактових частотах. Найбільш вражаючим з них є, звичайно, 200-мегагерцова системна шина, проте є і інші, менш помітні на перший погляд новини, що ставлять К7 вище за процесори 6-го покоління. • Нова архітектура вузла обчислень з плаваючою крапкою (fpu). К7 містить 3 вузли обчислень з плаваючою крапкою (fpu), будь-який з яких здатний приймати на вхід інструкції кожний такт роботи процесора. При цьому один вузол призначений виключно для виконання команди FSTORE! Призначення цього вузла - забезпечувати обмін між регістрами і пам'яттю в той час, як процесор виконує інші інструкції. Такий підхід, хоча і не підвищує пікову продуктивність, дозволяє досягти більш високої середньої продуктивності, що у багатьох випадках важливіше. Інші два fpu складаються з блоку складання (adder) і блоку множення (multiplier). Обидва блоки використовують конвейєри (fully pipelined). Архітектура кожного fpu така, що він може приймати на вхід кожний такт одну інструкцію складання і одну множення, що дає пікову продуктивність 1000MFLOPS при 500МГц. Найближчим аналогом з погляду архітектури явився Pentium II, в якого також присутні adder і multiplier. Проте існують дві основні відмінності. По-перше, в PII тільки adder явився повністю конвейєризованим (fully pipelined), multiplier же може приймати інструкцію на вхід тільки кожний другий такт. По-друге, кожний вузол fpu PII може приймати тільки одну інструкцію за такт, таким чином, пікова продуктивність складає 500MFLOPS при 500МГц. Вищесказане у жодному випадку не явився нападками на гідну архітектуру сімейства Р6, яке до цих пір залишається єдиним сімейством процесорів з конвейєрним fpu. Так, трохи не забув... Rise mP6, можливо, буде мати архітектуру fpu, схожу на ту, що використовується в К7 (як у всьому, що пов'язано з компанією Rise, тут повно туману, але компанія упевнено заявляє, що fpu їх процесора здатний виконувати 2 інструкції х87 за такт), проте максимальна тактова частота в 200МГц не дозволяє цьому процесору претендувати на місце не тільки у "вищому суспільстві", але навіть і в "середньому класі", тому порівнювати mP6 з К7 некоректно. • Величезний кеш L1. Якщо пам'ятаєте, Pentium MMX-166 показував таку ж продуктивність на додатках, що не використовують інструкції ММХ, як і класичний Pentium-200. В чому причина? А причина в тому, що чіп ММХ мав в 2 рази більше кеша L1 (32К проти 16К). Це також пояснює, чому К6-200 приблизно рівний по продуктивності Pentium MMX-233 - він має 64К кеша. До чого це я? До того, що в К7 кеш L1 збільшився ще в 2 рази - до 128К. Це ще не гарантує ефективного зростання продуктивності процесора із збільшенням тактової частоти, але, принаймні, усуває небезпеку простою, через обмін з пам'яттю. • Кеш L2, що модернізується. В К7 кеш L2 буде розміщений, за прикладом PII, в картріджі, а не інтегрований в кристал, як в К6-3. Результатом цього є можливість "модернізації" кеша. Спочатку його частота буде складати 1/3 частоти процесора. Надалі планується випуск версій з кешем L2, працюючим на частоті процесора, і, можливо, на половинній частоті. То ж і з розміром. К7 може нести кеш L2 розміром від 512К в "нижніх" моделях до 8МВ в серверних моделях "high-end" (вражаючий, Xeon на сьогодні має до 2МВ, але ціна...). 3.5. AMD Duron В той час, коли популярність Socket 7 платформ знаходилася на самому спису, і обидва найбільших мікропроцесорних виробника і Intel, і AMD робили процесори під цей роз'єм, ми звикли до того що AMD пропонувала менш продуктивні, але і більш дешеві розв'язання. Проте, рік тому це положення корінним чином змінилося. Анонсувавши Athlon, який архітектурно перевершує Intel Pentium III, AMD вдалося на якийсь час захопити лідерство в продуктивності процесорів. І хоча Intel згодом вдалося удосконалити ядро своїх процесорів, в яке був доданий вбудований кеш другого рівня, AMD міцно влаштувалася на ринку швидкісних CPU, де і до цього дня продовжує зміцнювати свої позиції. Зараз AMD застосовує проти Intel два засоби. Перше - агресивна цінова політика, в результаті якої процесори Athlon виявилося набагато дешевше за своїх суперників, Intel Pentium III, працюючих на аналогічній частоті. І друге - завдяки своїй архітектурі AMD вдається підвищувати частоту своїх процесорів дещо легше, ніж Intel. В результаті, на справжній момент, наприклад, AMD вже серійно продає свої гігагерцові CPU. Проте, є в AMD і проблеми. Найбільший головний біль з Athlon - це кеш другого рівня, виконаний у вигляді мікросхем SRAM, які до недавнього часу розташовувалися на процесорній платні і проводилися сторонніми виробниками. Молодші моделі Athlon мали L2-кеш, працюючий на половинній частоті ядра процесора, проте у міру зростання частот виробники SRAM не встигали за AMD і не могли забезпечити поставки мікросхем кеша, працюючих на 1/2 частоти процесора. В результаті, починаючи з частоти 750 мгц Athlon став забезпечуватися кеш-пам'яттю, працюючій на 2/5 частоти процесора, а починаючи з частоти 900 мгц - і зовсім працюючої на 1/3 частоти. Таким чином, вийшла парадоксальна ситуація, коли найшвидший L2-кеш виявилося в 700-мегагерцового Athlon. AMD же, природно, така ситуація влаштувати не могла, оскільки повільна кеш-пам'ять другого рівня початки стримувати зростання продуктивності процесорів. Тому, розв'язання нарешті перемістити L2-кеш AMD Athlon із зовнішньої процесорної платні всередину ядра виглядає цілком логічно. Тим паче, що обидва заводи AMD і в Остіні і в Дрездені успішно освоїли технологію 0.18 мкм, що дозволило при переході із старою 0.25 мкм технології зменшити площу ядра Athlon на 82 кв.мм. В результаті, лінійка AMD Athlon отримала продовження в особі процесорів на ядрі Thunderbird, що мають кеш першого рівня розміром 128Кбайт і 256-кілобайтний інтегрований в ядро кеш другого рівня, працюючий на повній частоті CPU. Це сімейство нових AMD Athlon з частотою 750 мгц і вище було анонсовано більше двох тижнів тому. Проте, цим AMD не обмежилася. Ще рік тому при уявленні Athlon компанія заявила про намір виробництва різних модифікацій свого CPU, розрахованих на різні сектори ринку. І ось, нарешті, тепер вона початки здійснювати свої плани, уявивши і сімейство процесорів AMD Duron орієнтоване на low-end сектор і що явилося прямим конкурентом Intel Celeron. Отже, подивимося, що ж представляють з себе процесори Duron з погляду їх основних характеристик: • Чіп, вироблюваний по технології 0.18 мкм з використанням мідних з'єднань • Ядро Spitfire, засноване на архітектурі Athlon. Містить 25 млн. транзисторів і має площу 100 кв.мм • Працює в спеціальній материнській платні з 462-контактним процесорним роз'ємом Socket A • Використовує високопродуктивну 100 мгц DDR системну шину EV6 • Кеш першого рівня 128 Кбайт - по 64 Кбайти на код і на дані • Інтегрований кеш другого рівня 64 Кбайти. Працює на повній частоті ядра • Напруга живлення - 1.5В • Набір SIMD-інструкцій 3DNow! • Випускаються версії з частотами 600, 650, 700 мгц Отже, з погляду архітектури, Duron нічим не відрізняється від звичайного Athlon, окрім вбудованого в ядро 64-Кбайтного кеша другого рівня. Якщо ж порівняти Duron з новими Athlon на ядрі Thunderbird, то відмінності між ними будуть полягати у розмірі інтегрованого L2 кеша (в Thunderbird він 256 Кбайт проти 64 Кбайт в Duron) і в частотах (Thunderbird випускаються з частотами починаючи з 750МГц, а Duron - з частотами до 700 мгц). В іншому ж, архітектурно і старі і нові Athlon і Duron нічим не відрізняються. При цьому, все ж таки необхідно мати на увазі, що все ж таки нові процесори Duron і Thunderbird мають оновлене і технологічно вдосконалене ядро, що випускається по технології 0.18 мкм. В результаті, наприклад, навіть виходить, що ядро Duron з вбудованим L2-кешем по площі навіть менше ніж ядро K75 (0.18 мкм Athlon). І окремо хочеться торкнутися нового форм-фактора і процесорного роз'єму, який тепер використовує AMD для своїх CPU. Оскільки мікросхем SRAM, використовуваних для зовнішнього L2-кеша в нових процесорів Duron і Thunderbird тепер немає, AMD вслід за Intel знов звернула увагу на процесорний роз'єм типу socket. Це не тільки більш вигідно з економічних міркувань (немає необхідності в процесорній платні, картріджі і т.п.), але і більш раціонально з погляду організації кращого охолоджування. Як такого роз'єму AMD вирішила використовувати 462-контактний Socket A, який по своїх розмірах, та і на вигляд схожий як на Socket 7, так і на Socket 370. Тому, з Socket A процесорами AMD можна використовувати старі Socket 7 і Socket 370 кулери. Єдине, не слідує при цьому забувати, що тепловиділення Duron дещо перевершує кількість тепла, що віддається Celeron, тому вони потребують дещо кращого охолоджування. Наприклад, Duron 650 виділяє тепло приблизно стільки ж, скільки і Intel Pentium III 733. В AMD Duron з системною шиною все гаразд. Оскільки цей процесор, як і інші з сімейства Athlon використовує 100-мегагерцову DDR шину EV6, пропускна спроможність цієї ланки виявляється 1,6 Гбайт/с. Кеш першого рівня Duron з часів випуску перших Athlon не зазнав ніяких змін - його розмір складає 128 Кбайт. Кеш першого рівня Duron ділиться на дві частини - для кешування даних і для кешуванні інструкцій. Що ж до кеша другого рівня, то тут нас чекає невеликий сюрприз. Неважко помітити, що в Duron він в двічі менше ніж L1 кеш. Зачам він тоді потрібен? Відповідь на це питання криється в алгоритмі роботи L2 кеша Duron і, до речі, Thunderbird. Кеш другого рівня цих процесорів явився ексклюзивним, що означає, що дані, що зберігаються в L1 кеше в ньому не дублюються. Такий метод роботи L2 кеша реалізований поки тільки в нових процесорах AMD, все ж таки інтеловські процесори мають звичайний inclusive L2 кеш, дані з L1 кеша в якому дублюються. Тому загальний об'єм ефективної кеш-пам'яті в AMD Duron складає 128+64=192 Кбайта, тоді як в Celeron він усього 128 Кбайт (32 Кбайти L2 кеша зайнято копією даних, що є в L1 кеші). Процесор AMD Duron вдався. Це можна сказати впевнено. Його продуктивність знаходиться на достатньо високому рівні, щоб не тільки обігнати конкуруючий Intel Celeron, але і взагалі не залишити йому жодних шансів в штатному режимі. Продуктивність AMD Duron 650 усього на декілька відсотків менше швидкості AMD Athlon 650 і приблизно відповідає продуктивності Intel Pentium III 600EB. Таким чином, вихід Duron, якщо Intel не зробить ніяких дій для поліпшення продуктивності свого low-end процесора, означає смерть Celeron. 3.6. AMD Athlon Якщо підійти до архітектури AMD Athlon поверхнево, то основні його параметри можна змальовувати таким чином: • Чіп, вироблюваний по технології 0.25 мкм • Ядро нового покоління з кодовим ім'ям Argon, що містить 22 млн. транзисторів • Працює в спеціальній материнській платні з процесорним роз'ємом Slot A • Використовує високопродуктивну системну шину Alpha EV6, що ліцензіює в DEC • Кеш першого рівня 128 Кбайт - по 64 Кбайти на код і на дані • Кеш другого рівня 512 Кбайт. Розташований зовні процесорного ядра, але в процесорному картріджі. Працює на половинній частоті ядра • Напруга живлення - 1.6В • Набір SIMD-інструкцій 3DNow!, розширений додатковими командами. Усього 45 команд • Випускаються версії з частотами 500, 550, 600 і 650 мгц. Версія з частотою 700 мгц з'явиться найближчим часом Проте таким простим процесор AMD Athlon здається тільки на перший погляд. На самому ж справі за цими декількома рядками ховаються численні архітектурні інновації, які ми розглянемо пізніше. Проте і прості характеристики AMD Athlon вражають. Наприклад, як неважко помітити, Athlon перевершує Intel не тільки по максимальній тактовій частоті (в Intel Pentium III вона 600 мгц, та і до того ж при цьому він працює на підвищеному до 2.05В напрузі ядра), але і по розміру кеша першого рівня, який в Intel Pentium III усього 32 Кбайти. Перейдемо ж до більш докладного розгляду архітектури AMD Athlon. 3.6.1. Системна шина Перш ніж заглиблюватися в сам процесор, подивимося, чим же відрізняється системна шина EV6, застосована AMD, від звичної інтеловської GTL+. Зовнішня схожість буває брехливо. Хоча процесорний роз'єм Slot A на системній платні для процесора AMD Athlon виглядає також як і Slot 1, перевернений на 180 градусів, шинні протоколи і призначення контактів в Intel Pentium III і AMD Athlon абсолютно різні. Більше того, різне навіть число задіяних сигналів - Athlon використовує приблизно половину з 242 контактів, тоді як Pentium III всього четверть. Зовнішня схожість викликана тим, що AMD просто хотіла полегшити життя виробникам системної платні, якій не доведеться купувати особливі роз'єми для установки на Slot A системну платню. Тільки і всього. На справді, хоч EV6 і працює на частоті 100 мгц, передача даних по ній, на відміну від GTL+ ведеться на обох фронтах сигналу, тому фактична частота передачі даних складає 200 мгц. Якщо врахувати той факт, що ширина шини EV6 - 72 біта, 8 з яких використовується під ECC (контрольну суму), то одержуємо швидкість передачі даних 64бита х 200 мгц = 1,6 Гбайт/с. Нагадаю, що пропускна спроможність GTL+, працюючій на 100 мгц в двічі мало - 800 Мбайт/с. Підвищення частоти GTL+ до 133 мгц дає збільшення пропускної спроможності при цьому тільки до 1,06 Гбайт/с. Здавалося б, як у випадку з GTL+, так і з EV6 виходять значні значення пропускної спроможності. Проте, тільки сучасна PC100 пам'ять може відражати від неї до 800 Мбайт/с, а AGP, працюючий в режимі 2х - до 528 Мбайт/с. Не говорячи вже про PCI і всякі інші дрібниці. Виходить, що GTL+ вже зараз може не справлятися з передаваними об'ємами даних. В EV6 же в цьому випадку все гаразд, тому ця шина більш перспективна. При цьому, як частота GTL+ може бути збільшена з 100 до 133 мгц, планується, що і частота EV6 також згодом досягне значення 133 (266), а потім і 200 (400) мгц. Проте плани ці можуть і не здійснитися - реалізувати роботу на материнській платні EV6, що вимагає більшої кількості контактних доріжок, дещо складніше, особливо на великих частотах. Хоча якщо в AMD все вийде, пропускна спроможність системної шини може досягти 2.1 і 3.2 Гбайта/с відповідно, що дозволить безперешкодно застосовувати в Athlon-системах, наприклад, високопродуктивну 266-мегагерцову DDR SDRAM. Перш ніж переходити безпосередньо до функціонування AMD Athlon, хочеться торкнутися теми L1 і L2 кешей. Що стосується кеша L1 в AMD Athlon, то його розмір 128 Кбайт перевершує розмір L1 кеша в Intel Pentium III аж в 4 рази, не тільки підкріплюючи високу продуктивність Athlon, але і забезпечуючи його ефективну роботу на високих частотах. Зокрема, одна з проблем використовуваної Intel архітектури Katmai, яка, схоже, вже не дозволяє нарощувати швидкодію простим збільшенням тактової частоти, якраз полягає в малому об'ємі L1 кеша, який починає захлинатися при частотах, що наближаються до гігагерцу. AMD Athlon позбавлений цього недоліку. Що ж до кеша L2, то і тут AMD виявилося на висоті. По-перше, інтегрований в ядро tag для L2-кеша підтримує його розміри від 512 Кбайт до 16 мбайт. Pentium III, як відомо, має зовнішню Tag-RAM, підтримує тільки 512-кілобайтний кеш другого рівня. До того ж, Athlon може використовувати різних дільників для швидкості L2-кеша: 1:1, 1:2, 2:3 і 1:3. Така різноманітність дільників дозволяє AMD не залежати від постачальників SRAM певної швидкості, особливо при випуску більш швидких моделей. Завдяки можливості варіювати розміри і швидкості кеша другого рівня AMD збирається випускати чотири сімейства процесорів Athlon, орієнтованих на різні ринки. 3.6.2. Архітектура. Загальні положення Ось ми і підійшли до розповіді про те, як же, власне, працює Athlon. Як і процесори від Intel з ядром, успадковуваним від Pentium Pro, процесори Athlon мають внутрішню RISC-архітектуру. Це означає, що всі CISC-команди, оброблювані процесором, спочатку розкладаються на прості RISC-операції, а потім тільки починають оброблятися в обчислювальних пристроях CPU. Здавалося б, навіщо ускладнювати собі життя? Виявляється, є навіщо. Порівняно прості RISC-інструкції можуть виконуватися процесором по декілька штук одночасно і набагато полегшують прогноз переходів, тим самим дозволяючи нарощувати продуктивність за рахунок більшого паралелізму. Кажучи більш просто, той виробник, який зробить більш "паралельний" процесор, має шанс добитися переваги в продуктивності набагато мало зусиллями. AMD при проектуванні Athlon, мабуть, керувалася і цим принципом. Проте перед тим, як почати роботу над паралельними потоками інструкцій, процесор повинен їх звідкись отримати. Для цього в AMD Athlon, як втім і в Intel Pentium III, застосовується дешифратор команд (декодер), який перетворить поступає на вхід процесора код. Дешифратор в AMD Athlon може розкладати на RISC-становлячих до трьох вхідних CISC-команд одночасно. Сучасні інтеловські процесори можуть також обробляти до трьох команд, проте якщо для Athlon абсолютно все одно, які команди він розщеплює, Pentium III хоче, щоб дві з трьох інструкцій були простими і лише одна - складній. Це приводить до того, що якщо Athlon за кожний процесорний такт може переварити три інструкції незалежно ні від чого, то в Pentium III окремі частини дешифратора можуть простоювати через неоптимізований код. Перед тим, як потрапити у відповідний обчислювальний блок, потік RISC-команд, що поступає затримується в невеликому буфері (Instruction Control Unit), який, що вже недивно, в AMD Athlon розрахований на 72 інструкції проти 20 в Pentium III. Збільшуючи цей буфер, AMD спробувала добитися того, щоб дешифратор команд не простоював через переповнювання Instruction Control Unit. Ще один момент, заслуговуючий уваги, - вчетверо більша, ніж в Pentium III, таблиця прогнозу переходів розміром 2048 осередків, в якій зберігаються попередні результати виконання логічних операцій. На підставі цих даних процесор прогнозує їх результати при їх повторному виконанні. Завдяки цій техніці AMD Athlon правильно передбачає результати галужень десь в 95% випадків, що дуже навіть непогано, якщо врахувати, що аналогічна характеристика в Intel Pentium III усього 90%. Подивимося тепер, що ж відбувається в Athlon, коли справа доходить безпосередньо до обчислень. З цілочисельними операціями в процесорів від AMD завжди все було в порядку. З часів AMD K6 процесори від Intel програвали саме в швидкості цілочисельних обчислень. Проте, в Athlon AMD геть відмовилася від старої спадщини. Завдяки наявності трьох конвейєрних блоків виконання цілочисельних команд (Integer Execution Unit) AMD Athlon може виконувати три цілочисельні інструкції одночасно. Що ж до Pentium III, то його можливості обмежуються одночасним виконанням тільки двох команд. Окремо хочеться торкнутися питання конвейєрів. Оптимальною глибиною конвейєра для процесорів з сучасними швидкостями вважаються 9 стадій. Збільшення цього числа приводить до прискорення процесу обробки команд, оскільки швидкість роботи конвейєра визначається роботою найповільнішої його стадії. Проте, у випадку дуже великого конвейєра при помилках в прогнозі переходів виявляється що велика частина роботи по виконанню команд, що вже ввійшли на конвейєр виконана марно. Його доводиться очищати і починати процес наново. Тому в AMD Athlon глибина цілочисельних конвейєрів складає 10 стадій, що близько до оптимуму. На жаль, прихильники продукції Intel знову не почують нічого утішливого, оскільки конвейєр в Pentium III складається з 12-17 стадій залежно від типу інструкції, що виконується. Із завмиранням серця обертаємо наш погляд на блок FPU, вбудований в Athlon. Як ми всі добре пам'ятаємо, для попередніх процесорів AMD операції з плаваючою крапкою були справжньою ахіллесовою п'ятою. Головною проблемою було те, що блок FPU в K6, K6-2 і K6-III був неконвейеризований. Це приводило до того, що хоча багато операцій з плаваючою крапкою в FPU від AMD виконувалися за менше число тактів, ніж на інтеловських процесорах, загальна продуктивність була катастрофічно низкою, оскільки наступна речовинна операція не могла почати виконуватися до завершення попередньої. А щось міняти в своєму FPU AMD у той час не хотіла, закликаючи розробників до відмови від його використовування на користь 3DNow!. Але, схоже, минулий досвід навчив AMD. В Athlon арифметичний співпроцесор має конвейєр глибиною 15 стадій проти 25 в Pentium III. Не слідує забувати, що, як вже говорилося вище, більш довгий конвейєр не завжди забезпечує кращу продуктивність. До того ж, істотним недоліком Intel Pentium III, якого в Athlon, природно немає, є неконвейерезуємість операцій FMUL і FDIV. FPU в Athlon об'єднує в собі три блоки: один для виконання простих операцій типу складання, другий - для складних операцій типу множення і третій - для операцій з даними. Завдяки такому розділенню роботи Athlon може виконувати одночасно по дві речовинночисельні інструкції. Адже такого не уміє навіть Intel Pentium III - він виконує інструкції тільки послідовно! На перший погляд з виконанням MMX-операцій в Athlon в порівнянні з K6-III змін не відбулося. Проте це не зовсім так. Хоча і MMX-інструкції використовуються в украй невеликому числі додатків, AMD додала в цей набір ще декілька інструкцій, які також з'явилися в MMX-блоці процесора Pentium III. В їх число ввійшли знаходження середнього, максимума і мінімуму і витончені пересилки даних. Якщо звернути увагу на архітектурні особливості, то в AMD Athlon є по два блоки MMX, тому на обох процесорах - і на Athlon, і на Pentium III - може виконуватися одночасно пара MMX-інструкцій. Проте, MMX-блоки в AMD Athlon мають більшу, ніж в Pentium III латентність, що теоретично повинне приводити до відставання цього CPU в MMX-додатках. 3.6.3. 3DNow! Блоку 3DNow! в AMD Athlon торкнулися сильні зміни. Хоча його архітектура і залишилася незмінною - два конвейєри обробляють інструкції, працюючі з 64-бітними регістрами, в яких лежать пари дійсних чисел одинарної точності, в сам набір команд було додано 24 новинки. Нові операції винні не тільки дозволити збільшити швидкість обробки даних, але і дозволити задіювати технологію 3DNow! в таких областях, як розпізнавання звуку і відео, а також інтернет :) Окрім цього, по аналогії з SSE були додані і інструкції для роботи з даними, що знаходяться в кеші. Підтримка оновленого набору 3DNow! вже вбудована в Windows 98 SE і в DirectX 6.2. Таким чином, в набір 3DNow! входять тепер 45 команд, проти 71 інструкції в SSE від Intel. Причому, судячи з усього, використовування нових команд повинне дати ще більший ефект від 3DNow! На доказ цього факту AMD розповсюдила додатковий DLL для відомого тесту 3DMark 99 MAX, залучивший нові можливості процесора. Спеціально для оцінки ефективності процесора в 3D-играх, 3DMark 99 MAX пропонує індекс CPU 3DМark, що прораховує 3D-сцены, але не екран, що не виводить їх. далі
|