Устройство для обмена данными двух процессоров через общую память

 

Изобретение относится к вычислительной технике. Цель изобретения - расширение области применения устройства. Устройство содержит блок оперативной памяти 1, блок памяти программ 2, мультиплексор адреса 3, блок приемо - передачи данных 4, двунаправленный шинный формирователь 5, элементы И 6, 7, 13, 14, три элемента задержки 8, 16, 17, мультиплексор управления 9, триггеры 10, 11, элемент НЕ 12, элемент ИЛИ 15. Действие микропрограммного автомата синхронизирует процесс доступа к блоку оперативной памяти 1 устройства от первого и второго процессоров таким образом, что блок оперативной памяти 1 устройства доступен второму процессору без задержек в любой требуемый момент времени, а первому процессору - только на период установки первого 10 и второго 11 триггеров микропрограммного автомата в состояние соответственно лог. 1 и лог. 0, причем этот период синхронизируется моментом начала выборки блока памяти программ 2 вторым процессором. Цикл работы микропрограммного автомата обеспечивает возможность подключения к устройству разнотипных процессоров с различными временными характеристиками по быстродействию. 6 ил.

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

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

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

Известно также устройство для сопряжения двух процессоров через общую память [2] содержащее блок оперативной памяти, мультиплексор адреса, первый шинный формирователь, триггер, второй шинный формирователь, мультиплексор управления и элемент НЕ. В указанном устройстве доступ к блоку оперативной памяти регламентируется асинхронным RS-триггером по мере поступления требований от того или иного процессоров на противофазные его входы. При поступлении требования на обмен данными с блоком оперативной памяти от одного из процессоров во время выполнения цикла обмена с этой же памятью другим процессором, первый процессор переводится в состояние ожидания завершения текущего цикла обмена данными другим процессором до тех пор, пока на его входе подтверждения запроса не появится сигнал логической "1".

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

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

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

Недостатком указанного устройства является жесткая зависимость временной диаграммы работы первого процессора от длительности сигнала выбора памяти программ второго процессора при обращении к блоку общей памяти устройства, в результате чего для сохранения нормального функционирования устройства в качестве первого процессора может быть использован только такой процессор, который с одной стороны при обращении к блоку общей памяти устройства в режиме считывания должен успеть завершить цикл считывания информации из памяти до момента снятия сигнала выбора памяти программ второго процессора (иначе считываемая первым процессором информация будет утеряна), а с другой стороны последующее обращение первого процессора к общей памяти устройства в режимах записи или считывания не должно появиться ранее момента снятия сигнала выбора памяти программ второго процессора, в течение действия которого уже было произведено обращение первого процессора к памяти программ устройства. Иными словами в качестве первого процессора к устройству может быть подключен такой микропроцессор, быстродействие которого не ниже и не выше пределов, определенных длительностью сигнала выбора памяти программ второго процессора. Микропроцессоры, не удовлетворяющие этим требованиям, не могут быть использованы для подключения к указанному устройству в качестве первого процессора. Например, при подключении к устройству в качестве второго процессора однокристальной микроЭВМ типа КР1816ВЕ31 (18031) при тактовой частоте 12 МГц длительность сигнала выбора памяти программ (PSEN) составляет 240 нс. При таких параметрах второго процессора к устройству в качестве первого процессора невозможно подключить, например, микропроцессор типа КР1810ВМ86 (18086), где время удержания сигнала считывания относительно установления сигнала подтверждения выбора на его соответствующем входе составляет до 540 нс. Это же относится, например, и к микропроцессору типа КР580ВМ80 (i8080), аналогичный временной параметр которого при номинальной тактовой частоте 2 МГц составляет 850 нс. И с другой стороны при подключении к такому устройству слишком быстрого микропроцессора, например типа i80286, время установления сигнала считывания которого относительно времени снятия им сигнала считывания при предыдущем обращении к памяти при тактовой частоте 16 МГц может составлять 80 нс, также будут наблюдаться сбои в работе устройства, связанные с возможным повторным обращением первого процессора к блоку общей памяти в течение времени действия одного цикла сигнала выбора памяти программ второго процессора.

