КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оптимального управления 16 страницаВ последнее время в системах управления стали использо-вать в качестве регуляторов динамическими объектами такие современные программные средства, как нейронные сети и среды типа A-life. Свойства нейронных сетей были рассмотрены ранее, крат-ко повторим основные положения. Искусственные нейронные сети [43] могут рассматриваться как упрощенная математиче-ская модель человеческого мозга, функционирующая как па-раллельная распределенная вычислительная сеть. Однако, в от-личие от большинства обычных программ, нейронная сеть может быть обучена. Она может сама организовываться и обу-чаться с целью выполнения требуемых функций. Обрабатывающий информацию элемент (узел) сети можно представить, как элементарное устройство, содержащее локаль-ную память и функцию преобразования. Локальная память со-держит веса связей w., соответствующие входным сигналам х., порог срабатывания элемента и, возможно, еще какие-либо параметры данного узла. Нейронные сети организуют свои элементы в подмноже-ства, называемые слоями, в которых элементы осуществляют одну и ту же функцию преобразования. Слои могут иметь любую топологию связей. Возможны несколько типов классификации существующих нейросетей. По типу входной информации: сети, анализирующие двоичную информацию (сети Холфил- да, Хеминга), сети, анализирующие информацию в форме действитель-ных чисел (сети Гроссберга, Кохонена, ART-системы). По методу обучения: сети, которые для удовлетворения поставленным критери-ям требуют предварительного обучения перед включением их в реальную обстановку — модели с учителем (backpropagation), сети, не требующие предварительного обучения, способные самообучаться (совершенствовать свои характеристики) в процессе работы, модели без учителя (сети Гроссберга, Кохо-нена). По характеру распространения в сетях информации: однонаправленные сети, в которых информация распро-страняется только в одном направлении от одного слоя элемен-тов к другому, рекуррентные сети, в которых выходной сигнал элемента может вновь поступать на этот элемент и другие элементы сети этого же или предыдущих слоев в качестве входного сигнала. Существуют различные правила обучения нейросетей, из которых наиболее часто используются синхронное, оптимизи-рующее, конкурентное обучение, "filter " и пространственно- временное. Целью всех типов обучения является определение весовой матрицы сети, позволяющей удовлетворять поставлен-ным перед функционирующей сетью критериям. Самооптимизация позволяет нейросетям "конструировать" самих себя. При этом системный разработчик вначале определяет архитектуру нейросети и способ соединения ее с другими частями системы и выбирает метод обучения сети. Затем нейро- сеть адаптируется к данному приложению. Причем адаптивность позволяет нейросети успешно функционировать даже тогда, когда окружение, в котором работает объект, изменяется с течением времени. Полученную на основе нейросети систему путем некоторой подстройки (изменением числа нейронов в слое и числа слоев) можно использовать для решения широкого круга задач, что может сократить время новой разработки. Для того чтобы система могла решать неполностью опреде-ленные задачи (когнитивность познания) так же, как это спо-собен делать человек, можно инкорпорировать концепцию не-четкой логики в нейронные сети. Тогда получаются так называемые гибридные системы, которые еще называют нейро- фаззисистемами или фаззи-нейросетями [16]. Гибридные систе-мы сочетают достоинства нечетких систем с нейросетями, обес-печивая механизм вывода с учетом нечеткости познавательного процесса и возможностью обучаемости, адаптируемости и па-раллельности вычислений. Существуют три основные модели функционирования ней - ро-фаззисистем: в ответ на какое-либо лингвистическое утверждение нечет-кий интерфейсный блок генерирует входной вектор для много-слойной нейронной сети, которая может быть адаптирована (обучена) для выработки на выходе требуемых решений или команд, многослойная нейросеть управляется с помощью нечеткого механизма вывода, гибридная модель, содержащая и нечеткий интерфейсный блок и нечеткий управляющий механизм вывода. В artificial life (AL — искусственная жизнь) нет жесткого за-дания реакции внешнего мира, сужающего область применения генетических алгоритмов (GA). AL — это обобщающий метод построения динамических моделей, базирующийся на генети-ческих алгоритмах, методах теории хаоса, системной динамики и др.[10, 11]. Один из главных аппаратов, на который опирается AL, —- это GA. Самое общее определение AL дает журнал «Midrange Systems», трактуя AL как "компьютерное моделирование живых объектов". Однако на практике к AL принято относить компьютерные модели, обладающие рядом конкретных особенностей. Во-первых, центральная модель системы должна обладать способностью адаптироваться к условиям внешнего мира, ния процесс обучения представляет собой решение задачи оптимизации, целью которой является минимизация функции ошибки (или невязки) на данном множестве примеров путем выборки коэффициентов межнейронных связей. Рассмотренный пример обучения называют контролируемым обучением, или обучением с учителем. В рабочем режиме блок обучения, как правило, отключен, и на вход НК подаются сигналы, требующие распознавания (отнесения к тому или иному классу). На эти сигналы (входные образы), как правило, наложен шум. Обученная нейронная сеть фильтрует шум и относит образ к нужному классу. НК отличается от машины фон Неймана также по принципу взаимодействия структуры машины и решаемой задачи. Для однопроцессорных машин, с их "жесткой" структурой, разработчику приходится подстраивать алгоритм решения задачи под структуру машины. При использовании НК разработчик подстраивает структуру машины под решаемую задачу. Использование НК для решения задач управления требует проведения ряда предварительных процедур, связанных с кодированием входной и выходной информации, выбором архитектуры НС, алгоритмов обучения, способов оценки и интерпретации получаемых результатов и т.д., т.е. настройки НК на конкретную задачу управления. Каждая прикладная задача, решаемая на НК, имеет определенные особенности в средствах обработки и представления данных, поэтому вначале необходимо выполнить априорный анализ объекта управления. Если этот этап будет исключен, то возможно получение неадекватных результатов на этапе эксплуатации НК. Технология априорного анализа предметной области и решаемой прикладной задачи при нейросетевом управлении отличается от традиционных методов и включает следующие действия: обобщение опыта и профессиональных знаний об объекте, получение предварительных рекомендаций от экспертов, изучение литературных источников и существующих прототипов, сбор данных и формирование обучающей выборки для нейросети. В состав нейронного регулятора (HP) входят следующие основные блоки (рис. 4.2): менеджер (управляющий модуль),
интерфейсы ввода и вывода, предобработчик (препроцессор), интерпретатор, нейроимитатор. В свою очередь, в нейроими- татор включает нейросеть (НС), учитель (при реализации стратегии обучения с учителем), конструктор, блок оценки и блок отбора информативных признаков. Основным компонентом нейроимитатора является искусственная НС. Конструктор НС предназначен для формирования сети, со ответствующей модели предметной области. В связи с тем что отсутствует формальная процедура определения архитектуры НС (число слоев, число нейронов в каждом слое, вид связи между нейронами и т. д.), используются эвристические процедуры, которые основываются на предшествующем опыте работы с аналогичными нейросетевыми моделями предметной области. Если такой опыт отсутствует, выбор архитектуры выполняется путем перебора большого количества возможных вариантов построения НС. Учитель, используемый в сетях с обучением, может иметь множество возможных реализаций. При выборе определенной стратегии обучения необходимо учитывать класс решаемых задач, планируемую точность и время получения результатов. Для каждого вида нейронных сетей разработаны различные алгоритмы обучения. Блок отбора информативных признаков представляет собой надстройку над учителем и предназначен для определения минимально необходимого или "разумного" числа связей и нейронов сети. С помощью этого блока также удается уменьшить число градаций входной переменной. Наиболее важным следствием применения процедуры отбора (контрастирования) является получение логически прозрачных сетей, т. е. таюга сетей, функционирование которых можно описать и понять на языке логики. Качество обучения НС определяется оценкой (ошибкой обучения) на примерах из обучающей выборки, а эффективность решения конкретной задачи предметной области определяется оценкой (ошибкой обобщения) на тестовой (контрольной) выборке. Эти оценки вычисляются в блоке оценки. В случае, если указанные ошибки превышают заданные допустимые пределы, необходимо вернуться на предыдущие этапы построения ней- росетевой модели и изменить ее параметры. Наиболее важным блоком НР является база данных, содержащая примеры для обучения и контроля функционирования НС. Важность этого блока определяется тем, что обучение сетей всех видов с использованием любых алгоритмов обучения выполняется на известных примерах решения поставленной задачи. Кроме того, база данных содержит правильные ответы для НС, обучаемых с учителем. Очевидно, невозможно предусмотреть все варианты интерфейса между пользователем и базой данных, так как примеры могут иметь числовые поля, содержать графическую информацию или представлять собой текст. Наиболее подходящим форматом представления входной информации является формат табличных (реляционных) баз данных. Сигналы, подаваемые на вход НС, должны быть представлены в соответствующем формате данных, при этом очень часто фиходится их масштабировать, чтобы в максимальной степени 1Спользоватьдиапазон их изменения. Поэтому необходимо про- юдить предобработку (препроцессирование) входных сигналов, тричем для каждого вида должен быть реализован определен- 1ый способ предобработки. Формат ответов НС в явном виде часто оказывается непонятным для интерпретации человеком получаемых результатов. Ответ, выдаваемый НС, как правило, является вещественным числовым вектором. Если при решении какой-то прикладной задачи требуется получить ответ, например в градусах по шкале Кельвина или в дюймах, то необходимо преобразование выходного вектора. Представление ответа НС при решении задач классификации, когда необходимо для каждого входного вектора определить принадлежность его определенному классу, также вызывает определенные трудности. Эта задача может быть решена следующим образом. Пусть имеется К классов. Каждому выходному нейрону НС поставим в соответствие номер класса. При подаче на вход обученной НС некоторого входного вектора на ее выходе будет получен вектор, состоящий из К сигналов. Единого универсального правила интерпретации этого вектора не существует. Наиболее часто используют оценку по максимуму: номер нейрона, выдавшего максимальный по величине сигнал, является номером класса, к которому относится предъявленный сети вектор, Интерпретатор напрямую взаимодействует с пользователем через интерфейс вывода, следовательно, от качества его организации зависит эффективность работы HK. Управление операциями подготовки входных данных, обучения, тестирования НС, интерпретации выходныхданных ocy- шествляется менеджером проекта сети. Современный уровень развития теории и практики НС, а также достижения схемотехники и микроэлектроники позволяют создавать различные по принципу построения нейронные регуляторы. При практической реализации базового элемента НР — формального нейрона, его отдельных компонентов, соединение нейронов по слоям в сеть, обучение сети разработчик может выбрать одно из трех принципиально отличающихся направлений: · программное — все элементы НР реализуются программно на универсальных ЭВМ с архитектурой фон Неймана; · аппаратно-программное — часть элементов реализуется аппарагно, а часть — программно; · аппаратное — все элементы НР выполнены на аппаратном уровне, кроме специфических программ формирования синап- тических коэффициентов. Сегодня существует множество реализаций для каждого из этих направлений. Программные системы, реализующие первое направление, даже если для них требуется многопроцессорная или многомашинная аппаратная поддержка, получили название нейроэмуляторы или нейроимитаторы. Второе и третье направления аппарагно реализуются на заказных кристаллах (3K-ASIC), встраиваемых микроконтроллерах (МК-цС), процессорах общего назначения (GPP), программируемых логических интегральных схемах (ПЛИС-FPGA), транспьютерах, цифровых сигнальных процессорах (ЦСП-DSP), нейрочипах (НЧ), оптических и оптико-электронных нейронах (ОН и ОЭН), логических элементах (ОЛЭ и ОЭЛЭ) и волоконно-оптических и оптико-электронных линиях связи (ВОЛС и ОЭЛС) и информационных каналах (ВОИК и ОЭИК). Имеется много примеров практической реализации НК на различной элементной базе, однако все больше ученых и разработчиков отдают предпочтение ЦСП, ПЛИС, нейрочипам и ОЭИК. Следует отметить, что второе направление характерно тем, что аппаратная часть нейровычислительного модуля выполняется в виде платы расширения для универсальной ЭВМ, имеющей, как правило, архитектуру фон Неймана. В таких платах ап- паратно, например, может выполняться операция взвешенного суммирования, а операция нелинейного преобразования — про- граммно-базовой ЭВМ. Такие платы расширения получили название нейроускорители. Если вычислитель спроектирован по архитектуре, представленной на рис. 4.1, то его основной операционный блок выполняет все операции в нейросетевом базисе, а в запоминающем устройстве хранится не программа решения конкретной задачи, а программа формирования синаптических коэффициентов. Если его блок обучения на аппаратном или программном уровне реализует конкретный алгоритм обучения НС, то такой вычислитель следует отнести к собственно HK. Рассмотрим некоторые вопросы применения для построения нейровычислителей второго и третьего направлений ПЛИС., ЦСП, НЧ, ОН, ОЭН, ОЛЭ и оэлэ. Особенности ПЛИС как элементной базы НК рассмотрим на примере ПЛИС фирмы XILINX типа FPGA (Field Programmable Gate Array). ПЛИС XILINX (в дальнейшем просто ПЛИС) представляет собой массив конфигурируемых логических блоков (КЛБ) с полностью конфигурируемыми высокоскоростными межсоединениями. Нарис. 4.3 представлена обобщенная структурная схема ПЛИС XILINX серии XC4000. Весь массив КБЛ и конфигурируемые межсоединения расположены на кристалле. По периферии кристалла расположены блоки ввода-вывода, из которых каждый включает два триггера: один для ввода, другой для вывода информации. Кроме того, сюда включена логика дешифрации и цепи контроля высокоомных состояний.
На рис. 4.4 приведена упрощенная структура КБЛ ПЛИС серии XC4000/Spartan. Каждый КБЛ состоит из следующих устройств: двух просмотровых таблиц XILINX 16x1 — LUT-таблиц (Look Up Table), двух блоков логики ускоренного переноса, двух триггеров. Время распространения сигналов через устройства КБЛ составляет: через LUT-таблицу — около 0,5 нс, через блок ускоренного переноса — 0,1 нс, время переключения триггеров — не более 0,5 нс. Внутренние межсоединения ПЛИС конфигурируются пользователем и дают задержку по кристаллу между двумя произвольными точками не более 5 нс. На одном КБЛ ПЛИС можно реализовать полный двухразрядный сумматор. Каскадное соединение двухразрядных сумматоров позволяет построить сумматор 16-разрядных чисел. Время суммирования двух 16-разрядных чисел составит 5 нс при тактовой частоте 200 МГц. Кроме того, каждый КЛБ ПЛИС серии XC4000 можно конфигурировать в виде блока высокоскоростного синхронного ОЗУ 3281 или двух блоков ОЗУ 1681, или двухпортового ОЗУ 1681, что позволяет совместно с имеющимся блочным ОЗУ строить мощные высокопроизводительные системы.
Из рис. 4.3 видно, что ПЛИС имеет матричную структуру. Элементарной ячейкой матрицы является КБЛ. Такое построение кристалла ПЛИС позволяет организовывать иерархические структуры НС. На низшем иерархическом уровне таких структур стоит двухразрядный полный сумматор, построенный на базе КБЛ. Следующий уровень в иерархии занимает сумматор, например 16-разрядныхдвоичныхчисел. На базе сумматоров строятся умножители. Далее, на более верхнем уровне иерархии, стоит отдельный нейрон, а из нейронов строят фрагменты НС. На рис. 4.5 показан принцип иерархического фрагмента НС.
Фирмой "Scan Engineering Telecom" на основе элементарного массива КБЛ разработана библиотека простейших арифметических блоков, таких, например, как сумматоры, умножители, компараторы, некоторые виды нейронов. Это облегчает и ускоряет работу разработчика. Многоуровневая конвейерная структура НС на базе ПЛИС серии XC4000 обеспечивает время вычисления одного нейрона 6 нс (для нейрона с 8-ю 8-разрядными входами). А поскольку в такой структуре все нейроны работают параллельно, то обработка в общем случае N-мерного входного вектора происходит также за 6 нс. Иерархическая структура по своей природе многотактовая. Поэтому выходной К-мерный отклик сети поступает на выход относительно входного с некоторой задержкой. В общем случае этот факт не снижает быстродействия сети, так как конвейер обеспечивает единый такт приема входной информации и выдачу выходной. Для рассматриваемой ПЛИС такт приема может быть равен 6 нс. В нейронах фирмы "Scan Engineering Telecom "входной вектор может иметь размерность от 2 до 16. Соответственно в этом диапазоне изменяется и число синаптических коэффициентов. Разрядность входных данных и разрядность коэффициентов может меняться независимо по каждой координате от 1 до 16. Разрядность внутренних данных (выходные данные умножителей и дерева сумматоров), как правило, устанавливается равной разрядности входных данных, хотя при необходимости разработчик может ею варьировать. Наиболее просто в рассматриваемой ПЛИС могут быть реализованы функции активации либо в виде операции вычисления знака взвешенной суммы, либо в виде операции сравнения с загружаемым порогом (аппаратный компаратор). В настоящее время фирмой "Scan Engineering Telecom" разработано пять подходов реализации нейрона, отличающихся быстродействием и аппаратными затратами: 2.5. наибольшее быстродействие, значительные аппаратные ресурсы, загрузка весовых коэффициентов (обучение) в реальном масштабе времени; 2.6.среднее быстродействие, малые аппаратные ресурсы, загрузка весовых коэффициентов в реальном масштабе времен;
· высокое быстродействие, средние аппаратные ресурсы, загрузка весовых коэффициентов не в реальном масштабе времени; · среднее быстродействие, малые аппаратные ресурсы, загрузка весовых коэффициентов не в реальном масштабе времени; · среднее быстродействие, чрезвычайно малые аппаратные ресурсы, загрузка весовых коэффициентов не в реальном масштабе времени, однобитные высокоскоростные межсоединения. В первом подходе используются восемь конвейерных умножителей 8x8 бит в дополнительном коде, выполненных по алгоритму Бута, свертывающееся дерево сумматоров и компаратор с загружаемым 8-разрядным порогом. Реализация нейрона во втором подходе осуществляется с использованием восьми параллельно-последовательных 8-раз- рядных умножителей, 16-разрядного аккумулятора частичных произведений с временным мультиплексированием, использующих внутренние буферные регистры с тремя устойчивыми состояниями. Компаратор с загружаемым пороговым значением аналогичен используемому в предыдущем подходе. Синхронные элементы схемы функционируют на частоте 80 МГц, в то время как период загрузки новых данных и соответственно времени активизации нейрона составляет 100 нс (100 МГц). Смена значений 8-разрядных весовых коэффициентов и пороговой функции может осуществляться также с периодом 100 нс. Следующие три подхода используют принципы распределенной арифметики, что позволяет экономить аппаратные ресурсы, сохраняя быстродействие, соизмеримое с реализациями традиционных методов. Применение параллельной распределенной арифметики (PDA — Parallel Distributed Arithmetic) в третьем подходе позволяет более чем вдвое сократить аппаратную реализацию, сохраняя высокое быстродействие. Период полного обновления всех 8-разрядных весовых коэффициентов нейрона в этом случае составит 160 нс. Применениедля четвертого подхода последовательной распределенной арифметики (SDA — Serial Distributed Arithmetic) дает еще больший выигрыш в экономии аппаратных ресурсов. В таком случае на один нейрон потребуется 85 КБЛ, что составляет 3 % от возможностей ПЛИС XC4085XLA, а общее число нейронов, которое возможно реализовать на кристалле, составит 30. Рабочая частота нейронов равна 10 МГц, тактовая частота работы синхронных элементов нейрона — 90 МГц, время полного обновления весовых коэффициентов составляет 160 нс. Наибольшую экономию аппаратных ресурсов обеспечивает реализация нейрона на последовательно-последовательной распределенной арифметике. При этом соответствующие нейроны связаны однобитными высокоскоростными потоками, а загрузка коэффициентов осуществляется параллельно. На рис. 4.6 приведена обобщенная структурная схема НС на ПЛИС XILINX. Основой вычислителя является матрица из ПЛИС 1-4, связанных максимально возможным числом межсоединений. Размерность матрицы определяется разработчиком и в общем случае не имеет ограничений. В каждом столбце матрицы из ПЛИС размешаются от одного до нескольких слоев НС. Наращивание числа строк в матрице эквивалентно увеличению размерности входного и выходного векторов. Входной демультиплексор и выходной мультиплексор размещаются непосредственно в ПЛИС крайних столбцов и предназначены для ввода-вывода данных на стандартный интерфейс (системную шину). Управляющий контроллер служит для общей синхронизации работы сети, организации процесса обучения и загрузки весовых коэффициентов. Он связан с контроллером стандартного интерфейса (PCI, VME) и имеет специфический набор команд, необходимых и задаваемых разработчиком. Через стандартный интерфейс осуществляется связь сети с достаточно медленными по сравнению с возможностями межсоединений ПЛИС периферийными устройствами, например персональным компьютером, где осуществляется визуализация и частичная обработка передаваемой и принимаемой из сети информации. Разработчики ПЛИС Л7£/Л^Хпредусмотрели возможность каскадирования матрицы, что позволяет конструировать сети более высокой размерности. Каскадирование осуществляется с использованием корпусов BG560 (серия Virtex), имеющих514 пользовательских выводов, позволяющих осуществлять двунаправленный
ввод-вывод данных с пропускной способностью 103Гбит/с. Наращивание осуществляется через горизонтальные (ПЛИС 1 и ПЛИС 2, ПЛИС 3 и ПЛИС 4 на рис. 4.6) и вертикальные (ПЛИС 1 и ПЛИС 3, ПЛИС 2 и ПЛИС 4 на рис. 4.6) шины. Пропускная способность ограничивается лишь пропускной способностью физических межсоединений. Поэтому последние целесообразно выполнять волоконно-оптическими. Фирмой "Scan Engineering Telecom" предложен следующий вариант реализации аппаратно-программного направления конструирования нейровычислителей на нейросетевой платформе XNeuro-1.0, структурная схема которой приведена на рис. 4.7. На основе обрабатывающих модулей XDSP-680 и XDSP-4M составляется матрица ПЛИС, подобно приведенной на рис. 4.6. Модули объединяются двумя путями: через стандартный интерфейс — для осуществления управляющих и обучающих функций, и высокоскоростными прямыми портами межслойных и внутрислойных связей. В качестве управляющего контроллера можно использовать универсальный процессор Pentium. Модули, выполненные
в соответствии со стандартом на шину PCI, поддерживают Plug&Play протокол PCI версии 2.1. Система Х№иго-1.0допуска- ет установку до 18 модулей типа XDS, имеет в резерве два слота для установки контроллера на Pentium и платы видеоадаптера. Нейронная сеть, реализованная на базе XNeuro-1.0, имеет следующее число нейронов, рассмотренных выше (подход 4): 2.7. 103000 для XDSP-680 с установленными ПЛИС XCV1000E; 2.8. 7500 для XDSP-3M с установленными ПЛИС XCV2600E. В самом конце семидесятых годов прошлого столетия появились цифровые сигнальные процессоры (ЦПС — DSP — Digital Signal Processor), что было обусловлено желанием разработчиков систем управления сложными динамическими объектами включать в свои проекты именно цифровые вычислительные устройства, обеспечивающие высокие точностные характеристики систем. Важным преимуществом ЦПС как элементной базы нейро- вычислителей перед универсальными микропроцессорами является возможность работы на максимальных тактовых частотах, а также возможность выполнять практически все операции алгоритма управления на аппаратном уровне. Это обеспечивает высокую производительность вычислительных устройств на их основе. Платой за высокое быстродействие являются осложнения, связанные со сменой алгоритмов управления, так как при этом практически все изменения приходятся на изменения схемотехники вычислителя. ЦПС имеют ряд архитектурных особенностей, которые с успехом могут быть использованы при построении HK. К таким особенностям следует отнести наличие в их системе команд операции умножения с накоплением MAC (D: = АВ + D. При этом в команде указывается глубина цикла и правило изменения индексов элементов массивов А и В). Эта команда наилучшим образом соответствует операции взвешенного суммирования в адаптивном сумматоре нейрона. Выше кратко рассматривались особенности архитектуры процессоров. Напомним эти особенности. Операция умножения двух чисел в ЦПС выполняется за один командный цикл, что также существенно повышает производительность вычислительного устройства. При выполнении арифметической операции необходимо осуществить выборкудвух операндов, собственно операцию и сохранить результат или удержать его до повторения. Если архитектура вычислительного устройства имеет одну шину данных, одновременно выполнить эти операции (за один такт) невозможно. Гарвардская архитектура (SHARC— Syper Harvard Architectur) предполагает наличие двух физически разделенных шин: одну для команд, вторую — для данных. Можно установить три раздельных шины — для двух операндов и для команды, что значительно повышают стоимость микросхемы. В компромиссном варианте применения лишьдвух шин в архитектуре процессора используется кэш-память, которая хранит те команды, которые будут вновь использоваться, оставляя свободными шины команд и данных. Гарвардская архитектура с кэшпамятью получила название расширенной гарвардской архитектуры. Многие ЦПС построены по гарвардской и расширенной Гарвардской архитектуре. Перспективным является построение вычислительных устройств по новой архитектуре — TrigerSHARC, сочетающей в себе высокую степень конвейеризации и программируемость RISC- процессоров, SHARC-ядро, структуру памяти, особенности реализации интерфейса ввода/вывода ЦПС, параллелизм на уровне команд VLIW(Very Long Instruction Word)-apxHTeKTyp. На рис. 4.8 приведена схема, поясняюшая принцип архитектуры TrigerSHARC. Как видно из рисунка, в системе имеются два вычислительных блока Хи Y(ВБХи ВБУ), каждый из которых имеет регистровый файл (РгФ). Объем РгФ составляет 32 слова по 32 разряда каждое. Вычислительный блок может выполнять все операции обычного арифметико-логического устройства (модуль ALU), однотактного умножения, включая умножение с накоплением (модуль MAQ, различные регистровые операции (сдвиги, инверсия и т. п., модуль Shift). Данные для работы модулей ALU, MAC, Shift выбираются из регистрового файла, туда же записываются результаты работы этих модулей. Большое число регистровой памяти способствует эффективному применению языков программирования высокого уровня. Высокая внутренняя скорость передачи информации достигается применениемдвух 128-разрядных шин, связывающих
регистровый файл с тремя 128-разрядными системными шинами. Обе шины вычислительного блока позволяют одновременно выполнять операцию чтения из памяти (блоки ЗУ1, ЗУ2, ЗУЗ), а одна шина — операцию записи в память. Такая организация шин весьма эффективца для вычислительных систем, реализующих большое число математических операций.
Дата добавления: 2015-04-29; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |