Как часто бывает, загадка так и оставалась бы на периферии внимания общественности, если бы не талантливый популяризатор — английский профессор Стив Джонс (Steve Jones) с его книгой «Y: угасание мужчин» («Y: The Descent of Men»). Специалист по генетике и сексу улиток очень живо, с анекдотцами дал фундаментальный обзор мужской сексуальности — от действия гормонов до исторических дискуссий Наполеона и Александра I об облысении. В описании профессора «сильный пол» смахивает на тех самых слизняков — неповоротливых никчемных созданий, использующих женский организм для размножения своих паразитических генов и потихоньку теряющих не только куски хромосомного достоинства, но и вес и значение в обществе. Так человек обречен? Джонс считает, что и без Y-хромосомы вид мог бы найти возможность размножения и как-то установить разделение полов (оно обеспечивает важные эволюционные преимущества). Но что загадывать на такие сроки… Тем более что подоспевшие данные «Генома» показали, что ситуация с Y не столь критична[Возможно, здесь вообще нет причин для беспокойства. Количество генов в Y-хромосоме сокращалось потому, что они не важны для выживания. Но если уменьшение Y-хромосомы достигнет критического рубежа, при котором начнет мешать размножению, то потомство будут оставлять преимущественно те мужчины, у которых она еще не «растаяла». Иными словами, включится отбор на сохранение Y-хромосомы. — Д.Ш.].
   Работающих генов здесь оказалось раза в два больше, чем считалось. Для устойчивости Y-хромосомы плохо то, что она присутствует в клетке в одном-единственном экземпляре. Остальные хромосомы ходят парами, а X испытывает одиночество только на время пребывания в мужском теле. Наличие двойника не только смягчает последствия случайных мутаций, но и в ряде случаев позволяет «залечить» повреждения ДНК, воспользовавшись второй нетронутой матрицей. Выяснилось, что недостаток партнера отчасти компенсируется наличием в Y-хромосоме длинных палиндромов — фрагментов кода, две равные части которых являются зеркальным отражением друг друга. Вроде классического «А роза упала на лапу Азора» (правда, в генетической кодировке АТ/ГЦ вряд ли выйдет что-то более поэтичное, чем А ТАТА АТАТА). Некоторые важные последовательности внутренне дублируются в таких тандемах, что помогает хромосоме стабилизироваться и не превратиться в «генетическую свалку».
   Вот и хорошо. А то пришлось бы спасать свой биологический вид всякими искусственными манипуляциями вроде методов американской компании Microsort. Закоперщик сортировочного бизнеса использует проточную цитофотометрию — методику, позволяющую работать с клетками поштучно, оценивая по ходу дела содержание в них хромосомного материала оптическими способами. В результате удается создать обогащенные фракции спермы, обеспечивающие в одном случае 91-процентную вероятность рождения девочки, а в другом — 76-процентную вероятность рождения мальчика. Сейчас есть два мотива для применения метода: необходимость предотвращения сцепленных с X-хромосомой генетических заболеваний и возможность «балансирования» состава семьи — чтобы в ней были дети разного пола[Есть, правда, некоторые опасения, что используемое в методике облучение сперматозоидов ультрафиолетом может сказаться на потомстве. Причем эффекты от эпигенетических нарушений могут передаваться через поколения. — Д.Ш.].
   А вот у шимпанзе (о полной расшифровке генома которого объявлено совсем недавно) дело с Y-хромосомой обстоит немного иначе. Общего предка мы имели около 6 млн. лет назад, и скорость эволюционного расхождения оценивается примерно в 5 млн. мутаций за миллион лет. Но если человек сохранил те гены в Y-хромосоме, которые не были защищены палиндромным резервированием, то у шимпанзе несколько из них пришли в нерабочее состояние. Так что разговоры о принципиальной возможности эволюционной утраты Y-хромосомы, видимо, не совсем уж беспочвенны.
   Новейшие данные заставили пересмотреть и взгляды на функционирование X—хромосомы. Генетики привыкли думать, что у женщин одна из них инактивируется и присутствует в ядре клетки в виде плотного образования — так называемого полового хроматина. Его наличие или отсутствие, в частности, позволяет судебным медикам определить пол человека при исследовании клеток под микроскопом. Кстати, обратим внимание, что в соседних клетках может с равной вероятностью инактивироваться любая из X-хромосом — и та, что от матери, и та, что от отца. А ведь они все-таки разные, значит, из клеточного массива получается функциональная генетическая мозаика.
   При более точном рассмотрении выяснилось, что вторая хромосома инактивируется не полностью. Результаты анализа, опубликованные в журнале Nature Лорой Каррел и Хантингтоном Уиллардом (Laura Carrel, Huntington F. Willard), показывают, что около 15% неравномерно распределенных по дублирующей Х-хромосоме генов остаются активными. Помимо этого «постоянного пула», избегать выключения способны еще до 10% разных генов. Причем степень их активности может сильно отличаться у разных женщин. Получается, что в каждой клетке работает не одна X-хромосома, а что-то около одной с четвертью, то ли с материнской ведущей, то ли с отцовской, то ли в такой генной конфигурации, а то ли в этакой. Раз Х-хромосома воплощает биологическую сущность женского начала, остается лишь сказать, что каждая женщина — немножко больше, чем просто женщина. А учитывая, что многоликая X-хромосома — это свыше тысячи важнейших генов, надо признать: известная сложность внутреннего мира, непредсказуемость и загадочность милых дам имеют серьезную молекулярную поддержку.