Устройство для обмена данными двух процессоров через общую память, содержащее блок оперативной памяти, блок памяти программ, адресный вход и информационный выход которого являются входом и выходом устройства для соединения соответственно с адресным выходом и информационным входом/выходом первого процессора, а вход выбора является входом устройства для соединения с выходом "выбора памяти программ" первого процессора, мультиплексор адреса, первый и второй информационные входы которого являются входами устройства для соединения с адресными выходами соответственно первого и второго процессоров, выход мультиплексора адреса соединен с адресным входом блока оперативной памяти, блок приемо-передачи данных и двунаправленный шинный формирователь, первые информационные входы/выходы которых соединены с информационным входом/выходом блока оперативной памяти, а вторые информационные входы/выходы являются входами/выходами устройства для соединения с информационными входами/выходами второго и первого процессоров соответственно, входы разрешения передачи и разрешения приема блока приемо-передачи данных соединены соответственно с входами устройства для соединения с выходами управления чтением и управления записью второго процессора, два элемента И, первый элемент задержки, выход которого соединен с первым входом первого элемента И, мультиплексор управления, первый и второй входы первой группы информационных входов которого являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти и управления чтением второго процессора, третий вход первой группы информационных входов мультиплексора управления соединен с выходом первого элемента И, первый, второй и третий входы второй группы информационных входов мультиплексора управления являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти, управления чтением и управления записью первого процессора, первый, второй и третий информационные выходы мультиплексора управления соединены соответственно с входами выбора, управления чтением и управления записью блока оперативной памяти, первый триггер, синхровход которого соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора, управляющий вход и вход разрешения двунаправленного шинного формирователя соединены соответственно с входами устройства для соединения с выходами управления чтением и "выбора блока оперативной памяти" первого процессора, второй вход первого элемента И является входом устройства для соединения с выходом управления записью второго процессора, выход второго элемента И соединен с управляющими входами мультиплексоров адреса и управления, с входом первого элемента задержки и входом выбора блока приемо-передачи данных, второй триггер, элемент НЕ, третий и четвертый элементы И, элемент ИЛИ второй и третий элементы задержки, первые входы третьего и четвертого элементов И и вход второго элемента задержки соединены с входом устройства для соединения с выходом выбора блока оперативной памяти второго процессора, выход второго элемента задержки соединен с входом сброса первого триггера, вход элемента НЕ соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора, выход элемента НЕ соединен с вторым входом третьего элемента И, инверсный выход первого триггера соединен с вторым входом четвертого элемента И, выходы третьего и четвертого элементов И соединены соответственно с первым и вторым входами элемента ИЛИ, выход которого соединен с синхровходом второго триггера, прямой выход первого триггера соединен с первым входом второго элемента И, информационным входом второго триггера и входом третьего элемента задержки, выход которого является выходом устройства для соединения с входом "подтверждения выбора блока оперативной памяти" второго процессора, инверсный выход второго триггера соединен с вторым входом второго элемента И, информационный вход первого триггера соединен с входом логической "1" устройства, сохраняя максимальное быстродействие при обслуживании доступа к блоку оперативной памяти устройства от второго процессора, обеспечивает подключение к нему различных типов процессоров с любым различным быстродействием их временных диаграмм работы, значительно расширяя таким образом область применения устройства.

На фиг. 1 представлена структурная схема предлагаемого устройства; на фиг. 2 структурная схема блока приемо-передачи данных; на фиг. 3 и 4 временные диаграммы циклов обращения к блоку оперативной памяти устройства от второго процессора соответственно в режимах считывания и записи для случаев, когда к устройству в качестве второго процессора подключен микропроцессор с малым быстродействием; на фиг. 5 временная диаграмма обращения к блоку оперативной памяти устройства от второго процессора в режиме считывания для случая, когда к устройству в количестве второго процессора подключен быстродействующий микропроцессор; на фиг. 6 граф микропрограммного автомата части устройства, обеспечивающий процедуру предоставления доступа к блоку оперативной памяти устройства от второго процессора.

