Конвеєр команд: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Має бути на початку статті
Немає опису редагування
 
Рядок 1:
{{Без джерел|серпень 2013|дата=серпень 2013}}
'''Конвеєр команд''' — компонент [[Центральний процесор|центрального процесора]], призначенияпризначений для прискорення виконання машинних команд шляхом суміщення певних стадій їх виконання в часі.
 
== Елементарний конвеєр ==
Рядок 6:
 
Загальноприйнятим в теорії конвеєрних структур є така послідовність етапів:
* Вибіркавибірка (instruction fetch, IF) — завантаження нової команди з [[пам'ять|пам'яті]];
* Декодуваннядекодування (instruction decode, ID) — інтерпретація та відправкавідправлення команди удо відповіднийвідповідного операційнийопераційного пристрійпристрою в залежності від різновиду операції;
* Виконаннявиконання (execution, EX) — виконання команд та обчислення ефективної адреси пам'яті для результату або операндів, які необхідно завантажити;
* Звертаннязвертання до пам'яті (memory, MEM) — виконання операцій з пам'яттю (для команд завантаження/збереження);
* Збереженнязбереження результату (writeback, WB) — збереження результату обчислень в [[регістр процесора|регістрі]].
 
Слід зазначити, що така структура є типовою для [[RISC (процесор)|RISC]]-архітектур, семантика та кількість етапів в яких зазвичай не дуже відрізняється від наведених, тоді як в [[CISC]]-архітектурах конвеєр може бути набагато складнішим.
Рядок 18:
== Класифікація ==
Спочатку визначимо декілька понять:
* Пропускнапропускна здатність — максимальна кількість команд, які виконуються за один такт машинного часу (instructions per cycle, IPC);
* Тривалістьтривалість етапу (стадії) — кількість машинних циклів для виконання одного етапу конвеєрного обчислення (може бути різною для різних етапів);
* Необхіднийнеобхідний (максимальний) ступінь паралелізму — кількість (незалежних) команд, які потрібно завантажити в конвеєр для повного використання його потенціалу.
 
=== Найпростіший (класичний) конвеєр ===
Рядок 68:
=== Етап виконання ===
Сучасні процесори мають такі модулі етапу виконання:
* Швидкашвидка цілочисельна арифметика і логічні операції.;
* Повільніповільні цілочисельні дії, такі як множення, множення-додавання (для скалярного добутку) і ділення.;
* Діїдії з плаваючою[[Число з рухомою комою|рухомою комою]].
 
Швидкі дії зазвичай виконуються за один цикл, повільні — конвеєризуються.