Тестування AMD FX Bulldozer

Як відомо, Intel вже більше п'яти років дотримується стратегії розвитку «Tick-Tock», змінюючи по непарних роках технологічний процес виробництва, а по парних - микроархитектуру. AMD слід зовсім інший політиці, покращуючи свої моделі у міру готовності нових технологій. Так, останнє оновлення мікроархітектури компанія проводила майже чотири роки тому, випустивши CPU Phenom на K10, що освоїла з тих пір три техпроцесу - 65 нм у Agena, 45 нм у Deneb і 32 нм у Llano. Проте, рано чи пізно потенціал будь-якої розробки вичерпує себе і назріває необхідність її радикального оновлення.



І, на відміну від Intel, яка планомірно освіжає свою микроархитектуру кожні два роки, AMD вважає за краще робити це так часто, але вносячи більше змін і поліпшень. Фактично, з моменту появи перших Athlon на К7, було всього два її поновлення, але зате істотних і радикальних - це K8, представлена ​​в 2003 році і стала основою для Athlon 64, і вже згадана K10, в родинах Phenom і Athlon II. Так, згодом компанія нарощувала частоти, кеші і кількість ядер в своїх продуктах, змінювала технологічні процеси, але їх структура, яка є основою і «серцем» цілих сімейств CPU, залишалася непорушною.

Нова мікроархітектура Bulldozer, що дебютує в процесорах AMD FX, істотно відрізняється від минулого - K10, і крім того, не вписується в стратегію попередніх оновлень, коли інженери прагнули виправити їх недоліки і підкреслити достоїнства. Розглядаючи K10, можна було побачити в ній обриси і загальну топологію K8 і K7, а якщо вчинити аналогічно з Sandy Bridge, то і у останньої можна помітити ряд особливостей попередніх Nehalem і Conroe.

А якщо взятися за Bulldozer, відразу кидається в очі, що вона фактично повністю відмінна як від K10, так і від інших х86 сумісних мікроархітектури. На тлі попередників новинка виглядає не менш незвично, ніж літак на тлі вертольота. Розглянемо її докладніше, але відразу обмовлюся, що постараюся пояснити суть і характер змін, які не залазячи в технічні нетрі і тонкощі, оскільки більшості це нудно і нецікаво, а кому необхідно - той і так знає, де знайти потрібну йому інформацію.

Основна відмінність Bulldozer від інших актуальних процесорних мікроархітектури полягає в компонуванні x86 ядер, які тепер попарно розташовані в одному «модулі» і ділять між собою інші ресурси - блок речових обчислень (FPU), кеш другого рівня (L2) і так званий «front end» , про останній буде розказано нижче. Таким чином, кожен модуль нової мікроархітектури є чимось середнім між звичайним двоядерним CPU і процесорним ядром з Hyper-Threading.

У певному сенсі це навіть розвиток ідеї Hyper-Threading, але на відміну від неї, де два потоки «розбивають» таку саму кількість апаратних ресурсів, в модулі Bulldozer'a два потоку частину ресурсів ділять, а частина - отримують в одноосібне користування. Але баланс підібраний грамотно, все «важкі» і «дорогі» (з точки зору транзисторного бюджету) блоки розподіляються між двома ядрами, а самі х86 ядра дублюються, оскільки витрачається на кожне з них всього лише близько 12% загального числа транзисторів в модулі.

З точки зору виконання цілочисельних і адресних операцій кожен модуль являє собою два повноцінних і незалежних ядра, між якими при речових обчисленнях діляться ресурси FPU. Ці ж ядра за фактом і обслуговують FPU, відправляючи йому інструкції на виконання, завантажуючи і вивантажуючи дані, зберігаючи і відставляючи МОПи, оскільки саме до них прив'язані обчислювальні потоки, механізми позачергового виконання команд і кеші даних першого рівня (L1D).



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

Фактично, «front end» являє собою набір логічних пристроїв, що забезпечують підготовку інструкцій для виконання на обчислювальних пристроях. У нього входять блоки передбачення переходів, точність роботи яких впливає на те, як часто буде простоювати CPU в процесі очікування передачі потрібних даних з оперативної пам'яті або кешей, кеш інструкцій першого рівня (L1I) і декодер, який займається «перекладом» х86 інструкцій у зрозумілий для виконавчих пристроїв вид - МОПи.