: Опять Нобелевка

   Нобелевский комитет в сто четвертый раз назвал имена лауреатов самой престижной премии за выдающиеся интеллектуальные достижения в области физики, химии и медицины. Денежное вознаграждение в каждой дисциплине составило 10 млн. шведских крон (около 1,3 млн. долларов).
   Наука точности
   В этом году Нобелевская премия по физике разделена пополам и присуждена за разные работы в области оптики, теоретическую и экспериментальную. Однако оба отмеченных исследования объединяет то, что они устанавливают предельные возможности многих физических измерений, которые, в свою очередь, определяют потенциал новейших технологий.
   Половина премии отдана профессору Рою Глауберу (Roy Glauber) «за вклад в квантовую теорию оптической когерентности». Вторая половина поделена между американским ученым Джоном Холлом (John Hall) и немецким исследователем Теодором Хеншем (Theodor Ha..nsch) «за вклад в развитие точной лазерной спектроскопии, включая метод гребенки оптических частот».
   Восьмидесятилетний патриарх Рой Глаубер [1] отмечен за свои достижения еще шестидесятых годов прошлого века, когда ему удалось применить квантование электромагнитного поля для корректного описания процессов поглощения и испускания света. Эти работы дали теоретический базис новым оптическим наблюдениям и легли в основу квантовой оптики.
   В начале прошлого века благодаря работам Макса Планка и Альберта Эйнштейна стало понятно, что свет в ряде случаев нужно описывать как поток частиц — фотонов или квантов энергии. Долгое время эти представления противоречили классической волновой электродинамике Джеймса Максвелла, что получило известность как корпускулярно-волновой дуализм.
   Это глубокое противоречие было разрешено лишь после Второй мировой войны в результате создания квантовой электродинамики, легшей в основу физики элементарных частиц. Однако для описания оптических явлений квантовая электродинамика долго оставалась невостребованной. Лишь с появлением чувствительных фотодетекторов, способных регистрировать отдельные фотоны, и лазеров, генерирующих когерентный свет, статистические свойства которого резко отличаются от свойств света традиционных тепловых источников, в оптике возникли проблемы. В конце пятидесятых были проведены первые эксперименты, которые уже нельзя было объяснить при классическом понимании электромагнитного поля (хотя даже для описания работы лазера его вполне достаточно).
   Проблемы были решены вместе с созданием квантовой оптики, объяснившей статистические закономерности оптических измерений, которые носят квантовую природу. В числе прочего законы квантовой оптики устанавливают предел точности экспериментов, ограниченный принципиально непреодолимыми квантовыми шумами электромагнитного поля.
   Начиная с семидесятых годов квантовая оптика лежит в основе большинства работ, позволяющих прикоснуться к фундаментальным основам самой квантовой теории. А в последние годы именно благодаря успехам квантовой оптики появилась квантовая криптография, которая кодирует секретную информацию в состояниях отдельных фотонов, передаваемых по обычному оптоволокну.
   Два других лауреата — Джон Холл [2] и Теодор Хенш [3] — много лет успешно работали над созданием лазеров с предельно высокой стабильностью частоты. Их детища послужили технической основой для многих сверхточных физических измерений. Например, в 1983 году был введен новый эталон метра, который определили, постулировав точное значение скорости света и тем самым жестко привязав эталон длины к эталонному времени цезиевых атомных часов. Благодаря усилиям этих ученых точность измерения частоты удалось довести до пятнадцати знаков.
   Выдающееся достижение Холла и Хенша последних лет — метод гребенки оптических частот — позволил «привязать» оптические частоты излучения лазеров порядка 1015 Гц к цезиевому эталону времени, работающему с частотой 9,2 ГГц (разница в пять порядков по частоте создавала огромные технические проблемы). Линейчатый спектр лазерных импульсов похож на частую и острую гребенку, которая покрывает весь видимый спектр (что и дало название методу). Хитрый трюк позволяет получить из гребенки биения радиочастоты и сравнить их с цезиевым эталоном. Благодаря этому, точно вычисляется частота каждого из ее зубьев. Этот элегантный метод уже позволяет выпускать коммерчески доступные эталонные излучатели, умещающиеся на лабораторном столе. Дальнейшее развитие метода и переход к аттосекундным импульсам обещает в ближайшие годы повышение точности еще на три порядка и достижение рентгеновского диапазона энергий.
   История учит, что рост точности измерений часто ведет к новым физическим открытиям и технологическим прорывам. Работы Холла и Хенша заложили основу для новой проверки фундаментальных физических законов. Теперь стал возможен немыслимый ранее поиск анизотропии пространства, отличий в свойствах вещества и антивещества, возможных вариаций фундаментальных физических постоянных.
   Обмен как двигатель прогресса
   Премия по химии разделена между французским ученым Ивом Шовеном (Yves Chauvin) и американцами Робертом Груббсом (Robert Grubbs) и Ричардом Шроком (Richard Schrock) — «за развитие метода метатезиса в органическом синтезе».
   Работы лауреатов нынешнего года внесли ключевой вклад в превращение метатезиса, то есть химических реакций обмена, в одно из важнейших направлений современной органической химии. Эти реакции позволяют легко синтезировать огромное количество новых органических веществ — от лекарств и гербицидов до сверхпрочного пластика.
   Органические вещества, составляющие основу всего живого, так разнообразны благодаря уникальным свойствам атомов углерода, которые способны образовывать длинные цепочки и кольца с одинарными и двойными связями, а также соединяться с атомами других элементов. В обменных реакциях две органические молекулы разделяются на части путем разрыва двойной углеродной связи и обмениваются своими частями, образуя новые соединения. Такой обмен становится возможным благодаря помощи молекул-катализаторов, играющих роль посредников.
   Первые обменные реакции были случайно найдены и запатентованы еще в пятидесятые годы прошлого века. Но лишь в 1971 году Ив Шовен [4] впервые детально описал их механизм и объяснил, какие соединения могут играть роль катализаторов. Ричард Шрок [5] был первым, кто в 1990 году применил эффективный катализатор на основе тантала для обменных реакций. Два года спустя Роберт Груббс [6] разработал еще более эффективный, стабильный и дешевый рутениевый катализатор, который нашел широчайшее применение в промышленности.
   Не все болезни от нервов
   Премию по физиологии и медицине получили австралийцы Барри Маршалл (Barry Marshall) и Робин Уоррен (Robin Warren) за открытие роли микроорганизма Helicobacter pylori [7] в развитии гастрита, язвы желудка и двенадцатиперстной кишки. Помимо распространенности заболевания, поражающего, по последним данным, до десяти и более процентов взрослого населения в развитых странах, впечатляет неожиданность открытия.
   С позапрошлого века выдвигались самые разные гипотезы о причинах возникновения болезни — тромбоз или другое поражение сосудов, травмирование нежной слизистой желудка грубой пищей, воспаление, разрушительное действие соляной кислоты… Не было недостатка и в теориях, отдававших первенство психоэмоциональному перенапряжению, особенно — разрушительной роли отрицательных эмоций. Оказалось, однако, что эта болезнь не столько от нервов, сколько от «заразы».
   В начале 80-х австралийский патологоанатом Уоррен, изучавший кусочки ткани желудка больных гастритом, обнаружил в них спиралевидные бактерии. Этими данными заинтересовался гастроэнтеролог Маршалл, позднее подтвердивший болезнетворность микроорганизмов по всем канонам самоотверженного научного поиска — выпив культуру бактерий и затем излечившись антибиотиками. Результаты совместных изысканий Уоррен и Маршалл в 1983 году опубликовали в авторитетном журнале Lancet, и эта дата считается точкой отсчета в новой эпохе исследования язвенной болезни. В 1989 году бактерия была окончательно идентифицирована и получила наименование Helicobacter pylori (греч. helix — спираль), в 1998 году расшифрован ее геном.
   Считается, что носителями H. Pylori являются 50—60% людей. Но заболевают, понятное дело, не все, это зависит и от индивидуальной сопротивляемости организма, и от различий между отдельными штаммами H. pylori. С этой бактерией связывают 80—90% всех случаев язвенной болезни. Передается H. pylori через желудочно-кишечный тракт, так что старые добрые рекомендации тщательно мыть руки перед едой и не пить некипяченой воды по-прежнему актуальны.
   А что же стресс и грубая пища — не имеют отношения к язве? Еще как имеют. Однако есть разница между причинным (этиологическим) фактором, условиями его реализации и механизмами развития нарушений (патогенезом). Установка или неустановка файрвола может иметь решающее значение как условие для заражения (или незаражения) компьютерным вирусом. Действия вируса в компьютере, его своевременное (или несвоевременное) обнаружение и уничтожение — факторы патогенеза. Но этиологический-то фактор, вокруг которого все закручивается, — сам вирус.
   Диагностика наличия в организме H. pylori не всегда требует проведения биопсии. В ряде случаев бывает достаточно теста, основанного на наличии у H. pylori уреазы — фермента, разлагающего мочевину на углекислый газ и аммиак. Используется мочевина, содержащая изотопы углерода 13С или, реже, 14С (радиоактивен), а анализ выдыхаемого воздуха на меченную углекислоту проводится масс-спектрометрическим способом. Не требуют эндоскопического вмешательства также иммунологические методы и определение ДНК возбудителя в фекалиях. Сейчас уже отточены стандартные схемы полного уничтожения (эрадикации) H. pylori в организме, всегда включающие препараты нескольких групп (блокаторы протоновой помпы, препараты висмута и антибактериальные средства).
   Проблема хронического гастрита и язвы, конечно, не сводится лишь к H. pylori. Но и роль обнаруженного возбудителя, похоже, не ограничивается этими болезнями. Речь идет не только о раке желудка, который может развиваться как результат длительной вялотекущей язвенной болезни, и значение H. pylori здесь доказано. Есть данные о связи этого инфекционного агента с атеросклерозом, ишемической болезнью сердца и инсультом. В общем, Нобелевку зазря не дадут.

