Журнал «Компьютерра» №37 - Журнал Компьютерра (бесплатные онлайн книги читаем полные версии .txt) 📗
Первые обменные реакции были случайно найдены и запатентованы еще в пятидесятые годы прошлого века. Но лишь в 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, наглядно показали, что даже программисты, пишущие на ассемблере, все эти «сверхвозможности» почти никогда не использовали, а компиляторы языков высокого уровня - и не пытались использовать.