Активный аппаратный стек процессора

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

 

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

В общем случае стек (от англ. stack - стопка) - структура данных, представляющая из себя список элементов, организованных по принципу LIFO (англ. Last In - First Out, «последним пришел - первым вышел»).

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

Отметим также, что архитектура RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд) является основой современных высокопроизводительных микропроцессоров и микроконтроллеров.

Основными требованиями архитектуры RISC являются:

1. Любая операция должна выполняться за один такт.

2. Система команд должна содержать минимальное количество наиболее часто используемых команд одинаковой длины.

3. Операции обработки данных реализуются только в формате регистр-регистр. Обмен между регистрами и памятью выполняется только командами загрузки-записи.

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

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

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

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

Рассмотрим, как эта операция реализуется в конструкции характерных представителей семейств микропроцессоров и микроконтроллеров.

Известен микроконтроллер семейства TMS 1000 (pat. US 3988604, pat. US 4024386). Упрощенная блок-схема этого микроконтроллера представлена в его техническом описании (TMS 1000 Series Data Manual, The Engineering Staff of TEXAS INSTRUMENTS INCORPORATED Semiconductor Group).

В микроконтроллерах этого семейства эффективный адрес при обращении к постоянному запоминающему устройству (ПЗУ) программ (ROM) образуется подачей на его адресные входы текущего содержимого программного счетчика (PROGRAM COUNTER) и содержимого регистра адреса страницы (PAGE ADDRESS REGISTER). Такое разделение обусловлено ограниченностью аппаратных ресурсов микроконтроллера.

При выполнении операции вызова подпрограммы (CALL) текущее состояние программного счетчика сохраняется в регистре возврата из подпрограммы (SUBROUTINE RETURN REGISTER), а содержимое регистра адреса страницы записывается в регистр буфера страницы (PAGE BUFFER REGISTER). После этого в программный счетчик и регистр адреса страницы записывается эффективный адрес перехода к вызываемой подпрограмме из ПЗУ программ, и выполнение операций продолжается с адреса, содержащегося в программном счетчике и регистре адреса страницы.

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

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

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

Известен процессор семейства ЭВМ PDP (Programmed Data Processor) американской корпорации Digital Equipment Corporation (DEC). В конструкции PDP-8 было найдено элегантное, хотя и несколько необычное, решение: адрес возврата из подпрограммы сохранялся в самой подпрограмме по адресу ее вызова, а выполнение подпрограммы начиналось со следующего адреса.

При выполнении PDP-8 операции вызова подпрограммы по адресу Y (JMS Y) текущее состояние программного счетчика процессора сохраняется по этому адресу - Y, а значение Y+1 заносится в программный счетчик, после чего выполнение операций подпрограммы продолжается с адреса Y+1, содержащегося в программном счетчике до инструкции возврата из подпрограммы (JMPIY). Выполнение этой операции предполагает загрузку PC значением из ячейки памяти с адресом Y, а, следовательно, и возврат управления к месту вызова подпрограммы (PROGRAMMED DATA PROCESSOR-8 USERS HANDBOOK. DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASSACHUSETTS, p.23).

Согласно приведенной в техническом описании блок-схеме PDP-8 (PDP-8 A HIGH SPEED DIGITAL COMPUTER. DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASSACHUSETTS, p.8), в процессе выполнения операции вызова подпрограммы по адресу Y в регистр адреса памяти (MEMORY ADDRESS REGISTER) записывается адрес перехода Y из буферного регистра памяти (MEMORY BUFFER REGISTER) по сигналам генератора основных состояний (MAJOR STATE GENERATOR), управляемого кодом инструкции JMS Y из регистра инструкции (INSTRUCTION REGISTER).

После этого содержимое программного счетчика (PROGRAM COUNTER) через буферный регистр памяти (MEMORY BUFFER REGISTER) заносится в оперативную память (4096-WORD CORE MEMORY) по адресу Y в регистре адреса памяти, а содержимое регистра адреса памяти, содержащее значение адреса перехода Y, переписывается в программный счетчик и инкрементируется. Таким образом начинается выполнение операций подпрограммы с адреса Y+1, содержащегося в программном счетчике.

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

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

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

