Впрочем, хватает и уникальных наработок — например, в терапроцессоре планируется использовать так называемую транзакционную оперативную память, позволяющую объединить несколько операций чтения-записи в одну транзакцию, для которой гарантируется защита от одновременного чтения-записи со стороны других ядер. Например, если у нас есть счетчик — ячейка памяти, к которой обращаются все ядра, каждый раз увеличивая его на единичку, то в «классическом» варианте, когда контроллер памяти просто обслуживает запросы на чтение и на запись от всех ядер, легко может возникнуть следующая ситуация: скажем, первое ядро прочитало текущее значение счетчика, но не успело записать новое, тогда как счетчик — с уже устаревшим значением — читает второе ядро. Если, например, в счетчике было записано число 11, то и первое, и второе ядро в этом случае прочитают «11», вычислят 11+1 = 12 и два раза подряд (сперва одно, потом второе) запишут в счетчик это значение вместо правильного — 11+1+1 = 13. Когда же чтение и запись представляют собой одну транзакцию, такой проблемы не возникает — пока первое ядро не запишет в счетчик 12, второе не сможет прочитать его значения. Механизм еще требует доработки и уточнения, но уже понятно, что этот способ намного быстрее, чем сегодняшняя практика «защиты» счетчика, сводящаяся к тому, что, прочитав счетчик, процессорное ядро ставит «блокировку», запрещающую остальным процессорам что-либо читать или писать из памяти, пока туда не будет записан результат вычислений.
Из других интересных наработок отмечу кэш-память с разделением приоритетов (QoS), в которой данные одного приложения интенсивно вытесняются из кэшей определенных уровней, а другого, более чувствительного к задержкам оперативной памяти, — остаются там до последнего, причем более часто используемые данные — в кэшах высших уровней; усовершенствованные технологии виртуализации, направленные на использование с операционными системами и языками программирования следующих поколений, «заточенных» под высокопараллельные вычисления; интеграция высокоскоростных средств ввода-вывода, вплоть до сетевого контроллера, непосредственно на кристалл процессора.
В отличие от клэйтроники, терапроцессоры — дело вполне обозримого будущего. CEO Intel Пол Отеллини даже демонстрировал кремниевую пластину с соответствующими сэмплами — правда, не рабочими, а всего лишь экспериментально-отладочными, так что до коммерческого продукта дело дойдет еще не скоро (во всяком случае не раньше, чем Intel перейдет на 45-нм технологический процесс).
Кремниевая фотоника
Хотя чистый кремний, с нашей точки зрения, абсолютно не похож на содержащее этот же кремний стекло, в определенных электромагнитных диапазонах (в частности, в инфракрасном свете) он почти прозрачен (что, кстати говоря, используется при отладке микропроцессоров — наблюдая за тем, как они излучают свет, можно многое сказать о функционировании их элементов). Вместе с тем у квантов света в качестве носителей информации по сравнению с электронами есть множество плюсов. Переменный электрический ток, текущий по проводу, образует вокруг себя электромагнитное поле, которое возбуждает электрический ток в соседних проводах — возникают наводки и помехи, тем более сильные, чем ближе расположены в кристалле проводники и выше частота (а значит, и пропускная способность). С оптикой таких проблем нет. По одному проводнику очень трудно передавать большое количество разной информации — согласно фундаментальным принципам теории связи, общий объем передаваемой информации будет ограничен шириной спектра сигнала (грубо говоря — максимально достижимой тактовой частотой для этого проводника), а она для сегодняшних металлов не слишком высока. Частотный диапазон оптического канала связи на несколько порядков выше — а потому в нем легко можно совместить несколько «узкополосных» сигналов (свет «разных цветов»), причем с большей скоростью на один канал, чем у «медного» проводника. Наконец, оптический сигнал не так сильно затухает и практически не подвержен наводкам от бытовой техники, радиостанций, сигналов радара и всему прочему, что засоряет радиоэфир. Словом, оптика как средство передачи информации выглядит гораздо интереснее электрического тока, и кремний прозрачен для определенного инфракрасного света — а потому уже много лет предпринимаются попытки создать процессор если не оптический, то хотя бы использующий оптику для передачи данных на сравнительно большие (по меркам кристалла) расстояния.
Читать дальше