Проектирование машины потоков данных

Содержание:

1.Введение…………………………………………………………………………………………….3

2.Теоретический раздел………………………………………………………………………………6

2.1. Принцип действия машин потоков данных…………………………………………….6

2.2. Язык потоков данных…………………………………………………………………….9

2.3. Машина потоков данных………………………………………………………………..13

2.4. Сети трактов передачи пакетов…………………………………………………………16

2.5. Переполнение и тупиковые ситуации………………………………………………….20

2.6. Обработка структур данных…………………………………………………………….23

3.Практическая часть…………………………………………………………………………………28

3.1. Постановка  и  реализация  задачи……………………………………………………...28

3.2. Реализация программы на машине потоков данных…………………………………..30

3.3. Принцип работы устройства…………………………………………………………….32

3.4. Спецификация элементов………………………………………………………………..36

4.Заключение………………………………………………………………………………………….38

Список литературы…………………………………………………………………………………...40

5.Приложения…………………………………………………………………………………………41

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ВВЕДЕНИЕ

1. Введение

Изм

Лист

№ докум

Подпись.

Дата

Лист

4

Д 630.1.05.00.039.ПЗ

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

Традиционным решением задачи увеличения мощности системы (после того как производительность единственного процессора доведена до  максимального значения) является использование нескольких процессоров. Однако такой подход не является удовлетворительным в силу действия следующих обстоятельств. Во-первых, возникают проблемы программирования, обусловленные необходимостью для программиста «подгонять» структуру данных и программ под жесткую структуру многопроцессорной или распределенной вычислительной системы. Например, при работе с системой, содержащей 16 процессоров, программисту приходиться разбивать свою программу на 16 или более параллельных процессов. Задача далеко не тривиальная, и современные языки программирования, средства обслуживания и отладки едва ли могут здесь оказать какую-либо существенную помощь.

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

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

5

Д 630.1.05.00.039.ПЗ

Второй причиной появления машин потоков данных является недостатки, присущие самой природе современных языков программирования, и осознание того факта, что эти языки отражают в своей структуре основополагающие принципы архитектуры машин фон Неймана. Так же внутренняя организация современных машин предполагает использование пассивной памяти, процессора, выполняющего операции по изменению содержимого памяти, и устройства управления, воздействующего на процессор с помощью потока следующих одна за другой команд. Понятие «переменная» в языке программирования адекватно понятию «область пассивной памяти» в машине, понятие «передача управления» в языке (реализуемая, например, операторами GO TO, IF, DO, CALL) отражает устройство управления и счетчик команд в машине фон Неймана. Подобным же образом понятие «присваивание» является отображением определенной операции процессора (изменение содержимого области памяти машины). Использование потока данных для управления машиной позволило сделать выводы, с которыми согласились и специалисты в области теории языков

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

Быстрое развитие компьютерной индустрии определяет относительность понятия суперЭВМ - то, что десять лет назад можно было назвать суперкомпьютером, сегодня под это определение уже не попадает. Например, производительность персональных компьютеров Pentium-3/500MHz, сравнима с производительностью суперкомпьютеров начала 70-х годов, однако по сегодняшним меркам суперкомпьютерами не являются ни те, ни другие.

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

 Так о чем же речь, и какие суперкомпьютеры существуют в настоящее время в мире? Вот лишь несколько параметров, дающих достаточно красноречивую характеристику машин этого класса. Компьютер ASCI WHITE, занимающий первое место в списке пятисот самых мощных компьютеров мира, объединяет 8192 процессора Power 3 с общей оперативной памятью в 4 терабайта и производительностью более 12 триллионов операций в секунду.

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ПРИНЦИП ДЕЙСТВИЯ МАШИН ПОТОКОВ ДАННЫХ

2.1. Принцип действия машин потоков данных

Изм

Лист

№ докум

Подпись.

Дата

Лист

7

Д 630.1.05.00.039.ПЗ

  данные перемещаются из команды в команду по мере выполнения программы.

Кроме того, в данном случае не используются понятия  «передача управления», «счетчик команд» и «ветвление вычислительного процесса». Вместо этого команды (операторы) управляются данными. Считается, что команда готова к управлению (т. е. Ее выполнение разрешено), если данные присутствуют в каждом из ее входных портов и отсутствуют в выходном порте. Выполнение команды приводит к исчезновению данных в ее входных портах и появлению результата  в выходном порте. Программа представляет собой направленный граф, образованный соединенными между собой командами: выходной порт одной команды соединен с входным портом другой команды.  Таким образом, порядок выполнения команды определяется не счетчиком команд, а движением потока данных в командах.

Указанные принципы выполнения команд иллюстрируют рис. 1. здесь окружности обозначают команды, стрелки – линии связи между командами, а зачерненные круги – данные.

Ор

Ор

Ор

Ор

Ор

Команды не готовы к выполнению

Команда готова к выполнению

Результат выполнения

Рис. 1. Возможные состояния команд в машине потоков данных.

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

8

Д 630.1.05.00.039.ПЗ

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

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ЯЗЫК ПОТОКОВ ДАННЫХ

2.2. Язык потоков данных

Изм

Лист

№ докум

Подпись.

Дата

Лист

10

Д 630.1.05.00.039.ПЗ

Хотя язык Денниса является двумерного графического описания объектов программирования, существуют и другие предложения по построению подобных языков, предполагающие представление программ потоков данных в более привычном виде – в форме последовательности операндов, подчиняющихся определенному синтаксису такого языка.

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

Исполнительный элемент символизирует операцию, готовую к выполнению при поступлении информации на входные линии этого элемента и при отсутствии информации на его входных линиях. Существует два типа исполнительных элементов – блоки (actor) и размножители (link). Блок – это исполнительный элемент с одной выходной линией  и одной или несколькими входными, размножитель – с одной входной линией и несколькими выходными.

Информация в языке Денниса представляется в виде токенов, которые передаются по линиям связи, обрабатываются и выдаются исполнительными элементами.

Различаются два вида информации: значение данных (например, числовые величины) и значения управляющих сигналов (логические величины TRUE – ИСТИННО или FALSE – ЛОЖНО). В описываемом языке отсутствуют средства для распознавания типов значений данных (целые, с фиксированной точкой, комплексные и т. д.).

Используемые в языке Денниса понятие линия связи (arc) символизирует однонаправленный тракт, по которому информация  передается от одного исполнительного элемента к другому. Сигналы на линии связи могут отсутствовать либо на ней может находиться только 1 токен информации. Следовательно, линию связи можно рассматривать как определенный эквивалент традиционных понятий «переменная» и «область памяти».

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

11

Д 630.1.05.00.039.ПЗ

F

T

  

P

 

f

Блок принятия решений

Вентиль Т

Размножитель данных

Размножитель

Блок выполнения операций

Вентиль F

                                                                                                           

T      F

Рис. 2. Исполнительные элементы графического языка

Смеситель

                                                          

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

Блок принятия решения функционирует аналогичным образом, однако результатом его работы является управляющий сигнал (логическая величина). В этом блоке вычисляется отношение, составленное из выходных данных,  и формируется в результат в виде логической величины TRUE (ИСТИННО) или FALSE (ЛОЖНО). Типичными операциями отношения являются операции сравнения двух величин по одному из критериев типа «равны», «не равны», «первая величина больше второй» и т. д.

Остальные три блока имеют на входе  и данные, и управляющие сигналы. Блок типа вентиль Т (Т – от английского слова TRUE) готов к работе при наличии на его входах как токена данных, так и токена управляющей информации (при этом, как обычно, выходная линия должна быть пуста). Как и все остальные исполнительные элементы,  этот блок  «поглощает» входную информацию во время выполнения. Если значение управляющего сигнала TRUE, то имеющийся на входе блока токен данных передается на выходную лини. Если значение управляющего сигнала FALSE, то сигнал на выходе блока не формируется. Таким образом, вентиль T либо пропускает входные данные на свой вход, либо просто «поглощает» их. Блок типа вентиль F (F – от английского слова FALSE) работает аналогичным образом, только для передачи токена данных на выходную линию требуется управляющий сигнал, имеющий значение FALSE.

Изм

Лист

№ докум

Подпись.

Дата

Лист

12

Д 630.1.05.00.039.ПЗ

TRUE и токена данных на линии с меткой Т; 2) одновременное присутствие управляющего токена FALSE и токена данных на линии с меткой F. В обоих случаях выходная линия должна быть пуста. Если присутствует управляющий токен TRUE, токен данных с входной линии Т пересылается на выходную линию. В результате эти два токена на входных линиях уничтожаются, но при наличии токена данных на линии F он сохраняется. Если присутствует управляющий токен FALSE, то токен данных на входной линии F пересылается на выходную линию. В результате этого два токена на входных линиях уничтожаются, но токен данных на линии Т, если он присутствовал,  сохраняется.

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

МАШИНА ПОТОКОВ ДАННЫХ

2.3. Машина потоков данных

Изм

Лист

№ докум

Подпись.

Дата

Лист

14

Д 620.1.05.00.039.ПЗ

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

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

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

 

Код операции

Адрес(а) назначения

Вентиль-ный код

Вентиль-ный флаг

Флаг данных

Данные

Вентиль-ный код

Вентиль-ный флаг

Флаг данных

Рис. 3. Содержимое ячейки команд.

Данные

Машина работает следующим образом. Если ячейка команды располагает всеми необходимыми входными токенами, она посылает командный пакет в селекторную сеть. Последняя направляет пакет к имеющемуся в расположении блоку выполнения операции или принятия решения. Порядок перехода команд в состояние готовности отличается от порядка, принятого в языке потоков данных. Дело в том, что в машине для команды единственным необходимым условием готовности к выполнению является наличие соответствующей входной информации; команда может выполняться, даже если занято место, куда должен поступать формируемый ею результат. В ходе выполнения командного пакета создаются один или несколько пакетов результата (по одному для каждого адресата), которые пересылаются в распределительную или управляющую сеть. Если ячейка назначения пуста, результат переносится в нее. В противном случае он задерживается в сети до освобождения ячейки назначения. Таким образом, появляется вероятность перегрузки распределительной и управляющей сетей пакетами результатов, что может привести к неразрешимым – «тупиковым» – ситуациям.

Изм

Лист

№ докум

Подпись.

Дата

Лист

15

Д 620.1.05.00.039.ПЗ

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

На рис. 3. в упрощенном виде представлено размещение команды в ячейке. Командой может быть, например, команда сложения, состояние готовности которой определяется наличием двух входных токенов.

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

N – вентильные функции не выполняются; любой результат, направляемый к данному входу, помещается в поле  данных (разумеется, при условии, что оно свободно);

Т – данные, направленные в это поле, будут приняты, если управляющий токен TRUE (вентильный флаг)  уже поступил или поступит в требуемый момент; при значении вентильного флага FALSE поступающие данные игнорируются вентилем;

F – данные, направленные в этот поле, будут приняты, если вентильный флаг, имеющий значение FALSE, уже поступили или поступят в требуемый момент времени; при значении вентильного флага TRUE поступающие на вентиль данные игнорируются;

С – содержимое поля является константой и не стирается в результате выполнения команды.

Вентильный флаг поступает из управляющей сети и может принимать одно из трех значений:

Off – управляющий пакет (вентильный флаг) не был получен;

Т – получен управляющий пакет TRUE;

F – получен управляющий пакет FALSE;

Данные поступают из распределительной сети. Флаг данных указывает, содержит ли порт данные в текущий момент.

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

16

3

 Утв.

Д 630.1.05.00.039.ПЗ

СЕТИ ТРАКТОВ ПЕРЕДАЧИ ПАКЕТОВ

2.4. Сети трактов передачи пакетов

Изм

Лист

№ докум

Подпись.

Дата

Лист

17

Д 620.1.05.00.039.ПЗ

Селекторная, распределительная и управляющая сети, показанные в приложении 1, представляют собой сети трактов передачи пакетов. Когда команда готова к выполнению, формируется пакет операций, посылаемый в селекторную сеть. В функции этой сети входит направлять пакеты операций из большого числа ячеек команд в меньшее число блоков выполнения операций и принятия решения, обеспечивая при этом поступление пакета к соответствующему блоку. Выполнение команды приводит к формированию одного или нескольких пакетов данных или управляющих пакетов (один пакет для каждого адреса). Эти пакеты проходят через распределительную и управляющую сети и направляются к указанным ячейкам команд. Все три сети могут быть построены на основе элементов двух типов рис. 4. Один из них – селектор, передающий пакет с одного из своих входов на выход. Селектор обслуживает свои входы по очереди, так что каждый вход рано или поздно  будет опрошен. Другой элемент – переключатель – направляет пакет со своего единственного входа на один из выходов, при этом выбор нужного выхода производится  на основе некоторых характеристик пакета. В селекторной сети в качестве такой характеристики переключатель использует код операции, в распределительной или управляющей сети – адрес пункта назначения пакета. Сети включают в себя элементы еще трех типов: буферы – для временного хранения информации, а также  преобразователи  кодов из последовательного в параллельный и из параллельного в последовательный.

Селектор

Переключатель

 

Рис. 4. Основные элементы сетей

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

18

Д 620.1.05.00.039.ПЗ

  рис. 5, могло бы находиться до 30 пакетов команд. Селекторы и переключатели функционируют асинхронно, поэтому асинхронно и продвижение пакетов через сеть, за исключением случаев «конкуренции».

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

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

 SHAPE  * MERGEFORMAT

а

s

а

s

а

s

а

s

а

а

s

s

К процессорам

Из командных ячеек

Рис. 5. Организация небольшой распределительной сети

Изм

Лист

№ докум

Подпись.

Дата

Лист

19

Д 620.1.05.00.039.ПЗ

 SHAPE  * MERGEFORMAT

s

s

s

s

а

а

s

s

К командным ячейкам

От процессорных элементов

а

s

Рис. 6. Организация небольшой селекторной сети

Продвижение пакетов через сеть может увеличить суммарное время выполнения каждой отдельной команды (до десятков микросекунд), но это не обязательно приведет к заметному снижению производительности машины, поскольку в движении одновременно находится  большое число пакетов. Длительность продвижения становится «узким местом» только в тех случаях, когда готовым к выполнению оказывается лишь небольшое количество команд. (Предположим, программа достигла состояния, когда готова к выполнению только одна команда.) Например, если в машине 20 процессоров – блоков выполнения операций  и принятия решения, - каждый из которых может обработать командный пакет в среднем за 200 нс., то в целом производительность машины может быть оценена быстродействием, равным 100млн. операций в секунду. Такая скорость достижима даже в условиях чрезвычайно медленного прохождения отдельного пакета по сетям, если в любой момент времени найдется, по меньшей мере, 20 готовых к выполнению команд, если селекторная сеть может поставлять 20 командных пакетов каждые 200 нс. и если распределительная и управляющая сети обладают примерно такими же возможностями. Последнее необходимо  для того, чтобы поддерживать максимальное число готовых к выполнению команд.

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

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 620.1.05.00.039.ПЗ

ПЕРЕПОЛНЕНИЕ И ТУПИКОВЫЕ СИТУАЦИИ

2.5. Переполнение и тупиковые ситуации

Изм

Лист

№ докум

Подпись.

Дата

Лист

21

Д 620.1.05.00.039.ПЗ

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

Рис. 7. тупиковая ситуация в распределительной сети

    S

Ячейки

команд

 A

 B

1

2

3

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

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

Обе указанные проблемы решаются путем введение сигналов обратной связи между блоками выполнения операций. В дополнение к существующим линиям связи добавляется еще один вид – сигнальные линии. Сигнальная линия обозначается пунктиром и используется для передачи сигнала подтверждения от одного блока выполнения операций к другому, предыдущему. Этот сигнал вырабатывается блоком специального  вида, называемым сигнальным блоком (рис. 8). Сигнальный блок переводится в состояние готовности, когда на его входную линию попадает токен любого вида – либо токен данных, либо управляющий токен. Блок «поглощает» такой токен; при этом формируется сигнал подтверждения на выходной линии блока. Описанные выше  блоки обратной связи использовался в качестве дополнительного входного сигнала. Пример функционального блока представлен на рис. 8.

        

F

Функциональный

 блок с вентильными свойствами

  SIG

Сигнальный

блок

Изм

Лист

№ докум

Подпись.

Дата

Лист

22

Д 620.1.05.00.039.ПЗ

Рис. 8. Блоки, оперирующие сигналами подтверждения.

 SHAPE  * MERGEFORMAT

  OR

Блок OR (ИЛИ)
                  SHAPE  * MERGEFORMAT

 JUN

Блок

совпадений

Здесь показан блок с тремя входами: две обычные линии данных и сигнальная линия. Блок переводится в состояние готовности к выполнению, если токены данных поступили на входные линии данных, а сигнальный токен – на сигнальную линию. Блок «поглощает» входную информацию, выполняет необходимые преобразования данных и формирует результат в виде токена данных.

В некоторых случаях объектом функциональных преобразований может служить сам сигнал обратной связи. Блок OR (ИЛИ), показанный на рис. 8, переводится в состояние готовности, когда упомянутый сигнал подается на любую из его входных линий. Блок совпадения (JUN) переводится в состояние готовности, когда сигнальные токены присутствуют на всех его входных линиях. Он «поглощает» эти сигналы и формирует сигнал на выходной линии.

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

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 620.1.05.00.039.ПЗ

ОБРАБОТКА СТРУКТУР ДАННЫХ

2.6. Обработка структур данных

Изм

Лист

№ докум

Подпись.

Дата

Лист

24

Д 620.1.05.00.039.ПЗ

В языке потоков данных определены три типа данных:

«Пусто»

Отсутствие данных

Элементарные данные

Данные скалярного типа или управляющая информация

Структура

Упорядоченная совокупность данных любого из трех типов

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

3,6

 7 4,2

Отсутствие данных

6,2

 S

четыре новых блока. Первый из них – блок выбора. Он имеет две входные линии: для имени (адреса) структуры и для двоичной строки. В результате работы блока выбора определяется значение элемента (узла)  структуры, соответствующего указанному имени структуры и заданному местоположению этого элемента.

Рис. 9. Пример представления структуры

Если в узле содержатся элементарные данные, то на выходной линии блока появляется значение этих  данных. Если же узел является структурой (именуемой в этом случае подструктурой), то блок выбора выдает на выходную линию имя – адрес подструктуры. При подаче на входы блока выбора значения S и величины 010 на выходе блока появится величина 4,2.

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

25

Д 620.1.05.00.039.ПЗ

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

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

На рис. 11 представлена схема устройства хранения и обработки структур. Принцип его функционирования: Когда функционирует блок выбора, селекторная сеть направляет операционный пакет в распределительную сеть устройства. Адрес структуры в команде выбора дает возможность извлечь слово из памяти хранения структур. Если значение слова определяет структуру, а не элементарные данные, то с помощью первого бита в двоичной строке, являющейся операндом для блока выбора, выбирается один из двух адресов подструктур, относящихся к данному узлу структуры. Этот адрес вместе с остатком двоичной строки помещается в новый пакет выбора и через  селекторную сеть направляется вновь в распределительную сеть. Таким образом, в результате выполнения операции выбора может быть сформирована последовательность новых запросов на операцию выбора. Эти запросы последовательно обрабатываются памятью структур до тех пор, пока не встретится узел, содержащий элементарные данные. После этого формируется и выдается пакет, содержащий найденные элементарные данные и адрес пункта назначения, указанный в исходной команде выбора.

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

26

Д 620.1.05.00.039.ПЗ

 SHAPE  * MERGEFORMAT

Ячейка команды

Ячейка команды

Ячейка команды

Ячейка команды

Ячейка команды

Селекторная сеть

Распределительная сеть

Управляющая сеть

Блок принятия решений

Блок принятия решений

Блок выполнения операций

Блок выполнения операций

Блок выполнения операций

Устройство хранения и обработки структур

Рис. 10. Структурная схема машины управляемой потоком данных, обрабатывающая структуры

Пакеты операций

 над структурами

Рис. 11. Устройство хранения и обработки структур.

Память

структур

Распределительная сеть

Пакеты результатов

Блоки обработки

структур

Селекторная

сеть

Изм

Лист

№ докум

Подпись.

Дата

Лист

27

Д 620.1.05.00.039.ПЗ

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ПОСТАНОВКА И РЕАЛИЗАЦИЯ ЗАДАЧИ

3.1. Постановка и реализация задачи

Изм

Лист

№ докум

Подпись.

Дата

Лист

29

Д 630.1.05.00.039.ПЗ

Задание: разработать  машину  потоков  данных  реализующую  функцию:

,           иначе

,           если bi>50

Разработаем алгоритм работы программы (рис.12):

Рис. 12. Блок-схема алгоритма программы.

F

T

F

T

T

T

T

11

10

9

8

7

6

5

4

3

1

2

Словесное описание алгоритма:

Для нахождения значений заданной функции необходимо пройти 10 циклов, так как i принимает значения от 0 до 9. На начальном этапе (в первом блоке) i присваивается значение 0, из чего следует, что это 1 цикл  алгоритма, второму блоку передаётся i=0. На следующем такте i сравнивается с i командой Jump Equal, в результате в 3 блок передаётся флаг True (так как i всегда будет равно i), а в 10 блок посылаются данные i. На третьем такте проверяется условие bi>50, если ДА – на 4, 5 и 7 блоки подаётся флаг True, иначе – на 6 и 8 – False; здесь же i сравнивается с 9 командой Jump Equal or Lesser: если i<=9 – на 11 блок подаётся флаг True и данные i, если i>9 – на 9 блок флаг False, из чего следует, что программа прошла все 10 тактов. На четвёртом такте i увеличивается на 1 и передаётся в блок 2 для прохождения следующего цикла, а также высчитывается очередное значение ai через блоки 4, 5 и 7 или 6 и 8.

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

РЕАЛИЗАЦИЯ ПРОГРАММЫ НА МАШИНЕ ПОТОКОВ ДАННЫХ

3.2. Реализация программы на машине потоков данных

Изм

Лист

№ докум

Подпись.

Дата

Лист

31

Д 630.1.05.00.039.ПЗ

1

MOV

2

N

1

i

C

1

0

2

JE

3,9

N

i

N

i

3

JG

4,5,6,7,8

T

bi

C

1

50

4

MUL

6(1)

T

bi

T

ci

5

DIV

6(2)

T

di

T

bi

6

SUB

вывод

T

T

7

SUB

8(1)

F

bi

F

ci

8

DIV

вывод

F

F

di

9

JEL

10,…

T

i

C

1

9

10

INC

2

T

i

C

1

1

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ПРИНЦИП РАБОТЫ УСТРОЙСТВА

 

3.3. Принцип работы устройства

Изм

Лист

№ докум

Подпись.

Дата

Лист

33

Д 630.1.05.00.039.ПЗ

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

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

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

Функциональная схема потоковой машины изображена в Приложении №1.

Теперь рассмотрим каждый блок подробнее:

Командная ячейка.

Командная ячейка представляет собой набор регистров с параллельным входом и параллельным выходом (Приложение №2). Один регистр выделяется под код операции, два регистра  - под два операнда, один регистр под флаги и пять регистров под адреса получателей. Также в ее состав входит комбинационная схема, собранная на логических элементах, которая анализирует, готова ли командная ячейка к выполнению (Приложение №4). Результатом анализа является бит готовности, который управляет выходным буфером, состоящий из 8 сдвиговых регистров с параллельным входом и последовательным выходом. Чтение регистров командной ячейки и запись в регистры буфера производится по управляющему сигналу, выдаваемому комбинационной схемой и синхронизируется сигналами от генератора тактовых импульсов, который рассмотрен ниже. Также содержится входной буфер, состоящий из двух восьмиразрядных сдвиговых регистров с последовательным входом и параллельным выходом, соединенных линиями связи со вторым и третьим регистром, которые содержат первый и второй операнд соответственно.

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

Изм

Лист

№ докум

Подпись.

Дата

Лист

34

Д 630.1.05.00.039.ПЗ

N – 11

T – 01

F – 10

Так как вентильные коды C и N никем не пересылаются, а хранятся в самих командных ячейках, предложена следующая схема управления регистром, хранящим флаги и входным буфером. Схема собрана на логических элементах исключающее ИЛИ-НЕ, И, ИЛИ.

Селекторная, распределительная и управляющая сети.

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

Селектор (Приложение №6).

Селектор состоит из процессорного элемента, мультиплексора и восьми сдвиговых регистров с последовательной загрузкой и последовательной выгрузкой (буфер - Приложение №6). Селектор работает следующим образом. На одну из входных линий мультиплексора подается биты готовности данных  от комбинационной схемы, определяющей готовность командной ячейки. Процессорный элемент тестирует каждую из линий мультиплексора, определяя, на какой из них подан бит готовности. Как только бит готовности установлен, процессор считывает первые 8 бит в последовательном коде, являющиеся кодом операции. Проанализировав считанный код, процессор выдает управляющий код на управляющий вход мультиплексора. По приходу кода мультиплексор коммутирует нужную входную линию на свой единственный выход для дальнейшего продвижения пакета в буфер. В буфере командный пакет может временно храниться. Таким образом, в сетях может одновременно продвигаться несколько пакетов без вероятности потери пакета.

Переключатель (Приложение №5).

Переключатель состоит из процессорного элемента, демультиплексора и восьми универсальных регистров с последовательной загрузкой и последовательной выгрузкой (буфер). Бит готовности поступает на единственный вход переключателя, сразу же, поступая в процессорный элемент. Таким образом, оповещая переключатель, что пакет имеется на входе. Процессор вырабатывает управляющие сигналы для регистров, разрешая последовательную запись в них входного пакета. Далее процессор разрешает последнему регистру считать параллельный 8-миразрядный код, содержащий код операции, либо адресат (в зависимости от типа сети). По анализу данного кода процессор вырабатывает управляющий код  для демультиплексора, который коммутирует свой вход с одной из выходных линий, и разрешает сдвиг в регистрах буфера, что приводит к последовательному считыванию битов пакета.

Изм

Лист

№ докум

Подпись.

Дата

Лист

35

Д 630.1.05.00.039.ПЗ

Процессорный элемент (Приложение №3).

Процессорный элемент состоит из процессора, демультиплексора, и множества расширителей портов. Последовательный код поступает во входной буфер, состоящий из сдвиговых регистров, преобразующих код из последовательного в параллельный. Таким образом, код поступает в процессорный элемент через расширители портов весь сразу за один такт. Процессор считывает код операции и два операнда. Произведя соответствующую операцию, он формирует выходной операнд. Для формирования выходного пакета процессору необходимо считывать с расширителей портов 8-миразрядные коды адресатов. Выходной пакет содержит 16 разрядов, первые 8 из которых – код адресата, а последние – код операнда. Выходной пакет поступает в распределительную или управляющую сеть для дальнейшего продвижения к командным ячейкам.

Источник опорной частоты.

BQ1

BQ2

SR

C1 20 мкФ

C2 20 мкФ

C3 1 мкФ

6 МГц

Рис. 13. Схема подключения источника опорной частоты. 

На рисунке 13 изображена схема подключения источника опорной частоты. В данном случае в качестве него выступает кварцевый резонатор 6 МГц. Как видно на схеме через конденсатор С3 к схеме подключен вход ОМЭВМ SR – вход системного сброса. Данное подключение позволяет сформировать сигнал системного сброса при включении питания.

Общий сброс ОМЭВМ осуществляется благодаря наличию встроенного триггера Шмитта и соединенного с источником питания +5В резистора. Они в сочетании с внешним конденсатором емкостью 1мкФ, подключенным к выводу SR, обеспечивают при включении ОМЭВМ импульс системного сброса низкого уровня достаточной длительности для гарантированной установки в исходное состояние всех цепей.

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