Наиболее близким по технической сущности к заявляемому изобретению, принятым за прототип, является микроконтроллер серии PIC18 фирмы Microchip, который содержит 31-уровневый (в общем случае - N-уровневый) аппаратный стек (31-Level Stack), представленный в виде блок-схемы в фирменном техническом описании (Microchip PIC18(L)F1XK22 Data Sheet, 20-Pin Flash Microcontrollers with nanoWatt XLP Technology. © 2009-2011 Microchip Technology Incorporated. DS41365E - page 10).

В конкретном аппаратном исполнении микроконтроллера Microchip PIC18(L)F1XK22 стек адресов возврата (Return Address Stack) представляет собой отдельную дополнительную область памяти, содержащую 31 регистр (31-Level Stack), и организованную по магазинному типу, причем регистр (ячейка стека), в который производится запись, или из которого производится чтение, определяется специальным указателем стека (Stack Pointer - STKPTR) с логикой управления стеком.

Область стека микроконтроллера PIC18(L)F1XK224 не принадлежит ни к программной области, ни к области данных. Текущее значение программного счетчика (Program Counter - PC) пересылается в стек, когда выполняется команда вызова подпрограммы (CALL) или производится обработка прерывания, при этом указатель стека увеличивается на единицу и указывает на ячейку стека, в которую заносится содержимое PC. В программный счетчик же заносится начальный адрес выполняемой процедуры обработки прерывания или подпрограммы. При выполнении процедуры возврата из подпрограммы (команды RETLW, RETFIE или RETURN), в программный счетчик загружается содержимое текущей ячейки стека, а указатель стека уменьшается на единицу.

Тридцатиодноуровневый аппаратный стек микроконтроллера Microchip PIC18(L)F1XK224 обеспечивает глубину вложений вызовов подпрограмм до 31 с последующим корректным возвратом. При переполнении ограниченного аппаратного стека указатель стека снова указывает на исходную ячейку, и микроконтроллер начнет запись в стек «по кольцу», стирая предыдущее содержимое стека. При извлечении может наблюдаться аналогичный процесс: читается содержимое «дна» стека, а указатель перескакивает на самый верх.

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

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

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

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

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

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

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

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

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

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

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

Заявляемое техническое решение отличается от прототипа наличием новых блоков - N идентичных программных счетчиков, их связями с остальными элементами схемы. Эти отличия позволяют сделать вывод о соответствии заявляемого решения критерию "новизна".

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

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

На чертеже приняты следующие обозначения:

- IDCU - Instruction Decode and Control Unit - устройство управления и синхронизации, обычно выполняемое аппаратно на основе программируемой логической матрицы (PLM);

- SP - Stack Pointer - указатель стека, аппаратно представляющий собой двоичный счетчик (CT) со входом установки в начальное состояние (R) по сигналу сброса, способный выполнять операции инкремента (+1) и декремента (-1), с логикой управления стеком, аппаратно представляющей собой дешифратор (DC) позиционного типа;

- PC FILE - Program Counter File - организованный по магазинному типу файл N+1 программных счетчиков (PC 0, PC 1, … PC N+1); аппаратно представляющих собой двоичные счетчики (CT) с параллельной загрузкой по управляющему сигналу разрешения параллельной записи (PE), имеющих и способных выполнять операции инкремента (+1), а счетчик PC 0 обладает также входом установки в начальное состояние (R) по сигналу сброса;

- IR - Instruction Register - регистр команд (инструкций), аппаратно выполненный на основе регистра (RG) с параллельной загрузкой по стробирующему сигналу (C);

- ADDR BUFF - Address Buffer - буфер адреса, аппаратно выполненный на основе регистра (RG) с параллельной загрузкой по стробирующему сигналу (C) и тристабильным выходным каскадом, управляемым по входу разрешения выходного сигнала (OE);

- MEMORY - память, или запоминающее устройство с тристабильным двунаправленным каскадом вывода данных (DATA), в общем случае - MEM, поскольку может быть выполнено как на основе интегральных схем с произвольным доступом (RAM), так и - только для чтения (ROM);

- ADDR - адресные линии;

- BADDR - буферированные адресные линии;

- DATA BUS - шина данных, тристабильная и двунаправленная;

- INSTRUCTION CODE - код операции (инструкция);

- ALU - Arithmetic-Logical Unit - арифметико-логическое устройство (АЛУ);

Устройство управления и синхронизации - IDCU осуществляет генерацию управляющих сигналов согласно поступающему на его входы коду операции (INSTRUCTION CODE) для всех внутренних узлов процессора, но на чертеже (фиг.1) показаны только те из сигналов, которые относятся к работе активного аппаратного стека процессора и основных взаимодействующих с ним узлов:

- RES IN - Reset Input - вход внешнего сигнала начальной инициализации процессора;

- CLK IN - Clock Input - вход внешнего тактового сигнала;

- RES PC - Reset Program Counter - сигнал установки программного счетчика в исходное состояние;

- INC PC - Increment Program Counter - сигнал увеличения программного счетчика на единицу;

- LD ADDR - Load Address - сигнал параллельной загрузки адреса перехода в программный счетчик;

- STB ADDR - Strobe Address - сигнал (строб) записи эффективного адреса в буфер адреса;

- EN ADDR - Enable Address - сигнал разрешения выдачи эффективного адреса на адресные входы запоминающего устройства (памяти);

- MEM WR - Memory Write - сигнал разрешения записи в память;

- MEM RD - Memory Read - сигнал разрешения чтения из памяти;

- INC SP - Increment Stack Pointer - сигнал увеличения указателя стека на единицу;

- DEC SP - Decrement Stack Pointer - сигнал уменьшения указателя стека на единицу;

- RES SP - Reset Stack Pointer - сигнал установки указателя стека в исходное состояние;

- STB INSTR - Strobe Instruction - сигнал (строб) записи кода операции (инструкции) в регистр команд;

- INT IN - Interrupt Input - вход сигнала прерывания от внешнего источника прерывания.

Согласно представленной на фиг.1 схеме, указатель стека SP своими входами начальной установки R, инкремента +1 и декремента -1 подключен к устройству управления и синхронизации IDCU по управляющим линиям RES SP, INC SP и DEC SP соответственно. Выходы логики управления стеком 0÷N указателя стека SP, осуществляющие выбор активного программного счетчика, подсоединены ко входам активизации CS (Cheap Select) программных счетчиков PC 0, PC 1, … PC N (всего N+1). Одноименные входы инкремента +1, как и входы разрешения параллельной загрузки РЕ (Parallel Enable) программных счетчиков объединены и подключены соответственно к управляющим выходам INC PC и LD ADDR устройства управления и синхронизации IDCU. В каждый отдельный момент времени эти сигналы могут быть активны лишь для одного из программных счетчиков, выбранного в этот момент времени логикой управления стеком указателя стека SP. Программный счетчик PC 0 соединен своим входом начальной установки R с управляющим выходом RES PC устройства управления и синхронизации IDCU, что позволяет инициаллизировать его значением стартового адреса при включении процессора или по сигналу аппаратного сброса RESET. Выходы программных счетчиков PC 0, PC 1, … PC N с тристабильными выходными каскадом соединены поразрядно вместе и подключены к адресным входам ADDR буфера адреса ADDR BUFF, причем в каждый отдельный момент времени на выходах активны сигналы только одного из счетчиков, выбранного указателем стека SP посредством логики управления стеком. Буфер адреса ADDR BUFF соединен по входу стробирующего сигнала C и входу разрешения выходного сигнала ОЕ с устройством управления и синхронизации IDCU, управляющие линии STB ADDR и EN ADDR которого соответственно осуществляют запись в буфер эффективного адреса с выхода активного программного счетчика и разрешают выдачу этого адреса с выходов BADDR буфера на адресные входы ADDR запоминающего устройства MEMORY, к которым выходные линии буфера адреса подсоединены. Входы разрешения записи в память WE (Write Enable) и разрешения выдачи данных OE (Output Enable) запоминающего устройства MEMORY соединены с выходами MEM WR и MEM RD устройства управления и синхронизации IDCU, что позволяет последнему разрешать выдачу данных из памяти MEMORY на двунаправленную и тристабильную шину данных DATA BUS по выходам DATA, или же записывать в память значение с шины через эти же выводы, но выполняющие уже функцию входов.

Через двунаправленную и тристабильную шину данных DATA BUS с выводами DATA запоминающего устройства MEMORY соединяются входы INSTRIN регистра команд IR, в котором по активному сигналу на стробирующем входе C, соединеном с управляющим выходом STB INSTR устройства управления и синхронизации IDCU, и фиксируется поступивший из памяти код операции. С выходов INSTR регистра команд IR, подключенных к устройству управления и синхронизации IDCU, на последнее подается текущий код операции (INSTRUCTION CODE), согласно которому IDCU осуществляет генерацию управляющих сигналов для всех внутренних узлов процессора.

К двунаправленной и тристабильной шине данных DATA BUS подключены также и входы ADDR программных счетчиков PC 0, PC 1, … PC N, соединенные поразрядно вместе, что позволяет осуществить по управляющему сигналу LD ADDR устройства управления и синхронизации IDCU запись адреса передачи управления в случае безусловного перехода, вызова подпрограммы или возникновения прерывания с шины данных в программный счетчик, выбранный по входу CS в качестве активного в данный момент логикой управления стеком указателя стека SP.

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

На входы устройства управления и синхронизации IDCU - RES IN, INT IN и CLK IN поступают соответственно внешние сигналы начальной инициализации (сброса) процессора RESET, аппаратного прерывания INT и последовательность тактовых импульсов CLK, осуществляющая синхронизацию всего процессорного устройства.

Активный аппаратный стек процессора работает следующим образом.

При включении напряжения питания или принудительной начальной инициализации процессора на вход RES IN устройства управления и синхронизации IDCU поступает активный уровень внешнего сигнала начальной инициализации RESET, а на вход тактирования CLK IN-последовательность внешних тактовых импульсов CLK. За время действия сигнала RESET синхронно с тактовыми импульсами CLK происходит установка в начальное состояние указателя стека SP активным сигналом RES SP по входу начальной установки R, в результате чего на выходе 0 логики управления стеком появляется активный уровень, который в свою очередь по входу CS переводит в активное состояние программный счетчик PC 0. В этот же момент времени устройство управления и синхронизации IDCU, активным сигналом RES PC инициализирует программный счетчик PC 0 начальным значением адреса инструкции по его входу начальной установки R.

По завершению сигнала RESET, процессор синхронно с тактовыми импульсами CLK переходит к выполнению процедуры выборки из памяти кода операции (FETCH). При этом установленный в активном программном счетчике PC 0 начальный адрес (обычно - это 0) переписывается по адресным входам ADDR в буфер адреса ADDR BUFF синхронно с активным сигналом STB ADDR, подаваемым IDCU на вход С буфера адреса, при этом на управляющем входе EN ADDR последнего устройство управления и синхронизации устанавливает разрешающий уровень, в результате чего значение адреса с выходов BADDR буфера поступает на адресные входы ADDR запоминающего устройства MEMORY.

По сигналу INC PC, поданному устройством управления и синхронизации на входы инкремента +1 программных счетчиков, на выходе активного счетчика PC 0 установится следующее значение адреса - на единицу большее, которое и будет передано на адресные входы ADDR запоминающего устройства MEMORY во время последующей процедуры FETCH.

По сигналу MEM RD от устройства управления и синхронизации IDCU, поступающему на вход разрешения выдачи данных OE запоминающего устройства, содержимое ячейки по адресу 0 поступает на шину данных DATA BUS и фиксируется в регистре команд IR активным сигналом STB INSTR, поданным IDCU на стробирующий вход С регистра.

На этом процедура выборки из памяти кода операции заканчивается, а текущий код операции (INSTRUCTION CODE), поданный с выходов INSTR регистра команд IR на входы устройства управления и синхронизации IDCU, будет определять последовательность управляющих сигналов IDCU, организующих согласованную совместную работу внутренних узлов процессора синхронно с тактовыми импульсами CLK в следующей фазе исполнения инструкции.

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

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

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

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

В случае выполнения инструкции вызова подпрограммы по фронту импульса С1 устройство управления и синхронизации IDCU подает активный сигнал STB ADDR на вход С буфера адреса, чем фиксирует в нем текущий адрес инструкции с выходов активного программного счетчика. Одновременно IDCU переводит в активное состояние свои управляющие линии EN ADDR и MEM RD, которые разрешают буферу адреса ADDR BUFF выдать адрес инструкции на входы ADDR запоминающего устройства MEMORY, а запоминающему устройству - выдать содержимое ячейки по указанному адресу на шину данных DATA BUS. К концу импульса С1 значение кода операции на линиях шины данных можно считать установившимся, поэтому по спаду С1 устройство управления и синхронизации подает активный сигнал STB INSTR на стробирующий вход С регистра команд IR, тем самым "защелкивая" в нем текущую инструкцию (INSTRUCTION CODE), код которой по линиям выходов INSTR регистра будет удерживаться на входах IDCU в фазе выполнения инструкции. Одновременно с этим устройство управления и синхронизации подает активный сигнал INC PC на входы инкремента+1 программных счетчиков, в результате чего на выходе активного в данный момент программного счетчика, активизированного по входу CS логикой управления стеком, появится адрес следующей инструкции программы.

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

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

Итак, в обоих рассматриваевымых случаях на момент фронта импульса С2, определяющего начало второй половины такта 77 сигнала CLK, на шине данных DATA BUS присутствует установившееся значение адреса подпрограммы. По фронту С2 устройством управления и синхронизации IDCU подается активный сигнал INC SP на вход инкремента +1 указатель стека SP, в результате чего его содержимое увеличивается на единицу, и логика управления стеком своим выходом i+1 активизирует по входу CS следующий программный счетчик PC i+1, а текущий программный счетчик PC i переходит в неактивное состояние, сохраняя при этом свое значение, которое и является адресом возврата из вызываемой подпрограммы. По спаду импульса С2 в активный программный счетчик PC i+1 записывается значение адреса подпрограммы с шины данных DATA BUS управляющим сигналом LDADDR, подаваемым устройством управления и синхронизации на входы разрешения параллельной загрузки РЕ программных счетчиков. Таким образом, следующая операция выборки из памяти кода операции будет производиться из ячейки памяти с адресом, записанным в активный программный счетчик PC i+1, что, собственно, и представляет собой передачу управления на адрес подпрограммы или процедуры обслуживания прерывания. Как видно из приведенного выше алгоритма, эти операции выполняются процессором, имеющим в своем составе заявляемый активный аппаратный стек, строго за один такт.

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

Процедура выборки из памяти кода операции в этом случае особенностей по сравнению с алгоритмом, описанным выше, не имеет, а на этапе осуществления перехода к вызываемой процедуре последовательность микроопераций будет иная. По фронту импульса С2 устройством управления и синхронизации IDCU будет подан активный сигнал INC SP на вход инкремента +1 указатель стека SP, в результате чего его содержимое увеличивается на единицу, а логика управления стеком своим выходом i+1 активизирует по входу CS очередной регистр стека. По спаду С2 в этот регистр будет записано содержимое программного счетчика активным сигналом от устройства управления и синхронизации. Для записи в программный счетчик адреса перехода к подпрограмме с шины данных DATA BUS требуется следующий импульс С1, по которому уже должно начаться выполнение процедуры выборки из памяти кода следующей операции. Следовательно, устройство управления и синхронизации должно блокировать эту последовательность микрокоманд на следующий такт, что приводит к усложнению его структуры для выполнения операций за разное число тактов.

С учетом того, что для выполнения операции вызова подпрограммы или обслуживания прерывания процесору, имеющему в своем составе заявляемый активный аппаратный стек, достаточно состояний, обеспечиваемых импульсами С1 и С2 на длительности такта Ti сигнала CLK, а процессору с традиционным стеком требуется и следующий импульс С1, то очевидно, что, строго говоря, эти операции выполняются процесором с заявляемым решением, на 33% быстрее. Но с учетом того, что операция не может быть закончена в середине тактового импульса, то процессор с традиционным стеком выполняет операцию вызова подпрограммы или обслуживания прерывания за два такта Ti и Ti+1 сигнала CLK. Следовательно, повышение быстродействия процесора с заявляемым решением при выполнении подобных операции достигает 50%, поскольку он выполняет их за один такт, что упрощает схемотехнически конструкцию устройства управления и синхронизации.

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

Процедура выборки из памяти кода операции в этом случае также не имеет особенностей по сравнению с алгоритмом, описанным выше, а на этапе осуществления возврата из вызываемой процедуры последовательность микроопераций, выполняемая процесором с заявляемым решением, будет следующей. По фронту импульса С2 устройством управления и синхронизации IDCU будет подан активный сигнал DEC SP на вход декремента -1 указателя стека SP. В результате чего его содержимое уменьшится на единицу, и если до этого был активным программный счетчик PC i+1, то логика управления стеком активизирует по входу CS своим выходом i программный счетчик PC i, сохранявший до этого момента свое состояние, которое и является адресом возврата из вызываемой подпрограммы. Таким образом, собственно, осуществляется возврат управления из подпрограммы или процедуры обслуживания прерывания в точку их вызова, и эта операция выполняются процессором, имеющим в своем составе заявляемый активный аппаратный стек, строго за один такт.

Для сравнения процессор с традиционным стеком выполняет операцию вызова подпрограммы или обслуживания прерывания следующим образом: по фронту импульса С2 устройством управления и синхронизации IDCU будет подан активный сигнал разрешения выхода регистру стека, выбранного указателем стека SP, в результате чего его содержимое - значение адреса возврата - за время, равное длительности импульса С2, примет на входах программного счетчика установившееся значение, и по спаду С2 активным управляющим сигналом LD ADDR, подаваемым устройством управления и синхронизации на входы разрешения параллельной загрузки РЕ программного счетчика, будет записано в последний. По фронту С1 следующего такта устройство управления и синхронизации должно снять активный сигнал разрешения выхода регистра стека и подать активный сигнал DEC SP на вход декремента -1 указателя стека SP.

Очевидно, что процессор с традиционным стеком выполняет операцию возврата из подпрограммы или процедуры обслуживания прерывания за два такта Ti и Ti+1 сигнала CLK, а процесор с заявляемым решением - за один такт. Следовательно, его быстродействие при выполнении подобных операций на 50% выше процессора с традиционным стеком, при сохранении схемотехнической простоты устройства управления и синхронизации.

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

Заявляемое решение - активный аппаратный стек - позволяет повысить быстродействие процессора на 30-50% при выполнении операций вызова подпрограмм или обслуживания прерывания, а также возврата из них, в силу уменьшения количества тактов, необходимых для аппаратной реализации таких операций.

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



 

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

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

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

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

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

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

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

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

Изобретение относится к системе и способу передачи данных и кабелю передачи данных, с помощью которых можно выполнять передачу данных с высокой скоростью при поддержании совместимости с интерфейсом передачи данных, например мультимедийный интерфейс высокой четкости HDMI (МИВЧ).

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

Изобретение относится к области функционирования многочисленных операционных систем (OS) в мобильном терминале связи с несколькими модемами. Техническим результатом является объединение различных специфических интерфейсов пользователя для различных провайдеров сети в едином интерфейсе. Устройство содержит множество модемов и модуль мультиплексора/демультиплексора (MUX/DEMUX). Модемы поддерживают доступ к различным беспроводным сетям. Модуль MUX/DEMUX принимает данные соответствующей беспроводной сети от модемов, ищет операционные системы, соответствующие модемам, со ссылкой на таблицу отображения модем-OS и предоставляет данные соответствующих модемов искомым операционным системам. 3 н. и 11 з.п. ф-лы, 4 ил.

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

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

Изобретение относится к медицинской технике. Технический результат заключается в повышении точности соотнесения данных идентификации пациентов. Браслетное радиомаячное устройство (10) содержит ремешок (16) из гибкого материала, который содержит, во вставленном или прикрепленном состоянии, слой (22) для записи, содержащий читаемую человеком информацию для идентификации пациента, гибкий источник (26) питания и слой (24) гибкой печатной схемы. Слой гибкой печатной схемы содержит память (40) для сохранения, по меньшей мере, информации для идентификации пациента и передатчик (42) сопряженной с телом системы связи для передачи информации для идентификации пациента пациентом, с использованием протокола сопряженной с телом системы связи. 3 н. и 13 з.п. ф-лы, 4 ил.

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

Изобретение относится к системам реализации функции членства в нескольких группах многоадресной передачи различных провайдеров услуг. Технический результат заключается в обеспечении контента многоадресной передачи в сетях с открытым доступом несколькими провайдерами услуг, в которых для передачи видеоконтента используется режим многоадресной передачи. Такой результат достигается тем, что передается запрос на присоединение к группе многоадресной передачи с использованием сообщения Интернет-протокола Управления Группами (ИПУГ) Join, причем запрос перехватывается МД DSL, соответствующим образом обрабатывается, записывается в таблицы и передается в направлении сети, к перехваченной информации добавляется МсА ВЛС (ВЛС многоадресной передачи), причем центральный процессор тегирует на основании принятой в заголовке ИПУГ IP-пакета информации запросы ИПУГ из абонентской ВЛС в сетевую ВЛС Мс (многоадресную ВЛС), после чего центральный процессор добавляет в таблицу пересылки САМ запись об адресе назначения контента многоадресной передачи провайдера услуг с соответствующим ВЛС-id Мс, причем центральный процессор настраивает механизм пересылки с правилами тегирования ВЛС пакетов многоадресной передачи на отдельных портах на основании правил пересылки, записанных в кодовом механизме и механизм пересылки посредством соединений пересылает соответствующим образом обработанный с сетевым ВЛС-id абонентский трафик ИГУП. 3 ил.

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

Изобретение относится к копированию настроек устройства на другое устройство, чтобы пользователю не приходилось настраивать каждое устройство в сети устройств, например настраивать каждую лампу в осветительной системе, образующей сеть ламп. Технический результат заключается в обеспечении автоматизации настройки устройства в сети устройств за счет копирования настройки одного устройства на другое близко расположенное устройство. Технический результат достигается за счет системы для копирования настроек одного устройства на другое устройство, включающей в себя: сетевой передатчик (10), связанный с первым устройством (12), сетевой приемник (14), связанный со вторым устройством (16), причем сетевой передатчик и сетевой приемник могут устанавливать сетевое соединение (18), если расстояние между ними, по существу, равно или меньше заданного расстояния (20), сетевой передатчик приспособлен для считывания настроек первого устройства и передачи считанных настроек устройства через установленное сетевое соединение, и сетевой приемник приспособлен для приема настроек устройства, передаваемых сетевым передатчиком через установленное сетевое соединение, и конфигурирования второго устройства в соответствии с принятыми настройками устройства. 6 н. и 8 з.п. ф-лы, 3 ил.

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

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