реклама на сайте
подробности

 
 
> процессор сам меняет местами строки кода, как это возможно?
TigerSHARC
сообщение Mar 7 2018, 17:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



https://www.youtube.com/watch?v=SIZmLPtcZiE&t=1112s

начало: 10:24
10:54 - "Хитрый процессор" может взять и переставить инструкции местами.

КАК?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iosifk
сообщение Mar 7 2018, 19:00
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(TigerSHARC @ Mar 7 2018, 20:54) *
https://www.youtube.com/watch?v=SIZmLPtcZiE&t=1112s

начало: 10:24
10:54 - "Хитрый процессор" может взять и переставить инструкции местами.

КАК?

Я это видео не смотрел... sm.gif
Но точно знаю, как делается для Аналоговских DSP.
Значит хитрость вот какая может быть.
Представим:
инстр1
инстр2
инстр3
джамп...

Как это обычно выполняется?
сначала выполняются 3 инструкции, потом делается джамп, А потом несколько тактов процессор стоит, пока не перезагрузится конвейер из нового адреса. При этом в конвейере еще будут инструкции из старого адреса после команды "джамп", но их выполнение будет блокироваться процессором.
А теперь представим, что команду "джамп" компилятор передвинет вперед на то кол-во инструкций, какова глубина конвейера.
Как-то так:
инстр1
инстр2
джамп
инстр3..

Вот теперь полсе "раннего джампа" процессор начнет выбирать инструкции из нового адреса, но при этом "старые" команды, уже находящиеся в конвейере тоже будут выполнены. И простоев в выполнении команд не будет. А поскольку DSP - это в основном циклические вычисления, то и не потеряется производительность...
И об этом у Аналога была статья с примерами...
Ну а дальше если речь идет об оптимизирующем компиляторе, то надо читать об статическом и динамическом предсказании переходов...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016