Какво е конвейер 1
компютърна архитектура, програмистите отдавна се обърнали към проектиране на методи, които са известни под общото име "комбинацията от операции", при което оборудването компютър по всяко време, по време на изпълнение на повече от една база операции. Този общ метод включва две понятия: паралелизъм и на конвейер. Въпреки че те имат много общо помежду си и често са трудно различими на практика, тези термини представляват две много различни подходи. По време на работа подравняване паралелизъм се постига чрез възпроизвеждане на множество копия на хардуер структура. Висока производителност се постига чрез едновременната работа на всички елементи на институциите, ангажирани в решаването на различни части на задачата.
Монтаж на тръбопроводи (или конвейер) като цяло се основава на разделянето на функциите, които ще бъдат изпълнени по-малки части, наречени етапи, както и разпределянето на всеки един от тях с отделен хардуер единица. Така че каквито и да било машина за обработка на команди могат да бъдат разделени на няколко етапа (две фази) чрез прехвърляне на данни от един етап към друг. В това обработване, могат да бъдат използвани, за да се приведат в съответствие фази на различните отбори. Производителността е на увеличението се дължи на факта, че на няколко команди се извършват на различни етапи от тръбопровода. Монтаж на тръбопроводи от този вид се използва широко във всички съвременни високопроизводителни процесори.
Лесно организиране на поточната линия и оценка на нейната ефективност
Извършване на полезни команди могат да бъдат разделени в следните етапи:
декодиране на команда / операнд се изтегли в регистър - ID;
достъп до паметта - MEM;
съхраняване на резултата - WB.
Фиг. 5.1 показва диаграма на процесора извършването на стъпките на изпълнение на инструкция без комбиниране на по-горе. Поточна с тази схема, ние можем просто да се разделят на изпълнение на команди на стъпките, описани по-горе, са заделени за всеки етап един часовник цикъл, и да започне всеки представянето мярка за новия екип. Разбира се, за съхраняване на междинните резултати от всеки етап трябва да използвате регистър станция. Фиг. 5.2 показва схема за обработка като регистър с междинната станция, която осигурява данни и управляващи сигнали от един конвейер към следващия етап. Въпреки че общо време от един отбор в тръбопровод ще бъде пет такта, във всеки цикъл на оборудването ще работи в комбиниран режим, пет различни отбори.
конвейер на работа може да бъде конвенционално представени като веригите процесор се измества във времето (фиг. 5.3). Тази цифра ясно отразява времево съгласуване на различните етапи на екипите за изпълнение. Въпреки това, най-често за представяне на конвейера с помощта на времедиаграми (фиг. 5.4), които обикновено се изобразява изпълними инструкции, брой цикли и етапи на изпълнение на инструкции.
Монтаж на тръбопроводи увеличава процесор пропускателна способност (броя на отборите, което завършва с единица време), но това не намалява по време на работа отделна команда. В действителност, тя е дори леко се увеличава ефективността на всеки отбор, защото на режийните, свързани с управлението на регистрови станции. Въпреки това, увеличаването на трафик означава, че програмата ще работи по-бързо от обикновено схема nekonveyernoy.
Фактът, че изпълнението на всяка инструкция в тръбопровода не е намалена, налага някои ограничения върху практическото дължината на конвейера. Допълнителни ограничения, свързани със забавено конвейер, има и ограничения, произтичащи от дисбаланси във всяка от неговите етапи на забавяне и поради натоварването от конвейер. Тактовата честота не може да бъде по-висока, а оттам и такт не може да бъде по-малко от времето, необходимо за най-бавния етап тръбопровод. Отгоре организация конвейер да възникне поради сигнал закъснения в тръбопроводни регистри (ключалки) и поради несъответствия, синхронизиращи сигнали. Конвейерно регистрира за измерване на продължителността на добавя времето за монтаж и забавяне сигнал размножаване. В ограничаване на случаите на инсулт дължина може да бъде намалена до размера на режийни и да изопачи синхронизиращ сигнал, но това не остава в такт време за извършване на полезна работа на информацията за трансформация.
Като пример, помисли nekonveyernuyu машина с пет етапа на операции, които имат продължителност от 50, 50, 60, 50 и 50 НЧ, съответно (фиг. 5.5). Нека режийни за организиране на обработване, възлизат на 5 НЧ. Тогава средното време на командата в nekonveyernoy машина ще бъде равна на 260 НЧ. Ако използвате конвейерна организация, продължителност на мярката е равна на продължителността на най-бавния етап на обработка и режийни разходи, т.е. 65 НЧ. Този път съответства на средното време на командата в тръбопровода. По този начин, ускорението получен чрез конвейер ще бъде равен на:
Средната продължителност на команда в rezhimeSrednee по време на работа в режим nekonveyernom отбор nekonveyernom
Монтаж на тръбопроводи е ефективен само когато конвейера е близо до пълно натоварване и скорост на доставка на нови команди и операнди съответства на максималния капацитет на конвейера. Ако има забавяне, то ще се проведе в паралелни операции и по-малко общата производителност ще намалее. Такива забавяния могат да възникнат в резултат на конфликти. В следващите секции ще обсъдят различните видове конфликти, които възникват при изпълнение на команди в процес на подготовка, както и техните решения.

Фиг. 5.3. Идеята на конвейера
Фиг. 5.4. Операция Chart-простият конвейер

Фиг. 5.5. конвейер ефект, когато отборите 3 - четирикратно ускорение
Когато възникнат за изпълнение на тръбопроводи от ситуации, които пречат на изпълнението на следващата инструкция от потока на обучение в специална я инсулт. Подобна ситуация се нарича конфликт. Конфликти намаляване на реалните резултати конвейер, които биха могли да бъдат постигнати в идеалния случай. Има три класа на конфликти:
Структурни конфликти, които възникват в резултат на използване на ресурсите на конфликти, когато хардуера не могат да поддържат всички възможни комбинации на команди, когато едновременно извършване на регистрация.
Конфликти на данните, получени в случай, при изпълнение на команда зависи от резултата от предишната команда.
управление на конфликти, които възникват, когато преходи на тръбопроводи от команди и други команди, които се променят брояч стойност на програмата.
Конфликтите в тръбопровода, водещ до необходимостта да се спре инструкция изпълнение (тръбопровод щанд). Обикновено в най-простите конвейерите преустановени, ако всяка команда, всички следващи команди също са й спрени. Отбори предходният окачени може да продължи да работи, но в момента на спирането не е избран, няма нова команда.