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

  • расширение внутренней шины между процессором и расположенными на чипе кэшами до 256 и более разрядов (наглядный пример - Sun
    SPARC);
  • использование внешних DDR-шин, чтобы повысить количество пакетов, передаваемых за такт, так как частоту тактовых импульсов нецелесообразно поднимать выше 200 МГц;
  • упрощение конвейера и уменьшение времени одного такта, чтобы увеличить их общее число (с общепринятых 9-15 до 20 и более);
  • увеличение числа одинаковых блоков;
  • улучшение предсказаний переходов (наиболее актуально для платформы
    RISC);
  • разработка более мощных SIMD-расширений для успешного дробления чисел.

Другими словами, производители с помощью новых подходов и технологий борются с барьерами, которые возникают рано или поздно на пути у любой технологии. Но предел роста производительности в будущем упрется именно в синхронность, из-за сложности архитектуры. И это уже не подвластно технологиям. Кризиса прямо завтра, конечно, не будет. У современных полупроводников резерв для роста производительности пока еще более чем достаточный. Но разработчики, если и не афишируют, уже сейчас работают над альтернативными асинхронными процессорами. И не просто в теории, а есть реальные образцы подобных процессоров.

Проблемы синхронности

Основная проблема синхронной логики заключается в сложной схеме управления. Она использует от 10 до 50% (!) транзисторов на микросхеме. То есть почти половина ресурса, образно говоря, идет коту под хвост. Управляющий поток становится обременительным. Сам подумай, какие затраты при общем числе транзисторов в десять миллионов, из которых пять миллионов - в холостую. И закон Мура в некотором смысле адаптируется - еще не известно, что грозит больше: технологический барьер или барьер, связанный со сложностью проектирования. Чем больше транзисторов, тем сложнее обеспечивать высокое качество результата. Плюс растущие габариты, рост энергопотребления и излучений (если говорить о тех же мобильниках, которые более чем популярны).

Почему синхронность

Почему же в основе всего процессорного производства синхронная логика? Недальновидные взгляды ученых? Скорее всего причина всему - монополизация производства. Отчасти популярности синхронной логики послужила булева логика, которая так популярна уже многие годы. А когда наладили производство и прошло много лет, что-то перестраивать при имеющемся запасе прочности - глупо с точки зрения бизнеса, так как это нереальные материальные затраты. То есть на это не пойдет пока ни один крупный производитель, а именно они определяют судьбу тех или иных технологий. Были еще попытки развить троичную логику (которая не имеет недостатков двоичной логики), но бум кремниевой индустрии свел и эти попытки на нет.

Асинхронность более наглядно

Все здорово, красиво, но не совсем все понятно. Поэтому вернемся к элементарному примеру со строем, который марширует в ногу, а потом пытается синхронно бежать. Если командовать в ногу (синхронная логика), то при марше синхронизировать действия реально, при беге - уже нет. Что же предлагает асинхронная логика? По сути это обратная связь. То есть каждый бегущий смотрит на соседа и подстраивается под него. В итоге, все бегут более менее синхронно. То есть та самая самосинхронизация. Но это слишком простой и притянутый за уши пример. Поэтому рассмотрим еще один. Есть много исполняющих блоков, работающих на разных частотах (имеются в виду предельные частоты). Вместо кэша используется набор регистров. Результаты выполнения команд записываются в "кандидатскую очередь" (можно реализовать как часть файла данных). При этом указывается условие, при котором данные имеют смысл. Если условие вычислено (то есть известно, выполнено оно или нет), данные отбрасываются после выполнения. По мере вычисления условий "непроверенные" помечаются как "проверенные". Но тут есть одно слабое место - возможен коллапс процессора, если проще - неразрешимый цикл. Но проблема лечится грамотным компилятором, который учитывает возможные сценарии развития событий и там, где не уверен, вставляет специальные команды синхронизации. Это позволяет работать блокам асинхронно и параллельно (отсюда понятие параллелизма).

Реальные наработки

В первую очередь асинхронностью интересуются те, у кого денег выше крыши. Это, конечно же, оборонка и, конечно же, в штатах. Прежде всего оборонный проект DARPA, который финансирует небольшую компанию Theseus Logic (точнее спонсируется корпорация Lockheed Martin, у которой есть контракт с Theseus Logic). Theseus занимаются разработкой альтернативной логики NULL Convention Logic (NCL). Ее еще называют расширенной двоичной логикой. Смысл заключается в том, что помимо двух стандартных сигналов TRUE и FALSE используются еще два: NULL и INTERMEDIATE. Есть еще облегченный вариант, при котором используется только один - NULL (получается троичная логика). Благодаря NULL отпадает необходимость часов и синхронизации. Информативный сигнал и NULL передаются, правда, по разным проводам, отсюда название подхода - dual rail. Такое разделение обеспечивает самосинхронизацию. Задействовав четвертый сигнал INTERMEDIATE, схему можно сделать более эффективной, но это опять же лишние провода и транзисторы. Основная цель проекта на сегодня - процессор для тактического истребителя F-22 Raptor.

Хорошо известная Sun Microsystems также ведет работы над разработкой асинхронного процессора. Идея асинхронности строится на уровне полупроводниковых переходов, а проект носит название FleetZero. Пока создан только экспериментальный процессор, но уже сейчас он показывает бОльшую производительность, нежели аналогичные процессоры с синхронной логикой.

Некоторые другие проекты (к примеру, MiniMYPS и AMULET) стараются упростить задачу. Они не изобретают новый велосипед, а пытаются переделать процессоры с синхронной логикой в процессоры с асинхронной логикой. И уже есть первые результаты. В качестве образца был взят процессор MIPS R3000 (синхронная логика), который удалось переделать в асинхронный аналог MiniMIPS (отсюда и название проекта). Но подобные пути решения проблемы аналитики считают провальными, так как остается привязка к синхронности. Их мнение, что будущее - радикальное решение, не имеющее ничего общего с процессорами на синхронной логике.

Перспективы развития

Сказать определенно, что асинхронная логика - будущее процессоростроения, нельзя. Это просто одна из альтернатив, которая имеет место, уже достаточно изучена, с реальными готовыми наработками и примерами. Но, во-первых, ресурс синхронной логики может быть в очередной раз искусственно продлен, посредством новых технологий или новых решений, базирующихся на синхронной логике. А во-вторых, не исключено, что появится другая, более вкусная альтернатива. Или уже появилась, но не обнародована. Черт его знает, что там делается в секретных военных лабораториях и какая логика используется в их засекреченных девайсах. Нам смертным остается только наблюдать, разбираться и прогнозировать. Решают все большие дяди.

Оставить мнение