Вам это коммунизм напоминает не просто так. В англоязычном интернете уже и термин есть для происходящего — «cultural marxism». Только 100 лет назад марксисты делили всех на угнетателей и угнетенных по экономическому признаку, а сейчас — по полу, расе, ориентации и т.д. И если вы, к примеру, белый гетеросексуальный мужчина, то про вас уже все известно. Вы новый «буржуй» и вас надо «раскулачить». Вы оцениваетесь не как индивидуум, а как член класса. До России это еще почти не дошло, есть только жалкие потуги навроде описанных в обсуждаемой статье, но всем здесь присутствующим работникам международных компаний я бы советовал самообразоваться на эту тему, пока не поздно. Репрессивная машина уже давно заведена и прогрета.
Упомянутые psycological traits (https://en.wikipedia.org/wiki/Big_Five_personality_traits) напрямую влияют на профессиональные предпочтения. Очень грубо говоря — интерес к вещам vs интерес к людям, и т.д. Примерно наполовину они зависят от генов и наполовину от воспитания и окружающей среды. Когда окружающая среда «не давит» биологические предпочтения, они раскрываются наиболее полно и приводят к тому, что женщин в АйТи мало (именно из-за того, что распределение этих пяти черт в популяции мужчин и женщин разное). Разумеется, если окружающая среда говорит, что «ты ходишь в хиджабе, не имеешь водительских прав, иначе умрешь», то биологические предпочтения легко задавить на корню, а сопротивление почти бесполезно.
Кстати, если кто-то считает, что в России мало женщин в Айти, то из всего вышесказанного следует, что это хороший признак )
По-моему, картина довольно ясна. Если вам повезло родиться в благополучной стране, то можете заниматься тем, чем душа велит. В Норвегии учителя неплохо зарабатывают, например. Или можете пойти в gender stuides и изучать, почему же так мало женщин-технарей. Ну а если вы из тех самых 10% женщин-технарей, идите в STEM. Если же вам «повезло» родится в индиях или китаях или россиях, то с дипломом по «gender studies» вы помрете с голоду, да и на учительскую ставку тоже, пожалуй. Так что придется вам засунуть свои хотелки куда подальше и пойти туда, где хорошо платят. В конце концов, мало ли людей занимаются нелюбимым делом? На этой дорожке вас могут поджидать побочные эффекты недоразвитых обществ с их «твое место у плиты», но это далеко не единственная проблема в таких местах, так что нет особых причин выделять ее среди прочих. Вот и причина, почему женщин в АйТи больше в развивающихся странах.
Что бесит, так это когда американская VP of HR, у которой в штате 99% женщин, начинает мне рассказывать, что отныне при найме на инженерные позиции мы при прочих равных берем женщин, а за рекомендацию женщины-кандидата бонус в два раза больше, чем за мужчину. Для начала иди и пофикси гендерный баланс в своем чертовом HR отделе, если сможешь!
А первую ссылку вы читали? Разговор вот про эту статью в Таймс: www.thetimes.co.uk/article/patriarchy-paradox-how-equality-reinforces-stereotypes-96cx2bsrp (она платная).
Чем МЕНЬШЕ влияние «внешних обстоятельств в обществе», тем больше влияние «личных предпочтений» человека — надеюсь, это не вызызвает возражений? В странах, где у женщин максимальное количество прав и свобод и минимальное влияние всяких общественных стереотипов (Скандинавия, Голландия, ...), разница в профессиональных предпочтениях между женщинами и мужчинами МАКСИМАЛЬНА. Например, женщин-айтишников в Швеции где-то 20%. И женщины в Швеции не идут в АйТи просто потому, что не хотят, а не потому, что кровавый патриархат их угнетает. И эта цифра не вырастет никогда до тех пор, пока не появятся репрессивные законы, гендерные квоты и прочее угнетение мужчин ради мифического гендерного равенства. Таковы единогласные, хоть и контр-интуитивные, результаты многочисленных исследований, сделанных разными людьми в разных странах, о чем в статье и говорится. Могу сказать, что мой личный опыт это полностью подтверждает. Зайдите в офис АйТи-компании в Голландии, и там будет одна-две женщины, и те эмигрантки. Зайдите в офис той же компании в Китае — женщин минимум треть.
Вовсе не так. Зависит от того, кого именно включать в «Computer Science». У меня мать в восьмидесятых работала оператором ЕС ЭВМ (те самые огромные шкафы, магнитные ленты, куча лампочек...). При этом она до сих пор с компьютером не дружит.
“It seems that as gender equality increases, as countries become more progressive, men and women gravitate towards traditional gender norms,” Dr Mac Giolla said. “Why is this happening? I really don’t know.”
Все очень просто. С точки зрения процессора LL — это обычная команда load, а SC — обычная команда store. Они могут быть кэшированные (то есть лезут в кэш проца) и некэшированные (когда в обход кэша лезут прямо на внешнюю шину и дальше в память — DDR или что там у вас).
1. Кэшированные:
Кэшированные LL/SC требуют наличия аппаратной когерентности кэшей (именно поэтому внизу написали, что в TMS320C66xx они пропали). Предположим, что кэш пуст. Когда несколько ядер выполнят LL на ячейку памяти с каким-то одинаковым адресом, то это вызовет промах кэша во всех из них, и кэш-линия, содержащая этот адрес, будет прочитана в кэши всех ядер и во всех из них будет отмечена как «Shared» (гуглите MOESI — «Shared» это и есть «S» в этой аббревиатуре). Каждое ядро заодно запомнит внутри себя этот адрес и будет проверять по нему все последующие записи в память. Теперь, если все эти ядра выполнят SC по этому адресу абсолютно одновременно, то контроллер кэша каждого из ядер запросит перевод строки в состояние «Modified» (поскольку с точки зрения ядра это обычная запись, а запись в «Shared»-строку запрещена). Протокол MOESI регламентирует, что только одно из них получит разрешение перевести строку в «Modified», запросы от остальных будут забуферизированы и на это время они будут обязаны перевести свои строки в состояние «Invalid». Все ядра, в которых строка кэша стала «Invalid», поймут, что кто-то другой записал по этому адресу. Как только первое ядро закончит запись, начнет выполняться забуферизированный запрос от другого ядра: строка, отмеченная как «Modified», станет «Invalid», и наоборот — одна из тех, что были «Invalid», станет «Modified», и т.д. То есть контроллер кэшей будет гонять строку, содержащую наш адрес, туда-сюда между ядрами, и в каждый конкретный момент времени только у одного ядра будет разрешение на запись, но это уже к делу не отностится.
Интересный побочный эффект: поскольку протоколы когерентности кэшей работают со строками, то доступ к любому слову в этой строке будет воспринят как доступ конкретно к нашей ячейке.
2. Некэшированные:
Некэшированные LL/SC вызывают особый тип трансфера на внешней шине: «Exclusive» (в протоколе AXI, например, такой есть). И слэйв на шине (например, контроллер памяти) должен эту функциональность реализовать сам (то есть следить, какой мастер записал по какому адресу и записал ли туда другой мастер что-либо). Если он ее не реализует как положено, то LL/SC защищать ничего не будут. Зачем вообще это надо? Ну, предположим, у вас в системе два четырехядерных проца, и внутри своих четырех ядер они когерентность кэшей обеспечивают, а между собой — нет. Придется вам использовать некэшируемые LL/SC.
С наглядностью того же Verilog при соблюдении минимальной культуры написания кода вообще мало какой из современных языков может сравниться
Штоа? В языке без пользовательских типов данных, структур, многомерных массивов в портах, параметризации наличия/отсутствия портов, с бесконечными строками инлайн-вэйверов типа «spyglass disable_block» для затыкания линтеров? Где нельзя понять ни строчки, если ты не сам их вчера написал?
Любой человек, который хоть что-либо паял в жизни, понимает, что тетка должна была левой рукой держать плату, чтоб по столу не скользила. Она бы это сделала просто инстинктивно. Так что на лицо паршивенькая постановка на тему «даешь больше женщин в STEM».
Не забываем также MBIST, LBIST и прочий DFT, написание прошивок в ROM, всякую сертификацию по ISO-26262 и подобным стандартам, power-domain management и DVFS (самый простой способ выстрелить себе в ногу на сегодняшний день), разработку структуры ECC на всю микросхему (end-to-end или по частям, которые никогда, почему-то, между собой не совместимы), отловку багов в купленных Soft- и Hard-IP (которых там немеряно), ну и еще кучу всего. Именно поэтому куче контор, занимаюшихся исключительно интеграцией IP, хватает на хлеб с икрой.
О том и речь. Только в варианте с Верилогом у вас есть выбор, что моделировать — RTL или нетлист. А в варианте с Chisel'ом выбора нет. Хотя есть шанс, что баги в Chisel'е наложатся на баги в трансляторе и на выходе получится работающий Верилог (по крайней мере, до выхода следующей версии транслятора).
Для Chisel это все не нужно. Эквивалентность между RTL и нетлистом нужна, потому что верифицируете вы одно, а в кремний идет другое. А в случае с Chisel вы верифицируете Verilog, который из него получен, т.к. фреймворка по типу UVM, чтобы верифицировать нативный Chisel, наверняка нету. Если бы верифицировали Chisel, то тогда да.
А дебажить-то как? То же самое, что писать RTL-код, но симулировать и верифицировать только нетлист, а потом каким-то образом пытаться понять, что пофиксить в RTL, чтобы бага в нетлисте ушла? Спасибо, не надо.
Кстати, если кто-то считает, что в России мало женщин в Айти, то из всего вышесказанного следует, что это хороший признак )
Что бесит, так это когда американская VP of HR, у которой в штате 99% женщин, начинает мне рассказывать, что отныне при найме на инженерные позиции мы при прочих равных берем женщин, а за рекомендацию женщины-кандидата бонус в два раза больше, чем за мужчину. Для начала иди и пофикси гендерный баланс в своем чертовом HR отделе, если сможешь!
Чем МЕНЬШЕ влияние «внешних обстоятельств в обществе», тем больше влияние «личных предпочтений» человека — надеюсь, это не вызызвает возражений? В странах, где у женщин максимальное количество прав и свобод и минимальное влияние всяких общественных стереотипов (Скандинавия, Голландия, ...), разница в профессиональных предпочтениях между женщинами и мужчинами МАКСИМАЛЬНА. Например, женщин-айтишников в Швеции где-то 20%. И женщины в Швеции не идут в АйТи просто потому, что не хотят, а не потому, что кровавый патриархат их угнетает. И эта цифра не вырастет никогда до тех пор, пока не появятся репрессивные законы, гендерные квоты и прочее угнетение мужчин ради мифического гендерного равенства. Таковы единогласные, хоть и контр-интуитивные, результаты многочисленных исследований, сделанных разными людьми в разных странах, о чем в статье и говорится. Могу сказать, что мой личный опыт это полностью подтверждает. Зайдите в офис АйТи-компании в Голландии, и там будет одна-две женщины, и те эмигрантки. Зайдите в офис той же компании в Китае — женщин минимум треть.
“It seems that as gender equality increases, as countries become more progressive, men and women gravitate towards traditional gender norms,” Dr Mac Giolla said. “Why is this happening? I really don’t know.”
1. Кэшированные:
Кэшированные LL/SC требуют наличия аппаратной когерентности кэшей (именно поэтому внизу написали, что в TMS320C66xx они пропали). Предположим, что кэш пуст. Когда несколько ядер выполнят LL на ячейку памяти с каким-то одинаковым адресом, то это вызовет промах кэша во всех из них, и кэш-линия, содержащая этот адрес, будет прочитана в кэши всех ядер и во всех из них будет отмечена как «Shared» (гуглите MOESI — «Shared» это и есть «S» в этой аббревиатуре). Каждое ядро заодно запомнит внутри себя этот адрес и будет проверять по нему все последующие записи в память. Теперь, если все эти ядра выполнят SC по этому адресу абсолютно одновременно, то контроллер кэша каждого из ядер запросит перевод строки в состояние «Modified» (поскольку с точки зрения ядра это обычная запись, а запись в «Shared»-строку запрещена). Протокол MOESI регламентирует, что только одно из них получит разрешение перевести строку в «Modified», запросы от остальных будут забуферизированы и на это время они будут обязаны перевести свои строки в состояние «Invalid». Все ядра, в которых строка кэша стала «Invalid», поймут, что кто-то другой записал по этому адресу. Как только первое ядро закончит запись, начнет выполняться забуферизированный запрос от другого ядра: строка, отмеченная как «Modified», станет «Invalid», и наоборот — одна из тех, что были «Invalid», станет «Modified», и т.д. То есть контроллер кэшей будет гонять строку, содержащую наш адрес, туда-сюда между ядрами, и в каждый конкретный момент времени только у одного ядра будет разрешение на запись, но это уже к делу не отностится.
Интересный побочный эффект: поскольку протоколы когерентности кэшей работают со строками, то доступ к любому слову в этой строке будет воспринят как доступ конкретно к нашей ячейке.
2. Некэшированные:
Некэшированные LL/SC вызывают особый тип трансфера на внешней шине: «Exclusive» (в протоколе AXI, например, такой есть). И слэйв на шине (например, контроллер памяти) должен эту функциональность реализовать сам (то есть следить, какой мастер записал по какому адресу и записал ли туда другой мастер что-либо). Если он ее не реализует как положено, то LL/SC защищать ничего не будут. Зачем вообще это надо? Ну, предположим, у вас в системе два четырехядерных проца, и внутри своих четырех ядер они когерентность кэшей обеспечивают, а между собой — нет. Придется вам использовать некэшируемые LL/SC.
Штоа? В языке без пользовательских типов данных, структур, многомерных массивов в портах, параметризации наличия/отсутствия портов, с бесконечными строками инлайн-вэйверов типа «spyglass disable_block» для затыкания линтеров? Где нельзя понять ни строчки, если ты не сам их вчера написал?