Устройство содержит блок оперативной памяти 1, блок памяти программ 2, мультиплексор адреса 3, блок приемо-передачи данных 4, двунаправленный шинный формирователь 5, первый 6 и второй 7 элементы И, первый элемент задержки 8, мультиплексор управления 9, первый 10 и второй 11 триггеры, элемент НЕ 12, третий 13 и четвертый 14 элементы И, элемент ИЛИ 15, второй 16 и третий 17 элементы задержки, причем адресный вход и информационный выход блока памяти программ 2 являются входом и выходом устройства для соединения соответственно с адресным выходом и информационным входом/выходом первого процессора 18, а вход выбора является входом устройства для соединения с выходом "выбора памяти программ" первого процессора 18, первый и второй информационные входы мультиплексора адреса 3 являются входами устройства для соединения с адресными выходами соответственно второго 19 и первого 18 процессоров, выход мультиплексора адреса 3 соединен с адресным входом блока оперативной памяти 1, первые информационные входы/выходы блока приемо-передачи данных 4 и двунаправленного шинного формирователя 5 соединены с информационным входом/выходом блока оперативной памяти 1, а вторые информационные входы/выходы их являются входами/выходами устройства для соединения с информационными входами/выходами второго 19 и первого 18 процессоров соответственно, входы разрешения передачи и разрешения приема блока приемо-передачи данных 4 соединены соответственно с входами устройства для соединения с выходами управления чтением и управления записью второго процессора 19, выход первого элемента задержки 8 соединен с первым входом первого элемента И 6, первый и второй информационные входы первой группы мультиплексора управления 9 являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти и управления чтением второго процессора 19, третий информационный вход первой группы мультиплексора управления 9 соединен с выходом первого элемента И 6, первый, второй и третий информационные входы второй группы мультиплексора управления 9 являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти, управления чтением и управления записью первого процессора 18, первый, второй и третий информационные выходы мультиплексора управления 9 соединены соответственно с входами выбора, управления чтением и управления записью блока оперативной памяти, синхровход первого триггера 10 соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора 18, управляющий вход и вход разрешения двунаправленного шинного формирователя 5 соединены соответственно с входами устройства для соединения с выходами управления чтением и выбора блока оперативной памяти первого процессора 18, второй вход первого элемента И 6 соединен с входом устройства для соединения с выходом управления записью второго процессора 19, выход второго элемента И 7 соединен с управляющими входами мультиплексоров адреса 3 и управления 9, с входом первого элемента задержки 8 и входом выбора блока приемо-передачи данных 4, первые входы третьего 13 и четвертого 14 элементов И и вход второго элемента задержки 16 соединены с входом устройства для соединения с выходом выбора блока оперативной памяти второго процессора 19, выход второго элемента задержки 16 соединен с входом сброса первого триггера 10, вход инвертора 12 соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора 18, выход инвертора 12 соединен с вторым входом третьего элемента И 13, инверсный выход первого триггера 10 соединен с вторым входом четвертого элемента И 14, выходы третьего 13 и четвертого 14 элементов И соединены соответственно с первым и вторым входами элемента ИЛИ 15, выход которого соединен с синхровходом второго триггера 11, прямой выход первого триггера 10 соединен с первым входом второго элемента И 7, информационным входом второго триггера 11 и входом третьего элемента задержки 17, выход которого является выходом устройства для соединения с входом подтверждения выбора блока оперативной памяти второго процессора 19, инверсный выход второго триггера 11 соединен с вторым входом второго элемента И 7, а на информационный вход первого триггера 10 подано напряжение, соответствующее уровню логической "1".

Блок приемо-передачи данных 4 (см. фиг. 2) содержит однонаправленный шинный формирователь 20, регистр-защелку 21, пятый 22 и шестой 23 элементы И, информационный выход однонаправленного шинного формирователя 20 соединен с информационным входом регистра/защелки 21 и является первым информационным входом/выходом блока приемо-передачи данных, информационный выход регистра/защелки 21 соединен с информационным входом однонаправленного шинного формирователя 20 и является вторым информационным входом/выходом блока приемо-передачи данных, первый вход шестого элемента И 23 и соединен с входом разрешения выдачи информации регистра-защелки 21 и является входом разрешения передачи блока приемо-передачи данных, первый вход пятого элемента И 22 является входом разрешения приема блока приемо-передачи данных, а выходы пятого 22 и шестого 23 элементов И соединены с входом разрешения однонаправленного шинного формирователя 20 и с входом разрешения приема информации регистра-защелки 21.

Устройство работает следующим образом.

При подаче электрического питания на схему и инициализации процессоров 18 и 19 сигналом сброса (не показан) на входах устройства для соединения с выходами выбора блока оперативной памяти, управления чтением и управления записью устанавливаются пассивные состояния сигналов уровня логического "0" с соответствующих выходов второго 19 и первого 18 процессоров. Первый триггер 10 сигналом лог. "0", поступающим на его вход сброса через второй элемент задержки 16 с выхода выбора блока оперативной памяти второго процессора 19 устанавливается в состояние лог. "0", а сигнал лог. "0" с выхода второго элемента И 7, на первом входе которого установлен сигнал лог. "0" с прямого выхода первого триггера 10, коммутирует мультиплексор адреса 3 на трансляцию сигналов с адресного выхода первого процессора 18 на адресный вход блока оперативной памяти 1, а мультиплексор управления 9 на трансляцию сигналов с выходов выбора блока оперативной памяти, управления чтением и управления записью первого процессора 18 на соответствующие входы блока оперативной памяти 1. Линии первого информационного входа/выхода блока приемо- передачи данных 4 установлены в отключенное состояние сигналом лог. "0", поступающим на его вход выбора с выхода второго элемента И 7, таким образом обеспечивая возможность беспрепятственного прохождения данных между информационным входом/выходом блока оперативной памяти 1 и первым информационным входом/выходом двунаправленного шинного формирователя 5.

При снятии сигнала сброса процессоры 18 и 19 запускаются на выполнение каждый своей программы, программа первого процессора 18 хранится в блоке памяти программ 2, программа второго процессора 19 хранится в блоке памяти программ второго процессора (не показан). При этом первый процессор 18 выставляет на своем адресном выходе адрес первой команды выполняемой им программы, затем он выставляет на своем выходе "выбора памяти программ" сигнал лог. "1", который, поступая на вход выбора блока памяти программ 2, инициализирует выборку последнего по адресу, установленному на его адресном входе с адресного выхода первого процессора 18, при этом двунаправленный шинный формирователь 5 заперт по входу выбора сигналом лог. "0", поступающим с выхода "выбора блока оперативной памяти" первого процессора 18. В результате на выходе блока памяти программ 2 появляется требуемая информация, которая беспрепятственно вводится первым процессором 18 через его информационный вход/выход. Далее по мере выполнения программы производятся последующие обращения первого процессора 18 к своему блоку памяти программ 2 по вышеописанной процедуре независимо от состояния остальных функциональных узлов устройства.

