Поглед в процесора – на какво се дължи различната производителност?




Поглед в процесора – на какво се дължи различната производителност?

PCMagazine, Брой 3
Категория: Процесори
Етикети: процесор , AMD , Intel
Добрил Доков
26.3.2008

Поглед в процесора – на какво се дължи различната производителност?

Едва ли има човек, на когото да не се е случвала ситуацията, в която е поставен да избира какъв процесор да си купи. Допреди няколко години нещата около този избор бяха дори още по-сложни, тъй като прякото съпоставяне на отделните модели на AMD и Intel беше невъзможно поради огромните разлики в честотите, на които работеха. Въпреки тези разлики като цяло производителността на моделите от еднакъв клас беше съпоставима и този факт объркваше много хора – което и стана причина за въвеждането на известната PR стратегия на AMD. Макар и да не беше харесвана от много хора, на практика PR рейтингите на процесорите на AMD до известна степен улесни купувачите в избора на нов процесор, тъй като направи възможно съпоставянето на отделните модели. Въпреки това доста често се срещаха „разбирачи“, според които неизмеримо по-високата честота на Intel-ските процесори беше сигурен залог за по-високата производителност. Че това не е така, вече е ясно на всеки – но каква е причината?


В тази статия ще разясним принципните положения около работата на един процесор, архитектурата, по която е построен, както и хитрините, прилагани от производителите с цел повишаване на неговата производителност. Именно благодарение на тези хитрини вече повече от 20 години процесорите не са подложени на по-сериозна промяна, която според предвижданията от миналия век вече трябваше да е наложителна. Преди да пристъпим към разглеждането на тези хитрини и резултатите от тях, нека първо видим какво е най-основното и общо в дизайна на всички х86 (а и не само на тях) процесори, останало непроменено през всички години на тяхното съществуване.



Запознайте се с фон Нюман

Погледнато като цяло, компютърните процесори в момента са изградени с използването на математически модел, разработен преди повече от сто години от математика Джон фон Нюман. В този модел процесорът на системата и паметта, с която той оперира, представляват отделени един от друг модули, като към тях не влиза общата оперативна памет на системата. Първите версии на фон Нюмановата архитектура се използват в появилите се през 70-те и 80-те години електронни устройства и уреди с фиксирана функция (например калкулатори). При този тип уреди процесорът се контролира изцяло от декодиращия модул, като на разположение имаме само няколко фиксирани операции, които можем да извършим с него. Първоначално този модел е неподходящ за употреба в универсалните персонални компютри, тъй като не притежава необходимата гъвкавост за изпълнение на произволни задачи.



Тази ситуация се променя напълно с представянето на концепцията Instruction Set Architecture (ISA), в която чрез стандартен за процесорите набор от инструкции потребителят може да изпълни почти всяка задача. Споделянето на обща ISA е напълно възможно от различните модели процесори, което и може да се онагледи чрез сравняването на моделите Pentium и Athlon съответно на Intel и AMD. Макар и в същината си тези процесори да са различни един от друг, използването на общ ISA набор (в случая дериватив на х86) позволява на процесорите да изпълняват общ и за двата вида софтуерен код.



Един от най-основните недостатъци на фон Нюмановата архитектура се явява „тясното място“ в шината за комуникация между процесора и системната памет, където се съхраняват данните и инструкциите, които следва да се изпълнят. Този проблем е наличен дори до днес, когато тактовата честота, с която работят процесорите, надхвърля няколко пъти скоростта, с която системната памет е способна да достави необходимите им данни. Преодоляването на този проблем представлява предизвикателство за производителите още от самото създаване на персоналните компютри като такива и разграничаването на скоростта на процесора от тази на останалата система.



За заобикалянето на това тясно място в системата дизайнерите на системи започват да използват на кеш памет от първо, второ, а напоследък дори и тре то ниво, функцията „branch-prediction“ (буквално „предсказване на преходите“), удължаване на конвейра, въвеждане на суперскаларност, увеличаване на броя ядра и др.



Още в печатното издание на PC Magazine:


  • Как работи процесорът?

  • Инструкции на конвейeр – NetBurst

  • Суперскаларни процесори

  • Кеш памет

  • Бъдещето