Зміни, які торкнулися цих блоків, неоднозначні. З одного боку, підвищилася точність прогнозів переходів. При декодуванні з кешу дані зчитуються порціями в 32 байта, як у K10, що добре і вдвічі більше, ніж у Sandy Bridge. Інструкції тепер переробляються чотирма каналами, а не трьома, як у K7-K10. І це одне з найважливіших і довгоочікуваних поліпшень в мікроархітектурі. Але AMD тільки зараз впровадила чотириканальний декодер, в той час як у Intel він з'явився п'ять років тому, в Conroe (Core2). При цьому кеш інструкцій фактично того ж розміру і асоціативності (64 Кбайта, 2-way), що і в K10, куди він перекочував без особливих змін ще з K7.



Також не варто забувати, що тепер і кеш інструкцій, і декодер будуть потрібні не одному, а двом потокам, так що їх можливості можна умовно розділити навпіл при інтенсивній багатопотокової навантаженні. Резюмуючи, можна сказати, що новий «front end» виглядає в чомусь краще, а в чомусь гірше, ніж у попередників, і буде демонструвати свою силу і слабкість в залежності від характеру завдання.

Резюмуючи, можна сказати, що новий «front end» виглядає в чомусь краще, а в чомусь гірше, ніж у попередників, і буде демонструвати свою силу і слабкість в залежності від характеру завдання

Дані блоки, в кількості двох штук на модуль, є якраз тією самою відмітною особливістю Bulldozer'a і дозволяють одному модулю обробляти два потоки інструкцій. По суті, в них зосереджені основні пристрої х86 ядер з механізмом позачергового виконання команд (Out-of-Order Execution), а саме - буфер МОПов, що надійшли з декодера (Sheduler), пристрій відставки виконаних інструкцій (Retire), самі цілочисельні виконавчі пристрої і пристрою генерації адреси (ALU і AGU), по дві штуки на х86 ядро, а також кеш даних першого рівня (L1D) і пристрій завантаження вивантаження (LSU).

Багато в чому, х86 ядро ​​Bulldozer'a нагадує цілочисельний блок K10, але в наявності ряд помітних і неоднозначних змін. По-перше, кількість ALU і AGU скоротилося з трьох до двох, в порівнянні з K10. З одного боку, це падіння пікової теоретичної продуктивності в півтора рази, з іншого, вичавити її на практиці практично неможливо, так що втрата не велика, хоч і є. По-друге, кеш даних став в чотири рази менше, ніж у K10, 16 Кбайт замість 64 Кбайт, але зате його асоціативність виросла з двох шляхів до чотирьох. Так що можна назвати це виправданим розміном обсягу на швидкість.


Ну а LSU став краще в усьому, як номінальна, так і ефективна місткість буферів істотно зросла, а розрядність операцій записи збільшена в два рази. Ну а LSU став краще в усьому, як номінальна, так і ефективна місткість буферів істотно зросла, а розрядність операцій записи збільшена в два рази

Мабуть, один з найбільш важливих блоків процесора - блок речових обчислень, відповідає, як нескладно здогадатися, за виконання операцій з плаваючою комою, а також виконання наборів інструкцій SSE всіх версій, AVX, FMA і окремих команд. Фактично FPU Bulldozer є найпотужнішим і функціональним на сьогодні, і багато в чому саме завдяки йому, AMD сподівається здолати конкуруючі рішення Intel на базі мікроархітектури Sandy Bridge.

Основою FPU Bulldozer є два FMAC пристрої, розрядністю 128-біт кожне. На відміну від K10, де за операції додавання і множення відповідали різні пристрої, ці є універсальними і здатні виконати весь спектр підтримуваних команд. Можна сказати, AMD перейшла від асиметричною схеми виконавчих пристроїв FPU до симетричної. За рівної кількості ресурсів між двома x86 ядрами, кожне може працювати зі своїм FMAC пристроєм.


Єдиним винятком є ​​виконання AVX команд розрядністю 256-біт, в цьому випадку обидва обчислювальних пристрої виконують цю операцію як єдиний блок. Причому варто відзначити, що якщо при AVX операціях 256-бітної розрядності його продуктивність на один такт дорівнює FPU Sandy Bridge, то при зниженні розрядності AVX операцій до 128-біт, темп їх виконання перевищує такий в два рази.

