Основу любого процессора составляет полупроводниковый вентильный элемент -- транзистор. Принцип работы его известен из школьного курса физики. Транзистор позволяет управлять электрическим сопротивлением проводника при помощи электрического тока, проходящего через базу (биполярный транзистор), или электрического напряжения, подаваемого на затвор (полевой транзистор). Если ввести обратную связь, то есть подать часть выходного сигнала транзистора на его вход, то можно заставить прибор работать в двух стабильных состояниях, которые соответствуют логическим 0 и 1.
На основе двух транзисторов можно создать ячейку, информационная емкость которой будет равна 1 биту. Восемь таких ячеек имеют информационную емкость, равную одному байту. Легко подсчитать, сколько транзисторов должны иметь микросхемы, способные хранить и обрабатывать информацию в сотни мегабайт. Причем для корректной работы схемы все транзисторы должны работать синхронно.
А вот здесь начинаются ограничения. Электрон -- носитель электрического заряда и, как следствие, основной переносчик информации, хоть и является с точки зрения квантовой физики частицей легкой, все-таки имеет некоторую массу, а следовательно и инерционность. Его нельзя мгновенно остановить или мгновенно привести в движение. Скорость одного конкретного электрона неизвестна. Можно говорить только об общих статистических закономерностях поведения некоторой достаточно большой группы электронов. А большая группа -- это еще большая масса, для разгона или остановки которой нужно время и энергия.
При движении любой заряженной частицы возникает электромагнитное поле. На создание этого поля также расходуется энергия, которая в конечном счете приводит к нагреванию кристалла, что тоже грозит неприятностями. Волновые и резонансные свойства проводников на высоких частотах -- отдельный вопрос, которого касаться не будем. Поэтому существуют различные проекты по созданию транзистора без электрона, о которых мы поговорим позднее.
Ну а пока потребность в более быстрых, дешевых и универсальных процессорах вынуждает производителей постоянно наращивать число транзисторов в них. Однако этот процесс не бесконечен. Поддерживать экспоненциальный рост этого числа, предсказанный Гордоном Муром в 1973 году, становится все труднее. Специалисты утверждают, что этот закон перестанет действовать, как только затворы транзисторов, регулирующие потоки информации в чипе, станут соизмеримыми с длиной волны электрона(в кремнии, на котором сейчас строится производство, это порядка 10 нанометров). И произойдет это где-то между 2010 и 2020 годами. По мере приближения к физическому пределу архитектура компьютеров становится все более изощренной, возрастает стоимость проектирования, изготовления и тестирования чипов. Таким образом, этап эволюционного развития рано или позно сменится революционными изменениями.
В результате гонки наращивания производительности возникает множество проблем. Наиболее острая из них - перегрев в сверхплотной упаковке, вызванный существенно меньшей площадью теплоотдачи. Концентрация энергии в современных микропроцессорах чрезвычайно высока. Нынешние стратегии рассеяния образующегося тепла, такие как снижение питающего напряжения или избирательная активация только нужных частей в микроцепях малоэффективны, если не применять активного охлаждения.
С уменьшением размеров транзисторов стали тоньше и изолирующие слои, а значит, снизилась и их надежность, поскольку электроны могут проникать через тенкие изоляторы(туннельный эффект). Данную проблему можно решить снижением управляющего напряжения, но лишь до определенных пределов.
Технология SOI(Silicon On Insulator) уменьшила емкость соединений и улучшила характеристики транзисторов. Это позволило снизить управляющее напряжения, но возросла и стоимость изготовления, увеличился процент брака, снизилась устойчивость всей системы к ошибкам. Альтернативное направление - переход на арсенид галлия, который позволяет получить более быстрые тарнзисторы N-типа, однако, к сожалению, столь же важные транзисторы P-типа получаются более медленными, если не использовать высокоэнергетические уровни, что делает их непригодными для массового производства. Поэтому кремниевая технология должна пережить еще несколько поколений процессоров.
Еще одна проблема заключается в том, что со снижением размеров уменьшается скорость срабатывания транзисторов и перестает соответствовать скорости распространения сигнала по внутрисхемным соединениям. Более тонкие проводники, соединяющие транзисторы, имеют и более высокое сопротивление, а значит и - неприемлимо высокую задержку распространения сигнала. С каждым новым поколением процессоров пропускная способность межэлементных соединений падала, поскольку возрастали сопротивление и емкость. Эта проблема была отчасти решена путем использования многослойных соединений. Например, у процессора Pentium 4 семь слоев разводки цепей, причем каждый имеет собственный рисунок и расположен внутри изолирующего материала. В нем оставляют "окна", которые заполняют металлом(медью), формируя электрические соединения между слоями. Микропроцессор при этом делится на блоки, что ограничивает сигналы локалбными маштабами блока и снижает задержки. Толстые проводники с малой задержкой сигнала соединяют компоненты, далеко отстоящие друг от друга, а тонкие - соседние компоненты.
В качестве материала межсоединений медь окончательно и бесповоротно придет на смену алюминию, так как у нее ниже удельное сопротивление. Однако она подвержена диффузии в кремнии, что потребует изоляции медных соединений. Возможно, на смену диоксиду кремния придет какой-нибудь иной изоляционный материал, например, синтезированный на основе обычного стекла, что позволит снизить емкость межсоединений. Более решительным шагом может стать использование в качестве межсоединений сверхпроводящих материалов, но пока не найдено такого материала, который показал бы нужные свойства в условиях температуры и тока, характерных для интегральных схем. Другой подход - применение оптических внутрисхемных соединений, хотя здесь вступабт в силу ограничения по размерам (волокна не должны быть тоньше длины волны света, который они передают), к тому же требуется преобразование световых импульсов в электрические и наоборот, что может серьезно снизить общую производительность. Перспективными в данном направлении представляются результаты, полученные британскими учеными: оперируя на атомном уровне, они смогли сделать некоторые области кремниевой подложки светоизлучающими. Обычные светоизлучающие устройства встроить в кремниевые чипы невозможно, но если для передачи данных использовать "естественный" свет подложки, это позволит передавать сигналы быстрее и сделает чипы еще более миниатюрными.
На сегодняшний день основное условие повышения производительности процессоров - методы параллелизма. Как известно, микропроцессор обрабатывает последовательность инструкций(команд), составляющих ту или иную программу. Если организовать параллельное(то есть одновременное) выполнение инструкций, общая производительность существенно вырастет. Решается проблема параллелизма методами конвейеризации вычислений, применением суперскалярной архитектуры и предсказанием ветвлений.
Теперь попробуем посмотреть по какому пути пойдет развитие архитектуры ЭВМ в ближайшем будущем.
Суперскалярные процессоры конца 90-х годов могли исполнять до 4-6 инструкций за один машинный цикл. На практике они выполняют в среднем 1,5 инструкции за такт. "Продвинутые" суперскалярные процессоры (Advanced superscalar) смогут выполнять от 16 до 32 инструкций за такт. Чем это обернется на практике, пока сказать трудно, но и для "суперскалярной" архитектуры существенным ограничением является поток обрабатываемых данных.
В общем виде "продвинутая" суперскалярная архитектура состоит из 24-48 высокооптимизированных конвейерных блоков(например, блоков, выполняющих операции с плавающей точкой или обрабатывающих целые числа). Как и в простых суперскалярных архитектурах, каждый блок получает свою собственную "резервацию" - временное место хранения, где накапливается очередь инструкций, выполняемых данным блоком.
Для сокращения доступа к памяти предполагается использовать наряду с обычным кешем так называемый "трассирующий" кеш, который объединяет логически смежные блоки в физически смежные хранилища.
Более совершенное предсказание ветвлений - еще одна задача ближайшего будущего, и она тесно связана с предсказанием адресации: процессор попытается предсказать адреса ячеек памяти, которые будут затребованы последующими инструкциями, и вызвать их содержимое заранее. Для того чтобы чнизить эффет задержки сигналов в соединениях, предполагается сгруппировать их в кластеры.
Эта архитектура подразумевает предсказание как ветвлений, так и данных. Это означает, что предсказываются адреса ячеек памяти и хранящиеся в них величины. Один из способов достичь этого - пошаговое предсказание: обнаружив постоянное приращение в величинах данных и адресах памяти(шаги), можно "догадаться" о будущих величинах, используемых вычислениях(такое может происходить в циклах или матрицах).
Основное преимущество таких архитектур в том, что они не требуют изменений в компиляторах, да и программный код должен выполняться быстрее. Они должны выполнять по 10 инструкций за один машинный такт. С другой стороны, дизайн процессора в этом случае более сложный, и то, что он не делится на блоки, может вызвать проблемы с задержкой сигналов.
В обычных архитектурах иснтрукция представляет собой исполняемую единицу. В трассирующих процессорах исполняемая единица - "трасса" - последовательность инструкций. Каждый маршрут передается своему суперскалярному процессорному элементу, апоминающему суперскалярный микропроцессор и имеющему собственный набор локальных и глобальных регистров, что обеспечивает как внутримаршрутный, так и межмаршрутный параллелизм.
Применение трассирующих процессоров способствует решению проблемы задержек сигналов в межсоединениях, однако требует соответствующего кеша, что увеличивает его архитектурную сложность. Более того, это никак не решает проблему увеличения скорости обращения к памяти.
Буква 'I' здесь означает 'intelligent'. Возможно, это один из наиболее радикальных шагов в области архитектуры, направленный на ускорение доступа к памяти и снижения энергопотребления. Согласно IRAM большая яасть RAM перемещается непосредственно на чип, исключая необходимость в кеше. Низкое энергопотребление означает, что данная архитектурабольше всего подходит для мобильных компьютеров. Однако тот факт, что максимальное количество памяти, которое можно перенести на чип, составляет всего 96 Мбайт, лишает эту архитектуру надежд на широкое использование.
Данные процессоры по архитектуре напоминают трассирующие: весь чип делится на процессорные элементы, напоминающие суперскалярный микропроцессор. В отличие от трассирующего процессора, здесь каждый элемент обрабатывает инструкции различных потоков в течение одного такта, чем достигается параллелизм на уровне потоков. Разумеется, каждый поток иметт свой программный счетчик и набор регистров.
Эта архитектура подразумевает интегрирование нескольких простых микропроцессорных ядер на одном чипе. Каждое ядро выполняет свой поток инструкций. Каждое микропроцессорное ядро значительно проще, чем ядро многопотокового процессора, что упрощает проектирование и тестирование чипа. Но между тем усугубляется проблема доступа к памяти, необходима замена компиляторов.
Сторонники считают, что ПО должно компилироваться прямо в "железе", так как это даст максимальный параллелизм. Такой подход требует достаточно сложных компиляторов, которые пока еще не созданы.
Процессор в данном случае состоит из множества "плиток"(tiles), каждая из которых имеет собственное ОЗУ и связана с другими "плитками" в своеобразную решетку, узлы которой можно включать и отключать. Очередность выполнения инструкций задается ПО.
Здесь речь идет не о логической, а о физической структуре. Идея состоит в том, что чипы должны содержать вертикальные "штабеля" микроцепей, изготовленных по технологии тонкопленочных транзисторов, заимствованной из производства TFT-дисплеев. При этом относительно длинные горизонтальные межсоединения превращаются в короткие вертикальные, что снижает задержку сигнала и увеличивает производительность процессора. Идея "трехмерных" чипов уже реализована в виде работающих образцов восьмиэтажных микросхем памяти. Вполе возможно, что она приемлима и для микропроцессоров, и в недалеком будущем все микрочипы будут наращиваться не только горизонтально, но и вертикально.
Теперь рассмотрим архитектуры, которые основаны не на креимневых технологиях и которые могут прийти к нему на смену:
Оптические технологии давно уже используются в компьютеростроении. Например, это различные оптические накопители информации, в системах коммуникации ипользуются световые импульсы для передачи потоков информации. Идея использования света для обработки информации стала осуществимой лишь недавно. Главной преградой для оптических(фотонных) вычислений долгое время была невозможность обрабатывать световую информацию без использования промежуточных электронных компонентов между вводом и выводом. Открытие интерференции, основанной на оптической логике, решило эту проблему.
Оптическая логика основана на простом факте: когда встречаются два когерентных(с постоянным фазовым сдвигом) световых импульса одинаковой интенсивности, они образуют конструктивную интерференцию (интенсивность света удваивается) при совпадении фаз и деструктивную(уничтожают друг друга) при фазовом сдвиге 180 градусов. Когда два импульса взаимодействуют в одном канале, на интерференцию накладывается дифракция: за щелевой преградой образуются участки как конструктивной, так и деструктивной интерференции. Таким образом, помещая детектор выходного сигнала в соответствующих точках, можно получать нужные логические операции с изначальной парой световых импульсов.
Главное преимущество оптической логики перед креимневой в том, что фотоны распространяются гораздо быстрее электронов. Более того, в оптической логике данные поддаются конвейеризации. Оптическим компонентам не нужно формировать выходной сигнал до того, как они воспримут новый выходной сигнал, а значит, они могут обрабатывать целый поток данных.
Оптическая логика имеет также и ряд недостатков, особенно если говорить о последовательном соединении оптических затворов для построения компьютера. При построении сложного компьютера простая оптическая модель переходит в область голографии, и для построения логики тербуются разного рода световые шины. Еще более сложная проблема вытекает из того факта, что световые импульсы, которые образует оптичекая логика, могут иметь удвоенную интенсивность или иметь один из двух возможных файловых сдвигов в зависимости от того, какой из двух вхлдных сигналов включен. Это означает, что фазу и интенсивность импульсов необходимо контролировать по всей системе посредством оптичеких усилителей. Если эти проблемы будут решены, практичекая реализация оптических микропроцессоров на подложке из стекла или пластика станет вполне возможной.
В основе квантовых вычислений лежит атом - мельчайшая единица вещества. Квантовые вычисления принципиально отличаются от традиционных, так как на атомном уровне в силу вступают законы квантовой физики. Один из них - закон суперпозиции: квант может находиться в двух состояниях одновременно. Обычно бит может иметь значение либо 1, либо 0, а квантовы бит(qubit) может быть еденицей и нулем одновременно.
Атом - "удобное" хранилище информационных битов: его электроны могут занимать лишь ограниченное число дискретных энергетических уровней. Так, атом высокого энергетического уровня мог бы служить логической единицей, а низкого - логическим нулем. Очевидным недостатком здесь является нестабильность атома, поскольку он легко меняет энергетический уровень в зависимости от внешних условий.
Поскольку управлять энергетическим уровнем одного атома нереально, предполагается использовать длинные молекулы (цепи из миллиардов атомов) таким образом, чтобы величину их содержимого можно было менять путем бомбардировки первого атома в цепи лазерным лучем. Длинные молекулы тоже весьма нестабильны, и их надо хранить при сверхнизкой температуре. Да и сбор данных требует весьма сложного оборудования, так что до массового производства подобных систем еще далеко.
Для решения некоторых задач требуется создание эффективной системы искусственного интеллекта, которая могла бы обрабатывать информацию, не затрачивая много вычислительных ресурсов. Мозг и нервная система живых организмов позволяют решать задачи упраления и эффективно обрабатывать сенсорную информацию, а это огромный плюс для создаваемых вычислительных систем. Именно это послужило предпосылкой создания искусственных вычислительных систем на базе нейронных систем живого мира.
Создание компьютера на основе неронных систем живого мира базируется на теории перцептронов, разработчиком которой был Розенблатт. Он предложил понятие перцептрона - искусственной нейронной сети, которая может обучаться распознаванием образов.
Перспективность создания компьютеров по теории Розенблатта состоит в том, что структуры, имеющие
свойства мозга и нервной системы, имеют ряд особенностей, которые помогают при решении сложных задач:
1. Параллельность обработки информации.
2. Способность к обучению.
3. Способность к автоматической классификации.
4. Высокая надежнлсть.
5. Ассоциативность.
Нейрокомпьютеры(биокомпьютерф) - это совершенно новый тип вычислительной техники. Их можно строить на базе нейрочипов, которые функционально ориентированы на конкретный алгоритм, на решение конкретной задачи. Для решения задач разного типа требуется нейронная сеть разной топологии(топология - специальное расположение вершин, в данном случае нейрочипов и пути их соединения).
Нейронные вычисления отличаются от классических представлением и обработкой информации. Любая задача ставиться как поиск соответствия между множествами входных и выходных данных, представляемых в виде векторов n-мерного пространства, принадлежащего некоторой предметной области. Входные вектора подаются на входные нейроны, а выходная реакция снимается с выходов элементов нейронной сети. При этом вычислительные процессы представляют собой параллельные взаимодействия между нейронами через нейронные связи и преобразование данных в нейронах. Соответствие между входными воздействиями и выходной реакцией устанавливается через процедуру обучения, которая определяется для каждой модели нейронных сетей отдельно. Возможность обучения нейронных сетей является важнейшей особенностью нейросетевого подхода к построению систем обработки информации.