RU1777148C - Computing system - Google Patents
Computing systemInfo
- Publication number
- RU1777148C RU1777148C SU894691857A SU4691857A RU1777148C RU 1777148 C RU1777148 C RU 1777148C SU 894691857 A SU894691857 A SU 894691857A SU 4691857 A SU4691857 A SU 4691857A RU 1777148 C RU1777148 C RU 1777148C
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- inputs
- address
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Complex Calculations (AREA)
Abstract
Изобретение относитс к вычислительной технике и предназначено дл использовани в многопроцессорных вычислительных комплексах высокой производительности. Цель изобретени - повышение производительности на скал рных и векторных вычислени х и сокращение времени выполнени управл ющих воздействий. Система выполнена в виде следующих модулей устройства - 1-1-1-8 общей оперативной пам ти, центThe invention relates to computer technology and is intended for use in high performance multiprocessor computer systems. The purpose of the invention is to increase productivity in scalar and vector computations and to reduce the time for executing control actions. The system is made in the form of the following device modules - 1-1-1-8 of the general random access memory, cent
Description
Фиг.1Figure 1
ральных процессоров 2-1-2-16 и процессоров 3-1-3-8 ввода-вывода. Узел центрального управлени системой содержит блоки программного управлени , выполненные в виде управл ющих ЭВМ 5-1-5-8 и коммутатора 4 линий св зи. Наличие св зей между модул ми системы типа каждый с каждымralny processors 2-1-2-16 and processors 3-1-3-8 input-output. The central control unit of the system comprises program control units made in the form of control computers 5-1-5-8 and a commutator 4 of communication lines. The presence of connections between the modules of the system type each with each
Изобретение относитс к вычислительной технике и может быть использовано при проектировании многопроцессорных вычислительных комплексов высокой производительности .The invention relates to computer technology and can be used in the design of high-performance multiprocessor computer systems.
Цель изобретени - повышение производительности на скал рных и векторных вычислени х и сокращение времени выполнени управл ющих воздействий.The purpose of the invention is to increase productivity in scalar and vector computations and to reduce the time for executing control actions.
На фиг. 1 представлена структурна схема вычислительной системы; на фиг. 2 - структурна схема центрального процессора; на фиг. 3 - структура командного слова центрального процессора; на фиг. 4 - структурна схема устройства буферной пам ти команд, устройства управлени , устройства буферной пам ти данных и блока управлени устройством буферной пам ти команд; на фиг. 5 - структурна схема коммутатора данных; на фиг. 6 - структурна схема блока индексации; на фиг. 7 - структурна схема блока перевода математического адреса в физический; на фиг. 8 - структурна схема блока подпрограмм; на фиг. 9 - структурна схема арифметико-логического устройства; на фиг. 10-структурна схема коммутатора линий св зи узла центрального управлени вычислительной системой; на фиг. 11 - структурна схема устройства сопр жени ; на фиг. 12 - структурна схема блока вызова-записи данных; на фиг. 13 - структурна схема алгоритма работы управл ющей ЭВМ.In FIG. 1 is a structural diagram of a computing system; in FIG. 2 is a structural diagram of a central processor; in FIG. 3 - structure of the control word of the central processor; in FIG. 4 is a block diagram of a buffer instruction memory device, a control device, a buffer data memory device, and a control block of the buffer instruction memory device; in FIG. 5 is a structural diagram of a data switch; in FIG. 6 is a block diagram of an indexing block; in FIG. 7 is a structural diagram of a block for translating a mathematical address into a physical one; in FIG. 8 is a block diagram of a block of subprograms; in FIG. 9 is a structural diagram of an arithmetic logic device; in FIG. 10 is a block diagram of a communications switch of a central control unit of a computer system; in FIG. 11 is a block diagram of an interface device; in FIG. 12 is a block diagram of a data call-record block; in FIG. 13 is a structural diagram of a control computer operation algorithm.
Вычислительна система (фиг. 1) выполнена в виде следующих модулей устройств общей оперативной пам ти 1-1 -1-8, М 16 центральных процессоров 2-1 - 2-16, N 8 процессоров ввода-вывода 3-1 - 3-8, коммутатор 4 линий св зи, К 8 блоков программного управлени , выполненные в виде управл ющих ЭВМ 5-1-5-8 например, типа ЕС-1845. Кроме того, система содержит адресную и числовую шину 6 дл обмена информацией между центральными процессорами и устройствами 1 общей оперативной пам ти, командную и числовую шину 7 дл обмена информацией между всеми центральными процессорами 2 и пропозвол ет достичь поставленной цели изобретени при высокой надежности и живучести системы за счет резервировани модулей. Наличие управл ющих ЭВМ 5 позвол ет иметь в системе режимы ручного и автоматического управлени системой. 1 з.п. ф-лы, 13 ил.The computing system (Fig. 1) is made in the form of the following modules of the shared memory devices 1-1 -1-8, M 16 central processors 2-1 - 2-16, N 8 input-output processors 3-1 - 3-8 , a commutator of 4 communication lines, K 8 software control blocks made in the form of control computers 5-1-5-8, for example, of the type EC-1845. In addition, the system contains an address and numeric bus 6 for exchanging information between central processing units and shared RAM devices 1, a command and numeric bus 7 for exchanging information between all central processors 2, and allows achieving the object of the invention with high reliability and survivability of the system by redundant modules. The presence of control computers 5 allows the system to have manual and automatic control of the system. 1 s.p. f-ly, 13 ill.
цессорами ввода-вывода 3, каналы обмена 8 дл обмена информацией между процессорами ввода-вывода 3, внешними запоминающими устройствами, устройствамиI / O processors 3, communication channels 8 for exchanging information between input / output processors 3, external storage devices, devices
ввода-вывода и процессорами передачи данных по лини м св зи, управл ющую шину 9 дл передачи сигналов прерывани между центральными процессорами 2, процессорами ввода-вывода 3 и устройствами 1I / O and data line processors, control bus 9 for transmitting interrupt signals between central processors 2, input / output processors 3 and devices 1
общей оперативной пам ти, шины 10 и 11 обмена через коммутатор 4 линий св зи между всеми процессорами, устройствами 1 общей оперативной пам ти и управл ющими ЭВМ 5.shared RAM, bus 10 and 11 exchange through a switch 4 communication lines between all processors, devices 1 of the shared RAM and control computers 5.
Центральный процессор (фиг. 2) содержит устройство 12 буферной пам ти команд, устройство управлени 13, устройство 14 буферной пам ти данных, коммутатор 15 данных , арифметико-логическое устройство 16,The central processor (Fig. 2) comprises an instruction buffer memory device 12, a control device 13, a data buffer memory device 14, a data switch 15, an arithmetic logic device 16,
блок 17 вызова-записи данных, блок 18 индексации , ассоциативное запоминающее устройство 19, блок 20 перевода математического адреса в физический, устройство 21 сопр жени , устройство 22 локальной оперативной пам ти, коммутатор 23 ввода-вы вода, блок 24 подпрограмм, блок 25data call-record block 17, indexing block 18, associative storage device 19, mathematical address to physical translation unit 20, interface device 21, local random access memory device 22, input / output switch 23, subroutine block 24, block 25
управлени устройством буферной пам тиcontrol the buffer memory device
команд, шины 26 - 1-26-4 выдачи данных вcommands, bus 26 - 1-26-4 data output in
устройство 12 буферной пам ти команд, устройство 14 буферной пам ти данных, ассоциативное запоминающее устройство 19 и блок 24 подпрограмм, шину 27 выборки команд , шины 28-1 - 28-7 распакованной команды , шину 29 выборки данных, шины 30-1buffer instruction memory device 12, data buffer memory device 14, associative memory 19 and subroutine block 24, instruction fetch bus 27, unpacked command buses 28-1 to 28-7, data fetch bus 29, 30-1 buses
-30-2 выдачи операндов из коммутатора 15 данных, шины 31-1 -31-3 выдачи результатов операций из коммутатора 15 данных, шины 32-1 - 32-2 результатов операций арифметико-логического устройства 16 и-30-2 issuing operands from the data switch 15, buses 31-1 -31-3 issuing the results of operations from the data switch 15, buses 32-1 - 32-2 of the results of the operations of the arithmetic-logical device 16 and
блока 17 вызова-записи, шину 33 передачи данных из блока 17 вызова-записи в блок 18 индексации, шину 34 выдачи адресов и данных в ассоциативное запоминающее устройство 19 и блок 20 переводаcall-record block 17, data transfer bus 33 from call-record block 17 to indexing block 18, address and data output bus 34 to associative storage device 19 and translation unit 20
математического адреса в физический, шину 35 выдачи адреса в ассоциативное запо- минающее устройство 19 и блок 20 перевода математических адресов в физические , шину 36 выдачи данных в устройство 14 и блок 24 подпрограмм, шину 37 выдачи адресов и данных в устройство сопр жени 21, шины 38-1 - 38-2 исходной установки, шины 39-1 - 39-3 выхода блока 24 подпрограмм, шину 40 управлени выборкой из устройства 12 буферной пам ти команд, шину 14 выдачи адресов команд в устройство сопр жени 21, шину 42 блокировки дешифрации команд по битам значимости .the mathematical address to the physical, the bus 35 for issuing the address to the associative memory device 19 and the block 20 for transferring the mathematical addresses to the physical, the bus 36 for issuing the data to the device 14 and the unit 24 for subprograms, the bus 37 for issuing the addresses and data for the interface device 21, the bus 38-1 - 38-2 of the initial installation, buses 39-1 - 39-3 of the output of block 24 of the subprograms, bus 40 for controlling the selection from the device 12 of the buffer memory of commands, bus 14 for issuing command addresses to the interface device 21, bus 42 for decryption lock commands by significance bits.
В блок 25 управлени устройством буферной пам ти команд (фиг, 4) вход т четыре регистра 43-46 номера команд, ассоциативный запоминающий узел 47, счетчик 48 номера команд, счетчик49 индекса команд, четыре регистра 50-53 индекса команд.Four instruction registers 43-46 of instruction numbers, an associative memory unit 47, an instruction number counter 48, an instruction index counter 49, and four instruction index registers 50-53 are included in the control unit 25 of the buffer instruction memory device (Fig. 4).
В устройство управлени 13 (фиг. 4) вход т счетчик 54 дешифрации команд, четыре регистра 55-58 дешифрации команд, регистр 59 управлени , сдвигатель 60 выборки команд, сдвигатель 61 распаковки команд, три сумматора 62-64 формировани полей распакованной команды, блок 65 буферной пам ти распакованной команды.The control device 13 (FIG. 4) includes a command decryption counter 54, four command decryption registers 55-58, a control register 59, an instruction sample shifter 60, an instruction decompression shifter 61, three unpacked command field adders 62-64, block 65 buffer memory of the decompressed command.
В устройство 14 буферной пам ти данных (фиг. 4) вход т блок 66 пам ти битов значимости, блок 67 буферной пам ти стека , блок 68 буферной пам ти считывани , блок 69 выходной буферной пам ти.The data buffer unit 14 (Fig. 4) includes a significance bit memory block 66, a stack buffer memory block 67, a read buffer memory block 68, and an output buffer memory block 69.
В коммутатор 15 данных (фиг. 5) вход т блок 70 пам ти результатов, регистры 71 результатов, коммутатор 72 операндов, коммутатор 73 результатов.The data switch 15 (Fig. 5) includes a result memory block 70, result registers 71, operand switch 72, and result switch 73.
В блок 18 индексации (фиг. 6) вход т восемь идентичных узлов 18-1 - 18-8 индексации , каждый из которых содержит блок 74 буферной пам ти команд, блок 75 буферной пам ти описателей массивов, регистр 76 приращени базы, регистр 77 базы, сумматор 78 формировани текущего адреса, сумматор 79 формировани текущего индекса, сумматор 80 формировани адреса записи в блок буферной пам ти считывани , сумматор 81 формировани нового значени базы,Indexing block 18 (Fig. 6) includes eight identical indexing nodes 18-1 to 18-8, each of which contains a block 74 of the buffer memory of commands, a block 75 of the buffer memory of descriptors of arrays, a register of 76 increments of the base, a register of 77 of the base , adder 78 generating the current address, adder 79 generating the current index, adder 80 generating the address of the write to the read buffer memory unit, adder 81 generating the new base value;
В блок 20 перевода математического адреса в физический (фиг. 7) входит восемь идентичных ассоциативных запоминающих узлов 82-1 - 82-8 и узел 83 таблицы страниц оперативной пам ти.The block 20 for translating the mathematical address into a physical one (Fig. 7) includes eight identical associative memory nodes 82-1 - 82-8 and a node 83 of the table of RAM pages.
В каждый ассоциативный запоминающий узел 82 вход т блок 84 входной буферной пам ти, сумматор 85 формировани адреса следующей страницы, блок 86 буферной пам ти данных, блок 87 ассоциативной пам ти соответстви математических и физических адресов, сумматор 88 формировани физического адреса слова. Узел 83 таблицы страниц оперативной пам ти содержит регистр 89 базы страниц, сумматорEach associative memory unit 82 includes an input buffer memory unit 84, an adder 85 for generating the next page address, a data buffer unit 86, an associative memory unit 87 for matching mathematical and physical addresses, and an adder 88 for generating the physical word address. The node 83 of the table of pages of random access memory contains a register of 89 base pages, the adder
00
55
00
55
00
55
00
55
00
55
90 формировани адрес2 строки Слиць1. блок 91 пам ти таблицы страниц.90 forming address2 of line Slit1. a page table memory unit 91.
В блок 24 подпрограмм (фиг. 8) входит дешифратор 92 команд, базовые регистры 93, дополнительные базовые регистры 94, блок 95 буферной пам ти св зующей информации , управл ющие регистра 96, сумматор 97.Block 24 of the subprograms (Fig. 8) includes a command decoder 92, base registers 93, additional base registers 94, a buffer information block 95 of the connecting information, control registers 96, and adder 97.
Арифметико-логическое устройство 16 (фиг. 9) содержит блоки 98 и 99 сложени , 100 и 101 умножени , 102 и 103 логических преобразований, блок 104 делени .The arithmetic logic device 16 (Fig. 9) comprises addition units 98 and 99, multiplication units 100 and 101, logical conversions 102 and 103, division unit 104.
Коммутатор 4 линий св зи (фиг. 10) содержит коммутатор 105 модулей системы, адаптер 106 управлени и пульт 107 управлени .The communication line switch 4 (Fig. 10) comprises a system module switch 105, a control adapter 106 and a control panel 107.
Устройство сопр жени 21 (фиг. 11) содержит коммутатор 108 запросов в пам ть, коммутатор 109 приема данных из пам ти, блок 110 адресов назначени и адаптер 111 управлени и прерываний, блок 112 исходного состо ни ,The interface device 21 (Fig. 11) comprises a memory query switch 108, a memory data receiving switch 109, a destination address block 110, and a control and interrupt adapter 111, an initial state block 112;
В блок 17 вызова-записи данных (фиг. 12) вход т блок 113 входных регистров, сумматор 114 формировани адреса обращени в пам ть, сумматор 115 сравнени индекса и размера массива, блок 116 формировани записываемого числа, выходной регистр 117 адреса, выходной регистр 118 числа.The data call-recording block 17 (Fig. 12) includes an input register block 113, an adder 114 for generating a memory access address, an adder 115 for comparing the index and size of the array, a unit for generating a recordable number 116, an output address register 117, an output register 118 numbers.
Управление вычислительной системой производитс по алгоритму (фиг. 13). Программа находитс под управлением штатной операционной системы 119 управл ющей ЭВМ 5 и включает в себ бпск 120 команд оператора, блок 121 знгомати- ческого оператора, диспетчер 122, блок 123 управлени системой, блок 124 телеметрии, блок 125 индикации, архив 126 индикации, блок 127 тестировани , архив 128 тестов. блок 129 регистрации.The computer system is controlled by the algorithm (Fig. 13). The program is managed by the standard operating system 119 of the host computer 5 and includes bpsc 120 operator commands, the operator unit 121, the dispatcher 122, the system control unit 123, the telemetry unit 124, the display unit 125, the display archive 126, the 127 unit testing, archive of 128 tests. block 129 registration.
Цепи управл ющих и тактирующих сигналов в описании не показаны.The control and clock circuits are not shown in the description.
Вычислительна система работает следующим образом.The computing system operates as follows.
Оператор с любой из управл ющих ЭВМ 5-1 -5-8 (фиг. 1) по шинам 10 и 11 через коммутатор 4 линий св зи выполн ет исходную установку модулей системы и загрузку программы инициализации раскрутки операционной системы в устройстве 22 локальной оперативной пам ти всех центральных процессоров 2-1 - 2-16, Центральный процессор , имеющий младший номер в системе (в случае максимальной конфигурации зто процессор 2-1), по шине 7 производит инициализацию процессора ввода-вывода 3-1. имеющего младший номер в системе, после чего последний по каналам обмена 8 пересылает операционную систему с внешнегоAn operator with any of the control computers 5-1 -5-8 (Fig. 1) via buses 10 and 11 through the switch 4 of the communication lines performs the initial installation of the system modules and downloads the initialization program for the promotion of the operating system in the device 22 local random access memory of all central processors 2-1 - 2-16, the central processor having the lowest number in the system (in the case of the maximum configuration is processor 2-1), via bus 7 initializes the input-output processor 3-1. having the lowest number in the system, after which the latter sends the operating system via external channels 8 from an external
запоминающего устройства в общую оперативную пам ть 1-1 - 1-8.a storage device into a common random access memory 1-1 to 1-8.
Путь передачи из процессора ввода-вывода 3-1 по шине 7 в коммутатор 23 ввода- вывода центрального процессора 2-1 и через устройство сопр жени 21 по шине 6 в устройства 1 оперативной пам ти. После выполнени этой пересылки все центральные процессоры 3 загружают операционную систему по шине б из устройств 1 общей оперативной пам ти в свои устройства 22 - локальной оперативной пам ти и инициализируют каналы обмена 8 во всех процессорах ввода-вывода 3.The transmission path from the I / O processor 3-1 via the bus 7 to the I / O switch 23 of the central processor 2-1 and via the interface device 21 via the bus 6 to the RAM device 1. After completing this transfer, all the central processors 3 load the operating system via bus b from the devices 1 of the common random access memory into their devices 22 - the local random access memory and initialize the communication channels 8 in all input / output processors 3.
В дальнейшем вычислительна система работает в автоматическом режиме под управлением операционной системы, получа задани по каналам обмена 8. Синхронизаци параллельной работы модулей системы реализуетс посредством управл ющей шины 9 путем передачи сигналов прерывани . Устройства 1 общей оперативной пам ти используютс дл хранени больших массивов и общих данных параллельно исполн емых процессов на разных центральных процессорах 2. Программные коды и локальные области данных задач загружаютс с внешней пам ти по каналам 8 процессорами ввода-вывода 3 через шину 7, коммутатор 23 ввода-вывода и устройство сопр жени 21 в устройства 22 локальной оперативной пам ти центральных процессоров 2.Subsequently, the computer system operates automatically under the control of the operating system, receiving tasks via the exchange channels 8. Synchronization of the parallel operation of the system modules is carried out by means of the control bus 9 by transmitting interrupt signals. General RAM devices 1 are used to store large arrays and general data of parallel-running processes on different central processors 2. Program codes and local task data areas are loaded from external memory through channels 8 by input / output processors 3 via bus 7, switch 23 an input / output device and a coupler 21 in the device 22 of the local random access memory of the central processors 2.
Управл юща программа управл ющих ЭВМ 5-1 -5-8 по шинам 10 и 11 через коммутатор 4 производит периодический сбор телеметрической информации о состо нии модулей вычислительной системы и сигнализирует оператору об аварийных ситуаци х и итоговых результатов опроса. При наличии аварийных ситуаций выполн етс автоматическа диагностика аварийного модул , а также при необходимости, автоматическа повторна загрузка операционной системы с внешней пам тиThe control program of control computers 5-1-5-8 via buses 10 and 11 through switch 4 periodically collects telemetric information about the state of the modules of the computer system and signals the operator about emergency situations and the final results of the survey. In the presence of emergency situations, the automatic diagnostics of the emergency module is performed, as well as, if necessary, the automatic reloading of the operating system from the external memory
Программа управлени вычислительной системой запускаетс как отдельна задача . Первым вызываетс блок 126 команд оператора. Этот блок 120 выполн ет интерпретацию команд оператора вычислительной системы в виде последовательности заданий дл диспетчера 122. Кроме того, из блока 120 может быть вызван блок 121 автоматического оператора вычислительной системы , который обеспечивает управление в автоматическом режиме с заданными функци ми управлени .The computer system management program is launched as a separate task. The operator command block 126 is called first. This block 120 interprets the commands of the computer system operator in the form of a job sequence for the dispatcher 122. In addition, the block 121 of the automatic computer system operator can be called from block 120, which provides automatic control with the specified control functions.
Диспетчер 122 обеспечивает по задани м из блоков 120 и 121 вызов блоков 123,Dispatcher 122 provides on request from blocks 120 and 121 the call blocks 123,
124, 125, архива 126, блока 127, а также взаимодействует с операционной системой 118 управл ющей ЭВМ при выполнении обменов по линии св зи и с внешними устройствами управл ющей ЭВМ (печать, накопители на магнитных дисках (НМД).124, 125, archive 126, block 127, and also interacts with the host computer operating system 118 when exchanging data via a communication link and with external host computer devices (printing, magnetic disk drives).
Блок 123 управлени системой выполн ет команды исходной установки модулей (сброс, установка начальных значений в ре0 гистры, переключени конфигурации), а также загрузку операционной системы в устройство 22 локальной оперативной пам ти центрального процессора 2.The system control unit 123 executes commands for initial installation of the modules (resetting, setting initial values to registers, switching configurations), as well as loading the operating system into the device 22 of the local random access memory of the central processor 2.
Блок 124 телеметрии выполн ет в за5 данном объеме сбор информации о состо нии модулей и режимах функционировани модулей вычислительной системы.The telemetry unit 124 collects information on the state of the modules and the operating modes of the modules of the computer system in a given volume.
Блок 125 индикации выполн ет отображение на алфавитно-цифровом дисплее уп0 равл ющей ЭВМ состо ни схем модулей вычислительной системы. Дл этого из архива 124 индикации используетс информаци о способах допуска к требуемым схемам модулей и видах их отражени на экранеThe indicating unit 125 displays on the alphanumeric display of the control computer the state of the circuits of the modules of the computing system. To this end, information from the display archive 124 uses information about the methods of admitting to the desired module circuits and the types of their reflection on the screen
5 диспле .5 display.
Блок 127 тестировани обеспечивает загрузку о модули вычислительной системы набора тестов дл контрол функционировани и диагностики неисправностей. Вы0 зов тестов выполн етс с помощью архива 126 тестов, который вл етс справочником размещени тестов на НМД управл ющей ЭВМ.Test unit 127 provides a load of test suite computing system modules for monitoring and diagnosing malfunctions. The call of the tests is performed using the archive of tests 126, which is a reference to the placement of tests on the NMD of the host computer.
Блок I29 регистрации обеспечиваетThe registration unit I29 provides
5 отображение на экране диспле и вывод на печать аварийных состо ний модулей вычислительной системы и результатов проверки их функционировани .5, displaying on the screen a display and printing out emergency states of the modules of the computer system and the results of checking their functioning.
Наличие в составе вычислительной сис0 темы однотипных модулей позвол ет достичь высокого быстродействи путем организации их параллельной работы. За счет изменени количества модулей, можно строить комплексы различной производи5 тельности применительно к конкретным услови м . Важным следствием модульной организации вл етс высока структурна надежность вычислительной системы за счет резервировани однотипных модулей иThe presence of the same type of modules in the computing system allows one to achieve high performance by organizing their parallel operation. Due to a change in the number of modules, it is possible to build complexes of various capacities as applied to specific conditions. An important consequence of the modular organization is the high structural reliability of the computing system due to redundancy of the same type of modules and
0 структуры св зей по типу каждый с каждым. При наличии достаточного резерва вычислительна система вл етс практически безотказной , а вычислительный процесс непрерывным, благодар аппаратуре дина5 мической реконфигурации, автоматически исключающей неисправный модуль из состава рабочей конфигурации и соответствующей поддержке операционной системы, позвол ющей продолжать вычислени на измен ющемс составе рабочей конфигурации за счет динамического управлени ресурсами вычислительной системы.0 link structures of type each to each. If there is a sufficient reserve, the computing system is practically trouble-free, and the computing process is continuous, thanks to the dynamic reconfiguration equipment, which automatically excludes the faulty module from the working configuration and the corresponding support of the operating system, which allows continuing calculations on the changing composition of the working configuration due to dynamic control computer system resources.
Возможность создани полностью изолированных подсистем и модульна организаци органов управлени (несколько управл ющих ЭВМ со средствами коммутации управл ющих воздействий) позвол ют проводить восстановительные и регламентные работы без нарушени работы основного вычислительного процесса.The ability to create completely isolated subsystems and a modular organization of control elements (several control computers with switching means for controlling actions) allows carrying out restoration and maintenance work without disrupting the operation of the main computing process.
Каждый центральный процессор 2-1 - 2-16 работает следующим образом.Each central processor 2-1 - 2-16 operates as follows.
Исходна установка процессора поступает по шине 11 через устройство сопр жени 21. Она включает в себ загрузку программы операционной системы устройство 22 оперативной пам ти и установку по шинам 38-1 - 38-2 регистров блоков подпрограмм 24 и управлени устройством буферной пам ти команд 25.The initial installation of the processor proceeds via bus 11 through the interface device 21. It includes loading the operating system program of the RAM device 22 and setting the registers of the subroutine blocks 24 through the buses 38-1 and 38-2 and controlling the buffer device 25 of the instructions.
Блок 25 выполн ет подкачку программного кода из устройства 22. С этой целью он выдает запросы по шине 41 через устройство сопр жени 21 в устройство 22. Программный код из устройства 22 через устройство сопр жени 21 по шине 26-1 поступает в устройство 12 буферной пам ти команд. Блок 25 управлени по шине 40 управл ет выборкой программного кода из устройства 12. По шине 27 он поступает в устройство управлени 13.Block 25 downloads the program code from the device 22. To this end, it issues requests on the bus 41 through the interface device 21 to the device 22. The program code from the device 22 through the interface device 21 via the bus 26-1 enters the buffer memory device 12 these teams. The control unit 25 via bus 40 controls the selection of program code from device 12. Via bus 27, it enters the control device 13.
Устройство управлени 13 по шине 28-2 выдает команду в арифметико-логическое устройство 16 по шине 28-3 в блок 17 вызова - записи данных, по шине 28-4 в блок 18 индексации по шине 28-5 в блок 24 подпрограмм и по шине 28-6 в блок. 25 управлени по шине 28-1 читает операнды из устройства 14 буферной пам ти данных, по шине 28-7 управл ет работой коммутатора 15 данных, обеспечива передачу данных по шине 29 из устройства 14 и по шине 32-1 результатов операций арифметико-логического устройства 16 и блок 17 данных вызова-записи. Данные поступают на информационные входы операндов арифметико-логического устройства 16 и блока 17 по шинам 30-1 и 30-2, соответственно. По шине 31-2 указанные данные поступают в устройство 14 буферной пам ти данных и по шине 31-3 в блок 24 подпрограмм. Данные, необходимые дл работы блока 18 индексации, передаютс через блок 17 вызова-записи данных по шине 33.The control device 13 on the bus 28-2 issues a command to the arithmetic logic device 16 on the bus 28-3 to the call data recording unit 17, on the 28-4 bus to the indexing unit 18 on the 28-5 bus to the 24 subroutine block and on the bus 28-6 per block. 25 control on the bus 28-1 reads the operands from the device 14 of the buffer data memory, on the bus 28-7 controls the operation of the data switch 15, providing data transfer on the bus 29 from the device 14 and on the bus 32-1 of the results of operations of the arithmetic logic device 16 and a call record record unit 17. Data is fed to the information inputs of the operands of the arithmetic logic device 16 and block 17 via buses 30-1 and 30-2, respectively. On the bus 31-2, the indicated data enters the data buffer device 14 and on the bus 31-3 to the subroutine block 24. The data necessary for the operation of the indexing unit 18 is transmitted through the data call-recording unit 17 via the bus 33.
Основное назначение блока 17 - скал рные обращени в устройство 1 оперативной пам ти по чтению и записи. В случае чтени данных в устройство 14, блок 17 по шине 34 выдает адреса в ассоциативное запоминающее устройство i9 и uno.v 20 ..ерг- вода математического адреса в физический. При удачном поиске в устройстве 19 данные по шине 36 передаютс в устройст- во 14, в протионом случае преобразованный физический адрес из блока 20 по шине 37 поступает в устройство сопр жени 21 и далее в устройство 22 локальной оперативной пам ти или по шине 6 в устройства общей оперативной пам ти 1-1 - 1-8. ДанныеThe main purpose of block 17 is scalar accesses to the memory device 1 for reading and writing. In the case of reading data to the device 14, the block 17 on the bus 34 provides addresses to the associative memory device i9 and uno.v 20 .. the mathematical address is transferred to the physical address. Upon a successful search in the device 19, data on the bus 36 is transmitted to the device 14, in the opposite case, the converted physical address from the block 20 via the bus 37 goes to the interface device 21 and then to the device 22 of the local random access memory or via bus 6 to the device shared memory 1-1 to 1-8. Data
из устройства 22 или устройств 1-1 - 1-8 from device 22 or devices 1-1 to 1-8
через устройство сопр жени 21 по шинеvia bus coupler 21
26-2 занос тс в устройство 14 буферной26-2 entered into the device 14 buffer
пам ть данных и по шине 26-3 в ассоциативное запоминающее устройство 19, чтобы сократить врем доступа к ним при повторных обращени х.memory data and bus 26-3 to the associative storage device 19 in order to reduce access time for them in repeated calls.
При выполнении записи в пам ть, в блок 17 по шине 30-2 поступает адрес записи и по шине 31-1 - записываемое число. Далее адрес и число по шине 34 выдаютс в устройство 19 и блок 20. Запись в устройства 1 и 22 выполн етс безусловно, а в устройство 19 только при наличии чейки сWhen writing to the memory, the block 17 receives the address of the record via bus 30-2 and the number being written via bus 31-1. Further, the address and number on the bus 34 are issued to the device 19 and block 20. Recording to the devices 1 and 22 is performed unconditionally, and to the device 19 only if there is a cell with
указанным адресом записи.the specified record address.
Блок 18 индексации вл етс генератором адресов элементов массивов. Перед циклическим участком программы в блок 18 через блок 17 вызова-записи данных по цшне 33 загружаютс дескрипторы массивов, к которым будут выполн тьс обращени в циклической программе и программе формировани адресов элементов массивов (шаг изменени адреса дл каждого используемого массива). В циклическом участке программы, по команде поступающей по шине 28-4 из устройства управлени 13, блок 18 индексации по шине 35 выдает требуемые адреса элементов массивов в устройство 19 и блок 20 аналогично описанному выше дл блока 18 вызова записи данных.Indexing unit 18 is an array element address generator. Before the cyclic section of the program, array descriptors are loaded to block 18 through the data call-recording block 17 to the base 33, which will be accessed in the cyclic program and the program for generating addresses of array elements (address change step for each array used). In the cyclic section of the program, by command received via bus 28-4 from the control device 13, the indexing unit 18 on the bus 35 provides the required addresses of the array elements to the device 19 and the block 20 in the same way as described above for the data recording calling block 18.
В центральном процессоре 2 используетс архитектура длинного командного слова (см. фиг. 3) и управление работой устройств на основе статического планировани на этапе трансл ции программы. Команда в процессоре 2 имеет переменную длину и может достигать 36 байтов. В команде максимальной длины может содержатьс семь арифметико-логических операций (два сложени , два умножени , две логические операции и одно деление), операци дл блока 18 индексации и операци передачи управлени . Адресные и управл ющие пол команды обеспечивают выборку восьми операндов из устройства 14. передачу их и семи результатов предшествующих операций в арифметико-логическое устройство 16, запись четырех результатов операций в устройство 14.The central processor 2 uses the long command word architecture (see Fig. 3) and controls the operation of devices based on static scheduling during the program translation stage. The command in processor 2 has a variable length and can reach 36 bytes. The maximum length command may contain seven arithmetic-logical operations (two additions, two multiplications, two logical operations and one division), an operation for the indexing unit 18 and a control transfer operation. The address and floor control commands provide the selection of eight operands from device 14. transferring them and seven results of previous operations to arithmetic logic device 16, recording four results of operations to device 14.
Устройство управлени 13 каждый такт может выдавать по шине 28-2 распакованную команду максимального размера и обеспечивать тем самым полную загрузку параллельного полностью сегментированного арифметико-логического устройства 16.The control device 13 each clock cycle can issue a maximally unpacked command on the bus 28-2 and thereby ensure full loading of a parallel fully segmented arithmetic logic device 16.
Большинство блоков в процессоре 2 и св зи между ними имеют параллельную организацию .Most of the blocks in processor 2 and the communications between them are in parallel.
Так устройство сопр жени 21 обеспечивает в каждом такте чтение до восьми слов данных и команд и запись двух слов данных устройства 1 или 22.Thus, the interface device 21 provides, in each cycle, the reading of up to eight words of data and instructions and the writing of two data words of the device 1 or 22.
Устройство 12 буферной пам ти команд выполнено по двухпортовой схемеиобеспе- чивает в каждом такте запись восьми и чтение шестнадцати слов программного кода. The device 12 of the buffer memory of commands is executed according to a two-port circuit; in each cycle, it ensures the recording of eight and the reading of sixteen words of program code.
Устройство 14 буферной пам ти данных выполнено по 16-ти портовой схеме и обеспечивает в каждом такте чтение и запись восьми слов данных.The buffer data memory device 14 is implemented in a 16 port scheme and provides for reading and writing eight data words in each clock cycle.
Коммутатор 15 данных обеспечивает передачу п тнадцати операндов по шине 30-1 в арифметико-логическое устройство 16 и по шине 30-2 в блок 17 вызова-записи данных и четырех результатов операций в устройство 14 по шине 31-2.The data switch 15 provides the transfer of fifteen operands on the bus 30-1 to the arithmetic logic device 16 and on the bus 30-2 to the data call-recording unit 17 and the four results of operations to the device 14 via the bus 31-2.
Устройство 16 и блок 17 вызова-записи каждый такт выдают семь результатов операций в коммутатор 15 данных по шине 32-1.The device 16 and the call-record unit 17 each clock output seven results of operations to the data switch 15 via the bus 32-1.
Блок 18 индексации каждый такт по шине 35 формирует восемь, а блок 17 вызова- записи по шине 34 два адреса обращени в оперативную пам ть.The indexing unit 18 generates eight each cycle on the bus 35, and the call-recording unit 17 on the bus 34 has two memory access addresses.
Ассоциативное запоминающее устройство 19 каждый такт обрабатывает два, а блок 20 перевода математического адреса в физический восемь обращений в пам ть.The associative memory device 19 processes two each clock, and the block 20 translates the mathematical address into a physical eight memory accesses.
Блок 25 управлени каждый такт выдает обращени за восьмью командными словами и обеспечивает передачу управлени по одному из четырех направлений ветвлени без перерывов в дешифрации команд.The control unit 25 generates calls for eight control words each clock and provides control transfer in one of the four branch directions without interruptions in the decryption of commands.
Блок 24 подпрограмм выполн ет подготовку адресного контекста трех процедурных переходов и процедурное переключение (смену контакта и вызов про- граммного кода) без приостановки дешифрации команд.Block 24 of the subprograms performs the preparation of the address context of the three procedural transitions and procedural switching (changing the contact and calling the program code) without pausing decryption of commands.
Таким образом, структура центрального процессора 2 за счет существенно параллельной организации ориентирована на векторные вычислени . Вместе с тем архитектура широкого командного слова дает возможность использовать параллельную структуру процессора дл организации распараллеливани скал рных вычислений. Этому способствует наличие коммутатора 15 данных, который обеспечивает быструю передачу результатов в качестве операндов в последующие операции (уменьшение вли ни зависимости по данным), ветвление по одному из 4-х направлений и условное выполнение нескольких параллельных ветвей программы (уменьшение вли ни зависимости по управлению), быстрый процедурный переход без приостановки дешифрации.Thus, the structure of the central processor 2, due to the substantially parallel organization, is oriented towards vector computing. At the same time, the architecture of the wide control word makes it possible to use a parallel processor structure to organize parallelization of scalar computations. This is facilitated by the presence of a data switch 15, which provides quick transfer of results as operands to subsequent operations (reducing the influence of data dependencies), branching in one of 4 directions and conditional execution of several parallel branches of the program (reducing the influence of control dependencies) , fast procedural transition without suspension of decryption.
Передача управлени осуществл етс в два этапа. На первом этапе по команде подготовки перехода происходит запоминание индексом перехода одного из регистров 4346номера команд, поиск по заданному индексу в ассоциативном запоминающем узлеControl transfer is carried out in two stages. At the first stage, according to the transition preparation command, the transition index memorizes one of the registers of the 4346 command number, searches for the given index in the associative storage node
47и, выдача в соответствующий регистр 50- 53 индекса команды адреса перехода по устройству 12 буферной пам ти команд.47i, issuing to the corresponding register index 50-53 a jump address instruction for the device 12 of the instruction buffer memory.
В случае неуспешного поиска счетчикIn case of unsuccessful search, counter
48номера команды выдает в устройство 21 сопр жени по шине 41 серию запросов на всю страницу программного кода, после чего из устройства локальной оперативной пам ти 22 программный код через устройство сопр жени 21 по шине 26-1 поступает в устройство 12 буферной пам ти команд.48, the command number issues to the interface device 21 via bus 41 a series of requests for the entire program code page, after which the program code passes through the interface device 21 via interface 26 via bus 26-1 to the instruction buffer device 12.
Адреса чтени команд по шине 40 поступают в устройство 12 и обеспечивают выборку в течение одного такта 16-и командных слов на соответствующий регистр 55-58 дешифрации команды устройства управлени 13. Кроме того, адрес поступает в счетчик 49 индекса команды дл формировани последующих адресов программного кода.The read addresses of the commands on the bus 40 are sent to the device 12 and provide, during one cycle, 16 command words to the corresponding command decryption register 55-58 of the control device 13. In addition, the address is sent to the instruction index counter 49 to generate subsequent program code addresses .
Блок 25 управлени устройство буферной пам ти команд может прин ть три команды подготовки перехода, что обеспечивает на втором этапе по команде передачи управлени ветвление программы по одному из 4-х направлений (одно на провал и три на переход), без приостановки дешифрации, так коды всех 4-х направлений имеютс на регистрах 55-58 дешифрации команд. Ветвление выполн етс с помощью регистра 59 управлени , в который по шине 32-2 загружаютс условные признаки передачи управлени , вычисленные по командам отношений в арифметико-логическом устройстве 16.The control unit 25 of the instruction buffer memory device can receive three transition preparation instructions, which ensures, at the second stage, the program branching branches the program in one of 4 directions (one to failure and three to transition) without interruption of decryption, so the codes all 4 directions are on registers 55-58 of command decryption. The branching is performed using the control register 59, into which conditional signs of the control transfer calculated by the relation commands in the arithmetic-logic device 16 are loaded via the bus 32-2.
Программный код хранитс в устройстве 12 буферной пам ти команд в упакованном виде. Это значит, что в любой широкой команде произвольна часть фрагментов может отсутствовать и значимые фрагменты размещаютс без пропусков. Информаци оThe program code is stored in a packed instruction buffer device 12. This means that in any wide command, an arbitrary part of fragments may be absent and significant fragments are placed without gaps. Information on
составе значимых фрсгмзнтов задаетс полем шкалы широкой команды (фиг, 3) и используетс с двигател ми 60 и 61 выборки и распаковки устройства управлени 13 при формировани исполнительного распако- ванного представлени команды.the composition of significant functions is set by the scale field of the wide command (Fig. 3) and is used with the engines 60 and 61 to select and unpack the control device 13 when forming the executive unpacked presentation of the command.
В формировании исполнительного вида команды участвует счетчик 54 дешифрации команд. Он хранит номер такта дешифрации команды, присвоенный команде при состав- лении расписани выполнени команд на этапе трансл ции. Этот номер вл етс базовым адресом при формировании на сумматоре 62 номеров тактов выдачи результатов операций, содержащихс в ко- манде и на сумматоре 63 адресов результатов предшествующих операций, хран щихс в блоке 70 пам ти результатов и используемых при выполнении операций текущей широкой команды. На сумматоре 64 формируютс адреса считывани по блокам 67 и 68 буферной пам ти стека и считывани . Дл этого по шине 39-2 из блока 24 подпрограмм на сумматор 64 передаютс базовые адреса по указанным блокам бу- ферной пам ти 67 и 68,In the formation of the executive form of the team involved counter 54 decryption commands. It stores the command decryption tact number assigned to the team when scheduling the execution of commands at the broadcast stage. This number is the base address when forming on the adder 62 numbers of clock cycles for outputting the results of operations contained in the command and on the adder 63 addresses of the results of previous operations stored in the result memory block 70 and used in performing operations of the current wide command. On the adder 64, read addresses are generated from the stack buffer and read blocks 67 and 68. For this purpose, the base addresses are transmitted to the adder 64 via the bus 39-2 from the block 24 of the subprograms to the indicated blocks of the buffer memory 67 and 68,
Распакованна команда поступает в блок 65 буферной пам ти распакованной команды и далее по шине 28-1 в устройство 14 буферной пам ти данных (чтение операн- дов), в коммутатор 15 данных (выборка результатов , коммутаци операндов и результатов), в устройство 16 и блоки 17.18,24,25 (коды операций и короткие константы из программного кода). Необходи- мость блока 65 вызвана возможностью нарушени синхронного расписани выполнени команд из-за переменного времени выполнени операций чтени данных из оперативной пам ти в устройство 14 буфер- ной пам ти данных.The unpacked instruction enters the block 65 of the buffer memory of the unpacked command and then via bus 28-1 to the device 14 of the buffer data memory (read operands), to the data switch 15 (selection of results, switching of operands and results), to the device 16 and blocks 17.18,24,25 (operation codes and short constants from the program code). The need for block 65 is caused by the possibility of disrupting the synchronous schedule of execution of commands due to the variable time of the operations of reading data from the main memory to the device 14 of the buffer data memory.
В некоторых случа х на этапе трансл ции не представл етс возможным определить место переменной в иерархическим организованной оперативной пам ти (ассо- циативное запоминающее устройство 19, устройства 22 и 1-1 - 1-К). В других случа х место нахождени переменной во времени может мен тьс согласно вычисл емым услови м .In some cases, at the stage of translation, it is not possible to determine the place of a variable in a hierarchical organized random access memory (associative storage device 19, devices 22 and 1-1 to 1-K). In other cases, the location of the variable over time may vary according to the calculated conditions.
Указанные случаи привод т к тому, что при попытке чтени операндов из устройства 14 буферной пам ти данных может оказатьс , что данные еще не поступили. Это приводит к блокировке очередной широкой команды в блоке 65 и остановке конвейера на ступен х ниже блока 65. Блокировка выдаетс по шине 42 как результат проверкиThese cases lead to the fact that when trying to read the operands from the data buffer device 14, it may turn out that the data has not yet arrived. This leads to blocking of the next wide command in block 65 and stopping the conveyor one step below block 65. The blocking is issued via bus 42 as a result of the check
наличи операндов в блоке 56 памч ги биточ значимости.the presence of operands in block 56;
При поступлении данных блокировка снимаетс , операнды выбираютс из блоков 67 или 68 и через блок 69 по шине 29 поступают в коммутатор 15 данных.When data arrives, the lock is released, the operands are selected from blocks 67 or 68, and through block 69 are sent to bus 15 via bus 29.
Наличие в устройстве 14 буферной пам ти данных двух блоков 67 и 68 буферной пам ти стека считывани вызвано необходимостью обеспечить высокую эффективность в услови х смешанных скал рно-векторных вычислени х. При работе с массивами данных устройство 14 вл етс промежуточным буфером между оперативной пам тью и арифметико-логическим устройством 16, куда данные поступают , как правило, дл однократного использовани . При выполнении скал рных вычислений рабоча совокупность переменных (стек) многократно используетс . Совмещение блоков 67,68 в одном блоке резко ухудшает эффективность буферной пам ти на скал рных вычислени х вследствие вытеснени скал рных переменных, вызываемых элементами массивов.The presence of two buffer units 67 and 68 of the read memory stack in the buffer data memory device 14 is caused by the need to ensure high efficiency under conditions of mixed scalar vector computations. When working with data arrays, the device 14 is an intermediate buffer between the main memory and the arithmetic logic device 16, where the data is received, as a rule, for a single use. When performing scalar calculations, the working set of variables (stack) is reused. Combining 67.68 blocks in one block dramatically degrades the performance of buffer memory in scalar computing due to the crowding out of scalar variables caused by array elements.
Коммутатор 15 данных содержит неза- висимоуправл емые коммутатор72 операндов и коммутатор 73 результатов. Необходимость двух коммутаторов объ сн етс тем, что в начале выполнени широкой команды стоит задача распределени операндов по исполнительным устройствам арифметико-логического устройства 16, а затем, по мере выполнени операций - коммутаци семи возможных результатов в 4-х каналах записи в устройство 14 буферной пам ти данных. Управление коммутатором 73 результатов осуществл етс посредством хран щегос в блоке 65 буферной пам ти распакованной команды фрагмента кода, определ ющего коммутацию и адреса записи устройства 14 буферной пам ти данных.The data switch 15 contains an independently controlled operand switch 72 and a result switch 73. The need for two switches is explained by the fact that at the beginning of the execution of a wide command the task is to distribute the operands to the actuators of the arithmetic-logic device 16, and then, as the operations are completed, they switch seven possible results in 4 write channels to the buffer memory device 14 these data. The results switch 73 is controlled by the code fragment determining the switching and recording addresses of the data buffer device 14 stored in the buffer memory unit 65 of the unpacked instruction.
Это позвол ет выполн ть процедурные переключени с совмещением начала выполнени команд новой процедуры и окончани выполнени команд покидаемой процедуры, т.к. адреса записи в устройство 14 формируютс в устройстве управлени 13 в момент дешифрации очередной широкой команды.This allows you to perform procedural switching with the combination of the beginning of the execution of the instructions of the new procedure and the end of the execution of the instructions of the leaving procedure, because write addresses to the device 14 are generated in the control device 13 at the time of decryption of the next wide command.
Блок 70 пам ти результатов позвол ет решать задачу коммутации результатов выполненных операций не только в момент окончани каждой операции, но и в течение некоторого интервала времени, что облегчает составление расписани выполнени программы на этапе трансл ции. Задержка в использовании результатов задаетс специальным полем результата широкой команды (фиг. 3).The results memory unit 70 allows solving the problem of switching the results of the performed operations not only at the end of each operation, but also for a certain time interval, which facilitates scheduling the program at the broadcast stage. The delay in the use of the results is specified by the special field of the result of the wide command (Fig. 3).
Регистр 71 резул ьтатов служит дл ускорени передачи параметров из запускающей процедуры в запускаемую. Общеприн тый способ передачи параметров - запись в заданную чейку устройства 14. В тех случа х, когда передаваемые параметры вл ютс последними вычисл емыми результатами запускающей процедуры, а запускаема процедура использует последние передаваемые параметры в самых первых командах, может произойти приостановка дешифрации по причине временного отсутстви параметров. Введение регистров результатов на несколько тактов сокращает доставку параметров в запускаемую процедуру.The result register 71 serves to accelerate the transfer of parameters from the start procedure to the start. A common way to transfer parameters is to write to the given cell of device 14. In cases where the transmitted parameters are the last calculated results of the starting procedure, and the starting procedure uses the last transmitted parameters in the very first commands, decryption may be suspended due to a temporary absence parameters. The introduction of result registers by several clock cycles reduces the delivery of parameters to the procedure being launched.
При работе с массивами данных значительное место в программном коде занимает вычисление адресов элементов массивов, Вместе с тем, как правило, дл некоторой векторной формулы закон вычислений адресов элементов массива остаетс посто нным . Это свойство использовано при организации блока 18 индексации. Дл создани высокого темпа генерации адресов блок 18 индексации содержит восемь параллельно работающих узлов 18-3-18-8, в каждом из которых имеетс блок 75 буферной пам ти описателей массивов и блок 74 буферной пам ти операций, содержимое которых заноситс вне циклического участка программы по шине 33 из блока 17 вызова- записи данных. Фактически блок 74 содержит программу доступа к элементам массивов, описатели которых хран тс в блоке 75.When working with data arrays, a significant place in the program code is occupied by the calculation of the addresses of the elements of arrays. However, as a rule, for some vector formula, the law of calculating the addresses of the elements of the arrays remains constant. This property is used in the organization of block 18 indexing. To create a high rate of address generation, the indexing unit 18 contains eight parallel nodes 18-3-18-8, each of which has a block 75 of the buffer memory of the array descriptors and a block 74 of the buffer memory of the operations, the contents of which are entered outside the cyclic section of the program bus 33 from block 17 call-record data. In fact, block 74 contains a program for accessing array elements, descriptors of which are stored in block 75.
При исполнении циклического участка программы устройство управлени 13 по шине 28-4 выдает в блоке 18 индексации номер команды по блоку 74. Далее все восемь узлов блока 18 индексации по заданному номеру выполн ют команду вычислени адреса элемента массива. В зависимости от алгоритма содержимое блоков 74 и 75 в узлах 18-1 - 18-8 может совпадать или быть разным. В первом случае создаетс высокий темп обращени к одному массиву данных, во втором - выполн етс параллельное обращение ко многим массивам данных.When executing a cyclic section of the program, the control device 13 on the bus 28-4 issues in the indexing block 18 the command number in block 74. Then, all eight nodes of the indexing block 18 at the given number execute the command for calculating the address of the array element. Depending on the algorithm, the contents of blocks 74 and 75 at nodes 18-1 - 18-8 may be the same or different. In the first case, a high rate of access to one data array is created, in the second, multiple data arrays are accessed in parallel.
Адрес элемента массива формируетс на сумматоре 73 путем сложени базового адреса массива со значением текущего индекса по массиву. На сумматоре 79 формируетс значение текущей переменной дл следующего обращени в массив (измен етс на шаг продвижение по массиву) и заноситс в блок 75 буферной пам ти описателей массивов.The address of the array element is generated on the adder 73 by adding the base address of the array with the value of the current index over the array. At adder 79, the value of the current variable is generated for the next call to the array (the progression in the array is changed by a step) and is entered into the block 75 of the buffer memory of the array descriptors.
Сумматоры 80 и 81 служат дл формировани адресов назначени по блоку 68 буфермой пам ти считывани . Дл обеспечени доступа в блок 68 используетс метод передвигаемых баз, когда в циклической программе адрес загружаемой чейки остаетс посто нным, а базовый адрес дл Adders 80 and 81 are used to form destination addresses at block 68 by a read memory buffer. To provide access to block 68, the movable base method is used when in the cyclic program the address of the loaded cell remains constant and the base address for
данного узла обращени может измен тьс в каждом цикле на шаг приращени базы.of this access node can change in each cycle by the increment step of the base.
С этой целью в каждом узле блока 18 индексации имеютс регистры 77 и 76 базы и приращение базы. На сумматоре 80 формируетс текущий адрес назначени по блоку 68, а на сумматоре 81 - модифицируетс текущее значение базы на шаг приращени . Новое значение базы заноситс в регистр базы 77, а сформированные математический адрес элемента массива и адрес назначени по шине 35 из всех узлов выдаютс в ассоциативное запоминающее устройство 19 и блок 20 перевода математического адреса в физический.To this end, base registers 77 and 76 and base increments are provided at each node of the indexing block 18. At adder 80, the current destination address is generated in block 68, and at adder 81, the current base value is modified per increment. The new base value is entered into the base register 77, and the generated mathematical address of the array element and the destination address via bus 35 from all nodes are output to the associative storage device 19 and the block 20 for translating the mathematical address into a physical one.
Дл поддержани , высокого темпа обращений в оперативную пам ть блок 20 перевода математического адреса в физический содержит восемь узлов 82-1 - 82-8, каждый . из которых с помощью блока 87 ассоциативной пам ти соответстви математических и физических адресов обеспечивает требуемое преобразование.In order to maintain a high rate of memory accesses, the block 20 for translating a mathematical address into a physical one contains eight nodes 82-1 - 82-8, each. of which, using the associative memory unit 87, the correspondence of mathematical and physical addresses provides the required conversion.
Заполнение блока 87 имеет превентивный характер. С этой целью блок 87 выполнен по двухпортовой схеме, и параллельно с поиском строки соответстви по заданному адресу выполн етс поиск следующей Строки следующей математической страницы , Дл скал рных обращений - это станицаFilling block 87 is of a preventive nature. To this end, block 87 is made in a two-port scheme, and in parallel with the search for a match string at a given address, a search for the next Line of the next mathematical page is performed. For scalar calls, this is a page
с увеличенным на единицу текущим математическим адресом, а дл векторных обращений - увеличенный на шаг продвижени по массиву. Формирование адреса следующей страницы выполн етс сумматором 85.with the current mathematical address increased by one, and for vector calls it is increased by the step of moving through the array. The formation of the address of the next page is performed by adder 85.
При отсутствии требуемой строки в блоке 87 выдаетс запрос в узел 83 таблицы страниц оперативной пам ти. Блок 1 пам ти таблицы страниц содержит полную таблицу соответстви математической и физическойIf there is no required line in block 87, a request is issued to the node 83 of the RAM page table. Block 1 of the memory of the page table contains a complete table of correspondence of mathematical and physical
оперативной пам ти.random access memory.
На сумматоре 90 формируетс адресAn address is generated on the adder 90
. требуемой строки таблицы, и выполн етс . the required row of the table, and executed
чтение из блока 91 пам ти таблицы страниц.reading from the memory unit 91 of the page table memory.
При организации таблицы страниц используютс методы уплотнени (типа Н-кодиро- вани ), в св зи с чем возможно вторичное обращение с выхода блока 91 на собственный вход.When organizing the page table, compression methods (such as H-coding) are used, in connection with which secondary access from the output of block 91 to its own input is possible.
Выбранна строка соответстви заноситс в блок 87 ассоциативной пам ти заданного узла 82. Таким образом, на фоне обращений в текущую математическую страницу выполн етс подкачка строки со- ответстви .дл следующей математической страницы.The selected correspondence line is entered into the associative memory block 87 of the given node 82. Thus, against the background of calls to the current mathematical page, the correspondence line is swapped for the next mathematical page.
Блок 84 входной буферной пам ти служит дл хранени запросов в случае выполнени поиска в узле 83 таблицы страниц оперативной пам ти дл текущей математической страницы. После ее вызова запросы в блок 87 ассоциативной пам ти повтор ютс .The input buffer memory unit 84 serves to store requests in the event that a search is performed in the node 83 of the table of RAM pages for the current mathematical page. After it is called, requests to the associative memory block 87 are repeated.
Сумматор 88 служит дл формировани физического адреса слова (складываютс физический адрес текущей страницы и адрес слова внутри страницы).Adder 88 serves to form the physical address of the word (the physical address of the current page and the address of the word inside the page are added).
Блок 86 буферной пам ти данных служит дл хранени записываемых в оперативную пам ть данных на врем преобразовани математического адреса записи в физический.The data buffer memory unit 86 serves to store data recorded in the main memory for the period of converting the mathematical address of the record to physical.
По шине 37 физические адреса и данные (в случае записи) выдаютс в устройство сопр жени 21.On bus 37, physical addresses and data (in the case of recording) are provided to the interface device 21.
Заполнение блока 91 пам ти таблицы страниц и регистра 89 базы страниц производитс по шине 34 из блока 17 вызова-записи .The filling of the block 91 of the memory of the page table and the register 89 of the base page is done via bus 34 from the block 17 call-record.
Блок 24 подпрограмм выполн ет подготовку и переключение контекста при процедурных переходах. При этом базовые регистры 93 определ ют контекст текущей процедуры, дополнительные базовые регистры 94 служат дл создани контекста вызываемых процедур, блок 95 буферной пам ти св зующей информации дл хранени динамической истории обращений к незавершенным процедурам, а управл ющие регистры 96, содержат общесистемные регистры (таймер, часы, регистры конфигурации и т.д.).A subroutine block 24 prepares and switches contexts during procedural transitions. In this case, base registers 93 define the context of the current procedure, additional base registers 94 serve to create the context of the called procedures, block 95 of the buffer memory of the connecting information for storing the dynamic history of calls to incomplete procedures, and control registers 96 contain system-wide registers (timer clock, configuration registers, etc.).
Процедурные переключени как и внут- рипроцедурные передачи управлени , выполн ютс в две фазы. На фазе подготовки происходит копирование контекста из основных базовых регистров 93 в дополнительные базовые регистры 94,упр тываниен в блок 95 св зующей информации регистров контекста, подлежащих коррекции при процедурном переключении, выход из оперативной пам ти или формирование контекста вызываемой процедуры в дополнительных базовых регистрах 94, передача дескриптора программного сегмента в блок 25 управлени дл подкачки кода вызываемой процедуры в устройство 12 буферной пам ти команд и устройство управлени 13.Procedural switching as well as internal procedure control transfers are performed in two phases. In the preparation phase, the context is copied from the main base registers 93 to the additional base registers 94, hidden in the block 95 of connecting information of the context registers to be corrected during the procedural switching, the memory is left out or the context of the called procedure is formed in the additional base registers 94, transmitting the descriptor of the program segment to the control unit 25 for pumping the code of the called procedure into the device 12 buffer memory commands and the control device 13.
На фазе переключени происходит передача подготовленного контекста в базовые регистры 93 и переключение на дешифрацию программы вызванной проце- дуры в устройстве управлени 13 и блоке 25 управлени . Возврат в процедуру выполн - етс аналогичным образом за исключением того, что коррекци контекста выполн етс из блоке 95 буферной пам ти св зующейIn the switching phase, the prepared context is transferred to the base registers 93 and switching to decryption of the program of the called procedure in the control device 13 and the control unit 25. Return to the procedure is performed in the same way, except that context correction is performed from the binder buffer memory block 95
информации.information.
Принципиальным моментом в организации блока 24 подпрограмм вл етс его асинхронна работа по подготовке процедурного переключени на фоне исполнени A fundamental point in the organization of block 24 of the subprograms is its asynchronous work on the preparation of procedural switching against the background of execution
участка программы, предшествующего процедурному переключению. Это вызвано тем, что программна реализаци процедурного переключени требует ощутимого размера программного кода и будет вызывать остановку конвейера из-за ожиданий поступлений элементов св зующей информации из устройств общей оперативной пам ти 1-1 - 1-8.the portion of the program prior to the procedural switch. This is because the software implementation of the procedural switching requires a noticeable size of the program code and will cause the pipeline to stop due to the waiting for the arrival of the elements of the connecting information from the shared memory devices 1-1 - 1-8.
Использование управл ющих 5-1 - 5-8Using stewards 5-1 - 5-8
ЭВМ в качестве средства управлени и отображени состо ни вычислительной системы предоставл ет возможность в дополнение к ручному иметь режимы автоматического управлени и сигнализацииThe computer, as a means of controlling and displaying the state of the computing system, provides the possibility, in addition to manual, of automatic control and signaling modes
аварийных состо ний. Разделение моделей вычислительной системы на независимые подсистемы требует наличи нескольких управл ющих ЭВМ 5-1 - 5-8 ЭВМ и средств коммутации их с модул ми вычислительной emergency conditions. Separation of computer system models into independent subsystems requires the presence of several control computers 5-1 - 5-8 computers and their means of switching with computing modules
системы.system.
Коммутатор линий св зи 4 обеспечивает подключение восьми управл ющих ЭВМ 5 типа ЕС 1845 ко всем модул м вычислительной системы.A communications switch 4 allows the connection of eight EC 545 type 5 host computers to all modules of a computing system.
Адаптер 106 управлени по командам с ЭВМ 5 подключает шину линии св зи 10 ЭВМ 5 к шине линии св зи 11 заданного модул вычислительной системы. Подключение контролируетс панелью управлени ,Computer command control adapter 106 connects the bus of the communication line 10 of the computer 5 to the bus of the communication line 11 of a given module of the computing system. The connection is controlled by the control panel,
где оператором вручную задаютс разрешенные комбинации подключени ЭВМ и модулей системы. Этим обеспечиваетс разделение вычислительной системы на подсистемы по органам управлени . Далееwhere the operator manually sets the allowed combinations of computer connections and system modules. This ensures that the computing system is divided into subsystems by controls. Further
с ЭВМ 5 при исходной установке заданной подсистемы создаетс замкнута конфигураци .with computer 5, during the initial installation of a given subsystem, a closed configuration is created.
Блок 17 вызова-записи данных выполн ет операции формировани математического адреса с записью результата в устройство буферной пам ти данных 14, обращени в устройства 1-1 - 1-8. 19, 22 по чтению и записи, а также передачу операндов в блок 18 индексаций.The data call-record block 17 performs the operations of generating a mathematical address with writing the result to the buffer data storage device 14, accessing the devices 1-1 to 1-8. 19, 22 for reading and writing, as well as the transfer of operands to block 18 indexing.
При формировании математического адреса с записью результата в стек, операнды (дескриптор и индекс) из блока 113 входных регистров передаютс на сумматоры 114 и 115. где на сумматоре 114 формирует- с математический адрес путем сложени адреса начала массива из дескриптора и индекса, а на сумматоре 115 выполн етс вычитание индекса из размера массива. Сформированный математический адрес че- рез выходной регистр 117 адреса передает- с по шине 32-1 на второй информационный вход коммутатора 15 данных и далее по шине 31-2 на третий информационный вход устройства 14 буферной пам ти данных. When forming a mathematical address with writing the result onto the stack, the operands (descriptor and index) from block 113 of the input registers are transferred to adders 114 and 115. where on adder 114 it forms a mathematical address by adding the address of the beginning of the array from the descriptor and index, and on the adder 115, the index is subtracted from the size of the array. The generated mathematical address through the output register 117 addresses is transmitted from the bus 32-1 to the second information input of the data switch 15 and then via the bus 31-2 to the third information input of the device 14 of the buffer data memory.
При обращении в устройства 1-1 - 1-8, 19 22 по чтению сформированный адрес с выходного регистра 117 адреса по шине 34 передаетс на первый адресный и информа ционный вход ассоциативного запоминаю- щего устройства 19 и первый адресный и информационный вход блока 20 перевода математического адреса в физический.When accessing devices 1-1 to 1-8, 19 22 to read, the generated address from the output address register 117 via bus 34 is transmitted to the first address and information input of the associative storage device 19 and the first address and information input of the mathematical translation unit 20 addresses to physical.
При обращении в устройства 1-1 - 1-8, 19, 22 по записи дополнительно вместе с адресом по шине 34 выдаетс записываемое число.When accessing the devices 1-1 to 1-8, 19, 22 by recording, an additional recordable number is issued along with the address on the bus 34.
Таким образом модульный принцип построени вычислительной системы позвол ет повысить ее надежность и живучесть за счет резервировани однотипных модулей, а параллельна полностью сегментированна структура центрального процессора обеспечивает высокопроизводительную обработку информации.Thus, the modular principle of constructing a computing system makes it possible to increase its reliability and survivability due to redundancy of the same type of modules, while the parallel fully segmented structure of the central processor provides high-performance information processing.
Введение в состав центрального процессора коммутатора данных обеспечило передачу на вход параллельно-работающих блоков арифметико-логического устройства операндов из устройства буферной пам ти данных и результатов предшествующих операций, что повысило производительность вычислительной системы на скал рных вычислени х за счет уменьшени вли ни зависимости по данным, а наличие в составе арифметико-логического устройства нескольких однотипных устройств типа сложени , умножени , логических преобразований и в блоке индексации режима параллельного формировани обращени к нескольким массивам или разным элементам одного массива повысило производительность вычислительной системы на векторных вычислени х.The introduction of the data switch central processor ensured the transfer of the operands from the buffer data memory device and the results of previous operations to the input of parallel-running blocks of the arithmetic logic device, which increased the performance of the computing system on scalar calculations by reducing the influence of the data dependency and the presence in the arithmetic-logical device of several devices of the same type, such as addition, multiplication, logical transformations, and in the index index block Pressing the parallel formation of access to several arrays or different elements of the same array increased the performance of the computer system on vector computations.
Введение в состав центрального управ- лени коммутатора линий св зи и нескольких управл ющих ЭВМ позвол ет иметь режимы ручного и автоматического управлени вычислительной системой.The introduction of the communication line switch and several control computers into the central control of the switch allows one to have manual and automatic control of the computer system.
Claims (2)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894691857A RU1777148C (en) | 1989-05-30 | 1989-05-30 | Computing system |
PCT/SU1990/000134 WO1990015388A1 (en) | 1989-05-30 | 1990-05-28 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894691857A RU1777148C (en) | 1989-05-30 | 1989-05-30 | Computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
RU1777148C true RU1777148C (en) | 1992-11-23 |
Family
ID=21447827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU894691857A RU1777148C (en) | 1989-05-30 | 1989-05-30 | Computing system |
Country Status (2)
Country | Link |
---|---|
RU (1) | RU1777148C (en) |
WO (1) | WO1990015388A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
SU692400A1 (en) * | 1977-05-20 | 1980-08-07 | Предприятие П/Я А-3162 | Computing system |
SU1168960A1 (en) * | 1982-12-21 | 1985-07-23 | Ордена Ленина Институт Проблем Управления | Multiprocessor computer system |
-
1989
- 1989-05-30 RU SU894691857A patent/RU1777148C/en active
-
1990
- 1990-05-28 WO PCT/SU1990/000134 patent/WO1990015388A1/en unknown
Non-Patent Citations (1)
Title |
---|
Патент US № 4240143, кл, G 06 F 15/16,1980. Авторское свидетельство СССР № 692400, кл. G 06 F 15/16. 1977. * |
Also Published As
Publication number | Publication date |
---|---|
WO1990015388A1 (en) | 1990-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4016545A (en) | Plural memory controller apparatus | |
US3760369A (en) | Distributed microprogram control in an information handling system | |
US3573852A (en) | Variable time slot assignment of virtual processors | |
US3573851A (en) | Memory buffer for vector streaming | |
KR860001274B1 (en) | Data Processing System for Parallel Processing | |
US4972314A (en) | Data flow signal processor method and apparatus | |
US3614742A (en) | Automatic context switching in a multiprogrammed multiprocessor system | |
US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
US3735363A (en) | Information processing system employing stored microprogrammed processors and access free field memories | |
EP0689128B1 (en) | Computer instruction compression | |
US4675806A (en) | Data processing unit utilizing data flow ordered execution | |
US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
US3815095A (en) | General-purpose array processor | |
US4466061A (en) | Concurrent processing elements for using dependency free code | |
US4101960A (en) | Scientific processor | |
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US5548785A (en) | Interface for logic simulation using parallel bus for concurrent transfers and having fifo buffers for sending data to receiving units when ready | |
US4314333A (en) | Data processor | |
US3909797A (en) | Data processing system utilizing control store unit and push down stack for nested subroutines | |
US4558411A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US20060259744A1 (en) | Method for information processing | |
JPS5911943B2 (en) | Trap mechanism for data processing equipment | |
US4204252A (en) | Writeable control store for use in a data processing system | |
US3811114A (en) | Data processing system having an improved overlap instruction fetch and instruction execution feature | |
US4429361A (en) | Sequencer means for microprogrammed control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
REG | Reference to a code of a succession state |
Ref country code: RU Ref legal event code: MM4A Effective date: 20080531 |