Крім швидкості варто згадати і про функціональність. Як вже було сказано, блок речових обчислень Bulldozer'a підтримує FMA (fused multiply-add - поєднане множення-складання) команди, виду A = B x C + D. Причому результат множення НЕ округляється перед складанням, що позитивно позначається на точності обчислень. У загальному підсумку можна сказати, що FPU за всіма параметрами краще, ніж в попередніх мікроархітектури AMD, і інженери можуть пишатися своєю роботою.

Підсистема кешей також зазнала кілька важливих змін, в порівнянні з K10. Як уже згадувалося, кеш даних першого рівня (L1D) розміняв обсяг на асоціативність, а кеш інструкцій (L1I) залишився фактично без змін. Кеш другого рівня (L2), який раніше одноосібно використовувався одним ядром, тепер є загальним для двох х86 ядер модуля. Крім того, обсяг L2 кеша виріс з 512 Кбайт до 2 Мбайт, в порівнянні з K10. Рівень асоціативності залишився той же, 16-way.

Це означає, що в восьмиядерний, четирехмодульная ЦП з мікроархітектури Bulldozer використовується чотири кеша другого рівня сумарним об'ємом 8 Мбайт. Але, швидше за все, зростання обсягу і необхідність ділити ресурси між двома ядрами також наклали негативний відбиток на час доступу до кешу другого рівня. Кеш третього рівня і контролер пам'яті, подібно K10, працюють на своїй частоті, нижчою, ніж частоти модулів. Для анонсованих процесорів вона становить 2-2.2 ГГц, в залежності від моделі. Це менше, ніж у Sandy Bridge, де інтегрований контролер пам'яті і L3 кеш працюють на частоті ядра. Об'єм кешу третього рівня у Bulldozer, становить тепер 8 Мбайт, а його асоціативність 64-way, що на третину більше, ніж у Deneb (6 Мбайт і 48-way відповідно).


Варто також нагадати, що кеш у процесорів AMD організований по так званій ексклюзивної схемою, коли дані в кешах різних рівнів не дублюються і сумарний обсяг їх усіх можна вважати і ефективним. Підводячи підсумки по кешах, скажу, що зміни в L1 і L2 істотні, але неоднозначні, а L3 виглядає логічним розвитком напрацювань K10.

Контролер пам'яті ЦП AMD FX не зазнав істотних змін, він як і раніше двоканальний, а штатно підтримувана частота модулів пам'яті DDR3 збільшилася до 1866 МГц.

Контролер пам'яті ЦП AMD FX не зазнав істотних змін, він як і раніше двоканальний, а штатно підтримувана частота модулів пам'яті DDR3 збільшилася до 1866 МГц

Технологія автоматичного розгону, що дебютувала в моделях AMD Phenom II X6, була істотно поліпшена і багато в чому схожа на ту, що використовується в лінійці Sandy Bridge. У процесорі з'явився спеціальний блок, який відстежує актуальне споживання CPU і завантаження ядер, і на основі цієї інформації змінює частоти ядер модулів. Якщо споживання ЦП не перевищує TDP, то частоти всіх ядер можуть підніматися понад базові на задане значення.


Наприклад, для AMD FX-8150 частота зростає зі штатних 3.6 ГГц до 3.9 ГГц, для всіх восьми ядер. А коли споживання процесора нижче TDP, а частина ядер при цьому ще й простоює, то частоти навантажених ядер можуть підніматися ще вище, до 4.2 ГГц, у випадку з AMD FX-8150. Справедливості заради варто нагадати, що подібна технологія використовується в AMD Llano, де враховується споживання не тільки ядер CPU, але і інтегрованого графічного процесора.

Що ж можна сказати, підбиваючи підсумки по новій мікроархітектурі? Як вже було показано вище, змін дуже багато, всі вони глибокі і неоднозначні. Немає сумнівів, що Bulldozer - нова мікроархітектура AMD. Це ж означає, що показати вона себе може також дуже неоднозначно, продемонструвавши місцями продуктивність трохи нижче, ніж у K10, а місцями значно більше.

