Проектирование машины потоков данных
Содержание:
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.ПЗ |
Третьей причиной появления машин потоков данных является осознание того фактора, что тракт, соединяющий процессор с памятью, является тем самым «узким местом», которое в основном и ограничивает эффективность системы. В современных вычислительных системах назначение программы заключается в изменении содержимого памяти, предоставляемой для данных этой программы. Достигается это путем «проталкивания» одиночных команд и данных через узкую магистраль, связывающую память и процессор.
Быстрое развитие компьютерной индустрии определяет относительность понятия суперЭВМ - то, что десять лет назад можно было назвать суперкомпьютером, сегодня под это определение уже не попадает. Например, производительность персональных компьютеров 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. здесь окружности обозначают команды, стрелки – линии связи между командами, а зачерненные круги – данные.
Ор |
Ор |
Ор |
Ор |
Ор |
|
||||||||||||||||||
|
|
|||||||||||||||||
|
Первые три команды показаны в состоянии запрета на выполнение. У первой команды нет входных данных, у второй данные присутствуют не на всех входных линиях, а в третьей команде имеются данные – предыдущий результат – на выходной линии. Четвертая команда имеет все, что необходимо для получения разрешения на выполнение, т. е. готова к выполнению. Выполнение команды приводит к исчезновению данных со входных линий и появлению результата на выходной линии.
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
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 |
Блок прин |
Вентиль Т |
|
|
|||||||||
|
|
|||||||||
T F |
|
|
На рис. 2. изображены исполнительные элементы языка: сплошные стрелки показывают места подсоединения линий данных, штриховые – управляющих линий. Операция размножения готова к выполнению при появлении токена на единственной входной линии размножителя и при условии, что все его выходные линии пусты. Размножитель распределяет полученный токен по выходным линиям. Блок выполнения операции обычно имеет одну или две входных линии. Блок готов к работе при наличии токенов данных на всех его входных линиях и при условии, что выходная линия пуста. Он принимает входные токены, выполняет некоторые преобразования над полученными величинами и помещает результирующий токен данных на свою выходную линию. Типичными операциями таких блоков являются сложение, вычитание, умножение, инвертирование, извлечение квадратного корня и т. д.
Блок принятия решения функционирует аналогичным образом, однако результатом его работы является управляющий сигнал (логическая величина). В этом блоке вычисляется отношение, составленное из выходных данных, и формируется в результат в виде логической величины TRUE (ИСТИННО) или FALSE (ЛОЖНО). Типичными операциями отношения являются операции сравнения двух величин по одному из критериев типа «равны», «не равны», «первая величина больше второй» и т. д.
Остальные три блока имеют на входе и данные, и управляющие сигналы. Блок типа вентиль Т (Т – от английского слова TRUE) готов к работе при наличии на его входах как токена данных, так и токена управляющей информации (при этом, как обычно, выходная линия должна быть пуста). Как и все остальные исполнительные элементы, этот блок «поглощает» входную информацию во время выполнения. Если значение управляющего сигнала TRUE, то имеющийся на входе блока токен данных передается на выходную лини. Если значение управляющего сигнала FALSE, то сигнал на выходе блока не формируется. Таким образом, вентиль T либо пропускает входные данные на свой вход, либо просто «поглощает» их. Блок типа вентиль F (F – от английского слова FALSE) работает аналогичным образом, только для передачи токена данных на выходную линию требуется управляющий сигнал, имеющий значение FALSE.
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
12 |
Д 630.1.05.00.039.ПЗ |
ВСГТУ 622-1 |
Изм. |
Лист |
№ докум. |
Подп. |
Дата |
Разраб. |
Проверил |
Литер. |
Лист |
Листов |
Н.контр |
Утв. |
Д 630.1.05.00.039.ПЗ |
МАШИНА ПОТОКОВ ДАННЫХ |
2.3. Машина потоков данных
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
14 |
Д 620.1.05.00.039.ПЗ |
Вторая секция машины включает блоки выполнения операций и принятия решений. Эти блоки представляют собой устройства, выполняющие команды. Разница между ними заключается в том, что результатом работы блока выполнения операций являются данные (полученные, например, при реализации операций сложения или умножения), а результатом работы блока принятия решения – управляющая информация (логическая величина). Как показано, машина потоков данных содержит произвольное, насколько возможно большое количество указанных блоков. Поскольку их функции заключаются только в том, чтобы выполнить операцию, условия реализации которой определяются так называемой селекторной сетью, и послать результат в другую сеть, блоки выполнения операций и принятия решений значительно проще традиционных процессоров.
Третья секция состоит из трех переключающих сетей. Селекторная сеть извлекает команду, готовую к выполнению, формирует так называемый пакет и направляет его к блоку выполнения операций или принятия решений. Распределительная сеть принимает пакет результата (данные и адрес назначения) и направляет данные в указанную ячейку команды. Точно так же управляющая сеть передает управляющий пакет (результат принятия решения и адрес назначения) в указанную ячейку команды.
Код операции |
Адрес(а) назначения |
||||
Вентиль-ный код |
Вентиль-ный флаг |
Флаг данных |
Данные |
||
Вентиль-ный код |
Вентиль-ный флаг |
Флаг данных |
Данные |
Машина работает следующим образом. Если ячейка команды располагает всеми необходимыми входными токенами, она посылает командный пакет в селекторную сеть. Последняя направляет пакет к имеющемуся в расположении блоку выполнения операции или принятия решения. Порядок перехода команд в состояние готовности отличается от порядка, принятого в языке потоков данных. Дело в том, что в машине для команды единственным необходимым условием готовности к выполнению является наличие соответствующей входной информации; команда может выполняться, даже если занято место, куда должен поступать формируемый ею результат. В ходе выполнения командного пакета создаются один или несколько пакетов результата (по одному для каждого адресата), которые пересылаются в распределительную или управляющую сеть. Если ячейка назначения пуста, результат переносится в нее. В противном случае он задерживается в сети до освобождения ячейки назначения. Таким образом, появляется вероятность перегрузки распределительной и управляющей сетей пакетами результатов, что может привести к неразрешимым – «тупиковым» – ситуациям.
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
15 |
Д 620.1.05.00.039.ПЗ |
На рис. 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. Один из них – селектор, передающий пакет с одного из своих входов на выход. Селектор обслуживает свои входы по очереди, так что каждый вход рано или поздно будет опрошен. Другой элемент – переключатель – направляет пакет со своего единственного входа на один из выходов, при этом выбор нужного выхода производится на основе некоторых характеристик пакета. В селекторной сети в качестве такой характеристики переключатель использует код операции, в распределительной или управляющей сети – адрес пункта назначения пакета. Сети включают в себя элементы еще трех типов: буферы – для временного хранения информации, а также преобразователи кодов из последовательного в параллельный и из параллельного в последовательный.
Селектор |
Переключатель |
|
На рис. 5 показана функциональная схема простой селекторной сети. Эта небольшая сеть принимает операционные пакеты из 16 ячеек команд и направляет их к четырем процессорам. Селекторную сеть можно представить себе в виде черного ящика с небольшим количеством входов (по одному на каждую ячейку команды) и меньшим количеством выходов (по одному на процессор). Вследствие большого количества входов возникает проблема минимизации числа соединений между селекторной сетью и памятью команд. Поэтому указанная сеть принимает информацию из ячеек команд в виде последовательности битов. В то время со стороны выходов желательно минимизировать время, в течении которого процессор занят выполнением команд, и, следовательно, целесообразно передавать пакет в процессор весь сразу. Таким образом, в процессе прохождения пакетов по селекторной сети осуществляется преобразование информации пакетов из последовательного кода в параллельный.
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
18 |
Д 620.1.05.00.039.ПЗ |
Управляющая и распределительная сети строятся на тех же элементах, что и селекторная сеть, но отличаются от последней конфигурацией схемы соединения этих элементов рис. 6. Распределительная и управляющая сети имеют малое количество входов и большое количество выходов. По причинам, рассмотренным выше, эти сети получают пакеты в параллельном коде, а затем по мере их прохождения выполняют преобразование параллельного кода в последовательный, в результате чего в ячейки команд пакеты поступают в виде последовательности битов.
Анализ времени, необходимый для выполнения команды, показывает, что оно является суммой временной задержки пребывания команды в селекторной сети, времени выполнения команды в процессоре и временной задержки в распределительной или управляющей сети. Время работы процессора фиксировано, а задержки в сетях носят стохастический характер. Эти задержки являются функцией количества уровней в сети и числа других пакетов в этой сети. Поскольку число пакетов в сети в каждый момент времени зависит от особенностей конкретной программы, анализ производительности представляет собой непростую задачу.
SHAPE * MERGEFORMAT
а |
s |
а |
s |
а |
s |
а |
s |
а |
а |
s |
s |
К процессорам |
Из командных |
Рис. 5. Организаци |
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
19 |
Д 620.1.05.00.039.ПЗ |
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.ПЗ |
|
S |
Ячейки команд |
A |
B |
1 |
2 |
3 |
Второй проблемой является возможность возникновения тупиковых ситуаций. Тупиковая ситуация имеет место в том случае, если пакет результата А задерживает пакет результата В, в то время как пакет В необходим для перевода в состояние готовности той самой команды, для которой предназначен и к которой направлен пакет А. Такая ситуация показана на рисунке 7.
Обе указанные проблемы решаются путем введение сигналов обратной связи между блоками выполнения операций. В дополнение к существующим линиям связи добавляется еще один вид – сигнальные линии. Сигнальная линия обозначается пунктиром и используется для передачи сигнала подтверждения от одного блока выполнения операций к другому, предыдущему. Этот сигнал вырабатывается блоком специального вида, называемым сигнальным блоком (рис. 8). Сигнальный блок переводится в состояние готовности, когда на его входную линию попадает токен любого вида – либо токен данных, либо управляющий токен. Блок «поглощает» такой токен; при этом формируется сигнал подтверждения на выходной линии блока. Описанные выше блоки обратной связи использовался в качестве дополнительного входного сигнала. Пример функционального блока представлен на рис. 8.
F |
Функциональныйблок с вентильными свойствами |
SIG |
Сигнальныйблок |
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
22 |
Д 620.1.05.00.039.ПЗ |
|
OR |
Блок OR (ИЛИ) |
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
Ячейка команды |
Ячейка команды |
Ячейка команды |
Ячейка команды |
Ячейка команды |
Селекторна |
Распределительна |
Управл |
Блок прин |
Блок прин |
Блок выполнени |
Блок выполнени |
Блок выполнени |
Устройство
хранени |
|
Пакеты операцийнад структурами |
Рис. 11.
Устройство хранени |
Пам структур |
Распределительна |
Пакеты результатов |
Блоки обработки структур |
Селекторна
|
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
27 |
Д 620.1.05.00.039.ПЗ |
ВСГТУ 622-1 |
Изм. |
Лист |
№ докум. |
Подп. |
Дата |
Разраб. |
Проверил |
Литер. |
Лист |
Листов |
Н.контр |
Утв. |
Д 630.1.05.00.039.ПЗ |
ПОСТАНОВКА И РЕАЛИЗАЦИЯ ЗАДАЧИ |
3.1. Постановка и реализация задачи
Изм |
Лист |
№ докум |
Подпись. |
Дата |
Лист |
29 |
Д 630.1.05.00.039.ПЗ |
|
|
Разработаем алгоритм работы программы (рис.12):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Словесное описание алгоритма:
Для нахождения значений заданной функции необходимо пройти 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.ПЗ |
Процессорный элемент состоит из процессора, демультиплексора, и множества расширителей портов. Последовательный код поступает во входной буфер, состоящий из сдвиговых регистров, преобразующих код из последовательного в параллельный. Таким образом, код поступает в процессорный элемент через расширители портов весь сразу за один такт. Процессор считывает код операции и два операнда. Произведя соответствующую операцию, он формирует выходной операнд. Для формирования выходного пакета процессору необходимо считывать с расширителей портов 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.ПЗ |
Список литературы:
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 |
демультиплексор |