RU2012043C1 - Video controller - Google Patents
Video controller Download PDFInfo
- Publication number
- RU2012043C1 RU2012043C1 SU4907998A RU2012043C1 RU 2012043 C1 RU2012043 C1 RU 2012043C1 SU 4907998 A SU4907998 A SU 4907998A RU 2012043 C1 RU2012043 C1 RU 2012043C1
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- control
- outputs
- group
- address
- Prior art date
Links
Images
Abstract
Description
Изобретение относится к вычислительной технике и предназначено для обмена данными по каналу связи. The invention relates to computer technology and is intended for data exchange over a communication channel.
Известны устройства [1] , предназначенные для обмена данными по каналу связи, содержащие регистры управления и регистры состояний для хранения управляющей информации, регистры данных, шифратор управления. Known devices [1], intended for data exchange via a communication channel, containing control registers and state registers for storing control information, data registers, control encoder.
Недостатком известных устройств яляются большие аппаратурные затраты, необходимые на реализацию регистров управления, регистров состояний, шифратора управления в случаях, когда требуется значительное количество регистров управления и регистров состояний для обеспечения функций известных устройств. A disadvantage of the known devices is the large hardware costs necessary for the implementation of control registers, state registers, control encoder in cases where a significant number of control registers and state registers are required to ensure the functions of known devices.
Наиболее близким к предлагаемому является контроллер [2] , содержащий контроллер шины, интерфейс, селектор адреса, счетчик адреса, регистр адреса, схему сравнения, приемник, передатчик, шифратор управления, причем входы-выходы контроллера шины подключены к системной шине управления контроллера, первая группа входов-выходов интерфейса подключена к шине данных контроллера, вторая группа его входов-выходов подключена к шине адреса контроллера, его входы данных подключены к внутренней шине контроллера, его выходы адреса - к адресным входам селектора адреса, разрядные выходы счетчика адреса подключены к входам адреса интерфейса и к первой группе входов схемы сравнения, к второй группе входов которой подсоединены выходы регистра адреса, входы данных счетчика адреса и информационные входы регистра адреса подсоединены к внутренней шине контроллера, вход записи счетчика адреса, вход записи регистра адреса, вторая группа входов управления интерфейса, третья группа входов управления контроллера шины, вторая группа входов управления передатчика, вторая группа входов управления приемника, первая группа выходов шифратора управления подключены к шине управления контроллера, выход контроллера шины подключен к счетному входу счетчика адреса, выход "Равно" схеме сравнения соединен с первым входом шифратора управления, вход данных приемника подключен к входу данных контроллера, выход передатчика подключен к выходу контроллера. Closest to the proposed one is a controller [2], which contains a bus controller, an interface, an address selector, an address counter, an address register, a comparison circuit, a receiver, a transmitter, a control encoder, and the inputs / outputs of the bus controller are connected to the controller’s system bus, the first group the interface inputs and outputs are connected to the controller data bus, the second group of its inputs and outputs is connected to the controller address bus, its data inputs are connected to the controller’s internal bus, its address outputs are connected to the address inputs address lecturers, bit outputs of the address counter are connected to the inputs of the address of the interface and to the first group of inputs of the comparison circuit, to the second group of inputs of which the outputs of the address register are connected, the inputs of the address counter data and the information inputs of the address register are connected to the internal bus of the controller, the recording counter input address, address register entry, second group of interface control inputs, third group of bus controller control inputs, second group of transmitter control inputs, second group of control inputs receiver, the first group of outputs of the control encoder are connected to the control bus of the controller, the output of the bus controller is connected to the counting input of the address counter, the output is “Equal” to the comparison circuit is connected to the first input of the control encoder, the data input of the receiver is connected to the data input of the controller, the output of the transmitter is connected to the output the controller.
Недостатком известного контроллера являются большие аппаратурные затраты, необходимые на реализацию регистров управления, регистров состояний и шифратора управления в случаях, когда для функционирования контроллера требуется значительное количество регистров управления и регистров состояний для хранения слов состояний и управления. Поскольку через регистры управления и регистры состояний между ЭВМ и известным контроллером осуществляется обмен управляющей информацией, содержащейся в словах управления и словах состояний, то для обработки управляющей информации и выработки сигналов управления по результатам обработки слов состояний и слов управления требуются аппаратурные затраты на реализацию шифратора управления, выполненного на элементах жесткой логики, тем больше, чем большее число регистров управления и регистров состояний используется, поскольку каждый разряд регистров управления и регистров состояний соединен с соответствующим входом шифратора управления. Применение элементов гибкой логики, например микропроцессоров, для реализации шифратора управления ограничивается временными характеристиками известных контроллеров, для которых обмен данными должен осуществляться в режимах реального времени. A disadvantage of the known controller is the large hardware costs required to implement control registers, state registers, and a control encoder in cases where the controller requires a significant number of control registers and state registers for storing state and control words. Since the control information contained in the control words and the state words is exchanged through the control registers and state registers between the computer and the known controller, the hardware costs of implementing the control encoder are required to process the control information and generate control signals from the results of processing the state words and control words, executed on the elements of rigid logic, the more, the greater the number of control registers and state registers is used, since each p zryad control registers and status registers connected to a respective control input of the encoder. The use of flexible logic elements, such as microprocessors, for the implementation of a control encoder is limited by the time characteristics of known controllers, for which data exchange should be carried out in real time.
Недостатком известного контроллера является ограничение области применения в случаях, когда использование большого количества регистров управления и состояний невозможно по причине ограниченности адресного пространства шины адреса ЭВМ, отведенного под адресацию внешних регистров. Так, при использовании ЭВМ микропроцессора серии 580 под адресацию внешних регистров отведено адресное пространство в 256 адресов, что ограничивает возможности использования контроллера, если для его реализации требуется большее, чем 256 число регистров управления и регистров состояний. A disadvantage of the known controller is the limitation of the scope in cases where the use of a large number of control registers and states is impossible due to the limited address space of the computer address bus allocated for addressing external registers. So, when using a computer of the microprocessor of the 580 series, the address space of 256 addresses is allocated for addressing external registers, which limits the possibility of using the controller if it requires more than 256 control registers and state registers.
Цель изобретения - расширение области применения контроллера при сокращении аппаратурных затрат на его реализацию. The purpose of the invention is the expansion of the scope of the controller while reducing hardware costs for its implementation.
Цель достигается тем, что в контроллер, содержащий контроллер шины, интерфейс, селектор адреса, счетчик адреса, регистр адреса, схему сравнения, приемник, передатчик, шифратор управления, причем входы-выходы контроллера шины подключеы к системной шине управления контроллера, первая группа входов-выходов интерфейса подключена к шине данных контроллера, вторая группа его входов-выходов подключена к шине адреса контроллера, его входы данных подключены к внутренней шине контроллера, его выходы адреса - к адресным входам селектора адреса, разрядные выходы счетчика адреса подключены к входам адреса интерфейса и к первой группе входов схемы сравнения, к второй группе входов которой подсоединены выходы регистра адреса, входы данных счетчика адреса и информационные входы регистра адреса подсоединены к внутренней шине контроллера, вход записи счетчика адреса, вход записи регистра адреса, вторая группа входов управления интерфейса, третья группа входов управления контроллера шины, вторая группа входов управления передатчика, вторая группа входов управления приемника, первая группа выходов шифратора управления подключены к шине управления контроллера, выход контроллера шины подключен к счетному входу счетчика адреса, выход "Равно" схемы сравнения соедиен с первым входом шифратора управления, вход данных приемника подключен к входу данных контроллера, выход передатчика подключен к выходу контроллера, введены оперативная память, запоминающее устройство, регистровое устройство, контроллер прерываний, мультиплексор, при этом выходы управления контроллера шины подключены к входам управления селектора адреса, к первой группе входов управления интерфейса, к первой группе входов управления приемника и к первой группе входов управления передатчика, первая группа входов управления контроллера шины подключена к выходам управления передатчика, вторая группа входов управления контроллера шины подключена к выходам управления приемника, входы-выходы приемника, входы-выходы передатчика, входы-выходы оперативной памяти, входы-выходы регистрового устройства, первая группа адресных входов запоминающего устройства подключены к выходам мультиплексора и к внутренней шине контроллера, выходы приемника подключены к входам интерфейса, входы передатчика соединены с выходами интерфейса, входы адреса оперативной памяти соединены с первой группой выходов регистрового устройства, выходы запоминающего устройства соединены с третьей группой входов регистрового устройства, выходы состояний запоминающего устройства соединены с первой группой входов шифратора управления, вторая группа адресных входов запоминающего устройства соединена с второй группой выходов регистрового устройства, первая группа входов регистрового устройства соединена с второй группой выходов шифратора управления, вторая группа входов регистрового устройства соединена с третьей группой выходов шифратора управления, третья группа выходов регистрового устройства соединена с входам управления запоминающего устройства, управляющий вход шифратора управления соединен с выходом переноса запоминающего устройства, вход переноса которого соедиен с первым выходом шифратора управления, вторая группа входов шифратора управления и первая группа входов запроса контроллера прерываний соединены с выходами состояний приемника, выходы состояний передатчика подключены к третьей группе входов шифратора управления и к второй группе входов запросов контроллера прерываний, к третьей группе входов запросов которого и к четвертой группе входов шифратора управления подключены выходы контроллера шины, выходы селектора адреса соединены с четвертой группой входов запросов контроллера прерываний, второй выход шифратора управления соединен с входом запроса контроллера прерываний, выход управления которого соединен с вторым входом шифратора управления, вход синхронизации контроллера прерываний и вход синхронизации регистрового устройства соединены с третьим выходом шифратора управления, к пятой группе входов которого подключены выходы контроллера прерываний, выходы адреса интерфейса подсоединены к первой группе входов мультиплексора, к второй группе входов которого подключены выходы данных интерфейса, выход "Равно" схемы сравнения соединен с входом управления приемника и с входом передатчика, входы управления приоритета контроллера прерываний, входы управления оперативной памяти, входы управления мультиплексора, входы управления регистрового устройства подключены к шине управления контроллера. The goal is achieved by the fact that in the controller containing the bus controller, interface, address selector, address counter, address register, comparison circuit, receiver, transmitter, control encoder, the inputs and outputs of the bus controller are connected to the controller system bus, the first group of inputs the interface outputs are connected to the controller data bus, the second group of its inputs and outputs is connected to the controller address bus, its data inputs are connected to the internal controller bus, its address outputs are to the address inputs of the address selector, times the core outputs of the address counter are connected to the inputs of the address of the interface and to the first group of inputs of the comparison circuit, the second group of inputs of which the outputs of the address register are connected, the inputs of the address counter data and the information inputs of the address register are connected to the internal bus of the controller, the input of the address counter record, the input of the register record addresses, the second group of control inputs of the interface, the third group of control inputs of the bus controller, the second group of control inputs of the transmitter, the second group of control inputs of the receiver, the first The control encoder outputs are connected to the controller control bus, the bus controller output is connected to the counting input of the address counter, the output is “Equal” to the comparison circuit connected to the first input of the control encoder, the receiver data input is connected to the controller data input, the transmitter output is connected to the controller output, input RAM, memory, register device, interrupt controller, multiplexer, while the control outputs of the bus controller are connected to the control inputs of the address selector, to the first group of interface control inputs, the first group of receiver control inputs and the first group of transmitter control inputs, the first group of bus controller control inputs is connected to the transmitter control outputs, the second group of bus controller control inputs is connected to the receiver control outputs, receiver inputs and outputs, inputs - transmitter outputs, inputs / outputs of RAM, inputs / outputs of a register device, the first group of address inputs of a memory device are connected to the outputs of the multiplexer and to the internal bus of the controller, the outputs of the receiver are connected to the inputs of the interface, the inputs of the transmitter are connected to the outputs of the interface, the inputs of the address of the RAM are connected to the first group of outputs of the register device, the outputs of the storage device are connected to the third group of inputs of the register device, the outputs of the states of the storage device are connected to the first group inputs of the control encoder, the second group of address inputs of the storage device is connected to the second group of outputs of the register device, the first the group of inputs of the register device is connected to the second group of outputs of the control encoder, the second group of inputs of the register device is connected to the third group of outputs of the control encoder, the third group of outputs of the register device is connected to the control inputs of the storage device, the control input of the encoder control is connected to the transfer output of the storage device, transfer input which is connected to the first output of the control encoder, the second group of inputs of the control encoder and the first group of request inputs and the interrupt controller is connected to the receiver status outputs, the transmitter status outputs are connected to the third group of inputs of the control encoder and to the second group of request inputs of the interrupt controller, to the third group of request inputs of which and the fourth group of inputs of the encoder control bus controller outputs are connected, the address selector outputs are connected with the fourth group of interrupt controller request inputs, the second control encoder output is connected to the interrupt controller request input, cat control output It is connected to the second input of the control encoder, the synchronization input of the interrupt controller and the synchronization input of the register device are connected to the third output of the control encoder, the outputs of the interrupt controller are connected to the fifth group of inputs, the outputs of the interface address are connected to the first group of inputs of the multiplexer, the second group of inputs of which are connected interface data outputs, the “Equal to” output of the comparison circuit is connected to the receiver control input and to the transmitter input, control priority control inputs interrupt manager, RAM control inputs, multiplexer control inputs, register device control inputs are connected to the controller control bus.
Введение в контроллер оперативной памяти, запоминающего устройства, регистрового устройства, контроллера прерываний и мультиплексора в указанной выше взаимосвязи позволяет расширить область применения контроллера при сокращении аппаратурных затрат на его реализацию. Introduction to the controller of RAM, memory, register device, interrupt controller and multiplexer in the above relationship allows you to expand the scope of the controller while reducing hardware costs for its implementation.
Расширение области применения контроллера выражается в том, что он может использоваться в системах, ведущих обмен данными в реальном времени и использующих ЭВМ, с ограниченным адресным пространством шины адреса, отведенным под адресацию регистров внешних устройств, что ограничивает число регистров управления и регистров состояний в устройстве, к которым ЭВМ может обратиться в режиме программного обмена. Примером ЭВМ, имеющих ограниченное адресное пространство шины адреса, могут служить ЭВМ, построенные с использованием микропроцессоров серии 580, а также ЭВМ серии "электроника 60". Расширение области применения контроллера объясняется тем, что обмен словами управления и словами состояния между ЭВМ и контроллером производится не только в режиме программного обмена, но и в режиме прямого доступа к оперативной памяти ЭВМ со стороны контроллера, и при этом условия обмена данными в режиме реального времени, а также условия обработки слов состояний и слов управления и формирования по результатам обработки управляющих воздействий в режиме реального времени выполняются. Использование оперативной памяти, запоминающего устройства, регистрового устройства, мультиплексора и контроллера прерываний при работе контроллера в режиме прямого доступа к оперативной памяти ЭВМ позволяет вести обмен словами состояний, словами управления между оперативной памятью ЭВМ и оперативной памятью контроллера, а также позволяет производить ускоренную обработку слов состояний и слов управления и по результатам этой обработки управлять режимами работы контроллера в условиях реального времени обмена данными. Оперативная память служит для хранения слов состояний и слов управления, которыми ЭВМ и контроллер обмениваются в режимах программного обмена и прямого доступа к памяти ЭВМ. Применение оперативной памяти позволяет сократить затраты на регистры, необходимые для хранения слов управления и слов состояний. Однако при этом возникает проблема формирования сигналов управления по результатам обработки слов состояний и слов управления, поскольку эти сигналы управления должны формироваться за интервалы времени не большие, чем необходимо для обеспечения режимов реального времени обмена данными. Использование запоминающего устройства позволяет производить за ограниченные интервалы времени обработку битов слов состояний и слов управления и по результатам обработки вырабатывать управляющие сигналы для перевода контроллера в различные режимы функционирования, во время которых реализуются процессы реального времени обмена словами состояний, словами управления в режиме программного обмена и в режиме прямого доступа к памяти ЭВМ и процессы обмена данными. Применение оперативной памяти, контроллера прерываний, запоминающего устройства, мультиплексора позволяет произвести сокращение аппаратурных затрат на реализацию контроллера, функционирующего в условиях реального времени обмена данными при расширении области его применения, во-первых, за счет сокращения аппаратурных затрат на реализацию регистров состояний и регистров управления, поскольку слова состояний и слова управления хранятся в оперативной памяти, а во-вторых, за счет сокращения аппаратурных затрат на шифратор управления, под управлением которого производится обработка слов состояний и слов управления и под управлением которого контроллер выполняет операции по обработке, формированию и обмену данными между ЭВМ, контроллером, передатчиком и приемником. Применение запоминающего устройства, сохраняя работоспособность контроллера в условиях реального времени обмена данными между ЭВМ, контроллером, приемником и передатчиком, позволяет сократить аппаратурные затраты на шифратор управления, использующий в прототипе элементы жесткой логики, соединенные линиями связи с каждым из разрядов регистров управления и регистров состояний. Вместо элементов жесткой логики используется запоминающее устройство для обработки и преобразования слов состояний и слов управления, что достигается за счет хранения в ячейках памяти запоминающего устройства результатов арифметических и логических операций над давлением, которые подаются на первую и вторую группы адресных входов запоминающего устройства. Набор нестандартных и стандартнх арифметических и логических операций, результаты которых хранятся в запоминающем устройстве, позволяет сократить время обработки данных и за требуемые промежутки времени вырабатывать на выходах состояний запоминающего устройства управляющие сигналы, подающиеся на шифратор управления. Набор операций, выполняемых запоминающим устройством, выбирается индивидуально для каждого из вариантов котроллера. Использование контоллера прерываний дает возможность в условиях реального времени работы контроллера обеспечить обмен данными между ЭВМ, оперативным запоминающим устройством, приемником и передатчиком и поизводить арбитраж процессов реального времени. Использование контроллера прерываний совместно с запоминающим устройством, регистровым устройством и мультиплексором позволяет выполнять в реальном времени обмен данными между ЭВМ, приемником, передатчиком и контроллером. Использование мультиплексора позволяет выполнять переключение на первую группу адресных входов запоминающего устройства сигналов адреса с шины адреса контроллера или сигналов данных с шины данных контроллера, что необходимо для обработки слов управления и слов состояний запоминающим устройством. Применение регистрового устройства позволяет обеспечить временное хранение данных при обмене данными между оперативной памятью, запоминающим устройством, ЭВМ, приемником и передатчиком. The extension of the scope of the controller is expressed in the fact that it can be used in systems that exchange real-time data and use computers with a limited address bus address space reserved for addressing external device registers, which limits the number of control registers and state registers in the device, to which computers can access in program exchange mode. An example of computers having a limited address space for the address bus can be computers built using microprocessors of the 580 series, as well as computers of the Electronics 60 series. The expansion of the controller’s scope is explained by the fact that the exchange of control words and status words between the computer and the controller is carried out not only in the program exchange mode, but also in the mode of direct access to the computer’s RAM from the controller, and the conditions for real-time data exchange as well as the conditions for processing state words and control and formation words according to the results of processing control actions in real time are fulfilled. The use of RAM, storage device, register device, multiplexer and interrupt controller when the controller is in direct access to the main memory of the computer allows the exchange of state words, control words between the main memory of the computer and the main memory of the controller, and also allows for the accelerated processing of state words and the control words and, based on the results of this processing, control the controller operating modes in real-time data exchange. RAM is used to store state words and control words that the computer and the controller exchange in the modes of program exchange and direct access to the computer memory. The use of RAM allows you to reduce the cost of the registers needed to store control words and state words. However, this raises the problem of generating control signals from the processing of state words and control words, since these control signals must be generated in time intervals not greater than necessary to ensure real-time data exchange. The use of a storage device allows processing of bits of state words and control words for limited time intervals and generating control signals from the processing results for transferring the controller to various operating modes, during which real-time processes of exchanging state words, control words in program exchange mode and in direct access to computer memory and data exchange processes. The use of RAM, interrupt controller, memory, multiplexer allows to reduce hardware costs for the implementation of the controller, which operates in real time data exchange while expanding its scope, firstly, by reducing hardware costs for the implementation of state registers and control registers, since state words and control words are stored in RAM, and secondly, by reducing hardware costs for the control encoder, p d which performs machining control words and control words states and running controller which executes processing operations, formation and exchange of data between computers, controller, transmitter and receiver. The use of a storage device, while maintaining the controller’s operability in real-time data exchange between a computer, controller, receiver and transmitter, reduces the hardware costs of a control encoder that uses hard logic elements in the prototype connected by communication lines to each of the bits of control registers and state registers. Instead of hard logic elements, a storage device is used for processing and converting state words and control words, which is achieved by storing the results of arithmetic and logical pressure operations in the memory cells of the storage device, which are supplied to the first and second groups of address inputs of the storage device. A set of non-standard and standard arithmetic and logical operations, the results of which are stored in a storage device, can reduce the data processing time and, at the required time intervals, generate control signals at the outputs of the storage device states that are supplied to the control encoder. The set of operations performed by the storage device is selected individually for each of the options of the controller. The use of the interrupt controller makes it possible in real-time controller operation to provide data exchange between computers, random access memory, receiver and transmitter, and arbitrate real-time processes. Using an interrupt controller in conjunction with a storage device, a register device, and a multiplexer allows real-time data exchange between a computer, receiver, transmitter, and controller. Using the multiplexer allows you to switch to the first group of address inputs of the memory device address signals from the address bus of the controller or data signals from the data bus of the controller, which is necessary for processing control words and status words by the storage device. The use of a register device allows for temporary storage of data during the exchange of data between RAM, storage device, computer, receiver and transmitter.
На фиг. 1 представлена структурная схема контроллера; на фиг. 2 - структурная схема подключения ЭВМ через контроллер к каналу связи; на фиг. 3 - структурная схема запоминающего устройства; на фиг. 4 - структурная схема интерфейса; на фиг. 5 - структурная схема контроллера шины; на фиг. 6 - структурная схема регистрового устройства; на фиг. 7 - структурная схема контроллера прерываний; на фиг. 8 - структурная схема шифратора управления; на фиг. 9 - структурная схема формирователя адреса микрокоманды; на фиг. 10 - структурная схема приемника; на фиг. 11 - структурная схема передатчика; на фиг. 12 представлен пример реализации схемы кодера; на фиг. 13 - пример реализации схемы декодера; на фиг. 14 представлена структурная схема логики циклического контроля; на фиг. 15 - структурная схема памяти обратного магазинного типа (схема фифо); на фиг. 16 представлен формат пакетов данных, передаваемых в канал связи; на фиг. 17 - формат дескрипторов буферов передачи и буферов приема. Дескрипторы описывают зоны памяти ЭВМ (буферы приема и буферы передачи), отведенные под хранение принимаемых и передаваемых данных, а также под слова состояний, описывающие процесс обмена данными. In FIG. 1 shows a block diagram of a controller; in FIG. 2 is a structural diagram of connecting a computer through a controller to a communication channel; in FIG. 3 is a structural diagram of a storage device; in FIG. 4 is a block diagram of an interface; in FIG. 5 is a block diagram of a bus controller; in FIG. 6 is a block diagram of a register device; in FIG. 7 is a block diagram of an interrupt controller; in FIG. 8 is a structural diagram of a control encoder; in FIG. 9 is a structural diagram of a micro command address generator; in FIG. 10 is a block diagram of a receiver; in FIG. 11 is a structural diagram of a transmitter; in FIG. 12 shows an example implementation of an encoder circuit; in FIG. 13 is an example implementation of a decoder circuit; in FIG. 14 is a structural diagram of a cyclic control logic; in FIG. 15 is a structural diagram of a reverse store type memory (Fifo circuit); in FIG. 16 shows a format of data packets transmitted to a communication channel; in FIG. 17 is a format for transmit buffer descriptors and receive buffers. Descriptors describe computer memory zones (receive and transmit buffers) allocated for storage of received and transmitted data, as well as state words describing the process of data exchange.
Контроллер содержит (фиг. 1) интерфейс 1, контроллер 2 шины, счетчик 3 адреса, регистр 4 адреса, схему 5 сравнения, оперативную память 6, запоминающее устройство 7, регистровое устройство 8, контроллер 9 прерываний, селектор 10 адреса, шифратор 11 управления, приемник 12, передатчик 13, мультиплексор 14. The controller contains (Fig. 1) an interface 1, a bus controller 2, an address counter 3, an address register 4, a comparison circuit 5, a random access memory 6, a memory device 7, a register device 8, an interrupt controller 9, an address selector 10, a control encoder 11, receiver 12, transmitter 13, multiplexer 14.
Через внутреннюю шину 15, шину 16 управления, через шину 17 данных, шину 18 адреса, системную шину 19 управления контроллер 20 (фиг. 2) имеет связь с ЭВМ 21. Первая группа входов-выходов интерфейса 1 связана с шиной 17 данных контроллера, вторая группа входов-выходов интерфейса 1 связана с шиной 18 адреса контроллера. Шина 17 данных подключается к шине данных ЭВМ, шина 18 адреса - к шине адреса ЭВМ, системная шина 19 управления контроллера подключается к системной шине управления ЭВМ. Входы-выходы контроллера 2 шины соединены с системной шиной 19 управления. По линии 22 через вход данных контроллера и по линии 23 через его выход контроллер подключен к каналу 24 связи. Вход управления приемника 12 подключен к входу данных контроллера, а выход передатчика 13 - к выходу контроллера. Через шину 25 разрядные выходы счетчика 3 адреса подключены к первой группе входов схемы 5 сравнения и к входам адреса интерфейса 1. Выходы регистра 4 адреса соединены с второй группой входов схемы 5 сравнения. Входы интерфейса 1 через шину 26 подключены к выходам приемника 12, а его выходы через шину 27 подключены к входам передатчика 13. По шине 28 выходы данных интерфейса 1 соединены второй группой входов мультиплексора 14, первая группа входов которого и адресные входы селектора 10 адреса связаны по шине 29 с выходами адреса интерфейса 1. По шине 30 первая группа входов управления интерфейса 1, первая группа входов управления приемника 12, первая группа входов управления передатчика 13, входы управления селектора 10 адреса связаны с выходами управления контроллера 2 шины. По шине 31 четвертая группа входов шифратора 11 управления и третья группа входов запросов контроллера 9 прерываний связаны с выходами контроллера 2 шины, выход которого по линии 32 связан со счетным входом счетчика 3 адреса. Первая группа входов управления контроллера 2 шины по шине 33 связана с выходами управления передатчика 13, а вторая группа входов управления по шине 34 связана с выходами управления приемника 12. Выходы состояний приемника 12 связаны по шине 35 с второй группой входов шифратора 11 управления и с первой группой входов запросов контроллера 9 прерываний. Выходы состояний передатчика 13 связаны по шине 36 с третьей группой входов шифратора 11 управления и с второй группой входов запросов контроллера 9 прерываний. Входы адреса оперативной памяти 6 соединены по шине 37 с первой группой выходов регистрового устройства 8. Выходы запоминающего устройства 7 подключены по шине 38 к третьей группе входов регистрового устройства 8. Вторая группа выходов шифратора 11 управления подключена по шине 39 к первой группе входов регистрового устройства 8. Линия 40 соединяет управляющий вход шифратора 11 управления с выходом переноса запоминающего устройства 7, к входу переноса которого по линии 41 подключен первый выход шифратора 11 управления. Пятая группа входов шифратора 11 управления соединена по шине 42 с выходами контроллера 9 прерываний, вход запроса которого соединен по линии 43 с вторым выходом шифратора 11 управления, выход управления соединен по линии 44 с вторым входом шифратора 11 управления, а вход синхронизации и вход синхронизации регистрового устройства 8 соединены по линии 45 с третьим выходом шифратора 11 управления. Выходы селектора 10 адреса подключены по шине 46 к четвертой группе входов запросов контроллера 9 прерываний. Выход "Равно" схемы 5 сравнения соединен по линии 47 с входом управления приемника 12, с входом управления передатчика 13, с первым входом шифратора 11 управления. Третья группа выходов шифратора 11 управления соединена с второй группой входов регистрового устройства 8 по шине 48. Третья группа выходов регистрового устройства 8 по шине 49 соединена с входами управления запоминающего устройства 7, вторая группа выходов регистрового устройства 8 соединена по шине 50 с второй группой адресных входов запоминающего устройства 7. Выходы состояний запоминающего устройства 7 по шине 51 соединены с первой группой входов шифратора 11 управления. К внутренней шине 15 контроллера подключены входы данных счетчика 3 адреса, информационные входы регистра 4 адреса, выходы мультиплексора 14, входы данных интерфейса 1, входы-выходы передатчика 13, входы-выходы приемника 12, входы-выходы оперативной памяти 6, входы-выходы регистрового устройства 8, первая группа адресных входов запоминающего устройства 7. К шине 16 управления контроллера подключены первая группа выходов шифратора 11 управления, вход записи счетчика 3 адреса, вход записи регистра 4 адреса, вторая группа входов управления интерфейса 1, входы управления мультиплексора 14, входы управления оперативной памяти 6, входы управления регистрового устройства 8, третья группа входов управления контроллера 2 шины, вторая группа входов управления приемника 12, вторая группа входов управления передатчика 13, входы управления приоритетами контроллера 9 прерываний. Through the
Запоминающее устройство 7 содержит (фиг. 3) секции 52 и запоминающее устройство 53 ускоренных переносов. Первая и вторая группы адресных входов запоминающего устройства 7, а также его выходы содержат группы линий. Число групп линий в первой группе адресных входов равно числу групп линий во второй группе адресных входов, равно числу групп линий выходов запоминающего устройства 7. Например, при числе секций, равном четырем, в первой, второй группах адресных входов и в выходах запоминающего устройства 7 содержатся по четыре группы линий, причем каждая из групп линий первой группы адресных входов запоминающего устройства 7 соединена с первой группой входов одной из секций 52 запоминающего устройства, а каждая из групп линий второй группы адресных входов запоминающего устройства 7 соединена с второй группой входов одной из секций 52 запоминающего устройства, третьи группы входов секций 52 запоминающего устройства соединены с входами упавления запоминающего устройства 7. Входы переноса каждой из секций 52 запоминающего устройства соединены с одной из гупп выходов переноса запоминающего устройства 53 ускоренных переносов, каждая из групп входов переноса которого соединена с выходами переноса одной из секций 52 запоминающего устройства. Вход переноса запоминающего устройства 7 соединен с входом переноса первой секции 52 запоминающего устройства и с входом переноса запоминающего устройства 53 ускоренных переносов, выход переноса запоминающего устройства 7 соединен с выходом переноса запоминающего устройства 53 ускоренных переносов. Каждая из групп линий выходов запоминающего устройства 7 подключена к выходам одной из секций 52 запоминающего устройства и к выходам состояний запоминающего устройства 7. Входы управления запоминающего устройства 53 ускоренных переносов соединены с входами управления запоминающего устройства 7. The storage device 7 contains (Fig. 3)
Для реализации секции 52 запоминающего устройства используется постоянное программируемое запоминающее устройство, вход адреса которого соединен с входом переноса секции запоминающего устройства. Первая гуппа входов адреса последнего соединена с первой группой входов секции 52 запоминающего устройства, вторая группа входов адреса соединена с второй группой входов секции запоминающего устройства, третья группа входов адреса соединена с третьей группой входов секции запоминающего устройства, четвертая группа входов адреса соединена с входами переноса секции запоминающего устройства, а первая группа выходов соединена с выходами переноса секции запоминающего устройства, вторая группа выходов - с выходами секции запоминающего устройства. To implement
Запоминающее устройство 53 ускоренных переносов реализуется на постоянном программируемом запоминающем устройстве, причем с каждой из групп входов переноса запоминающего устройства 53 ускоренных переносов соединена одна из групп входов адреса постоянного программируемого запоминающего устройства, вход адреса которого соединен с входом переноса запоминающего устройства 53 ускоренных переносов, а каждая из групп выходов соединена с одной из групп выходов переноса запоминающего устройства 53 ускоренных переносов, выход которого соединен с выходом переноса запоминающего устройства 53 ускоренных переносов, а отдельная группа входов адреса соединена с входами управления запоминающего устройства 53 ускоренных переносов. The
Интерфейс 1 содержит (фиг. 4) усилители 54 шины адреса и усилители 55 шины данных, регистр 56, коммутатор 57. Входы-выходы усилители 54 шины адреса соединены с второй группой входов-выходов интерфейса 1, первая группа входов-выходов которого соединена с входами-выходами усилителей 55 шины данных. Входы усилителей 54 шины адреса подключены к входам адреса интерфейса 1, к выходам адреса которого подключены выходы усилителей 54 шины адреса. Выходы усилителей 55 шины данных соединены с выходами данных и с выходами интерфейса 1. Первая группа входов коммутатора 57 соединена с входами данных интерфейса 1, вторая группа входов коммутатора 57 соединена с входами интерфейса 1. Выходы коммутатора 57 соединены с входами регистра 56, выходы которого соединены с входами усилителей 55 шины данных. Первая группа входов управления усилителей 54 шины адреса, первая группа входов управления усилителей 55 шины данных, первый вход управления записью регистра 56, первый вход управления коммутатором 57 соединены с первой группой входов управления интерфейса 1, вторая группа входов управления которого соединена с второй группой входов управления усилителей 54 шины адреса, с второй группой входов управления усилителей 55 шины данных, с вторым входом управления записью регистра 56, с вторым входом управления коммутатора 57. Interface 1 contains (Fig. 4)
Контроллер 2 шины содержит (фиг. 5) усилители 58, дешифратор 59, таймерное устройство 60. Входы-выходы усилителей 58 соединены с входами-выходами контроллера 2 шины, выходы которого соединены с первой группой выходов дешифратора 59. Входы усилителей 58 соединены с второй группой выходов дешифратора 59, первая группа входов которого соединена с выходами усилителей 58. Третья группа выходов дешифратора 59 соединена с выходами управления контроллера 2 шины, вторая группа входов дешифратора 59 соединена с третьей группой входов управления контроллера 2 шины. Четвертая группа выходов дешифратора 59 соединена с входами таймерного устройства 60, выходы которого соединены с третьей группой входов дешифратора 59. Четвертая группа входов дешифратора 59 соединена с первой группой входов управления контроллера 2 шины, вторая группа входов управления которого соединена с пятой группой входов дешифратора 59. Выход дешифратора 59 соединен с выходом контроллера 2 шины, выход управления дешифратора 59 соединен с входом управления усилителей 58. The bus controller 2 contains (Fig. 5)
Регистровое устройство 8 содержит (фиг. 6) мультиплексор 61, мультиплексор 62, регистры 63, усилители 64, реверсивный счетчик 65. Входы управления усилителей 64, входы управления мультиплексора 61, входы управления мультиплексора 62, входы управления регистров 63, входы управления реверсивного счетчика 65 соединены с входами управления регистрового устройства 8, первая группа входов которого соединена с первой группой входов мультиплексора 62. Вторая группа входов мультиплексора 62 соединена с второй группой входов регистрового устройства 8. Третья группа входов мультиплексора 62 соединена с выходами усилителей 64. Третья группа входов регистрового устройства 8 соединена с четвертой группой входов мультиплексора 62. Входы-выходы регистрового устройства 8 соединены с входами-выходами усилителей 64, к входам которых подключена первая группа выходов мультиплексора 61. Первая группа выходов регистрового устройства 8 соединена с второй группой выходов мультиплексора 61, его вторая группа выходов соединена с третьей группой выходов мультиплексора 61, а его третья группа выходов соединена с четвертой группой выходов мультиплексора 61. Входы синхронизации регистров 63 и вход синхронизации реверсивного счетчика 65 соединены с входом синхронизации регистрового устройства 8. Мультиплексор 62 имеет несколько групп выходов, причем входы каждого из регистров 63 соединены с одной из групп выходов мультиплексора 62. Мультиплексор 61 содержит несколько групп входов, причем выходы каждого из регистров 63 соединены с одной из групп входов мультиплексора 61. Выходы реверсивного счетчика 65 соединены с входами адреса регистров 63. The register device 8 contains (Fig. 6) a
Контроллер 9 прерываний содержит (фиг. 7) логическую матрицу 66, в качестве которой может использоваться, например, программируемая логическая матрица, регистр 67. Выходы регистра 67 соединены с выходами контроллера 9 прерываний и с первой группой входов логической матрицы 66, к второй группе входов которой подключены входы управления приоритетами контроллера 9 прерываний, к третьей группе входов подключена первая группа входов запросов контроллера 9 прерываний, к четвертой группе входов подключена вторая группа входов запросов контроллера 9 прерываний, к пятой группе входов подключена третья группа входов запросов контроллера 9 прерываний, к шестой группе входов подключена четвертая группа входов запросов контроллера 9 прерываний, к входу подключен вход запроса контроллера 9 прерываний, а выходы соединены с входами регистра 67, выход соединен с входом управления записью регистра 67. Выход управления контроллера 9 прерываний соединен с выходом регистра 67, вход синхронизации которого соединен с входом синхронизации контроллера 2 шины. The interrupt controller 9 contains (Fig. 7) a
Шифратор 11 управления содержит (фиг. 8) регистр 68 микрокоманд, мультиплексор 69, память 70 микрокоманд, в качестве которой используется, например, постоянное программируемое запоминающее устройство, мультиплексор 71, дешифратор 72 - преобразователь начального адреса, формирователь 73 адреса микрокоманды, мультиплексор 74 условий, генератор 75, мультиплексор 76, счетчик 77 - таймер, дешифратор 78, RS-триггер 79, шину 80 управления. The control encoder 11 contains (Fig. 8) a
Выходы формирователя 73 адреса микрокоманды соединены с шиной 81. Его выход соединен с линией 82, его входы адреса, входы инструкций, вход инкремента соединены с шиной 80 управления. Его вход условий соединен с линией 83, вход синхронизации - с линией 45. Вторая группа выходов шифратора 11 управления соединена с выходами мультиплексора 69, первая группа входов которого соединена с выходами счетчика-таймера 77 и с входами дешифратора 78. Первая группа выходов шифратора 11 управления соединена с первой группой выходов регистра 68 микрокоманд, входы которого соединены с первой группой выходов памяти 70 микрокоманд. Входы управления и первый вход мультиплексора 76, входы управления мультиплексора 71, входы адреса, входы инструкций, вход инкремента формирователя 73 адреса микрокоманды, вход сброса счетчика-таймера 77, R-вход RS-триггера 79, входы управления мультиплексора 74 условий, вторая группа выходов регистра 68 соединены с шиной 80. Вход управления мультиплексора 69 соединен с выходом памяти 70 микрокоманд. Вторая группа выходов памяти 70 микрокоманд соединена с второй группой входов мультиплексора 69. Выход генератора 75 соединен со счетным входом счетчика-таймера 77, с входом записи регистра 68 микрокоманд, с входом синхронизации формирователя 73 адреса микрокоманды, с третьим выходом шифратора 11 управления. Входы адреса памяти 70 микрокоманд соединены с выходами мультиплексора 71, первая группа входов которого соединена с выходами формирователя 73 адреса микрокоманды, вторая группа входов соединена с выходами дешифратора-преобразователя 72 начального адреса, третья группа входов соединена с пятой группой входов шифратора 11 управления, а первый вход управления соединен с вторым входом шифратора управления. Входы дешифратора-преобразователя 72 начального адреса соединены с первой группой входов шифратора 11 управления. Выход формирователя 73 адреса микрокоманды соединен с вторым входом управления мультиплексора 71. Вход условий формирователя 73 адреса микрокоманды соединен с выходом мультиплексора 74 условий, первая группа входов которого соединена с третьей группой входов шифратора 11 управления, его вторая группа входов соединена с четвертой группой входов шифратора управления, третья группа входов соединена с второй группой входов шифратора управления, а его первый вход и второй вход мультиплексора 76 подключены к управляющему входу шифратора управления. Второй вход мультиплексора 74 условий соединен с первым входом шифратора 11 управления. Выход дешифратора 78 соединен с S-входом RS-триггера 79, выход которого подключен к второму выходу шифратора 11 управления. Выход мультиплексора 76 соединен с вторым выходом шифратора управления. Третья группа выходов памяти 70 микрокоманд соединена с третьей группой выходов шифратора 11 управления. The outputs of the
Формирователь 73 адреса микрокоманды (фиг. 9) содержит регистр 84, сумматор 85, стек 86, реверсивный счетчик 87 - указатель стека, мультиплексор 88, дешифратор 89 инструкций. Выходы мультиплексора 88 соединены с выходами формирователя 73 адреса микрокоманды и с входами сумматора 85, вход инкремента которого соединен с входом инкремента формирователя 73 адреса микрокоманды, а выходы подключены к входам регистра 84. Входы адреса формирователя 73 адреса микрокоманды соединены с первой группой входов мультиплексора 88, с второй группой входов которого соединены выходы стека 86, а с третьей группой входов и с входами стека 86 соединены выходы регистра 84. Входы инструкций формирователя 73 адреса микрокоманды соединены с входами дешифратора 89 инструкций, вход условий которого соединен с входом условий формирователя 73 адреса микрокоманды, выходы управления соединены с входами управления мультиплексора 88, а выход соединен с входом управления реверсного счетчика-указателя 87 стека и с входом управления стека 86. Выход дешифратора 89 инструкций соединен с выходом формирователя 73 адреса микрокоманды. Вход синхронизации формирователя 73 адреса микрокоманд соединен со счетным входом реверсивного счетчика-указателя 87 стека, с входом синхронизации стека, с входом синхронизации регистра 84. Выходы реверсивного счетчика-указателя 87 стека соединены с входами адреса стека 86. The micro-command address generator 73 (Fig. 9) contains a
Пример реализации приемника 12 показан на фиг. 10. Приемник содержит фифо 90 приема, мультиплексор 91, сдвиговый регистр 92, детектор 93 флага, RS-триггер 94, логику 95 циклического контроля, декодер 96, детектор 97 входного сигнала, счетчик 98 битов, счетчик 99 байтов, управляющую логику 100, шину 101. Выходы фифо 90 приема по шине 26 соединены с выходами приемника 12 и с первой группой входов мультиплексора 91. Выходы меток фифо 90 приема по шине 102 соединены с первой группой входов управляющей логики 100. Выходы сдвигового регистра 92 соединены по шине 103 с входами фифо 90 приема и с входами детектора 93 флага, выход которого соединен с S-входом RS-триггера 94. Выход декодера 96 соединен по линии 104 с входом сдвигового регистра 92 и с входом логики 95 циклического контроля. Выход синхронизации декодера 96 соединен по линии 105 с входом синхронизации сдвигового регистра 92, с входом синхронизации логики 95 циклического контроля и со счетным входом счетчика 98 битов. Вход декодера 96 и вход детектора 97 входного сигнала соединены с входом данных приемника 12. Выход контроля логики 95 циклического контроля по линии 106 соединен с первым входом мультиплексора 91. Выход RS-триггера 94 соединен с входом сброса счетчика 98 битов, выходы которого соединены с второй группой входов управляющей логики 100 и с второй группой входов мультиплексора 91. Выходы мультиплексора 91 соединены с входами-выходами приемника 12. Выход детектора 97 входного сигнала соединен с вторым входом мультиплексора 91 и с вторым входом управляющей логики 100. Выходы счетчика 99 байтов соединены с третьей группой входов мультиплексора 91 и с третьей группой входов управляющей логики 100, с четвертой группой входов которой соединена вторая группа входов управления приемника. Выходы состояний и выходы управления приемника 12, входы управления и входы меток фифо 90 приема, входы управления мультиплексора 91, входы управления логики 95 циклического контроля, счетный вход и вход сброса счетчика 99 байтов, R- вход RS-триггера 94, выходы управляющей логики 100 соединены с шиной 101. Пятая группа входов управляющей логики 100 соединена с первой группой входов управления приемника 12, к входам-выходам которого подключена шестая группа входов управляющей логики 100. Вход управления приемника 12 соединен с входом управляющей логики 100. An example implementation of receiver 12 is shown in FIG. 10. The receiver contains
Пример выполнения передатчика 13 приведен на фиг. 11. Передатчик содержит фифо 107 передачи, сдвиговый регистр 108, логику 109 циклического контроля, коммутатор 110, кодер 111, счетчик 112 битов, управляющую логику 113, усилители 114, генератор 115, шину 116. Выходы фифо 107 передачи соединены по шине 117 с входами регистра 108 сдвига, выход которого по линии 118 подключен к первому входу коммутатора 110 и к входу логики 109 циклического контроля. Выход генератора 115 по линии 119 подключен к входу синхронизации кодера 111, к входу синхронизации управляющей логики 113, к входу синхронизации сдвигового регистра 108, к входу синхронизации логики 109 циклического контроля, к счетному входу счетчика 112 битов. Выход данных логики 109 циклического контроля соединен по линии 120 с вторым входом коммутатора 110, выход которого соединен по линии 121 с входом кодера 111. Выход кодера соединен с выходом передатчика 13. Входы-выходы передатчика соединены с пятой группой входов управляющей логики 113 и с выходами усилителей 114. Входы и входы управления усилителей 114, выходы состояний и выходы управления передатчика 13, входы меток и входы управления фифо 107 передачи, вход записи сдвигового регистра 108, входы управления логики 109 циклического контроля, вход управления коммутатора 110, вход сброса счетчика 112 битов, вход управления кодера 111, выходы управляющей логики 113 соединены с шиной 116. Выходы меток фифо 107 передачи соединены по шине 122 с первой группой входов управляющей логики 113, с второй группой входов которой соединены выходы счетчика 112 битов, с третьей группой входов соединена вторая группа входов управления передатчика 13, а с четвертой группой входов соединена первая группа входов управления передатчика. Входы передатчика 13 подключены по шине 27 к входам фифо 107 передачи. Вход передатчика 13 соединен с входом управляющей логики 113. An example of transmitter 13 is shown in FIG. 11. The transmitter contains
Пример выполнения кодера 111 показан на фиг. 12. Кодер содержит диод 123, резистор 124, инвертор 125, схемы 126, 127 совпадений, JK-триггеры 128, 129. Вход инвертора 125 и первый вход схемы 126 совпадений соединены с входом кодера 111. Выход инвертора 125 соединен с первым входом схемы 127 совпадений. Второй вход схемы 126 совпадений и второй вход схемы 127 совпадений соединены с инверсным выходом JK-триггера 129, J- и К-входы которого через резистор 124 подключены к шине питания для установки уровня "1". Выход схемы 126 совпадений соединен с J-входом JK-триггера 128, к К-входу которого подключен выход схемы 127 совпадений. Вход синхронизации JK-триггера 128 и вход синхронизации JK-триггера 129 подключены к входу синхронизации кодера 111. Выход JK-триггера 128 через диод 123 подключен к выходу кодера 111. An exemplary embodiment of
Пример выполнения декодера 96 показан на фиг. 13. Декодер содержит линию 130 задержки, схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 131, 132, инвертор 133, D-триггеры 134, 135. Вход линии 130 задержки, первый вход схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 131, D-вход D-триггера 135 соединены с входом декодера 96. Второй вход схема ИСКЛЮЧАЮЩЕЕ ИЛИ 131 соединен с первым выходом линии 130 задержки, второй выход которой соединен с первым входом схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 132, а третий выход - с вторым входом схема ИСКЛЮЧАЮЩЕЕ ИЛИ 132. Выход схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 131 соединен с входом инвертора 133, выход которого подключен к D-входу D-триггера 134. Выход схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 132 соединен с входом синхронизации D-триггера 134, выход которого подключен к выходу синхронизации декодера 96 и к входу синхронизации D-триггера 135. Инверсный выход D-триггера 135 подключен к выходу декодера 96. An exemplary embodiment of
Подключение контроллеров 20 к каналу 24 связи производится через некоторые расстояния. Такие подключения могут производиться, например, путем прокола коаксиального кабеля, применяемого для реализации канала 24 связи. По концам коаксиального кабеля в этом случае устанавливаются согласующие нагрузки 136 (фиг. 2). The
Логика 109 циклического контроля передатчика 13 и логика 95 циклического контроля приемника 12 реализуют проверку данных с помощью полинома х15+х12+х5+1 и построены по одинаковой схеме (фиг. 14), в состав которой входят схема ИСКЛЮЧАЮЩЕЕ ИЛИ 137, схема 138 совпадений, пятиразрядный сдвиговый регистр 139, схема ИСКЛЮЧАЮЩЕЕ ИЛИ 140, семиразрядный сдвиговый регистр 141, схема ИСКЛЮЧАЮЩЕЕ ИЛИ 142, пятиразрядный сдвиговый регистр 143, мультиплексор 144, дешифратор 145. Вход логики циклического контроля соединен с первым входом схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 137 и с первым входом мультиплексора 144. Вход синхронизации логики циклического контроля соединен по линии 119 для передатчика 13 и по линии 105 для приемника 12 с входами синхронизации регистров 139, 141, 143. Входы управления логики циклического контроля соединены с первым входом схемы 138 совпадений и входами управления мультиплексора 144. Выход данных логики циклического контроля соединен с выходом мультиплексора 144, к второму входу которого и второму входу схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 137 подключен выход сдвигового регистра 143. Выход схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 137 соединен с вторым входом схемы 138 совпадений, выход которой соединен с входом сдвигового регистра 139, с первыми входами схем ИСКЛЮЧАЮЩЕЕ ИЛИ 140, 142. Выход регистра 139 соединен с вторым входом схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 140, выход которой соединен с входом сдвигового регистра 141. Выход сдвигового регистра 141 соединен с вторым входом схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 142, выход которой соединен с входом сдвигового регистра 143. Выходы сдвигового регистра 139 соединены с первой группой входов дешифратора 145. Выходы сдвигового регистра 141 соединены с второй группой входов дешифратора 145. Выходы сдвигового регистра 143 соединены с третьей группой входов дешифратора 145, выход которого соединен с выходом контроля логики циклического контроля.The
Фифо 90 приема и фифо 107 передачи являются памятью обратного магазинного типа, в которую входят (фиг. 15) оперативная память 146, оперативная память 147, мультиплексор 148, счетчики 149, 150. Входы фифо соединены с входами оперативной памяти 146, к выходам которой подключены выходы фифо. Входы фифо соединены с входами оперативной памяти 147, к выходам которой подключены выходы меток фифо. Входы управления фифо соединены с входами управления оперативной памяти 146, оперативной памяти 147, мультиплексора 148, счетчиков 149, 150. Выходы счетчика 149 соединены с первой группой входов мультиплексора 148, к второй группе входов которого подключены выходы счетчика 150. Выходы мультиплексора 148 соединены с входами адреса оперативной памяти 146 и оперативной памяти 147.
Запоминающее устройство 7 предназначено для хранения результатов арифметических и логических операций над данными. Операнды поступают на первую и вторую группы адресных входов запоминающего устройства 7, если операции производятся над двумя операндами, или поступают только на первую группу адресных входов запоминающего устройства 7, если операции производятся над одним операндом, при этом вторая группа входов используется для расширения разрядности сигналов управления запоминающим устройством 7. В последнем случае на вторую группу адресных входов и на входы управления запоминающего устройства 7 подают код выполняемой операции. The storage device 7 is designed to store the results of arithmetic and logical operations on the data. The operands go to the first and second groups of address inputs of the memory device 7, if operations are performed on two operands, or go only to the first group of address inputs of the memory device 7, if operations are performed on one operand, while the second group of inputs is used to expand the bit depth of control signals memory device 7. In the latter case, the code of the operation to be performed is supplied to the second group of address inputs and to the control inputs of the memory device 7.
Запоминающее устройство 7 может быть реализовано, например, на основе постоянных программируемых запоминающих устройств или программируемых логических матриц. Программирование постоянных программируемых запоминающих устройств или программируемых логических матриц производится предварительно перед сборкой контроллера. The storage device 7 may be implemented, for example, on the basis of read-only programmable storage devices or programmable logic arrays. Programming persistent programmable storage devices or programmable logic arrays is done before the controller is assembled.
Запоминающее устройство 7 выполняет функции арифметико-логического устройства с нестандартным набором арифметических и логических команд, который выбирается индивидуально для каждого конкретного исполнения контроллера. Набор арифметических и логических команд реализуется путем программирования постоянных программируемых запоминающих устройств или программируемых логических матриц, входящих в состав запоминающего устройства 7. Нестандартный набор арифметических и логических команд при программировании запоминающего устройства 7 выбирается таким, чтобы повысить быстродействие контроллера и, в частности, за счет этого добиться сокращения аппаратурных затрат и расширения его функций. The storage device 7 performs the functions of an arithmetic-logical device with a non-standard set of arithmetic and logical commands, which is selected individually for each specific controller execution. A set of arithmetic and logical commands is implemented by programming permanent programmable storage devices or programmable logic matrices that are part of the storage device 7. A non-standard set of arithmetic and logical commands when programming the storage device 7 is selected so as to increase the speed of the controller and, in particular, due to this to achieve a reduction in hardware costs and the expansion of its functions.
При использовании постоянных программируемых запоминающих устройств для построения запоминающего устройства 7 в их ячейках памяти должны быть записаны результаты логических и арифметических операций над операндами, которые подаются на их адресные входы. When using permanent programmable storage devices to build a storage device 7 in their memory cells should be recorded the results of logical and arithmetic operations on operands that are fed to their address inputs.
Примером программируемой в запоминающем устройстве 7 нестандартной арифметической операции может служить операция вычитания, выполняемая на запоминающем устройстве. Время выполнения такой операции меньше, чем время выполнения аналогичной операции на стандартных арифметико-логических устройствах, поскольку для выполнения этой операции не требуется перевода одного из операндов в дополнительный код. Программирование должно выполняться таким образом, чтобы результат операции читался на выходы запоминающего устройства 7 при подаче операндов на первую и вторую группы его входов, при подаче кода операции на входы управления и при подаче сигнала входного переноса на вход переноса запоминающего устройства 7. An example of a non-standard arithmetic operation programmed in the storage device 7 can be a subtraction operation performed on the storage device. The execution time of such an operation is shorter than the execution time of a similar operation on standard arithmetic-logic devices, since this operation does not require the translation of one of the operands into additional code. Programming should be performed in such a way that the result of the operation is read to the outputs of the storage device 7 when the operands are supplied to the first and second groups of its inputs, when the operation code is supplied to the control inputs and when the input transfer signal is applied to the transfer input of the storage device 7.
Другим примером операции может служить операция умножения на константу. При этом запоминающее устройство 7 должно программироваться таким образом, чтобы при подаче множимого на первую группу адресных входов и при подаче на входы управления кода операции на выходах ячеек памяти запоминающего устройства 7 считывался результат операции, а выход переноса запоминающего устройства 7 мог указывать на то, что результат операции не вмещается в одно слово. В этом случае запоминающее устройство 7 программируется таким образом, чтобы при подаче кода операции извлечения из запоминающего устройства 7 следующего слова результата операции умножения на выходах запоминающего устройства 7 читалось следующее слово результата операции. Another example of an operation is the operation of multiplication by a constant. In this case, the storage device 7 should be programmed in such a way that when the multiplier is supplied to the first group of address inputs and when the operation code is supplied to the control inputs, the result of the operation is read at the outputs of the memory cells of the storage device 7, and the transfer output of the storage device 7 could indicate that the result of the operation does not fit in one word. In this case, the storage device 7 is programmed so that when the operation code is retrieved from the storage device 7 for the next word of the result of the multiplication operation, the next word of the result of the operation is read at the outputs of the storage device 7.
Если запоминающее устройство 7 выполнено односекционным на основе программируемого постоянного запоминающего устройства, то первая группа адресных входом запоминающего устройства 7 соединена с первой группой входов адреса программируемого постоянного запоминающего устройства, вторая группа входов адреса которого соединена с второй группой адресных входов запоминающего устройства 7, третья группа входов адреса соединена с входами управления запоминающего устройства 7, выходы соединены с выходами запоминающего устройства 7, вход адреса соединен с входом переноса запоминающего устройства 7, а выход - с выходом переноса запоминащего устройства 7. If the storage device 7 is made single-section based on programmable read-only memory, then the first group of address inputs of the storage device 7 is connected to the first group of address inputs of the programmable read-only memory, the second group of address inputs of which are connected to the second group of address inputs of the storage device 7, the third group of inputs the address is connected to the control inputs of the storage device 7, the outputs are connected to the outputs of the storage device 7, the address sa connected to the input transfer memory 7 and output - with output transfer storage devices 7.
Для выполнения операции вычитания предварительно перед сборкой контроллера программируемые постоянные запоминающие устройства программируются таким образом, что при подаче на входы управления запоминающего устройства 7 кода операции вычитания, на первую группу его адресных входов кода уменьшаемого, на вторую группу его адресных входов кода вычитаемого на выходы программируемого постоянного запоминающего устройства, являющиеся выходами запоминающего устройства 7, из его ячеек памяти считываются коды чисел, являющиеся разностью уменьшаемого и вычитаемого. Если уменьшаемое меньше вычитаемого, то на выходе переноса запоминающего устройства 7, являющемся выходом программируемого постоянного запоминающего устройства, из ячейки памяти, адрес которой определяется кодами уменьшаемого, вычитаемого и кодом операции, считывается сигнал выходного переноса. Сигнал входного переноса, подключаемый к одному из входов адреса программируемого постоянного запоминающего устройства, также влияет на результат операции, поскольку выбирается соответствующая ячейка памяти. To perform the subtraction operation, the programmable read-only memory devices are pre-programmed before the controller is assembled in such a way that when the subtraction operation code is supplied to the control inputs of the memory device 7, it is reduced to the first group of its address inputs, the code is deducted to the outputs of the programmable constant memory device, which are the outputs of the memory device 7, from its memory cells are read codes of numbers, which are the difference of the mind shaemogo and subtract. If the reducible is less than the subtracted, then the output transfer signal is read out from the memory cell, the address of which is determined by the codes to be reduced, subtracted and the operation code, at the transfer output of the storage device 7, which is the output of the programmable read-only memory device. The input transfer signal connected to one of the address inputs of the programmable read-only memory also affects the result of the operation, since the corresponding memory cell is selected.
Если входов адреса программируемого постоянного запоминающего устройства недостаточно для выполнения операций над многоразрядными числами, то запоминающее устройство 7 выполняется секционированным. Каждая из секции 52 запоминающего устройства может выполняться на основе программируемого постоянного запоминающего устройства. При этом первая группа входов секции 52 запоминающего устройства предназначена для подачи нескольких разрядов уменьшаемого, вторая группа входов - нескольких разрядов вычитаемого, третья группа входов - кода операции, входы переноса секции 52 запоминающего устройства - выходных сигналов с выходов переноса запоминающего устройства 53 ускоренных переносов, входы переноса которого предназначены для подачи сигналов распространения и генерации переноса с выходов переноса секции 52 запоминающего устройства. Вход переноса запоминающего устройства 53 ускоренных переносов и вход переноса секции 52 запоминающего устройства предназначены для подачи на них сигнала входного переноса. Входы управления запоминающего устройства 53 служит для подачи на них сигналов кодов операции. If the address inputs of the programmable read-only memory are not enough to perform operations on multi-digit numbers, then the storage device 7 is partitioned. Each of the
Запоминающее устройство 53 ускоренных переносов может быть выполнено, например, на основе программируемой логической матрицы или программируемого постоянного запоминающего устройства, которые программируются заранее перед сборкой контроллера таким образом, что при подаче на входы переносов сигналов распространения переноса и генерации переноса с выходов переноса секции 52 запоминающего устройства на выходах переносов запоминающего устройства 53 ускоренных переносов генерируются сигналы входных переносов для каждой из секций 52 запоминающего устройства, с учетом этих сигналов на выходах которых формируется результат операции. The
Аналогично путем программирования в ячейках памяти запоминающего устройства 7 результатов операций реализуются операции сложения, сдвига, логического сложения и умножения. Кроме того, реализуются логические операции преобразования кодов, например преобразования кодов адреса с шины 18 адреса контроллера в коды адреса ячеек оперативной памяти 6. Реализуются логические операции преобразования слов состояний и управления в коды управления, которые подаются с выходов состояний запоминающего устройства 7 на первую группу входов шифратора 11 управления. По этим кодам управления контроллер переходит на тот или иной режим функционирования. Similarly, by programming in the memory cells of the storage device 7 of the results of operations, operations of addition, shift, logical addition and multiplication are realized. In addition, the logical operations of code conversion are implemented, for example, the conversion of address codes from the
Каждая из операций, выполняемая на запоминающем устройстве 7, программируется таким образом, чтобы максимально уменьшить время реакции контроллера по отработке внешних воздействий и добиться выполнения процессов реального времени, например обеспечить обмен данными (словами управления и состояний) между шиной 17 данных контроллера и оперативной памятью 6 в режиме программного обмена со стороны ЭВМ 21 за время, отведенное для режимов чтения и записи на шине 17 данных. Операции, выполняемые на запоминающем устройстве 7, позволяют, например, обеспечить фильтрацию принимаемых из канала 24 связи пакетов по адресам назначения этих пакетов за промежутки времени, не превышающие время приема пакета минимальной длины. Each of the operations performed on the storage device 7 is programmed in such a way as to minimize the response time of the controller to process external influences and achieve real-time processes, for example, to ensure the exchange of data (control and state words) between the
Для расширения возможности запоминающего устройства 7 по хранению в его ячейках памяти результатов арифметических и логических операций над операндами, подаваемыми на его входы при выполнении однооперандных команд, вторая группа адресных входов запоминающего устройства 7 используется как группа управляющих входов, сигналы управления при этом подаются с второй и третьей групп выходов памяти 70 микрокоманд через регистровое устройство 8. To expand the ability of the memory device 7 to store in its memory cells the results of arithmetic and logical operations on operands supplied to its inputs when performing single-operand commands, the second group of address inputs of the memory device 7 is used as a group of control inputs, the control signals are supplied from the second and the third group of
Контроллер 9 прерываний обеспечивает арбитраж запросов внутренних прерываний и формирует на своих выходах вектор внутренних прерываний для перевода контроллера в новый режим работы. The interrupt controller 9 provides arbitration of internal interrupt requests and generates an internal interrupt vector at its outputs to transfer the controller to a new operating mode.
В качестве логической матрицы 66 может использоваться программируемая логическая матрица, программируемая перед установкой в контроллер. Программирование выполняется таким образом, что программируемая логическая матрица на своих выходах формирует сигналы вектора, значение которого определяется состоянием входов управления приоритетами, состоянием входов текущего приоритета и входов запросов. Программирование выполняется таким образом, что если состояние входов управления приоритетами определяет приоритет более высокий, чем запрашиваемый приоритет на входах запроса логической матрицы 66, то на ее выходе управления не формируется сигнал запроса. Если на входах запроса запрашиваемый приоритет равен или выше приоритета на входах управления приоритета и на первой группе входов логической матрицы 66 (выше текущего приоритета), то на выходах логической матрицы 66 должны формироваться сигналы вектора внутренних прерываний, соответствующие наивысшему из запрашиваемых приоритетов на входах запроса, а на выходе управления логической матрицы 66 должен формироваться сигнал запроса. As the
Регистр 67 служит для хранения сигнала запроса, который вместе с сигналами вектора внутренних прерываний по тактовому импульсу на входе синхронизации регистра 67 вектора прерываний переписывается на его выходы и на выход управления.
Приоритеты могут распределяться следующим образом. Наивысшим приоритетом обладают режим инициализации контроллера, затем его режимы чтения и записи при работе в программном обмене с ЭВМ 21, затем режимы перехода на прямой доступ к памяти ЭВМ 21 - переход на эти режимы производится после выполнения внутренних прерываний по сигналам запросов с выходов контроллера 2 шины. Следующий по значению приоритет у программы фильтрации принимаемых пакетов по адресам назначения. Запросы на прерывания для этого режима поступают с второй группы выходов состояний приемника 12. Следующий по приоритету запрос с выходов состояний передатчика 13 на прерывание по концу передачи пакета. Наиболее низкий приоритет поступает на вход запроса контроллера 9 прерываний при переходе на подпрограмму таймера-задатчика. Priorities can be distributed as follows. The controller’s initialization mode has the highest priority, then its read and write modes when working in software exchange with the
Шифратор 11 управления предназначен для формирования управляющих сигналов на узлы контроллера. Управляющие сигналы, в частности, могут формироваться в виде последовательности микрокоманд. Ргеистр 68 микрокоманд предназначен для временного хранения микрокоманд и для выдачи микрокоманд с первой группы выходов регистра 68 микрокоманд на шину 16 управления контроллера и с второй его группы выходов на шину 80 управления. Память 70 микрокоманд предназначена для хранения микрокоманд и констант. В качестве памяти 70 микрокоманд может быть использовано программируемое постоянное запоминающее устройство. Константы считываются с второй группы выходов памяти 70 микрокоманд. Последовательность выборки микрокоманд из памяти 70 микрокоманд обеспечивается подачей на ее входы адреса сигналов адреса, формируемых формирователем 73 адреса микрокоманды, дешифратором-преобразователем 72 начального адреса, контроллером 9 прерываний. Мультиплексор 71 предназначен для коммутации сигналов адреса с выходов формирователя 73 адреса микрокоманды, дешифратора-преобразователя 72 начального адреса, контроллера 9 прерываний на входы адреса памяти 70 микрокоманд. Дешифратор-преобразователь 72 начального адреса преобразует сигналы управления с выходов запоминающего устройства 7 в адреса памяти 70 микрокоманд. Генератор 75 синхронизирует работу шифратора 11 управления. По его импульсам осуществляются смена микрокоманд в регистре 68 микрокоманд, синхронизация формирователя 73 адреса микрокоманды, счетчика-таймера 77, контроллера 9 прерываний и регистрового устройства 8. Мультиплексор 69 позволяет выполнить переключение сигналов констант с второй группы выходов памяти 70 микрокоманд и сигналов интервалов времени с выходов счетчика-таймера 77 на первую группу входов регистрового устройства 8. Мультиплексор 76 обеспечивает по сигналам на своих входах управления переключение сигнала входного переноса или с выхода переноса запоминающего устройства 7, или с шины 80 управления на вход переноса запоминающего устройства 7. Мультиплексор 74 условий переключает со своих входов на вход условий формирователя 73 адреса микрокоманды сигналы условий. Счетчик-таймер 77 предназначен для синхронизации работы программных таймеров контроллера по сигналам с его выходов. Дешифратор 78 по достижении на выходах счетчика-таймера 77 определенного значения сигналов на своем выходе формирует сигнал, опрокидывающий RS-триггер 79. RS-триггер 79 формирует сигнал запроса прерываний контроллера 9 прерываний при переходе на подпрограмму таймера-задатчика. The control encoder 11 is designed to generate control signals to the controller nodes. Control signals, in particular, can be formed as a sequence of microcommands.
Формирователь 73 адреса микрокоманды формирует адреса микрокоманд, которые поступают на его выходы или с выходов регистра 84, или с выходов стека 86, или с шины 80 управления через его входы адреса. Сумматор 85 при наличии на входе инкремента сигнала единицы наращивает адрес микрокоманды на единицу, что дает возможность формировать последовательность адресов. Стек 86 при переходе на подпрограмму обеспечивает загрузку адреса микрокоманды из регистра 84 в стек 86 с последующей его выгрузкой на выходы стека 86 при выходе из подпрограммы. Дешифратор 89 предназначен для установки режимов работы формирователя 73 адреса микрокоманды по сигналам на входах инструкций дешифратора 89. В соответствии с сигналом на входе условий на его выходах формируются сигналы управления узлами формирователя 73 адреса микрокоманды. Синхронизация узлов формирователя 73 адреса микрокоманды производится по импульсам, поступающим через его вход синхронизации с генератора 75. По этим импульсам производятся наращивание или вычитание содержимого реверсивного счетчика-указателя 87 стека, запись в стек 86, запись в регистр 84. Регистр 84 служит для временного хранения адресов микрокоманд, которые записываются в регистр 84 с выходов сумматора 85 по тактовым импульсам, поступающим на вход синхронизации регистра 84. Реверсивный счетчик-указатель 87 стека формирует сигналы адреса на входах адреса стека 86, необходимые для выбора ячеек памяти в стеке 86. Мультиплексор 88 служит для коммутации сигналов с выходов стека 86, с выходов регистра 84, с входов адреса формирователя 73 адреса микрокоманды на выходы формирователя адреса микрокоманды. The
Контроллер 2 шины обеспечивает управление процессом обмена данными между ЭВМ 21 и контроллером. В режимах программного обмена, прямого доступа к памяти и в режиме прерывания сигналы на входах управления контроллера 2 шины задают режимы его работы. Контроллер 2 шины обеспечивает управление интерфейсом 1, приемником 12, передатчиком 13, селектором 10 адреса сигналами, подаваемыми с выходов управления контроллера 2 шины. Контроллер 2 шины при обмене данными с ЭВМ 21 выполняет обмен сигналами управления с ЭВМ 21 по системной шине 19 управления. The bus controller 2 provides control of the data exchange process between the
Дешифратор 59 предназначен для формирования сигналов, обеспечивающих управление процессом обмена данными между ЭВМ 21 и контроллером. Таймерное устройство 60 формирует сигналы, которые позволяют дешифратору 59 при формировании сигналов, управляющих процессом обмена данными, выдерживать требуемые на системной шине ЭВМ 21 временные соотношения. Усилители 58 предназначены для согласования цепей шины 19 управления контроллера с цепями контроллера 2 шины. The
Интерфейс 1 предназначен для сопряжения шины 17 данных и шины 18 адреса контроллера с его внутренними цепями. Интерфейс 1 под управлением сигналов с выходов управления контроллера 2 шины выполняет обмен данными между шиной 17 данных и узлами контроллера. Интерфейс 1 пересылает сигналы адреса в режиме программного обмена с шины 18 адреса на адресные входы селектора 10 адреса и на первую группу входов мультиплексора 14 или пересылает в режиме прямого доступа к памяти сигналы адреса с разрядных выходов счетчика 3 адреса на шину 18 адреса контроллера. Interface 1 is designed to interface the
Усилители 54 и 55 являются двунаправленными и предназначены для согласования внутренних цепей контроллера с его шиной 17 данных и шиной 18 адреса. Усилители 54 коммутируют сигналы адреса с разрядных выходов счетчика 3 адреса на шину 18 адреса или шины 18 адреса на первую группу входов мультиплексора 14. Усилители 55 коммутируют сигналы данных между шиной 17 данных контроллера и выходами регистра 56, а также второй группой входов мультиплексора 14 и входами передатчика 13. Регистр 56 предназначен для временного хранения данных, пересылаемых из контроллера на шину 17 данных. Коммутатор 57 предназначен для коммутации данных на входы регистра 56 с внутренней шины 15 контроллера или с выходов приемника 12.
Регистровое устройство 8 предназначено для хранения данных, загружаемых в его регистры 63 с выходов запоминающего устройства 7 с внутренней шины 15, а также для хранения констант, загружаемых с второй группы памяти 70 микрокоманд через мультиплексор 69, и хранения сигналов управления, загружаемых с третьей группы выходов памяти микрокоманд. Регистровое устройство 8 выдает сигналы из регистров 63 на входы адреса оперативной памяти 6, на внутреннюю шину 15 контроллера, на вторую группу адресных входов и на вход управления запоминающего устройства 7. Регистры 63 являются памятью со стековой организацией и служат для хранения данных, записываемых в регистры 63 под управлением сигналов с входов управления регистрового устройства 8 по синхроимпульсам с входа синхронизации регистрового устройства 8. Стековая организация памяти позволяет уменьшить время перехода на подпрограммы. Реверсивный счетчик 65 служит указателем стека, и его выходные сигналы, подаваемые на входы адреса регистров 63, позволяют производить выбор ячеек памяти регистров 63. Реверсивный счетчик 65 под управлением сигналов с входов управления регистрового устройства 8 позволяет наращивать или уменьшать адреса ячеек памяти регистров 63 при подаче на вход синхронизации реверсивного счетчика 65 синхроимпульсов с выхода генератора 75. Мультиплексор 62 предназначен для переключения входных, а мультиплексор 61 - для переключения выходных сигналов регистров 63 по сигналам с входов управления регистрового устройства 8. Двунаправленные усилители 64 служат для коммутации сигналов между входами-выходами регистрового устройства 8, выходами регистров 63, коммутируемыми через мультиплексор 61, или входами регистров 63, коммутируемыми через мультиплексор 62. The register device 8 is designed to store data loaded into its
Оперативная память 6 служит для хранения в ее ячейках слов состояний и управления, которыми ЭВМ 21 и контроллер обмениваются в режиме программного обмена и режиме прямого доступа к памяти. Там же хранится вектор прерывания. Кроме того, оперативная память служит для хранения данных, необходимых для функционирования контроллера. Random access memory 6 is used to store state and control words in its cells, which the
Мультиплексор 14 служит для коммутации данных на внутреннюю шину 15 контроллера, поступающих с шины 17 данных через интерфейс 1 на вторую группу входов мультиплексора 14, или коммутации сигналов адреса, поступающих с шины 18 адреса через интерфейс 1 на первую группу входов мультиплексора 14. The multiplexer 14 is used for switching data to the
Счетчик 3 адреса предназначен для формирования сигналов адреса, которые в режиме прямого доступа поступают через интерфейс 1 на шину 18 адреса для адресации к памяти ЭВМ 21. Счетчик 3 адреса обеспечивает параллельную загрузку начального адреса с внутренней шины 15 контроллера и дальнейший отсчет адресов импульсов с выходов контроллера 2 шины. The address counter 3 is used to generate address signals that, in direct access mode, are sent via the interface 1 to the
Регистр 4 адреса служит для хранения конечного адреса зоны памяти ЭВМ 21, загружаемого в него с внутренней шины 15. Register 4 addresses serves to store the final address of the memory zone of the
Схема 5 сравнения предназначена для формирования на ее выходе сигнала сравнения при равенстве содержимого счетчика 3 адреса и регистра 4 адреса, что позволяет определить момент, когда при чтении или записи в режиме прямого доступа к памяти обращение выполнено ко всем ячейкам памяти ЭВМ 21, начиная от начального адреса, загруженного по входам данных в счетчик 3 адреса, и заканчивая конечным адресом, загруженным в регистр 4 адреса. The comparison circuit 5 is designed to generate a comparison signal at its output when the contents of the address counter 3 and the address register 4 are equal, which allows you to determine the moment when, when reading or writing in direct access to memory, access is made to all memory cells of the
Селектор 10 адреса предназначен для селекции адресов шины 18 адреса контроллера, с которым ЭВМ 21 обращается к контроллеру в режиме программного обмена. При этом с выходов управления контроллера 2 шины в режиме программного обмена при наличии сигналов адресов на шине 18 адреса на входы управления селектора 10 адреса поступают сигналы разрешения селекции. При распознании адреса селектора 10 адреса на своих выходах формирует сигналы запросов внутренних прерываний, поступающих на четвертую группу входов запросов контроллера 9 прерываний. Селектор 10 адреса предназначен для формирования сигналов запросов прерываний по чтению или по записи данных в режиме программного обмена в зависимости от того, производит ЭВМ 21 запись в котроллер или чтение данных. The address selector 10 is designed to select the addresses of the
Приемник 12 предназначен для приема с входа контроллера последовательного потока данных, представленных кодом Манчестер-11, декодирования принимаемых данных в код без возвращения к нулю, преобразования принимаемых данных в параллельный шестнадцатиразрядный код слов данных. Приемник 12 буферизирует принимаемые данные в фифо 90 приема и через свои выходы в режиме прямого доступа передает слова данных через интерфейс 1 на шину 17 данных контроллера. Он поддерживает режим прямого доступа к памяти, формируя на своих выходах управления сигналы управления контроллером 2 шины в режиме прямого доступа, и контролирует ошибки контроля в принимаемом сигнале и наличие передач в кабеле связи (контроль несущей). Приемник 21 различает в принимаемом коде ограничитель преамбулы, после которого следуют данные пакета, и формирует по числу принятых данных на своих выходах состояний сигнал требования внутренних прерываний на фильтрацию адресов назначений принимаемых пакетов, а также формирует биты состояний, определяющие качество принятого пакета, правильную его длину в битах и словах. The receiver 12 is intended for receiving from the controller input a serial data stream represented by the Manchester-11 code, decoding the received data into a code without returning to zero, converting the received data into a parallel sixteen-bit code of data words. The receiver 12 buffers the received data in
Декодер 96 предназначен для преобразования кода Манчестер-11 в код данных без возвращения к нулю на выходе декодера 96, сопровождаемый тактовыми синхроимпульсами на его выходе синхронизации. Сдвиговый регистр 92 служит для преобразования последовательного кода данных без возвращения к нулю в параллельный код шестнадцатиразрядных слов данных. Фифо 90 приема предназначено для временной буферизации принимаемых данных, что позволяет выполнить согласование скоростей обмена данными по каналу 24 связи и по шине 17 данных контроллера. Оно предназначено для хранения меток конца кадра, которыми метится последнее слово принятого пакета. Детектор 93 флага определяет момент приема ограничителя преамбулы в принимаемом пакете и вырабатывает при этом сигнал, который по S-входу опрокидывает RS-триггер 94, и с этого момента начинается прием данных из канала 24 связи. RS-триггер 94 формирует на своем выходе сигнал сброса счетчика 98 битов. Детектор 97 входного сигнала предназначен для формирования на его выходе сигнала несущей при наличии передач в канале 24 связи. Логика 95 циклического контроля предназначена для выявления ошибок в принимаемых пакетах. Контроль ошибок выполняется на основе полинома степени 16. При наличии ошибок в пакет на выходе контроля логики циклического контроля формируется сигнал ошибки. Счетчик 98 битов позволяет производить подсчет принимаемых битов данных по синхроимпульсам на его счетом входе и, таким образом, определять кратность принимаемых данных числу восемь для выявления байтовых границ принимаемых пакетов. Некратность числу восемь определяет ошибку приема. По счетчику 98 битов управляющая логика 100 формирует синхроимпульсы для подачи их на счетный вход счетчика 99 для подсчета числа принятых байтов в пакете. Счетчик 99 байтов предназначен для подсчета числа принимаемых байтов в пакете. Управляющая логика 100 предназначена для управления работой узлов приемника 12 и формирует на своих выходах сигналы запросов внутренних прерываний на фильтрацию пакетов по адресам назначения, которые выдаются на выходы состояний приемника. Управляющая логика 100 формирует на выходах приемника 12 сигналы состояний приема, которые подаются на третью группу входов мультиплексора 74 условий, и формирует на своих выходах, подключенных к выходам управления приемника 12, сигналы, управляющие работой контроллера 2 шины в режиме прямого доступа к памяти. Мультиплексор 91 предназначен для коммутации на внутреннюю шину 15 контроллера данных с выходов фифо 90 приема или битов состояний с шины 106, с выходов счетчика 98 битов, с выхода детектора 97 входного сигнала и с выхода логики 95 циклического контроля.
Передатчик 13 предназначен для обмена передаваемыми данными с ЭВМ 21 и внутренней шины 15 контроллера, а также для предварительной буферизации передаваемых данных в фифо 107 передачи и для последующего преобразования данных в код Манчестер-11 и передачи его в канал 24 связи. Передатчик 13 перед передачей пакета данных передает в канал 24 связи преамбулу, завершая ее ограничителем преамбулы, а завершает передачу пакета контрольной суммой, сгенерированной логикой 109 циклического контроля. Фифо 107 передачи предназначен для временного хранения передаваемых пакетов данных. Сдвиговый регистр 108 предназначен для преобразования передаваемых данных в последовательный код без возвращения к нулю. Логика 109 логического контроля предназначена для генерации контрольной суммы при делении передаваемых данных на полином степени 16. Логика циклического контроля аналогична имеющейся в прототипе. Коммутатор 110 предназначен для коммутации на вход кодера 111 данных с выхода сдвигового регистра 108 или контрольной суммы с выхода логики 109 циклического контроля, передаваемой после передачи последнего бита данных. Усилители 114 предназначены для согласования шины 116 и внутренней шины 15 контроллера при передаче на внутреннюю шину 15 битов состояний с выходов управляющей логики 113. Управляющая логика 113 предназначена для управления работой узлов передатчика 13. Она формирует и подает на вход меток фифо 107 передачи сигналы меток, которыми метится последнее слово передаваемого пакета при записи его в фифо 107 передачи. Управляющая логика 113 вырабатывает сигналы управления на входах управления фифо 107 передачи, по которым выполняется запись слов данных с входов передатчика 13 в фифо 107 передачи или чтение передаваемых слов данных на выходы фифо 107 передачи. The transmitter 13 is designed to exchange the transmitted data with the
Управляющая логика 113 формирует при передаче пакета сигнал записи слов на входе записи сдвигового регистра 108 по состоянию выходов счетчика 112 битов, когда все биты предыдущего слова сдвинуты регистром 108, и формирует на входах управления логики 109 циклического контроля сигналы управления, по которым логика циклического контроля генерирует контрольную сумму для передаваемого пакета или выдает контрольную сумму на свой выход побитно, синхронизируя наличие каждого из битов контрольной суммы на выходе синхроимпульсами с выходам генератора 115. Управляющая логика 113 формирует сигналы управления на входе управления коммутатора 110, по которым производится коммутация сигналов или с выхода сдвигового регистра 108, или с выхода логики 109 циклического контроля на вход кодера 111. Она формирует сигнал сброса счетчика 112 битов, что позволяет последнему в отсутствие сигнала сброса производить счет синхроимпульсов с выхода генератора 115. Это необходимо для формирования управляющей логикой 113 по сигналам с выходов счетчика 112 битов сигналов управления для последовательного считывания слов из фифо 107 передачи и перезаписи их в сдвиговый регистр 108. Управляющая логика 113 формирует на выходах состояний вектор внутренних прерываний по концу передачи пакета для запроса внутренних прерываний по второй группе входов запросов внутренних прерываний контроллера 9 прерываний. Она формирует на входах управления усилителей 114 сигнал управления, по которому слова состояний передачи пересылаются через усилители 114 с выходов состояний передачи на внутреннюю шину 15 контроллера. Сигнал управления на входах управления усилитей 114 формируется при запросе слова состояния передатчика 13 по его второй группе входов управления со стороны шифратора 11 управления. Управляющая логика 113 формирует на входах управления фифо 107 передачи сигнала управления записью слов данных при наличии на выходах управления контроллера 2 шины сигналов управления записью, поступающих на первую группу входов управления передатчика 13. При этом слова данных с входов передатчика 13 записываются в фифо 107 передачи. Логика 113 управления в синхронном режиме по сигналам управления с выходов управления контроллера 2 шины, формируемых в режиме записи прямого доступа к памяти ЭВМ 21, формирует на выходах управления передатчика 13 сигналы синхронизации, поддерживающие обмен между ЭВМ 21 и передатчиком 13. Логика 113 управления прекращает обмен данными с ЭВМ 21, снимая сигнал занятости с выходов управления передатчика 13 при наличии на входе передатчика сигнала сравнения с выхода "Равно" схемы 5 сравнения. Она имеет связь с внутренней шиной 15 контроллера через пятую группу своих входов. Это позволяет уменьшить число входов управления на второй группе входов управления передатчика 13 за счет того, что сигналы управления передатчиком подаются одновременно по внутренней шине 15 контроллера и по второй группе входов управления передатчика 13. Счетчик 112 битов служит для счета числа битов принятых данных. Кодер 111 предназначен для преобразования последовательного кода данных и кода контрольной суммы в код Манчестер-11. When the packet is transmitted, the
Схема 126 совпадений формирует на своем выходе инверсный код с возвращением к нулю передаваемых данных. Инвертор 125 и схема 127 совпадений формируют на своем выходе инверсный код с возвращением к нулю инвертированных передаваемых данных. JK-триггер 128 формирует на своем выходе код Манчестер-11. JK-триггер 129 является делителем частоты и формирует на своем выходе импульсы, подаваемые на вторые входы 126 и 127 совпадений. The
Линия 130 задержки декодера 96 служит для фазовой задержки принимаемого кода Манчестер-11. Схемы ИСКЛЮЧАЮЩЕЕ ИЛИ 131, 132, инвертор 133 и D-триггер 134 служат для выделения синхронизирующей тактовой частоты из принимаемого кода Манчестер-11. D-триггер 135 служит для формирования из принимаемого сигнала кода данных без возвращения к нулю. Схема ИСКЛЮЧАЮЩЕЕ ИЛИ 137, схема 138 совпадений, сдвиговый регистр 139, схема ИСКЛЮЧАЮЩЕЕ ИЛИ 140, сдвиговый регистр 141, схема ИСКЛЮЧАЮЩЕЕ ИЛИ 142, сдвиговый регистр 143 служат для вычисления контрольной суммы при делении входного кода данных на образующий полином х15+х12+х5+1.The
Мультиплексор 144 служит для коммутации на выход данных входных данных, подаваемых на его первый вход, или кода контрольной суммы, подаваемого на его второй вход. Это позволяет выполнять передачу кода контрольной суммы после передачи пакета данных. Дешифратор 145 по сигналам на его входах формирует на своем выходе контроля сигнал ошибки контрольной суммы при наличии ошибки в принимаемых на вход логики циклического контроля данных. A
Оперативная память 146 служит для временного хранения принимаемых или передаваемых данных, что позволяет согласовывать скорости обмена в канале 24 связи и на шине 17 данных контроллера. Оперативная память 147 служит для хранения сигналов меток, которыми размечаются слова принимаемых или передаваемых данных. Мультиплексор 148 переключает сигналы адресов с выходов счетчиков 149 и 150 на входы адреса оперативной памяти 146 и оперативной памяти 147. Счетчик 149 служит для формирования адреса при записи слов данных в оперативную память 146. Счетчик 150 служит для формирования адреса при считывании слов данных из оперативной памяти 147.
Работает контроллер следующим образом. The controller works as follows.
Перед началом работы ЭВМ 21 инициализирует контроллер. Его инициализация осуществляется или при подаче сигнала инициализации по системной шине 19 управления со стороны ЭВМ 21, или программной инициализацией. В режиме инициализации контроллер записывает в оперативную память 6 слова начальных состояний слов состояний и управления. Переход на подпрограмму инициализации осуществляется при запросе прерывания на третьей группе входов запросов прерываний контроллера 9 прерываний. Эти запросы поступают с выходов контроллера 2 шины при наличии на его входах-выходах сигнала инициализации со стороны ЭВМ 21. Before you start the
Переход на подпрограмму инициализации может быть произведен при записи первого слова состояний из ЭВМ 21 в контроллер в режиме программного обмена. В процессе работы контроллер обменивается данными с ЭВМ 21 в режиме программного обмена и в режиме прямого доступа к памяти ЭВМ 21. В режиме программного обмена контроллер и ЭВМ 21 обмениваются словами состояний и словами управления. В режиме прямого доступа к памяти ЭВМ 21 контроллер обменивается с ЭВМ 21 принимаемыми из канала 24 связи или передаваемыеми в канал 24 связи пакетами, а также данными управления. Слова состояний и управления хранятся в оперативном запоминающем устройстве 7. Обмен данными в режиме прямого доступа к памяти ЭВМ 21 может производиться группами слов без возврата системной шины в пользование ЭВМ 21. The transition to the initialization subroutine can be made by writing the first state word from the
Обмен данными в режимах программного обмена и прямого доступа к памяти осуществляется при управлении узлами контроллера микрокомандами, которые выбираются из памяти 70 микрокоманд во время выполнения соответствующих подпрограмм, описанных далее. Переход на какую-либо управляющую подпрограмму возможен при формировании вектора внутренних прерываний на выходах контроллера 9 прерываний, а также при формировании кода начального адреса управляющей подпрограммы на выходах запоминающего устройства 7, а также по адресам ветвлений, подаваемых с второй группы выходов регистра 68 микрокоманд на входы адреса формирователя 73 адреса микрокоманды. По векторам внутренних прерываний выполняются переходы на управляющие подпрограммы обслуживания внутренних прерываний, в число которых входят подпрограммы, перечисляемые далее в порядке убывания их приоритетности: подпрограмма инициализация контроллера, подпрограммы чтения и записи при программном обмене данными между ЭВМ 21 и контроллер, подпрограмма прямого доступа к памяти, подпрограмма фильтрации принимаемых пакетов по адресам назначения, подпрограмма таймера-задатчика. Data exchange in the modes of program exchange and direct access to memory is carried out by controlling the nodes of the controller microcommands, which are selected from the memory of 70 microcommands during the execution of the corresponding routines described below. The transition to any control subroutine is possible when generating the vector of internal interrupts at the outputs of the controller 9 interrupts, as well as when generating the code of the starting address of the control subroutine at the outputs of the storage device 7, as well as the branch addresses supplied from the second group of outputs of the
Код начального адреса управляющих подпрограмм формируется на выходах запоминающего устройства 7 в результате выполнения нестандартных логических операций над словами управления и состояний. Код начального адреса управляющих подпрограмм преобразуется на выходах дешифратора-преобразователя 72 начального адреса в адрес памяти 70 микрокоманд. The initial address code of the control routines is generated at the outputs of the storage device 7 as a result of non-standard logical operations on the control words and states. The code of the starting address of the control routines is converted at the outputs of the decoder-
Обмен данными, представляющими собой пакеты информации, слова управления и слова состояний, выполняется между контроллером, ЭВМ 21, приемником 12 и передатчиком 13. Приемник 12 принимает из канала 24 связи пакеты данных. Передатчик 13 передает в канал 24 связи пакеты данных. В режиме программного обмена ЭВМ 21 обращается к контроллеру по нескольким адресам шины 18 адреса для выполнения циклов чтения или записи. The exchange of data, which is information packets, control words and status words, is performed between the controller, the
Передача пакетов (фиг. 16) начинается с передачи преамбулы - чередующейся последовательности единиц и нулей, заканчивающейся двумя единицами - ограничителем преамбулы. Преамбула необходима для синхронизации приемников 12 всех устройств, подключенных к каналу 24 связи. Ограничитель преамбулы отделяют преамбулу от поля номера устройства, ведущего передачу (поле НУП), в котором передается уникальный номер устройства в локальной вычислительной сети. Этим номером определяется порядок передач пакетов устройствами. В поле управления указывается тип передаваемого пакета. Установленный бит 15 или бит 14 указывает на то, что передается пакет устройства-монитора. Установленный бит 13 указывает, что передается пакет маркера. The transmission of packets (Fig. 16) begins with the transmission of the preamble - an alternating sequence of ones and zeros, ending with two units - the preamble limiter. The preamble is necessary to synchronize the receivers 12 of all devices connected to the
Устройство-монитор предоставляет право на передачу пакетов в канал 24 связи устройствам. Пакет монитора может содержать произвольные данные. Пакет верхних уровней локальной вычислительной сети имеет в поле управления нулевые биты 15, 14 и 13, установленные в ноль. The monitor device provides the right to transmit packets to the
В поле адреса назначения указывается 48-битный адрес назначения пакета. Адрес назначения может быть индивидуальный (первый бит адреса установлен в ноль), групповым (первый бит адреса установлен в единицу) или широковещательным (все биты адреса установлены в единицу). В поле адреса источника указывается адрес устройства - отправителя пакета. В поле данных содержатся данные пакета. В поле контроля суммы передается контрольная сумма для данных, содержащихся в полях, передаваемых после ограничителя преамбулы. The destination address field indicates the 48-bit destination address of the packet. The destination address can be individual (the first bit of the address is set to zero), multicast (the first bit of the address is set to one) or broadcast (all bits of the address are set to one). The source address field indicates the address of the device - the sender of the packet. The data field contains the packet data. The checksum for the data contained in the fields transmitted after the preamble limiter is transferred to the amount control field.
Установленный бит 15 в поле управления означает, что передаваемый пакет является пакетом маркера. Установленный бит 14 в поле управления означает, что станция, передающая пакет, готовится стать станцией-монитором. Установленный бит 13 в поле управления означает, что передается пакет станции-монитора. The set bit 15 in the control field means that the transmitted packet is a marker packet. The set bit 14 in the control field means that the station transmitting the packet is preparing to become a monitor station. The set bit 13 in the control field means that the packet of the monitor station is being transmitted.
В памяти ЭВМ 21 для общения с контроллером в режиме прямого доступа отводятся зоны, предназначенные под хранение данных, подлежащих для передачи в канал 24 связи, - буферы передачи и зоны памяти, куда должна записываться принимаемая информация, буферы приема, а также зоны памяти, отведенные под дескрипторы буферов приема и дескриптов буферов передачи. Каждый из дескрипторов представляет собой зону памяти ЭВМ 21 из нескольких ячеек (фиг. 17). Дескрипторы в памяти ЭВМ 21 располагаются в смежных зонах памяти, т. е. следуют один за другим, образуя группы дескрипторов по восемь дескрипторов в группе (цепочки дескрипторов). Для каждого из буферов приема предназначается дескриптор буфера приема. Для каждого из буферов передачи предназначен дескриптор буфера передачи. В первой ячейке дескриптора хранится флаг дескриптора. Значащими битами флага являются биты 15 и 14. Они предназначены для квитирования установленных связей между ЭВМ 21 и контроллером. Биты инициализируются программным обеспечением ЭВМ 21 и модернизируются контроллером. Если биты 15 и 14 установлены в ноль (00), то буфер используется программным обеспечением. Если бит 15 и бит 14 имеют значение "1" и "0", то контроллер еще не использовал буфер, описываемый дескриптором. Если значение бита 15 и бита 14 "1" и "1", то контроллер использует буфер. In
Во второй ячейке дескриптора буфера хранятся старшие биты стартового адреса буфера, описываемого дескрптором (биты 00-05), и байт состояний (биты 08-15). В третьем слове дескриптора хранятся младшие биты стартового адреса буфера (биты 00-15). Общая длина стартового адреса буфера равна двадцати двум битам. In the second cell of the buffer descriptor, the high bits of the start address of the buffer described by the descriptor (bits 00-05), and status bytes (bits 08-15) are stored. The third word of the descriptor contains the least significant bits of the buffer start address (bits 00-15). The total length of the start address of the buffer is twenty-two bits.
Состояние битов 15 и 14 байта состояний "0" и "0" говорит о том, что биты стартового адреса буфера не значимые. Состояние битов 15 и 14 "1" и "0" говорит о том, что биты стартового адреса буфера значимые. Состояние битов 15 и 14 "1" и "1" говорит о том, что биты стартового адреса являются стартовым адресом дескриптора буфера, что необходимо для перехода с одной группы дескрипторов на другую. Установленный бит 13 байта состояний показывает, что буфер, описываемый дескриптором, содержит последний сегмент пакета. Установленный бит 12 байта состояний показывает, что буфер, описываемый дескриптором, содержит управляющие данные или, другими словами, является установочным пакетом. Остальные биты третьей ячейки являются резервными. The status of
В четвертой ячейке дескриптора хранится слово длины буфера, описываемого дескриптором. По слову длины буфера и стартовому адресу буфера можно вычислить адрес последней ячейки буфера. В пятой ячейке дескриптора содержится первое слово состояний буфера. В шестой ячейке дескриптора содержится второе слово состояний буфера. За шестой ячейкой дескриптора буфера, если он не является последним в группе дескрипторов, следует флаг следующего дескриптора. The fourth cell of the descriptor stores the word of the length of the buffer described by the descriptor. Using the word buffer length and the start address of the buffer, you can calculate the address of the last buffer cell. The fifth descriptor cell contains the first word of the buffer states. The sixth descriptor cell contains the second buffer state word. The sixth cell of the buffer descriptor, if it is not the last in the descriptor group, is followed by the flag of the next descriptor.
Значение битов первого слова состояний дескриптора буфера следующее: биты 15 и 14, установленные в состояние "1" и "0", информируют о том, что данный буфер не использовался контроллером. Состояние этих битов "1" и "1" означает, что буфер использовался контроллером, но не является последним сегментом пакета. Состояние этих битов "0" и "0" означает, что буфер содержит последний сегмент пакета, принятого или переданного с ошибками. The meaning of the bits of the first word of the state of the buffer descriptor is as follows:
Для дескриптора буфера передачи состояния битов 15 и 14 "0" и "0" в первом слове состояний передачи означает ошибку передачи по причине отсутствия сигнала, выявляемого детектором 97 входного сигнала в канале 24 связи при передаче пакета передатчиком 13, или по причине отсутствия подтверждения о принятом пакете от сетевого устройства, которому предназначался пакет. Одновременно при битах 15 и 14, равных "0" и "0", могут устанавливаться биты 12, 09, 03. Установленный бит 12 определяет отсутствие сигнала в канале 24 связи при передаче. Установленный бит 09 указывает, что на переданный пакет не поступило подтверждение о приеме. Биты 08, 07, 06, 05 содержат счетчик количества попыток передач пакета, на который не было подтверждения о приеме. Установленный бит 03 указывает, что произведено наибольшее допустимое количество передач одного и того же пакета без наличия подтверждения о приеме этого пакета. Биты во втором слове состояний дескриптора буфера передачи несут информацию об интервале времени между началом передачи пакета и поступлением подтверждения о его приеме. For the descriptor of the transmission buffer, the status of
Для дескриптора буфера приема в первом слове состояний значение битов 15 и 14 "0" и "0" означает ошибку приема по причине приема недопустимой длины пакета (например, длина более 1500 байтов) или по причине приема пакета с ошибкой циклического контроля, или по причине приема очень короткого пакета (например, менее 64 байтов), или по причине приема пакета, количество битов в котором не кратно восьми. При сбросе битов 15 и 14 в состояние "0" и "0" устанавливаются биты 11, 02, 01, 00. Установленный бит 11 означает, что принят короткий пакет менее 64 байтов длиной. Установленный бит 02 указывает, что длина принятого пакета имеет число битов, не кратных восьми. Установленный бит 01 говорит о наличии ошибки циклического контроля. Установленный бит 00 указывает, что пакет имеет недопустимо большую длину. Биты 10, 09, 08, 07, 06 обозначают номер пакета в сообщении. For the receive buffer descriptor in the first word of the status, the value of
Во втором слове состояний дескриптора буфера приема содержится информация о количестве байтов в принятом пакете. Установочный пакет описывается дескриптором буфера передачи, в котором бит 12 установлен в состояние "1". Установочный пакет содержит таблицу адресов назначения пакетов, которые контроллер должен принимать из канала 24 связи в свой буфер приема и транспортировать в памяти ЭВМ 21 в режиме прямого доступа
Установочный пакет может содержать до четырнадцати шестибайтовых адресов назначения пакетов, один из которых является широковещательным адресом, другой - индивидуальным адресом и остальные двенадцать адресов могут быть групповыми или индивидуальными. Широковещательный адрес предназначен для всех станций сети, подключенных к каналу 24 связи, и содержит единицы во всех своих сорока восьми битах. Индивидуальный адрес начинается с бита, установленного в ноль, - пакет с индивидуальным адресом принимает только один контроллер. Групповой адрес имеет первый бит, установленный в единицу, и служит для адресации к группе контроллеров. Групповые и индивидуальные адреса могут программно изменяться со стороны ЭВМ 21. Расположение адресов назначения в буфере установочного пакета в памяти ЭВМ 21 может быть, например, следующее: в буфере все четырнадцать адресов назначения занимают по три слова (шесть байтов) и образуют непрерывную зону в 42 слова.The second state word of the receive buffer descriptor contains information about the number of bytes in the received packet. The installation package is described by the descriptor of the transmission buffer, in which bit 12 is set to state "1". The installation package contains a table of destination addresses of packets that the controller must receive from the
An installation package can contain up to fourteen six-byte destination addresses for packages, one of which is a broadcast address, the other is an individual address, and the remaining twelve addresses can be group or individual. The broadcast address is intended for all network stations connected to the
Установочный пакет может содержать не двенадцать, а меньшее число групповых адресов назначения пакетов. Установочный пакет содержит в последних двух словах ( в слове числа и в слове номера контроллера) информацию о числе (NГ) контроллеров, подключенных к каналу 24 связи, и о номере (NУ) контроллера в канале 24 связи. Длина установочного пакета описывается четвертым словом дескриптора установочного пакета, в котором указывается длина буфера. The installation package may contain not twelve, but a smaller number of group destination addresses of the packages. The installation package contains in the last two words (in the word number and in the word number of the controller) information about the number (NG) of controllers connected to the
Контроллер обменивается с ЭВМ 21 дескрипторами буферов, установочными пакетами в режиме прямого доступа к памяти. Для хранения дескрипторов и установочных пакетов в оперативной памяти 6 отводятся ячейки памяти. The controller communicates with the
В оперативной памяти 6 хранятся слова состояний и управления, которыми ЭВМ 21 и контроллер обмениваются в режиме программного обмена по четырнадцати адресам шины 18 адреса. Этим адресам (адресам регистров порта) шины 18 адреса должны быть поставлены в соответствие четырнадцать адресов оперативной памяти 6, через которые выполняется программный обмен и которые содержат следующие слова: только читаемые шесть слов физического адреса назначения, в младших байтах которых содержатся шесть байтов физического адреса назначения, а в двух старших байтах двух последних слов содержится контрольный код физического адреса назначения; только записываемые четыре слова стартовых адресов дескрипторов буферов приема (два слова) и дескрипторов буферов передачи (два слова); слово вектора прерываний; первое слово состояний и управления. In RAM 6, the words of states and control are stored, which the
Физический адрес назначения является индивидуальным адресом назначения, хранящимся в памяти 70 микрокоманд, откуда он считывается при инициализации контроллера через вторую группу выходов шифратора 11 управления, через регистровое устройство 8 в оперативную память 6. Аналогично из памяти 70 микрокоманд в оперативную память 6 записывается контрольный код физического адреса назначения, который был вычислен и занесен в память 70 микрокоманд при ее первоначальном программировании. The physical destination address is an individual destination address stored in the memory of 70 microcommands, from where it is read when the controller is initialized through the second group of outputs of the control encoder 11, through the register device 8 into the main memory 6. Similarly, the physical control code 6 is written into the main memory 6 the destination address, which was calculated and stored in the memory of 70 microcommands during its initial programming.
ЭВМ 21 в режиме программного обмена считывает слова физического адреса назначения и контрольный код физического адреса назначения из контроллера и может переназначать или записывать физический адрес назначения в установочном пакете в качестве индивидуального адреса назначения. The
В режиме программного обмена ЭВМ 21 записывает в оперативную память 6 слово младших битов и слово старших битов стартового адреса дескриптора буфера передачи, слово младших битов и слово старших битов стартового адреса дескриптора буфера приема, а также слово вектора внешних прерываний и первое слово состояний и управления. Вектор прерываний, записываемый от ЭВМ 21 в контроллер, необходим для выполнения режима внешних прерываний. In the program exchange mode, the
Биты первого слова состояний и управления имеют следующее значение. Бит 15 - бит запроса прерываний ЭВМ 21 устанавливается контроллером после приема пакета из канала 24 связи в фифо 90 приема и транспортировки его в ЭВМ 21 и модернизации битов 15 и 14 в первом слове состояний последнего дескриптора буфера, в котором содержится последний сегмент сообщения. Программа обслуживания прерываний, выполняемая ЭВМ 21, должна очищать этот бит. Бит 15 очищается при инициализации контроллера. The bits of the first word of state and control have the following meaning. Bit 15 - the interrupt request bit of the
Бит 14 - бит запроса прерываний устанавливается контроллером, если список дескрипторов приема исчерпан. Программа обслуживаний прерываний и сигнал инициализации контроллера сбрасывают этот бит. Bit 14 — The interrupt request bit is set by the controller if the list of receive descriptors has been exhausted. The interrupt service program and the controller initialization signal reset this bit.
Бит 13 устанавливается контроллером при чтении со стороны ЭВМ 21 слова состояний и управления в случае, если в канале 24 связи имеется сигнал передаваемых пакетов (сигнал несущей), обнаруживаемый детектором 97 входного сигнала. Bit 13 is set by the controller when reading from the side of the
Бит 12 - резерв, бит 11- резерв, бит 10 - резерв. Bit 12 is reserve, bit 11 is reserve, bit 10 is reserve.
Бит 09 устанавливается со стороны ЭВМ 21, если контроллер переводится в режим закольцовывания. При этом контроллер транспортирует из ЭВМ 21 в фифо 107 передачи, передает в канал 24 связи, принимает из канала 24 связи в фифо 90 приема, транспортирует в ЭВМ 21 передаваемые им самим пакеты. Bit 09 is set from the side of the
Бит 07 устанавливается контроллером при запросе прерываний программы, выполняемой ЭВМ 21, когда передатчик 13 передал сообщение в канал 24 связи и модернизировал биты 15 и 14 в первом слове состояний дескриптора буфера передачи. Программное обеспечение и сигнал инициализации сбрасывают этот бит. Bit 07 is set by the controller when requesting interruptions to the program executed by the
Бит 06 устанавливается программным обеспечением, когда контроллеру разрешено генерировать сигнал прерываний ЭВМ 21. Этот бит очищается сигналом сброса и программным обеспечением. Bit 06 is set by software when the controller is allowed to generate a computer interrupt
Бит 05 устанавливается контроллером при запросе прерываний программного обеспечения ЭВМ 21, если список дескрипторов буферов приема исчерпан. Bit 05 is set by the controller when requesting interruptions to the
Бит 05 устанавливается в режиме инициализации и при установке бита 02. Бит 05 сбрасывается контроллером после загрузки в него слова младших и слова старших битов дескриптора буфера приема. Bit 05 is set in the initialization mode and when bit 02 is set. Bit 05 is reset by the controller after loading the least significant words and the most significant bits of the receive buffer descriptor into it.
Бит 04 - резерв, бит 03 - резерв. Bit 04 - reserve, bit 03 - reserve.
Бит 02 устанавливается контроллером при генерации сигнала запроса на прерывание ЭВМ 21, если ЭВМ 21 в режиме прямого доступа к памяти в течение времени тайм-аута таймерного устройства 60 не ответила сигналом готовности, подтверждающим чтение или запись слова. Bit 02 is set by the controller when generating a request signal to interrupt the
Бит 01 устанавливается ЭВМ 21, если программное обеспечение производит инициализацию контроллера. Bit 01 is set by the
Бит 00 устанавливается ЭВМ и разрешает прием пакетов из канала 24 связи. Bit 00 is set by the computer and allows the reception of packets from the
В оперативной памяти 6 хранится второе слово состояний и управления, не доступное для ЭВМ 21. Установленный бит 00 этого слова означает, что в контроллер произведена загрузка стартового адреса дескриптора буфера передачи. Установленный бит 01 означает, что в контроллер произведена загрузка стартового адреса дескриптора буфера приема. Установка бита 02 означает, что производится пересылка в режиме прямого доступа к памяти из ЭВМ 21 в кортроллер слов дескриптора буфера передачи. Установка 04 означает, что производится пересылка из ЭВМ 21 в контроллер слов дескриптора буфера приема. Установка бита 05 означает, что производится пересылка дескриптора буфера передачи из контроллера в ЭВМ 21. Установка бита 06 означает, что производится пересылка дескриптора буфера приема из контроллера в ЭВМ 21. Установка бита 08 означает, что производится пересылка из ЭВМ 21 в контроллер содержимого буфера передачи. Установка бита 09 означает, что производится пересылка из контроля в ЭВМ 21 содержимого буфера приема. Установка бита 10 означает, что производится ожидание режима прямого доступа к памяти ЭВМ 21. Установка бита 12 говорит о том, что производится пересылка из ЭВМ 21 установочного пакета. In RAM 6, the second state and control word is stored, which is not available for
Режимы работы контроллера 2 шины задаются сигналами на его входах управления. Если на третью группу его входов управления подан сигнал режима программного обмена, то он выдает на выходы управления сигналы управления, по которым сигналы адреса с шины 18 адреса поступают через интерфейс 1 на адресные входы селектора 10 адреса. При поступлении на системную шину 19 управления сигналов чтения или записи, сопровождающих сигналы адреса на шине 18 адреса, на выходах управления дешифратора 59 формируется сигнал, который позволяет селектору 10 адреса дешифратора адрес и в случае, если адресация в режиме программного обмена производится к контроллеру, на выходах селектора 10 адреса формируются сигналы запроса внутренних прерываний по чтению в режиме чтения или по записи в режиме записи. The modes of operation of the controller 2 of the bus are set by the signals at its control inputs. If a program exchange mode signal is supplied to the third group of its control inputs, then it gives control signals to the control outputs, through which address signals from
Когда контроллер завершает режим чтения или записи, на третью группу входов управления контроллера 2 шины подается сигнал готовности, по которому дешифратор 59 формирует сигнал "Готовность", и этот сигнал поступает на системную шину 19 управления, что завершает циклы чтения и записи. Если на третью группу входов управления контроллера 2 шины или на первую группу его входов управления, или на вторую группу его входов управления подаются сигналы режима чтения или записи в режиме прямого доступа к памяти ЭВМ, то дешифратор 59 формирует на второй группе выходов сигнал требования прямого доступа, который подается через усилители 58 на системную шину 19 управления. When the controller completes the read or write mode, a ready signal is supplied to the third group of control inputs of the bus controller 2, by which the
При появлении на системной шине 19 управления со стороны ЭВМ 21 сигнала подтверждения прямого доступа дешифратор 59 на второй группе выходов формирует сигналы "Занято". Эти сигналы выдаются на системную шину 19 управления как сигналы подтверждения захвата контроллером системной шины ЭВМ 21. На третьей группе выходов дешифратора 59 формируются сигналы запросов внутренних прерываний по подтверждению режима прямого доступа. На второй группе выходов дешифратора 59 формируются сигналы управления, по которым сигналы адреса с разрядных выходов счетчика 3 адреса выдаются через интерфейс 1 на шину 18 адреса контроллера. Если установлен при этом режим записи при прямом доступе к памяти, то по сигналам управления с второй группы выходов управления дешифратора 59 сигналы данных с выходов регистра 56 через усилители 55 шины данных считываются на шину 17 данных контроллера. На четвертой группе выходов дешифратора 59 формируются сигналы запуска таймерного устройства 60, по которым таймерное устройство начинает отсчет интервала времени, по окончании которого с его выходов на третью группу входов дешифратора 59 поступают сигналы. По ним на первой группе выходов дешифратора 59 формируется сигнал "Чтение" или сигнал "Запись" в зависимости от выбранного режима прямого доступа. When a direct access confirmation signal appears on the
При установке на второй группе входов дешифратора 59 режима внешних прерываний дешифратор 59 на второй группе своих выходов формирует сигнал требования прерывания. При появлении на системной шине 19 управления со стороны ЭВМ 21 сигнала подтверждения прерываний дешифратор 59 на второй группе своих выходов формирует сигнал "Захват", на третьей группе своих выходов формирует сигналы управления, по которым вектор прерываний считывается из регистра 56 на шину 17 данных контроллера. На четвертой группе выходов дешифратора 59 формируется сигнал, по которому производится запуск таймерного устройства 60. По истечении промежутка времени, достаточного для установки сигналов вектора прерываний на шине 17 данных, по сигналам с выходов таймерного устройства на второй группе выходов дешифратора 59 формируется сигнал "Запись", подаваемый на системную шину 19 управления. При поступлении с шины 19 управления на первую группу входов дешифратора 59 со стороны ЭВМ 21 сигнала "Готовность" прекращается выдача вектора на шину 17 данных и завершается режим внешних прерываний снятием с системной шины 19 управления сигнала "Захват". When the external interrupt mode is set on the second group of inputs of the
Передатчик 13 производит буферизацию передаваемого пакета в фифо 107 передачи. Данные в фифо 107 передачи записываются с внутренней шины 15 контроллера через интерфейс 1 под управлением сигналов на его второй группе входов управления. Таким образом, может записываться, например, преамбула пакета. Данные в фифо 107 передачи могут записываться с шины 17 данных контроллера через интерфейс 1 под управлением сигналов на первой группе его входов управления. Данные в фифо 107 сопровождаются метками по его входам меток. The transmitter 13 buffers the transmitted packet in
При записи в фифо 107 передачи данных или слов преамбулы с внутренней шины 15 каждое слово данных сопровождается по второй группе входов управления передатчика 13 сигналами управления записью данных и сигналами меток. Метки дают возможность отметить слова преамбулы, которые не подвергаются делению на образующий полином на логике 109 циклического контроля в отличие от слов данных. When recording in
После загрузки в фифо 107 передачи последнего слова данных на третью группу входов управляющей логики 113 подается сигнал записи метки конца пакета. При этом на входы меток фифо 107 передачи с выходов управляющей логики 113 подается метка конца пакета, а на входы управления фифо 107 передачи подается сигнал записи, по которому метка конца пакета переписывается в фифо 107 передачи. After loading in
По сигналам начала передачи на третьей группе входов управляющей логики 113 передатчик 13 начинает передачу пакета. При этом синхронизирующие импульсы с генератора 115 подаются на управляющую логику 113, на счетный вход счетчика 112 битов, по выходным сигналам которого и по сигналам меток с выходов меток фифо 107 передачи управляющая логика 113 управляет процессом передачи данных. При этом на входы управления фифо 107 передачи поступают сигналы чтения, по которым на выходы фифо 107 передачи из ячеек памяти считываются слова преамбулы и слова данных, которые переписываются в сдвиговый регистр 108 и через коммутатор 110, через кодер 111 передаются последовательным потоком битов через выход передатчика 13 в канал 24 связи. По меткам слов данных, читаемых с выходов меток фифо 107 передачи, управляющая логика 113 формирует сигналы разрешения вычисления контрольной суммы, которые поступают на входы управления логики циклического контроля, на которой производится вычисление контрольной суммы для данных, поступающих на вход логики циклического контроля. According to the signals of the start of transmission on the third group of inputs of the
По сигналам метки конца пакета и сигналам с выходов счетчика 112 битов прекращается передача данных и через коммутатор 110 с выхода логики циклического контроля производится передача контрольной суммы. По окончании передачи пакета с выходов состояний передатчика 13 выдается сигнал внутренних прерываний конца передачи пакета в канал 24 связи. The signals of the packet end mark and the signals from the outputs of the
Приемник 12 буферизирует принимаемые из канала 24 связи данные в фифо 90 приема. Из фифо приема слова данных считываются или на внутреннюю шину 15 контроллера, или на его шину 17 данных. The receiver 12 buffers the data received from the
Приемник 12 начинает прием после поступления на вторую группу его входов управления сигнала разрешения приема с выходов шифратора 11 управления. С выходов управляющей логики 100 в этом случае подается сигнал сброса RS-триггера 94 на его R-вход. Принимаемый сигнал данных декодируется декодером 96, на выходе которого формируется код без возвращения к нулю, сопровождаемый тактовыми импульсами с выхода синхронизации декодера 96. The receiver 12 starts receiving after receipt of a reception permission signal from the outputs of the control encoder 11 upon the second group of its control inputs. From the outputs of the
Данные сдвигаются сдвиговым регистром 92, и при наличии на выходах регистра 92 параллельного кода ограничителя преамбулы детектор 93 флага на своем выходе формирует сигнал, устанавливающий по S-входу RS-триггер 94, чем снимается сигнал сброса с входа сброса счетчика 98 битов. Счетчик 98 битов начинает подсчет тактовых импульсов с выхода синхронизации декодера 96. По значению выходных сигналов счетчика 98 битов производится перезапись слов данных с выходов сдвигового регистра 92 в фифо 90 приема по сигналам записи, подаваемым на его входы управления. На входы меток фифо 90 приема подаются метки слов данных, которые записываются в фифо приема по сигналам записи. The data is shifted by the
По сигналам, подаваемым на входы управления, логика 95 циклического контроля производит подсчет контрольной суммы. По окончании приема пакета по сигналу с выхода детектора 97 входного сигнала управляющая логика 100 выдает сигналы управления, по которым сигналы с выхода контроля логики 95 циклического контроля, с выходов счетчика 98 битов поступают на входы мультиплексора 91. According to the signals supplied to the control inputs, the
Во время приема пакетов ведется подсчет слов данных по сигналам на счетном входе счетчика 99 байтов. Когда в фифо 90 приема записаны все слова адреса назначения пакета, по сигналам с выходов счетчика 99 байтов на выходах состояния приемника 12 формируется сигнал внутренних прерываний на фильтрацию адреса назначения. По сигналу чтения данных, подаваемых на вторую группу входов управления приемника 12, управляющая логика 100 выдает на входы управления фифо 90 приема сигналы чтения, и слова адреса назначения пакета с выходов фифо 90 приема через мультиплексор 91 считываются на внутреннюю шину 15 контроллера. During the reception of packets, words of data are counted according to the signals at the counter input of the 99 bytes counter. When all words of the destination address of the packet are recorded in
Если адрес назначения пакета не различается контроллером как предназначенный ему, то на вторую группу входов управления приемника 12 подается сигнал сброса пакета, по которому на входы управления фифо 90 приема также подается сигнал сброса, производится сброс счетчиков 149 и 150 и фифо 90 приема устанавливается в исходное состояние. Слова пакета, имеющего адрес назначения, распознаваемый контроллером как свой, пересылаются в режиме прямого доступа к памяти ЭВМ из фифо 90 приема на шину 17 данных контроллера. If the destination address of the packet does not differ by the controller as intended for it, then a packet reset signal is sent to the second group of control inputs of the receiver 12, through which a reset signal is also sent to the control inputs of the
Приемник 12 переходит в режим поддержки прямого доступа к памяти, когда на его вторую группу входов управления подается сигнал инициализации режима прямого доступа. При этом с выходов управляющей логики 100 на выходы управления приемника 12 подается сигнал поддержки требования прямого доступа к памяти. При приходе на первую группу входов управления приемника 12 сигнала подтверждения режима прямого доступа к памяти управляющая логика 100 на выходы управления приемника 12 выдает сигнал занятости системной шины и сигнал записи слова. При приходе сигнала готовности на первую группу входов управления приемника 12, при отсутствии на второй группе входов управления приемника 12 сигнала требования окончания прямого доступа к памяти, формируемого в микропрограмме по тайм-ауту счетчика-таймера 77, при отсутствии на входе управления приемника 12 сигнала требования окончания прямого доступа к памяти, формируемого по сигналу с выхода схемы 5 сравнения, и при отсутствии на выходах меток фифо 90 приема сигнала метки конца пакета управляющая логика 100 выдает на выходы управления приемника 12 сигнал записи слова. В противном случае управляющая логика 100 снимает с выходов управления приемника 12 сигнал занятости шины и этим прекращается режим прямого доступа к памяти ЭВМ. The receiver 12 enters the direct memory access support mode when a direct access mode initialization signal is supplied to its second group of control inputs. At the same time, from the outputs of the
Вместе с выдачей сигнала записи на выходы управления приемника 12 на входы управления фифо 90 приема поступает сигнал чтения и с выходов данных фифо 90 приема считываются слова данных, а с выходов меток - метки. Если с выходов меток фифо 90 приема считана метка конца пакета, то вместе с прекращением прямого доступа к памяти на вторую группу выходов состояний приемника 12 управляющая логика 100 выдает сигнал внутренних прерываний по концу пересылки пакета. При наличии на второй группе входов управления приемника 12 сигнала сброса прерываний сигналы запросов внутренних прерываний снимаются с выходов состояний приемника 12. Together with the issuance of the write signal to the control outputs of the receiver 12, a read signal is received to the control inputs of the
Приемник 12 по сигналам запроса на второй группе входов управления через мультиплексор 91 выдает на внутреннюю шину 15 контроллера сигналы состояний с выходов счетчика 98 битов, по которым определяется кратность принятых битов числу восемь, выдает сигнал с выхода контроля логики 95 циклического контроля и с выхода детектора 97 входного сигнала. The receiver 12, according to the request signals at the second group of control inputs, through the
Программный обмен словами управления и словами состояний через оперативную память 6 осуществляется следующим образом. ЭВМ 21 обращается к контроллеру с циклами чтения или записи. При этом она выставляет на шине 18 адреса контроллера один из адресов, отведенный под адресацию регистров порта. Каждому из двенадцати считываемых или записываемых в режиме программного обмена слов состояний и слов управления, хранящихся в оперативной памяти 6, соответствует единственный адрес (адрес регистра порта) на шине 18 адреса. Software exchange of control words and state words through the RAM 6 is as follows. The
По системной шине 19 управления контроллера ЭВМ 21 выставляет сигналы управления чтением или записью. Контроллер 2 шины, принимая эти сигналы через входы-выходы, на выходах формирует сигналы чтения или записи, а на выходах управления вырабатывает сигналы разрешения работы селектора 10 адреса, и сигналы управления, по которым сигналы с шины 18 адреса через выходы адреса интерфейса 1 поступают на адресные входы селектора 10 адреса. Селектор адреса при распознании адресов вырабатывает на выходе сигнал запроса внутренних прерываний, по которому, а также по сигналам запросов внутренних прерываний по чтению или по записи с выходов контроллера 2 шины контроллер 9 прерываний на своих выходах формирует вектор внутренних прерываний, поступающий на третью группу входов мультиплексора 71, и сигнал управления, поступающий по линии 44 на первый вход управления мультиплексора 71. По сигналу управления на его первом входе управлния мультиплекесор 71 пропускает сигналы с третьей группы своих входов на входы адреса памяти 70 микрокоманд. Из памяти микрокоманд выбирается первая микрокоманда управляющей подпрограммы чтения или подпрограммы записи в режиме подпрограммного обмена. По синхронизирующим импульсам с выхода генератора 75 микрокоманды переписываются с первой группой выходов памяти 70 микрокоманд в регистр 68 микрокоманд, а с второй группы выходов памяти 70 микрокоманд сигналы констант, пересылаемые через мультиплексор 69, под управлением сигнала с выхода памяти 70 микрокоманд переписываются в регистры 63. On the
Микрокоманды с выходов регистра 68 микрокоманд поступают на шину 16 управления контроллера, принуждая его узлы, подключенные входами управления к шине 16 управления, выполнять операции, предписываемые микрокомандами. Последовательность выполнения управляющих микрокоманд в программном обмене следующая. Microcommands from the outputs of the
По первой микрокоманде производятся резервирование адреса микрокоманды предыдущей управляющей подпрограммы путем его перезаписи из регистра 84 в стек 86 и резервирование в регистрах 63 данных прерванной подпрограммы путем наращивания значения реверсивного счетчика 65 на единицу. Эти операции дают возможность возвратиться к прерванной подпрограмме по окончании текущей подпрограммы. По этой же микрокоманде по шине 16 управления контроллера на третью группу входов управления контроллера 2 шины подается сигнал сброса запросов внутренних прерываний, по которому снимаются запросы внутренних прерываний по чтению или по записи с третьей группы входов контроллера 9 прерываний, а также устанавливается на входах управления приоритетами контроллера 9 прерываний код текущего приоритета, запрещающий прерывание текущей подпрограммы. Резервирование прерываний программы возможно и без использования стековой организации регистров 63. Однако в этом случае время перехода на подпрограмму увеличивается, поскольку данные из регистрового устройства 8 должны резервироваться в оперативной памяти 6. According to the first micro-command, the micro-command address of the previous control subroutine is backed up by rewriting it from
По второй микрокоманде по сигналам с шины 16 управления контроллер 2 шины на своих выходах управления формирует сигналы, по которым, а также по сигналам на второй группе входов управления интерфейса 1 сигналы с шины 18 адреса поступают через выходы адреса интерфейса 1, через мультиплексор 14 по внутренней шине 15 на первую группу адресных входов запоминающего устройства 7. На его вторую группу адресных входов и на входы управления через регистровое устройство 8 с второй и третьей групп выходов памяти 70 микрокоманд поступает код операции, по которому производится преобразование сигналов с первой группы адресных входов запоминающего устройства 7 в сигналы адреса оперативной памяти 6, формируемые на выходах запоминающего устройства 7 и по третьей микрокоманде переписываемые в первый из регистров регистрового устройства 8. Сигналы с первого из регистров регистрового устройства 8 подаются на входы адреса оперативной памяти 6, и производится выборка ячейки оперативной памяти 6. According to the second micro-command, according to the signals from the
Таким образом, для каждого из адресов шины 18 адреса, по которым ЭВМ 21 обращается к контроллеру в режиме программного обмена, на выходах запоминающего устройства 7 формируется адрес ячейки оперативной памяти 6, в которой хранится соответствующее слово управления или слово состояний. По этой же микрокоманде на вторую группу адресных входов и входы управления запоминающего устройства 7 подается код операции, по которому сигналы, поступающие с шины 18 адреса на первую группу адресных входов запоминающего устройства 7, преобразуются на его выходах состояний в код, определяющий безусловный переход на одну из ветвей подпрограммы. Этот код подается на первую группу входов шифратора 11 управления. Дешифратор-преобразователь 72 начального адреса по коду с выходов состояний запоминающего устройства 7 формирует начальный адрес новой ветви управляющей подпрограммы, который под управлением сигналов на входах управления мультиплексора 71 поступает через третью группу его входов на входы адреса памяти 70 микрокоманд для выработки четвертой микрокоманды. По четвертой микрокоманде выполняется подпрограмма, в которой производится обработка конкретного слова состояний и управления, к которому обратилась ЭВМ 21. Thus, for each of the bus addresses 18, the addresses at which the
В приведенном примере контроллера возможны следующие подпрограммы: чтение из контроллера в ЭВМ 21 одного из слов физического адреса назначения или чтение слова вектора прерываний. Эти процессы выполняются однотипно, а потому образуют единую подпрограмму чтения без модификаций. In the given controller example, the following routines are possible: reading from the controller in the
Чтение слова состояний и управления, запись слова старших битов стартового адреса дескриптора буфера приема, запись слова старших битов стартового адреса буфера передачи - все они выполняются по-разному. Reading the status and control word, writing the high-order bits of the start address of the receive buffer descriptor, writing the high-order words of the start bit of the start buffer of the transmit buffer — they all perform differently.
Запись слова младших битов стартового адреса дескриптора буфера передачи, запись слова младших битов стартового адреса буфера приема, запись слова вектора прерываний образуют единую управляющую подпрограмму записи без модификаций. Writing the word of the least significant bits of the start address of the transmit buffer descriptor, writing the least significant bit of the start address of the start buffer of the receive buffer, writing the word of the interrupt vector form a single control recording routine without modifications.
При выполнении подпрограммы чтения без модификации по четвертой микрокоманде из оперативной памяти 6 читается соответствующая ячейка памяти и через интерфейс 1 ее содержимое выдается на шину 17 данных, для чего через шину 16 управления подаются соответствующие управляющие сигналы на узлы контроллера, в частности на контроллер 2 шины, который вырабатывает при этом на выходах управления сигналы управления для интерфейса 1, обеспечивающие чтение сигналов из интерфейса на шину 17 данных. When the reading subroutine is executed without modification according to the fourth micro-command, the corresponding memory cell is read from the RAM 6 and its contents are transmitted to the
При выполнении записи без модификации по четвертой микрокоманде сигналы с шины 17 данных поступают на входы оперативной памяти 6 и записываются в соответствующую ячейку памяти, адрес которой читается из регистрового устройства 8. When recording without modification according to the fourth micro-command, the signals from the
При выполнении записи слова старших битов адреса дескриптора буфера передачи по четвертой микрокоманде производится запись этого слова в оперативную память 6. When recording words of the most significant bits of the address of the descriptor of the transmission buffer by the fourth micro-command, this word is recorded in RAM 6.
По пятой микрокоманде в первый из регистров 63 регистрового устройства 8 из памяти 70 микрокоманд через мультиплексор 69 записывается константа, определяющая адрес ячейки оперативной памяти 6, в которой хранится второе слово состояний и управления, не доступное для ЭВМ 21. Второе слово состояний и управления считывается на первую группу адресных входов запоминающего устройства 7, на выходах которого формируется второе слово состояний и управления с установленным нулевым битом, что соответствует загрузке старших битов стартового адреса дескриптора буфера передачи оперативной памяти 6. According to the fifth micro-command, in the first of the
По шестой микрокоманде модернизированное второе слово состояний и управления записывается во второй из регистров 63 регистрового устройства 8, чтобы по этой же микрокоманде быть переписанным обратно в оперативную память 6. According to the sixth micro-command, the upgraded second state and control word is recorded in the second of the
По седьмой микрокоманде с второй группы выходов памяти 70 микрокоманд на входы адреса оперативной памяти 6 подается адрес первого слова состояний и управления, по которому на запоминающем устройстве 7 производится сброс бита 04. According to the seventh micro-command from the second group of
По восьмой микрокоманде первое слово состояний и управления со сброшенным битом 04 с выходов запоминающего устройства 7 записывается обратно в оперативную память 6 по тому же адресу. Сброшенный бит 04 означает, что в ЭВМ 21 подготовлены данные для передачи, что хранятся они в буфере передачи, стартовый адрес дескриптора которого загружен в контроллер. При этом первым загружено слово младших битов стартового адреса дескриптора буфера передачи, а за ним слово старших битов дескриптора буфера передачи. Для дескриптора буфера приема также загружают в контроллер сначала слово младших, а затем слово старших битов стартового адреса дескриптора. According to the eighth micro-command, the first word of states and control with the bit 04 off from the outputs of the storage device 7 is written back to the RAM 6 at the same address. The reset bit 04 means that the
Аналогично выполняется запись слова старших битов стартового адреса дескриптора буфера приема, с той лишь разницей, что во втором слове состояний и управления устанавливается не нулевой, а первый бит, а в первом слове состояний и управления сбрасывается бит 05. Это означает, что в ЭВМ подготовлен буфер для приема данных из контроллера. Similarly, the word of the high bits of the start address of the descriptor of the receive buffer is written, with the only difference being that the second bit is set not to zero but the first bit, and bit 05 is reset in the first word of states and control. This means that the computer is prepared buffer for receiving data from the controller.
При выполнении чтения в программном обмене первого слова состояний и управления по пятой микрокоманде производится пересылка сигналов с входов мультиплексора 91 через входы-выходы приемника 12, через первую группу входов регистрового устройства 8 в его второй из регистров 63. Коммутация сигналов с входом мультиплексора 91 должна быть при этом такой, чтобы сигнал несущей в канале 24 связи, снимаемый с выхода детектора 97 входного сигнала, прошел на один из выходов мультиплексора 91. В этом случае один из битов (бит несущей) во втором из регистров 63 регистрового устройства 8 после выполнения четвертой микрокоманды установлен, если в канале 24 связи имеется в это время сигнал передачи пакетов. Например, это может быть второй бит. Остальные биты могут быть в произвольном состоянии. When reading the first word of states and control in software exchange via the fifth micro-command, the signals from the inputs of the
По пятой микрокоманде на первую группу адресных входов запоминающего устройства 7 читается из оперативной памяти 6 первое слово состояний и управления, а на его вторую группу адресных входов с второй группы входов-выходов регистрового устройства 8 читается слово второго из регистров 63 с установленным или не установленным битом несущей в зависимости от состояний выхода детектора 97 входного сигнала. На выходах запоминающего устройства 7 формируется слово состояний и управления с модифицированным битом 13. При этом бит 13 устанавливается в "1" или "0" в зависимости от состояния бита несущей. According to the fifth micro-command, the first state and control word is read from the RAM 6 to the first group of address inputs of the memory device 7, and the word of the second of the
Для модификации бита 13 на входы управления запоминающего устройства 7 подается команда модификации бита 13 первого слова состояния в зависимости от состояний бита несущей на второй группе адресных входов запоминающего устройства 7. Из ячейки памяти запоминающего устройства 7, адрес которой содержится на первой и второй группах адресных входов и входах управления запоминающего устройства 7, на его выходы читается результат операции, занесенный в ячейку при изготовлении контроллера. To modify bit 13, the control inputs of the memory device 7 receive a command to modify the bit 13 of the first state word depending on the status of the carrier bit on the second group of address inputs of the memory device 7. From the memory cell of the memory device 7, the address of which is contained in the first and second groups of address inputs and control inputs of the storage device 7, the outputs of the operation entered in the cell during the manufacture of the controller are read at its outputs.
Реализация специальных операций над операндами, подаваемыми на первую и вторую группы адресных входов запоминающего устройства 7, таких как описанные ранее операции сложения, вычитания, умножения на константу, преобразования адресов системной шины 19 управления в адреса оперативной памяти 6, преобразования слов управления в коды и другие специальные операции, позволяет обеспечить выполнение подпрограмм в требуемых ограниченных интервалах времени, что необходимо для обеспечения процессов реального времени. При этом решается задача сокращения аппаратурных затрат, так как нет необходимости использовать в контроллере регистры для хранения слов состояний и управления, а хранение слов состояний и управления осуществляется в оперативной памяти 6, а также нет необходимости подсоединять к выходам регистров дополнительную логику, поскольку анализ состояний регистров производится на запоминающем устройстве 7 с последующим переходом на управляющие подпрограммы шифратора 11 управления. The implementation of special operations on operands supplied to the first and second groups of address inputs of the memory device 7, such as the operations of addition, subtraction, multiplication by a constant, converting the addresses of the
По шестой микрокоманде выходные сигналы с входов-выходов запоминающего устройства 7 пересылаются через второй из регистров 63 регистрового устройства 8, через входы данных интерфейса 1 на шину 17 данных контроллера. According to the sixth micro-command, the output signals from the inputs / outputs of the storage device 7 are sent through the second of the
По четвертой микрокоманде подпрограммы записи первого слова состояний и управления сигналы этого слова с шины 17 данных подаются на первую группу адресных входов запоминающего устройства 7. На входы управления и вторую группу адресных входов запоминающего устройства 7 подается код операции анализа состояний битов первого слова состояний и управления. При выполнении этой операции на выходах состояний запоминающего устройства 7 формируются коды управляющей программы, которые дешифратором-преобразователем 72 начального адреса преобразуются в адрес пятой микрокоманды. According to the fourth micro-command of the subroutine for recording the first state word and control, the signals of this word from the
Возможны следующие подпрограммы, на которые управляющая программа переходит по результатам выполнения четвертой микрокоманды: Разрешение работы таймера живучести программного обеспечения, установка или выключение режима закольцовывания, программная инициализация, запрет или разрешение приема. The following subprograms are possible, which the control program switches to based on the results of the fourth micro-command execution: Enabling software survivability timer, setting or disabling the loopback mode, program initialization, prohibition or permission to receive.
По пятой микрокоманде разрешения работы таймера живучести программного обеспечения и установки или выключения режима закольцовывания первое слово состояний и управления записывается с первой группы адресных входов запоминающего устройства 7 через его входы-выходы в оперативную память 6. По пятой микрокоманде запрета или разрешения приема на вторую группу входов управления приемника 12 подается сигнал запрета приема при сброшенном бите 00 первого слова состояний и управления или сигнал разрешения приема при установленном бите 00 этого слова. При этом управляющая логика 100 формирует сигнал сброса, подает его на R-вход RS-триггера 94 и держит сигнал сброса от момента формирования сигнала запрещения приема до момента формирования сигнала разрешения приема. При этом уровень "0" на выходе RS-триггера сбрасывает счетчик 98 битов, что делает невозможным запись принимаемых данных в фифо 90 приема. According to the fifth micro-command to enable operation of the software survivability timer and to set the loopback mode on or off, the first state and control word is written from the first group of address inputs of the memory device 7 through its inputs and outputs into the main memory 6. According to the fifth micro-command to ban or allow reception to the second group of inputs control receiver 12 is fed a reception prohibition signal when bit 00 of the first word of states and control is reset, or a reception permission signal when bit 00 of this is set fishing. In this case, the
По шестой микрокоманде первое слово состояний и управления через запоминающее устройство 7 записывается в оперативную память 6. According to the sixth micro-command, the first word of states and control through the storage device 7 is recorded in RAM 6.
По пятой микрокоманде программной инициализации на входах-выходах запоминающего устройства 7 формируется константа ноль, которая записывается во второй из регистров регистрового устройства 8. По этой же микрокоманде по сигналам на третьей группе его входов контроллер 2 шины формирует сигнал готовности, подтверждающий окончание цикла записи, и по выходам шины выдает его на системную шину 19 управления. Этим контроллер оканчивает свое участие в режиме программной записи со стороны ЭВМ 21 первого слова состояния и управления. ЭВМ 21 не должна обращаться к контроллеру до конца выполнения программной инициализации. Далее контроллер производит модификацию битов ячеек памяти (установку или сброс), требуемую из условий его работы, в частности записывает константу ноль в ячейку первого слова состояний и управления и в ячейку второго слова состояний и управления, записывает из памяти 70 микрокоманд в оперативную память 6 слова физического адреса назначения, слово числа и слово номера. Адреса ячеек, в которых хранятся эти слова в оперативной памяти 6, считываются из памяти 70 микрокоманд через мультиплексор 69, через первый из регистров 63 на входы адреса оперативной памяти. According to the fifth micro-command of the software initialization, a constant zero is generated at the inputs / outputs of the memory device 7, which is recorded in the second register of the register device 8. Based on the same micro-command, the bus controller 2 generates a ready signal confirming the end of the write cycle on the signals of the third group of its inputs, and on the outputs of the bus issues it to the
Во время инициализации контроллера на входах управления приоритетами контроллера 9 прерываний выставляется код текущего приоритета, не позволяющий прерывание подпрограммы инициализации во время ее выполнения. По окончании подпрограммы инициализации с шины 16 управления на вход инкремента сумматора 85 поступает сигнал нулевого уровня, на входы инструкций дешифратора 89 инструкций поступает код инструкций чтения адреса микрокоманды на выходы формирователя 73 адреса микрокоманды, после чего подпрограмма зацикливается на микрокоманде, поскольку ее адрес, не наращивается в сумматоре 85, по импульсам с входа синхронизации формирователя 73 адреса микрокоманды переписывается с выходов формирователя 73 адреса микрокоманды в регистр 84. Код текущего приоритета на входах управления приоритетами контроллера 9 прерываний устанавливается такой, чтобы позволить прерывания управляющей программы по сигналам входов запроса контроллера прерываний. During controller initialization, the priority priority code is set on the priority control inputs of the 9 interrupt controller, which does not allow the interruption of the initialization subroutine during its execution. At the end of the initialization subroutine, the
Все управляющие подпрограммы режима программного обмена, кроме подпрограммы инициализации, завершаются возвратом на прерванные ими подпрограммы, для чего по последней микрокоманде подпрограмм из регистров 63, имеющих стековую организацию, выталкивается их содержимое, реверсивный счетчик 65 возвращает на вершину стековых регистров 63 данные из прерванной подпрограммы. По этой же микрокоманде производится выталкивание из стекла 86 через вторую группу входов мультиплексора 88 на его выходы адреса микрокоманды прерванной подпрограммы. По последней микрокоманде на системную шину 19 управления выдается сигнал подтверждения окончания цикла записи или чтения. All control subroutines of the program exchange mode, except for the initialization subroutine, are completed by returning to the subroutines interrupted by them, for which, according to the last microcommand of the subroutines from
Максимальное число микрокоманд в управляющих подпрограммах режима программного обмена контроллера без учета подпрограммы инициализации равно одиннадцати. При времени выполнения одной микрокоманды 200 нс максимальное время выполнения контроллером подпрограм чтения и записи в режиме программного обмена составляет 2,2 мкс. Текущие приоритеты управляющих подпрограмм программного обмена не позволяют производить их прерывание со стороны других подпрограмм. The maximum number of microcommands in the control subroutines of the controller program exchange mode, excluding the initialization subroutine, is eleven. At a runtime of one microcommand of 200 ns, the maximum runtime of the controller for reading and writing subroutines in program exchange mode is 2.2 μs. The current priorities of the control exchange routines of the program exchange do not allow their interruption by other routines.
Подпрограмма таймера-задатчика необходима для решения задач, во-первых, распределения времени доступа к системной шине между ЭВМ 21 и контроллером, во-вторых, для вычисления программных таймеров контроллера. Подпрограмма таймера-задатчика реализуется следующим образом. The subroutine of the master timer is necessary for solving problems, firstly, the distribution of access time to the system bus between the
Счетчик-таймер 77 производит подсчет импульсного генератора 75. Дешифратор 78 выявляет состояние выходов счетчика-таймера 77, соответствующее прошествию определенного временного интервала после сброса последнего, например времени 51,2 мкс, по истечении которого с выхода дешифратора 78 на S-вход RS-триггера 79 поступает сигнал, устанавливающий на втором выходе шифратора 11 управления сигнал запроса внутренних прерываний, который поступает на вход запроса контроллера 9 прерываний. При наличии разрешающих уровней приоритетов на его входах управления приоритетами контроллер 9 прерываний на своих выходах формирует вектор внутренних прерываний подпрограммы таймера-задатчика, который под управлением сигнала с выхода управления контроллера 9 прерываний проходит на выходы мультиплексора 71, после чего начинается выборка первой микрокоманды подпрограммы таймера-задатчика. В начале выполнения подпрограммы на вторую группу входов управления передатчика 13 и на вторую группу входов управления приемника 12 поступают сигналы прекращаения прямого доступа к памяти, по которым приемник 12 и передатчик 13 прекращают поддержку режима прямого доступа к памяти, если он до этого выполняется. The counter-timer 77 counts the
В подпрограмме таймера-задатчика вычисляются значения таймера пакета, таймера маркера, таймера монитора, таймера живучести программного обеспечения. По результатам анализа второго слова состояний и управления, выполняемого на запоминающем устройстве 7, подпрограмма может завершаться переходом на подпрограммы обмена данными в режиме прямого доступа. The subroutine of the master timer calculates the values of the packet timer, marker timer, monitor timer, software survivability timer. According to the results of the analysis of the second word of states and control performed on the storage device 7, the subroutine can be completed by switching to the data exchange subroutines in direct access mode.
При выполнении подпрограммы таймера-задатчика сигналы с выходов счетчика-таймера 77 перезаписываются через мультиплексор 69 в регистровое устройство 8, а затем поступают на вторую группу адресных входов запоминающего устройства 7, на первую группу адресных входов которого считывают поочередно из ячеек оперативной памяти 6 слова таймера живучести программного обеспечения, таймера передачи, таймера маркера, таймера монитора, из которых вычитаются числа с выходов счетчика-таймера 77, и формируют сигналы разности на выходах запоминающего устройства 7. Если разность больше числа ноль, то она записывается в ячейку оперативной памяти 6, в которой хранилось вычитаемое. Если сигналы разности определяют число, меньшее числа ноль, то из этого следует наличие тайм-аута соответствующего таймера и на выходе переноса запоминающего устройства 7 вырабатывается сигнал выходного переноса, поступающий через мультиплексор 74 условий на вход условий формирователя 73 адреса микрокоманды. По сигналу входного переноса выполняются подпрограммы передачи пакета монитора, передачи маркера, инициализации ЭВМ. When the subroutine of the master timer is executed, the signals from the outputs of the counter-timer 77 are overwritten through the
По сигналу входного переноса на входе условий и при наличии инструкции условного перехода на входах инструкций формирователя 73 адреса микрокоманды сигналы адреса программы таймера-задатчика поступают с шины 21 управления контроллера через входы адреса формирователя 73 адреса микрокоманды на его выходы. При отсутствии сигнала выходного переноса путем наращивания на сумматоре 85 на единицу адреса предыдущей микрокоманды производится переход на следующую микрокоманду, по которой выполняется анализ битов второго слова состояний и управления. Его считывают из оперативной памяти 6 на первую группу адресных входов запоминающего устройства 7, на выходах которого в зависимости от состояний битов второго слова состояний и управления формируют коды подпрограммы подготовки режима прямого доступа для чтения дескриптора буфера приема, если бит 01 второго слова состояний и управления установлен, а остальные биты сброшены, или подпрограммы чтения слова флага дескриптора буфера приема, если бит 01 и бит 04 установлены, или подпрограммы чтения других слов дескриптора буфера приема, если бит 04 установлен, а остальные биты сброшены. According to the input transfer signal at the input of conditions and if there is a conditional transition instruction at the inputs of the instructions of the
Если бит 00 установлен, выполняется переход на подпрограмму подготовки режима прямого доступа для чтения дескриптора буфера передачи. Если бит 00 и бит 02 установлены, выполняется переход на подпрограмму чтения слова флага. Если бит 02 установлен, а остальные биты сброшены, производится подпрограмма пересылки из ЭВМ 21 в контроллер остальных слов дескриптора буфера передачи. If bit 00 is set, a transition is made to the direct access mode preparation routine for reading the transmit buffer descriptor. If bit 00 and bit 02 are set, a transition is made to the flag word read routine. If bit 02 is set, and the remaining bits are cleared, a subroutine is sent from the
Переход на подпрограмму подготовки режима прямого доступа по пересылке буфера приема производится, если бит 04 и бит 09 установлены. Если бит 09 установлен, а остальные биты сброшены, производится переход на подпрограмму пересылки данных из фифо 90 приема в буфер приема ЭВМ 21. Если биты 09 и 05 установлены, производится переход на подпрограмму подготовки пересылки дескриптора буфера передачи из контроллера в ЭВМ 21. Эта подпрограмма выполняется после того, как завершена пересылка данных из буфера передачи ЭВМ 21 в контроллер, выполнены модификации слов дескриптора и дескриптор с модифицированными битами должен быть возвращен в ЭВМ 21. The transition to the direct access preparation routine for sending the receive buffer is made if bit 04 and bit 09 are set. If bit 09 is set, and the remaining bits are cleared, a transition is made to the data transfer routine from
Переход на подпрограмму подготовки режима прямого доступа по пересылке буфера передачи производится, если бит 02 и бит 08 установлены. Если бит 08 установлен, а остальные биты сброшены, производится переход на подпрограмму пересылки данных из буфера передачи ЭВМ 21 в фифо 107 передачи. The transition to the direct access training routine for transferring the transmission buffer is performed if bit 02 and bit 08 are set. If bit 08 is set, and the remaining bits are cleared, a transition is made to the data transfer routine from the transmission buffer of the
Если биты 08 и 06 установлены, то это означает, что завершена пересылка данных пакета из фифо 90 приема в буфер приема ЭВМ 21 и теперь контроллер должен переслать в ЭВМ 21 модифицированные слова дескриптора буфера приема. По анализу второго слова состояний и управления при установленных битах 08 и 06 контроллер переходит на подпрограмму подготовки режима прямого доступа по пересылке дескриптора буфера приема в ЭВМ 21. If bits 08 and 06 are set, this means that the transfer of packet data from
Если бит 06 установлен, а остальные биты сброшены, контроллер переходит на выполнение подпрограммы пересылки дескриптора буфера приема в ЭВМ 21. Если бит 12 установлен, а остальные биты сброшены, производится переход на подпрограмму обработки установочного пакета. If bit 06 is set and the remaining bits are cleared, the controller proceeds to execute the subroutine for sending the receive buffer descriptor to the
Если все биты второго слова состояний и управления сброшены, то производится переход и зацикливание на микрокоманде, при исполнении которой на входах управления приоритетами контроллера 9 пррываний устанавливается значение сигналов текущего приоритета с наименьшим приоритетом, что позволяет выполнять внутренние прерывания по запросам на входах контроллера 9 прерываний. If all the bits of the second word of state and control are cleared, then a transition and looping is performed on a micro command, at the execution of which the value of the current priority signals with the lowest priority is set on the priority control inputs of the 9 interrupt controller, which allows internal interrupts to be performed upon requests at the interrupt controller 9 inputs.
Если при анализе второго слова состояний и управления переход на подпрограмму произведен по установленному биту 00, то в этом случае стартовый адрес дескриптора буфера передачи перегружается из оперативной памяти 6 в счетчик 3 адреса. Если переход произведен по установленному биту 00, то стартовый адрес дескриптора буфера приема перегружается из оперативной памяти 6 в счетчик 3 адреса. В обоих случаях в регистр 4 адреса загружаются сигналы суммы стартовых адресов и числа пять, что определяет адрес последнего слова дескриптора буфера. Операция сложения производится запоминающим устройством 7. Затем в случае пересылки буфера передачи устанавливатся бит 02 во втором слове состояний и управления, сбрасывается бит 04 в первом слове состояний и управления или устанавливается бит 04 в случае пересылки дескриптора буфера приема во втором слове состояний и управления и сбрасывается бит 05 в первом слове состояний и управления , после чего контроллер 2 шины на системной шине 19 управления выставляет сигнал требования прямого доступа к памяти ЭВМ 21, подпрограмма переходит в режим зацикливания, а на входах приоритета контроллера 9 прерываний устанавливается текущий приоритет, позволяющий прерывать программу. If, during the analysis of the second word of states and control, the transition to the subroutine is made using the set bit 00, then in this case the start address of the descriptor of the transfer buffer is reloaded from the RAM 6 into the address counter 3. If the transition is made according to the set bit 00, then the start address of the receive buffer descriptor is reloaded from RAM 6 to address counter 3. In both cases, signals of the sum of start addresses and the number five are loaded into the address register 4, which determines the address of the last word of the buffer descriptor. The addition operation is performed by the storage device 7. Then, in case of transfer of the transmission buffer, bit 02 in the second state and control word is set, bit 04 in the first state and control word is reset, or bit 04 is set in the case of sending the receive buffer descriptor in the second state and control word and is reset bit 05 in the first word of states and control, after which the bus controller 2 on the
Если прерывание происходит по сигналам выходов счетчика-таймера 77 и вновь осуществляется переход на подпрограмму таймера-задатчика, то вновь производится анализ второго слова состояний и управления и при установленных бите 00 и бите 02 или установленных бите 01 и бите 04, извещающих о том, что выставлен сигнал требования прямого доступа к памяти, осуществляется вновь переход на подпрограмму зацикливания с низким текущим приоритетом, позволяющим выполнение внутренних прерываний. If the interruption occurs according to the outputs of the counter-timer 77 and the transition to the subroutine of the master timer is performed again, then the second word of states and control is analyzed again and when bit 00 and bit 02 are set or bit 01 and bit 04 are set, indicating that a direct memory access request signal is set, the transition to the looping subroutine is carried out again with a low current priority, which allows the execution of internal interrupts.
Наличие на системной шине 19 управления контроллера сигнала подтверждения прямого доступа, выданного ЭВМ 21, приводит к установке на системной шине 19 управления со стороны входов-выходов контроллера 2 шины сигналов занятости шины и сигналов, устанавливающих режим "чтение - модификация - запись", а также приводит к генерации на выходах контроллера 2 шины сигналов запросов прерываний, вызывающих формирование на выходах контроллера 9 прерываний кода подпрограммы чтение - модификация - запись в прямом доступе к памяти, при выполнении которой сбрасывается бит 00 второго слова состояний и управления при пересылке дескриптора буфера приема или сбрасывается бит 01 при пересылке дескриптора буфера передачи, производится цикл "чтение - модификация - запись" слова флага дескриптора. В этом цикле считывается слово флага дескриптора и, если значение битов 15 и 14 "1" и "0", то бит 14 устанавливается и слово флага с модернизированным битом 14 перезаписывается в память ЭВМ 21 по прежнему адресу. Счетчик 3 адреса наращивается на две единицы. После этого на входах управления приоритетами контроллера 9 прерываний устанавливается текущий приоритет, позволяющий производить прерывания подпрограммам таким, как инициализация контроллера, фильтрация пакетов по адресам назначения, подпрограмма таймера-задатчика. Установка низкого текущего приоритета выполняется в контроллере во всех подпрограммах, реализующих прямой доступ к памяти, после завершения каждого из циклов обмена словом. The presence of a direct access confirmation signal on the
Если подпрограмма не прерывается, на системной шине 19 управления со стороны контроллера 2 шины устанавливается сигнал "Чтение". На шину 18 адреса с разрядных выходов счетчика 3 адреса выставляется адрес следующего слова дескриптора. ЭВМ 21 выставляет данные на шину 17 данных и выдает сигнал "Готовность". На входы адреса оперативной памяти 6 через первый из регистров 63 из памяти 70 микрокоманд подается адрес ячейки оперативной памяти 6, в которую записывается слово с шины 17 данных, после чего контроллер аналогично считывает остальные слова дескриптора. Перед тем, как выставляется очередной цикл чтения слова, на входе условий формирователя 73 адреса микрокоманды проверяется сигнал с выхода "Равно" схемы 5 сравнения, устанавливающийся в единицу при совпадении кодов на разрядных выходах счетчика 3 адреса и выходах регистра 4 адреса. If the subroutine is not interrupted, the Read signal is set on the
Если между циклами обмена словами происходит прерывание подпрограммы, то в очередном цикле подпрограммы таймера-задатчика по анализу второго слова состояний и управления при установленном бите 04 происходит возврат на подпрограмму обмена словами в прямом доступе. При этом контроллер устанавливает бит 10 во втором слове состояний и управления и выставляет сигнал требования прямого доступа, а затем переходит к зацикливанию на микрокоманде с низким текущим приоритетом. С предоставлением прямого доступа к памяти контроллер анализирует второе слово состояний и управления и по установленным битам 04 и 10 выполняется переход на подпрограмму обмена остальными словами дескриптора, где сбрасывается бит 10. If the interruption of the subroutine occurs between word exchange cycles, then in the next cycle of the subroutine of the timer-setter for analysis of the second word of state and control, when bit 04 is set, a direct access to the word exchange subroutine is returned. In this case, the controller sets bit 10 in the second state and control word and sets the direct access demand signal, and then proceeds to loop on the micro command with a low current priority. With the provision of direct access to the memory, the controller analyzes the second word of states and control, and according to the set bits 04 and 10, a transition is made to the subroutine for exchanging the remaining words of the descriptor, where bit 10 is reset.
Аналогично производятся прерывание и возвращение к прерванной подпрограмме в остальных режимах обмена в прямом доступе к памяти, возврат к установленным битам 05 и 10, битам 08 и 10, 09 и 10. Установленный бит 10 означает, что идет ожидание предоставления прямого доступа к памяти со стороны ЭВМ 21. Similarly, interruption and return to the interrupted subroutine are performed in the remaining exchange modes in direct access to memory, return to the set bits 05 and 10, bits 08 and 10, 09 and 10. The set bit 10 means that there is a wait for direct access to memory from
При наличии единицы на выходе "Равно" схемы 5 сравнения сигнал "Чтение" не генерируется, поскольку все слова дескриптора адреса перезаписаны в оперативную память 6. Во втором слове состояний и управления выполняется при этом установка бита 08, если пересылался дескриптор буфера передачи, или бита 09, если пересылался дескриптор буфера приема, после чего контроллер 2 шины снимает сигнал занятости с системной шины 19 управления. Этим завершается режим прямого доступа к памяти ЭВМ 21 по пересылке дескрипторов буферов в контроллер и программа переходит в режим зацикливания с низким текущим приоритетом. Дескриптор буфера приема и дескриптор буфера передачи хранятся в разных зонах оперативной памяти 6. If there is a unit at the output of "Equal to" the comparison circuit 5, the Read signal is not generated, since all words of the address descriptor are overwritten into RAM 6. In the second state and control word, bit 08 is set if the transmit buffer descriptor, or bit 09, if the descriptor of the receive buffer was sent, after which the bus controller 2 removes the busy signal from the
При считывании из ЭВМ 21 второго слова дескриптора во время выполнения подпрограммы пересылки дескриптора буфера передачи контроллер анализирует бит 12 байта состояний. Если этот бит установлен, то устанавливается бит 12 во втором слове состояний и управления, что говорит о наличии установочного пакета в буфере передачи. Если в подпрограмме таймера-задатчика при анализе второго слова состояний и управления обнаруживатся, что установлены биты 02 и 08, то производится переход на подпрограмму подготовки пересылки содержимого буфера передачи в передатчик 13. При выполнении этой подпрограммы из оперативной памяти 6 в счетчик 3 адреса переписываются младшие и старшие биты стартового адреса буфера передачи, которые содержатся во втором и третьем словах дескриптора буфера передачи. Затем значение стартового адреса буфера передачи суммируется со значением слова длины буфера, хранящимся в четвертом слове дескриптора буфера. Таким образом, вычисляется конечный адрес буфера передачи и его значение пересылается в регистр 4 адреса. Сбрасывается бит 02 и устанавливается бит 10 во втором слове состояний и управления. When reading the second descriptor word from the
На третью группу входов управления контроллера 2 шины подаются сигналы инициализации режима прямого доступа к памяти. При этом контроллер 2 шины выдает на системную шину 19 управления сигнал требования прямого доступа и программа переводится в режим зацикливания с низким текущим приоритетом. The third group of control inputs of the controller 2 of the bus signals the initialization of the direct access to memory mode. In this case, the bus controller 2 issues a direct access demand signal to the
Если в подпрограмме таймера-задатчика при анализе второго слова состояний и управления обнаруживается, что установлены бит 08 и бит 10, то подпрограмма переводится в режим зацикливания с низким текущим приоритетом. If in the subroutine of the master timer, when analyzing the second state and control word, it is detected that bit 08 and bit 10 are set, then the subroutine is put into a looping mode with a low current priority.
При наличии на системной шине 19 управления сигнала подтверждения прямого доступа контроллер 2 шины выдает на третью группу входов запросов контроллера 9 прерываний сигнал запроса прерываний по чтению или по записи в режиме прямого доступа и производится переход на подпрограмму, при выполнении которой сбрасывается бит 10 второго слова состояний и управления. На третью группу входов управляющей логики 113 подаются сигналы перевода передатчика 13 в режим поддержки прямого доступа к памяти. Контроллером 2 шины на системной шине 19 управления устанавливаются сигнал занятости шины и сигнал "Чтение". На шину 18 адреса подаются сигналы адреса с разрядных выходов счетчика 3 адреса. If there is a direct access confirmation signal on the
При наличии сигнала "Готовность" на системной шине 19 управления, которым ЭВМ 21 сопровождает установку данных на шину 17 данных, на выходах управления контроллера 2 шины формируются сигналы, по которым слово данных пересылается с шины 17 данных через выходы интерфейса 1 на входы передатчика 13. If there is a signal "Ready" on the
Контроллер обслуживает несколько процессов реального времени. В их число входит, например, режим программного обмена между ЭВМ 21 и оперативной памятью 6. В процессе обмена ЭВМ 21 записывает в контроллер или читает из него данные, обращаясь к нему по нескольким адресам, выставляемым на шину 18 адреса. Контроллер при этом пересылает данные с шины 17 данных в оперативную память 6 в режиме записи или из оперативной памяти 6 на шину 17 данных в режиме чтения. The controller serves several real-time processes. These include, for example, the mode of program exchange between the
Процессом реального времени является обмен в режиме прямого доступа к памяти ЭВМ 21, когда контроллер, становясь активным, на системной шине ЭВМ 21 в режимах чтения и записи выполняет обмен данными между ЭВМ 21 и ним. The real-time process is the exchange in direct access to the memory of the
Процессом реального времени является процесс распознавания адресов назначений пакетов, принимаемых приемником 12, который должен с учетом других процессов реального времени быть завершен до окончания приема самого короткого пакета. В частности, при реализации стандарта IEEE802.3 время передачи наиболее короткого пакета равно 51,2 мкс. The real-time process is the process of recognizing destination addresses of packets received by the receiver 12, which should be completed taking into account other real-time processes before receiving the shortest packet. In particular, when implementing the IEEE802.3 standard, the transmission time of the shortest packet is 51.2 μs.
Процессами реального времени являются процессы вычисления программных таймеров, с помощью которых распределяется время по захвату системной шины между ЭВМ 21 и контроллером (таймер-задатчик) или определяется время, когда контроллер может начинать передачу пакетов в канал 24 связи (таймер пакета, таймер манитора, таймер маркера - таймеры, определяющие множественный доступ в канал 24 связи). Перечисленные процессы выполняются с разделением времени и с учетом их приоритетности. Разделением времени выполнения процессов с учетом их приоритетности управляет контроллер 9 прерываний. Real-time processes are software timer calculation processes, which distribute the time for capturing the system bus between the
В качестве примера контроллер реализует интервально-маркерный метод множественного доступа к каналу 24 связи. Канал 24 связи может быть выполнен с использованием радиочастотного кабеля, в который через некоторые промежутки его длины подключены к линиям 23 входы данных и по линиям 22 выходы контроллера. Обмен данными по каналу 24 связи производится пакетами. As an example, the controller implements the interval-marker method of multiple access to the
Интервально-маркерный метод доступа является детерминированным, т. е. методом доступа, гарантирующим доставку пакетов в конечные интервалы времени. Передача пакетов в канал 24 связи контроллерами 20 производится в порядке очередности. Очередность передач пакетов определяется номером контроллера 20 (НУ), заданным ЭВМ 21. Для реализации метода контроллер программно вычисляет три таймера: таймер маркера, таймер монитора и таймер передач. Для нахождения своей очереди на передачу пакета контроллер ведет программный таймер передач, по достижении времени тайм-аута (ТАП) которого контроллер имеет право начать передачу пакета в канал 24 связи в интервале времени Т. В общем случае время передачи пакета может превышать интервал времени Т, отведенный под начало передачи пакета. По окончании интервала Т контроллер не имеет права начинать передачу пакета, поскольку следующий интервал времени Т отведен под начало передачи пакета другого контроллера 20. При подключении к каналу 24 связи числа NГ контроллеров 20 для организации очереди на передачу пакетов от всех устройств сети необходимо NГ интервалов времени Т. The interval-marker access method is a deterministic, that is, an access method that guarantees delivery of packets at finite time intervals. The transmission of packets to the
При передаче пакета каким-либо из контроллеров 20 остальные, обнаружив сигналы передач в канале 24 связи, должны принять из передаваемого пакета слово номера контроллера (NУП), ведущего передачу, и установить свои таймеры передач пакетов на значение
ТП= Т(NУП+1).When a packet is transmitted by any of the
TP = T (NUP + 1).
По окончании сигнала передачи пакета в канале 24 связи контроллеры должны продолжить отсчет времени своих таймеров передач, начиная от значения Т(NУП+1). At the end of the packet transmission signal in the
Тайм-ауты таймеров передач определяются выражением ТАП= ТNУ, где NУ - номер контроллера, вычисляющего тайм-аут таймера передачи. Transmission timers timeouts are determined by the expression TAP = TNU, where NU is the number of the controller that calculates the transmission timer timeout.
При установке таймеров передач на значение
ТП= Т(NУП+1), контроллеры, номера которых меньше значения NУП+1, не могут начать передачу пакетов, поскольку тайм-ауты их таймеров передач уже истекли. Передачи могут начать только контроллеры с номерами NУ, расположенными на отрезке
[NУП+1, NГ] , где NГ - граничное время для таймеров передач всех устройств.When setting gear timers to
TP = T (NUP + 1), controllers whose numbers are less than NUP + 1 cannot start the transmission of packets, because the timeouts of their transmission timers have already expired. Only controllers with NU numbers located on a segment can start transfers
[NUP + 1, NG], where NG is the boundary time for the transmission timers of all devices.
В отрезке времени
[(NГ+1)Т, (NГ+2)Т] должен быть передан пакет станции-монитора. Пакет станции-монитора содержит в поле номера контроллера число ноль. Это дет возможность за передачей пакета станции-монитора начать передачу пакета контроллеру с первым номером, поскольку таймеры передач всех контроллеров установлены на значение ТП= Т. Таким образом, все контроллеры по очереди имеют доступ в канал 24 связи. Гарантированное время доступа в канал 24 связи для конкретного контроллера определяется суммой произведения Т(NГ+2) и произведения времени передачи пакета максимальной длины на количество контроллеров, подключенных к каналу 24 связи.In the time span
[(NG + 1) T, (NG + 2) T] the packet of the monitor station should be transmitted. The monitor station package contains the number zero in the controller number field. This makes it possible for the packet to be transmitted to the monitor station to begin transmitting the packet to the controller with the first number, since the transmission timers of all the controllers are set to TP = T. Thus, all the controllers in turn have access to the
Для защиты канала 24 связи от конфликтных ситуаций передачи пакетов могут быть начаты только тогда, когда контроллер засинхронизируется в канале 24 связи. Начало вхождения в режим синхронизации определяется сигналом разрешения приема, исходящим от ЭВМ 21 (бит 00 слова состояний и управления установлен). С этого момента контроллер ведет отсчет времени программным таймером маркера, установив его тайм-аут (ТАМ) на значение
ТАМ= (NГ+NУ+N)T, где N - константа, целое число больше единицы.To protect the
TAM = (NГ + NУ + N) T, where N is a constant, an integer is greater than one.
Всякая передача по каналу 24 связи должна обнулять таймеры маркера контроллеров. Если по истечении времени ТАМ в канале 24 связи нет сигналов передач других контроллеров 20, то контроллер в отрезке времени
[(NT+NУ+N)T, (NГ+NУ+1)T] должен начать передачу маркера, после чего он начинает отсчет времени таймера монитора, тайм-аут которого устанавливается на значение
ТАМОН= NУТ, где NУ - номер данного контроллера.Any transmission over
[(NT + NU + N) T, (NG + NU + 1) T] should start the transfer of the token, after which it starts the countdown of the monitor timer, the timeout of which is set to
TAMON = NUT, where NУ is the number of this controller.
Если до истечения тайм-аута таймера монитора выполнена передача пакета монитора контроллером с меньшим номером NУ, то передача пакета монитора не выполняется. По истечении тайм-аута таймера монитора контроллер должен начать передачу пакета-монитора с установленным битом 14 в поле управления пакета. If, before the monitor timer expires, the monitor packet is transmitted by the controller with the lower NU number, then the monitor packet is not transmitted. After the monitor timer timeout expires, the controller should begin transmitting the monitor packet with bit 14 set in the packet control field.
После передачи пакета монитора контроллер начинает вновь отсчет времени таймером монитора, установив его тайм-аут на значение
ТАМОН= (NГ+1)Т.After transmitting the monitor package, the controller starts counting down again with the monitor timer, setting its timeout to
TAMON = (NG + 1) T.
По истечении тайм-аута монитора со значением ТАМОН= (NГ+1)Т контроллер должен передать пакет монитора с установленным битом 13 в поле управления пакета, после чего он становится монитором в локальной вычислительной сети и постоянно передает пакеты монитора по истечении тайм-аута монитора, равного (NГ+1)Т. After the monitor timeout expires with the value TAMON = (NG + 1) T, the controller must transfer the monitor packet with bit 13 set to the packet control field, after which it becomes a monitor on the local area network and constantly transmits monitor packets after the monitor timeout equal to (NG + 1) T.
Если контроллер не смог передать маркер по причине того, что таймер маркера был сброшен передачей другого контроллера, то по окончании сигнала передач в канале 24 связи контроллер должен начинать отсчет времени таймером маркера, установленным на тайм-аут:
ТАМ= (NГ+NУ+N)T.If the controller could not transmit the marker due to the fact that the marker timer was reset by another controller, then at the end of the transmission signal in the
TAM = (NG + NU + N) T.
Если контроллер обнаруживает передачу пакета монитора с установленным битом в течение времени ТАП, то разрешаются передачи пакетов в канал 24 связи по истечении тайм-аута таймера передач, значение которого должно быть установлено на значение
ТАП= NУТ.If the controller detects the transmission of the monitor packet with the bit set during the TAP time, then the transmission of packets to the
TAP = NUT.
Устройство-монитор имеет право на передачу пакетов данных и должно устанавливать тайм-аут своего таймера передач на значение ТАП= NУТ. The monitor device has the right to transmit data packets and must set the timeout of its transmission timer to the value TAP = NUT.
Для уменьшения времени доступа в канал 24 связи интервал времени Т должен быть минимальным, но он не может быть меньше суммы удвоенного времени распространения сигнала по кабелю канала 24 связи и времени реакции контроллера, необходимого для организации передач "своего" пакета по окончании передачи предыдущего "чужого" пакета, плюс межкадровый интервал - время, в течение которого передачи запрещаются для обеспечения затухания сигнала в кабеле после передачи. Так, если удвоенное время распространения сигнала по кабелю равно 51,2 мкс, межкадровый интервал равен 9,6 мкс, а время реакции контроллера не превышает 53 мкс, то интервал времени Т, равный 153 мкс, может удовлетворять предъявленному требованию. To reduce the access time to the
Для установки таймера монитора и таймера передач пакетов контроллер во время передач пакетов по кабелю производит операцию умножения чисел NУП+1 на интервал времени Т= 153 мкс. Полученное в результате операции произведение вычитается из значения тайм-аута монитора, а также из значения тайм-аута передачи. Результаты операции вычитания заносятся в ячейку таймера монитора и ячейку таймера передач запоминающего устройства 7. To set the monitor timer and the packet transmission timer, the controller, during cable transmission, performs the operation of multiplying NUP + 1 numbers by the time interval T = 153 μs. The product resulting from the operation is subtracted from the monitor timeout value, as well as from the transmission timeout value. The results of the subtraction operation are recorded in the timer cell of the monitor and the timer cell of the transmission memory device 7.
Для вычисления таймеров из ячейки таймера монитора и ячейки таймера передач вычитают числа, равные последовательным отрезкам текущего времени, до достижения нулевого результата в одном из таймеров. To calculate timers, the numbers equal to consecutive segments of the current time are subtracted from the monitor timer cell and the transmission timer cell until a zero result is achieved in one of the timers.
Начало отсчета первого отрезка времени производится от конца передачи очередного пакета в кабеле. Нулевой или отрицательный результат означает достижение тайм-аута соответствующего таймера. The reference point of the first time interval is made from the end of the transmission of the next packet in the cable. A zero or negative result means that the corresponding timer has timed out.
Для обеспечения необходимого времени реакции контроллера операция умножения должна выполняться в возможно короткое время, для чего реализуется нестандартный прием выполнения операции. Для выполнения операции умножения множимое преобразуют так, как описано далее, и в виде двоичных сигналов подают на первую и вторую группы адресных входов запоминающего устройства 7, на входы управления которого подают код операции. Из ячеек запоминающего устройства 7 считывают результат операции на выходы запоминающего устройства 7. Множитель (число Т= 153) в операции умножения присутствует неявно. To ensure the necessary reaction time of the controller, the multiplication operation should be performed as soon as possible, for which a non-standard method of performing the operation is implemented. To perform the multiplication operation, the multiplicand is transformed as described below, and in the form of binary signals are supplied to the first and second groups of address inputs of the storage device 7, to the control inputs of which an operation code is supplied. From the cells of the storage device 7, the result of the operation on the outputs of the storage device 7 is read. The multiplier (number T = 153) is implicitly present in the multiplication operation.
Слова вычисляемых программных таймеров и слова значений тайм-аутов таймеров хранятся в оперативной памяти 6. Эти слова читаются или записываются после установки на входах управления оперативной памяти 6 сигналов управления чтением или записью и установки на входах адреса оперативной памяти 6 сигналов констант с второй группы выходов памяти 70 мирокоманд через первый из регистров 63, через первую группу выходов регистрового устройства 8. The words of the calculated program timers and the words of the timeout values of the timers are stored in RAM 6. These words are read or written after installing 6 control signals for reading or writing at the inputs of the control memory and setting 6 signals of constants from the second group of memory outputs at the inputs of the
Вычисление таймеров выполняют в подпрограмме, на которую переходят по сигналу запроса прерываний с выхода RS-триггера 79. Запрос прерываний формируется по достижении счетчиком-таймером 77 своего тайм-аута. Тайм-аут определяется дешифратором 78, с выхода которого поступает на S-вход RS-триггера 79 сигнал, устанавливающий на выходе RS-триггера 79 сигнал запроса прерываний. The calculation of the timers is performed in the subroutine, which is transferred by the interrupt request signal from the output of the RS-flip-
По сигналу запроса прерываний контроллер 9 прерываний на своих выходах формирует вектор прерываний, а на выходе управления - сигнал управления, по которому мультиплексор 71 пропускает на входы адреса памяти 70 микрокоманд вектор прерываний. Далее по микрокомандам из памяти 70 микрокоманд выполняются операции, в ходе которых из содержимого таймеров вычитается значение времени, сформированное на выходах счетчика-таймера 77, для чего сигналы с выходов счетчика-таймера 77 пересылаются через мультиплексор 69 в регистровое устройство 8 и далее на вторую группу адресных входов запоминающего устройства 7, на первую группу адресных входов которого считываются слова таймеров из оперативной памяти 6. Запоминающим устройством 7 вычисляется разность значений сигналов на первой и второй группах его адресных входов. При получении отрицательной разности формируется сигнал переноса на выходе переноса запоминающего устройства 7, по которому определяют достижение таймеров своего тайм-аута. Сигнал переноса подается через мультиплексор 74 условий на вход условий формирователя 73 адреса микрокоманды, который с учетом сигнала на входе условий формирует начальный адрес программы, управляющей передачей маркера, передачей пакета монитора, передачей пакета данных или переустановкой таймеров. According to the interrupt request signal, the interrupt controller 9 generates an interrupt vector at its outputs, and a control signal at the control output, by which the
Счетчик-таймер 77 после считывания с его выходов сигналов должен быть обнулен по входу сброса, после чего он продолжает счет импульсов с выхода генератора 75.
Номер контроллера, ведущего передачу пакета, необходимый для установки значения таймера передач так же, как и адрес назначения пакета, считывается из фифо 90 приема через мультиплексор 91, через входы-выходы приемника 12 на внутреннюю шину 15. Это происходит во время приема пакета из канала 24 связи через вход данных приемника 12. The number of the controller that transmits the packet, which is necessary to set the value of the timer for transmissions, as well as the destination address of the packet, is read from the
Во время приема пакета последовательный поток данных, закодированных в манчестерский код, поступает на вход декодера 96. На выходе декодера 96 формируется последовательный код данных без возвращения к нулю, сопровождаемый тактовыми синхроимпульсами на выходе синхронизации декодера 96. Принимаемые данные преобразуются на выходах сдвигового регистра 92 в параллельный код. Детектор 93 флага, дешефрировав флаг преамбулы, формирует на своем выходе сигнал, который устанавливает в единицу выход RS-триггера 94, и при этом снимается сигнал сброса с входа сброса счетчика 98 битов. Счетчик 98 битов начинает подсчет принимаемых битов данных путем подсчета числа синхроимпульсов с выхода синхронизации декодера 96. По сигналам с выходов счетчика 98 битов управляющая логика 100 подает на счетный вход счетчика 99 импульсы для подсчета числа принимаемых слов, на входы управления фифо 90 приема сигналы записи слов, а на входы меток фифо 90 прима сигналы меток принимаемых слов. При этом принимаемые слова данных записываются в фифо 90 приема и метятся метками слов. При приеме сигнала данных с входа приемника 12 на выходе детектора 97 входного сигнала формируется сигнал наличия несущей в канале 24 связи, по окончании которого управляющая логика 100 формирует сигнал метки конца пакета, подаваемый на вход фифо 90 приема, и сигнал записи для записи метки конца принятого пакета в фифо 90 приема. По концу приема пакета счетчик 99 байтов сбрасывается по своему входу сброса сигналом с управляющей логики 100. During packet reception, a serial stream of data encoded in Manchester code is input to
Установка таймеров производится при приеме пакета. После приема адреса назначения и слова номера контроллера управляющая логика 100 по выходным сигналам счетчика 99 байтов на выходах состояний приемника 12 формирует сигналы запросов прерывания на фильтрацию адреса назначения пакета. По этим сигналам контроллер 9 прерываний на своих выходах формирует вектор прерываний, по которому шифратор 11 управления переходит на подпрограмму фильтрации пакетов по адресам их назначения и на подпрограмму установки таймеров маркера, монитора и передач. Timers are set when a packet is received. After receiving the destination address and the controller number word, the
Подпрограмма установки таймеров начинается после выполнения подпрограммы фильтрации адресов назначения, когда три слова адреса назначения считаны из фифо 90 приема для их сопоставления с таблицей адресов назначения, которая задается для контроллера ЭВМ 21. The subroutine for setting the timers starts after the subroutine for filtering destination addresses is executed, when three words of the destination address are read from
За адресами назначения из фифо 90 приема считывается слово номера контрроллера, для чего на вторую группу входов управления приемника 12 с шифратора 11 управления подается инструкция чтения слова из фифо 90 приема через мультиплексор 91 на внутреннюю шину 15, по которой шифратор 11 управления формирует сигналы управления на входы управления фифо 90 приема и входы управления мультиплексора 91. Слово номера контроллера подается на первую группу адресных входов запоминающего устройства 7. На этом завершается выполнение первой микрокоманды подпрограммы установки таймеров. For the destination addresses from
Предположим, что наибольшее количество контроллеров, подключаемых к каналу 24 связи, равно 79 (NГ= 79). Таким образом, номер контроллера (NУП) может быть размещен в первых шести битах слова номера контроллера (биты 0-5). Предположим, что запоминающее устройство 7 секционировано и содержит четыре секции 52 запоминающего устройства, первые и вторые группы адресных входов которых содержат по четыре разряда. Suppose that the largest number of controllers connected to the
При выполнении второй микрокоманды слово с внутренней шины 15 записывается во второй из регистров регистрового устройства 8. На входы управления запоминающего устройства 7 подается код операции, при выполнении которой на выходах запоминающего устройства 7 формируется слово, биты 00 и 01, 04 и 05, 08 и 09, 14 и 15 которого попарно устанавливаются равными значению пары битов 04 и 05 на первой группе адресных входов запоминающего устройства 7, т. е. становятся равными битами 04 и 05 номера контроллера передаваемого пакета (NУП). Это возможно, если вторая секция 52 запоминающего устройства пересылает на свои выходы переноса неизменными два младших бита, поданных на первую группу ее входов, а схема ускоренных переносов выдает на входы переноса секции 52 запоминающего устройства 7 эти биты также неизменными, после чего на выходах младших битов секций 52 запоминающего устройства формируются попарно младшие биты, равные битам 05 и 04 слова на первой группе адресных входов запоминающего устройства 7. Результат операции записывается в третий из регистров 63 регистрового устройства 8. Этим завершается выполнение второй микрокоманды. Далее аналогично на выходах запоминающего устройства 7 в результате выполнения еще одной операции формируется слово, в которов биты группами по четыре 00, 01, 02, 03 и 04, 05, 06, 07, и 08, 09, 10, 11, и 12, 13, 14, 15 равны соответственно битам 00, 01, 02, 03 слова (NУП) номера передающего устройства. Сигналы с выходов запоминающего устройства 7 записываются во второй из регистров 63, чем завершается выполнение третьей микрокоманды. When the second microcommand is executed, the word from the
По четвертой микрокоманде сигналы второго из регистров 63 подаются на первую группу адресных входов запоминающего устройства 7, сигналы третьего из регистров 63 подаются на вторую группу адресных входов запоминающего устройства 7, на входы управления которого подается код операции умножения на константу Т числа NУП+1. Младшие биты члена NУП подаются на вторую группу входов, а старшие биты - на первую группу входов каждой из секции 52. На вход переноса запоминающего устройства 7 подается уровень единицы, которая суммируется с числом NУП при выполнении операции. Этот уровень через запоминающее устройство 53 ускоренных переносов распространяется на входы приема секции 52. В результате выполнения операции на выходах секции 52 формируются биты результата операции
ТП= Т(NУП+1), где Т= 153 задается неявно кодом операции.According to the fourth micro-command, the signals of the second of the
TP = T (NUP + 1), where T = 153 is set implicitly by the operation code.
На первой и второй группах входов каждой из секций 52 присутствуют все шесть битов номера передающего устройства (NУП). Каждая секция запрограммирована индивидуально таким образом, что на ее выходах формируется группа четырех битов слова результата. На четырех секциях 52 формируются все шестнадцать битов слова результата, которое записывается во второй из регистров 63. В первый из регистроа 63 записывается константа адреса ячейки запоминающего устройства 7, в которой хранится слово тайм-аута таймера передачи. На этом завершается выполнение четвертой микрокоманды. Если время выполнения одной микрокоманды равно 200 нс, то вычисление значения ТП производится за четыре микрокоманды или 800 нс. On the first and second groups of inputs of each of the
По пятой микрокоманде из оперативной памяти 6 считывается значение тайм-аута таймера передач на первую группу адресных входов запоминающего устройства 7, на вторую группу его адресных входов считывается из регистрового устройства 8 число ТП, которое вычитается из значения тайм-аута. According to the fifth micro-command, the value of the timeout of the transmission timer for the first group of address inputs of the storage device 7 is read from the RAM 6, the number of TSs that are subtracted from the timeout value is read from the register device 8.
По шестой микрокоманде результат записывается в оперативную память 6 в ячейку временного хранения слова таймера передачи. According to the sixth micro-command, the result is written into RAM 6 in the temporary storage cell of the transmission timer word.
По седьмой микрокоманде из оперативной памяти 6 считывается значение тайм-аута таймера монитора, из него вычитается значение ТП. Результат по восьмой микрокоманде переписывается в ячейку временного хранения слова таймера монитора оперативной памяти 6. According to the seventh micro-command, from the RAM 6 the timeout value of the monitor timer is read, the value of the TP is subtracted from it. The result of the eighth microcommand is copied to the temporary storage cell of the timer monitor RAM 6.
По девятой и десятой микрокомандам из оперативной памяти 6 считывается из ячейки тайм-аута таймера маркера значение тайм-аута маркера, вычитается из него значение ТП и результат перезаписывается в ячейку временного хранения, на чем завершается подпрограмма установки таймеров по результатам приема из канала 24 связи пакета. According to the ninth and tenth microcommands from the RAM 6, the marker timeout value is read from the marker timer timeout cell, the value of the marker timeout is subtracted from it, and the result is overwritten into the temporary storage cell, which completes the timer setup routine based on the results of receiving the packet from
Во время приема пакета логика 95 циклического контроля осуществляет вычисление контрольной суммы для проверки принимаемых данных на наличие в них ошибок. По окончании приема пакета при отсутствии сигнала несущей в канале 24 связи, определяемого детектором 97, и по сигналам с выходов счетчика 99 байтов, когда они не равны нулю, на выходах управляющей логики 100 формируются сигналы запросов прерываний по концу приема пакета, которые подаются на выходы состояний приемника 12. По этим сигналам контроллер 9 прерываний формирует вектор и осуществляется переход на подпрограмму запуска таймеров. Для этого по сигналам по второй группе входов управления приемника 12 через мультиплексор 91 на внутреннюю шину 15 считывается сигнал с выхода контроля логики 95 циклического контроля, определяющий отсутствие или наличие ошибок в принимаемом пакете. Считываются сигналы с выходов счетчика 98 битов, определяющие кратность принятых битов числу восемь, т. е. кратность целому числу байтов, сигналы с выходов счетчика 99 байтов, определяющие длину принятого пакета, если принятый пакет имеет длину в пределах допустимой, если он заканчивается на байтовой границе и не имеет ошибок, то слова таймеров монитора, пакета и маркера пересылаются из ячеек временного хранения в соответствующие ячейки таймеров маркера, монитора и передачи в оперативной памяти 6. At the time of receiving the packet, the
Если пакет принят с ошибками, то таймер маркера устанавливается на значение
ТАМ= (NГ+NУ+N)T, а таймеры монитора и пакета на значение большее, чем ТАМ, что позволяет не выполнять передачи в кабель пакетов до проведения повторной синхронизации контроллера в канале 24 связи.If the packet was received with errors, then the marker timer is set to
TAM = (NG + NU + N) T, and the monitor and packet timers are greater than TAM, which allows you to not transmit packets to the cable until the controller is re-synchronized in the
ЭВМ 21 формирует таблицу адресов назначения, которые контроллер различает как "свои", и принимает пакеты с адресами назначения, заданными в таблице адресов назначения. Контроллер считывает их в режиме прямого доступа к памяти из оперативной памяти ЭВМ 21. Делает это контроллер перед тем, как будут разрешены ЭВМ 21 прием и передача пакетов в канал 24 связи. Например, таблица адресов назначения может содержать четырнадцать 48-битных адресов назначения пакетов. Из них один адрес широковещательный, т. е. предназначенный для всех устройств в сети, другой индивидуальный, т. е. предназначенный только для данного контроллера. Такой адрес начинается с бита, установленного в ноль. Остальные адреса групповые, т. е. предназначены группам устройств, в которые входит данный конкретный контроллер. Групповой адрес начинается с бита, установленного в единицу. The
Для обеспечения ускоренной фильтрации адрес назначения принимаемого пакета разбивается на двенадцать групп битов по четыре бита в каждой группе (двенадцать полубайтов). Каждым из полубайтов адресуется к одной из групп ячеек оперативной памяти 6. В каждой группе шестнадцать ячеек памяти. Из ячеек памяти, к которым адресуются полубайтами, считываются данные (слова соответствия), которые дают возможность определить является ли данный полубайт частью одного из адресов назначений, заданных в таблице адресов назначения. Если все полубайты принимаемого адреса назначения определяются как полубайты одного и того же адреса назначения, заданного в таблице адресов назначения, то пакет принимается контроллером в фифо 90 приема. To ensure accelerated filtering, the destination address of the received packet is divided into twelve groups of bits, four bits in each group (twelve nibbles). Each of the nibbles is addressed to one of the groups of memory cells 6. In each group there are sixteen memory cells. From memory cells to which nibbles are addressed, data (matching words) is read, which makes it possible to determine whether a given nibble is part of one of the destination addresses specified in the destination address table. If all nibbles of the received destination address are defined as nibbles of the same destination address specified in the destination address table, the packet is received by the controller in
Контроллер формирует таблицу слов соответствия. Слова соответствия образуют в оперативной памяти 6 двенадцать групп по шестнадцать слов. Под эти группы отводится страница области оперативной памяти 6 величиной в 21 слово. Для адресации к словам соответствия в пределах страницы достаточно иметь восемь разрядов входов адреса оперативной памяти 6. С четвертого по седьмой разряды адреса указывают на номер группы, с нулевого по третий разряды - на одно из слов соответствия в группе. Перед составлением таблицы слов соответствия все ячейки памяти, расположенные на странице, должны быть обнулены. The controller generates a table of matching words. Correspondence words form 6 twelve groups of sixteen words in RAM. For these groups, a page of the area of RAM 6 with a size of 21 words is assigned. To address words of correspondence within a page, it is enough to have eight bits of inputs of the address of RAM 6. From the fourth to seventh bits, the addresses indicate the group number, from zero to third bits - to one of the words of correspondence in the group. Before compiling a table of words of correspondence, all memory cells located on the page must be zeroed.
Номер группы ставится в соответствие с номером полубайта в адресе назначения фильтруемого пакета. Счет полубайтов ведется от числа 0 до числа 13. С нулевого по третий разряды ставятся в соответствие с нулевого по третий разрядам полубайтов адресов назначения. The group number is set in accordance with the nibble number in the destination address of the filtered packet. The nibble count is maintained from the number 0 to the number 13. From zero to third digits are mapped to zero to third digits of the nibbles of the destination addresses.
Битам 0-13 каждого из слов соответствия противопоставляется один из четырнадцати адресов, заданных в таблице адресов назначения. Если, например, бит 5 слова, расположенного на странице слов соответствия, установлен, а с нулевого по седьмой разряды адреса ячейки оперативной памяти, содержащей это слово соответствия, имеют значение 00110110, то установленный бит 5 говорит о том, что третий полубайт (третий, с четвертого по седьмой поскольку разряды адреса оперативной памяти имеют значение 0011) пятого (поскольку бит 5 слова соответствия равен единице) из адресов, заданных в таблице адресов назначений, имеет значение 0110 (с нулевого по третий разряды адреса оперативной памяти имеют значение 0110). Bits 0-13 of each of the matching words are opposed to one of the fourteen addresses specified in the destination address table. If, for example, bit 5 of the word located on the match words page is set, and from zero to seventh digits the addresses of the RAM cell containing this match word have the value 00110110, then set bit 5 means that the third nibble (third, from the fourth to the seventh because the bits of the RAM address have the value 0011) of the fifth (since bit 5 of the correspondence word is one) from the addresses specified in the destination address table, it has the value 0110 (from zero to the third bits of the RAM address dissolved value 0110).
При формировании слов соответствия контроллер в прямом доступе считывает слова адресов назначения через шину 17 данных , через интерфейс 1 и мультиплексор 14 из таблицы адресов назначения, расположенной в оперативной памяти ЭВМ 21, на внутреннюю шину 15. Считанное слово адреса назначения записывается во втором из регистров 63 и преобразуется на выходах запоминающего устройства 7 так, что биты 0-3 остаются равными битам 0-3 слова на внутренней шине 15, биты 4-7 обнуляются, а биты 8-16 устанавливаются на значение, необходимое для адресации к странице оперативной памяти 6, на которой хранится таблица слов соответствия. Слово с выходов запоминающего устройства 7 пересылается через первый из регистров 63 на входы адреса оперативной памяти 6, из которой на внутреннюю шину читается выбранное слово соответствия и преобразуется на запоминающем устройстве 7 путем установки в нулевом бите единицы. Результат заносится в оперативную память 6 по старому адресу. Наличие единицы в нулевом бите слова соответствия, к которому адресовались четырьмя битами первого полубайта первого слова адреса назначения, говорит о том, что именно такой первый полубайт в первом слове одного из адресов назначения имеется. Далее содержимое второго из регистров 63 считывается на внутреннюю шину 15 и второй полубайт первого слова адреса назначения пересылается на выходы запоминающего устройства 7. При этом биты 0-3 на выходах запоминающего устройства 7 становятся равными битам 4-7 на его первой группе адресных входов, биты 4-7 на его выходах приобретают значения 0001, остальные биты устанавливаются, как и раньше, для адресации соответствующей страницы. Оперативная память 6 адресуется через первый из регистров 63 по новому адресу. Еще одно слово считывается на выходы оперативной памяти 6. Нулевой бит этого слова устанавливается в едицину и преобразованное слово записывается по старому адресу. When forming the words of correspondence, the controller reads directly the words of the destination addresses through the
Таким же образом производится преобразование с двумя другими полубайтами первого слова адреса назначения, хранящегося в первом из регистров 63. В результате в оперативной памяти 6 сформировано четыре слова соответствия, в нулевых битах которых установлена единица. Далее из ЭВМ 21 считывается второе, а затем третье слова первого адреса назначения. С этими словами выполняются такие же преобразования, как и с первым словом адреса назначения. После этого в оперативной памяти 6 сформировано двенадцать слов соответствия, что равно числу полубайтов в адресе назначения. Во всех словах соответствия нулевые биты установлены в единицы. Эти слова соответствия расположены по одному в каждой из групп слов соответствия на странице слов соответствия оперативной памяти 6. In the same way, the conversion is made with two other nibbles of the first word of the destination address stored in the first of the
Аналогично производится формирование слов соответствия для остальных адресов назначения, вызываемых из ЭВМ 21, только с тем различием, что для второго адреса назначения в словах соответствия, расположенных в оперативной памяти 6, устанавливаются в единицу первые биты, а для третьего адреса назначения - третьи биты и т. д. для всех двенадцати адресов назначения. Similarly, correspondence words are generated for the remaining destination addresses called from the
Такая таблица соответствия в оперативной памяти 6 позволяет достаточно быстро производить фильтрацию принимаемых пакетов по адресам назначения, чтобы одновременно выполнять несколько процессов реального времени. Such a correspondence table in RAM 6 allows you to quickly filter received packets by destination addresses in order to simultaneously perform several real-time processes.
Фильтрация пакетов производится следующим образом. При переходе на подпрограмму фильтрации пакетов шифратор 11 управления на вторую группу входов управления приемника 12 выдает сигналы, по которым под управлением управляющей логики 100 из фифо 90 приема считывается слово адреса назначения через мультиплексор 91 на внутреннюю шину 15 и записывается во второй из регистров 63. На этом завершается первая микрокоманда подпрограммы. Packet filtering is performed as follows. When switching to the packet filtering subroutine, the control encoder 11 transfers to the second group of control inputs of the receiver 12 the signals by which, under the control of the
Затем производится пересылка битов 0-3 на биты 0-3 выходов запоминающего устройства 7, биты 4-7 которых устанавливаются на число ноль, это соответствует первому полубайту принимаемого адреса назначения, биты 8-15 устанавливаются на страницу слов соответствия (вторая микрокоманда). Сформированное слово служит для адресации оперативной памяти 6, из которой считывается на внутреннюю шину 15 слово соответствия и заносится в третий из регистров 63. Это слово соответствия также тестируется запоминающим устройством 7 для выявления в нем бит, установленных в единицу (третья микрокоманда). Then, bits 0-3 are sent to bits 0-3 of the outputs of the storage device 7, bits 4-7 of which are set to zero, this corresponds to the first nibble of the received destination address, bits 8-15 are set to the page of matching words (second microcommand). The generated word is used for addressing the RAM 6, from which the correspondence word is read on the
Если хотя бы один бит слова соответствия установлен в единицу, то это означает, что принятый полубайт адреса назначения имеется в адресах назначения, разрешенных для приема таблицей адресов назначения. Если, например, единица установлена в шестом бите слова соответствия, то это означает, что первый полубайт принятого адреса назначения и первый полубайт седьмого адреса назначения из таблицы адресов назначения совпадают. В этом случае подпрограмма продолжается, а в противном случае прекращается, пакет распознается как "чужой", не предназначенный данному контроллеру, и выполнение подпрограммы завершается. If at least one bit of the match word is set to one, then this means that the received nibble of the destination address is in the destination addresses allowed for the table to receive the destination addresses. If, for example, the unit is set in the sixth bit of the match word, then this means that the first nibble of the received destination address and the first nibble of the seventh destination address from the destination address table are the same. In this case, the subroutine continues, and otherwise stops, the package is recognized as a “foreign”, not intended for this controller, and the execution of the subroutine ends.
При продолжении подпрограммы формируются слова адреса оперативной памяти 6, в битах 0-3 поочередно устанавливаются биты остальных полубайтов адреса назначения, в битах 4-7 устанавливается номер полубайта, а в битах 8-15 - адрес страницы слов соответствия. Слова соответствия считываются из оперативной памяти 6, выполняется каждый раз при этом операция логического умножения над словом, считанным из оперативной памяти 6, и словом, хранящимся в третьем из регистров 63. Результат заносится обратно в третий из регистров 63 и тестируется на наличие в слове результат хотя бы одного бита, установленного в единицу. When the subroutine is continued, the words of the address of RAM 6 are formed, in bits 0-3 the bits of the remaining nibbles of the destination address are set one by one, in bits 4-7 the nibble number is set, and in bits 8-15 the address of the page of matching words is set. Correspondence words are read from RAM 6, each time the logical multiplication operation is performed on a word read from RAM 6 and a word stored in the third of
Пусть в слове соответствия второго полубайта принимаемого адреса назначения шестой бит установлен в единицу. Это означает, что второй полубайт принимаемого адреса назначения и второй полубайт седьмого адреса назначения из таблицы адресов назначений совпадают. При выполнении операции логического умножения над словом, хранящимся во втором из регистров 63 и считанных из оперативной памяти 6, результат операции содержит шестой бит, установленный в единицу. Это означает, что седьмой адрес назначения из таблицы адресов назначения и принимаемый адрес назначения имеют одинаковые первые байты. Таким образом, устанавливается принадлежность принимаемого адреса к таблице адресов назначения. Let the sixth bit is set to one in the correspondence word of the second nibble of the received destination address. This means that the second nibble of the received destination address and the second nibble of the seventh destination address from the destination address table are the same. When performing a logical multiplication operation on a word stored in the second of the
Общее число выполняемых микрокоманд в подпрограмме с учетом операции логического умножения составляет 48 микрокоманд или 9,6 мкс потребуется на ее выполнение. The total number of microcommands executed in the subprogram taking into account the logical multiplication operation is 48 microcommands, or 9.6 μs will be required to execute it.
Поскольку подпрограмма фильтрации достаточно длинна, а общее время работы контроллера делится между несколькими процессами реального времени, то по этой причине подпрограмма фильтрации пакетов по адресам назначения может прерываться подпрограммой, в которой выполняется программный обмен между ЭВМ 21 и контроллером. Since the filtering subroutine is quite long, and the total operating time of the controller is divided between several real-time processes, for this reason the packet filtering subroutine by destination address may be interrupted by a subroutine in which program exchange between the
Если программный обмен между ними может быть выполнен за время, не превышающее 2,6 мкс, а сигнал "Готовность", которым завершается программный обмен и который выдает контроллер, должен быть выдан не позднее, чем через 7,2 мкс после поступления сигнала "Чтение" или "Запись" с ЭВМ 21, то целесообразно при выполнении фильтрации адресов назначения на входы управления приоритетами контроллера 9 прерываний с шифратора 11 управления выдавать через каждые 3 мкс (15 микрокоманд) сигналы текущего приоритета, позволяющие подпрограммам более высокого приоритета прерывать выполнение подпрограммы фильтрации адресов назначения. If a program exchange between them can be completed in a time not exceeding 2.6 μs, and the Ready signal, by which the program exchange ends and which the controller issues, should be issued no later than 7.2 μs after the receipt of the Read signal "or" Record "with the
Предлагаемый контроллер выгодно отличается от прототипа, поскольку имеет более широкую область применения при сокращении аппаратурных затрат на его реализацию. Расширение области применения выражается в том, что контроллер может быть использован в системах, выполняющих обмен данными в реальном времени, при совместной работе ЭВМ, имеющими ограниченное адресное пространство, отведенное под адресацию к регистрам внешних устройств. Примером таких ЭВМ могут служить ЭВМ, построенные на основе микропроцессоров серии 580, где под адресацию регистров внешних устройств отводится 256 адресов. The proposed controller compares favorably with the prototype, as it has a wider field of application while reducing hardware costs for its implementation. The extension of the scope is expressed in the fact that the controller can be used in systems that perform real-time data exchange, when computers work together with a limited address space allocated for addressing to registers of external devices. An example of such computers is computers built on the basis of microprocessors of the 580 series, where 256 addresses are allocated for addressing the registers of external devices.
В прототипе данные управления (слова состояний и управления) записываются в регистры контроллера в режиме программного обмена. Количество регистров определяется количеством слов данных управления, которые одновременно должен хранить контроллер. Для обеспечения работы последнего в режимах реального времени каждый из разрядов регистров подключен к шифратору управления. При этом на регистры и шифратор управления требуются аппаратурные затраты, зависящие от числа регистров, в которых хранятся данные управления. In the prototype, control data (state and control words) is written to the controller registers in program exchange mode. The number of registers is determined by the number of words of control data that the controller must simultaneously store. To ensure the operation of the latter in real-time modes, each of the bits of the registers is connected to the control encoder. At the same time, hardware registers are required for the registers and the control encoder, depending on the number of registers in which the control data is stored.
В предлагаемом контроллере обмен данными управления выполняется как в режиме программного обмена, так и в режиме прямого доступа к памяти. Обмен данными управления, выполняемый предлагаемым контроллером в режиме прямого доступа к памяти, позволяет сократить до необходимого минимума адресное пространство, отведенное под адресацию регистров внешних устройств. Обработка данных управления на запоминающем устройстве с последующей выработкой на его выходах кодов, преобразуемых дешифратором-преобразователем начального адреса в управляющее воздействие (в адрес соответствующей подпрограммы), выполняется за цикл чтения или записи режима прямого доступа или режима программного обмена, т. е. в процессе реального времени обмена данными управления. In the proposed controller, the exchange of control data is performed both in program exchange mode and in direct memory access mode. The exchange of control data performed by the proposed controller in the direct memory access mode allows to reduce to the required minimum the address space reserved for addressing the registers of external devices. Processing of control data on the storage device with subsequent generation of codes on its outputs that are transformed by the decoder-converter of the initial address into a control action (into the address of the corresponding subprogram) is performed for a cycle of reading or writing direct access mode or program exchange mode, i.e., in the process real-time data exchange management.
Уменьшение адресного пространства, отведенного под адресацию регистров внешних устройств, и выполнение обмена данными управления в режиме прямого доступа к памяти ЭВМ при сохранении требований, предъявляемых к контроллеру при работе в режимах реального времени, позволяют расширить область применения контроллера. При этом он может работать совместно с ЭВМ, имеющими ограниченное адресное пространство, отведенное под адресацию регистров внешних устройств, и выполняющими обмен данными в режимах реального времени. Reducing the address space reserved for addressing the registers of external devices, and the exchange of control data in direct access to the computer memory while maintaining the requirements for the controller when working in real time, can expand the scope of the controller. At the same time, it can work together with computers that have a limited address space reserved for addressing the registers of external devices, and perform data exchange in real time.
Использование оперативной памяти для хранения данных управления, обмен которыми производится как в режиме прямого доступа, так и в программном обмене, позволяет произвести сокращение аппаратурных затрат за счет отсутствия регистров внешних устройств, а также за счет отсутствия логики управления, связанной с каждым из разрядов регистров внешних устройств. Такую управляющую логику заменяют в предлагаемом контроллере запоминающее устройство и контроллер прерываний. Формирование на выходах запоминающего устройства кодов управляющих сигналов в процессе реального обмена данными управления и арбитраж процессов реального времени, выполняемый контроллером прерываний, позволяют не использовать управляющую логику, связанную с каждым из разрядов регистров внешних устройств, и исключить сами эти регистры из контроллера. The use of random access memory for storing control data exchanged both in direct access mode and in software exchange allows reducing hardware costs due to the absence of external device registers, as well as due to the absence of control logic associated with each of the categories of external registers devices. Such control logic is replaced in the proposed controller memory device and interrupt controller. The generation of control signal codes at the outputs of the storage device during the real exchange of control data and the real-time arbitration of processes performed by the interrupt controller make it possible not to use the control logic associated with each of the bits of the external device registers and to exclude these registers from the controller.
Для реализации предлагаемого варианта требуются ячейки памяти в оперативной памяти под хранение данных управления. При программном обмене этих ячеек требуется десять. При обмене дескрипторами буферов (при семи дескрипторах буферов передачи и семи дескрипторах буферов приема) требуется 42 ячейки памяти. При обмене установочным пакетом требуется 256 ячеек памяти. Использование оперативной памяти при применении, например, микросхем серии 541РУ2 для шестнадцатиразрядной внутренней шины 15 позволяет иметь всего четыре корпуса таких микросхем вместо большего количества регистров. To implement the proposed option requires memory cells in RAM for storing control data. When exchanging these cells programmatically, ten are required. When exchanging buffer descriptors (with seven transmit buffer descriptors and seven receive buffer descriptors), 42 memory cells are required. When exchanging the installation package, 256 memory cells are required. The use of RAM when using, for example, 541RU2 series microcircuits for a sixteen-bit
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4907998 RU2012043C1 (en) | 1991-02-04 | 1991-02-04 | Video controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4907998 RU2012043C1 (en) | 1991-02-04 | 1991-02-04 | Video controller |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2012043C1 true RU2012043C1 (en) | 1994-04-30 |
Family
ID=21558703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4907998 RU2012043C1 (en) | 1991-02-04 | 1991-02-04 | Video controller |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2012043C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546574C1 (en) * | 2014-04-04 | 2015-04-10 | Общество с ограниченной ответственностью "ЭнергоКруг" | Rs-485 interface arbitrator |
RU177629U1 (en) * | 2017-09-29 | 2018-03-02 | Акционерное общество "МЦСТ" | High Speed Link Controller |
-
1991
- 1991-02-04 RU SU4907998 patent/RU2012043C1/en active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546574C1 (en) * | 2014-04-04 | 2015-04-10 | Общество с ограниченной ответственностью "ЭнергоКруг" | Rs-485 interface arbitrator |
RU177629U1 (en) * | 2017-09-29 | 2018-03-02 | Акционерное общество "МЦСТ" | High Speed Link Controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0165600B1 (en) | Input/output bus for computer | |
US4868742A (en) | Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed | |
US5133062A (en) | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory | |
US4320467A (en) | Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority | |
US4748617A (en) | Very high-speed digital data bus | |
EP0241129A2 (en) | Addressing arrangement for a RAM buffer controller | |
US6298396B1 (en) | System for loading a current buffer desciptor register with a value different from current value to cause a previously read buffer descriptor to be read again | |
US4213176A (en) | System and method for increasing the output data throughput of a computer | |
US4418382A (en) | Information exchange processor | |
US4188665A (en) | Programmable communications subsystem | |
EP0870239B1 (en) | Burst-broadcasting on a peripheral component interconnect bus | |
US4156796A (en) | Programmable data processing communications multiplexer | |
US4797815A (en) | Interleaved synchronous bus access protocol for a shared memory multi-processor system | |
US4999769A (en) | System with plural clocks for bidirectional information exchange between DMA controller and I/O devices via DMA bus | |
EP0046203A1 (en) | Multiprocessor arrangement with a common bus | |
CA1172719A (en) | Distributed-structure message switching system on random-access channel for message dialogue among processing units | |
US6212593B1 (en) | Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system | |
US6182165B1 (en) | Staggered polling of buffer descriptors in a buffer descriptor ring direct memory access system | |
US4041473A (en) | Computer input/output control apparatus | |
EP0239937A2 (en) | Serial communications controller | |
US5515523A (en) | Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems | |
US4156277A (en) | Access request mechanism for a serial data input/output system | |
KR920006858A (en) | Method and device for optimizing bus arbitration during direct memory access data transmission | |
US5640602A (en) | Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus | |
GB1597202A (en) | Communications processor architecture |