Проте, з точки зору підтримки сучасних наборів команд і технологій автоматичного підвищення частот, орієнтованості на многопоточную навантаження, нова розробка AMD не поступається конкуруючої - Sandy Bridge, а в ряді випадків виглядає навіть вигідніше. І хоча помітно, що у Bulldozer є цілий ряд слабких місць, вони легко можуть бути усунені в майбутньому.

На цьому, мабуть, і буде заснована стратегія компанії на найближчі роки. Bulldozer можна розглядати, як інвестиції в її майбутнє, це скелет наступних мікроархітектури, які будуть обростати «м'ясом», і давати прирости продуктивності. Згідно з поточними планами, AMD буде щорічно, а не раз в декілька років, оновлювати микроархитектуру своїх процесорів, що повинно буде відгукуватися 10-15% приростом продуктивності і зростанням енергоефективності майбутніх рішень.

Згідно з поточними планами, AMD буде щорічно, а не раз в декілька років, оновлювати микроархитектуру своїх процесорів, що повинно буде відгукуватися 10-15% приростом продуктивності і зростанням енергоефективності майбутніх рішень

Окремо хотілося б згадати момент, що стосується розподілу обчислювальних потоків по ядрах. Windows 7 в поточному вигляді позбавлена ​​оптимізації під процесори з мікроархітектури Bulldozer і не здатна правильно розподіляти потоки, що в ряді випадків призводить до втрати продуктивності, оскільки ЦП не може використовувати технології підвищення частот, або ж залежні обчислювальні потоки обмінюються даними через L3, а не більше швидкий L2, оскільки вони виявилися прив'язані до ядер різних модулів.

Windows 7 в поточному вигляді позбавлена ​​оптимізації під процесори з мікроархітектури Bulldozer і не здатна правильно розподіляти потоки, що в ряді випадків призводить до втрати продуктивності, оскільки ЦП не може використовувати технології підвищення частот, або ж залежні обчислювальні потоки обмінюються даними через L3, а не більше швидкий L2, оскільки вони виявилися прив'язані до ядер різних модулів

AMD в своїх матеріалах вказує, що планувальник Windows 8 вже вміє правильно працювати з Bulldozer і перевага в продуктивності над Windows 7 здатне досягати в окремих випадках до 10%, що, погодьтеся, немало. Втім, можливо Microsoft випустить патч на «сімку», який навчить і цю популярну операційну систему правильно розподіляти потоки для нових процесорів AMD.

Втім, можливо Microsoft випустить патч на «сімку», який навчить і цю популярну операційну систему правильно розподіляти потоки для нових процесорів AMD


Тепер саме час закінчити з теорією і подивитися, чим же може порадувати новий флагман AMD на практиці.

Тепер саме час закінчити з теорією і подивитися, чим же може порадувати новий флагман AMD на практиці

Швидкість роботи зв'язки «процесор-чіпсет-пам'ять» оцінювалася наступними додатками:

  • Cinebench 10;
  • Cinebench 11.5;
  • Pov-Ray All CPU Total seconds;
  • TrueCrypt Serpent-Twofish-AES;
  • wPrime 2.00;
  • x264 v3 (застаріла версія, без агресивних оптимізацій під багатопоточність);
  • x264 v4 (нова версія, добре оптимізована під багатопоточність з новими кодеками);
  • WinRAR;
  • Photoshop CS5 x64 (застосування послідовності з декількох десятків фільтрів);
  • Autodesk Revit Architecture 2012 (візуалізація 3D-креслення будинку).

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

материнська
плата NB чіпсет Частота
пам'яті Кількість
ядер Частота
шини Множник Турбо назва процесора
/ Режим ASUS Crosshair V 2200 FX990 1333 8 200 21 4200 МГц FX 8150
3600 МГц MSI 990FXA-GD80 2000 FX990 1333 6 200 16.5-18.5 3700 МГц Phenom II 1100
3300 МГц MSI 990FXA-GD80 2000 FX990 тисячі триста тридцять три 4 200 18.5 - Phenom II 980
3700 МГц MSI 990FXA-GD80 2000 FX990 тисячі триста тридцять три 4 200 15.5 - Athlon II 645
3100 МГц MSI A75MA-G55 - A75 1 333 4 100 29 - A8 3850
2900 МГц MSI A75MA-G55 - A75 1333 4 100 24-27 2700 МГц A8 3800
2400 МГц MSI A75MA-G55 - A75 1 333 4 100 26 - A6 3650
2600 МГц MSI A75MA-G55 - A75 1333 3 100 21-24 2400 МГц A6 3500
2100 МГц MSI A75MA-G55 - A75 1 333 2 100 27 - A4 3400
2700 МГц MSI Z68A-GD80 - Z68 1333 4 100 34-38 3800 МГц i7 2600K
3400 МГц MSI Z68A-GD80 - Z68 1333 4 100 33-37 3700 МГц i5 2500
3300 МГц MSI Z68A-GD80 - Z68 1333 4 100 31-34 3400 МГц i5 2400
3100 МГц ASUS P6X58D 2667 X58 1333 4 133 23 3060 МГц i7 930
2800 МГц MSI Z68A-GD80 - Z68 1 333 2 100 31 - i3 2100
3100 МГц ASUS Crosshair V 2200 FX990 1866 8 200 21 4200 МГц FX 8150
3600 МГц 1866 MSI A75MA-G55 - A75 1866 4 100 29 - A8 3850
2900 МГц 1866 MSI A75MA-G55 - A75 1866 4 100 24-27 2700 МГц A8 3800
2400 МГц 1866 MSI A75MA-G55 - A75 1866 4 100 26 - A6 3650
2600 МГц 1866 MSI A75MA-G55 - A75 1866 3 100 21-24 2400 МГц A6 3500
2100 МГц 1866 MSI A75MA-G55 - A75 1866 2 100 27 - A4 3400
2700 МГц 1866 MSI Z68A-GD80 - Z68 1866 4 100 34-38 3800 МГц i7 2600K
3400 МГц 1866 MSI Z68A-GD80 - Z68 1866 4 100 33-37 3700 МГц i5 2500
3300 МГц 1866 ASUS Crosshair V 2200 FX990 1866 8 200 22.5 - FX 8150
4500 МГц MSI 990FXA-GD80 2380 FX990 1820 6 340 12.5 - Phenom II 1100
4250 МГц MSI 990FXA-GD80 2400 FX990 1600 6 200 21 - Phenom II 1100
4200 МГц MSI 990FXA-GD80 2400 FX990 1600 4 200 22.5 - Phenom II 980
4500 МГц MSI 990FXA-GD80 2240 FX990 1500 4 280 16 - Phenom II 980
4480 МГц MSI A75MA-G55 - A75 2000 4 150 29 - A8 3850
4350 МГц MSI A75MA-G55 - A75 2040 4 153 27 - A8 3800
4133 МГц MSI A75MA-G55 - A75 1900 4 142 26 - A6 3650
3700 МГц MSI A75MA-G55 - A75 1900 3 142 24 - A6 3500
3400 МГц MSI A75MA-G55 - A75 2050 2 154 27 - A4 3400
4160 МГц MSI 990FXA-GD80 2170 FX990 1650 4 310 12 - Athlon II 645
3720 МГц MSI Z68A-GD80 - Z68 1866 4 100 48 5000 МГц i7 2600K
5000 МГц MSI Z68A-GD80 - Z68 1866 4 100 45 - i7 2600K
4500 МГц ASUS P6X58D 3200 X58 1600 4 200 21 - i7 930
4200 МГц материнська   плата NB чіпсет Частота   пам'яті Кількість   ядер Частота   шини Множник Турбо назва процесора   / Режим ASUS Crosshair V 2200 FX990 1333 8 200 21 4200 МГц FX 8150   3600 МГц MSI 990FXA-GD80 2000 FX990 1333 6 200 16

  • Оперативна пам'ять: обсяг 8 Гбайт, (2х4). Таймінги 9-9-9-24-2Т, частота від 1333 МГц до 2050 МГц, в залежності від налаштувань і умов тестування;
  • Відеокарта: AMD HD 6790;
  • Жорсткий диск: SSD Crucial М4 128 Гбайт;
  • Блок живлення: Tagan TG1100-U95 1100 Вт;
  • Операційна система: Microsoft Windows 7 x64 Sp1.