При необходимости обращения к блоку оперативной памяти 1 для обмена данными первый процессор 18 устанавливает на своем адресном выходе требуемый код адреса, затем устанавливает сигнал лог. "1" на своем выходе "выбора блока оперативной памяти" и далее сигнал лог. "1" на одном из своих выходов управления чтением или управления записью в зависимости от режима обращения, при этом выбирается двунаправленный шинный формирователь 5 по входу выбора, а на его управляющем входе, определяющем направление потока данных, устанавливается значение сигнала, которое имеет место на выходе управления чтением первого процессора 18. Например, при чтении блока оперативной памяти 1 на выходе управления чтением первого процессора 18, а следовательно, и на управляющем входе двунаправленного шинного формирователя 5 будет иметь место уровень лог. "1", что определяет направление потока информации через двунаправленный шинный формирователь 5 с информационного входа/выхода блока оперативной памяти 1 к информационному входу/выходу первого процессора 18. Так как мультиплексоры адреса 3 и управления 9 скоммутированы сигналом лог. "0" с выхода второго элемента И 7 на трансляцию сигналов адреса и управления с соответствующих выходов первого процессора 18 на соответствующие входы блока оперативной памяти 1, а первый информационный вход/выход блока приемо-передачи данных 4 отключен и обеспечивает беспрепятственное прохождение данных между информационным входом/выходом блока оперативной памяти 1 и первым информационным входом/выходом двунаправленного шинного формирователя 5, то первый процессор 18 беспрепятственно осуществляет обращение к блоку оперативной памяти 1 в режимах как чтения, так и записи, чем обеспечивается максимально возможное быстродействие доступа к блоку оперативной памяти 1 от первого процессора.

Процесс доступа к блоку оперативной памяти 1 устройства от второго процессора 19 иллюстрируется временными диаграммами на фиг. 3, 4 и 5. Для удобства рассмотрения временные диаграммы разграфлены вертикальными линиями (интервалами) через определенные промежутки времени. В исходном состоянии до начала обращения второго процессора 19 для обмена данными к блоку оперативной памяти 1 (интервал 0 на фиг. 3, 4 и 5) выходы выбора блока оперативной памяти, управления чтением и управления записью второго процессора 19 не активны и на них имеют место сигналы лог. "0", при этом первый триггер 10 установлен сигналом лог. "0" на его входе сброса в состояние лог. "0" и не реагирует на сигналы, поступающие на его синхровход, на выходе второго элемента И 7 имеет место сигнал лог. "0", на выходах третьего 13 и четвертого 14 элементов И, а следовательно, и на синхровходе второго триггера 11 имеет место сигнал лог. "0", состояние второго триггера 11 не определено и не влияет в данный момент на работоспособность устройства. Первый и второй информационные входы/выходы блока приемо-передачи данных 4 отключены сигналами лог. "0", поступающими соответственно на его вход выбора с выхода второго элемента И 7 и на его вход разрешения передачи с выхода управления чтением второго процессора 19.

При обращении к блоку оперативной памяти 1 для обмена данными второй процессор 19 устанавливает на своем адресном выходе значение адреса требуемой ячейки а на своем выходе выбора блока оперативной памяти сигнал лог. "1" (например, в интервале 2 на диаграмме фиг. 3 и в интервале 10 на диаграмме фиг. 4), затем второй процессор 19 устанавливает сигнал лог. "1" на своем выходе управления чтением при обращении к блоку оперативной памяти в режиме чтения (фиг. 3) или на своем выходе управления записью при обращении в режиме записи (фиг. 4). При обращении в режиме чтения, кроме того, второй процессор 19 сигналом лог. "1" со своего выхода управления чтением, подаваемым на вход разрешения передачи блока приемо-передачи данных 4, разрешает выдачу информации со второго информационного входа/выхода последнего на свой информационный вход/выход. Установление сигнала лог. "1" с выхода "выбора блока оперативной памяти" второго процессора 19 через временную задержку, определяемую вторым элементом задержки 16, на входе сброса первого триггера 10 разрешает в дальнейшем при поступлении на его синхровход положительного фронта сигнала переключение последнего в состояние, соответствующее уровню сигнала на его информационном входе. Кроме того, сигнал лог. "1" с выхода "выбора блока оперативной памяти" второго процессора 19 воздействует на первый вход четвертого элемента И 14, устанавливая сигнал лог. "1" на выходе последнего, который, в свою очередь, поступая на вход элемента ИЛИ 15, также переключает уровень сигнала на выходе последнего из состояния лог. "0" в состояние лог. "1". Таким образом, при поступлении на вход устройства для соединения с выходом "выбора блока оперативной памяти" второго процессора 19 сигнала лог. "1" независимо от момента его появления относительно сигнала на входе устройства для соединения с выходом выбора памяти программ первого процессора 18, на синхровходе второго триггера 11 с выхода элемента ИЛИ 15 имеет место переключение сигнала из состояния лог. "0" в состояние лог. "1", по фронту которого производится запись в указанный триггер состояния логического сигнала на его информационном входе, а именно уровня лог. "0" с прямого выхода первого триггера 10.

