ПредишенСледващото

Има два подхода за определяне на едновременност (паралелизъм извличане) на нивото на отбора:

  • хардуер - идентифициране на паралелизъм в работния поток от специална схема на процесора в програмния код изпълнение;
  • софтуер - откриване на паралелизъм, компилаторът, който генерира изпълним програмен код по специална програма.

Ниво хардуер работи на динамична паралелизъм. като има предвид, софтуерът работи на паралелизъм статично ниво. Модерен високопроизводителни процесори x86 (Intel Pentium 4. Intel Core) работят на динамична поредица от паралелно изпълнение (Извънреден изпълнение на команди). Статично паралелизъм използва в Itanium процесори (но хибриден подход се използва в Itanium 2).

Помислете за следната програма:

Стъпка 3 зависи от резултатите 1 и 2, така че не може да се изчисли, докато двамата са завършени. Въпреки това, стъпки 1 и 2 не зависи от всяка друга сделка, така че те да могат да бъдат изчислени едновременно. Ако приемем, че всяка операция може да бъде завършена в една единица време, трите инструкциите могат да бъдат завършени в общо две единици за време, давайки ПИК 3/2.

Целта на разработването на съставител и процесор. е идентифициране и разработване на ПИК възможно най-голяма полза. Конвенционалните програми обикновено са написани за модел да се изпълняват последователно, където изпълнението на командите една след друга по начина, предписан от програмист. ПИК позволява на компилатора и / или процесора да се припокриват с изпълнението на няколко инструкции или дори да променят реда, по който се изпълняват командите.

Колко ПИК съществува в програмата - е силно зависимо от приложната програма. В някои области, като например компютърна графика и научни изчисления, броят може да бъде много голям. Въпреки това, натоварвания като криптография. може да бъде много по-малко едновременност.

Хардуер методи за откриване и използването на успоредност:

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

Streaming архитектура са друг клас архитектури където ПИК изрично посочени, вижте, напр., Пътешествия архитектура.

Ранното прилагане на ILP, като мейнфрейм IBM система / 360 Модел 91. ПИК използва методи за преодоляване на ограниченията, наложени от относително малкия регистър файл.

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

Подкрепете проекта - споделете линка, благодаря!