Intel Core i7 – архитектурата Nehalem

18 февруари 2009 от admin Коментирай    Изпрати новина (beta)

Nehalem е кодовото Core i7наименование на най-новата процесорна архитектура на Intel. Първите процесори използващи тази архитектура са настолни и излизат на пазара през ноември 2008 година. Мобилни и сървърни Nehalem процесори се очакват през 2009 и 2010 година. Към момента са налични три четириядрени Core i7 процесора, спецификации на които можете да видите тук: Core i7 920, Core i7 940, Core i7 Extreme 965.

В своето развитие Intel използват една стратегия наречена тик – так. Когато създават нов технологичен процес и намаляват размера на транзисторите – това е тик, а когато усъвършенстват производителността и характеристиките на технологията без да променят размера на транзисторите се нарича так. По тази логика Nehalem е настоящия так, а предхождащия го тик е архитектурата Penryn. И Nehalem и Penryn са създадени по 45 нанометров технологичен процес, но това съвсем не означава че няма нововъведения.

Процесорни архитектури на Intel

Архитектура на ядрото при Core i7 (Nehalem)

Първо нека погледнем от какво се състои всяко едно от четирите ядра вградени в чипа на един Core i7 процесор.

Ядро Nehalem

Execution Units

– това е тази част от процесора която извършва самите изчисления и операции. Както и при предходната архитектура (процесорите Core 2), така и тук могат да се изпращат до 6 микрооперации наведнъж. Нововъведение при Core i7 е увеличаването на буферът за микрооперации, където вече могат да се съхраняват до 128 на брой, това е с 33% повече отколкото при Core 2. В този буфер микрооперациите чакат за да бъдат изпълнени.

Level 1 и Level 2 кеш

– около една трета от ядрото е заета от L1 и L2 кеш. Кешът от първо ниво (L1 cache) е с най-малък капацитет и първо се проверява той, ако там не е открита търсената информация се проверява кешът от следващото ниво и така накрая се използва RAM паметта. Колкото по рано е открита информацията толкова по-бързо се изпълнява командата.

Out of order execution engine

– използва се за смяна на реда на командите които постъпват. Това понякога помага за по-бързото им изпълнение, понеже не винаги те са ни нужни в реда в който постъпват.

Instruction decoder

– той прочита следващата команда от паметта и я изпраща на нужното място.

Branch prediction

– тази част се опитва да предскаже следващата команда на базата на предходната. Ако успее това води до по-бързото и изпълнение.

Архитектура на процесора и надграждане

Nehalem un-coreКакто се вижда този процесор е четириядрен (ядрата са Core 0, Core 1, Core 2 и Core 3). Тази година (2009) се очаква да излязат двуядрени Nehalem процесори, предназначени за мобилни компютри и осемядрени, предназначени за сървъри. В бъдеще от Intel смятат да вградят и видеоконтролер в процесора. Нещото което е много удобно при Nehalem е неговото лесно надграждане. За направата на по-слаби или по-мощни модели инженерите на Intel са предвидили просто използването на по-малко или повече на брой ядра. Така вместо да се разработва ново ядро, само се намалява или увеличава броят им.

Кеш и Core i7 (Nehalem)

Nehalem има споделен кеш от трето ниво (L3 cache). Това означава че всички ядра могат да използват информация от едно и също място по едно и също време. Размерът му е доста голям, за четириядрените процесори е 8 MB. Освен това кешът е организиран по такъв начин че информацията складирана в кеша от първо и второ ниво се копира в кеша от трето ниво. Това решение е доста добро при многоядрените процесори понеже ако на едното ядро му е нужна информация която се намира в кеша на друго ядро, то първото ще има достъп до нея чрез L3 кеша (вместо да я търси във всички ядра). Ако някое ядро промени информация в L3 кеша първоначално принадлежаща на кеша на друго ядро, то тази информация се променя автоматично и там.

Според една от статиите в сайта xbitlabs.com и L2 и L3 кеша са с относително ниско закъснение. Те казват още че много по-малкото L3 кеш на AMD Phenom X4 процесорите показва в програмата Sandra 2009 дологоре същото закъснение като при L3 кеша на Nehalem. Но все пак времето за достъп при Phenom било много по-ниско поради доста по-високата честота на кеша при Nehalem.

