![]() |
|
![]() ![]() ![]() |
|
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Люди, поделитесь, кто знает... Как можно программно включать-выключать режим Hyper Threading'а на Pentium 4? Какие там флаги за это отвечают?
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
имхо, он не выключается
его можно использовать, а можно и не использовать -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
А "использовать/не использовать" действует сразу на всю систему или на отдельную программу, которая его использует/не использует? И как можно задать прораммно используется он или нет?
А в BIOS'е "Hyper-Threading ----- Enable/Disable" это случайно не вкл/выкл? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
нет есть так называемая MP спецификация, которая предусматривает создание кодом BIOS MP таблиц в случае, если процессор поддерживает MP в том или ином виде (multi core, hyper-threading и т. д) Enable/Disable позволяет разрешить/запретить формирование MP таблиц SMP ОС использует (если это правильная ОС ![]() если таблицы не сформированы, отсюда следует, что ОС не будет использовать ту или иную MP технологию в твоем случае hyper-threading на всю систему Это сообщение отредактировал(а) MAKCim - 18.10.2007, 09:01 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
так может ли программа (не ОС) на время включить hyper-threading (напрмер, для выполнения участка кода, где это будет полезно с т.зр. увеличения эффективности), а потом выключить. ЕСли да, то как?
Если всё же нельзя, то как можно проверить включена эта опция всё-таки в BIOS'е или нет? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
можно, но сложно писать драйвер придется не проще ли включить hyper-threading в BIOS и поставить MP ОС? потом запустить нужный код в отдельном потоке -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
понятно... Я не думал, что это так сложно. Вон в защищённый и реальный режим зайти/выйти можно установкой/сбросом бита...
А в SSE3 (которое появилось как раз в Pentium 4 HT) присутствуют две команды для синхронизации потоков. Они имеют отношение к hyper-threading? Или не связаны с ним? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
ksili,
а в какой ты среде работаешь и что за код, который тебе надо запустить? если поддержка MP отключена, то BIOS не проводит MP инициализацию и второе логическое ядро (AP) находится в состоянии wait SIPI чтобы его "разбудить", нужно: 1. самостоятельно провести MP инициализацию 2. пропатчить IDT с целью создания шлюза для вызова процедур на втором логическом ядре Добавлено через 33 секунды
что за команды? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
ksili |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
да я не помню, читал в интеловском мануале. Сейчас под рукой нет.
Если честно, то реально я этого делать в ближайшее время не собираюсь. Хотел узнать насколько это сложно. А вообще интересно было под WinXP (я думал это от оси не очень зависит - главное чтобы она поддерживала HT)
1. Если ось поддерживает SMT и соответствующая настройка включена в BIOS'е, то надо ли выполнять первый шаг? 2. почему IDT? Все потоки, которые выполняются на втором логическом ядре, вызывается через шлюзовый механизм, через шлюз задачи? Добавлено через 8 минут и 52 секунды Я читал когда-то в одной статье, что из-за бесполезности hyper-threading для большинства случаев (когда обычный юзер запустил несколько офисных приложений), Intel предоставила программистам возможность вкл/выкл hyper-threading. То есть если он считает, что на данном отрезке кода полезен hyper-threading, он его включает и система пашет на двух ядрах, затем, если он бесполезен, его можно отключить. Вот мне и стало интересно, реально ли это и там гон был. Вообще насколько, я понял из ваших объяснений MAKCim, то если в BIOS'е включена соответствующая настройка, то hyper-threading жёстко включен и нельзя его временно отключить. Если наоборот, то его использовать можно, но при этом придётся делать кучу вспомогательных действий (формировать MP-таблицы и т.д.). В общем наверно те заявления Intel наверно были чисто рекламными и на практике это использовать очень затруднительно... -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||
|
|||||
MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: нет Всего: 207 |
я же уже говорил если есть MP ОС, то не надо ничего придумывать, запускай код в отдельном потоке и будет тебе счастье
тогда вообще ничего делать не надо (см. выше)
я о другом подробно описывать то, что я имел в виду, очень долго сейчас нет времени HP включен всегда, если процессор его поддерживает нет такого понятия как включение/выключение HT все дело в ОС и в BIOS если в BIOS он отключен, вся система работает на одном ядре включить второе ядро можно, но сложно (см. выше) если BIOS он включен и ОС поддерживает MP, то используется 2 ядра если ОС не поддерживает MP, то будет использовано одно ядро вне зависимости от настроек BIOS -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Спасибо. Будем считать вопрос закрытым
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Те две инструкции из SSE3 называются MWAIT и MONITOR. Прочитал я про них в интеловском документе "IA-32 Intel® Architecture Software Developer’s Manual. Volume 1: Basic Architecture" от 2004 года. Вот что там конкретно про них пишется:
Чуть ниже там ещё пишется, как проверить что проц поддерживает эти две инструкции. В этом описании нет ни слова про HT. Так что, думаю, они не связаны -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для Windows/DOS" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |