Выбрать главу

То, что предлагает Intel, как ни крути, сильно напоминает Cell, только с гораздо большим количеством ядер: если в детище IBM и Sony их всего девять, то в экспериментальном кристалле Intel - добрых восемьдесят (матрица 8x10). И там и там ядра максимально упрощены и функционируют на частоте 3-4 ГГц; и там и там, чтобы снять проблему недостаточной пропускной способности, каждому ядру выделяется кусочек локальной памяти, с которым оно может работать без оглядки на всех остальных; и там и там используется сложнейшая система связи, связывающая отдельные ядра в многомерную сетку, в которой передаются данные. Разница только в реализации: если IBM и Sony используют сравнительно традиционные технологии, то Intel - принципиально новые. Например, в Cell локальная память реализована как упрощенный аналог кэш-памяти первого уровня и является частью кристалла процессора. В терапроцессоре же используется технология трехмерной упаковки оперативной памяти - на подложке строится «сэндвич» из кристаллов оперативной памяти и лежащего над ними кристалла процессора, что позволяет разместить на той же площади куда больше и ядер, и подключенной к ним памяти. В ядрах Cell нет кэш-памяти и тем более - когерентной (хранящей общие для всех ядер данные), в терапроцессоре - есть. В качестве внешнего интерфейса для Cell используется «электронная» технология, для терапроцессора планируется оптический канал на порядок большей пропускной способности и т. д.

Впрочем, хватает и уникальных наработок - например, в терапроцессоре планируется использовать так называемую транзакционную оперативную память, позволяющую объединить несколько операций чтения-записи в одну транзакцию, для которой гарантируется защита от одновременного чтения-записи со стороны других ядер. Например, если у нас есть счетчик - ячейка памяти, к которой обращаются все ядра, каждый раз увеличивая его на единичку, то в «классическом» варианте, когда контроллер памяти просто обслуживает запросы на чтение и на запись от всех ядер, легко может возникнуть следующая ситуация: скажем, первое ядро прочитало текущее значение счетчика, но не успело записать новое, тогда как счетчик - с уже устаревшим значением - читает второе ядро. Если, например, в счетчике было записано число 11, то и первое, и второе ядро в этом случае прочитают «11», вычислят 11+1 = 12 и два раза подряд (сперва одно, потом второе) запишут в счетчик это значение вместо правильного - 11+1+1 = 13. Когда же чтение и запись представляют собой одну транзакцию, такой проблемы не возникает - пока первое ядро не запишет в счетчик 12, второе не сможет прочитать его значения. Механизм еще требует доработки и уточнения, но уже понятно, что этот способ намного быстрее, чем сегодняшняя практика «защиты» счетчика, сводящаяся к тому, что, прочитав счетчик, процессорное ядро ставит «блокировку», запрещающую остальным процессорам что-либо читать или писать из памяти, пока туда не будет записан результат вычислений.

Из других интересных наработок отмечу кэш-память с разделением приоритетов (QoS), в которой данные одного приложения интенсивно вытесняются из кэшей определенных уровней, а другого, более чувствительного к задержкам оперативной памяти, - остаются там до последнего, причем более часто используемые данные - в кэшах высших уровней; усовершенствованные технологии виртуализации, направленные на использование с операционными системами и языками программирования следующих поколений, «заточенных» под высокопараллельные вычисления; интеграция высокоскоростных средств ввода-вывода, вплоть до сетевого контроллера, непосредственно на кристалл процессора.

В отличие от клэйтроники, терапроцессоры - дело вполне обозримого будущего. CEO Intel Пол Отеллини даже демонстрировал кремниевую пластину с соответствующими сэмплами - правда, не рабочими, а всего лишь экспериментально-отладочными, так что до коммерческого продукта дело дойдет еще не скоро (во всяком случае не раньше, чем Intel перейдет на 45-нм технологический процесс).

Кремниевая фотоника

Хотя чистый кремний, с нашей точки зрения, абсолютно не похож на содержащее этот же кремний стекло, в определенных электромагнитных диапазонах (в частности, в инфракрасном свете) он почти прозрачен (что, кстати говоря, используется при отладке микропроцессоров - наблюдая за тем, как они излучают свет, можно многое сказать о функционировании их элементов). Вместе с тем у квантов света в качестве носителей информации по сравнению с электронами есть множество плюсов. Переменный электрический ток, текущий по проводу, образует вокруг себя электромагнитное поле, которое возбуждает электрический ток в соседних проводах - возникают наводки и помехи, тем более сильные, чем ближе расположены в кристалле проводники и выше частота (а значит, и пропускная способность). С оптикой таких проблем нет. По одному проводнику очень трудно передавать большое количество разной информации - согласно фундаментальным принципам теории связи, общий объем передаваемой информации будет ограничен шириной спектра сигнала (грубо говоря - максимально достижимой тактовой частотой для этого проводника), а она для сегодняшних металлов не слишком высока. Частотный диапазон оптического канала связи на несколько порядков выше - а потому в нем легко можно совместить несколько «узкополосных» сигналов (свет «разных цветов»), причем с большей скоростью на один канал, чем у «медного» проводника. Наконец, оптический сигнал не так сильно затухает и практически не подвержен наводкам от бытовой техники, радиостанций, сигналов радара и всему прочему, что засоряет радиоэфир. Словом, оптика как средство передачи информации выглядит гораздо интереснее электрического тока, и кремний прозрачен для определенного инфракрасного света - а потому уже много лет предпринимаются попытки создать процессор если не оптический, то хотя бы использующий оптику для передачи данных на сравнительно большие (по меркам кристалла) расстояния.

Вытравливая в кристалле полоски кремния особого вида, можно добиться того, чтобы они играли роль световодов, передающих свет от одного участка кристалла к другому. Разместив над световодом специальный конденсатор и изменяя на нем напряжение так, чтобы в канале под ним создавалась особого рода «накачанная» среда, можно организовать крошечную управляемую задержку в передаче («вращать» по желанию его фазу). Разделяя оптический сигнал на два одинаковых канала, вращая фазу в одном и снова складывая сигналы, можно добиться того, чтобы в «обычном» состоянии сигналы складывались «в фазе», усиливая друг друга, а во «включенном» - в противофазе, ослабляя, и таким образом эффективно и очень быстро модулировать электрическим током оптический сигнал, передавая данные. С приемом данных - преобразованием модулированного света обратно в электрический ток - особых проблем не возникает, соответствующие решения известны и применяются уже давно. И чтобы все это заработало, не хватало лишь одного - «источника питания», который дал бы тот самый изначальный свет, который можно промодулировать, передать по световоду и детектировать в приемнике. Вплоть до недавних пор единственным способом обойти это ограничение было использование внешнего лазера, «освещавшего» снаружи кремниевый чип, а это дорого, сложно и малоэффективно. В прошлом году собственно лазер (как рабочее тело и оптический резонатор) удалось перенести на кристалл - хотя для его работы ему по-прежнему требовалась внешняя накачка светом. И вы уже, наверное, догадались, к чему я клоню, - на Форуме Intel объявила о последнем, решающем достижении в этой области, сумев интегрировать на тот же кристалл помимо лазера и источник накачки на основе фосфида индия. Так что теперь корпорация располагает всеми необходимыми технологиями для промышленного производства «обыкновенных», не требующих никаких специальных условий, кроме электропитания, полупроводниковых кристаллов, работающих с модулированным инфракрасным светом.