Надпреварата за най-висока производителност сред процесорите ще бъде спечелена от онези производители, които намерят оптималния баланс между честотата, броя на ядрата и технологиите, с които разполагат, за да ги постигнат. Усвояването на 90- и 65-нанометрови процеси доведе до реализирането на повече от едно ядро на кристал, благодарение на по-ниското топлоотделяне и намаляването на размера на ядрата, така че днес се появяват и все повече четириядрени процесори. По интересно е, обаче, доколко софтуерът е оптимизиран за работа с две или четири ядра.
В идеалния случай, за програмите, оптимизирани за работа с множество нишки, дават възможност на операционната система да разпредели потоците между свободните ядра, независимо дали те са разположени на един чип, или става дума за множество процесори с едно или повече ядра. Добавянето на повече ядра увеличава производителността много по-чувствително, отколкото повишаването на работната честота на ядрата. В това има логика: очевидно, ако имате повече работници, те почти винаги ще свършат работата по-бързо, отколкото, ако имате по-бързи, но по-малко работници.
Дали, обаче, нещата стоят по същия начин, ако имате четири или повече работници (ядра) на процесор? В този случай може да се окаже, че просто нямате достатъчно работа, за да използвате всички едновременно. Друга тънкост е разпределянето на натоварването между отделните работници, което означава, че физическият интерфейс - HyperTransport (AMD) или Front Side Bus (Intel) – в някои случаи може да бъде спънка за реализирането на пълната мощ на процесора. Друго ограничение е механизмът, според който се разпределя натоварването или логиката на диспечеризиращата програма на операционната система.
При AMD преминаването от едно на две ядра премина почти безпроблемно от технологична гледна точка, тъй като техните процесори не работеха в критични температурни режими, за разлика от Intel Pentium 4. Така се оказахме с Athlon X2, които бяха скъпи, но с прилично топлоотдаване и Pentium D 8xx, които бяха изключително горещи. След преминаването към 65-nm процес и конкретно Core 2, везните се обърнаха в полза на Intel. Поради ниското TDP от Intel успяха да пакетират два Core 2 Duo процесора в общ корпус, от което се роди фамилията Core 2 Quad. Първите native четириядрени процесори Phenom X4 на AMD ще се появят до края на годината.
Целта на този материал е да сравним Core 2 Duo система с четири, две и едно ядро и ще изследваме доколко каква е зависимостта между производителността и броя на ядрата, за да отговорим на въпроса дали е оправдана покупката на четириядрен процесор днес.
[pagebreak]
Многоядрените архитектури
Едноядрени
Терминът „едноядрен” се отнася до процесор с един изчислителен модул на кристал. Такива са фактически всички CPU-та от ранните 8086 до Athlon 64 и Intel Pentium 4. Докато технологичният процес бе усъвършенстван достатъчно, за да позволи реализирането на два изчислителни блока на кристал, повишаването на производителността ставаше за сметка на намаляване на работното напрежение, увеличаване на честотата, добавяне на специализирани функционални блокове и увеличаване на размера на кеша.
Повишаването на честотата на едноядрен процесор повишава производителността, ако работите с едно единствено приложение, но такъв процесор работи само с по една задача (нишка) в даден момент. Идеята за HyperThreading на Intel, която емулира множество виртуални ядра под управление на операционната система, дойде именно за повишаване на паралелизма при изпълнение, особено критичен при дългите конвейри на Pentium 4 и Pentium D. Въпреки, че по този начин производителността не се повиши кой знае с колко, по-важно бе адаптирането на машината към многозадачна работа, защото вече можехте да правите и нещо друго при солидно натоварена система.
След значителното понижаване на цените на двуядрените процесори определено ги препоръчваме пред едноядрените, освен ако не гоните още по-ниска цена или не изграждате специализирана нискоконсуматинвна машина.
С две ядра удвоявате изчислителната мощ, но само, ако приложенията ви са оптимизирани за многонишково изпълнение. Професионалните приложения и програмите, извършващи тежки изчисления обикновено са такива. Да имате двуядрен процесор е много резонно и от гледан точка на множеството разнообразни задачи, за които се използва съвременния компютър едновременно – работите с пощенски клиент, сърфирате в Мрежата и работите с офис документи и електронни таблици. Освен това, доста от масовите двуядреници не харчат много повече от едноядрените си аналози, освен, ако не става дума за специализирани енергийно ефективни модели. Както вече подчертахме, допълнителното ядро не само повишава производителността, но и използваемостта на машината при по-тежки натоварвания.
Да ви се е налагало да чакате докато WinRAR или WinZIP компресират или разархивират файловете? На едноядрена машина едва ли ще свършите нещо повече от това да прехвърляте между прозорците на отделните приложения. Дори и единственото друго нещо, което правите е да просвирвате DVD, филмът ще насича или дори ще спре, когато другата задача генерира потоци данни с тежки изчисления. С двуядрения процесор многозадачната работа върви далеч по-гладко.
Двуядрениците на AMD имат две пълноценни ядра със съответния кеш , вграден контролер на паметта на всяко от тях, както и crossbar, който управлява достъпа до паметта и шината HyperTransport. Intel направи същото в първите Pentium D – постави две Pentium 4 кристала в общ корпус. При тях, обаче, контролерът на паметта се намира в северния мост на чипсета, ето защо системната шина се използва както за комуникация между ядрата, така и за достъп до паметта и в края на краищата производителността страда от това. Ядрата на Core 2 Duo процесорите са оптимизирани и осигуряват по-висока производителност при по-ниски честоти и по-ниска консумация. Те имат споделена кеш памет от второ ниво, което значи, че двете ядра обменят данни, без последните да минават през системната шина.
[pagebreak]
Две или четири ядра
Докато практиката при двуядрените процесори потвърждава теорията, при четирите ядра ползата е спорна и опира до конкретно използваните приложения. Една от причините за това е, че не е чак толкова голям процентът на програмите, оптимизирани за многонишково изпълнение, други пък са свързани със самата архитектура. Въпреки, че AMD се отнасят снизходително и донякъде иронично към „сглобяването” на четириядрен процесор от две Core 2 Duo ядра, истината е, че този подход сработва доста добре за Intel от гледна точка на бизнес модела им, а освен това четирите ядра работят съвсем адекватно. Също така, от производствена гледна точка, пакетирането на кристали с по две ядра понижава брака и така на пазара може да се предложи по-евтин продукт. От гледна точка на максималната производителността, обаче, възникват допълнителни ограничения – двете ядра комуникират през системната шина, а освен това при този подход е по-трудно да се контролира работата на отделните ядра, разположени в различни силициеви кристали. Последното има значение за постигане на максимална икономия на енергия и регулирането на честотата за всяко ядро съобразно изискванията на конкретното приложение.
В чист вид четириядрения модел предвижда изграждането на четирите ядра и кеша им на един единствен кристал. Много важно е да се добави кеш памет, достъпна за всички ядра. Oт AMD запазват по 512 kB L2 за всяко от ядрата и добавят споделена кеш от трето ниво. Предимството на тази архитектура е възможността напълно да се изключат дадени ядра и да се ускорят други за постигане на максимална производителност при еднонишкови задачи. Intel също поемат по този път, но това ще стане едва през 2008-ма година с Nehalem.
[pagebreak]
Изводи
Има значителни разлики в производителността на Core 2 процесори с едно, две или четири ядра. Игри като Quake IV, Prey или Call of Duty 2 не са оптимизирани за работа с повече от едно ядро. Колкото по-ново е заглавието, обаче, толкова по-голяма е вероятността да попаднете на игра, която все пак се възползва от възможностите за паралелна обработка. Понастоящем, обаче, две ядра на по-висока честота спрямо четири на по-ниска са най-добрият вариант за геймърите.
Професионални приложения като 3DStudio Max, Cinebench или Mainconcept H.264 кодерът пък – точно обратното, още тук и сега напълно оползотворяват потенциала на двуядрените и четириядрените процесори. Повишението на производителността при тях е почти правопропорционално спрямо броя на ядрата.
В SYSmark 2007 Preview скалируемостта не резултатите силно зависи от конкретния подтест - 3D и video creation модулите определено работят добре с повече ядра.
Аудио и видео кодирането явно са оползотворяват две ядра, но не и четири. И накрая, резултатите в синтетичните тестове 3DMark06 и PCMark05 са линейно зависими от броя на ядрата.
Можем да обобщим, че сегашното поколение четириядрени процесори на Intel осигуряват солиден запас резервна мощност, но все още приложенията, които могат да я реализират. Следователно когато става дума за двуядрен модел и неговия аналог с четири ядра при равни честоти, прирастът в производителността не си струва разликата в цената, така че двете ядра са за предпочитане.
Завършваме с оптимистична прогноза. Вярваме, че с появата на AMD Phenom Х4 в края на годината и Intel Core 2 Duo E8000 и Core 2 Quad Q9000 Penryn, ще видим раздвижване в един от най-скучните сегменти на процесорния пазар.
Източник: IDG.BG
* Моля, коментирайте конкретната статия и използвайте кирилица! Не се толерират мнения с обидно или нецензурно съдържание, на верска или етническа основа, както и написани само с главни букви!