І три режими тестування:
1. Номінальні частоти процесора, пам'ять 1333 МГц.
2. Номінальні частоти процесора, пам'ять 1866 МГц.
3. Розгін, пам'ять працює на різній частоті в залежності від множника.

Розгін, пам'ять працює на різній частоті в залежності від множника

За початкову точку відліку було взято конфігурація, що складається з материнської плати на чіпсеті 990FX, ЦП AMD FX 8150, і пам'яті, що працює на частоті 1333 МГц, з таймингами 9-9-9-24-2Т.

налаштування:

  • Монопоток і багато-тест.
  • Профіль CPU.

Номінальний режим: Performance 1 CPU |Multi CPU

Увімкніть JavaScript, щоб бачити графіки

Тест, який використовує як одне, так і всі ядра, показує не найкращий стан справ у новачка, який відчуває себе не в своїй тарілці, якщо навантаження припадає тільки на одне ядро. Як тільки програма задіює всі ядра, ситуація значно змінюється, і він стає прямим конкурентом Intel i5-2500. Втім, AMD саме так і позиціонує свій ЦП з індексом 8150. А порівнюючи продуктивність FX з i7-930, можна переконатися в перевазі першого над другим.


Пам'ять на частоті 1866 МГц: Performance 1 CPU |Multi CPU

Увімкніть JavaScript, щоб бачити графіки

Розігнана пам'ять мало позначається на продуктивності будь-якого сучасного процесора AMD, тому бігти в магазин і обзаводитися високочастотними модулями зовсім не потрібно.


Overclocking: Performance 1 CPU |Multi CPU

Увімкніть JavaScript, щоб Бачити графіки

FX 8150 поки що слабо вивчений, і розгін супроводжується труднощами взаєморозуміння материнської плати і процесора. За температур було видно, що Bulldozer здатний працювати на більшій частоті, але інші множники не долучилися. Вважаю, з часом виробники ще неодноразово оновлять BIOS, перш ніж налагодиться дружба комплектуючих. Проте, 4.5 Ггц непогана цифра, і завдяки такому розгону новачок в багатопотоковому тесті впевнено випереджає практично всі процесори Intel, за винятком розігнаного i7-2600K.

Найменування 1 CPU% xCPU% Середнє FX 8150 3600 МГц 0 0 0 Phenom II 1100 3300 МГц 2 -9 -4 Phenom II 980 3700 МГц 5 -26 -11 Athlon II 645 3100 МГц -20 -46 -33 A8 3850 2900 МГц - 18 -42 -30 A8 3800 2400 МГц -28 -51 -40 A6 3650 2600 МГц -27 -47 -37 A6 3500 2100 МГц -37 -66 -51 A4 3400 2700 МГц -28 -72 -50 i7 2600K 3400 МГц 52 12 32 i5 2500 3300 МГц 49 1 25 i5 2400 3100 МГц 34 -7 14 i7 930 2800 МГц 8 -15 -4 i3 2100 3100 МГц 23 -46 -11 FX 8150 3600 МГц 1866 0 1 0 A8 3850 2900 МГц 1866 -17 -40 -28 A8 3800 2400 МГц 1866 -27 -48 -37 A6 3650 2600 МГц 1866 -24 -46 -35 A6 3500 2100 МГц 1866 -36 -65 -50 A4 3400 2700 МГц 1866 -26 -72 -49 i7 2600K 3400 МГц 1866 52 16 34 i5 2500 3300 МГц 1866 50 1 25 FX 8150 4500 МГц 10 23 16 Phenom II 1100 4250 МГц 20 14 17 Phenom II 1100 4200 МГц 19 14 16 Phenom II 980 4500 МГц 27 -11 8 Phenom II 980 4480 МГц 26 -11 8 A8 3850 4350 МГц 23 -12 6 A8 3800 4133 МГц 17 -17 0 A6 3650 3700 МГц 6 -25 -10 A6 3500 3400 МГц -1 -49 -25 A4 3400 4160 МГц 13 -56 -22 Athlon II 645 3720 МГц -4 -34 -19 i7 2600K 5000 МГц 106 52 79 i7 2600K 4500 МГц 83 46 64 i7 930 4200 МГц 49 18 34

Що ж можна сказати, підбиваючи підсумки по новій мікроархітектурі?

Дополнительная информация

rss
Карта