Затем при поступлении на синхровход первого триггера 10 положительного фронта логического сигнала с выхода выбора памяти программ первого процессора 18 (интервалы 11 на фиг. 3 и 4), первый триггер 10 устанавливается в состояние лог. "1", определенное на его информационном входе. При этом до появления положительного фронта сигнала на синхровходе первого триггера 10 на его входе сброса должен успеть установиться сигнал лог. "1" с выхода второго элемента задержки 16. В противном случае первый триггер 10 установился бы в состояние лог. "1" только при поступлении следующего положительного фронта сигнала на его синхровходе (т.е. в интервалах 21 на фиг. 3 и 4), однако в примерах на временных диаграммах фиг. 3 и 4 этого не произошло, так как сигнал лог. "1" на выходе выбора блока оперативной памяти второго процессора 19 установился раньше момента установки сигнала лог. "1" на выходе "выбора памяти программ" первого процессора 18 на время, превышающее время срабатывания второго элемента задержки 16. Таким образом обеспечивается задержка между моментом появления сигнала лог. "1" на входе устройства для соединения с выходом выбора блока оперативной памяти второго процессора 19 и установкой первого триггера 10 по его синхровходу в состояние лог. "1" не менее длительности, определяемой временем срабатывания второго элемента задержки 16, что гарантирует стабильную запись сигнала лог. "0" с прямого выхода первого триггера 10 во второй триггер 11 при установке сигнала лог. "1" на выходе выбора блока оперативной памяти второго процессора 19. Время срабатывания второго элемента задержки 16 для конкретного технического решения устройства выбирается исходя из паспортных временных характеристик четвертого элемента И 14, элемента ИЛИ 15 и триггеров 10 и 11 и составляет, например, для микросхем серии КР1533 20нс.

При установке первого триггера 10 в состояние лог. "1" с прямого выхода последнего на первом входе второго элемента И 7 установится сигнал лог. "1", а, так как на втором входе второго элемента И 7 к этому моменту уже установлен сигнал лог. "1", то на его выходе установится сигнал лог. "1". Этот сигнал, поступая на управляющие входы мультиплексоров адреса 3 и управления 9, переключает адресный вход и входы управления блока оперативной памяти 1 на управление от соответствующих входов второго процессора 19. В этот момент информационный вход/выход второго процессора 19 подключается к информационному входу/выходу блока оперативной памяти 1. Это происходит следующим образом. Если текущее обращение второго процессора 19 к блоку оперативной памяти 1 производится в режиме чтения (фиг. 3), то на выходе управления чтением второго процессора 19 имеет место сигнал лог. "1" и сигнал лог. "1" с выхода второго элемента И 7 передается через шестой элемент И 23 (фиг. 2) блока приемо-передачи данных 4 на вход разрешения приема регистра-защелки 21, а так как на входе управления записью последнего также имеет место сигнал лог. "1", то информация с выхода блока оперативной памяти 1 передается через регистр-защелку 21 на информационный вход/выход второго процессора 19 и через некоторое время, определяемое быстродействием блока оперативной памяти 1, начиная с момента начала выборки блока оперативной памяти 1 (см. интервал 12 на фиг. 3) на информационном входе/выходе второго процессора 19 устанавливается достоверная информация, выбранная по требуемому адресу из соответствующей ячейки блока оперативной памяти 1. Эта информация далее при установке на выходе второго элемента И 7, а следовательно, и на входе разрешения приема регистра-защелки 21, сигнала лог. "0" (см. интервал 16 на фиг. 3) сохраняется (защелкивается) в последнем и продолжает передаваться с его выхода на информационный вход/выход второго процессора 19 до момента снятия последним сигнала лог. "1" на своем выходе управления чтением (см. интервал 26 на фиг. 3).

Если текущее обращение второго процессора 19 для обмена данными к блоку оперативной памяти производится в режиме записи (фиг. 4), то на выходе управления записью последнего имеет место сигнал лог. "1" и сигнал лог. "1" с выхода второго элемента И 7 через пятый элемент И 22 (фиг. 2) блока приемо-передачи данных 4 устанавливается на входе разрешения однонаправленного шинного формирователя 20, тем самым разрешая передачу информации с информационного входа/выхода второго процессора 19 через однонаправленный шинный формирователь 20 на информационный вход/выход блока оперативной памяти 1. При этом первый элемент задержки 8 совместно с первым элементом И 6 задерживают появление сигнала лог. "1" на входе управления записью блока оперативной памяти 1 (см. интервал 12 на фиг. 4) с целью установления к моменту его появления на адресном и информационном входах блока оперативной памяти 1 достоверных данных. Время срабатывания первого элемента задержки 8 выбирается при конкретной реализации технического решения устройства, исходя из требований конкретного типа применяемых для реализации блока оперативной памяти 1 элементов памяти и составляет, например, для микросхем памяти типа КР537РУ17 15нс. Информация для записи держится на входах блока оперативной памяти 1 до момента установления сигнала лог. "0" на выходе второго элемента И 7 (см. интервал 16 на фиг. 4), по которому мультиплексор управления 9 подключит сигналы лог. "0 с выходов выбора блока оперативной памяти, управления чтением и управления записью первого процессора 18 на соответствующие входы управления блока оперативной памяти 1, или до момента снятия вторым процессором 19 сигналов лог. "1" на своих выходах управления записью и выбора блока оперативной памяти.

Цикл обращения к блоку оперативной памяти 1 от второго процессора 19 завершается при установке в состояние лог. "0" сигнала на выходе "выбора памяти программ" первого процессора 18, при этом этот сигнал, проходя через инвертор 12, третий элемент И 13 и элемент ИЛИ 15, поступает на синхровход второго триггера 11 и переводит последний в состояние лог. "1" (см. интервалы 16 на фиг. 3 и 4), в результате чего сигнал на выходе второго элемента И 7 устанавливается в состояние лог. "0", коммутируя тем самым мультиплексоры адреса 3 и управления 9 на обмен информацией между блоком оперативной памяти 1 и первым процессором 18 и отключая через пятый 22 и шестой 23 элементы И (см. фиг. 2) однонаправленный шинный формирователь 20 и регистр-защелку 21 от информационного входа/выхода блока оперативной памяти 1. Последующие же поступления на синхровход второго триггера 11 сигналов с выхода выбора памяти программ первого процессора 18 через инвертор 12, третий элемент И 13 и элемент ИЛИ 15 не влияют на состояние второго триггера 11, так как состояние его информационного входа не изменяется до момента снятия сигнала лог. "1" на выходе выбора блока оперативной памяти второго процессора 19.

Снятие активных сигналов лог. "1" на управляющих выходах второго процессора 19 производится следующим образом. В связи с тем, что после установки первого триггера 10 в состояние лог. "1" (см. интервалы 11 на фиг. 3 и 4) на входе подтверждения выбора блока оперативной памяти второго процессора 19 через задержку на третьем элементе задержки 17 появится сигнал лог. "1", второй процессор 19 завершает цикл обращения к блоку оперативной памяти 1 снятием сигналов лог. "1" на своих выходах выбора блока оперативной памяти и управления чтением или управления записью (см. интервал 26 на фиг. 2 и интервал 27 на фиг. 4), при этом первый триггер 10 через задержку на втором элементе задержки 16 устанавливается в состояние лог. "0", после чего цикл обращения к блоку оперативной памяти 1 от второго процессора полностью завершается. Время срабатывания третьего элемента задержки 17 выбирается исходя из баланса быстродействия конкретных элементов памяти, составляющих блок оперативной памяти 1 и быстродействия конкретных элементов вычислительной техники, составляющих второй процессор 19 и определяющих время удержания сигналов на выходах выбора блока оперативной памяти, управления чтением и управления записью второго процессора относительно момента установления сигнала лог. "1" на его входе "подтверждения выбора блока оперативной памяти". Например, при использовании в качестве блока оперативной памяти 1 микросхем памяти типа КР537РУ17, максимальное время выборки которых составляет 130 нс, а в качестве второго процессора микропроцессора типа КР1810ВМ86 с тактовой частотой 5 МГц, в качестве третьего элемента задержки 17 может быть выбран элемент с любым минимальным временем срабатывания, а при применении в качестве второго процессора микропроцессора типа 80286 с тактовой частотой 16 МГц, время срабатывания третьего элемента задержки 17 должно быть не менее 70 нс. При конкретной реализации технического решения устройства в качестве третьего элемента задержки 17 может быть использован элемент задержки как с фиксированным значением времени срабатывания, так и с программируемым, например, путем коммутации перемычек или любым другим известным способом значением времени срабатывания.

Работоспособность устройства при подключении к нему в качестве второго процессора 19 быстродействующего процессора, который способен в текущем цикле выборки памяти программ первого процессора 18 закончить одно и начать последующее обращение к блоку оперативной памяти 1 иллюстрируется на фиг. 5. Здесь процедура обращения к блоку оперативной памяти 1 от второго процессора 19 отличается от приведенных на фиг. 2 и 3 тем, что в интервале 14 второй процессор 19 снимает сигналы лог. "1" на своих выходах "выбора блока оперативной памяти" и управления чтением, а в интервале 15, когда еще не снят текущий сигнал лог. "1" на выходе "выбора памяти программ" первого процессора 18 осуществляет последующее обращение к блоку оперативной памяти 1, в котором снова устанавливает сигналы лог. "1" на своих выходах "выбора блока оперативной памяти" и управления чтением. При этом конфликта не происходит, а новый цикл обращения завершается при появлении последующего сигнала лог. "1" на выходе "выбора памяти программ" первого процессора 18.

Математическая модель функционирования части устройства, выполненного на элементах 7, 10-17 (см. фиг. 1) и обеспечивающего определенную последовательность работы устройства в процессе предоставления доступа к блоку оперативной памяти 1 от второго процессора 19 может быть представлена в виде конечного детерминированного инициального асинхронного полностью определенного автомата Мура (см. С.И. Баранов, Синтез микропрограммных автоматов, Ленинград: Энергия, 1979, с. 14-16, 21; В.А. Скляров, Синтез автоматов на матричных БИС, Минск: Наука и техника, 1984, стр. 9), представленного графом на фиг. 5. При описании графа приняты следующие обозначения: А0, А3 последовательность внутренних состояний автомата; Х1 сигнал на входе устройства для соединения с выходом выбора блока оперативной памяти второго процессора 19; Х11 сигнал на выходе второго элемента задержки 16; Х2 сигнал на входе устройства для соединения с выходом "выбора памяти программ" первого процессора 18; Q1, Q2 логические состояния соответственно первого 10 и второго 11 триггеров; Y логический сигнал на выходе второго элемента И 7.

По определению сигнал Х11 является производным от входного сигнала Х1 устройства и описывается выражением: X11(t) X1(t dt) (1), где t текущий момент времени; dt время срабатывания второго элемента задержки 16.

Исходным состоянием автомата является состояние А0, в которое последний устанавливается после подачи электрического питания и сигнала Сброс на схему, а также после завершения каждого цикла обращения к устройству от второго процессора 19. Этому состоянию соответствуют интервалы 0, 1, 27-29 на временной диаграмме фиг. 3, интервалы 0, 1, 28, 29 на диаграмме фиг. 4 интервалы 0, 1, 14, 24-29 на диаграмме фиг. 4. В этом состоянии первый триггер 10 установлен в состояние лог. "0" (Q), состояние второго триггера 11 не определено, а на выходе второго элемента И 7 имеет место сигнал лог. "0" (Y).

При появлении положительного фронта сигнала лог. "1" на выходе выбора блока оперативной памяти" второго процессора 19 (Х1) автомат переключается в состояние А1, которому соответствуют интервалы 2, 10 на временной диаграмме фиг. 3, интервал 10 на диаграмме фиг. 3, интервалы 2, 5, 15 на диаграмме фиг. 5. В этом состоянии первый 10 и второй 11 триггеры установлены в состояние лог. "0" (Q1, Q2), а на выходе второго элемента И 7 имеет место сигнал лог. "0" (Y).

При появлении на входе устройства для соединения с выходом "выбора памяти программ" первого процессора 18 положительного фронта сигнала Х2 при условии наличия в этот момент сигнала Х11 происходит переключение автомата в состояние А2, которому соответствуют интервалы 11, 15 на временных диаграммах фиг. 3 и 4, интервалы 11, 13 на диаграмме фиг. 5. В этом состоянии первый триггер 10 установлен в состояние лог. "1" (Q1), второй триггер 11 установлен в состояние лог. "0" (Q), а на выходе второго элемента И 7 имеет место сигнал лог. "1" (Y), в течение действия которого и осуществляется непосредственный доступ к блоку оперативной памяти 1 от второго процессора 19.

Из состояния А2 автомат в зависимости от временных соотношений сигналов Х1 и Х2 переходит в состояние А3 или А0. Если сигнал Х11 лог. "1" на выходе второго элемента задержки 16 продолжает удерживаться после появления сигнала Х2 лог. "0" на выходе выбора памяти программ первого процессора 18, то автомат перейдет в состояние А3, которому соответствуют интервалы 16, 26 временной диаграммы на фиг. 3 и интервалы 16, 27 диаграммы на фиг. 4. В этом состоянии первый 10 и второй 11 триггеры установлены в состояние лог. "1" (Q1, Q2), а на выходе второго элемента И 7 имеет место сигнал лог. "0" (Y).

Если же к устройству подключен быстродействующий процессор и сигнал Х11 лог. "0" на выходе второго элемента задержки 16 устанавливается раньше установления сигнала Х2 лог. "0" на выходе "выбора памяти программ" первого процессора 18, то автомат, минуя состояние А3, возвращается в исходное состояние А0. Этот случай описан на примере фиг. 5.

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

Формула изобретения

УСТРОЙСТВО ДЛЯ ОБМЕНА ДАННЫМИ ДВУХ ПРОЦЕССОРОВ ЧЕРЕЗ ОБЩУЮ ПАМЯТЬ, содержащее блок оперативной памяти, блок памяти программ, адресный вход и информационный выход которого являются входом и выходом устройства для соединения соответственно с адресным выходом и информационным входом-выходом первого процессора, а вход выбора является входом устройства для соединения с выходом выбора памяти программ первого процессора, мультиплексор адреса, первый и второй информационные входы которого являются входами устройства для соединения с адресными выходами соответственно первого и второго процессоров, выход мультиплексора адреса соединен с адресным входом блока оперативной памяти, блок приемопередачи данных и двунаправленный шинный формирователь, первые информационные входы-выходы которых соединены с информационным входом-выходом блока оперативной памяти, а вторые информационные входы-выходы являются входами-выходами устройства для соединения с информационными входами-выходами второго и первого процессоров соответственно, входы разрешения передачи и разрешения приема блока приемопередачи данных соединены соответственно с входами устройства для соединения с выходами управления чтением и управления записью второго процессора, два элемента И, первый элемент задержки, выход которого соединен с первым входом первого элемента И, мультиплексор управления, первый и второй входы первой группы информационных входов которого являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти и управления чтением второго процессора, третий вход первой группы информационных входов мультиплексора управления соединен с выходом первого элемента И, первый, второй и третий входы второй группы информационных входов мультиплексора управления являются входами устройства для соединения соответственно с выходами выбора блока оперативной памяти, управления чтением и управления записью первого процессора, первый, второй и третий информационные выходы мультиплексора управления соединены соответственно с входами выбора, управления чтением и управления записью блока оперативной памяти, первый триггер, синхровход которого соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора, управляющий вход и вход разрешения двунаправленного шинного формирователя соединены соответственно с входами устройства для соединения с выходами управления чтением и выбора блока оперативной памяти первого процессора, второй вход первого элемента И является входом устройства для соединения с выходом управления записью второго процессора, выход второго элемента И соединен с управляющими входами мультиплексоров адреса и управления, входом первого элемента задержки и входом выбора блока приемопередачи данных, отличающееся тем, что в него введены второй триггер, элемент НЕ, два элемента И, элемент ИЛИ и два элемента задержки, первые входы третьего и четвертого элементов И и вход второго элемента задержки соединены с входом устройства для соединения с выходом выбора блока оперативной памяти второго процессора, выход второго элемента задержки соединен с входом сброса первого триггера, вход элемента НЕ соединен с входом устройства для соединения с выходом выбора памяти программ первого процессора, выход элемента НЕ соединен с вторым входом третьего элемента И, инверсный выход первого триггера соединен с вторым входом четвертого элемента И, выходы третьего и четвертого элементов И соединены соответственно с первым и вторым входами элемента ИЛИ, выход которого соединен с синхровходом второго триггера, прямой выход первого триггера соединен с первым входом второго элемента И, информационным входом второго триггера и входом третьего элемента задержки, выход которого является выходом устройства для соединения с входом подтверждения выбора блока оперативной памяти второго процессора, инверсный выход второго триггера соединен с вторым входом второго элемента И, информационный вход первого триггера соединен с входом логической единицы устройства.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6



 

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

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

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

Изобретение относится к вычислительной технике, в частности к процессорам для ввода-вывода информации в ЭВМ

Изобретение относится к вычислительной технике и может быть использовано для управления выводом информации на цветной дисплей при сопряжении ЭВМ с дисплеем

Изобретение относится к информационно-вычислительной технике и предназначено для цифровой обработки изображений

Изобретение относится к вычислительной технике и может быть использовано для управления обменом сигналов при отпуске нефтепродуктов на автозаправочной станции

Изобретение относится к вычислительной технике и решает задачу снижения аппаратурных затрат при одновременном повышении помехоустойчиости

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

Изобретение относится к вычислительной технике и может быть использовано для построения устройств сопряжения ЭВМ с периферийными устройствами

Изобретение относится к компьютерной технике и представляет собой устройство для сопряжения персонального компьютера, в частности, совместимого с компьютерами ZX-Спектрум, с используемым в качестве монитора телевизионным приемником системы СЕКАМ

Изобретение относится к вычислительной технике и может быть использовано в многомашинных вычислительных системах с общей магистралью, в многомашинных системах управления связью

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

Изобретение относится к электросвязи и может быть использовано в автоматизированных системах управления технологическими процессам, телемеханике и локальных вычислительных сетях

Изобретение относится к электросвязи и может быть использовано в автоматизированных системах управления технологическими процессам, телемеханике и локальных вычислительных сетях

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

Изобретение относится к вычислительной технике и может быть использовано для организации межмашинного обмена в распределенных вычислительных комплексах и сетях ЭВМ

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

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