Обновленное Руководство по товарным знакам 2024 от наших экспертов.
Получить бесплатно →
Патент
Может прекратить действие
Изобретение № 2530690

СПОСОБ КОДИРОВАНИЯ И ИСПОЛНЕНИЯ КОНТЕКСТНО-ЗАВИСИМОЙ ПРОГРАММЫ МУЛЬТИКЛЕТОЧНЫМ ПРОЦЕССОРОМ, МУЛЬТИКЛЕТОЧНЫЙ ПРОЦЕССОР, КЛЕТКА И КОММУТАЦИОННОЕ УСТРОЙСТВО МУЛЬТИКЛЕТОЧНОГО ПРОЦЕССОРА ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА

Правообладатель: Открытое акционерное общество "МУЛЬТИКЛЕТ" (RU) Авторы: Стрельцов Николай Викторович (RU)
Формула изобретения

1. Способ кодирования и исполнения контекстно-зависимой программы мультиклеточным процессором, состоящим из блока памяти данных, блока регистров общего назначения, подсистемы ввода/вывода, коммутационной среды, содержащей N коммутационных устройств с номерами от 0 до n-1, каждое из которых имеет два блока передачи операндов, N устройств выбора, содержащих блоки памяти запросов первого и второго операндов, а также имеющим N идентичных клеток с номерами от 0 до n-1, связанных с соответствующими коммутационными устройствами и состоящих из блока памяти программ, устройства выборки команд, включающего регистр адреса, устройства управления, включающего регистр команд, устройства внутренней рассылки, включающего блок задержки результатов и блок доступа к коммутационной среде, и, по меньшей мере, одного буферного, содержащего набор строк для записи декодируемых команд, и одного исполнительного устройства, команды которой содержат поля кода операции, операндов, управляющих признаков, и среди которых есть, по меньшей мере, одна команда-источник и одна команда-приемник, причем в командах-приемниках не менее чем один операнд является ссылкой на команду-источник, заключающийся в том, что контекстно-зависимую программу делят на совокупность параграфов таким образом, что каждый из них является линейным участком, образованным частично-упорядоченной и информационно-замкнутой последовательностью команд, последняя из которых отмечена управляющим признаком «конец параграфа» и в которой команды-источники предшествуют командам-приемникам, а команды-приемники имеют ссылки на команды-источники только данного параграфа, причем указанные ссылки кодируют как числа, значения которых равны разнице между номерами команды-приемника и команды-источника, полученными при последовательной нумерации команд параграфа, а команды каждого параграфа распределяют между блоками памяти программ клеток таким образом, что в блоке памяти программ каждой клетки, начиная с одного и того же адреса, являющегося начальным адресом данного параграфа, последовательно размещаются команды этого параграфа с номерами i, N+i, 2∗N+i, …, где i - номер клетки, затем записывают команды каждого параграфа в блоки памяти программ любым из известных способов с использованием подсистемы ввода/вывода, устанавливают во всех клетках исходное состояние регистра адреса равным адресу первого исполняемого параграфа, в поле занятости строк буферного устройства записывают признак «свободно» и исполняют контекстно-зависимую программу, для чего устройства выборки команд всех клеток выбирают команду, размещенную в блоке памяти программ по адресу, содержащемуся в регистре адреса, затем записывают выбранную команду в регистр команд устройства управления, где ее декодируют, и, одновременно, если среди выбранных N команд не было отмеченных управляющим признаком «конец параграфа», формируют и записывают новое значение регистра адреса, равное адресу команды, следующей за выбранной, а если среди выбранных команд была команда, отмеченная управляющим признаком «конец параграфа» и адрес следующего выполняемого параграфа уже вычислен, то новое значение регистра адреса устанавливают равным адресу следующего выполняемого параграфа и после записи нового значения регистра адреса выборку команд повторяют, если же декодирование предыдущей команды не выполнено или среди выбранных команд была команда, отмеченная управляющим признаком «конец параграфа», а адрес следующего выполняемого параграфа на этот момент не вычислен, то выборку команд приостанавливают и возобновляют, соответственно, когда декодирование будет выполнено или будет вычислен адрес следующего выполняемого параграфа, при этом в устройстве управления при декодировании команды формируют очередное значение тега, определяют его занятость, присваивают декодируемой команде номер, определяют номера используемых команд-источников и формируют запросы первого и второго операндов на отбор по номерам команд-источников их результатов, формируют и передают в мультиклеточный процессор сигнал занятости клетки, где этот и аналогичные сигналы остальных клеток объединяют схемой ИЛИ и полученный общий сигнал занятости клеток передают устройствам управления всех клеток, выделяют код операции команды, формируют операнды, и если общий сигнал занятости клеток имеет состояние «нет», то сформированные запросы первого и второго операндов записывают в память запросов первого и второго операндов, соответственно, номер, присвоенный текущей декодированной команде передают в устройство внутренней рассылки, декодированную команду в виде набора полей записывают в свободную строку буферного устройства, причем в поле занятости строки записывают признак «занято», в поле кода операции строки записывают код операции, в поле номера записывают номер команды, в поле операнда, если значение операнда известно, записывают его значение, а в поле признака готовности операнда записывают признак «готов», иначе в поле адреса операнда записывают номер команды-источника, результат которой является операндом, а в поле признака готовности операнда записывают признак «не готов», если же общий сигнал занятости клеток имеет состояние «да», то запись не выполняют до перехода общего сигнала занятости клеток в состояние «нет», при этом коммутационным устройством после записи запросов первого и/или второго операндов осуществляют отбор поступающих результатов и передают отобранные результаты в качестве первого и/или второго операнда в буферное устройство, где их записывают в поля операндов строк, у которых номер команды-источника в поле адреса операнда совпадает с номером операнда, а в поле признака готовности данного операнда записывают признак «готов», и при этом одновременно контролируют готовность команд к исполнению, а именно, если в поле занятости строки находится признак «занято» и все признаки готовности операндов находятся в состоянии «готов», то команда готова к исполнению, и если сигнал занятости исполнительного устройства находится в состоянии «нет» и если нет готовых к исполнению команд, которые дольше находятся в буферном устройстве, то команду передают в исполнительное устройство, а в поле занятости строки этой команды записывают признак «свободно», в исполнительном устройстве команду выполняют, и если сигнал занятости устройства внутренней рассылки находится в состоянии «нет», ее полученный результат, содержащий номер и значение результата, посылают в это устройство, где анализируют возможность передачи полученного результата в коммутационные устройства или записи его в блоке задержки результатов, и если это возможно, то полученный результат передают в коммутационные устройства или записывают его в блоке задержки результатов, если это невозможно, то сигнал занятости устройства внутренней рассылки устанавливают в состоянии «да», в исполнительном устройстве также устанавливают сигнал занятости в состояние «да» и приостанавливают передачу результата в устройство внутренней рассылки, а в буферном устройстве приостанавливают передачу в исполнительное устройство готовых к исполнению команд, отличающийся тем, что в командах контекстно-зависимой программы выделяют поле задержки, в которое при кодировании команд записывают наибольшее значение ссылки на результат данной команды, устанавливают исходное состояние сигнала режима контроля очередности чтения/записи в состояние «контроль», сигнала очередности в состояние «чтение» и исполняют контекстно-зависимую программу, при этом в устройстве управления при декодировании команды формируют и выдают запрос занятости тега коммутационному устройству, в буферном устройстве формируют и выдают устройству управления сигнал готовности буферного устройства к записи декодируемой команды, имеющий два состояния «да» и «нет», указывающие на его готовность, анализируют коды операций команд, находящихся в буферном устройстве, и формируют сигналы наличия команд чтения, записи и формирования регистров, которые имеют два состояния «да» и «нет», указывающие на наличие или отсутствие соответствующих команд в буферном устройстве, и которые выдают в мультиклеточный процессор, где одноименные сигналы, полученные от всех клеток объединяют схемами ИЛИ и формируют, соответственно, общие сигналы наличия команд чтения, записи и формирования регистров, а также формируют сигнал очередности, имеющий два состояния «чтение» и «запись», указывающих на возможность выполнения соответствующих команд, и сигнал записи параграфа, имеющий два состояния «да» и «нет», указывающие на завершение записи всех команд текущего параграфа в буферное устройство, которые передают в устройства управления, причем если сигнал режима контроля очередности чтения/записи установлен в состояние «контроль» и сигнал записи параграфа имеет состояние «да», и если сигнал очередности имеет состояние «чтение» и общий сигнал наличия команд чтения имеет состояние «нет», а общий сигнал наличия команд записи имеет состояние «да», то сигнал очередности устанавливают в состояние «запись», если же сигнал очередности имеет состояние «запись», а общий сигнал наличия команд записи имеет состояние «нет», то сигнал очередности устанавливают в состояние «чтение», при этом во всех устройствах выбора коммутационного устройства проверяют выполнение запросов первого и второго операндов, тег которых равен значению тега в запросе занятости тега, а именно биты, соответствующие данному значению тега в памяти запросов первого операнда и памяти запросов второго операнда всех устройств выбора должны иметь состояние «нет», причем установка бита в это состояние должна выполняться при передаче соответствующего ему запрошенного операнда в буферное устройство, формируют по результатам проверки сигнал занятости тега, который также имеет два состояния «да» и «нет», указывающих на занятость тега, и передают его устройству управления, где формируют сигнал занятости клетки, имеющий два состояния «да» и «нет», указывающие на ее занятость, таким образом, что сигнал занятости i-той клетки, где i>0, имеет состояние «нет» всегда, если среди декодируемых команд в клетках с номерами меньше i есть команда с управляющим признаком «конец параграфа», во всех остальных случаях сигнал занятости клетки имеет состояние «да», если выполняется хотя бы одно из следующих условий, а именно если сигнал готовности команды имеет состояние «нет», или сигнал занятости тега имеет состояние «да», или сигнал готовности буферного устройства имеет состояние «нет», а также если в буферные устройства записаны все команды предыдущего параграфа, декодируемая команда прямо или косвенно использует какой-либо регистр в качестве операнда, и обобщенный сигнал наличия команд формирования регистров имеет состояние «да», если в буферные устройства записаны все команды предыдущего параграфа, сигнал режима контроля очередности чтения/записи установлен в состояние «контроль», декодируемая команда является командой чтения или записи, сигнал очередности имеет состояние «чтение» и общий сигнал наличия команд записи имеет состояние «да», если в буферные устройства записаны все команды предыдущего параграфа, сигнал режима контроля очередности чтения/записи установлен в состояние «контроль», декодируемая команда является командой записи, сигнал очередности имеет состояние «запись» и общий сигнал наличия команд записи имеет состояние «да», если же ни одно из этих условий не выполняется, сигнал занятости клетки имеет состояние «нет», и при этом поле задержки записывают в одноименном поле строки буферного устройства, одновременно, с записью в эту строку других полей данной декодированной команды, и если сигнал режима контроля очередности чтения/записи установлен в состояние «контроль» и сигнал очередности имеет состояние «чтение», блокируют выдачу на исполнение команд записи, а если сигнал очередности имеет состояние «запись», то блокируют выдачу на исполнение команд чтения, при этом исполняемые команды вместе с полем задержки выдают в исполнительное устройство и затем полученный результат, включающий поле задержки, номер и значение результата, передают в устройство внутренней рассылки, где, если разница номера текущей декодированной команды и номера результата меньше значения задержки, то полученный результат записывают в блоке задержки результатов, иначе полученный результат передают в блок доступа к коммутационной среде, где среди полученного результата и результата, поступившего от блока задержки результатов, выбирают любым известным способом наиболее приоритетный и передают его в коммутационные устройства, при этом результат, записанный в блоке задержки результатов, передают в блок доступа к коммутационной среде тогда, когда разница номера текущей декодированной команды и номера задержанного результата будет равна или больше значения задержки.

2. Мультиклеточный процессор для осуществления способа по п.1, включающий N идентичных клеток с номерами от 0 до n-1, N идентичных коммутационных устройств с номерами от 0 до n-1, образующих коммутационную среду, блок памяти данных, блок регистров общего назначения, подсистему ввода/вывода, блок мультиплексирования и первую схему ИЛИ, и при этом каждая клетка имеет вход первого операнда и вход второго операнда, каждый из которых включает по сигнальной линии готовности, сигнальным линиям номера и сигнальным линиям значения, вход сигнала занятости входа результата, вход общего адреса следующего параграфа, состоящий из сигнальной линии готовности и сигнальных линий адреса, вход общего сигнала занятости клеток, вход сигнала конца параграфа, вход общего сигнала конца параграфа, выходы запроса первого операнда и запроса второго операнда, состоящие из сигнальной линии готовности, сигнальных линий тега и сигнальных линий номера клетки каждый, выход результата, который включает сигнальную линию готовности, сигнальные линии тега и сигнальные линии значения, выход адреса следующего параграфа, состоящий из сигнальной линии готовности и сигнальных линий адреса, выход сигнала занятости клетки, выход сигнала конца параграфа, вход/выход доступа к регистрам и вход/выход доступа к данным, причем у клетки с номером 0 вход сигнала конца параграфа всегда находится в состоянии «нет», коммутационное устройство имеет N входов результатов, вход запроса первого операнда, вход запроса второго операнда, выход первого операнда, выход второго операнда и выход сигнала занятости входа результата, а блок памяти данных, подсистема ввода/вывода и блок регистров общего назначения имеют по N входов/выходов, блок мультиплексирования и первая схема ИЛИ имеют по N входов и одному выходу, причем выход результата i-той клетки соединен с i-тым входом результата коммутационного устройства, выход запроса первого операнда i-той клетки соединен с входом запроса первого операнда i-го коммутационного устройства, выход запроса второго операнда i-той клетки соединен с входом запроса второго операнда i-го коммутационного устройства, выход первого операнда i-го коммутационного устройства соединен с входом первого операнда i-той клетки, выход второго операнда i-го коммутационного устройства соединен с входом второго операнда i-той клетки, выход сигнала занятости входа результата i-го коммутационного устройства соединен с входом сигнала занятости входа результата i-той клетки, выход адреса следующего параграфа i-той клетки соединен с i-тым входом блока мультиплексирования, выход блока мультиплексирования соединен с входами общего сигнала конца параграфа всех клеток, выход сигнала занятости i-той клетки соединен с i-тым входом первой схемы ИЛИ, выход первой схемы ИЛИ соединен со всеми входами общего сигнала занятости клеток, выход сигнала конца параграфа i-той клетки, где i<(n-1), соединен с входом сигнала конца параграфа (i+1)-ой клетки, а выход сигнала конца параграфа (n-1)-ой клетки соединен с входами общего сигнала конца параграфа всех клеток, вход/выход доступа к регистрам i-той клетки является i-тым входом/выходом блока регистров общего назначения, вход/выход доступа к данным i-той клетки является i-тым входом/выходом блока памяти данных и подсистемы ввода/вывода, отличающийся тем, что дополнительно содержит вторую, третью и четвертую схемы ИЛИ, имеющих по N входов и одному выходу, блок формирования очередности чтения/записи, имеющий три входа и один выход, блок формирования сигнала записи параграфа, имеющий четыре входа и один выход, при этом клетка дополнительно имеет вход сигнала занятости тега, вход сигнала записи параграфа, вход общего сигнала наличия команд чтения, вход общего сигнала наличия команд записи, вход общего сигнала наличия команд формирования регистров, вход сигнала очередности, выход запроса занятости тега, который состоит из сигнальной линии готовности и сигнальных линий тега, выход сигнала наличия команд чтения, выход сигнала наличия команд записи, выход сигнала наличия команд формирования регистров, а коммутационное устройство дополнительно имеет вход запроса занятости тега и выход сигнала занятости тега, причем выход запроса занятости тега i-той клетки соединен с входом запроса занятости тега i-го коммутационного устройства, выход сигнала занятости тега i-го коммутационного устройства соединен с входом сигнала занятости тега i-той клетки, выход сигнала наличия команд чтения i-той клетки соединен с i-тым входом второй схемы ИЛИ, выход второй схемы ИЛИ соединен с входами общего сигнала наличия команд чтения всех клеток и со вторым входом блока формирования очередности чтения/записи, выход сигнала наличия команд записи i-той клетки соединен с i-тым входом третьей схемы ИЛИ, выход третьей схемы ИЛИ соединен с входами общего сигнала наличия команд записи всех клеток, с третьим входом блока формирования очередности чтения/записи и с третьим входом блока формирования сигнала записи параграфа, выход сигнала наличия команд формирования регистров i-той клетки соединен с i-тым входом четвертой схемы ИЛИ, выход четвертой схемы ИЛИ соединен с входами общего сигнала наличия команд формирования регистров всех клеток и с четвертым входом блока формирования сигнала записи параграфа, выход первой схемы ИЛИ дополнительно соединен со вторым входом блока формирования сигнала записи параграфа, а выход сигнала конца параграфа (n-1)-ой клетки дополнительно соединен с первым входом блока формирования сигнала записи параграфа, выход блока формирования сигнала записи параграфа соединен с входами сигнала записи параграфа всех клеток и с первым входом блока формирования очередности чтения/записи, а выход блока формирования очередности чтения/записи соединен с входами сигнала очередности всех клеток.

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

