<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современная техника и технологии» &#187; нейропроцессор</title>
	<atom:link href="http://technology.snauka.ru/tags/neyroprotsessor/feed" rel="self" type="application/rss+xml" />
	<link>https://technology.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jan 2026 18:56:12 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Принципы и методы реализации распределенных систем на базе нейропроцессоров</title>
		<link>https://technology.snauka.ru/2015/05/6564</link>
		<comments>https://technology.snauka.ru/2015/05/6564#comments</comments>
		<pubDate>Mon, 11 May 2015 08:25:07 +0000</pubDate>
		<dc:creator>Ксения Синицына</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[нейропроцессор]]></category>
		<category><![CDATA[распределенная система]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=6564</guid>
		<description><![CDATA[В настоящее время, в век современных технологий  все чаще и чаще используются системы на базе  нейропроцессоров для различного применения. Ранее ученые и инженеры мечтали создать машину, которая бы мыслила, подобно человеку. Например, разработчики  компании Qualcomm решили замахнуться на  задачу, такую  как разработка  нейропроцессора, который смог бы имитировать работу человеческого мозга. Если машина сможет вести себя, [...]]]></description>
			<content:encoded><![CDATA[<p>В настоящее время, в век современных технологий  все чаще и чаще используются системы на базе  нейропроцессоров для различного применения. Ранее ученые и инженеры мечтали создать машину, которая бы мыслила, подобно человеку. Например, разработчики  компании Qualcomm решили замахнуться на  задачу, такую  как разработка  нейропроцессора, который смог бы имитировать работу человеческого мозга.</p>
<p>Если машина сможет вести себя, как человек ее возможности расширятся. Современные компьютеры, выполняя простые задачи, даже не задумываются в распознавании образов  или ориентировании в сложной обстановке.  Иногда даже самые мелкие  возможности в компьютерах реализуются путем усилий программистов, которые пишут тонны кода, описывающие все в деталях, что должен выполнять компьютер.</p>
<p>Основной  упор в разработке нейропроцессоров  сделан на восприятии  внешнего мира,  то есть на обработке реакции  мира на предполагаемые действия, и самообучение на основе анализа этой реакции. Если сказать  другими словами, то разработчики  пытаются наделить нейропроцессоры характерной чертой, а точнее способности обучаться и адаптироваться к меняющейся обстановке.</p>
<p>Программы для нейропроцессоров — это набор инструкций, ядра выполняют их так, как придумал программист;  в процессе обучения сигналы внутри процессора переходят от одного «нейрона» к другому, в  результате переходов,  связи укрепляются, то есть  происходит передача нервных импульсов, как у людей.</p>
<p>Нейропроцессор–это изобретение, которое относится к вычислительной технике и используется при создании средств, для систем управления объектами авиации и ракетных технологий, где требуется более быстрое вычисление функций, например в решении задач  систем координат, вычисление угловых скоростей.</p>
<p>Нейропроцессор,  обычно состоит из двух основных блоков: скалярного, выполняющего роль универсального вычислительного устройства, и векторного, который ориентирован на выполнение  операций. Каждый нейропроцессор рассчитан на высокопроизводительную обработку данных.</p>
<p>Нейропроцессоры, обладают рядом преимуществ:</p>
<p>1)    быстродействие,</p>
<p>2)    устойчивость к помехам и разрушениям.</p>
<p>Несмотря на перечисленные выше достоинства, эти устройства имеют ряд недостатков:</p>
<p>1.    Зачастую они создаются специально для решения конкретных задач, связанных с логикой и теорией самоорганизации.</p>
<p>2.    Такие устройства достаточно дорогостоящи.</p>
<p>Распределенные системы &#8211; это комплексы программ, части которых функционируют на разных компьютерах в сети. Части взаимодействуют друг с другом, используя ту или иную технологию различного уровня.</p>
<p>Распределенные системы &#8211; это группа компьютеров, представленных пользователю конкретным , одним компьютером. Примеры: сеть станций, выбор нейропроцессоров  для выполнения различных операций, завод по производству роботов, банки со многочисленными филиалами, все то, что обращено к одному, главному компьютеру.</p>
<p>Рассмотрим причины создания  и преимущества распределенных систем:</p>
<ol>
<li>Экономичность, то есть за определенную цену, можно получить процессор   более мощный.</li>
<li>Производительность.</li>
<li>Распределенность, каждый  процессор выполняет определенную работу.</li>
<li>Надежность, выход из строя нескольких процессоров не снизит работу главного.</li>
<li>Разделение данных.</li>
<li>Уникальность информационных устройств.</li>
<li>Коммуникация между людьми. Электронная почта,  удобнее писем, телефонов и факсов.</li>
<li>Гибкость использования ЭВМ, распределение нагрузки.</li>
<li>Упрощение работы компьютеров.</li>
</ol>
<p>Недостатками распределенных систем являются:</p>
<ol>
<li>Проблемы ПО (приложения, языки, ОС).</li>
<li>Проблемы коммуникационной сети (потери информации, перегрузка,развитие и замена).</li>
<li>Секретность.</li>
</ol>
<p>Приведем несколько примеров компаний, выпускающих нейропроцессоры.</p>
<p>Например, всеми известная компания Tilera, которая специализируется на выпуске  нейропроцессоров, известная тем, что в 2009 году представила нейропроцессор. Несколько лет назад, представители данной компании рассказали о начале производства своих нейропроцессоров. В нашем же времени, в компании назодятся более 80 клиентов, которые пользуются нейропроцессорами. В следующем примере обратимся к фирме Philips, создателю первого нейропроцессора L-Neuro. Сейчас известны его аналоги, это  нейропроцессоры  L-Neuro 1.0 и L-Neuro 2.3.</p>
<p>Основываясь на ранее проведенных исследованиях, в качестве варианта, можно рассмотреть нейропроцессорNeuroMatrix, который разрабатывался  компанией «Модуль».  Этот нейропроцессор представляет собой следующую структуру:</p>
<p>1.       Ядро &#8211; нейропроцессор, предназначен для выполнения  операций над данными, и формировании команд.</p>
<p>2.       Сопроцессор, для выполнения логических операций над данными, определенной разрядности.</p>
<p>3.       Порты, которые обеспечивают обмен конкретной информации, между нейропроцессором и  клиентом.</p>
<p>4.       Два блока интерфейса с шинами данных, для подключения внешней памяти, то есть дополнительных устройств с  памятью.</p>
<p>Порты позволяют строить  распределенные системы на базе нейропроцессоров, которые обеспечивают  быстроту выполняемых действий и простоту реализации нейропроцессоров.</p>
<p>Таким образом, современные нейропроцессорные системы уже представляют собой распределенные системы, особенно если это касается крупные вычислительные модули.</p>
<p>Нейропроцессоры же, это перспективное направление в развитии  вычислительной техники. Число фирм, которые работают с  нейропроцессорами,  постоянно растет, причем к числу таких фирм, относятся такие фирмы как : Intel, DEC, IBM. Также можно сказать, что растет  внимание к военным разработкам, к медицинским технологиям, таким как  выявление заболеваний на ранних стадиях,  различные томографы, проведение операций  роботами-врачами, во всем используются компьютеры, а точнее, если сказать нейропроцессоры,  каждый выполняет свои заданные функции. И выполняют , на сегодняшний день, их очень хорошо.</p>
<p>В  настоящее время, а именно в данный момент, нейропроцессоры – самая используемая техника, которая развивается очень быстрыми темпами, в различных областях применения. Например, некоторые нейропроцессоры делает компания Fujitsu.  Можно также вспомнить Mark I Розенблатта.  Замечательная разработка, хорошая идея, которые не были незамечены в те времена и в настоящий момент, и которые осуществляются в  распределенных системах нейропроцессоров. В настоящий момент, производством «Марков»  занимается компания TRW.  А,  всеми известная компания Texas Instruments, на основе ранних разработок, представила свойнейропроцессор NETSIM. Другой нейропроцессор, WIZARD/CRS используется в системах промышленности.</p>
<p>Хочется упомянуть, что в мире, в настоящее время,  насчитывается свыше 50-ти случаев  использования  распределенных систем нейропроцессоров. Данные  системы управляют самолетами и ракетами. Также необходимо отметить, что нейротехнологии используются для распознавания лиц, букв, сигналов, отпечатков пальцев,  составления прогнозов погоды и многого другого.</p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/05/6564/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка математического и алгоритмического аппарата вычислительного устройства управления динамическими объектами в реальном масштабе времени на примере гексапода</title>
		<link>https://technology.snauka.ru/2015/07/7448</link>
		<comments>https://technology.snauka.ru/2015/07/7448#comments</comments>
		<pubDate>Wed, 01 Jul 2015 00:17:49 +0000</pubDate>
		<dc:creator>Романчук Виталий Александрович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[вычислительное устройство]]></category>
		<category><![CDATA[гексапод]]></category>
		<category><![CDATA[нейропроцессор]]></category>
		<category><![CDATA[управление динамическими объектами]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=7448</guid>
		<description><![CDATA[Главной отличительной чертой управляющей вычислительной системы (УВС) для управления динамическим объектом является наличие двух режимов: оперативного и неоперативного, обусловленных жесткими требованиями обработки большого количества информации в высоком темпе. Для обеспечения обработки информации на центральной вычислительной машине (ЦВМ), поступающей с датчиков объекта управления (ОУ) в заданном темпе, приходится распараллеливать вычислительные операции в подключаемых дополнительных специализированных вычислительных [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span>Главной отличительной чертой управляющей вычислительной системы (УВС) для управления динамическим объектом является наличие двух режимов: оперативного и неоперативного, обусловленных жесткими требованиями обработки большого количества информации в высоком темпе. Для обеспечения обработки информации на центральной вычислительной машине (ЦВМ), поступающей с датчиков объекта управления (ОУ) в заданном темпе, приходится распараллеливать вычислительные операции в подключаемых дополнительных специализированных вычислительных устройствах (СВУ). Такое разделение функций позволяет обеспечить нестационарный режим без нарушения темпа основного вычислительного процесса.<br />
</span></p>
<p style="text-align: justify;"><span>В реальном масштабе времени должны решаться две основные задачи: вычисление управляющего воздействия и интегрирование системы дифференциальных уравнений. Сведение системы дифференциальных уравнений к системе алгебраических уравнений в векторно-матричной форме удобно для ее реализации средствами цифровой вычислительной техники (ЦВТ) в СВУ, где должны выполняться операции «умножения с накоплением» одновременно над несколькими операндами [3,4].<br />
</span></p>
<p style="text-align: justify;"><span>Также в процессе управления переменные состояния могут принимать значения в широком динамическом диапазоне их изменения, поэтому обеспечить качество системы одним набором коэффициентов обратной связи не удается. Весь динамический диапазон разбивается на поддиапазоны. Нахождение переменной или всего вектора в некоторой зоне фазового пространства определят режим работы системы.<br />
</span></p>
<p style="text-align: justify;"><span>Процессор DSP (Digital Signal Processor)</span> и нейропроцессоры<span> обладая мощной вычислительной структурой, позволяет реализовать различные алгоритмы обработки информационных потоков. Сравнительно невысокая цена, а также развитые средства разработки программного обеспечения позволяют легко применять их при построении вычислительных систем с массовым параллелизмом [1, 8].<br />
</span></p>
<p style="text-align: justify;"><span>Ниже изложены принципы математического и алгоритмического обеспечения построения СВУ, реализующего идентификатор состояния системы управления гексаподом (HEX), позволяющего путем восстановления неизмеряемых координат вектора состояния и внешней нагрузки, повысить точность наведения оси верхней платформы.<br />
</span></p>
<p style="text-align: justify;"><span>Рассмотрим принцип действия СВУ. СВУ функционирует на основе информации [3,4]:<br />
</span></p>
<ol>
<li>
<div style="text-align: justify;"><span>об измеряемой части вектора состояния HEX, которая снимается с датчиков;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>о параметрах HEX;<br />
</span></div>
</li>
<li><span>о законе движения HEX в виде вектора программы.<br />
</span></li>
</ol>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_1.png" alt="" /></p>
<p style="text-align: center;"><span>Рисунок 1 &#8211; Cистема управления HEX<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_2.png" alt="" /><span><strong><br />
</strong></span></p>
<p style="text-align: center;"><span>Рисунок 2 &#8211; Структура СВУ<br />
</span></p>
<p style="text-align: justify;"><span>Приняты следующие обозначения: — рабочие матрицы, полученные из матриц параметров HEX и матриц параметров корректирующих фильтров;<br />
</span></p>
<p style="text-align: justify;"><span><em>P</em>&#8216;, <em>P</em> — матрицы параметров корректирующих связей (6&#215;100);<br />
</span></p>
<p style="text-align: justify;">a*(t)<span>— вектор-функция программы (18&#215;1);<br />
</span></p>
<p style="text-align: justify;"><span><em>Y</em>(<em>t</em>) — вектор-функция наблюдения (сигналы, поступающие от измерительной системы) (30&#215;1);<br />
</span></p>
<p style="text-align: justify;"><span><em>X</em>(<em>t</em>), <em>X</em>*(<em>t</em>) — вектор-функция текущего и программного состояния системы на <em>i</em>-м шаге управления (100&#215;1);<br />
</span></p>
<p style="text-align: justify;"><span><em>X</em>(<em>t</em>+<em>h</em>), <em>X</em>*(<em>t</em>+<em>h</em>) — то же на (<em>i</em> +1)-м шаге (100&#215;1);<br />
</span></p>
<p style="text-align: justify;"><span><em>U</em>(<em>t</em>) и <em>U</em>(<em>t</em> + <em>h</em>) — вектор управляющих воздействий на <em>i</em>-м и  (<em>i</em> + 1)-м шагах управления (30&#215;1);<br />
</span></p>
<p style="text-align: justify;"><span><em>h</em> — шаг интегрирования (0.02) ;<br />
</span></p>
<p style="text-align: justify;"><span><span>Q</span><span> — значение отклонения фокальной оси HEX от линии визирования объекта(3&#215;1);<br />
</span></span></p>
<p style="text-align: justify;"><span>С*, R*, R — постоянные матрицы размерностью (3&#215;3, 3&#215;100, 3&#215;100)<br />
</span></p>
<p style="text-align: justify;"><span>Из алгоритма управления HEX следует, что основной процедурой в СВУ является процедура умножения матрицы на вектор:</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_5.png" alt="" /></p>
<p style="text-align: justify;"><span>Одна компонента вектора результата получается суммированием произведения элементов строки матрицы на соответствующие элементы вектора — столбца. Эта последовательность операции повторяется столько раз, сколько строк в матрице. Для вычисления произведения матрицы на вектор необходимо выполнять<br />
</span></p>
<p style="text-align: left;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_6.png" alt="" /><span><br />
</span></p>
<p><span>операций умножения,<br />
</span></p>
<p style="text-align: justify;"><span>где </span><em>m</em><span>  — число строк матрицы;<br />
</span></p>
<p style="text-align: justify;"><span><em>    n</em> — число столбцов;<br />
</span></p>
<p style="text-align: justify;"><span>и <em>N</em><sub>смв</sub> операций сложения, определяемых по формуле<br />
</span></p>
<p style="text-align: justify;"><span><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_7.png" alt="" /><br />
</span></p>
<p style="text-align: justify;"><span>операций сложения, или около 3000 пар операций умножение — сложение.<br />
</span></p>
<p style="text-align: justify;"><span>Исходя из заданного значения минимальной частоты расчета управляющих воздействия, максимально допустимое время выполнения одной пары операций умножение — сложение <em>T</em><sub>по</sub>:<br />
</span></p>
<p><span><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_8.png" alt="" /></span></p>
<p><span>СВУ состоит из следующих основных функциональных блоков: устройства задания траектории цели, вычислителей управляющего воздействия по азимуту и углу места.</span></p>
<p><span>Вычислитель управляющего воздействия каждой оси наведения выполняет следующие функции:<br />
</span></p>
<ul>
<li><span>принимает от задающего устройства информацию о параметрах HEX и три компоненты вектора программы (угол, скорость, ускорение);<br />
</span></li>
<li><span>принимает от устройства ввода информацию об измеряемой части вектора состояния от датчиков HEX;<br />
</span></li>
<li><span>рассчитывает управляющее воздействие, обеспечивающее схождение наблюдателя к реальному объекту РТ;<br />
</span></li>
<li><span>рассчитывает значения оценок не измеряемых компонент вектора состояния.<br />
</span></li>
</ul>
<p style="text-align: justify;"><span>Согласно Рис. 1 цифровая система управления обеспечивает восстановление неизмеряемой части вектора состояния и формирование сигнала обратной связи по полному вектору состояния. Уравнения такого регулятора имеют следующий вид<br />
</span></p>
<p><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_9.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>где F,G — матрицы параметров наблюдающего устройства;<br />
</span></p>
<p style="text-align: justify;"><span>z(t) — вектор восстановленных переменных состояния;<br />
</span></p>
<p style="text-align: justify;"><span>y(t) — вектор измерений;<br />
</span></p>
<p style="text-align: justify;"><span>K<sub>1</sub>,K<sub>2</sub> — коэффициенты обратной связи по состоянию.<br />
</span></p>
<p style="text-align: justify;"><span>Численное интегрирование дифференциальных уравнений наблюдающего устройства предлагается осуществлять путем их аппроксимации разностными уравнениями, позволяющими рассчитать значения восстановленного вектора состояния на интервалах времени, кратных шагу интегрирования.<br />
</span></p>
<p style="text-align: justify;"><span>Уравнения регулятора в векторно-разностной форме записываются в виде:<br />
</span></p>
<p style="text-align: justify; margin-left: 14pt;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_10.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>где Ф(h) — переходная матрица, характеризующая собственное движение;<br />
</span></p>
<p style="text-align: justify;"><span>S(h) — матрица, определяющая вынужденное движение наблюдающего устройства;<br />
</span></p>
<p style="text-align: justify;"><span>h — период квантования по времени (шаг интегрирования).<br />
</span></p>
<p style="text-align: justify;"><span>Матрицы Ф(h) и S(h)  непосредственно зависят от величины шага интегрирования и определяются выражениями:<br />
</span></p>
<p style="text-align: left;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_11.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>Согласно уравнениям (6) все вычисления в СВУ могут быть сведены к следующим операциям над массивами данных:<br />
</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_12.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>где b,W — скаляр и вектор, поступающие из базовой ЦВМ;<br />
</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_13.png" alt="" /><span> — скаляр и вектор, полученные на предыдущих операциях и хранящиеся в СВУ;<br />
</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_14.png" alt="" /><span> — результаты текущей операции;<br />
</span></p>
<p style="text-align: justify;"><span>n — размерность векторов.<br />
</span></p>
<p style="text-align: justify;"><span>Так, например, умножение матрицы на вектор сводится к последовательности операций (8), где W представляет собой столбец матрицы множимого, b — компоненту вектора множителя. Частный случай умножения диагональной матрицы на вектор сводится к выполнению операций вида (11) при <img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_15.png" alt="" />.<br />
</span></p>
<p style="text-align: justify;"><span>Для вычисления уравнений (6) в соответствии с операциями (8), (9) в СВУ в каждом такте из памяти извлекаются коэффициенты матриц Ф(h), S(h) упорядоченные по столбцам, а также матрицы-строки K1mK2 и с внешней шины данных выдается вектор измерений y(t). Также в СВУ хранятся значения вектора z(t) которые в процессе вычислений заменяются текущими результатами операций.<br />
</span></p>
<p style="text-align: justify;"><span>Наибольшая точность вычислений достигается при выполнении арифметических операций над числами с плавающей запятой. В ЦВМ с плавающей запятой диапазон изменения машинных переменных превышает размеры разрядной сетки за счет их искусственного преобразования, осуществляемого аппаратными или программными средствами. Это тождественно автоматическому выбору масштабных коэффициентов при выполнении каждой арифметической операции. Однако реализация в СВУ плавающей запятой существенно увеличивает время выполнения операций, что при решении задач управления в реальном времени практически не позволяет удовлетворить требования по быстродействию, предъявляемые к цифровым регуляторам. В связи с этим для обеспечения требуемого быстродействия арифметические операции в СВУ выполняются над числами с фиксированной запятой. При вычислении уравнений (8) в СВУ с фиксированной запятой могут возникать ситуации, когда машинного диапазона представления переменных и коэффициентов не хватает для получения результатов с требуемой точностью, т. е. переменные выходят за пределы разрядной сетки или принимают значения, соответствующие машинному нулю. В таком случае должны быть предусмотрены средства изменения масштабов для этих переменных, обеспечивающие удержание их в пределах заданного машинного диапазона.<br />
</span></p>
<p style="text-align: justify;"><span>В современных сигнальных процессорах (DSP) для повышения вычислительной мощности на одном кристалле размещаются несколько процессоров. В литературе такие многоэлементные процессоры получили название векторных или матричных. Данные процессоры имеют архитектуру, в который обрабатывается одиночный поток векторных команд и множественный поток данных (single instruction stream/multiple data stream — SIMD). Это позволяет выполнять одну арифметическую операцию сразу над многими числами (данными) – элементами вектора или массивами.<br />
</span></p>
<p style="text-align: justify;"><span>Как правило, такие многоэлементные процессоры содержат несколько процессоров с фиксированной запятой и один управляющий с плавающей, отвечающий за перемасштабирование. Управляющий процессор может самостоятельно вычислить плохо обусловленные операнды, либо организовать работу остальных процессоров на пересчет с двойной точностью. В первом случае не будет потери в быстродействии, так как вычисления будут произведены за один машинный цикл; во втором – вычисление произведения строки матрицы на вектор будет произведено больше чем за один машинный цикл. Поэтому необходимо произвести перемасштабирование операндов так, чтобы они все были хорошо обусловлены.<br />
</span></p>
<p style="text-align: justify;"><span>На этапе подготовки исходных данных все коэффициенты и переменные, входящие в систему уравнений (8), представляются в виде<br />
</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_18.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>где  am— мантисса числа, по модулю меньшая единицы;<br />
</span></p>
<p style="text-align: justify;">d<span> — основание системы счисления;<br />
</span></p>
<p style="text-align: justify;">p<span> — порядок числа, округленного до целого.<br />
</span></p>
<p style="text-align: left;"><span>С учетом этого систему уравнений можно записать так:<br />
</span></p>
<p style="text-align: left;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_22.png" alt="" /><span><br />
</span></p>
<p style="text-align: left;"><span>i=1,2,&#8230;,n<br />
</span></p>
<p style="text-align: justify;"><span>Обозначим порядки частных произведений<br />
</span></p>
<p style="text-align: justify;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_23.png" alt="" /><span><br />
</span></p>
<p style="text-align: justify;"><span>Нормировка матриц порядков частных произведений осуществляется построчно путем определения максимального элемента в каждой строке матрицы [P1, P2] и [R1,R2] и вычитания этого элемента из элементов строки. После такой нормировки старший порядок частных произведений становится нулевым, остальные — отрицательными. Нормировка матриц мантисс производится путем их перемножения с нормированными матрицами порядков.<br />
</span></p>
<p style="text-align: justify;"><span>В соответствии с описанным выше алгоритмом в СВУ для определения вектора мантисс Zm(t+h) в каждом такте передаются нормированные матрицы <img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_27.png" alt="" /> и вектор мантисс Ym(t). При выходе абсолютной величины мантиссы i-й переменной за границы заданного диапазона [Zmin,1] производится повторное определение мантисс и матриц порядков. Так, при превышении модуля Zmi на первом уровне порядок Pzi увеличивается на единицу или большую величину в зависимости от выбранной ширины диапазона изменения данной переменной в пределах одного масштаба. Увеличение порядка Pzi сопровождается повторной нормировкой соответствующих строк и столбцов матриц порядков частных произведений <em>Р</em>1, <em>Р</em>2, R1,R2 и последующим изменением нормированных матриц мантисс. Аналогичные действия производятся при выходе модуля мантиссы i-й переменной Zmi за нижнюю границу заданного диапазона. Только в этом случае порядок Pzi уменьшается на целую величину, что соответствующим образом учитывается в нормированных матрицах порядков и мантисс. Указанные действия адекватны замене переменной в системе уравнений (6) в результате изменения ее масштаба.<br />
</span></p>
<p style="text-align: justify;">На рисунке 3 показана<span> блок-схем</span>а<span> разработанного алгоритма специального вычислительного устр</span>ойства на базе нейропроцессора для управления гексаподом<span>.<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/06/062815_1917_36.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3 &#8211; Блок-схема алгоритма<br />
</span></p>
<p style="text-align: justify;"><span>В первом блоке вычисляется вектор-функция текущего состояние системы состоящая (Xth) из сумм произведений рабочих матриц полученных из матриц параметров гексапода и матриц параметров корректирующих фильтров в результате расчета (F, S, G), вектор-функций наблюдений(Y(t)), вектор-функций текущего и программного состояния системы (X(t)), и скалярного управляющего воздействия (U(t)). Во втором блоке вычисляется вектор-функция программного состояния системы (X&#8217;th) состоящая из сумм произведений рабочих матриц полученных из матриц параметров гексапода и матриц параметров корректирующих фильтров в результате расчета (F, S), вектор-функций текущего и программного состояния системы (Q(t), Z(t)), и<span style="color: black;"><br />
</span>вектор-функция программы (a(t)). Третий блок отвечает за расчёт матрицы для скалярного управляющего воздействия (U), состоящего из суммы произведений матриц параметров корректирующих связей (P, L) и вектор-функций текущего и программного состояния системы (X&#8217;th, Xth). Последний блок отвечает за расчёт матрицы значений отклонений фокальной оси HEX от линии визирования объекта (O) состоящую из произведения постоянной матрицы (С) и вспомогательной матрицы (О3) которая состоит из суммы вспомогательных матриц (O1, O2) равных произведению постоянных матриц (R&#8217;, R) и вектор-функций текущего состояние системы и программного состояние системы на i+1 шаге управления (X&#8217;th, Xth).<br />
</span></p>
<p style="text-align: justify;"><span>Следует отметить, что вычисления, вызываемые изменением масштаба какой-либо переменной и связанные повторной нормировкой матриц порядков и мантисс, производятся не в каждом такте работы СВУ, а лишь тогда, когда мантисса этой переменной выходит за установленные пределы или когда порядок переменной на текущем шаге интегрирования отличается от порядка на предыдущем шаге. Это обеспечивает существенный выигрыш во времени по сравнению с выполнением операций с плавающей запятой.<br />
</span></p>
<p style="text-align: justify;"><span>СВУ предназначен для численного интегрирования матрично-векторной системы нелинейных дифференциальных уравнений с гладкими нелинейностями (sin, cos) в форме Коши с целью минимизации времени вычислений. Система уравнений описывает HEX или другой динамический объект имеющий следующие размерности векторов и матриц:<br />
</span></p>
<ul>
<li><span style="text-align: justify;">Размерность системы: 100 уравнений первого порядка.</span></li>
<li><span style="text-align: justify;">Верхняя граница спектра собственных частот: 20 Гц.</span></li>
<li><span style="text-align: justify;">Вектор входных воздействий имеет размерность 30.</span></li>
<li><span style="text-align: justify;">Вектор выхода имеет размерность 20.</span></li>
<li><span style="text-align: justify;">Разрядность операндов 32 бита.</span></li>
<li><span style="text-align: justify;">Тактовая частота дискретизации 50 Гц.</span></li>
</ul>
<p style="text-align: justify;"><span>Формирование матриц и векторов также должно осуществляться на СВУ, но в более медленном темпе и представляет отдельную задачу.<br />
</span></p>
<p style="text-align: justify;"><span>Обмен информацией между Базовой ЦВМ и СВУ происходит по согласованному протоколу временного сценария. Синхронизация обеспечивается СВУ.<br />
</span></p>
<p style="text-align: justify;"><span>Предложенная модель и алгоритм обеспечивают функционирование СВУ на базе нейропроцессора для управления динамическими объектами в реальном масштабе времени на примере гексапода.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/07/7448/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Системный анализ архитектуры нейропроцессора</title>
		<link>https://technology.snauka.ru/2015/08/7695</link>
		<comments>https://technology.snauka.ru/2015/08/7695#comments</comments>
		<pubDate>Sat, 01 Aug 2015 09:48:55 +0000</pubDate>
		<dc:creator>Романчук Виталий Александрович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[NeuroMatrix]]></category>
		<category><![CDATA[архитектура процессора]]></category>
		<category><![CDATA[векторная обработка]]></category>
		<category><![CDATA[нейропроцессор]]></category>
		<category><![CDATA[параллелизм]]></category>
		<category><![CDATA[системный анализ]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=7695</guid>
		<description><![CDATA[В настоящее время становится ясно, что архитектура современных вычислительных систем, основанных на принципах Дж. фон Неймана имеет ряд существенных недостатков [1, 2]. Последовательная организация вычислительного процесса предполагает относительно низкую производительность системы. Другой недостаток обусловливает низкую эффективность использования дорогостоящей памяти при наличии одного процессора-ядра. Это связано с тем, что подавляющее большинство ячеек памяти в процессе работы [...]]]></description>
			<content:encoded><![CDATA[<p><span><span>В настоящее время становится ясно, что архитектура современных вычислительных систем, основанных на принципах Дж. фон Неймана имеет ряд существенных недостатков [</span>1, <span>2]. Последовательная организация вычислительного процесса предполагает относительно низкую производительность системы. Другой недостаток обусловливает низкую эффективность использования дорогостоящей памяти при наличии одного процессора-ядра. Это связано с тем, что подавляющее большинство ячеек памяти в процессе работы бездействует и поэтому коэффициент использования аппаратуры будет очень низким [</span>3<span>]. Третий недостаток &#8211; разработчик вынужден подстраивать алгоритм решения задачи под «жесткую» структуру вычислительной системы.<br />
</span></span></p>
<p><span><span>С другой стороны, инженерная реализация нейронного компьютера У. МакКаллока и У. Питтса, описанная в «Логическом исчислении идей, имманентных нервной активности» [</span>3, 4<span>] в виде комплекса нейропроцессоров позволяет избавиться от перечисленных недостатков. В настоящее время имеется ряд архитектур нейрокомпьютера, разрабатываемых компаниями IBM, НТЦ &#8220;Модуль&#8221; и др., но трудностью разработки математического, алгоритмического и программного обеспечения для них является описание общих принципов архитектуры нейропроцессора, в связи с чем сформулирована цель исследования: системный анализ архитектуры нейропроцессора.<br />
</span></span></p>
<p><span><span>Процессоры семейства NM640x, также как и</span> множество<span> нейропроцессор</span>ов<span>, обрабатывают данные параллельно по векторному принципу. Так как, нейропроцессор уже представляет собой параллельную систему [</span>1<span>], то получаемые системы при соответствующем уровне детализации могут рассматриваться как &#8220;системы в системе&#8221;. Поэтому рассмотрим отдельный процессор как вычислительную параллельную систему, примен</span>яя<span> теоретико-множественный подход, и определим аналитические выражения оценок эффективности отдельного </span>процессорного модуля (<span>ПМ</span>)<span>.<br />
</span></span></p>
<p><span><span>В процессоре семейства NM640x возможно два варианта команд (рисунок 1) [</span>5-12<span>]: скалярные команды – используются для подготовки данных к выполнению операции на векторном процессоре и векторные команды – основные операции процессора.<br />
</span></span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span>Рисунок 1</span> -<span> Команды нейропроцессора семейства NM640x<br />
</span></span></p>
<p><span>Каждая из команд может выполнять несколько операций параллельно. Тогда каждый ПМ можно представить в виде системы параллельной обработки данных.<br />
</span></p>
<p><span><em><strong>Анализ архитектуры нейропроцессора как системы параллельной обработки информации при выполнении скалярной команды</strong><br />
</em></span></p>
<p><span>Скалярная команда нейропроцессора семейства NM640x имеет левую и правую часть, операции каждой части выполняются параллельно. Возможна пустая (nul) команда в левой или правой части.<br />
</span></p>
<p><span>Структурная схема выполнения скалярной команды выглядит следующим образом (рисунок 2):<br />
</span></p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><span>Рисунок 2</span> -<span> Скалярная команда нейропроцессора<br />
</span></span></p>
<p><span>Левая часть содержит команды:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify;"><span>команды загрузки/записи, пересылки значений регистров;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>команды адресной арифметики;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>специальные скалярные команды;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>команды безусловного и условного перехода;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>команды перехода и возврата из подпрограммы или прерывания.</span></div>
</li>
</ul>
<p><span style="text-align: justify;">Правая часть содержит команды:</span></p>
<ul>
<li>
<div style="text-align: justify;"><span>арифметические операции;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>логические операции;</span></div>
</li>
<li>
<div style="text-align: justify;">сдвиговые операции.</div>
</li>
</ul>
<p>Детализированная схема выполнения скалярной операции представлена на рисунке 3:</p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_3.png" alt="" /></p>
<p style="text-align: center;">Рисунок 3 &#8211; Детализированная схема выполнения скалярной операции</p>
<p>Команды для реализации блоков загрузки и модификации находятся в левой части команды. Блоки загрузки и модификации для различных регистров можно объединить в один или 2 отдельных модуля: загрузки и модификации, т.к. операция выполняется только для какого либо одного регистра (пары регистров). Блоки вычисления находятся в правой части команды и также могут быть объединены в один модуль. Тогда, исходя из приведенных выше схем, можно представить процессор при выполнении скалярной операции как параллельную систему следующим образом (рисунок 4):</p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_4.png" alt="" /></p>
<p style="text-align: center;">Рисунок 4 &#8211; Выполнение скалярной команды процессора, представленное в виде параллельной системы</p>
<p><strong><em>Анализ архитектуры нейропроцессора как системы параллельной обработки информации при выполнении векторной команды</em></strong></p>
<p>Векторная команда нейропроцессора семейства NM640x также имеет левую и правую часть, возможна пустая команда в левой или правой части.</p>
<p>Левая часть содержит команды:</p>
<ul>
<li>
<div style="text-align: justify;"><span>команды загрузки данных в векторный процессор;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>команды выгрузки данных из векторного процессора;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>специальные векторные команды.</span></div>
</li>
</ul>
<p><span style="text-align: justify;">Правая часть содержит команды:</span></p>
<ul>
<li>
<div style="text-align: justify;"><span>взвешенное суммирование (матричное умножение);<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>маскирование;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>арифметические операции;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>логические операции;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>операция циклического сдвига;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>операции активации операндов;</span></div>
</li>
<li>
<div style="text-align: justify;">выгрузка управляющих векторных регистров.</div>
</li>
</ul>
<p>Кроме этого, как описано в первой главе, нейропроцессор семейства NM640x работает с &#8220;упакованными&#8221; данными – блоками по 64 бита каждый. Таким образом, в правой части за 1 такт может выполняться 2 операции по 32 бита, 8 операций по 8 бит и т.д. Максимальное количество выполняемых за один такт операций в векторном процессоре в правой части команды составляет 64 однобитных операции.</p>
<p>Сложность состоит в том, что трудно оценить число операций в той или иной команде, следовательно, необходимо рассматривать каждую операцию отдельно. Кроме того, операции имеют разное время выполнения (для операций с константой – 2 такта, для остальных операций – 1 такт).</p>
<p>Детализируем выполнение левой части команды (рисунок 5).</p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_5.png" alt="" /></p>
<p style="text-align: center;">Рисунок 5 &#8211; Детализированная схема выполнения левой части векторной команды</p>
<p>Детализируем выполнение правой части команды (рисунок 6).</p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_6.png" alt="" /></p>
<p style="text-align: center;">Рисунок 6 &#8211; Детализированная схема выполнения правой части векторной команды</p>
<p>Исходя из приведенных схем, ПМ при выполнении векторной команды, можно представить в виде параллельной системы (рисунок 7).</p>
<p style="text-align: center;"><img src="https://technology.snauka.ru/wp-content/uploads/2015/08/080115_0948_7.png" alt="" /></p>
<p style="text-align: center;">Рисунок 7 &#8211; Выполнение векторной команды процессора, представленного в виде параллельной системы</p>
<p><strong><em>Заключение:<br />
</em></strong></p>
<p style="background: white;">Таким образом, были рассмотрены вопросы анализа нейропроцессорных устройств, принцип функционирования которых основан на принципах мышления человека. Показаны особенности структуры вычислителя нейрокомпьютера, благодаря которому достигается высокий уровень распараллеливания вычислительных операций.</p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2015/08/7695/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Экспертная система выбора наиболее рациональной нейрокомпьютерной структуры</title>
		<link>https://technology.snauka.ru/2016/12/11259</link>
		<comments>https://technology.snauka.ru/2016/12/11259#comments</comments>
		<pubDate>Wed, 14 Dec 2016 13:30:28 +0000</pubDate>
		<dc:creator>Романчук Виталий Александрович</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[cluster computing system]]></category>
		<category><![CDATA[expert system]]></category>
		<category><![CDATA[neuroprocessor]]></category>
		<category><![CDATA[вычислительная система]]></category>
		<category><![CDATA[Кластер]]></category>
		<category><![CDATA[нейрокомпьютер]]></category>
		<category><![CDATA[нейропроцессор]]></category>
		<category><![CDATA[экспертная система]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/?p=11259</guid>
		<description><![CDATA[Массовый параллелизм в многочисленных приложениях сложной обработки видео, изображений, коммуникации, безопасности и других видов сигналов присутствует в основном на уровне данных (Data Level Parallelism – DLP). Реализация DLP в большинстве современных процессоров осуществляется в виде одиночного потока команд и множественного потока данных – как SIMD (векторная архитектура). Перечисленные выше многие приложения также обладают и значительным [...]]]></description>
			<content:encoded><![CDATA[<p><span>Массовый параллелизм в многочисленных приложениях сложной обработки видео, изображений, коммуникации, безопасности и других видов сигналов присутствует в основном на уровне данных (Data Level Parallelism – DLP). Реализация DLP в большинстве современных процессоров осуществляется в виде одиночного потока команд и множественного потока данных – как SIMD (векторная архитектура). Перечисленные выше многие приложения также обладают и значительным параллелизмом на уровне инструкций (Instruction Level Parallelism – ILP). В этом случае с помощью параллельного задания нескольких скалярных операций и/или SIMD-операций осуществляется параллельное выполнение на уровне инструкций ILP. Однако SIMD – архитектура может оказаться не самым лучшим решением для приложений с варьируемым DLP, что приводит к снижению производительности и возрастанию энергопотребления [1–4].</span><br />
<span>В современных вычислительных системах для реализации ILP и DLP используется VLIW архитектура [2,3]. Одними же из методов ускорения развития альтернативных повышению частоты способов увеличения быстродействия являются использование высокопараллельной вычислительной техники, например, нейропроцессоров и разработка принципиально новых и хорошо распараллеливающихся алгоритмов с элементами интеллектуальной компиляции. Такая концепция направлена на упрощение аппаратного обеспечения и извлечения как можно больше ”скрытого параллелизма” на уровне команд, используя большую ширину ”выдачи” команд (WIW–Wide Issue Width) и длинные (глубокие) конвейеры с большой задержкой (DPL – Deep Pipeline Latency). </span><br />
<span>Кроме того, в настоящее время специалисты [4,5] ожидают появления суперскалярного VLIW-процессора с масштабируемым параллелизмом, объединяющим явный статический параллелизм с неявным динамическим. Однако пока нет видимых способов совмещать статическое и динамическое переупорядочивание, так как в таких системах по отношению к существующим классическим ”RISC–inside CISC–outside” архитектурам можно добиться лишь путем переноса интеллектуальных функций из аппаратного обеспечения в программное посредством такого компилятора. Поэтому, вариантом повышения быстродействия в нейрокомпьютерных системах является выбор наиболее рациональной многопроцессорной вычислительной структуры для реализации текущего алгоритма. В данной работе исследуются возможности и предлагается вариант выбора наиболее рациональной нейрокомпьютерной структуры на основе явного и неявного кластерного параллелизма.</span></p>
<div align="center"><strong><span>1. Структура интеллектуальной компиляции</span></strong></div>
<p><span>На основе исследований авторов [6] предлагается следующая модель структуры интеллектуальной компиляции, включающей в себя следующие шаги.</span><br />
<span>1. Анализ исходных алгоритмов функционирования проектируемой микронейропроцессорной системы (МНПС) и представление группы независимых операций согласно явному параллелизму в очень длинные слова инструкций c целью упаковки, обеспечения быстрого запуска и более эффективного их исполнение функциональными модулями (ФМ) (микропроцессорами или ядрами) МНПС некоторой структурой.</span><br />
<span>2. Продукционная модель экспертной системы наблюдения за операциями из разных базовых блоков с целью помещения этих операций в одну и ту же длинную инструкцию и, тем самым, обеспечения большего параллелизма ФМ. </span><br />
<span>3. Прокладка «маршрута» по всей программе &#8211; трассировки. </span><br />
<span>4. Осуществление оптимизации планировщиком вычислений на уровне всей программы, а не ее отдельных базовых блоков. </span><br />
<span>5. Прогнозирование компилятором наиболее подходящего маршрута и планирование прохождения, рассматривая его как один большой базовый блок. </span><br />
<span>6. Повторение процесса п.4 для всех других возникших после этого программных веток до самого конца программы.</span><br />
<span>7. Выполнение компилятором различных «интеллектуальных шагов» в виде развертывания программного цикла, исполнения IF &#8211; преобразование для удаления всех логических переходов из подвергающихся трассировке секций, перемещения их с одного места на другое до обнаруженного ветвления, с возможностью формирования отката назад.</span></p>
<div align="center"><strong><span>2.</span></strong><span> </span><strong><span>Анализ алгоритмов функционирования явного параллелизма</span></strong></div>
<p><span>Исходными данными для анализа являются алгоритмы функционирования МПС, представляемые посредством конечного кортежа операций </span><img src="http://content.snauka.ru/technology/11259_files/0LQHLNCOB.gif" alt="" width="20" height="21" /><span> выражением: </span><img src="http://content.snauka.ru/technology/11259_files/0LYA2EFSU.gif" alt="" width="218" height="26" /><span> длиной </span><img src="http://content.snauka.ru/technology/11259_files/0.gif" alt="" width="40" height="24" /><span>, и микропроцессорная система, рассматриваемая как совокупность устройств на основе выбранной элементной базы – chipset со множеством команд </span><img src="http://content.snauka.ru/technology/11259_files/0(1).gif" alt="" width="169" height="21" /><span> конкретного комплекта СБИС. Здесь под МК подразумевается внутренний язык микропроцессорной нейрокомпьютерной системы со своей производительностью, стоимостью, количеством СБИС и др.</span><br />
<span>Каждый алгоритм может представлять собой кортеж алгоритмов, в том числе и стандартных: отбраковки, сжатия, калибровки, автоконтроля и других. Тогда в процессе проектирования [5] выбирается элементная база и решается математическая задача нахождения отображения множества операций </span><img src="http://content.snauka.ru/technology/11259_files/0(2).gif" alt="" width="21" height="22" /><span> во множество команд МК: </span><img src="http://content.snauka.ru/technology/11259_files/0HG7AOOHS.gif" alt="" width="212" height="24" /><span>. (1)</span><br />
<span>Причем, в общем случае под </span><img src="http://content.snauka.ru/technology/11259_files/0NDP2XVJY.gif" alt="" width="36" height="21" /><span> понимается оптимальное количество команд, реализующее операцию </span><img src="http://content.snauka.ru/technology/11259_files/00FCPBGGP.gif" alt="" width="20" height="21" /><span>. Далее в зависимости от решения задачи (1) проектирования каждому </span><img src="http://content.snauka.ru/technology/11259_files/0E6S8LDSB.gif" alt="" width="12" height="18" /><span>-му алгоритму обработки ставится в соответствие программа обработки </span><img src="http://content.snauka.ru/technology/11259_files/06XFWHY9G.gif" alt="" width="37" height="20" /><span> в виде кортежа команд: </span><img src="http://content.snauka.ru/technology/11259_files/0(3).gif" alt="" width="240" height="24" /><span> посредством определяемого отображения: </span><img src="http://content.snauka.ru/technology/11259_files/0(4).gif" alt="" width="134" height="24" /><span>. (2)</span><br />
<span>При этом рассматриваемая программа </span><img src="http://content.snauka.ru/technology/11259_files/0(5).gif" alt="" width="37" height="20" /><span> характеризуется длиной программы </span><img src="http://content.snauka.ru/technology/11259_files/0(6).gif" alt="" width="49" height="24" /><span>, определяемой общим числом команд, входящих в программу, временем выполнения программы и др.</span><br />
<span>Выражение (2) определяет однопроцессорный вариант МНПС и практически в общем виде представляет процесс компиляции.</span><br />
<span>Далее для осуществления задачи распараллеливания используется понятие кластера Cl</span><strong><sub><span>k</span></sub></strong><span>, и решается задача разбиения программы обработки </span><img src="http://content.snauka.ru/technology/11259_files/0(7).gif" alt="" width="37" height="20" /><span>. С этой целью воспользуемся понятием равенства кластеров </span><em><span>CL</span></em><strong><em><sub><span>l</span></sub></em></strong><span> и </span><em><span>CL</span></em><strong><em><sub><span>k</span></sub></em></strong><span> обработки информации: </span><em><span>CL</span></em><strong><em><sub><span>l</span></sub></em></strong><em><span> = Cl</span></em><strong><em><sub><span>k</span></sub></em></strong><strong><sub><span>.</span></sub></strong><span>, под которым понимается равенство длин указанных кластеров </span><em><span>|CL</span></em><strong><em><sub><span>l</span></sub></em></strong><strong><em><span>|</span></em></strong><em><span> = |CL</span></em><strong><em><sub><span>k</span></sub></em></strong><em><span>|</span></em><span> и совпадение их с точностью до команды </span><em><span>MK</span></em><strong><em><sub><span>i</span></sub></em></strong><strong><em><sup><span>(k)</span></sup></em></strong><em><span>=MK</span></em><strong><em><sub><span>i</span></sub></em></strong><strong><em><sup><span>(l)</span></sup></em></strong><strong><span>,</span></strong><span> </span><em><span>PR</span></em><strong><em><sup><span>(j)</span></sup></em></strong><strong><em><span>=&lt;</span></em></strong><em><span>MK</span></em><em><sub><span>i</span></sub></em><em><span>,MK</span></em><em><sub><span>1</span></sub></em><em><span>,&#8230;MK</span></em><em><sub><span>j</span></sub></em><strong><em><span>&gt;</span></em></strong><span>:</span><br />
<img src="http://content.snauka.ru/technology/11259_files/0(8).gif" alt="" width="264" height="58" /><span> . (3)</span><br />
<span>При этом выражение (3) является критерием качества разбиения на кластеры исходной программы с точностью до команды, что и является метрикой кластеризации.</span><br />
<span>Далее процесс распараллеливания кластеров рассматривается как отношение параллельности выполнения кластеров </span><img src="http://content.snauka.ru/technology/11259_files/0NXU3WOTO.gif" alt="" width="56" height="21" /><span>двумя различными микропроцессорными модулями: </span><img src="http://content.snauka.ru/technology/11259_files/1.gif" alt="" width="157" height="21" /><span>проектируемой вычислительной системы.</span><br />
<span>Таким образом, структурная организация проектируемой вычислительной системы обработки информации ставит в соответствие некоторой </span><img src="http://content.snauka.ru/technology/11259_files/1(1).gif" alt="" width="12" height="18" /><span> - й программе обработки </span><img src="http://content.snauka.ru/technology/11259_files/1(2).gif" alt="" width="24" height="16" /><span> совокупность независимых и неравных кластеров </span><img src="http://content.snauka.ru/technology/11259_files/1(3).gif" alt="" width="25" height="21" /><span>, число которых равно числу классов эквивалентности </span><img src="http://content.snauka.ru/technology/11259_files/1(4).gif" alt="" width="13" height="16" /><span>, а кратность (</span><img src="http://content.snauka.ru/technology/11259_files/1(5).gif" alt="" width="25" height="21" /><span>) определяется порядком класса эквивалентности (</span><img src="http://content.snauka.ru/technology/11259_files/1(6).gif" alt="" width="16" height="21" /><span>): </span><img src="http://content.snauka.ru/technology/11259_files/1(7).gif" alt="" width="288" height="24" /><span>. (4)</span><br />
<span>В работе авторами показывается, что полученное разбиение (4) на кластеры отвечает свойствам рефлексивности, симметричности и транзитивности и, следовательно, является отношением эквивалентности. В результате однозначно определяется разбиение программы на классы эквивалентности кластеров, что является процедурой явного параллелизма. Кроме того, выражение (4) определяет качественные структурные связи между кластерами. Поэтому оно определяет и маршрут передачи данных либо внутри кластера либо между кластерами. Таким образом варианты решения задачи (4) представляются в виде продукционной модели экспертной системы.</span><br />
<strong><span>3. Продукционная модель экспертной системы наблюдения за операциями и формирования маршрута. </span></strong><span>В результате решения задачи (4) возможны следующие варианты маршрута передачи данных, которые составляют основу продукционной модели для дальнейшего анализа с учетом исходных данных.</span><br />
<span>Число классов эквивалентности равно </span><img src="http://content.snauka.ru/technology/11259_files/1(8).gif" alt="" width="13" height="16" /><span>, и порядок каждого </span><img src="http://content.snauka.ru/technology/11259_files/1(9).gif" alt="" width="9" height="17" /><span>-го класса равен </span><img src="http://content.snauka.ru/technology/11259_files/1(10).gif" alt="" width="28" height="21" /><span>. Тогда </span><img src="http://content.snauka.ru/technology/11259_files/1(11).gif" alt="" width="9" height="16" /><span>-му алгоритму обработки данных ставится в соответствие совокупность данных, определяемых согласно (4), и, как нетрудно видеть, этот случай является наиболее общим и предполагает отношения не только между элементами внутри кластера, как в векторной структуре, но и между элементами различных кластеров согласно Instruction Level Parallelism ILP.</span><br />
<span>Рассматриваемые ниже варианты обработки информации оказываются возможными в зависимости от построения конкретной </span><img src="http://content.snauka.ru/technology/11259_files/1(12).gif" alt="" width="12" height="18" /><span>-й структуры данных </span><img src="http://content.snauka.ru/technology/11259_files/1(13).gif" alt="" width="38" height="20" /><span>, а точнее от передачи данных между кластерами в виде маршрута M</span><sub><span>i</span></sub><span> передачи данных.</span><br />
<span>Пусть обмен информацией между представителями кластеров </span><img src="http://content.snauka.ru/technology/11259_files/2.gif" alt="" width="69" height="24" /><span>, осуществляется последовательно друг от друга. Тогда если кластеры внутри </span><img src="http://content.snauka.ru/technology/11259_files/2(1).gif" alt="" width="9" height="17" /><span>-го класса обмениваются последовательно, то имеем уже известный последовательный маршрут передачи данных.</span><br />
<span>Если для элементов внутри </span><img src="http://content.snauka.ru/technology/11259_files/2(2).gif" alt="" width="9" height="17" /><span>-го класса требуется информация одновременно, тогда получаем последовательно &#8211; параллельный обмен (ILP + DLP) или маршрут передачи данных.</span><br />
<span>Если при обработке информация требуется одновременно для всех кластеров, тогда для общего случая (Data Level Parallelism DLP) обработки информационных данных или параллельный маршрут M</span><sub><span>i||</span></sub><span>передачи данных.</span><br />
<span>В общем случае имеем</span><strong><span> матричный</span></strong><span> обмен информационных данных: каждый с каждым. В результате имеем </span><strong><span>матричный</span></strong><span> маршрут передачи данных.</span><br />
<strong><span>Прокладка «маршрута» </span></strong><span>предполагает соединение всех кластеров согласно получаемых маршрутов: последовательный, параллельный, последовательно — параллельный, параллельно &#8211; последовательный (DLP +ILP) и матричный.</span><br />
<strong><span>4. Алгоритм неявного параллелизма многокритериального нечеткого выбора с целью выполнения различных «интеллектуальных шагов»: </span></strong><br />
<span>На практике процесс проектирования интеллектуального компилятора является сложной многокритериальной задачей выбор маршрута из полученного многообразия. Эксперт или аналитик на основании обобщенной оценки каждой альтернативы выбирает наилучшую по совокупности противоречивых критериев: 1. Быстродействие (</span><img src="http://content.snauka.ru/technology/11259_files/2(3).gif" alt="" width="32" height="21" /><span>); 2. Объем микропрограммной памяти (</span><img src="http://content.snauka.ru/technology/11259_files/2(4).gif" alt="" width="37" height="20" /><span>); 3. Число микропроцессорных модулей (</span><img src="http://content.snauka.ru/technology/11259_files/2(5).gif" alt="" width="21" height="21" /><strong><span>);</span></strong><span> 4. Время простоя (T</span><sub><span>пр</span></sub><span>,). 5. Потребляемая энергия (Р); 6. Надежность (Q); 7. Адаптация (A); 8. Стоимость (С) и др. Для конкретизации выбора все вышеперечисленные критерии предлагается распределять в виде кортежа в порядке важности технического проектирования и в дальнейшем называть </span><strong><span>стратегией выбора</span></strong><span>.</span><br />
<span>Пусть требуется воспроизвести знание — правило 3: </span><strong><span>Если</span></strong><span> </span><img src="http://content.snauka.ru/technology/11259_files/2(6).gif" alt="" width="76" height="21" /><span> </span><strong><span>и</span></strong><span> обмен информацией между кластерами в классах осуществляется последовательно, </span><strong><span>то</span></strong><span> маршрут — </span><strong><span>последовательный. </span></strong><span>Данное знание—правило моделируется произведением нечетких множеств R</span><sub><span>I,I</span></sub><span> = F</span><sub><span>стрI * </span></sub><span>G</span><sub><span>парI </span></sub><span>или продукцией.</span><br />
<span>Предложенная авторами [5] методика многокритериального выбора имеет в своей основе нечеткие множества, элементами которых являются лингвистические переменные (ЛП) или термы </span><img src="http://content.snauka.ru/technology/11259_files/2(7).gif" alt="" width="33" height="17" /><span> с характеристическими функциями принадлежности </span><img src="http://content.snauka.ru/technology/11259_files/2(8).gif" alt="" width="36" height="21" /><span>, определенными на отрезке </span><img src="http://content.snauka.ru/technology/11259_files/2(9).gif" alt="" width="60" height="20" /><span>: </span><img src="http://content.snauka.ru/technology/11259_files/2(10).gif" alt="" width="78" height="21" /><span>. Эксперт оценивает маршрут и критерии с помощью понятий нечеткой логики вышеперечисленными переменными. </span><br />
<span>В предлагаемой методике используются два вида </span><strong><span>бинарных </span></strong><span>нечетких переменных: «оценка значения критерия» </span><img src="http://content.snauka.ru/technology/11259_files/2(11).gif" alt="" width="36" height="24" /><span> и «оценка эффективности маршрута или трафика» </span><img src="http://content.snauka.ru/technology/11259_files/2(12).gif" alt="" width="36" height="24" /><span> с использованием </span><strong><span>унарной</span></strong><span>лингвистической переменной &#8211; «оценка качества значения критерия» </span><img src="http://content.snauka.ru/technology/11259_files/3.gif" alt="" width="42" height="24" /><span> и «оценка качества эффективности маршрута» </span><img src="http://content.snauka.ru/technology/11259_files/3(1).gif" alt="" width="66" height="24" /><span>, соответственно.</span><br />
<span>Значения бинарных лингвистических переменных «оценка значения критерия» и «оценка эффективности маршрута» строятся методом нечеткого алгоритма высказывания правил вида: «если </span><em><span>А</span></em><span>, то </span><em><span>В</span></em><span>». Два и более правила нечетких высказываний объединяются связкой «иначе»: «если </span><em><span>А</span></em><span>, то </span><em><span>В</span></em><span>, иначе </span><em><span>С</span></em><span>»=</span><img src="http://content.snauka.ru/technology/11259_files/3(2).gif" alt="" width="105" height="20" /><span> или </span><em><span>V</span></em><span>( «если </span><em><span>А</span></em><span>, то </span><em><span>В</span></em><span>, иначе </span><em><span>С»</span></em><span>) = </span><img src="http://content.snauka.ru/technology/11259_files/3(3).gif" alt="" width="168" height="26" /><span>.</span><br />
<strong><span>Заключение. </span></strong><span>Предложена структура продукционной модели экспертной системы наблюдения за операциями и формирования маршрута на основе модели анализа явного параллелизма предлагаемой кластеризации нейрокомпьютерной системы. Описывается экспертная система интеллектуальной компиляции. В статье демонстрируется алгоритм неявного параллелизма многокритериального нечеткого выбора. Приводится описание алгоритма «оценки значения критерия» по различным техническим характеристикам согласно стратегии проектирования: быстродействие, объем микропрограммной памяти, число микропроцессорных модулей и др. Описывается алгоритм «оценки эффективности маршрута. </span></p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2016/12/11259/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
