Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Фотоника и оптоинформатика. Введение в специальность

.pdf
Скачиваний:
4
Добавлен:
19.11.2023
Размер:
29.64 Mб
Скачать

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

Сформированный адрес передается в блок преобразования адресов и затем в оперативную память или в другие устройства процессора.

С устройством управления тесно связана электронная схе-

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

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

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

Первые ЭВМ, появившиеся в мире, работали на частоте

внесколько килогерц (КГц), затем частота повысилась до сотен мегагерц (МГц). В настоящее время существуют процессоры,

341

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

Блок преобразования адресов выполняет работу по преобразованию логического (виртуального) адреса в адрес физической памяти. Компиляторы преобразуют исходную программу

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

Этим занимается операционная система и аппаратура процессора. В современных машинах, способных работать в мультипрограммном режиме, возникает необходимость располагать

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

Главную оперативную память чаще всего относят к цен-

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

Кэш-память– промежуточное, скрытое от пользователя запоминающее устройство ассоциативного типа, позволяющее ми-

342

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

Блок целочисленной арифметики, или целочисленное арифметико-логическое устройство (АЛУ), выполняет ариф-

метические и логические операции над целыми числами в двоичном представлении: сложение, вычитание, умножение, деление с остатком, логические операции, сдвиги.

Блок арифметики с плавающей точкой (АЛУ с плаваю-

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

Регистры общего назначения (РОН) служат для проме-

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

Регистры арифметики с плавающей точкой служат для промежуточного хранения операндов и результатов вычислений над вещественными числами, представленными с плавающей точкой. Эти регистры обычно по разрядности в 2–3 раза длиннее быстрых регистров общего назначения. Это необходимо для достижения высокой точности выполнения арифметических операций над вещественными числами.

343

Вычислительные машины нетрадиционной архитектуры

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

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

Вычислительный алгоритм может быть представлен графом потока данных. Например, алгоритм вычисления выражения: (а + b) d + (а + d) b + d b c представляется графом, в узлах которого расположены операции, выполняемые над переменными, поток которых указан на рис. 12.12 стрелками на дугах. В узлах графа, расположенных в столбцах, все операции могут быть выполнены независимо и одновременно.

Рис. 12.12. Граф-схема потока данных

344

Принцип работы машин, управляемых данными (Data Flow Computers DFC), состоит в том, что всякое действие выполняется в тот момент, когда для него готовы операнды. Очевидно,

что машина, спроектированная точно под данный алгоритм, будет работать с максимальной производительностью, полностью используя внутренний параллелизм алгоритма.

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

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

Нейрокомпьютеры

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

Нейрокомпьютер, или нейроподобная вычислительная система, представляет собой сеть элементарных процессоров

(ЭП), которые, следуя изначальной биологической терминологии, называются нейронами. Нейроны объединены в однослой-

345

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

Нейрон, получив данные от других нейронов, с которыми он связан, выполняет вычисления некоторой функции S, называемой функцией активации. Ее значениями в простейшем случае могут быть 0 либо 1.

Связям, идущим от других нейронов к некоторому i-му нейрону, присваиваются весовые коэффициенты wkl. Эти весовые коэффициенты, умноженные на значения Sk, поступающие от других нейронов, суммируются, и полученная сумма становится аргументом функции активации, вычисляемой принимающим нейроном. В каждый момент времени все нейроны работают одновременно, обеспечивая максимальный параллелизм нейрокомпьютерной системы.

Схематически один i-й ЭП нейросети, или нейрон, можно представить так, как это показано на рис. 12.13. Здесь использованы обозначения: wmi вес, на который умножаются значения,

поступающие на i-й ЭП от m-го ЭП. Величины Xin = Si(xi) обозначают значение функции Si, рассылаемое другим нейронам,

связанным с данным. Вес назначается при подготовке (настройке) нейросети к работе. Эта настройка происходит по некоторым алгоритмам «обучения» сети.

Рис. 12.13. Схема нейрона (процессорного элемента нейрокомпьютера)

В качестве функции Si(xi) = Xi чаще используют бинарную пороговую функцию, принимающую два значения: 0 или 1. Поро-

346

говая функция, ее называют еще функцией активации, переводит нейрон в два состояния – активное или пассивное.

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

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

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

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

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

347

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

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

Взаимоотношение классов архитектур представлено на рис. 12.14.

Рис. 12.14. Иерархия архитектур

348

12.6. Предельные возможности электронной компьютерной техники

В 1965 году вышла знаменитая теперь статья Гордона Мура «Переполнение числа элементов на интегральных схемах» в которой тогдашний директор отдела разработок компании Fairchild Semiconductors и будущий соосно-

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

Позднее, в 1975 году, Гордон Мур отметил, что за прошедшее десятилетие количество элементов на кристаллах действительно удваивалось каждый год, однако в будущем, когда сложность чипов возрастёт, удвоение числа транзисторов

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

В связи с бурным развитием микроэлектроники возникают вопросы. Можно ли ожидать появления в 2020 году электронного микропроцессора с тактовой частотой 100 ГГц? Возможно ли уменьшение электрического напряжения на ядре микропроцессора и, соответственно, уменьшение теплоотдачи? Например, производство памяти и процессоров по технологии 65 наномет-

349

ров уже отлажено, на 2009 год намечено внедрение 32-наномет- рового, а в 2011 году настанет черёд технологического процесса 22 нм. Но что ожидается после 2011 года? Станет ли возможным создание транзисторов по технологиям 16, 11 и 8 нм с длинами затворов транзисторов 7, 5 и 3 нм соответственно?

Рис. 12.15. Темпы увеличения плотности транзисторов (а) и частоты процессоров Intel (б)

350