ТЕМА НОМЕРА: Архитектура CPU

   В 70-х годах прошлого столетия проектирование и изготовление центральных процессоров было занятием, принципиально доступным каждому. Если какому-нибудь сотруднику, скажем, Стэндфордского университета приходила в голову интересная идея, он мог легко набрать команду, основать фирму, найти инвесторов и уже через год-два выбросить на рынок свои CPU.
   Через тридцать с небольшим лет процессоры усложнились до такой степени, что разработка хоть сколько-нибудь быстрого по современным меркам кристалла требует огромной армии инженеров, гигантских инвестиций и целого моря времени. И дело здесь отнюдь не в тонких кремниевых технологиях и стоящих миллиарды долларов полупроводниковых фабриках — просто уже в 80-х годах разработка принципиально нового CPU требовала двух-трех, а в 90-х — пяти-шести лет напряженной работы. Те же китайцы, даже располагая подробной информацией о тридцатилетней истории проектирования процессоров, владея новейшими фабриками по производству кремниевых кристаллов и не стремясь изобретать что-то новое, потратили на разработку собственного простейшего MIPS32-подобного процессора Godson (примерно эквивалентного по производительности i486) несколько лет. Это не считая еще одного года, когда новый кристалл отлаживали. А на разработку MIPS64-подобной архитектуры с приемлемой производительностью (~Pentium III 500—600 МГц) у китайской Академии наук ушло еще четыре года, — четыре года, потраченных только на то, чтобы повторить успех более чем двенадцатилетней давности. Но почему все получается так сложно? Чтобы ответить на этот вопрос нам придется вернуться на 30-40 лет в прошлое
   Шаг первый. CISC
   Так уж исторически сложилось, что поначалу совершенствование процессоров было направлено на то, чтобы сконструировать по возможности более функциональный компьютер, который позволил бы выполнять как можно больше разных инструкций. Во-первых, так было удобнее для программистов (компиляторы языков высокого уровня еще только начинали развиваться, и все по-настоящему важные программы писались на ассемблере), а во-вторых, использование сложных инструкций зачастую позволяло сильно сократить размеры написанной на ассемблере программы. А где меньше инструкций — меньше и затраченное на исполнение программы время.
   Надо признать, что достигнутые на этом пути успехи действительно впечатляли — в последних версиях ЭВМ выразительность ассемблерного листинга зачастую не уступала выразительности программы, написанной на языке высокого уровня. Одной-единственной машинной инструкцией можно было сказать практически все, что угодно. К примеру, такие машины, как DEC VAX, аппаратно поддерживали инструкции «добавить элемент в очередь», «удалить элемент из очереди» и даже «провести интерполяцию полиномом» (!); а знаменитое семейство процессоров Motorola 68k почти для всех инструкций поддерживало до двенадцати (!) режимов адресации памяти, вплоть до взятия в качестве аргумента инструкции «данных, записанных по адресу, записанному вон в том регистре, со смещением, записанным вот в этом регистре». Отсюда и общее название соответствующих архитектур: CISC — Complex Instruction Set Computers («компьютеры с набором инструкций на все случаи жизни»).
   На практике это привело к тому, что подобные инструкции оказалось сложно не только выполнять, но и просто декодировать (выделять из машинного кода новую инструкцию и отправлять ее на исполнительные устройства). Чтобы машинный код CISC-компьютеров из-за сложных инструкций не разрастался до огромного размера, машинные инструкции в большинстве этих архитектур имели неоднородную структуру (разное расположение и размеры кода операции и ее операндов) и сильно отличающуюся длину (в x86, например, длина инструкций варьируется от 1 до 15 байт). Еще одной проблемой стало то, что при сохранении приемлемой сложности процессора многие инструкции оказалось принципиально невозможно выполнить «чисто аппаратно», и поздние CISC-процессоры были вынуждены обзавестись специальными блоками, которые «на лету» заменяли некоторые сложные команды на последовательности более простых. В результате все CISC-процессоры оказались весьма трудоемкими в проектировании и изготовлении. Но что самое печальное, к моменту расцвета CISC-архитектур стало ясно, что все эти конструкции изобретались в общем-то зря — исследования программного обеспечения того времени, проведенные IBM, наглядно показали, что даже программисты, пишущие на ассемблере, все эти «сверхвозможности» почти никогда не использовали, а компиляторы языков высокого уровня — и не пытались использовать.
   К началу 80-х годов классические CISC полностью исчерпали себя. Расширять набор инструкций в рамках этого подхода дальше не имело смысла, наоборот — технологи столкнулись с тем, что из-за высокой сложности CISC-процессоров оказалось трудно наращивать их тактовую частоту, а из-за «тормознутости» оперативной памяти тех времен зашитые в память процессора расшифровки сложных инструкций зачастую работают медленнее, чем точно такие же цепочки команд, встречающиеся в основной программе. Короче говоря, стало очевидным, что CISC-процессоры нужно упрощать — и на свет появился RISC, Reduced Instruction Set Computer.
 
   Регистровые окна SPARC
   При построении RISC-процессоров принимается во внимание медлительность оперативной памяти. Обращения к ней (даже с учетом различных кэшей) — «дорогостоящи» и требуют дополнительных вычислений, а потому, насколько это возможно, их следует избегать. Но Load/Store-архитектура и большое число регистров — не единственное, что можно сделать.
   В любом программном коде можно встретить немало вызовов функций — фактически требований к процессору перейти в заданное место программы, продолжить выполнение программы до специальной инструкции возврата, после чего — вернуться к тому месту, где произошел вызов, почти полностью восстановив свое состояние до вызова функции. Чтобы это можно было сделать, при вызове функции процессор должен «запомнить» свое текущее состояние — в частности, содержимое некоторых регистров общего назначения и значительной части специальных регистров. Традиционное решение — «запихнуть» все необходимые данные в специальную конструкцию — стек[ Стек можно условно представить как запаянную с одного конца трубку, в которую по одному кладутся и по одному же извлекаются шарики (данные). Первый положенный в трубку шарик извлекается последним, так что если мы, скажем, по очереди положим (push) в стек числа 1, 2, 3, то извлекая (pop) данные, мы поочередно достанем 3, 2, 1.], которую процессор поддерживает на аппаратном уровне и которая в большинстве процессоров реализована в виде пары служебных регистров и выделенного участка оперативной памяти, куда все складываемые в стек данные и записываются. Поэтому любой вызов функции в традиционной схеме неявным образом приводит к записи в оперативную память десятков, а то и сотен байт информации. Есть даже целый ряд модельных задачек на эту тему — как написать компилятор, минимизирующий количество сохраняемой информации; причем кое-какие из этих наработок поддерживаются популярными компиляторами (например, соглашение __fastcall в некоторых компиляторах C/C++). Но оказывается, что всего этого можно избежать.
   В типичной SPARC-архитектуре используется регистровый файл из 128 регистров; причем пользователю из них одномоментно доступны только расположенные подряд 24 регистра, образующие в этом файле окно, плюс еще восемь стоящих особняком глобальных регистров. Глобальные регистры используются для глобальных переменных[В структурных языках программирования типа C принято разделять локальные переменные, которые определены и используются только одной конкретной функцией и существуют только то время, пока эта функция работает; и глобальные переменные, которые существуют все время, пока выполняется программа, и доступны всем функциям программы]; регистровое окно — для локальных. Когда нам нужно вызвать какую-нибудь функцию, мы записываем необходимые для ее работы исходные данные в конец окна, а процессор при вызове функции попросту смещает окно по регистровому файлу таким образом, чтобы записанные данные оказались в начале нового, пока пустого окна. Требовавшие сохранения временные данные вызывавшего функцию кода оказываются за пределами окна, так что испортить их нечаянными действиями невозможно. А когда функция заканчивает работу, то полученные результаты записываются в те же самые регистры в начале окна, после чего процессор смещает его обратно. И никаких расходов на сохранение-восстановление стека.
   Расположение окон в SPARC’ах можно программировать, добиваясь максимально эффективного использования схемы (либо много окон, но маленьких, либо мало — но больших; в зависимости от того, что за функции встречаются в программе) — этот факт даже отражен в названии процессора (Scalable Processor ARChitecture). Подобно многим своим RISC-сестрам, разработанная в середине 80-х годов и пережившая расцвет в середине 90-х, SPARC-архитектура не выдержала «гонки мегагерц» и сегодня фактически умерла. Но предложенный ею подход живет и здравствует — его позволяет использовать, например, архитектура IA-64 (Itanium).