Свръхвисокочестотният

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

Повечето суперскаларни процесори също са конвейерни, но е възможно да има неконвейерен суперскаларен процесор или конвейерен несуперскаларен процесор.

Суперскаларната техника се поддържа от няколко характеристики на процесорното ядро:

  1. Инструкциите са от подреден списък с инструкции.
  2. Хардуерът на процесора може да определи кои инструкции имат зависимости от данни.
  3. Може да чете няколко инструкции за един тактов цикъл

Всяка инструкция, изпълнена от скаларен процесор, променя един или два елемента от данни едновременно, но всяка инструкция, изпълнена от векторен процесор, обработва много елементи от данни едновременно. Свръхскаларният процесор е смесица от двете:

  1. Всяка инструкция обработва един елемент от данни.
  2. Във всяко процесорно ядро има множество дублиращи се функционални единици, така че множество инструкции да обработват независими елементи от данни едновременно.

В суперскаларния процесор диспечер на инструкции чете инструкции от паметта и решава кои от тях могат да се изпълняват паралелно, като ги изпраща на множеството дублиращи се функционални единици, налични в процесора.

Проектирането на суперскаларни процесори се занимава с подобряване на точността на диспечера на инструкции и му позволява да държи многобройните функционални единици заети по всяко време. От 2008 г. всички процесори с общо предназначение са суперскаларни, като типичният суперскаларен процесор може да включва до 4 ALU, 2 FPU и две SIMD единици. Ако диспечерът не може да държи всички звена заети, производителността на процесора ще бъде по-ниска.

Процесорна платка на паралелен компютър CRAY T3e с четири суперскаларни процесора AlphaZoom
Процесорна платка на паралелен компютър CRAY T3e с четири суперскаларни процесора Alpha

Обикновен суперскаларен конвейер. Чрез извличане и изпращане на две инструкции едновременно могат да бъдат изпълнени максимум две инструкции на цикъл.Zoom
Обикновен суперскаларен конвейер. Чрез извличане и изпращане на две инструкции едновременно могат да бъдат изпълнени максимум две инструкции на цикъл.

Ограничения

Подобряването на производителността при проектирането на суперскаларни процесори е ограничено от две неща:

  1. Нивото на вграден паралелизъм в списъка с инструкции
  2. Сложността и времевите разходи на диспечера и проверката на зависимостта на данните.

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

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

Алтернативи

  • Едновременна многонишковост: често съкращавана като SMT, е техника за подобряване на общата скорост на суперскаларните процесори. SMT позволява множество независими нишки на изпълнение, за да се използват по-добре ресурсите, налични в един съвременен суперскаларен процесор.
  • Многоядрени процесори: суперскаларните процесори се различават от многоядрените процесори по това, че множеството излишни функционални единици не са цели процесори. Един суперскаларен процесор се състои от усъвършенствани функционални единици, като ALU, умножител на цели числа, шифър на цели числа, блок за плаваща запетая (FPU) и др. Може да има няколко версии на всяка функционална единица, за да се даде възможност за паралелно изпълнение на много инструкции. Това се различава от многоядрените процесори, които обработват едновременно инструкции от няколко нишки, по една нишка на ядро.
  • Процесори с конвейерно свързване: суперскаларните процесори също се различават от процесорите с конвейерно свързване, при които множество инструкции могат да бъдат едновременно на различни етапи на изпълнение.

Различните алтернативни техники не се изключват взаимно - те могат да се комбинират (и често се комбинират) в един процесор, така че е възможно да се проектира многоядрен процесор, в който всяко ядро е независим процесор с множество паралелни суперскаларни конвейери. Някои многоядрени процесори включват и векторни възможности.

Свързани страници

Въпроси и отговори

В: Какво представлява свръхскаларната технология?


О: Свръхскаларната технология е форма на основни паралелни изчисления, която позволява обработката на повече от една инструкция за всеки тактов цикъл чрез използване на няколко единици за изпълнение едновременно.

В: Как работи суперскаларната технология?


О: Свръхскаларната технология включва инструкции, които постъпват в процесора в определен ред, търсене на зависимости от данни по време на работа и зареждане на повече от една инструкция за всеки тактов цикъл.

В: Каква е разликата между скаларните и векторните процесори?


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

Въпрос: Каква роля играе точният диспечер на инструкции в суперскаларния процесор?


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

Въпрос: През коя година всички нормални процесори станаха суперскаларни?


О: През 2008 г. всички нормални процесори станаха суперскалери.

В: Колко ALU, FPU и SIMD единици може да има един нормален процесор?


О: В един нормален процесор може да има до 4 ALU, 2 FPU и 2 SIMD единици.

AlegsaOnline.com - 2020 / 2023 - License CC3