Nehalem е с вграден контролер на паметта

Докато от AMD вграждат контролерите си от 2003 година насам, то за Intel Nehalem е първата процесорна архитектура в продажба разполагаща с вграден контролер на паметта. Това означава че е разположен в самия процесор (а не в чипсета на дъното). При Nehalem той е триканален и работи с DDR3 памет на максимална честота (поне засега) от 1333 MHz. Тоест за да постигнете максимална пропусквателна способност между RAM паметта и процесора е нужно да използвате поне три отделни платки DDR3 памет, монтирани на правилните DIMM слотове.

Основното преимущество от вградения контролер е намаляване на закъснението при комуникация между RAM и процесора. Въпреки че се използва DDR3 памет, която има по-високо закъснение (но и по-висока честота), то при Core i7 (Nehalem) е по-ниско отколкото при Core 2 архитектурата.

Quick Path Interconnect (QPI) шина

Quick Path Interconnect

С новата архитектура Intel разработва и нов начин за връзка между чипсета и процесора. Това е шината QPI (Quick Path Interconnect).

Настолните Core i7 процесори ще разполагат само с една такава шина, а сървърните с по две – една към чипсета и друга към втория процесор.

QPI се състои от две 20 битови шини, по една във всяка посока, като 16 от тях са даннови. Пропусквателната способност е по 12.8 GB/s във всяка посока, което прави общата стойност 25.6 GB/s. Това е най-бързата шина в света, за сравнение Hyper Transport 3.0 на AMD пропуска 24 GB/s.

Core i7 и Hyper-Threading

Hyper-Threading е наименованието на технологията на Intel за обработка на няколко софтуерни нишки (threads) едновременно. Това не е нова технология, тя е налична и в някои Pentium 4 процесори. Едно ядро на Nehalem може да обработва по 2 нишки, тоест при осемядрен процесор ще се обработват до 16.

За да има ефект от тази технология е нужно и самата програма която обслужва процесора, да е написана така че да може да се възползва от това. Днес вече все повече приложения се възползват от Hyper-Threading.

Power Control Unit (PCU) и Turbo режим

От Intel са създали специален контролер, който да управлява консумацията на енергия от ядрата – Power Control Unit (PCU). Той е доста сложен и се състои от 1 милион транзистора. Основната му задача е да регулира напрежението и честотата на ядрата. Чрез датчици той получава информация за температурата, напрежението и тока на всяко ядро. След това анализира тази информация и решава какви промени да направи по честотата и напрежението. При консумация близка до нулата някои ядра могат да бъдат поставени в дълбок сън.

Този нов контролер позволява разработката и на нова технология наречена Turbo Boost. Turbo Boost ни предоставя Turbo режима.

Nehalem turbo-mode

Когато някои ядра бъдат изключени (преминат в режим на спестяване на ел. енергия) консумираната мощност и отделяната топлина намаляват. Това позволява повишаването на честотите (овърклок) на останалите ядра. Тогава процесорът преминава в Turbo режим. Честотата се вдига с една стъпка (133 MHz). Ако PCU прецени че е допустимо, може и едно от ядрата се овърклокне с две стъпки (266 MHz).

Само ще уточня че Turbo режимът не се активира винаги когато някои от ядрата се изключат. Това става само ако PCU прецени че е допустимо.

Core i7 (Nehalem) и цикли

Цикъл в една програма настъпва когато се повтаря последователност от действия. Тоест командите които постъпват към процесора се повтарят също. Следователно не ни е нужна тази част от него която се опитва да предскаже следващата команда (Branch prediction). Още при Core 2 имаше разпознаване на циклите и изключване на предсказването на командите. Нововъведението тук при Nehalem е че се изключва и устройстовото за разкодиране на микрооперациите (декодера) и че могат да се съхраняват до 28 микрооперации вместо само 18. Микрооперациите се съхранвяват декодирани и затова не ни е нужен декодера.

Виж още по темата:

Вашият коментар