Здравствуйте, Smetanin, Вы писали:
S>Ремарка для Демон_Худ'а — тебе всё ещё кажутся чрезмерными те жалкие крохи знаний, которые жду от человека я???
ответ тебе:
осталось выяснить, пользовался ли
ggg литературой, когда писал
своё сообщениеАвтор: ggg
Дата: 11.09.05
или всё написано по памяти?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Забавно!
Эта ветка, на текущий момент, набрала 304 балла, 116 плюса, 54 минуса, и 50 смайлов
нигде рядом, в этом форуме, нет подобной ажиотажной ветки....
но несколько ранее (3 месяца назад) такая ветка есть!
вот её показатели — 360 баллов, 116 плюса, 50 минусов, и 95 смайлов
и не удивительно!!!!
1200? 1500? [Наболело. Кандидаты не стоят этих денег]Автор:
Дата: 26.05.04
видите? Ключевое слово и тему?
silent RSDN@Home 1.1.4 stable [510] Windows XP 5.1.2600.0
Здравствуйте, hrg, Вы писали:
hrg>LuciferMoscow -> Re[8]: Наболело...
L>> Здравствуйте, LuciferMoscow, Вы писали:
LM>>>Синглетон и глобальная переменная это разные вещи.
L>> hrg, с чем Вы несогласны?
hrg>Называются по разному, а назначение одинаково
Машина и поезд тоже называются по разному, а назначение одинаково (транспорт), так что тут не надо так критично, а то сейчас удем в обсуждение абстракций и классификации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Calc wrote:
> LM>>>Синглетон и глобальная переменная это разные вещи.
> L>> hrg, с чем Вы несогласны?
>
> hrg>Называются по разному, а назначение одинаково
>
> Машина и поезд тоже называются по разному, а назначение одинаково
> (транспорт), так что тут не надо так критично, а то сейчас удем в
> обсуждение абстракций и классификации.
Вся разница в том, обращать внимание на внутрее устройство, или
нет. Для пассажира разница между поездом состоит лишь в разной
стоимости и разных дорогах (если не считать внедорожники).
Для механика разница совсем другая. В целом, называть их
разными вещами столь же бессмысленно, как и одинаковыми,
если не указано, с чьей точки зрения проводится оценка.
Mikhail
Posted via RSDN NNTP Server 1.9
Здравствуйте, ggg, Вы писали:
A>>Нука-нука поподробней. Расскажи pls как это устроено не в теории, а на практике. Учитывая, что в IA32 все SMP процессоры и память в данный момент соединяет общая шина(которая именуется North Bridge и таки имеет отношение к PCI) и по ней ничего физически просто передать нельзя так, чтобы другие участники цепочки это не заметили.
ggg>Своим образованием (как да почему) ты уж сам займись. Например, таки почитай 10.2 из "IA32 Developer's Manual. Volume 3", отрывок из которого я цитировал.
Ну если ты имеешь право меня спрашивать как это все устроено, о почему бы мне не спросить? Объясни будь добр, если уж ты действительно это знаешь.
(Я думаю не объяснишь см ниже. )
ggg>Но самое главное, что для того, чтобы один процессор увидел изменение строки кэша в другом процессоре, не нужно сбрасывать эту строку в память. Из 10.2 "Caching Terminology" в "IA32 Architecture Software Developer's Manual. Volume 3": "The implicit write-back is transferred directly to the initial requesting processor and snooped by the memory controller to assure that system memory has been updated. Here, the processor with the valid data may pass the data to the other processors without actually writing it to system memory"
ggg>Или вот ещё цитата из "Intel E7520 MCH Datasheet" (заметь, не самый новый северной мост), пункт "5.1.1 Coherent Memory Write Buffer":
ggg>"Note that the write buffer is capable of servicing processor read requests directly via a “hit” to the internal location containing the data without initiation of any DDR subsystem accesses."
Обе цитаты сами по себе правильны, но в контексте всего обсуждения это вранье и грубое передергивание. "Coherent Memory Write Buffer" это просто еще один "кэш" перед непосредственно самой памятью(помимо всего прочего), сидит он так же на той же самой разделяемой шине, принип действия это не меняет
совершенно. Просто он прослойка, позволяет избежать задержек при работе с памятью, не меняя ничего в принципе. Все осталось как и было в первых SMP архитектурах: как только один из процессоров инициировал обмен с памятью другие это узнают(сама память естественно может и не узнать).
Обмена с памятью "мимо" других процессорах, как в не IA архитектуре произвести нельзя(хотя для двухядерников может что то попытаются придумать).
A>>(Двухядерные Intel-овские процессоры пока отложим в сторону).
ggg>Гы. Это ещё почему?
Я понимаю, что ты не смотря на то что ты сейчас пользуешься виртуальным account-ом для наездов, ты работаешь в Intel(по крайней мере история предыдущих наездов позволяет так подумать) и мифический Pentium D у тебя уже есть, но в данный момент их еще только раздают остальным в рамках Early Access. Во всяком случае нам Intel их так еще и не смогла поставить хотя обещала(мы один из самых крупных потребителей серверных процессоров в россии). То что в документации Intel по будущим системам выходящим через 5 лет, можно и не такое прочитать я не сомневаюсь.
A>>А теперь объясни собственно как могла работать Weak Ordered Memory без SSE/SSE2, если инструкции по работе с ней появляются только в них.
ggg>Кончай позориться. Write Combining (то есть weakly ordered memory) появился в Pentium Pro (на всякий случай замечу, что SSE — в PIII), а для serializing (это более сильный вариант memory order enforcing) можно использовать порядка десяти инструкций, в том числе три (например, CPUID) из пользовательского режима.
"Работать" это как-то расплывчато, так же как что то делать. Какая именно замена Memory Barrier?
Прямой вопрос:
1) Можно ли на Pentium Pro в C коде, наступить на Double Checked Lock если делать это специально и как?
ggg>Суть в том, что в твоём оригинальном посте не идёт речь о DCL. Сам-то ты, может быть, при его написании о DCL и думал, но из сообщения это ни как не следует. Там чёрным по белому написано, что на платформе от Intel не работает какой-то "double lock" то ли на шине PCI, то ли из-за шины PCI, и во всём этом как-то виноваты интеловские чипсеты.
Да именно это там и написано. В чем собственно претензия то? Я нигде не обещал писать точно в каждом посте, и давать ссылки. Когда ты меня попросил
отдельно это объяснить, я тебе это
отдельно написал в форме подходящей для употребления. Ты например ни на один из моих прямых вопросов ни про реализацию, ни про то как на Intel получить на стандартном компиляторе DCL вообще не ответил. Я ответил на первый прямой вопрос про все это.
ggg>А вот углубление темы DCL/IA32 (которое сделал я) произошло из-за твоего неточного описания причин работоспособности
А помоему из желания наехать на человека который думал, что тебе помогает.
ggg>(что, безусловно, верно сейчас для не WC-памяти и едва ли изменится в будущем) DCL на этом самом IA32.
Ну так в чем собственно претензия? Или ты всетаки ответишь как в стандартном компиляторе получается не WC память для получения проблем с DCL?
A>>А кто тебе сказал, что нужно искать по первому сообщению? Конечно упоминания мельком не достаточно.
ggg>Однако если б не было бы моего вопроса, то не было бы и твоего второго поста, где уже действительно описывалась проблема DCL.
Конечно если бы он никого не заинтересовал его бы не было. Я что то тоже тут не вижу постов про архитектуру Intel просто так.
ggg> И вообще, какой тогда смысл несёт параграф про неведому зверушку "double lock" на PCI/IA32 в оригинальном сообщении, если по нему ничего нельзя найти, как ты сам признал?
Он ни малейшего смысла не несет как и большая часть данного обсуждения. А должен?
A>>Как и описания в Programming with Posix thread без описания внутренностей процессоров.
ggg>Но тогда, очевидно, лучше и не заикаться про внутренности процессора, так?
Ты первый туда полез.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев