<?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/vektornaya-obrabotka/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/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>
	</channel>
</rss>
