Направо към съдържанието

Хипернишкова технология

от Уикипедия, свободната енциклопедия
Схема на хипернишкова технология: инструкциите се извличат от оперативната памет (с разноцветните правоъгълници са означени инструкциите от четири различни програми), декодират се и се пренареждат (с белите правоъгълници е означено изчакване), и се пращат към ядрото, което може да изпълнява инструкции от различни програми в един и същ такт.[1][2][3]

Хипернишковата технология (на английски: hyper-threading, HTT) е патентована технология на Intel за осъществяване на многонишковост с цел едновременно изпълнение на няколко задачи в x86 микропроцесорите. Появява се за първи път през февруари 2002 г. на сървърни процесори Xeon и през ноември 2002 г. на Pentium 4 десктоп процесори.[4] По-късно, корпорацията Intel включва тази технология в Itanium, Atom и Intel Core процесорите.

За всяко физическо процесорно ядро операционната система генерира две виртуални (логически) ядра и споделя натоварването между тях, когато това е възможно. Основната цел на технологията HTT е увеличаване на броя на независими инструкции в изчислителния конвейер; тя се възползва от суперскаларната архитектура, в която по едни и същи данни могат да работят паралелно няколко команди. С HTT едно физическо ядро изглежда за операционната система като два процесора, което позволява да се планират едновременната работа на два процеса. Освен това, два или повече процеса могат да използват едни и същи ресурси. Това позволява да се увеличи производителността на процесора. Принципът на технологията накратко е да се прехвърли полезна работа към бездействащи устройства.

HTT може да бъде правилно използвана само от специално оптимизирана за целта операционна система, която поддържа многонишковост.[5] Освен това, Intel corporation препоръчва HTT да бъде изключвана, когато операционната система не е предвидена за тази хардуерна функция.

Преглед[редактиране | редактиране на кода]

3 GHz модел на Intel Pentium 4 процесор, който включва технологията за Хипер-поточност[6]

Хипер-поточност технологията, е форма на едновременна многопоточна технология, внедрена от компанията Intel, а идеята зад технологията е патентована от компанията „Сън майкросистемз“. Архитектурно, процесор с хипер-поточност технология се състои от два логически процесора на всяко ядро, всеки от които има собствен процесорно архитектурно състояние. Всеки логически процесор може да бъде индивидуално спиран, прекъсван или пренасочени за изпълнението на определен поток, независимо от други логически процесори, които споделят едни и същи физически ядра.[7]

За разлика от традиционната двупроцесорна конфигурация, която използва два отделни физически процесори, логическите процесори в многонишковите ядра споделят ресурсите за изпълнение. Тези ресурси включват изпълнение на двигателя, кеш памет и системна шина интерфейс; съвместното използване на ресурси, позволява на два логически процесора да работят помежду си по-ефективно, и позволява на логически процесор да заема ресурси от спрени логически ядра (ако приемем, че и двете логически ядра са свързани с една и съща физическо ядро). Процесор спира, когато той очаква данни които е поискал за да може да довърши обработването на сегашната нишка. Степента на ползите виждани при използване на хипер-поточни или многоядрени процесори зависи от нуждите на софтуера, и колко добре той и операционната система са написани за управление на процесора ефективно.

Технологията Hyper-Threading работи чрез дублиране на отделни дялове на процесора—тези които съхраняват архитектурното състояние—но не дублира основните ресурси. Това позволява Hyper-Threading technology процесор, да изглежда като обикновен „физически“ процесор и допълнителен „логически“ процесор за операционната система, което позволява на операционната система, да планира две нишки или процеси едновременно и по подходящ начин.

Посочените характеристики[редактиране | редактиране на кода]

Според Intel, първата многопоточна имплементация използва само 5% по-голяма площ на кристала от обикновен процесор, но изпълнението е 15 – 30% по-добро.[8][9] Intel също твърди, че има до 30% увеличение на производителността в сравнение с идентични, без-едновременно многопоточни процесори Pentium 4, а също така и значително подобрение на производителността при многопоточно-поддържащ Pentium 4 процесор в някои алгоритми за изкуствен интелект.

