Устройство для параллельной обработки трехмерных сцен

Номер патента: 1689966

Автор: Бимаков

Есть еще 7 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

ОЮЗ СОВЕТСКИХОЦИАЛИСТИЧЕСКИХЕСПУБЛИК 689966 А 06 Г 15/16, 15/6 ГОСУДАРСТВЕННЫЙ КОМИТЕТПд ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯПРИ ГКНТ СССР ИЗОБРЕТЕНИЯ ИС К АВТО МУ С В ИДЕТ ЕЛ ЬСТВУ. инсти оСС , 198 оСС Изобретение относится к вычислительной технике и предназначено для обработки трехмерных изображений,Цель изобретения - повышение отказоустойчивости устройства.На фиг. 1.и 2 представлено устройство параллельной обработки трехмерных сцен; на фиг. 3 - общий принцип построения процессорной матрицы устройства с использованием универсальных 24-процессорных модулей; на фиг. 4 - варианты распределения памяти процессоров для различных режимов работы матрицы; на фиг, 5- общая схема алгоритма микропрограммы, реализующей в устройстве команду управления матрицей; на фиг. 6 и 7 - способы обхода отказавших элементов матрицы; на фиг. 8- способ "прокачки" содержимого двухуровневой сцены А х А х А через исправную бовую оболочку С х С х С,Устройство содержит блок матрицы процессоров. состоящий из трехмерной матрицы 1 А х А х А процессоров и блок 2 О О(54) УСТРОЙСТВО ДЛЯ ПАРАЛЛЕЛЬНой ОБРАБОТКИ ТРЕХМЕРНЫХ СЦЕН (57) Изобретение относится к вычислительной технике и предназначено для обработки трехмерных изображений. Цель изобретения -повышение отказоустойчивости устройства. Отказавшие в устройстве связи обнаруживаются с помощью диагностирующей программы. Функции отказавших процессоров выполняют работающие процессоры за счет программного обеспечения блока программного управления. 8 ил. управления. К устройству могут быть подключены блои 3 поворота через входы 4 и выходы 5 матрицы. Матрица 1 состоит иэ А процессоров 6. Каждый иэ которых включает в себя узел 7 памяти, первый регистр 8 операнда, второй регистр 9 операнда, элемент ИЛИ 10, блок элементов И, состоящий из элементов И 11-14, элемент ИЛИ-НЕ 15.Блок 2 управления содержит управляющий процессор, узел 16 памяти программ и данных, программноадресуемые регистры 17- 24; таймер 25, узел 26 прерывания.Устройство содержит также группу аналоговых сумматоров в виде ступеней 27-29 аналогового сумматора, аналого-цифровой преобразователь 30, узел многовходовых элементов ИЛИ в.виде ступеней 31-33 многовходового элемента ИЛИ, мультиплексор 34 признака состояния процес; соров. Управляющий процессор содержит арифметико-логической узел 35, мультиплексор 36 адреса, преобразователь 37 адреса, дешифратор 38 команды, дешифратор 39 выбора слоя поворота, элементы И1689966Составитель А,Ушаков едактор С.Патрушев Техред М,Моргентал Корректор О.Кравцов аказ 3815 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКН113035, Москва, Ж, Раушская наб., 4/5Производственно-издательский комбинат "Патент", г. Ужгород, ул.Га арина, 168996610 40, узел микропрограммного управления, Узел микропрограммного управления состоит иэ генератора 41 синхронизирующих импульсов, генератора 42 адреса микрослова, регистра 43 адреса микрослова, узла 44 памяти микрослов, регистра 45 микро- слова, дешифраторов 46 кода микрооперации, дешифратора 47 кода режима ввода-вывода, элементов И 48-52. Ступени 28 и 29 соединены с преобразователем 30 посредством коммутатора 53. Процессоры 6, образующие относительно своих ортогонально-кольцевых связей замкнутую систему, и связанные с ними дешифратор 46, ступени 2, 31 объединяются в конструктивный модуль 54. Регистр 17 связан с входами 4 матрицы 1 посредством блока 55 элементов И,Структура межмодульных связей матрицы 1, построенной на универсальных 24- процессорных модулей, изображена на фиг, 3. Из фиг. 3 видно, что все межмодульные связи матрицы могут быть разбиты на две большие группы: группы связей, соединяющих модули, процессоры 6 которых образуют в кубе А х А х А кубовые оболочки с толщиной, равной 1 (вкладываемые друг в друга по принципу "матрешки"); и группы связей, "сшивающих" эти оболочки в единый куб А х А х А. При отказе межмодульной связи нарушение нормального функционирования прототипа происходит из-за отсутствия воэможности выполнить операцию переноса сцены А х А х А на шаг по В без искажений. В случае отказа процессора 6 нарушение нормального функционирования прототипа происходит; изза отсутствия возможности выполнить операцию переноса сцены А х А х А на шэг по В беэ искажений; из-за потери аппаратных средств для хранения и параллельной обработки информации об уровнях яркости кубаххотказавшего процессора 6. В предлагаемом устройстве первые две из названных причин устраняются путем организации автоматического обхода отказавших модулей и межмодульных связей, Последняя из причин устраняется путем использования аппаратных средств исправных модулей для хранения и обработки информации об уровнях яркости кубиковххотказавших процессоров 6. Адресуемой информационной единицей матрицы 1 является двухуровневая сцена формата Г. Формат Г составлен из кубиковххисправных процессоров 6, Уровень яркости каждого кубикаххв двухуровневой сцене формата Г принимает значение "1" или "0", При наличии в матрице 1 А исправных процессоров 6 формат Г совпадает с формой, куба 15 20 25 30 35 40 50 55 А х А х А. Выход из строя процессоров 6 равнозначен изменению формата Г сцены, это изменение заключается в удалении из куба А х Л х А кубиковххотказавших процессоров 6, Команды управления матрицей, хранящиеся в узле 16, оперируют двухуровневыми сценами формата А х А х А. Это обаясняется тем, что текущий формат Г в силу случайности отказа процессоров 6 является непредсказуемым, формат А х А х А заранее известен и при абсолютно исправной матрице 1 обеспечивает максимальную скорость обработки информации в устройстве. В случае отказа хотя бы одного процессора 6 становится невозможным размещение обрабатываемой двухуровневой сцены А х А х А внутри одной адресуемой сцены формата Г, обмен информацией между процессорами 6 нарушается. Поэтому при отказе элементов матрицы выполнение команд, оперирующих полноформатными сценами А х А х А, осуществляется в устройстве с использованием метода эмуляции, В роли эмулируемой вычислительной системы выступает устройство с абсолютно исправной матрицей 1, а в роли эмулирующей - устройство с мэтрицей текущего состояния (имеющей неисправные модули или неисправные межмодульные. связи),.Для предотвращения потери информации об уровнях яркости кубиковххотказавших процессоров 6 в сценах А х А х А функцию хранения содержимого узла 7 отказавших процессоров 6 берут на себя узлы 7 исправных модулей. В этом случае адресное поле узлов 7 разбивается на три части. Первая часть, содержащая Й 1 адресов, предназначена для хранения информации об уровнях яркости кубиковххисправных процессоров 6 в М 1 двухуровневых сценах формата А х А х А другими словами - для хранения О-фрагментов сцен А х А х А), Вторая часть, содержащая М 2 адресов, предназначена для хранения информации об уровнях яркости кубиковххотказавших процессоров 6 в И 1 двухуровневых сценах А х А х А (другими словами - для хранения О-фрагментов сцен А х А х А). Третья часть, содержащая чз адресов, предназначена для хранения сцен-масок (двухуровневых сцен-констант) и рабочих сцен, имеющих формат Г и используемых микропрограммами эмуляции для формирования и хранения промежуточных результатов, получаемых в ходе обработки полноформатных сцен. Из указанного распределения адресов узла 7 памяти становится очевидным, что отказоустойчивые программы, оперирующие полноформатны 1689966ми сценами А х А х А, должны использовать не всю область адресов узла 7 памяти, а только Й 1 адресов. Процессор 6 исправного модуля, содержащий в своем узле 7 информацию об уровне яркости кубикахх1-го отказавшего процессора 6 в сцене А х А х А, назовем дублером 1-го отказавшего процессора. Поскольку в устройстве устойчивость к отказам процессоров 6 достигается, если число отказавших процессоров 6 не превышает А/2, для представления одной полноформатной сцены А х А х А достаточно двух двухуровневых сцен формата Р. Первая из этих сцен, называемая в дальнейшем О- сценой(или О-фрагментом сцены Ах А х А), содержит информацию об уровнях яркости собственных кубиковхх 1 исправных процессоров 6 в редставляемой сцене Л х А х А, Вторая сцена, называемая О-сценой, содержит информацию об уровнях яркости кубиков 1 х 1 хотказавших процессоров 6 в представляемой сцене Л х А х А (другими словами - содержит О-фрагмент представляемой сцены Л х А х А), При 11/Й 2 = п каждая О-сцена содержит щ О-фрагментов, дополняющих гп О-сцен до полноформатных двухуровневых сцен, Варианты положения 0-фрагментов в О-сцене показаны на фиг. 4 (г - и), Каждому такому положению соответствует свой О-адрес. При щ1 адресное поле памяти в узле 7 распределяется более экономно, чем при гп = 1 (т,е. число М 1 здесь существенно вьше), однако в этом случае возникает необходимость в процедуре установки сформированного О- фрагмента в О-сцену по заданному О-адресу. Микропрограммы, реализующие команды управления матрицей, можно представить в виде последовательности более крупных, чем микрослова, структурных единиц - псевдокоманд, Псевдокоманды по выполняемой функции и способу микропрограммной реализации аналогичны командам И НЕ А 1, А 2, СДВ А 1, А 2, ПВ 1 А 1, А 2, но оперируют сценами текущего формата Е. Для различия между мнемоническими обозначениями команд и псевдокоманд между мнемоническими обозначениями сцен и адресов сцен в дальнейшем сцены и коды операций команд условимся обозначать прописными буквами, а адреса сцен и коды операций псевдокоманд - строчными буквами (например: а 1 - адрес сцены А 1; пв 1 б 1, б 2 - обозначение псевдокоманды, осуществляющей поворот содержимого сцены 01 формата Е на угол 90 вокруг оси Ох и запись результата поворота в сцену Д 2, СДВ а 1, а 2 - обозначение команды, осуществляющей сдвиг одержимого полноформатной сцены А 1 на шаг по В и запись результата сдвига 5 10 15 20 25 30 35 40 45 50 55 в полноформатную сцену А 2), Двухуровневые сцены формата А х А х А условимся обозначать АМ (где Й - номер сцены), а их адреса - ач. О-сцену сцены АМ условимся обозначать ОИ, а ее адрес - о. 0-сцену сцены Ай будем обозначать ОМ, э ее адрес - бй, Сцены-маски (формата Р) сбоэкачим М (где - номер сцены-маски), а их адреса м 1 . Рабочие сцены (формата Р) условимся обозначать РО (где О - комер рабочей сцены), а их адреса - рО, В момент включения устройства или в процессе работы устроиства в результате прерывания по таймеру 25 (цикл запроса прерывания определяется исходя из значения предельно допустимой вероятности наработки матрицы на отказ) производится запуск диэгностирующей программы. По окончании рабоы диагностирующей программы делается вывод о работоспособности матрицы. Если матрица признана работоспособной, но имеет отдельные неисправные элементы, в регистре 21 устанавливается соответствующий код режима работы матрицы, в матрице синтезируются необходимые сцены-маски, Каждый из режимов работы матрицы характеризуется своим распределением адресов памяти в узле 7, своим способом выполнения команд управления матрицей, Возможные варианты распределения адресов памяти в узле 7 для различных режимов работы матрицы показаны на фиг, 4. Распределение, изображенное на фиг, 4 (а), соответствует режиму работы матрицы, когда устройство абсолютно исправно. Распределение, изображенное на фиг, 4 (б), соответствует случаю, когда матрица имеет только отдельные неисправные межмодульные связи, Распределение, изображенное нэ фиг. 4 (в - и), соответствует случаю, когда в матрице имеются отдельные неисправные модули и отдельные неисправные межмодульные связи, Код режима работы матрицы однозначно определяет: число, вид используемых сцен-масок, коды их адресов; число используемых рабочих сцен, коды их адресов, Код режима работы матрицы совместно с кодом адреса ай однозначно определяют: код адреса ой; код адреса ай; положение О-фрагмента сцены Ай в Ой, Генерация всех перечисленных кодов по коду режима работы матрицы и кодамай, хранящимся в адресной части регистра 22 команды, осуществляется в преобразователе 37 адреса. В зависимости от кода, поступающего с многоразрядного паля РУАВ регистра 45 микрослова, на выходе преобразователя 37 формируется один из кодов Ой, бй, в 1, Р 1 и т.д. При неисправной, но работоспособной матрице 1 выполнение команд типаСДВ, а 1, а 2; ПВЗ а 1; ВВ а 1; ВЫВ а 1 связано с обходом отказавшихся элементов матрицы. Во избежание значительного снижения скорости обработки полноформатных сцен А х А х А в устройстве обход отказавших модулей и межмодульных связей при эмуляции команд СДВ, ПВЗ, ВВ, ВЫВ должен осуществляться с высокой степенью параллелизации, а путь обхода был коротким, дублеры отказавших процессоров 6 должны располагаться в непосредственной близости к модулю, содержащему эти отказавшие процессоры 6. Этому условию удовлетворяют варианты размещения процессоров- дублеров, изображенные на фиг, 4 (г - и).Здесь убики 1 х 1 х 1 процессоров отказавшего модуля заштрихованы, кубики 1 х 1 х 1 их процессоров-дублеров незаштрихованы; кубик отказавшего процессора и кубик его дублера имеют общую грань. Возможные пути обхода отказавших элементов матрицы условно изображены на фиг. 6 (б - и), Обход отказавших процессоров б включает две основные процедуры, формирование фрагмента 02 результирующей сцены А 2 иэ О- и 0-фрагментов исходной сцены А 1; формирование 0-фрагмента сцены А 2 из фрагмента 01 исходной сцены А 1. Формирование 02 осуществляется путем использования двух сцен-масок; М 1 и М 2, Все кубики 1 х 1 х 1 сцены-маски М 1 имеют уровень яркости иО", кроме кубиков, являющихся ближайшими соседями кубиков 1 хх 1 отказавших процессоров в направлении В. Сцена-маска М 2 является теоретико-множественным дополнением сцен ы М 1. Вариант обхода отказа вшего процессора б показан на фиг, б (к, л) и соответствует направлению обхода, условно изображенному на фиг, б (б). Здесь Х - отказавший процессор б; ЧЧ - процессор 6, передающий в абсолютно исправной матрице 1 информацию в процессор Х; У - процессор б, принимающий в абсолютно исправной матрице 1 информацию из процессора Х; В - дублер процессора Х; М 2 = М 1, Уровень "1" в сцене М 1 имеет только кубик 1 1 х процессора КМикроподпрограмма обхода при выполнении команды СДВ А 1, а 2 (фиг, б, к, л) в терминах псевдокоманд имеет вид:1. пв 2 о 1, р 1; поворот 01 на 90 вокруг Оу и запись результата поворота в сцену Р 1 (на случай, если А 2 = А 1) - фиг. б, к - 1,2. сдв 01, 023. ине о 2, о 2; маскирование 02 = 02 пМ 2 = 021. М 1.4. ине м 1, о 25. сдв д 1, р 2; фиг. б, л - 1.б, пв 2, р 2, р 2; фиг. б, л - 2, 3, 4,7. пв 2 р 2, р 28. пв 2 р 2, р 29. сдв р 2, р 2; фиг. б, л - 5.10. пв 2 р 2, р 2; фиг. 6, в - 6.5 11. ине р 2 р 2 маскирование Р 2 ==Д 2 пМ 4 = Дн 2.МЗ. Уровень яркости и 1 и всцене-маске МЗ имеет только кубик 1125 процессора Я, М 4= МЗ.22. ине р 1, р 1; выделениеО- рагментасцены А 2 иэ Р 1 Р 1 = Р 1 пМЗ = Р 1 УМ 4.23. ине р 1, б 2; склеивание 02 = 02 ОР 1 ==02Р 1.30 Как видно из приведенного примера,способ обхода отказавшего процессора б (азначит и вид соответствующей микроподпрограммы обхода) зависит от положениядублера отказавшего процессора в матрице35 1, Если 1 процессоров. дублеров расположены относительно своих дублируемых процессоров одинаковым образом, обход всех 1отказавших процессоров осуществляетсяодновременно путем использования одной40 общей микроподпрограммы обхода и общихмасок М 1, М 2, МЗ, М 4. Например, обход 24отказавших процессоров б, изображенныхна фиг. 4 (г), осуществляется одновременнов соответствии с ранее рассмотренным ал 45 горитмом, но с применением собственныхсцен-масок, Вариант обхода отказавшеймежмодульной связи (соединяющей в абсолютно исправной матрице 1 выход процессора И с входом процессора Я показан на50 фиг, 7 (а). Обход осуществляется по направлению, условно изображенному на фиг. 6(е),Уровень яркости "1 и в сцене-маске М 5 имееткубик ЙИ процессора ч, вход которого соединен с отказавшей межмодульной связью.55 В терминах псевдокоманд микроподпрограмма обхода отказавшей межмодульной связи имеет вид:1. пв 2 а 1, р 1; поворот сцены А 1 на угол90 вокруг Оу и запись результата поворота(а -1),2. сдв а 1, а 23. ине а 2, з 2; маскирование А 2- А 2 пМ 6А 2 О М 5. Мб М 5.4. ине м 5, а 25. сдв р 1, р 1; фиг. 7 (а - 2),6. пв 2 р 11 р 1; фиг. 7(а - 3,4,5).7. пв 2 р 1, р 18. пв 2 р 1, р 19. сдв р 1, р 1; фиг. 7 (з - 6).10. пв 2 р 1, р 1; фиг. 7 (а - 7, 8, 9),11. пв 2 р 1, р 112. пв 2 р 1, р 113. сдв р 1,р 1; фиг. 7(а - 10).14. пв 2 р 1, р 1. фиг. 7 (а - 11).15,ще р 1, р 1; маскирование Р 1" Р 1 п М 5Р 1 О М 6.16. ине мб, р 117. ине р 1, в 2, склеивание А 2-А 2 Р Р 1 А 2 н Р 1,18. ине а 2, а 2",Если одновременный обход всех отказавших элементов матрицы невозможен (отсутствует общее направление обхода,процессоры-дублеры в О-фрагменте расположены относительно дублируемых процессоров не одинаковым образом), отказавшиепроцессоры и межмодульные связи делятсяна в групп, Элементы, входящие в группу,обходятся одновременно с использованиемобщей микроподпрограммы и общих сценмасок. Обход групп осуществляется последовательно - группа за группой. Порезультатам обхода всех групп формируется общий О- и общий 0-фрагментырезультирующей сцены А х А х А. Микроподпрограммы, реализующие команды ПВЗ а 1;ВВ а 1; ВЫВ а 1, отличаются от рассмотренных микроподпрограмм, реализующих команду СДВ а 1, а 2, тем, что А 2 = А 1, 02 = 01,Д 2 = Д 1. В отличие от команд СДВ, ПВЗ, 88,ВЫВ выполнение команд П 81 и ПВ 2 нетребует обхода отказавших модулей и межмодульных связей, так как все ортогонально-кольцевые связи расположены внутри24-процессорных модулей. Однако, еслипри отказе только межмодульных связейспособ микропрограммной реализации команд ПВ 1 и П 82 практически не отличаетсяот способа реализации команд П 81 А 1, А 2 иПВ 2 А 1, А 2 прототипа(за исключением кодаРУАВ - в предлагаемом устройстве этоткод многоразрядный), то выход иэ строямодулей изменяет способ микропрограммной реализации этих команд вследствиеизменения способа внутреннего представления сцен А х А х А в устройстве. В последнемслучае процесс выполнения командПВ 1 з 1, а 2 и ПВ 2 а 1, а 2 включает три основных этапа: 1) поворот О-фрагмента сцены А 1нз 90 вокруг оси Ох (для ПВ 2 - вокруг осиОу); 2) поворот копии 0-фрагмента сцены А 1на 90 вокругоси Ох(для ПВ 2 - вокругоси5 Оу); 3) запись повернутой копии 0-фрагмента по адресу 0-фрагмента сцены А 2. В терминзх псевдокоманд микропрограмма,реализующая команду ПВ 2 а 1, з 2 имеет вид:1. пв 2 о 1, о 2; поворот О-фрагмента,10 2. пв 2 д 1, р 1: поворот О-фрагмента.3. сдв р 1, р 2. размещение О-фрагментав Д 2. В рассматриваемом приме 7 е положение О-фрагмента сцены А 1 в Д 1 соответствует положению, изображенному на фиг. 415 (ж); положение О-фрагмента сцены А 2 в Д 2соответствует положению, изображенномуна фиг. 4(д).4, пв 2 р 1, р 15. пв 2 р 1, р 120 6. пв 2 р 1, р 17. сдв р 1, р 18. пв 2 р 1, р 19. ине р 1, р 1; максирование Р 1 - Р 1 о М 2Р 10 М 1,25 10, ине м 1, р 111. ине д 2, д 2. максирование д 2 - Д 20 М 1Д 2 цМ 2.12, ине м 2, д 23. ине р 1, д 2; севеиеание Д 2 - Р 1 йД 230 210 Д 2.14. ине д 2, д 2.В случае отказа процессоров 6 микропрограмма, реализующая команду ИНЕ а 1,а 2, производит следующие виды операциВ35 теоретикомножественную операцию 02 = 020ЙЙ над О-фрагментами сцен А 1 и А 2; осуществляет привязку копии (О 1) сцены 01 кО-фрагменту сцены А 2 (в результате выполненной привязки информация об уровнях40 яркости кубикахходного и того жеотказавшего процессора 6, относящаяся кдвум различным сценам А 1 и А 2 располагается в одном процессоре-дублере); теоретическо-множественную операцию Р 1 0 7 Г45 й 52; осуществляет выделение результирующего О-фрагмента иэ сцен Р 1 и записываетего по 0-адресу О-фрагмента сцены А 2 данного вида отказа матрицы:1. ине 01, о 2; 02001.50 2. сдв д 1, р 1, в рассматриваемом примере положение О-фрагмента сцены А 1 в 01соответствует положению, изображенномуна Фиг. 4 (г); положение О-фрагмента сценыА 2 в 02 соответствует положению, иэобре-55 женному на фиг,4(д).3. пв 2 р 1, р 14, пв 2 р 1, р 15. по 2 р 1, р 16, сдв р 1, р 17, пв 2 р 1, р 1; привязка закончена15 8. инед 2, р 19. ине р 1, р 1; маскирование Р 1 = Р 1 ПМ 2= = Р 1 ОМ 110. ине м 1, р 1; маски М 1 и М 2 определены на стр. 811. ине Д 2, д 2; маскирование 02 = 02 п М 1 = 02 ИМ 212. ине м 2, д 213. ине р 1, д 2; склеивание 02 = РРО 2 =- Р 1 Ю 214, ине д 2, д 2 ".В систему команд устройства введена команда условного перехода, ПП ай, в - если содержимое полноформатной сцены АМ пусто, передать управленре команде, хранящейся в узле памяти 16 по адресу в: в противном случае - перейи к следуащей па порядку команде, Под пустой двухуровневой сценой А х А х А здесь понимается полноформатная сцена, все кубики И"1 кото. рой имеют уровень яркости "1" (негативное представление). Анализ содержимого сцены АМ осуществляется при помощи комбинационной схемы, состоящей в общем случае из последовательно соединенных ступеней 31-33 (фиг, 1, 2). Каждая ступень 31 входит в состав модуля 54 и представляет собой 24-входовую схему ИЛИ, входы которой соединены с инверсными выходами одноразрядных регистров 8 этага модуля, Каждая ступень 32 является мнагавходавай схемой ИЛИ, входы )-й ступени 32 соединены с выходами ступеней 31 тех модулей, кубики 1 х. 1 х 1 процессоров б которых образуют в кубе А х А х А матрицы )-ю кубовую оболочку (фиг. 3). Каждая ступень 33 представляет собой многавходавую схему ИЛИ, входы которой соединены с выходами двух или более ступеней 32. В процессе выпалнения команды ПП а 1 ч, в содержимое сцены АЙ (если в матрице 1 отсутствуют отказавшие процессоры 6) или ОМ (при наличии отказавших процессоров б в матрице 1) извлекается иэ узлов 7 и записывается в регистры 8, В зависимости от кода режима работы матрицы, хранящегося в регистре 21, мультиплексор 34 подключает вход генератора 42 адреса млкраслааа к выходу одной из ступеней ЗЗ или 32. Например, при абсолютно исправной матрице к входу генератора 42 подключается выход тай ступени 33, входы которой соединены с выходами всех ступеней 32 устройства, при этом сигнал, снимаемый с выхода мультиплексора 34, характеризует сразу все содержимое сцены Ай. Если в матрице 1 имеются отказавшие и роцессоры 6, к входу генератора 42 подключается ступень 33 (или 32). все первые ступени 31 оарой соединены с исправными процессорами б, Кубовые 20 25 30 35 40 45 55 оболочки ступеней 32, подключенных к входам указанной ступени 33, образуют фильтрирующую зону куба А х А х А матрицы (фиг.7, б, в, г), При наличии отказавших процессоров 6 анализ содержимого сцены Ай состоит в последовательной пракачке всего содержимого копии сцены через данную фильтруюцую зону. Элементарный шаг прокатки включает; перемещение анализируемого участка копии сцены Ай в фильтрующую зону; пересылку О-фрагмента перемещенной сцены-копии из узлов 7 в регистры 8; 3) микроветвление па результатам анализа сигнала, снимаемого с выхода ступени 33 (32), связанной с входам генератооа 42, Если сигнал равен "1" (чта означает содержимое фильтрующей зоны не пусто), осуществляется передача управления команде, следующей по порядку за выполняемой командой ПП ай, в, Если сигнал равен "0", производится установка следующего участка сцены-копии в фильтрующую зону и анализ содержимого этого участка. Процедура прокачки через флльтрующую эану продолжается да тех пор, пока все содержимое анализируемой сцены Ай не пройдет через фильтрующуа зону, после чего осуществляется передача управления команде, расположенной в памяти 16 па адресу в. Процесс перемещения сцены- копии через фильтрующую зону осуществляется с обходам отказавших процессоров б (подобна тому, как эта делается при выполнении команды СДВ). На фиг. 8 (1 - б) показаны способы прокачки различных областей сцены АЧ (1, 11, 111) через фильтрующую зону, представляющую собой кубовую оболочку с габаритами С х С х С (СА/2), Прокачка через составной фильтр, содержащий более одной кубовой оболочки (фиг. 7, б, в), является предпочтительней, поскольку отличается большей скоростью (поверхность фильтрующей зоны в этом случае больше), При использовании составного фильтра анализу подвергается слгнал, снимаемый с выхода ступени 33. кубовые оболочки ступеней 32 которой входят в состав данного составного фильтра. В систему команд устройства входит команда ОБ ай - "Сформировать в регистре 19 кад значения величины объема нулевага содержимого сцены АМ". Команда ОБ выполняется в устройстве при помощи аналогового сумматора, состоящего из ступеней 27-29; коммутатора 53; аналого-цифровых преобразователей 30; программно-адресуемых регистров 19 и 24; арифметика-лагическага узла 35. Каждая ступень 27 расположена в модуле 54 и выполнена по параллельной схеме аналогового сумматора, входы ступени 27 соединеныс инверсными выходами регистров 8 модуля. Ступень 28 с целью уменьшения погрешности суммирования выполнена по последовательной схеме сумматора, входы каждой ступени 28 соединены с выходами ступеней 27 тех модулей, кубики 1 ххпроцессоров 6 которых образуют одну из кубовых оболочек(фиг. 3). Ступень 29 выполнена также по последовательной схеме аналогового сумматора, входы ступени 29 соединены с выходами двух или более ступеней 28. В процессе выполнения команды ОБ ай содержимое сцены Ай (если в матрице 1 отсутствуют отказавшие процессоры 6) хранящегося в регистре 21, коммутатор 53 подключает вход преобразователя 30 к выходу одной из ступеней 29 или 28. Например, при абсолютно исправной матрице 1 к входу преобразователя 30 подключается выход той ступени 29, входы которой соединены с выходами всех ступеней 28 устрой 20 ства. С момента появления сигнала на 25 выходе элемента И 52 через временную за,держку, связанную с аналоговым суммированием, на входе преобразователя .30 поя вля ется им пул ьс, ам пл итуда которого 30 пропорциональна числу кубиковххсцены Ач, имеющих уровень яркости "0". Для того, чтобы данная пропорциональность соблюдалось, ступени 27, 24 процессорных модулей 54, моделирующих замкнутые(относительно ортогонально-кольцевых связей) системы, содержащие Е = 1, 6, 8, 12 процессоров 6, соединены с входами ступеней 28, с коэффициентом передачи по входу, равному 24/Е. В момент появления импуль 40 са на выходе аналогового сумматора.начинается процесс измерения его амплитуды, по окончании которого в регистре 24 формируется код значения амплитуды импульса. Далее этот код из регистра 24 передается в регистр 19. При наличии отказавших про 45 цессоров 6 в матрице 1 вход преобразователя 30 посредством коммутатора 53 и в соответствии с кодом, хранящимся в регистре 21, соединяется с выходом той ступени 29 (или 28), все кубовые оболочки (оболочка) которой исправны и образуют в совокупности область измерения (фиг. 7; б, в, г). Вы 50 полнение команды ОБ ай в этом случае начинается с обнуления регистра 19. Код значения объема нулевого содержимого сцены ай формируется в результате последовательной прокачки содержимого копии сцены Ач через облать измерения. Каждый элементарный шаг прокачки включает перемещение участка копии сцены АИ, предназили Ой(в противном случае извлекается из 15узлов 7 и записывается в регистры 8. В зависимости от кода режима работы матрицы,наченного для измерения его нулевого содержимого, в область измерения; извлечение О-Фрагмента перемещенной сцены-копии из узлов 7 и запись извлеченного Фрагмента в регистры 8; собственно измерение (аналоговое суммирование кубиковхх , принадлежащих области измерения и имеющих уровень яркости "0", аналогоцифровое преобразование амплитуды импульса-результата суммирования); цифровое суммирование нового содержимого регистра 24 с содержимым регис-а 19, полученным на предыдущем шаге, и запись результата суммирования в регистр 19; "гашение" измеренного участка (запись"1" в узлы 7 процессоров 6, чьи кубикиххпринадлежат ьоласти измерения по адресу сцены-копии) с целью исключения иэ процесса суммирования нулевого содержимого этого участка в случае попадания его в область измерения при последующих шагах прокачки. Как видно иэ всего изложенного, выполнение микропрограмм, реализующих команды управления матрицей, в зависимости от содержимого регистров 21, 22 (фиг. 5), а также в зависимости от значений анализируемых признаков осуществляется по одному иэ альтернативных путей, Выбор пути происходит в результате микроветвлений, производимых в генераторе 42 адреса микрослова, Для того, чтобы выработать надлежащую последовательность микрокоманд, каждое микрослово памяти 44 содержит поле микроадреса следующего микрослова (базовый микроадрес). Этот микроадрес при необходимости ветвления на другие микропрограммы может быть модифицирован в зависимости от состояния разрядов регистра 21, 22, от значения признаков, снимаемых с выходов мультиплексоров 34 и узла 35. С этой целью микрослово содержит поле кода микроветвления (КМВ,Формула изобретения Устройство для параллельной обработки трехмерных сцен, содержащее блок матрицы процессоров и блок программного управления, соответствующие выходы которого соединены с входами адреса и кодов операций обмена и обработки блока матрицы процессоров, группу аналоговых сумматоров и аналого-цифровой преобразователь, выход которого соединен с соответствующим входом логических условий блока программного управления, входы аналоговых сумматоров группы соединены с выходами состояния соответствующих процессоров блока матрицы процессора, о т л и ч а ю щ е е с я тем, что, с целью повышения отказоустойчивости устройства, в блок матрицы процессоров введен узелмноговходовых элементов ИЛИ, а в устройство введены мультиплексоры признака и коммутатор, информационные входы которого соединены с выходами аналоговых сумматоров группы, а выход соединен с информационным входом аналого-цифрового преобразователя, входы узла многовходовых элементов ИЛИ соединены с выходами состояния соответствующих процессоров блока матрицы процессоров, а выходы сое- .динены с информационными входами мультиплексора признака, выход которого соединен с соответствующим входом логи ческих условий блока программного управления, соответствующие выходы которого соединены с управляющими входами коммутатора и мультиплексора признака состояния процессоров.

Смотреть

Заявка

4433226, 05.04.1988

ИЖЕВСКИЙ МЕХАНИЧЕСКИЙ ИНСТИТУТ

БИМАКОВ ВАЛЕРИЙ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: G06F 15/173

Метки: параллельной, сцен, трехмерных

Опубликовано: 07.11.1991

Код ссылки

<a href="https://patents.su/15-1689966-ustrojjstvo-dlya-parallelnojj-obrabotki-trekhmernykh-scen.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для параллельной обработки трехмерных сцен</a>

Похожие патенты