Едноядрени процесори - компютърни науки, програмиране

2. Едноядрени процесори

Нека ги разгледаме на примера на процесор Intel Pentium 1.

Основните разлики от процесора 486:

а) Суперскаларна архитектура. Поради използването на суперскаларна архитектура, процесорът може да изпълнява 2 инструкции за цикъл на часовника. Тази възможност съществува поради наличието на два тръбопровода - u- и v-. u-pipeline - основният, изпълнява всички операции върху цели числа и реални числа; V-тръбопроводът е спомагателен, той изпълнява само прости операции върху цели числа и частично върху реални. За да могат старите програми (за 486) да се възползват в пълна степен от възможностите на такава архитектура, беше необходимо да ги рекомпилираме. Pentium е първият CISC процесор, който използва многоконвейерна архитектура.

б) 64-битова шина за данни. Позволява на процесора Pentium да обменя два пъти повече данни с RAM в един цикъл на шината от 486 (при същата тактова честота).

г) Отделно кеширане на програмен код и данни. Процесорите на Pentium използват 16 KB L1 кеш, разделен на 2 сегмента: 8 KB за данни и 8 KB за инструкции. Това подобрява производителността и позволява двойното кеширане да бъде достъпно по-често от преди. Освен това механизмът за кеширане е променен.

д) Подобрена единица с плаваща запетая (FPU).

е) Симетрична многопроцесорна обработка (SMP).

3. Преминаване към двуядрени процесори

компютърни

Фигура 2 - микрофотография на един от първите двуядрени процесори

компютърен процесор едноядрен двуядрен

Преходът към двуядрена архитектура се дължи на факта, че традиционните методи за повишаване на производителността практически са се изчерпали. Поради редица технологични проблеми, скоростта на нарастване на тактовите честоти се забави значително напоследък. Например, през последната година преди появата на двуядрени процесори, Intel успя да увеличи честотите на своите процесори само с 400 MHz, докато конкурентите от AMD ускориха само с 200 MHz. Както можете да видите, увеличаването на тактовите честоти не е лесно. А други методи, като увеличаване на скоростта на шината и размера на кеш паметта, не дават забележимо увеличение на производителността.

Следователно е ясно защо въвеждането на двуядрени процесори се оказа най-логичната стъпка по пътя към нови върхове на производителност и бележи началото на нова ера в развитието на процесорния пазар.

Какво представлява двуядрен процесор? На пръв поглед това са само два процесора, комбинирани в общ случай. Но това не е толкова просто. Първо, трябва да правите разлика между термините „процесор“ и „ядро на процесора“. Второ, има проблемът със споделените ресурси, които трябва да се споделят между двете ядра. Ако погледнем от гледна точка на софтуера, тогава системата разглежда двуядрения процесор като два независими. Ясно е, че двуядрен процесор е способен да изпълнява едновременно два потока от инструкции, докато конвенционалният процесор извършва изчисления строго на свой ред. Преди това вече беше направен опит за отделяне на изпълнените инструкции - говорим за технологията Intel Hyper-Threading. Ето само два „виртуални“ процесора в почти всичко споделят ресурсите на един „физически“ процесор (кешове, конвейер, изпълнителни устройства). Почти всички ресурси са споделени - и ако те вече са заети от една от работещите нишки, тогава втората ще трябва да изчака освобождаването им.