часть
любой
вычисли
-
тельной
машины
.
Вычислительную
машину
можно
определить
как
устройство
,
изменяющее
состояние
памяти
,
переводящее
па
-
мять
из
одного
состояния
в
другое
.
В
этом
смысле
память
можно
считать
главным
объектом
работы
вычислительной
машины
.
Кэш
-
память
–
промежуточное
,
скрытое
от
пользователя
за
-
поминающее
устройство
ассоциативного
типа
,
позволяющее
ми
-
343
нимизировать
время
обращения
к
основной
оперативной
памяти
и
тем
самым
сократить
общее
время
решения
задач
.
Кэш
-
память
более
быстродействующее
устройство
,
но
значительно
меньшее
по
объему
по
сравнению
с
оперативной
памятью
.
Кэш
-
памятью
снаб
-
жены
почти
все
современные
процессоры
.
Блок
целочисленной
арифметики
,
или
целочисленное
арифметико
-
логическое
устройство
(
АЛУ
),
выполняет
ариф
-
метические
и
логические
операции
над
целыми
числами
в
дво
-
ичном
представлении
:
сложение
,
вычитание
,
умножение
,
деле
-
ние
с
остатком
,
логические
операции
,
сдвиги
.
Блок
арифметики
с
плавающей
точкой
(
АЛУ
с
плаваю
-
щей
точкой
)
выполняет
арифметические
операции
с
вещест
-
венными
числами
,
представленными
экспонентой
и
мантиссой
.
Диапазон
вещественных
чисел
,
представимых
в
машине
,
как
правило
,
значительно
больше
количества
представимых
в
ма
-
шине
целых
чисел
.
Регистры
общего
назначения
(
РОН
)
служат
для
проме
-
жуточного
хранения
операндов
и
результатов
вычислений
и
непосредственно
связаны
с
целочисленным
АЛУ
.
Они
также
могут
быть
использованы
для
вычисления
адресной
информа
-
ции
.
Если
операнды
находятся
на
быстрых
регистрах
общего
назначения
,
то
процесс
вычислений
ускоряется
,
так
как
нет
необходимости
обращаться
в
основную
сравнительно
медлен
-
ную
оперативную
память
.
Регистры
арифметики
с
плавающей
точкой
служат
для
промежуточного
хранения
операндов
и
результатов
вычислений
над
вещественными
числами
,
представленными
с
плавающей
точ
-
кой
.
Эти
регистры
обычно
по
разрядности
в
2–3
раза
длиннее
бы
-
стрых
регистров
общего
назначения
.
Это
необходимо
для
дости
-
жения
высокой
точности
выполнения
арифметических
операций
над
вещественными
числами
.
344
Вычислительные
машины
нетрадиционной
архитектуры
По
принципу
организации
обработки
данных
вычислитель
-
ные
системы
делятся
на
две
резко
различающиеся
категории
.
Большинство
однопроцессорных
и
многопроцессорных
машин
управляется
потоками
команд
.
Архитектуры
машин
и
вычисли
-
тельных
систем
,
управляемых
потоками
команд
,
принято
называть
традиционными
.
Однако
существуют
проекты
и
опытные
образцы
машин
,
управляемых
потоком
данных
.
Машины
,
управляемые
по
-
токам
данных
,
принято
относить
к
нетрадиционным
архитектурам
.
Понятие
традиционности
относительно
:
то
,
что
сегодня
считается
нетрадиционным
,
завтра
может
стать
вполне
обыденным
.
Рассмотрим
принципы
функционирования
таких
потоко
-
вых
машин
.
В
них
отсутствует
как
таковой
счетчик
команд
,
опре
-
деляющий
последовательность
действий
.
Цель
создания
такого
рода
компьютеров
состоит
в
том
,
чтобы
достичь
максимального
распараллеливания
вычислительного
процесса
.
Теоретически
та
-
кие
машины
позволяют
максимально
использовать
параллелизм
,
заложенный
в
алгоритме
.
Вычислительный
алгоритм
может
быть
представлен
гра
-
фом
потока
данных
.
Например
,
алгоритм
вычисления
выражения
:
(
а
+ b) d + (
а
+ d) b + d
⋅
b
⋅
c
представляется
графом
,
в
узлах
ко
-
торого
расположены
операции
,
выполняемые
над
переменными
,
поток
которых
указан
на
рис
. 12.12
стрелками
на
дугах
.
В
узлах
графа
,
расположенных
в
столбцах
,
все
операции
могут
быть
вы
-
полнены
независимо
и
одновременно
.
Рис
. 12.12.
Граф
-
схема
потока
данных
345
Принцип
работы
машин
,
управляемых
данными
(Data Flow
Computers – DFC),
состоит
в
том
,
что
всякое
действие
выполня
-
ется
в
тот
момент
,
когда
для
него
готовы
операнды
.
Очевидно
,
что
машина
,
спроектированная
точно
под
данный
алгоритм
,
бу
-
дет
работать
с
максимальной
производительностью
,
полностью
используя
внутренний
параллелизм
алгоритма
.
Говоря
об
уровнях
параллелизма
,
имеют
в
виду
число
узлов
графа
потока
данных
,
в
которых
указанные
действия
могут
вы
-
полняться
одновременно
.
Когда
же
идет
речь
о
проектировании
универсальной
DFC-
машины
,
возникает
множество
проблем
,
не
поддающихся
простому
решению
,
поскольку
универсальная
потоковая
маши
-
на
,
пригодная
для
выполнения
любого
алгоритма
,
теоретически
должна
содержать
неограниченное
число
функциональных
уст
-
ройств
.
Сделать
такую
универсальную
потоковую
машину
прак
-
тически
невозможно
,
так
как
число
функциональных
устройств
будет
ограничено
соображениями
технической
реализуемости
и
стоимости
.
Информация
о
графе
оказывается
весьма
емкой
по
объему
,
и
ее
необходимо
иметь
на
каждом
шаге
вычислите
-
льного
процесса
.
Этот
недостаток
потоковых
машин
,
требую
-
щий
передавать
большой
дополнительный
объем
информации
от
одного
узла
к
другому
,
сводит
на
нет
возможность
достиже
-
ния
максимального
параллелизма
.
Нейрокомпьютеры
Особое
место
в
вычислительной
технике
занимают
нейро
-
компьютеры
,
которые
все
более
и
более
широко
используются
для
решения
задач
распознавания
образов
,
классификации
,
поис
-
ка
экстремумов
,
решения
задач
искусственного
интеллекта
.
Нейрокомпьютер
,
или
нейроподобная
вычислительная
система
,
представляет
собой
сеть
элементарных
процессоров
(
ЭП
),
которые
,
следуя
изначальной
биологической
терминоло
-
гии
,
называются
нейронами
.
Нейроны
объединены
в
однослой
-
346
ную
или
многослойную
структуру
.
В
идеальном
случае
все
ней
-
роны
связаны
между
собой
линиями
передачи
данных
по
прин
-
ципу
«
каждый
с
каждым
».
Нейрон
,
получив
данные
от
других
нейронов
,
с
которыми
он
связан
,
выполняет
вычисления
некоторой
функции
S,
назы
-
ваемой
функцией
активации
.
Ее
значениями
в
простейшем
слу
-
чае
могут
быть
0
либо
1.
Связям
,
идущим
от
других
нейронов
к
некоторому
i-
му
нейрону
,
присваиваются
весовые
коэффициенты
w
kl
.
Эти
весо
-
вые
коэффициенты
,
умноженные
на
значения
S
k
,
поступающие
от
других
нейронов
,
суммируются
,
и
полученная
сумма
стано
-
вится
аргументом
функции
активации
,
вычисляемой
прини
-
мающим
нейроном
.
В
каждый
момент
времени
все
нейроны
ра
-
ботают
одновременно
,
обеспечивая
максимальный
параллелизм
нейрокомпьютерной
системы
.
Схематически
один
i-
й
ЭП
нейросети
,
или
нейрон
,
можно
представить
так
,
как
это
показано
на
рис
. 12.13.
Здесь
использо
-
ваны
обозначения
: w
mi
–
вес
,
на
который
умножаются
значения
,
поступающие
на
i-
й
ЭП
от
m-
го
ЭП
.
Величины
X
in
= S
i
(x
i
)
обо
-
значают
значение
функции
S
i
,
рассылаемое
другим
нейронам
,
связанным
с
данным
.
Вес
назначается
при
подготовке
(
настрой
-
ке
)
нейросети
к
работе
.
Эта
настройка
происходит
по
некоторым
алгоритмам
«
обучения
»
сети
.
Рис
. 12.13.
Схема
нейрона
(
процессорного
элемента
нейрокомпьютера
)
В
качестве
функции
S
i
(x
i
) = X
i
чаще
используют
бинарную
пороговую
функцию
,
принимающую
два
значения
: 0
или
1.
Поро
-
347
говая
функция
,
ее
называют
еще
функцией
активации
,
переводит
нейрон
в
два
состояния
–
активное
или
пассивное
.
Нейрокомпьютерная
сеть
обычно
работает
по
тактам
(
дис
-
кретно
).
За
такт
происходит
вычисление
одновременно
всех
по
-
роговых
функций
,
при
этом
новые
значения
этих
функций
будут
участвовать
в
следующем
такте
работы
нейронной
сети
.
Нейрон
,
принявший
значение
0,
становится
пассивным
.
Это
равносильно
тому
,
что
он
перестает
передавать
информацию
другим
,
связан
-
ным
с
ним
нейронам
.
Во
многих
нейросетях
функции
активации
полагают
одинаковыми
для
всех
нейронов
и
могут
быть
приняты
линейными
,
в
виде
гиперболического
тангенса
и
т
.
д
.
Считается
,
что
сеть
пришла
в
равновесное
состояние
,
ко
-
гда
перестают
изменяться
значения
выходов
.
Это
эквивалентно
тому
,
что
некий
итерационный
процесс
сошелся
.
Распределяя
нужным
образом
веса
связей
и
варьируя
правила
вычисления
функций
всех
узлов
,
можно
настраивать
такую
сеть
на
решение
широкого
круга
задач
указанных
выше
классов
.
Нейронные
сети
можно
«
обучать
»,
автоматически
изменяя
вес
и
значения
порогов
таким
образом
,
чтобы
на
обучающих
примерах
сеть
давала
правильный
ответ
на
поставленный
вопрос
.
В
этом
случае
можно
надеяться
на
то
,
что
сеть
будет
давать
пра
-
вильные
ответы
на
аналогичные
вопросы
,
касающиеся
других
объектов
с
другими
параметрами
.
Для
нейрокомпьютеров
исключаются
привычные
понятия
программирования
.
Процесс
обучения
сети
заменяет
программи
-
рование
в
обычных
машинах
.
Он
,
как
правило
,
требует
больших
затрат
времени
,
но
легко
поддается
автоматизации
с
использова
-
нием
обычных
компьютеров
.
Обученная
нейросеть
затем
очень
быстро
находит
решения
поставленных
задач
и
намного
превос
-
ходит
компьютеры
традиционной
архитектуры
по
эффективности
работы
.
Наиболее
широко
нейрокомпьютеры
используются
для
задач
распознавания
образов
.
В
настоящее
время
интенсивно
исследуются
возможности
применения
совершенно
новых
принципов
,
на
основе
которых
можно
создавать
вычислительные
системы
и
машины
.
348
Ведутся
работы
по
применению
биохимических
реакций
для
создания
так
называемых
биокомпьютеров
.
Теоретически
доказана
возможность
создания
на
этой
основе
универсального
вычислителя
.
Многообещающей
является
идея
создания
квантовых
ком
-
пьютеров
на
основе
использования
свойств
атомов
,
то
есть
кван
-
товой
машины
,
основным
логическим
элементом
которой
будет
отдельный
атом
.
Такая
машина
должна
обладать
быстродействием
,
достаточным
для
расшифровки
самых
сложных
кодов
в
считанные
секунды
,
в
то
время
как
на
самых
быстродействующих
современ
-
ных
машинах
на
это
потребуются
сотни
лет
.
Новые
принципы
по
-
требуют
нового
взгляда
на
архитектуру
компьютеров
начавшегося
тысячелетия
,
которая
будет
резко
отличаться
от
архитектур
совре
-
менных
вычислительных
систем
,
построенных
на
традиционной
элементной
базе
.
Оптические
компьютеры
,
основанные
на
кванто
-
вых
эффектах
,
идеях
голографии
будут
отличаться
глубоким
па
-
раллелизмом
,
вытекающим
из
естественного
параллелизма
физи
-
ческих
процессов
,
лежащих
в
основе
их
работы
.
Взаимоотношение
классов
архитектур
представлено
на
рис
. 12.14.
Рис
. 12.14.
Иерархия
архитектур
349
Do'stlaringiz bilan baham: |