4. Коммутационное устройство мультиклеточного процессора по п.2, имеющее входы запроса первого операнда и запроса второго операнда, состоящие из сигнальной линии готовности, сигнальных линий тега и сигнальных линий номера клетки каждый, N входов результатов, каждый из которых включает сигнальную линию готовности, сигнальные линии тега и сигнальные линии значения, N выходов сигналов занятости входов результатов, выход первого операнда и выход второго операнда, каждый из которых включает сигнальную линию готовности и сигнальные линии данных, образованные сигнальными линиями номера и сигнальными линиями значения операнда, и состоящее из N идентичных устройств выбора, двух идентичных блоков передачи операндов и первой схемы ИЛИ, причем устройство выбора имеет вход готовности результата, вход тега, вход запроса первого операнда, вход запроса второго операнда, выход готовности первого операнда, выход готовности второго операнда, а блок передачи операндов имеет N входов операндов, каждый из которых включает сигнальную линию готовности и сигнальные линии данных, образованные сигнальными линиями тега, сигнальными линиями номера клетки и сигнальными линиями значения, N выходов сигналов «буфер полон» и выход операнда, а первая схема ИЛИ имеет 2∗N входов и один выход, причем сигнальная линия готовности i-го входа результата является входом готовности результата i-го устройства выбора, сигнальные линии тега i-го входа результата соединены с входом тега i-го устройства выбора и являются сигнальными линиями тега i-го входа операндов первого и второго блоков передачи операндов, сигнальные линии значения i-го входа результата являются сигнальными линиями значения i-го входа операндов первого и второго блоков передачи операндов, вход запроса первого операнда коммутационного устройства является входом запроса первого операнда устройства выбора, вход запроса второго операнда коммутационного устройства является входом запроса второго операнда устройства выбора, выход готовности первого операнда i-го устройства выбора соединен с сигнальной линией готовности i-го входа операндов первого блока передачи операндов, выход готовности второго операнда i-го устройства выбора соединен с сигнальной линией готовности i-го входа операндов второго блока передачи операндов, выход операнда первого блока передачи операндов и выход операнда второго блока передачи операндов являются, соответственно, выходом первого операнда и выходом второго операнда коммутационного устройства, и при этом устройство выбора состоит из регистра номера устройства выбора, двух компараторов, памяти запросов первого операнда и памяти запросов второго операнда, количество элементов памяти которых равно количеству значений тегов, а каждый элемент памяти обеспечивает возможность запоминания состояния запроса на операнды, а именно «да», если запрос установлен, и «нет», если запрос снят, причем как память запросов первого операнда, так и память запросов второго операнда имеет первый порт чтения, содержащий адресный вход, вход сигнала разрешения чтения и выход данных, два независимых порта записи, каждый из которых содержит адресный вход, вход сигнала разрешения записи и вход данных, который у первого порта записи имеет состояние «да», а у второго порта записи имеет состояние «нет», и при этом каждый компаратор обеспечивает сравнение поступающих данных на их равенство и имеет два входа данных, вход сигнала разрешения сравнения и выход сигнала сравнения, причем выход регистра номера i-го устройства выбора соединен с первым входом данных обоих компараторов этого устройства выбора и с сигнальными линиями номера клетки i-го входа операндов первого и второго блоков передачи операндов, сигнальные линии номера клетки входа запроса первого операнда соединены со вторым входом данных первого компаратора, сигнальные линии номера клетки входа запроса второго операнда соединены со вторым входом данных второго компаратора, сигнальная линия готовности входа запроса первого операнда соединена с входом сигнала разрешения сравнения первого компаратора, сигнальная линия готовности входа запроса второго операнда соединена с входом сигнала разрешения сравнения второго компаратора, выход сигнала сравнения первого компаратора соединен с входом сигнала разрешения записи первого порта записи памяти запросов первого операнда, выход сигнала сравнения второго компаратора соединен с входом сигнала разрешения записи первого порта записи памяти запросов второго операнда, сигнальные линии тега входа запроса первого операнда соединены с адресным входом первого порта записи памяти запросов первого операнда, сигнальные линии тега входа запроса второго операнда соединены с адресным входом первого порта записи памяти запросов второго операнда, сигнальная линия готовности входа результата соединена с входами сигнала разрешения чтения, а сигнальные линии тега входа результата соединены с адресными входами первых портов чтения как памяти запросов первого операнда, так и памяти запросов второго операнда, выход данных первого порта чтения памяти запросов первого операнда i-го устройства выбора соединен с сигнальной линией готовности i-го входа операндов первого блока передачи операндов, выход данных первого порта чтения памяти запросов второго операнда i-го устройства выбора соединен с сигнальной линией готовности i-го входа операндов второго блока передачи операндов, и при этом каждый блок передачи операндов включает N блоков буферной FIFO-памяти, блок арбитража и блок мультиплексирования, причем каждый блок буферной FIFO-памяти имеет вход данных, вход сигнала разрешения записи, выход данных, вход сигнала разрешения чтения, выход сигнала «буфер полон» и выход сигнала «буфер пуст», блок арбитража имеет N входов сигналов запроса, N выходов сигналов разрешения и осуществляет любым из известных способов, при поступлении нескольких запросов, выбор наиболее приоритетного с выдачей ему сигнала разрешения, а блок мультиплексирования имеет N входов данных, вход управления и выход операнда, включающий сигнальную линию готовности и сигнальные линии данных, причем у каждого блока передачи операндов сигнальные линии данных i-го входа операндов являются входом данных i-го блока буферной FIFO-памяти, сигнальная линия готовности i-го входа операндов является входом сигнала разрешения записи i-го блока буферной FIFO-памяти, выход сигнала «буфер пуст» i-го блока буферной FIFO-памяти соединен с i-тым входом сигналов запроса блока арбитража, i-тый выход сигналов разрешения блока арбитража соединен с входом сигнала разрешения чтения i-го блока буферной FIFO-памяти, выход данных i-го блока буферной FIFO-памяти соединен с i-тым входом данных блока мультиплексирования, выход операнда блока мультиплексирования является выходом операнда узла передачи операндов, выход сигнала «буфер полон» i-го блока буферной FIFO-памяти первого блока передачи операндов j-го коммутационного устройства соединен с (2∗j)-тым входом первой схемы ИЛИ i-го коммутационного устройства, выход сигнала «буфер полон» i-го блока буферной FIFO-памяти второго блока передачи операндов j-го коммутационного устройства соединен с (2∗j+1)-тым входом первой схемы ИЛИ i-го коммутационного устройства, отличающееся тем, что коммутационное устройство имеет вход запроса занятости тега, который состоит из сигнальной линии готовности и сигнальных линий тега и выход сигнала занятости тега, а также дополнительно включает вторую схему ИЛИ, которая имеет 2*N входов и один выход, а устройства выбора дополнительно включают третий и четвертый компараторы, которые обеспечивают сравнение поступающих данных на их равенство, и каждый из которых имеет два входа данных, вход сигнала разрешения сравнения и выход сигнала сравнения, а память запросов первого операнда и память запросов второго операнда имеют по второму порту чтения, содержащему вход сигнала разрешения чтения, адресный вход и выход данных, и при этом во всех устройствах выбора коммутационного устройства сигнал готовности выхода первого операнда соединен с входом сигнала разрешения сравнения третьего компаратора, выход сигнала сравнения третьего компаратора соединен с входом сигнала разрешения записи второго порта записи памяти запросов первого операнда, сигнальные линии тега выхода первого операнда соединены с адресным входом второго порта записи памяти запросов первого операнда, сигнальные линии номера клетки выхода первого операнда соединены со вторым входом данных третьего компаратора, сигнал готовности выхода второго операнда соединен с входом сигнала разрешения сравнения четвертого компаратора, выход сигнала сравнения четвертого компаратора соединен с входом сигнала разрешения записи второго порта записи памяти запросов второго операнда, сигнальные линии тега выхода второго операнда соединены с адресным входом второго порта записи памяти запросов второго операнда, сигнальные линии номера клетки выхода второго операнда соединены со вторым входом данных четвертого компаратора, выход регистра номера устройства выбора соединен с первыми входами третьего и четвертого компараторов, сигнальная линия признака готовности входа запроса занятости тега соединена с входами сигнала разрешения чтения вторых портов чтения памяти запросов первого операнда и памяти запросов второго операнда, сигнальные линии тега входа запроса занятости тега соединены с адресными входами вторых портов чтения памяти запросов первого операнда и памяти запросов второго операнда, выход данных второго порта чтения памяти запросов первого операнда i-го устройства выбора соединен с (2∗1)-тым входом второй схемы ИЛИ, выход данных второго порта чтения памяти запросов второго операнда i-го устройства выбора соединен с (2∗1+1)-тым входом второй схемы ИЛИ, выход второй схемы ИЛИ является выходом сигнала занятости тега.

5. Коммутационное устройство мультиклеточного процессора по п.4, отличающееся тем, что блок передачи операндов состоит из L узлов передачи операндов, где 2

показать больше
Спасибо! Мы перезвоним вам в ближайшее время!