Подобренията на работата са много зависими от приложенията.[10] При започване на две програми, които изискват специално внимание от страна на процесора, може да изглежда, че една от двете програми се забавя малко, когато технологията за многопоточност е включена.[11] това се дължи на система за възпроизвеждане на типа на Pentium 4 заемаща ценни ресурси, уравновесявайки ресурсите на процесора между двете програми, което добавя различно време на работа. Pentium 4 „Prescott“ и Xeon „Nocona“ процесори са получили опашка, която намалява времето на изпълнение нужно за системата за възпроизвеждане и напълно превъзмогва загубата на производителност.[12]

Недостатъци[редактиране | редактиране на кода]

Когато първите HT процесори излизат на пазара, много операционни системи не са оптимизирани за използване на технологията hyper-threading (например, Windows 2000 и Linux кернел под 2.4).[13]

През 2006 г. технологията е критикувана за нерационално използване на енергията.[14] Intel оспорват това твърдение, заявявайки че hyper-threading е много ефективен, тъй като използва ресурси, които иначе биха могли да бъдат напълно неизползвани.

Сигурност[редактиране | редактиране на кода]

През май 2005 г., Колин Пърсивал показва, че злонамерена нишка на Pentium 4 може да използва синхронизирана атака, за да нагледа схема за достъп на памет на друга нишка, с която тя споделя кеш памет, позволявайки кражба на криптографска информация. Възможните решения на този проблем включват това процесорът да променя стратегията си за кеш изчистване или операционната система да предотвратява едновременното изпълнение на потоци с различни права от едно и също физическо ядро.[15]

Източници[редактиране | редактиране на кода]

  1. Jon Stokes. Introduction to Multithreading, Superthreading and Hyperthreading // Ars Technica, 3 октомври 2002. с. 2 – 3. Посетен на 30 септември 2015.
  2. Hyper-Threading Technology Architecture and Microarchitecture (PDF) // 12 декември 2006. Посетен на 30 септември 2015.
  3. Anand Lal Shimpi. The Haswell Front End – Intel's Haswell Architecture Analyzed // AnandTech, 5 октомври 2012. Посетен на 30 септември 2015.
  4. Intel Pentium 4 3.06GHz CPU with Hyper-Threading Technology: Killing Two Birds with a Stone... // X-bit labs. Архивиран от оригинала на 2014-05-31. Посетен на 4 юни 2014.
  5. Intel Required Components Interchangeability List for the Intel Pentium 4 Processor with HT Technology, включва списък с ОС с оптимизация за HTT: Windows XP Professional 64, Windows XP MCE, Windows XP Home, Windows XP Professional, някои версии на Linux като COSIX Linux 4.0, RedHat Linux 9 (Professional и Personal), RedFlag Linux Desktop 4.0 и SuSe Linux 8.2 (Professional и Personal)
  6. Intel Processor Spec Finder: SL6WK
  7. Michael E. Thomadakis. The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms (PDF) // Texas A&M University, 17 март 2011. с. 23. Архивиран от оригинала на 2014-08-11. Посетен на 21 март 2014.
  8. www.intel.com, архив на оригинала от 19 октомври 2012, https://web.archive.org/web/20121019025809/http://www.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf, посетен на 19 октомври 2012 
  9. How to Determine the Effectiveness of Hyper-Threading Technology with an Application
  10. Joel Hruska. Maximized performance: Comparing the effects of Hyper-Threading, software updates // 24 юли 2012. Посетен на 2 март 2015.
  11. CPU performance evaluation Pentium 4 2.8 and 3.0 // Архивиран от оригинала на 2021-02-24. Посетен на 2017-01-25.
  12. Replay: Unknown Features of the NetBurst Core. Page 15 // Replay: Unknown Features of the NetBurst Core. www.xbitlabs.com. Архивиран от оригинала на 2011-05-14. Посетен на 24 април 2011.
  13. Hyper-Threading Technology – Operating systems that include optimizations for Hyper-Threading Technology // Intel.com, 19 септември 2011. Посетен на 29 февруари 2012.
  14. Sustainable Practices: Concepts, Methodologies, Tools and Applications. Information Resources Management Association. ISBN 9781466648524. с. 666.
  15. Colin Percival. Cache Missing for Fun and Profit // 14 май 2005. Посетен на 14 юни 2016.

Външни препратки[редактиране | редактиране на кода]

  Тази страница частично или изцяло представлява превод на страницата Hyper-threading в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​