Основные направления развитие архитектуры вычислительных машин.
Суперскалярная архитектура, рассмотренная ранее, является одним из основных направлений в создании вычислительных машин.
6.5.1 Суперспекулятивная архитектура
Эта архитектура подразумевает предсказание как ветвлений, так и данных. Это означает, что предсказываются адреса ячеек памяти и хранящиеся в них величины. Один из способов достичь этого - пошаговое предсказание: обнаружив постоянное приращение в величинах данных и адресах памяти (шаги), можно "догадаться" о будущих величинах, используемых в вычислениях (такое может происходить в циклах или матрицах).
Основное преимущество таких архитектур в том, что они не требуют изменений в компиляторах и программный код должен выполняться быстрее. Они должны выполнять по 10 инструкций за один машинный такт. С другой стороны, архитектура процессора в этом случае более сложная, процессор не делится на блоки, может вызвать проблемы с задержкой сигналов.
6.5.2 Трассирующая архитектура.
В обычных архитектурах инструкция представляет собой исполняемую единицу. В трассирующих процессорах исполняемая единица - "трасса" - последовательность инструкций. Каждый маршрут передается своему суперскалярному процессорному элементу, запоминающему суперскалярному микропроцессор и имеющему собственный набор локальных и глобальных регистров, что обеспечивает как внутримаршрутный, так и межмаршрутный параллелизм.
Применение трассирующих процессоров способствует решению проблемы задержек сигналов в межсоединениях, однако требует соответствующего кэша, что увеличивает его архитектурную сложность. Более того, это никак не решает проблему увеличения скорости обращения к памяти.
6.5.3 IRAM
Буква 'I' здесь означает «intelligent». Возможно, это один из наиболее радикальных шагов в области архитектуры, направленный на ускорение доступа к памяти и снижения энергопотребления. Согласно IRAM большая часть RAM перемещается непосредственно на чип, исключая необходимость в КЭШе. Низкое энергопотребление означает, что данная архитектура больше всего подходит для мобильных компьютеров. Однако тот факт, что максимальное количество памяти, которое можно перенести на чип, составляет всего 96 Мбайт, лишает эту архитектуру надежд на широкое использование.
6.5.4 Многопотоковый процессор.
Данные процессоры по архитектуре напоминают трассирующие: весь чип делится на процессорные элементы, напоминающие суперскалярный микропроцессор. В отличие от трассирующего процессора, здесь каждый элемент обрабатывает инструкции различных потоков в течение одного такта, чем достигается параллелизм на уровне потоков. Разумеется, каждый поток имеет свой программный счетчик и набор регистров.
Обычно в потоковых компьютерах последовательность операторов в программе задает порядок вычислений, значения результата вычисления зависят только от этого порядка. В системе с управлением потоков операндов вычисления упорядочиваются по готовности самих операндов. Первая схема основана на топографическом управлении, где значения данных подчинены командам управления. Вторая схема одновременно применяет вычисления ко всем
6.5.5 Многоядерная архитектура
Эта архитектура подразумевает интегрирование нескольких простых микропроцессорных ядер на одном чипе. Каждое ядро выполняет свой поток инструкций. Каждое микропроцессорное ядро значительно проще, чем ядро многопотокового процессора, что упрощает проектирование и тестирование чипа. Но между тем усугубляется проблема доступа к памяти, необходима замена компиляторов.
6.5.6 "Плиточная" архитектура
Сторонники считают, что программное обеспечение должно компилироваться прямо в "железе", так как это даст максимальный параллелизм. Такой подход требует достаточно сложных компиляторов, которые пока еще не созданы.
Процессор в данном случае состоит из множества «плиток» (tiles), каждая из которых имеет собственное ОЗУ и связана с другими «плитками» в своеобразную решетку, узлы которой можно включать и отключать. Очередность выполнения инструкций задается программным обеспечением.
6.5.7 Многоетажная архитектура
Здесь речь идет не о логической, а о физической структуре. Идея состоит в том, что чипы должны содержать вертикальные «штабеля» микроцепей, изготовленных по технологии тонкопленочных транзисторов, заимствованной из производства TFT-дисплеев. При этом относительно длинные горизонтальные межсоединения превращаются в короткие вертикальные, что снижает задержку сигнала и увеличивает производительность процессора. Идея «трехмерных» чипов уже реализована в виде работающих образцов восьмиэтажных микросхем памяти. Вполне возможно, что она приемлема и для микропроцессоров, и в недалеком будущем все микрочипы будут наращиваться не только горизонтально, но и вертикально.
Теперь рассмотрим архитектуры, которые основаны не на кремневых технологиях и которые могут прийти к нему на смену:
6.5.8 Оптическая (фотонная) архитектура
Оптические технологии давно уже используются в компьютеростроении. Например, это различные оптические накопители информации, в системах коммуникации используются световые импульсы для передачи потоков информации. Идея использования света для обработки информации стала осуществимой лишь недавно. Главной преградой для оптических (фотонных) вычислений долгое время была невозможность обрабатывать световую информацию без использования промежуточных электронных компонентов между вводом и выводом. Открытие интерференции, основанной на оптической логике, решило эту проблему.
Оптическая логика основана на простом факте: когда встречаются два когерентных (с постоянным фазовым сдвигом) световых импульса одинаковой интенсивности, они образуют конструктивную интерференцию (интенсивность света удваивается) при совпадении фаз и деструктивную (уничтожают друг друга) при фазовом сдвиге 180 градусов. Когда два импульса взаимодействуют в одном канале, на интерференцию накладывается дифракция: за щелевой преградой образуются участки как конструктивной, так и деструктивной интерференции. Таким образом, помещая детектор выходного сигнала в соответствующих точках, можно получать нужные логические операции с изначальной парой световых импульсов.
Главное преимущество оптической логики перед кремневой в том, что фотоны распространяются гораздо быстрее электронов. Более того, в оптической логике данные поддаются конвейеризации. Оптическим компонентам не нужно формировать выходной сигнал до того, как они воспримут новый выходной сигнал, а значит, они могут обрабатывать целый поток данных.
Оптическая логика имеет также и ряд недостатков, особенно если говорить о последовательном соединении оптических затворов для построения компьютера. При построении сложного компьютера простая оптическая модель переходит в область голографии, и для построения логики требуются разного рода световые шины. Еще более сложная проблема вытекает из того факта, что световые импульсы, которые образует оптическая логика, могут иметь удвоенную интенсивность или иметь один из двух возможных файловых сдвигов в зависимости от того, какой из двух входных сигналов включен. Это означает, что фазу и интенсивность импульсов необходимо контролировать по всей системе посредством оптических усилителей. Если эти проблемы будут решены, практическая реализация оптических микропроцессоров на подложке из стекла или пластика станет вполне возможной.
6.5.9 Квантовая архитектура
В основе квантовых вычислений лежит атом - мельчайшая единица вещества. Квантовые вычисления принципиально отличаются от традиционных, так как на атомном уровне в силу вступают законы квантовой физики. Один из них - закон суперпозиции: квант может находиться в двух состояниях одновременно. Обычно бит может иметь значение либо 1, либо 0, а квантовый бит (qubit) может быть единицей и нулем одновременно.
Атом – «удобное» хранилище информационных битов: его электроны могут занимать лишь ограниченное число дискретных энергетических уровней. Так, атом высокого энергетического уровня мог бы служить логической единицей, а низкого - логическим нулем. Очевидным недостатком здесь является нестабильность атома, поскольку он легко меняет энергетический уровень в зависимости от внешних условий.
Поскольку управлять энергетическим уровнем одного атома нереально, предполагается использовать длинные молекулы (цепи из миллиардов атомов) таким образом, чтобы величину их содержимого можно было менять путем бомбардировки первого атома в цепи лазерным лучом. Длинные молекулы тоже весьма нестабильны, и их надо хранить при сверхнизкой температуре. Сбор данных требует весьма сложного оборудования, так что до массового производства подобных систем еще далеко.
6.5.10 Нейроархитектура
При проектировании любого вычислительного устройства всегда возникает вопрос о классе задач, который наиболее эффективно будет на нем решаться. Нейрокомпьютеры предназначены для класса задач неформализуемых или плохо формализуемых задач, в алгоритм решения которых включается процесс обучения на реальном экспериментальном материале (как правило, задачи распознавания образов), но и задачи с естественным параллелизмом (например, обработка изображений).
Нейрокомпьютерные архитектуры в будущем будут занимать все большее место среди других архитектур. Уже сегодня существенно расширяется интерес к общематическим задачам, решаемым в нейросетевом компьютерном базисе. Среди таких задач отметим:
· линейные и нелинейные алгебраические уравнения;
· системы нелинейных дифференциальных уравнений;
· уравнения в частных производных;
· линейное и нелинейное программирование.
В нейрокомпьютерах все нейроны, реализованные в одно- или многослойной структуре, в идеальном варианте должны быть связаны линиями передачи данных по принципу «каждый с каждым», так что при одновременной работе обеспечивается максимальная производительность
Мозг и нервная система живых организмов позволяют решать задачи управления и эффективно обрабатывать сенсорную информацию, а это огромный плюс для создаваемых вычислительных систем. Именно это послужило предпосылкой создания искусственных вычислительных систем на базе нейронных систем живого мира.
Создание компьютера на основе нейронных систем живого мира базируется на теории персептронов, разработчиком которой был Розенблатт. Он предложил понятие персептрона - искусственной нейронной сети, которая может обучаться распознаванием образов.
Перспективность создания компьютеров по теории Розенблатта состоит в том, что структуры, имеющие свойства мозга и нервной системы, имеют ряд особенностей, которые помогают при решении сложных задач:
· параллельность обработки информации;
· способность к обучению;
· способность к автоматической классификации;
· высокая надежность;
· ассоциативность.
Нейрокомпьютеры (биокомпьютеры) - это совершенно новый тип вычислительной техники. Их можно строить на базе нейрочипов, которые функционально ориентированы на конкретный алгоритм, на решение конкретной задачи. Для решения задач разного типа требуется нейронная сеть разной топологии (топология - специальное расположение вершин, в данном случае нейрочипов и пути их соединения).
Нейронные вычисления отличаются от классических представлением и обработкой информации. Любая задача ставится как поиск соответствия между множествами входных и выходных данных, представляемых в виде векторов n-мерного пространства, принадлежащего некоторой предметной области. Входные вектора подаются на входные нейроны, а выходная реакция снимается с выходов элементов нейронной сети. При этом вычислительные процессы представляют собой параллельные взаимодействия между нейронами через нейронные связи и преобразование данных в нейронах. Соответствие между входными воздействиями и выходной реакцией устанавливается через процедуру обучения, которая определяется для каждой модели нейронных сетей отдельно. Возможность обучения нейронных сетей является важнейшей особенностью нейросетевого подхода к построению систем обработки информации.
[1] Подобные решения были приняты разработчиками ЭВМ различных фирм с учётом требований программистов.
[2]При использовании комбинации обоих методов обычно производится трансляция программы, создаётся новая программа, в которой простые команды выполняются на языке нулевого уровня непосредственно (например: команда сдвига регистра на 1разряд), а сложные команды (например: команда умножения) интерпретируются, т.е. запускается на выполнение микропрограмма этой команды.
[3] В СССР принципы построения ВМ были разработаны С.А. Лебедевым и были реализованы при создании цифровой вычислительной машины МЭСМ в 1951году.
[4] Полужирным шрифтом здесь и далее выделен знак числа.
[5] В некоторых источниках статический способ представления информации называют импульсным, динамический способ - потенциальным.
[6] В состояниях 4, 7 триггер находится в устойчивом состоянии, повторная подача сигнала S, R не приводит к изменению состояния триггера.
[7] Количество сигналов, их последовательность, временные выдержки между сигналами определяется в протоколах согласования работы узлов ВМ.
[8] Такт-это время выполнения одной элементарной операции
[9] В компьютерах 8088 и 80286 есть только 8 – битные и 16 – битные регистры. 32 – битные регистры появились в системе 80386 вместе с приставкой Е.
[10] Омнибусами в Англии стали называть двухэтажные автомобили, которые стали первым общественным транспортом в Лондоне, т.е. транспортом для всех. В дальнейшем вторая часть слова омнибус стала основой для появления таких названий как автобус, троллейбус, а теперь и названием шины ВМ.
[11]Нельзя прочитать одновременно из памяти оба операнда, поэтому первоначальноё один из операндов записывается для временного хранения в аккумулятор. После считывания второго операнда оба операнда одновременно подаются на входы АЛУ.
[12] Унитарный код содержит только одну единицу в кодовой последовательности, соответствующую одному возбужденному выходу дешифратора.
[13] В качестве примера формирования признака результата рассмотрим выполнение условного оператора if(a>=b) . В ОПБ выполняется команда вычитания «a-b», по результату ее выполнения в РПрз формируется один из трех признаков a-b>0, a-b<0, a-b=0, информация передается в МПА для принятия решения.
[14] Несмотря на то, что во всех мультипроцессорах процессорам предоставляется отображение общего разделённого адресного пространства, часто наряду с этим имеется множество модулей памяти, каждый из которых содержит какую-либо часть физической памяти. Процессоры и модули памяти соединяются сложной коммуникационной сетью.
[15] Многие задачи в физических и технических науках содержат векторы. Часто одни и те же вычисления выполняются над разными наборами данных в одно и то же время
[16]В мультикомпьютере процессор имеет собственную память, к которой другие компьютеры не могут получить прямой доступ. Программы на разных процессорах взаимодействуют друг с другом с помощью примитивов send и receive, которые используются для передачи сообщений.
[17] Масштабируемость –расширение системы, то есть увеличение количества процессоров, приводит к увеличению производительности системы.