СПЕЦИФИКАЦИЯ ЭЛЕМЕНТОВ

3.4. Спецификация элементов

Изм

Лист

№ докум

Подпись.

Дата

Лист

37

Д 630.1.05.00.039.ПЗ

Наименование

Кол.

Примечание

Регистры

К555ИР9

180

регистр сдвига

К555ИР6

28

универсальный регистр

К1531ИР22

90

регистр

К155ИР13

20

регистр сдвига

Процессоры

КР1816МК48

16

микропроцессор

Расширители портов

КР580Р43

60

Дешифраторы

54145DM

20

2-10 дешифратор

Логические элементы

HD74S15

20

3 элемента 6 И

1ЛН04ШМ

10

6 инверторов

54F11B2A

10

2 элемента 6 ИЛИ

7432PS

10

4 элемента 2 ИЛИ

74LS08

10

4 элемента 2 И

74LS266PC

10

2 исключающее 2 ИЛИ-НЕ

Конденсаторы

К50-Б

2

20мкФ

КСО

1

1мкФ

Мультиплексоры и Демультиплексоры

MX74150

3

мультиплексор

DMX74154

13

демультиплексор

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ЗАКЛЮЧЕНИЕ

4. Заключение

Изм

Лист

№ докум

Подпись.

Дата

Лист

39

Д 630.1.05.00.039.ПЗ

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

Список литературы:

1.     

2.     

3.     

4.     

5.     

6.     

7.     

8.     

ВСГТУ 622-1

Изм.

Лист

№ докум.

Подп.

Дата

Разраб.

Проверил

Литер.

Лист

Листов

 Н.контр

 Утв.

Д 630.1.05.00.039.ПЗ

ПРИЛОЖЕНИЯ

40

5. Приложения

ПРИЛОЖЕНИЕ №1 Функциональная схема потоковой машины

 SHAPE  * MERGEFORMAT

ПЭ1

БУФЕР

БУФЕР

 С

ПЭn

 С

БУФЕР

БУФЕР

КЯ1

КЯ2

КЯn

переключатель

селектор

 С

 С

переключатель

 С

переключатель

 С

БПР

 С

БПР

 С

буфер

буфер

ГТИ

 С

переключатель

 С

переключатель

 С

переключатель

 С

селектор

 С

селектор

 С

селектор

 С

селектор

 С

переключатель

 С

Распределительная

сеть

Селекторная

сеть

Управляющая

сеть

Блок принятия решений

Блок выполнения операций

ПРИЛОЖЕНИЕ №2 Командная ячейка

 SHAPE  * MERGEFORMAT

 =1

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Q

D

0

1                               

2

3

4

5

6

7

0

1                               

2

3

4

5

6

7

C

Z

Комбинационная схема

от блока принятия решения

от блока выполнения операций

  &

RG

DR

0

1                               

2

3

4

5

6

7

WR

1

C1

C2

RG

DR

0

1                               

2

3

4

5

6

7

WR

1

C1

C2

RG

DR

0

1                               

2

3

4

5

6

7

WR

1

C1

C2

RG

DR

0

1                               

2

3

4

5

6

7

WR

1

C1

C2

RG

DR

0

1                               

2

3

4

5

6

7

WR

1

C1

C2

К селекторной сети

С1

С2

 =1

 1

RG

DR

0

1                               

2

3

4

5

6

7

L

OE

RG

DR

0

1                               

2

3

4

5

6

7

L

OE

Q

Q

C1

C2

C1

C2

1

1

От распределительной сети

 SHAPE  * MERGEFORMAT

RDPME WR

P20P21P22P23P24P25P26P27

P10P11P12P13P14P15P16P17

SMS

T0

DB

DBDBDBDBDBDBDB

BQ1BQ2

SR

SS

INT

EMA

PR

GND Ud

P40

P41

P42

P43

P44

P50

P51

P52

P53

P54

P60

P61

P62

P63

P64

P70

P71

P72

P73

P74

RP

DBDBDBDBDB

PR

CS

OV

Uss

P40

P41

P42

P43

P44

P50

P51

P52

P53

P54

P60

P61

P62

P63

P64

P70

P71

P72

P73

P74

RP

DBDBDBDBDB

PR

CS

OV

Uss

P40

P41

P42

P43

P44

P50

P51

P52

P53

P54

P60

P61

P62

P63

P64

P70

P71

P72

P73

P74

RP

DBDBDBDBDB

PR

CS

OV

Uss

A

B

C

D

C

Q

DMX

0

2

3

4

5

6

7

8

9

10

11

12

13

14

15

P40

P41

P42

P43

P44

P50

P51

P52

P53

P54

P60

P61

P62

P63

P64

P70

P71

P72

P73

P74

RP

DBDBDBDBDB

PR

CS

OV

Uss

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

БУФЕР

0

15

к сетям

ПРИЛОЖЕНИЕ №3  Процессорный элемент

ПРИЛОЖЕНИЕ №4 Комбинационная схема

 SHAPE  * MERGEFORMAT

1

2

DC

0

1

2

3

1

2

DC

0

1

2

3

 &

 &

вк 1

вк 2

с

с

n

n

t

t

f

f

 &

 &

сndd

ncdd

сcdd

nndd

 &

 &

ttttdd

ffffdd

 

   1

Командная ячейка готова

вф 2

вф 1

d

d

вк 1

вф 1

d 1

вк 2

вф 1

d 2

Кодировка:

ВК:     С – 00             N – 11             T – 10             F – 01

ВФ:     T – 1               F – 0

D:        1, 0

ПРИЛОЖЕНИЕ №5 Переключатель

 SHAPE  * MERGEFORMAT

A

B

C

D

C

Q

DMX

0

2

3

4

5

6

7

8

9

10

11

12

13

14

15

RDPME WR

P20P21P22P23P24P25P26P27

P10P11P12P13P14P15P16P17

SMS

T0

DB

DBDBDBDBDBDBDB

BQ1BQ2

SR

SS

INT

EMA

PR

GND Ud

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

0

1

2

3

4

5

6

7

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

0

1

2

3

4

5

6

7

Q

ПРИЛОЖЕНИЕ №6 Селектор

 SHAPE  * MERGEFORMAT

RDPME WR

P20P21P22P23P24P25P26P27

P10P11P12P13P14P15P16P17

SMS

T0

DB

DBDBDBDBDBDBDB

BQ1BQ2

SR

SS

INT

EMA

PR

GND Ud

0

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A

B

C

D

C

Q

MX

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

0

1

2

3

4

5

6

7

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

0

1

2

3

4

5

6

7

Q

от командных ячеек

Селекторная сеть

 SHAPE  * MERGEFORMAT

СЕЛЕКТОР

С

СЕЛЕКТОР

С

СЕЛЕКТОР

С

ПЕРЕКЛЮЧАТЕЛЬ

С

к процессорным элементам

из командных ячеек

синхронизация

ПРИЛОЖЕНИЕ №7 Буфер

 SHAPE  * MERGEFORMAT

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

RG

DR

0

1

2

3

4

5

6

7

C1

C2

WR

Q

 SHAPE  * MERGEFORMAT

а

s

а

s

а

s

а

s

а

а

s

s

К процессорам

Из командных ячеек

Селекторная  сеть

 SHAPE  * MERGEFORMAT

s

s

s

s

а

а

s

s

К командным ячейкам

От процессорных элементов

а

s

Распределительная сеть

Распределительная сеть

 SHAPE  * MERGEFORMAT

ПЕРЕКЛЮЧАТЕЛЬ

С

от процессорных элементов

к командным ячейкам

синхронизация

СЕЛЕКТОР

С

ПЕРЕКЛЮЧАТЕЛЬ

С

ПЕРЕКЛЮЧАТЕЛЬ

С

 SHAPE  * MERGEFORMAT

Ячейка команды

Ячейка команды

Ячейка команды

Ячейка команды

Ячейка команды

Селекторная сеть

Распределительная сеть

Управляющая сеть

Блок принятия решений

Блок принятия решений

Блок выполнения операций

Блок выполнения операций

Блок выполнения операций

Управляющая сеть

 SHAPE  * MERGEFORMAT

ПЕРЕКЛЮЧАТЕЛЬ

С

от процессорных элементов

к командным ячейкам

синхронизация

СЕЛЕКТОР

С

ПЕРЕКЛЮЧАТЕЛЬ

С

ПЕРЕКЛЮЧАТЕЛЬ

С

Наименование

Кол.

Примечание

Регистры

К555ИР9

360

регистр сдвига

К555ИР6

56

универсальный регистр

К1531ИР22

180

регистр

К155ИР13

40

регистр сдвига

Процессоры

КР1816МК48

32

микропроцессор

Расширители портов

КР580Р43

120

Дешифраторы

54145DM

40

2-10 дешифратор

Логические элементы

HD74S15

40

3 элемента 6 И

1ЛН04ШМ

20

6 инверторов

54F11B2A

20

2 элемента 6 ИЛИ

7432PS

20

4 элемента 2 ИЛИ

74LS08

20

4 элемента 2 И

74LS266PC

20

2 исключающее 2 ИЛИ-НЕ

Конденсаторы

К50-Б

2

20мкФ

КСО

1

1мкФ

Мультиплексоры и Демультиплексоры

MX74150

5

мультиплексор

DMX74154

27

демультиплексор