The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Разработчики DragonFly BSD выявили ошибку в процессорах AMD"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Разработчики DragonFly BSD выявили ошибку в процессорах AMD" +/
Сообщение от Аноним (-), 07-Мрт-12, 19:27 
в догонку

static __inline void cpu_amdcpubug(void) {

    __asm __volatile("nop" : : : "memory");
}

данный тип барьера (если операция используется как барьер) применяется только в случае борьбы с излишним кэшированием аргументов в регистрах cpu, ибо отключает оптимизацию и заставляет сохранить операнды на стеке - если после модификации они там не сохранены (ака закэшированы в регистр).

Но как легко заметить по коду функции gcc - у нас нету переменных которые бы потребовали такого обращения, как и нет обращения из еще одного thread внутри процесса gcc (gcc вообще сам по себе один процесс без потоков).
Значит данная операция была введена не с целью создания барьера оптимизирующим возможностям компилятора, а по какой-то другой причине? видимо этой причиной является добавление команды NOP - между телом всей функции и операции с %esp и возвратом из функции.

С уваженем к вам - ваш К. О.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Разработчики DragonFly BSD выявили ошибку в процессорах AMD, opennews, 06-Мрт-12, 13:49  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру