Современные тенденции развития архитектуры компьютера

Основу любого процессора составляет полупроводниковый вентильный элемент — транзистор. Транзистор позволяет управлять электрическим сопротивлением проводника при помощи электрического тока, проходящего через базу (биполярный транзистор), или электрического напряжения, подаваемого на затвор (полевой транзистор). Если ввести обратную связь, то есть подать часть выходного сигнала транзистора на его вход, то можно заставить прибор работать в двух стабильных состояниях, которые соответствуют логическим 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 инструкций за один машинный такт. С другой стороны, дизайн процессора в этом случае более сложный, и то, что он не делится на блоки, может вызвать проблемы с задержкой сигналов.

  • Трассирующая архитектура

В обычных архитектурах инструкция представляет собой исполняемую единицу. В трассирующих процессорах исполняемая единица — «трасса» — последовательность инструкций. Каждый маршрут передается своему суперскалярному процессорному элементу, напоминающему суперскалярный микропроцессор и имеющему собственный набор локальных и глобальных регистров, что обеспечивает как внутримаршрутный, так и межмаршрутный параллелизм.

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

  • IRAM

Буква I здесь означает ‘intelligent’. Возможно, это один из наиболее радикальных шагов в области архитектуры, направленный на ускорение доступа к памяти и снижения энергопотребления. Согласно IRAM большая часть RAM перемещается непосредственно на чип, исключая необходимость в кэше. Низкое энергопотребление означает, что данная архитектура больше всего подходит для мобильных компьютеров. Однако тот факт, что максимальное количество памяти, которое можно перенести на чип, составляет всего 96 Мбайт, лишает эту архитектуру надежд на широкое использование.

  • Многопотоковый процессор

Данные процессоры по архитектуре напоминают трассирующие: весь чип делится на процессорные элементы, напоминающие суперскалярный микропроцессор. В отличие от трассирующего процессора, здесь каждый элемент обрабатывает инструкции различных потоков в течение одного такта, чем достигается параллелизм на уровне потоков. Разумеется, каждый поток имеет свой программный счетчик и набор регистров.

  • Многоядерная архитектура

Эта архитектура подразумевает интегрирование нескольких простых микропроцессорных ядер на одном чипе. Каждое ядро выполняет свой поток инструкций. Каждое микропроцессорное ядро значительно проще, чем ядро многопотокового процессора, что упрощает проектирование и тестирование чипа. Но между тем усугубляется проблема доступа к памяти, необходима замена компиляторов.

  • «Плиточная» архитектура

Сторонники считают, что ПО должно компилироваться прямо в «железе», так как это даст максимальный параллелизм. Такой подход требует достаточно сложных компиляторов, которые пока еще не созданы.

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

  • Многоэтажная архитектура

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

Теперь рассмотрим архитектуры, которые основаны не на кремневых технологиях и которые могут прийти к нему на смену:

  • Оптическая (фотонная) архитектура

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

Оптическая логика основана на простом факте: когда встречаются два когерентных (с постоянным фазовым сдвигом) световых импульса одинаковой интенсивности, они образуют конструктивную интерференцию (интенсивность света удваивается) при совпадении фаз и деструктивную (уничтожают друг друга) при фазовом сдвиге 180 градусов. Когда два импульса взаимодействуют в одном канале, на интерференцию накладывается дифракция: за щелевой преградой образуются участки как конструктивной, так и деструктивной интерференции. Таким образом, помещая детектор выходного сигнала в соответствующих точках, можно получать нужные логические операции с изначальной парой световых импульсов.

Главное преимущество оптической логики перед кремневой в том, что фотоны распространяются гораздо быстрее электронов. Более того, в оптической логике данные поддаются конвейеризации. Оптическим компонентам не нужно формировать выходной сигнал до того, как они воспримут новый выходной сигнал, а значит, они могут обрабатывать целый поток данных.

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

  • Квантовая архитектура

В основе квантовых вычислений лежит атом — мельчайшая единица вещества. Квантовые вычисления принципиально отличаются от традиционных, так как на атомном уровне в силу вступают законы квантовой физики. Один из них — закон суперпозиции: квант может находиться в двух состояниях одновременно. Обычно бит может иметь значение либо 1, либо 0, а квантовый бит (qubit) может быть единицей и нулем одновременно.

Атом — «удобное» хранилище информационных битов: его электроны могут занимать лишь ограниченное число дискретных энергетических уровней. Так, атом высокого энергетического уровня мог бы служить логической единицей, а низкого — логическим нулем. Очевидным недостатком здесь является нестабильность атома, поскольку он легко меняет энергетический уровень в зависимости от внешних условий.

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

  • Нейроархитектура

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

Создание компьютера на основе нейронных систем живого мира базируется на теории перцептронов, разработчиком которой был Розенблатт. Он предложил понятие перцептрона — искусственной нейронной сети, которая может обучаться распознаванием образов.

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

1.      Параллельность обработки информации.

2.      Способность к обучению.

3.      Способность к автоматической классификации.

4.      Высокая надежность.

5.      Ассоциативность.

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

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

Рубрика Аппаратное обеспечение. Добавьте постоянную ссылку на эту страницу в закладки.