Підсистема виконання зі зміною послідовності

Ця підсистема забезпечує оптимальне завантаження обчислювальних вузлів процесора і мінімізацію їх простоїв. Це досягається за рахунок зміни порядку виконання команд програми, що не приводить до спотворення результату.

Розглянемо можливість зміни порядку виконання команд програми на прикладі.

Приклад 5.1. Нехай в програмі задана наступна послідовність команд:

    1) А = В + С; 2) К = А + М; 3) Z = X + Y.

Припустимо, що в процесорі є два блоки для виконання арифметичних операцій, які можуть працювати паралельно. Як видно, команди 1 і 3 зовсім не залежать один від одного. У команді 2 один з операндів (Л) – результат виконання команди 1, значить, вона може бути виконана тільки після неї. У такій ситуації доцільно змінити порядок виконання. Спочатку краще виконати команди 1 і 3 двома паралельно працюючими блоками, а потім команду 2, коли операнд А вже буде готовий.

До пристроїв підсистеми виконання зі зміною послідовності відносяться наступні вузли.

Таблиця призначення регістрів. Пристрій задає відповідність між регістрами архітектури х86, які, як відомо, вказуються в командах як джерело одного з операндів і приймача результату, і внутрішніми регістрами процесора, застосовуваними при виконанні МО.

Буфер переупорядочивания микроопераций. Він є асоціативним запам’ятовуючим пристроєм, що зберігають підготовлені до виконання МО, з яких складаються команди програми. Це пристрій називають також пулом команд (англ. Pool – загальний фонд, загальний котел). Сюди заносяться підготовлені до виконання МО разом з операндами, для зберігання яких в буфері є 40 елементів, розміром 256 біт. Кожен з елементів може зберігати МО, два пов’язаних з нею операнда, результат її виконання і кілька бітів стану.

Станція-резервуар. Пристрій виконує функції диспетчера, що визначає порядок виконання МО, що зберігаються в буфері переупорядочивания. Воно оцінює можливість зміни порядку виконання МО та забезпечує їх виконання в оптимальною з точки зору продуктивності послідовності, направляючи їх в обчислювальні блоки виконавчого пристрою.


1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

Підсистема виконання зі зміною послідовності