поточна
5. конвейер организация
операции по обработката Multicycle и механизми по патрулиране в дълги конвейери
Тъй като ние се обмисля етапа на тръбопровод на команда (EX) е само един бар, който е доста приемливо за целочислени операции. Въпреки това, за по-голямата част от операции с плаваща запетая, това би било непрактично да се изиска от всички от тях са извършени в един или два такта. Това ще доведе до значително увеличение на синхронизация конвейер инсулт, или да се увеличи броят sverhmernomu оборудване (обем логика) за прилагане на числа с плаваща запетая устройства. Най-лесният начин е да си представим, че плаващи команди точкови използват една и съща поточна линия като инструкциите за цели числа, но с две важни промени. На първо място, на цикъла EX може да се повтори толкова пъти, колкото пъти е необходимо, за да извършите операцията. На второ място, процесорът може да бъде няколко функционални единици, извършващи операции с плаваща запетая. Това може да се случи окачване конвейер, когато са издадени за изпълнение на командата или предизвиква структурни конфликт функционално устройство, което той използва, или е налице конфликт на данни.
Да приемем, че в нашето изпълнение, процесорът има четири отделни функционални устройства:
- Главна число единица.
- Апаратура число умножение операнди и операнди с плаваща точка.
- Апаратура допълнение поплавък.
- Устройството от целочислено деление на операнди и операнди с плаваща точка.
Фиг. 5.18. Конвейер с допълнителни функционални устройства
Цяло число единица управлява целия товар и пишат команди в паметта, когато се работи с две групи от регистри (цяло число и плаваща запетая), всички всички целочислени операции (с изключение на умножение или деление) и командата на прехода. Ако приемем, че изпълнението етап на други функционални единици nekonveyernye, Фиг. 5.18 показва структурата на конвейера. Защото на сцената EX е nekonveyernoy, без команда, използвайки функционално устройство не може да бъде издадена за изпълнение, доколкото няма предишна команда напуска сцената EX. Освен това, ако отборът не може да влезе в етап EX, целият тръбопровод за този отбор ще бъде спрян.
В действителност, междинните резултати не могат да се използват циклично EX етап, както е показано на фиг. 5.18 и EX етап има време закъснение от повече от един удар. Можем да обобщим, на конвейера структурата на плаваща запетая, което позволява на някои етапи на конвейер и паралелно изпълнение на множество операции. За да се опише работата на този газопровод, ние трябва да се определи забавянето на функционални устройства, както и скоростта на започване или скоростта на повторение на операциите. Това е скоростта, с която на нови операции от този тип могат да влизат функционалното устройство. Например, да предположим, че следните функционални единици и забавяне на операциите на повторение, по:
Фиг. 5.19 показва структурата на този конвейер. Неговото прилагане изисква въвеждането на регистър конвейер станция EX1 / EX2 и промяна на връзки между регистрите ID / EX и EX / MEM.
Фиг. 5.19. Конвейер с многофункционални устройства
Конфликти и ускорени напред в дълги конвейери
Има няколко различни аспекти на откриването на конфликти и организирането на бърз трансфер на данни в тръбопроводи, като например, че е показано на фиг. 5.19:
- Тъй като устройствата не са напълно поточна в тази схема са възможни структурни конфликти. Тези ситуации трябва да открие и спре да изпълняват командите.
- Тъй като средствата са с различни срокове за изпълнение, броят на записите във файла регистър при всеки цикъл може да бъде по-голямо от 1.
- Възможни конфликти като WAW, защото отборът вече не се стигне до сцената WB на процедурата за издаването им е да изпълняват. Имайте предвид, че война тип конфликти са възможни, тъй като регистри за четене винаги се извършва в стъпка ID.
- Отбори не могат да бъдат завършени в реда, в който са издадени за изпълнение, което води до проблеми с изпълнението на прекъсването.
Преди да представи общото решение за прилагането на схеми за откриване на сблъсък, помислете за втория и третия въпроси.
Ако приемем, че регистър по делото на ТР има само един вход пристанище, последователността на операциите от операцията зареждане на PT и PT във връзка с операциите, PT може да доведе до конфликти за пристанището на запис във файла регистър. Разглеждане на последователност от инструкции, показани на Фиг. 5.20. В цикъл 10, и трите отбора, направени WB етап и необходимостта да се прави запис във файла регистър. Ако има само един запис пристанище в регистър файл машина трябва да осигури последователно команда завършване. Това е единственото пристанище регистър е източникът на структурен конфликт. За да реши този проблем, можете да се увеличи броят на пристанищата в регистър файл, но такова решение не може да бъде приемливо, тъй като тези допълнителни входни пунктове има вероятност да се използват рядко. Въпреки това, в стабилно състояние, максималният брой на необходимите входни пунктове е 1. Затова истинските машини, разработчиците предпочитат да наблюдават лечението на пристанищните записите в регистрите и лечение едновременно призив към него като структурен конфликт.
Фиг. 5.20. Един пример за конфликт на запис във файла регистър
Има два начина да се справите с това конфликти. Първата е да се проследи използването на пристанището на влизане в етап газопровода ID и да преустанови издаването на заповеди, както в структурен конфликт. Такава схема конфликти се осъществява обикновено с използване на регистър смяна. Алтернативна схема включва спиране на противоречиви команди, когато тя се опитва да се качи на газопровода етап MEM. Предимството на тази схема е, че тя не се нуждае от конфликти, преди входа на етапа на MEM, където е по-лесно да се направи. Все пак, това изпълнение усложнява управлението на конвейера, тъй като спирането в този случай може да се появи в две различни места на конвейера.
Друг проблем е възможността за WAW видове конфликти. Можем да разгледаме същия пример като на фиг. 5.20. Ако LD команда е издаден от един цикъл и преди, и имаше като резултат от местоположението регистрирате F2, а след това ще има вид конфликт WAW, тъй като командата за записване в F2 регистъра на един часовник цикъл преди отбор съдържанието добавено. Има два начина на работа с този вид конфликт WAW. Първият подход е да издава незабавно натоварване инструкция съдържанието добавено докато стъпка MEM преносната команда. Вторият подход е да се потисне в резултат на действието на допълнение, когато се открие конфликт и контрол на промените, за да добавите инструкция не записва резултата. Тогава инструкция LD може да бъде издаден за извършване веднага. Тъй като такъв конфликт е рядкост, и двете вериги ще работят доста добре. Във всеки случай, конфликтът може да се открие в ранен стадий ID, когато инструкция LD е издадена с цел изпълнение. След пауза команда LD или настройка за запис резултати заключване съдържанието добавено екип реализира просто.
По този начин, за да се открият евентуални конфликти между необходимостта да се помисли за конфликти PT команди, както и конфликтите между командите UT и указанията числа. С изключение на товаренето / запис команди с инструкциите на PT и трансфер на данни между регистрите PT и целочислени регистри, PT команди и инструкции целочислени достатъчно добре разделени, както и всички инструкции целочислени работят на целочислени регистри и PT отбори - регистрира пт По този начин, за откриване на конфликти между инструкции целочислени и команди PT трябва да се разглежда само изтегляне / рекордни команди от РТ и трансфер регистрира Екип PT. Този контрол конвейер опростяване е едно допълнително предимство за поддържане на отделен регистър файл за съхранение на целочислени данни и данни от ТР. (Основното предимство се състои в удвояване на общия брой регистри и увеличаване производителността без увеличаване на броя на пристанища във всяка група). Ако приемем, че конвейера извършва откриването на конфликти на идентификатора на сцената, преди да издаде заповедта да работи във функционалността на устройството трябва да се извършва три проверки:
- Проверка за структурни конфликти. В очакване на освобождаването на функционално устройство и пишат пристанища до регистрите, ако е необходимо.
- Проверка за конфликти RAW тип данни. В очакване толкова дълго, колкото операнди източник регистър са определени в резултат на регистрите в конвейерна станция ID / EX (което съответства на заповед, издадена в предишния цикъл), EX1 / EX2 или EX / MEM.
- Проверка за WAW видове конфликти. За да се уверите, че командите, намиращи се в конвейерни станции EX1 и EX2, имат като резултат място в регистъра за резултат издадена заповедта. В противен случай, въпросът за екипа на идентификатора на сцената, е спряно.
Въпреки, че логиката на конфликти за операции Multicycle PT малко по-сложна, концептуално тя не се различава от същата логика за газопровода число. Същата логика важи и за бърз трансфер на данни. Logic бърз пренос на данни може да се прилага чрез проверка, че каза конвейера при EX / MEM станции и MEM / WB регистър резултат е регистър операнд PT а. Ако има такова съвпадение, за трансфер на данни допуска приемане на съответния вход на мултиплексора. Multicycle PT операции също създават нови проблеми за механизма за прекъсване.
Подкрепа точни прекъсва
Друг проблем, свързан с изпълнението на команди с голямо време за изпълнение може да се илюстрира със следната последователност от команди:
Тази последователност от команди е много проста. Той няма никакви зависимости. Въпреки това, тя води до нови проблеми се дължи на факта, че, издаден преди командата може да бъде завършен след командата издава за извършване на по-късно. В този пример, можем да очакваме, че ADDF и SUBF отбор завършени преди края DIVF екип. Този ефект е типично за транспортьори с времето за изпълнение на голям инструкция и се нарича необикновените завършване команди (извън цел завършване). След това, ако например DIVF команда ще прекъсне аритметика ADDF след завършване на командата, не можем да осъзнаем точно прекъсването на нивото на оборудване. В действителност, тъй като ADDF команда променя стойността на един от нейните операнди, не е възможно дори и с помощта на софтуерни инструменти, за да се възстанови на държавата, която е съществувала преди да извършвате DIVF екип.
Има четири възможни подходи за работа в условията на извънредно команда завършване. Първият от тях просто не обръща внимание на проблема и предлага механизми за неточна прекъсване. Този подход е бил използван през 60-те и 70-те години и все още се използва в някои суперкомпютри, в които някои класове на забранени или прекъсване на обработката апарат без спиране на конвейера. Този подход е трудно да се използва в съвременните машини в присъствието на концепцията за виртуална памет и на стандартен IEEE плаваща точка изпълнение, които изискват точни прекъсва чрез комбинация от хардуер и софтуер. В някои машини, този проблем е решен с въвеждането на два режима на изпълнение на команди: бързо, но може би не точно прекъсване и бавно, гарантира реализацията на точни прекъсва.
Екип 1 - дълго екип, който в крайна сметка води до прекъсване
Екип 2. п-1 екип - последователност от команди, чието изпълнение не е приключило
N на отбора - отборът, изпълнението на която е приключила