mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 01:30:10 +00:00
fix lectures typos (#138)
* Update 06. RISC-V architecture.md * Update 02. Instruments.md * Update 03. Digital arithmetics.md * Update 04. Operations units.md * Update 05. Sequencial logic.md * Update 07. RISC-V programming.md * Update 08. Singlecycle processor.md * Update 09. Multicycle processor.md * Update 10. Pipeline processor.md * Update 11. Pipeline hazards.md * Update Lectures/02. Instruments.md * Update Lectures/04. Operations units.md --------- Co-authored-by: Andrei Solodovnikov <VoultBoy@yandex.ru>
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
|
||||

|
||||
|
||||
Указанный конфликт решается переброской результата операции с более поздних ступеней назад, чтобы этим результатом можно было воспользоваться до того, как он окажется в регистровом файле. Данный подход не помогает при инструкциях обращения к памяти, так как считываемый операнд может потребоваться до того, как он будет считан из памяти. В таком случае приходится приостанавливать конвейер и очищать стадий, в которые были загружены недостоверные данные. Ситуация, в которой в конвейер помещают нули (очищают стадии) называется пузырьком.
|
||||
Указанный конфликт решается переброской результата операции с более поздних ступеней назад, чтобы этим результатом можно было воспользоваться до того, как он окажется в регистровом файле. Данный подход не помогает при инструкциях обращения к памяти, так как считываемый операнд может потребоваться до того, как он будет считан из памяти. В таком случае приходится приостанавливать конвейер и очищать стадии, в которые были загружены недостоверные данные. Ситуация, в которой в конвейер помещают нули (очищают стадии) называется пузырьком.
|
||||
|
||||
Разрешением конфликтов занимается блок устранения конфликтов (Hazard Unit), который в автоматическом режиме их обнаруживает и предпринимает необходимые действия по их устранению.
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
- WAW (write after write — запись после записи, при котором более ранняя инструкция размещает значение в памяти позже, чем более поздняя инструкция, тем самым нарушая порядок записи в память). Разрешается конфликт так же, как и в конфликтах типа WAR.
|
||||
- По управлению (вызванный неоднозначностью того, какая инструкция должна быть загружена после инструкции условного перехода, так как результат перехода будет известен только на стадии Execute, а загружать новую инструкцию надо уже, когда команда условного перехода будет на стадии Decode). Конфликт разрешается методом пузырька, либо предположением о том, произойдет переход или нет. В случае успешного предсказания потери производительности не происходит. В случае неверного предсказания, ступени конвейера, в которые были загружены неправильные команды должны очиститься.
|
||||
|
||||
В среднем, каждая 7 инструкция в программе является инструкцией условного перехода. Поэтому конфликты по управлению сильнее всего влияют на производительность конвейерного процессора.
|
||||
В среднем, каждая седьмая инструкция в программе является инструкцией условного перехода. Поэтому конфликты по управлению сильнее всего влияют на производительность конвейерного процессора.
|
||||
|
||||
Разработанный на лекции конвейерный процессор не устраняет конфликты по управлению, следовательно является недоработанным, функционирует неправильно и рассматривался только в качестве примера.
|
||||
|
||||
|
Reference in New Issue
Block a user