SU1335977A1 - Information sorting device - Google Patents
Information sorting device Download PDFInfo
- Publication number
- SU1335977A1 SU1335977A1 SU853956999A SU3956999A SU1335977A1 SU 1335977 A1 SU1335977 A1 SU 1335977A1 SU 853956999 A SU853956999 A SU 853956999A SU 3956999 A SU3956999 A SU 3956999A SU 1335977 A1 SU1335977 A1 SU 1335977A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- memory
- register
- node
- address
- input
- Prior art date
Links
Abstract
Изобретение относитс к вычислительной технике и может бьггь использовано в специализированных системах обработки информации, например в ин- формационно-поисковьк системах. Цель , изобретени - увеличение быстродействи . Дл достижени указанной цели система содержит блок 1 пам ти, состо щий из двух узлов 4,5 пам ти, блок 3 управлени и блок 2 подсчета и сортировки кодов. Блок 1 пам ти выполнен из запоминаюш;их устройств с произвольной выборкой, соединенных между собой шиной данных. Сортировка выполн етс одновременно по группе одноименных разр дов ключа (секции), начина с младшей секции. В каждой секции вначале формируютс адреса перемещени , а затем осуществл етс перемещение всех информационных слов в свободный узел пам ти по этим адресам. После сортировки по всем секци м массив будет упор дочен по величине ключа в лексикографическом смысле независимо от количества секций в ключе. 2 з.п. ф-лы, 6 ил. (ЛThe invention relates to computing and can be used in specialized information processing systems, such as information retrieval systems. The goal of the invention is to increase speed. To achieve this goal, the system comprises a memory block 1 consisting of two memory nodes 4.5, a control block 3 and a block 2 for counting and sorting codes. Memory block 1 is made of memory, their devices with random access, connected by a data bus. Sorting is performed simultaneously by a group of like keys (sections), starting with the lower section. In each section, displacement addresses are first formed, and then all information words are transferred to a free memory node at these addresses. After sorting over all sections, the array will be ordered by key size in the lexicographical sense, regardless of the number of sections in the key. 2 hp f-ly, 6 ill. (L
Description
Изобретение относитс к вычислительной технике и может быть испол,- зовано в специализированных устройствах обработки информации.The invention relates to computing and can be used in specialized information processing devices.
Цель изобретени - увеличение быстродействи .The purpose of the invention is to increase speed.
На фиг.1 дана блочна схема систе- MMj на фиг.2 - структурна схема блока пам ти с произвольной выборкой; на фиг,3 - структурна схема блока формировани адресов перемещений; на фиг.4 - структурна схема блока управлени ; на фиг.5 - формат микрокоманды; на фиг.6 - пример, по сн ю1дий процесс сортировки.FIG. 1 is a block diagram of the system — MMj in FIG. 2 is a block diagram of a random-access memory block; Fig. 3 is a block diagram of a block for creating displacement addresses; Fig. 4 is a block diagram of the control unit; figure 5 - format microcommand; figure 6 is an example, according to a screening process.
Устройство содержит блок 1 пам ти блок 2 формировани адресов перемещений и бло к 3 управлени .The device contains a block of memory 1 unit 2 forming the addresses of displacements and block to 3 controls.
Блок 1 пам ти предназначен дл хранени исходного и упор доченного массива, дл выдачи ключей или их частей , а также дл выдачи и приема информационных ключей в процессе упор дочени . Блок 1 пам ти содержит два узла 4 и 5 пам ти с произвольной выборкой , регистр 6 адреса, регистр 7 данных, накопитель 8 и схему 9 управлени пам тью. Схема 9 управлени пам тью представл ет собой де1Ш1фратор команд дл узла пам ти: запись в регистр 6 адреса + 1, запись в регистр 7 данных, запись (чтение) информации в (из) накопитель 8. Блок 2 предназначен дл хранени служебной информации о сортируемом массиве, дл подсчета кодов в обрабатываемых секпд х ключа, дл формировани адресов перемещени , а также дл вьздачи адресов перемещени в узлах 4 и 5 пам ти на фазе перемещени .The memory unit 1 is intended for storing a source and ordered array, for issuing keys or their parts, as well as for issuing and receiving information keys in the ordering process. Memory block 1 contains two random access memory nodes 4 and 5, an address register 6, a data register 7, a memory 8 and a memory control circuit 9. The memory management circuit 9 is a command decider for the memory node: writing address + 1 to register 6, writing data to register 7, writing (reading) information to (from) drive 8. Unit 2 is designed to store service information about the data to be sorted. an array, for counting the codes in the key handles being processed, for generating the motion addresses, and also for extracting the motion addresses in the memory nodes 4 and 5 during the motion phase.
Блок 2 (фиг.З) содержит узел 10 рабочих регистров, узел 11 пам ти, буферный регистр 12 и арифметико- логический узел 13. Регистры узла 10 рабочих регистров имеют посто нное функциональное назначение и заполн ютс служебной информацией при загрузке устройства. Конкретный адрес регистра поступает из блока 3 управлени . Узел 11 пам ти предназначен дл хранени результатов подсчета и адресов перемещени . Узел 11 пам ти реализован по схеме, приведенной на фиг.2.Unit 2 (FIG. 3) contains a working register node 10, a memory node 11, a buffer register 12 and an arithmetic logic unit 13. The working register registers of the working register 10 have a constant functionality and are filled with service information when the device is loaded. The specific address of the register comes from block 3 of the control. The memory node 11 is intended to store the counting results and movement addresses. The memory node 11 is implemented according to the scheme shown in FIG.
Блок 3 управлени (фиг.4) предназначен дл синхронизатдии и управлени работой всех узлов системы и содержит узел 14 переключателей, регистр 15The control unit 3 (FIG. 4) is designed to synchronize and control the operation of all system nodes and contains a switch node 14, a register 15
адреса мт крокомаи 1, регистр 16 микрокоманд , узел 17 пам ти микрокоманд, фop o poвaтeль 18 синхроимпульсов,addresses mt krokomai 1, register of 16 microinstructions, node 17 of the memory of microinstructions, p o ovor of 18 sync pulses,
счетчик 19 длины массива, счетчик 20 /ушны информационного слова.counter 19 is the length of the array, counter 20 / ears of the information word.
Система при сортировке по убыванию работает следуюищм образом.The system when sorted in descending order works in the following way.
В исходном состо нии неупор доченный массив информащш, например, из 16 информа1Ц1онных слов расположен в узле 4 пам ти (фиг.ба). Узел 5 пам ти свободен. В чейках 0,1,2,3 находитс первое информационное слово.In the initial state, the disordered array of information, for example, of 16 information words, is located in the memory node 4 (Fig. 4b). Memory node 5 is free. In cells 0, 1, 2, 3 there is the first information word.
Разр дность чейки равна минимально адресуемой единице в узлах 4 и 5 пам ти , либо кратна ей. В нашем примере разр дность чейки предполагаетс равной одному байту (8 разр дов).The cell width is equal to the minimum addressable unit at nodes 4 and 5 of the memory, or is a multiple of it. In our example, the cell width is assumed to be one byte (8 bits).
В чейках 4-7 находитс второе информационное слово, в чейках 60-63 - последнее , шестнадцатое информационное слово. Младший байт каждого слова, расположённый в чейках 3,7, 11...63 это перва секци - секци ,с которой начинаетс сортировка. Старший байт каждого слова (четверта секци ) находитс в чейках О,4...60. Пусть сортировка выполн етс по признаку (ключу ) из младших двух байтов. Служебна информаци о неупор доченном массиве находитс в узле 10 рабочих регистров: код 16 - длина массива (количество информационных слов), код 4 длина информационного слова в байтах, код 2 - длина ключа в байтах, код 3 - адрес первого байта первого от начала информационного слова, с которого начинаетс сортировка, код 60 адрес последнего (первого от конца) информационного слова, код 7 - максимальна величина кода в группе разр дов (байте) ключа.In cells 4-7, the second information word is found, in cells 60-63, the last, sixteenth information word. The low byte of each word, located in the cells 3,7, 11 ... 63 is the first section - the section from which the sorting begins. The high byte of each word (fourth section) is in the cells O, 4 ... 60. Let the sorting be performed on the basis of the low two bytes. The service information about the disordered array is in node 10 of the working registers: code 16 is the array length (number of information words), code 4 is the length of the information word in bytes, code 2 is the key length in bytes, code 3 is the address of the first byte of the first from the beginning of the information words from which the sorting begins, code 60 is the address of the last (first from the end) information word, code 7 is the maximum code value in the group of bits (byte) of the key.
5050
При инициации работы системы начинаетс сортировка в первой (младшей) секции ключа. Блок 3 управлени формирует микрокоманды, управл ющие ра- .ботой устройства (фи.г.5). Во врем инициации под управлением пол управлени блока подсчета и сортировки кода микрокоманды код длины массива передаетс из узла 10 рабочих регистров в блок 3 управлени . Затем начинаетс перва фаза сортировки - распределение , т.е. вычисление объема V. свободной пам ти (необходимого дл размещени в нем всех информационных слов с кодом i в сортируемой секции) When the system starts working, the sorting in the first (younger) section of the key begins. The control unit 3 forms microcommands controlling the operation of the device (phi 5). During the initiation, under the control of the control field of the counting and sorting code of the microcommand, the array length code is transmitted from the work register node 10 to the control block 3. Then the first sorting phase, the distribution, i.e. calculating the volume V. free memory (necessary for placing all information words with code i in the sortable section)
5555
Г ri4 11 G ri4 11
coxpaiitniiie каждого ре:)у.пьтата V.coxpaiitniiie of every re :)
от п щ у с чи с за ни эт м м ад с у ад с ма дл п ти т мл щ ти п ис об ум сл пе ци се ма ва поfrom the bottom to the bottom of the bottom of the board for five milliliters of the test list
(тюлученног о дл кода iipsi всех возможных значени х 1) в чейке i узла 11 пам ти блока 2. При выполнении этой работы коды первой секции последовательно , начина с младших адресов узла 4 пам ти, читаютс и пересылаютс по шине данных в блок 2 подсчета и сортировки кодов. Вначале из блока 2 поступает адрес 3 первого кода сортируемой секции в узел 4 пам ти . Узел 4 пам ти по сигналам из блока 3 управлени выполн ет чтение по адресу 3 и передает считанный код по шине данных в блок 2. Пор док внут-. ранней обработки кодов, поступающих из узла 4 пам ти в блок 2, описан ниже . После обработки поступившего кода блок 2 выдает в узел 4 пам ти адрес 7 вторбго кода сортируемой секции. Адрес 7 - это адрес 3 первого кода, модифицированный на длину информационного слова. Узел 4 пам ти выполн ет чтение по адресу 7 и пересылает считанный код в блок 2 дл обработки. ок 3 управлени выполн ет подсчет количества считанных кодов сортируемой секции. После чтени последнего кода чейки 63 узла 4 пам ти и передачи его в блок 2 дл обработки в блоке 3 управлени по витс условие окончани подсчета. К этому моменту в каждой чейке i блока 2, где i - возможна величина кода в группе (байте) будет указан объем V; свободной пам ти, необходимый дл размещени в нем всех информационных слов, с кодом i в сортируемой секции (фиг.66, строка 2).(For iipsi, all possible values of 1) in cell i of node 11 of memory of block 2. When this work is performed, the codes of the first section sequentially, starting with the lower addresses of node 4 of memory, are read and sent over the data bus to block 2 of counting and sort codes. At first, from block 2, the address 3 of the first code of the section being sorted is fed to the node 4 of the memory. The memory node 4, using the signals from control unit 3, reads at address 3 and transmits the read code via the data bus to block 2. Order is internal. The early processing of codes from memory 4 to block 2 is described below. After processing the received code, block 2 issues the address 7 of the second code of the section being sorted to node 4 of the memory. Address 7 is the address 3 of the first code, modified by the length of the information word. Memory node 4 reads at address 7 and forwards the read code to block 2 for processing. Control 3 performs a count of the number of readable codes of the section being sorted. After reading the last code of the cell 63 of the memory node 4 and transferring it to the block 2 for processing in the control block 3, the condition of the end of the counting will occur. At this point, in each cell i of block 2, where i is possible, the value of the code in the group (byte) will be the volume V; free memory, necessary for placing all information words in it, with code i in the section being sorted (Fig. 6, line 2).
V. К;. С,V. K; WITH,
где К - колич ество кодов в сортируемой секции, равных ij С - длина информационного слова (коэффициент масштабировани )where K is the number of codes in the sortable section, equal to ij С - the length of the information word (scaling factor)
Результаты первой фазы используютс на второй дл формировани адресов перемещени типа куда, т.е. адресов , указывающих в какое место свободного узла пам ти необходимо переместить очередное информационное слово из узла пам ти с неупор доченной информацией. Адреса перемещени могут быть получены в блоке 2 несколькими вариантами.The results of the first phase are used in the second to form the addresses of the relocation type where, i.e. addresses indicating where in the free memory node the next information word should be moved from the memory node with disordered information. Movement addresses can be obtained in block 2 with several options.
На третьей фазе сортировки первой секции дл каждого расположенного вIn the third phase of sorting the first section for each located in
5five
00
5five
00
5five
00
5five
00
5five
узле 4 пам ти инф(5рмацио11ного слова отыскиваетс соотг5етствующий адрес перемещени и осуществл етс перемещение этого информационного слова в узел 5 пам ти по найденному адресу. Дл поиска адресов перемещени коды сортируемой секции последовательно читаютс из узла 4 пам ти, начина со старших или младших разр дов, в зависимости от способа их формировани на втором этапе. Если на втором этапе в каждой чейке i узла 11 пам ти блока 2 получена сумма содержимого всех чеек i i минус длина информационного слова, то дл поиска адресов перемещени коды сортируемой секции последовательно читаютс из узла 4 пам ти, начина со старших адресов, а упор дочение осуществл етс по уменьшению величины кода ключа. Если в каждой чейке i получена сумма содержимого всех чеек i минус длина информационного слова, то дл поиска адресов перемещени коды сортируемой секции последовательно читаютс из узла 4 пам ти, начина с младших адресов, а упор дочение осуществл етс по увеличению кода ключа. В любом случае очередной код i сортируемой секции, считанный из узла 4 пам ти, используетс как адрес чей- i узла 11 пам ти блока 2, где имеетс искомый адрес перемещени . При каждом обращении в чейку i ее содержимое уменьшаетс на длину информационного слова и вновь указывает истинный адрес перемещени дл очередного информационного слова с кодом в сортируемой секции. После перемещени всех информационных слов в узле 5 пам ти оказываетс частично упор доченный массив по кодам первой секции.memory node 4 (the corresponding word of the search is searched for the 5th memory word and the information word is moved to the memory node 5 at the address found. To search for the destination addresses, the codes of the sorted section are sequentially read from memory 4, starting with the highest or lowest bits , depending on the method of their formation at the second stage. If at the second stage in each cell i of node 11 of memory of block 2 the sum of the contents of all cells ii minus the length of the information word is obtained, then to search for addresses, move neither the codes of the section being sorted are successively read from the memory node 4, starting from the highest addresses, and the ordering is carried out to reduce the key code value. If in each cell i the sum of the contents of all cells i minus the length of the information word is obtained, then to search for addresses of movement the sorted section is sequentially read from the memory node 4, starting with the lower addresses, and the ordering is performed by increasing the key code. In any case, the next code i of the sorted section read from the memory node 4 is used as hell Resizing i of node 11 of memory of block 2, where there is the desired address of movement. With each reference to cell i, its content decreases by the length of the information word and again indicates the true relocation address for the next information word with a code in the section being sorted. After moving all the information words in memory node 5, a partially ordered array of the codes of the first section appears.
Вначале третьей фазы код длины массива и код длины информационного слова пересылаютс из регистров узла 10 рабочих регистров в соответствующие счетчики блока 3 управлени .At the beginning of the third phase, the code of the length of the array and the code of the length of the information word are transferred from the registers of the node 10 of the working registers to the corresponding counters of the control unit 3.
В рассматриваемом примере адрес 63 (сохранившийс после чтени последнего кода первой секции) первого от конца кода сортируемой секции из блока 2 по шине данных пересылаетс в узел 4 пам ти. Считанный по адресу 63 код 7 поступает в блок 2, где из чейки 7 узла 11 пам ти считываетс адрес 12 перемещени первого от конца информационного слова. Адрес 12 перемещени пересылаетс в узел 5 пам ти, аIn the current example, the address 63 (preserved after reading the last code of the first section) of the first one from the end of the code of the section being sorted from block 2 is forwarded via data bus to the node 4 of the memory. The code 7 read at address 63 enters block 2, where the address 12 of moving the first one from the end of the information word is read from the cell 7 of the memory node 11. Movement address 12 is sent to memory node 5, and
513513
начальный адрес 60 первого от конца информационного слова пересыпаетс из блока 2 в узел 4 пам ти. Далее под управлением полей управлени узлами 4 и 5 пам ти (фиг.5) микрокомандами блока 3 управлени выполн етс перемещение информационного слова из чеек 60-63 узла 4 пам ти в чейки 12-15 узла 5 пам ти. Модификаци адреса на единицу при перемещении информационного слова из узла 4 пам ти в узел 5 пам ти осуществл етс в регистрах адреса этих устройств, при этом данные с выхода узла 4 пам ти поступают непосредственно на вход данных узла 5 пам ти, что позвол ет сократить врем перемещени . После перемещени всего информационного слова блок 3 управлени ини1щирует передачу из блока 2 в адрес 59 (формируемый как 63 минус 4) второго от конца кода сортируемой секции. Код 7, считанный из чейки 59 узла 4 пам ти, используетс как адрес чейки узла 11 пам ти, в которой записан адрес 8 перемещени , сформированный в блоке 2 как 12 минусThe start address 60 of the first from the end of the information word is poured from block 2 to memory node 4. Then, under the control of the control fields of the memory nodes 4 and 5 (Fig. 5), the microcommands of the control unit 3 executes the movement of the information word from the cells 60-63 of the memory node 4 to the cells 12-15 of the memory node 5. When an information word is moved from memory 4 to memory 5, the address is modified by one in the address registers of these devices, and the data from the output of memory 4 goes directly to the data input of memory 5, which reduces the time movement. After moving the entire information word, control block 3 initiates the transfer from block 2 to address 59 (formed as 63 minus 4) of the second one from the end of the code of the section being sorted. The code 7 read from the cell 59 of the memory node 4 is used as the cell address of the memory node 11, in which the transfer address 8 is written, which is formed in block 2 as 12 minus
4еще при выборке адреса 12. Адрес4 more when selecting the address 12. Address
8 перемещени пересыпаетс из узла 4 в узел 5 пам ти в адрес 56 (формируемый как 60 минус 4) второго от конца информационного слова. После перемещени из узла 4 пам ти в узел 5 пам ти второго от конца информационного слова блок 3 управлени инициирует передачу из блока 2 в адрес 55 третьего от конца кода сортируемой секции. Код 4 из чейки 55 узла пам ти используетс дл выборки из узла 11 пам ти адреса 52 перемещени третьего от конца информационного слова, а затем осуществл етс перемещение этого слова из узла 4 пам ти в узелThe 8 movement is transferred from the node 4 to the node 5 of the memory to the address 56 (formed as 60 minus 4) of the second information word from the end. After moving from the node 4 of the memory to the node 5 of the memory of the second from the end of the information word, the control unit 3 initiates the transfer from block 2 to the address 55 of the third from the end of the code of the section to be sorted. Code 4 of memory node cell 55 is used to select the address from the memory 11 of the memory 11 for moving the third information word from the end, and then this word is moved from the memory node 4 to the node
5пам ти. После перемещени из- узла 4 пам ти в узел 5 пам ти последнего информационного слова сортировка по убыванию кодов первой секции окончена (фиг.бв). Код длины ключа уменьшаетс на единицу в блоке 2 и ана- л изируетс на нуль. Если результат не равен нулю, то блок 3 управлени осуществл ет переход к сортировке5 mi tees After moving the memory node 4 to the memory node 5 of the last information word, the sorting by descending of the codes of the first section is over (fig.bv). The key length code is decremented by one in block 2 and is analogous to zero. If the result is not zero, then control block 3 proceeds to sorting.
по кодам второй секции.by codes of the second section.
Сортировка во второй секции также выполн етс за три фазы: распределение , формирование адресов перемещени и перемещение. При этом узел 5 пам ти - сортируемый массив, а узел 4 пам ти свободен. Перед началом распре977Sorting in the second section is also performed in three phases: distribution, the formation of the addresses of the displacement and the displacement. At the same time, node 5 of memory is a sortable array, and node 4 of memory is free. Before the start of distribution
делени чеек местной пам ти блок 2 обнул етс , код 16 длины массива передаетс из блока 2 в блок 3 управлени дл анализа конца подсчета, а адрес 3 первой группы разр дов (байта) первой секции преобразуетс в адрес первого кода второй секции (уменьшаетс на единицу). После этойdividing the local memory cells, block 2 is zeroed out, the code 16 of the array length is transferred from block 2 to control block 3 to analyze the end of counting, and the address 3 of the first group of bits (byte) of the first section is converted to the address of the first code of the second section (reduced by one ). After this
Q подготовки начинаетс распределение. Во рторой секции оно выполн етс так же, как и в первой. При этом адреса кодов сортируемой секции поступают из блока 2 в узел 5 пам ти. Коды счи5 тываютс из чеек узел 5 пам ти и передаютс в блок 2, где вьшолн етс распределение в зависимости от вели-, чины поступающих кодов. После одн.о- кратной передачи всех кодов второйQ preparation begins distribution. In the third section, it is performed in the same way as in the first. At the same time, the addresses of the codes of the section being sorted come from block 2 to the node 5 of the memory. Codes are read from the memory node 5 of the memory and transmitted to block 2, where the distribution is performed depending on the magnitude of the incoming codes. After a single transfer of all the codes of the second
0 секции из узла 5 пам ти в блок 2 в каждой чейке i узла 11 пам ти этого устройства окажетс код, указывающий необходимый размер пам ти дл размещени всех информационных слов, со5 держа цих код i во второй секции (фиг.бг, строка 2).0 sections from memory 5 in block 2 in each cell i of memory 11 of this device will have a code indicating the required size of the memory for placing all information words, co5 holding code i in the second section (fig.bg, line 2) .
Формирование адресов перемещени на второй фазе вьшолн етс в блоке 2. После второй фазы в каждой чейкеThe formation of displacement addresses in the second phase is accomplished in block 2. After the second phase in each cell
0 i узла 11 пам ти будет записан адрес перемещени первого от конца массива информационного слова с кодом i во второй секции (фиг.бг, строка 3).0 i of the memory node 11 will be recorded the address of moving the first from the end of the array of information word with code i in the second section (Fig. Bg, line 3).
Треть фаза сортировки по кодам второй секции отличаетс лишь тем, что узел 5 пам ти вл етс передающим , а узел 4 пам ти приемным. Коды второй секции последовательно, начина со старших адресов ЗУ 5, 62, 59,The third sorting phase according to the codes of the second section differs only in that the node 5 of the memory is transmitting and the node 4 of the memory is receiving. Codes of the second section sequentially, starting with the higher addresses of the memory 5, 62, 59,
Q 54...2, читаютс и пересылаютс по шине данных в блок 2. Каждому коду i в узле 11 пам ти блока 2 соответствует адрес перемешениЯу указывающий по какому адресу в узел 4 пам ти необходимо переместить из узла 5 пам ти информационное слово с кодом i во второй секции. При каждом обращении в чейку i за адресом перемещени ее содержимое уменьшаетс на длину информационного слова. После перемещени всех информаьщонных слов из узла 5 пам ти в узел 4 пам ти в последнем окажетс массив, упор доченный по ключу из двух групп разр дов (байтов), хот сортировка во второй секции выполн лась без анализа кодов первой секции (фиг.бд).Q 54 ... 2, are read and forwarded via data bus to block 2. Each code i in node 11 of memory 2 corresponds to the address of a jumble indicating which address to node 4 of memory must be moved from node 5 of memory to an information word with the code i in the second section. Each time the cell i goes to the address of the move, its content decreases by the length of the information word. After moving all the information words from the memory node 5 to the memory node 4, the array will appear in the latter array, ordered by key from two groups of bits (bytes), although the sorting in the second section was performed without analyzing the codes of the first section (fig.bd) .
Дл полного упор дочени исходного массива необходимо выполнить столькоTo fully arrange the source array, you need to perform as many
5five
00
5five
циклон сортировки, сколько групп разр дов (секций) содержит ключевое слово (ключ). Окончательно упор доченный массив информации окажетс расположенным в узле 4 пам ти или в узле 5 пам ти в зависимости от того, четное или соответственно нечетное число групп разр дов содержит ключ.sorting cyclone, how many groups of bits (sections) contains a keyword (key). The finally ordered array of information will be located in the memory node 4 or in the memory node 5, depending on whether the even or respectively an odd number of bit groups contains the key.
При-сортировке информационных слов Q содержимое той же чейки на длинуWhen sorting the information words Q, the contents of the same cell by length
в пор дке увеличени кода ключа - на второй фазе в каждой чейке i узла 11 пам ти получают сумму содержимого всех чеек 1, уменьшенную на длину информационного слова. В этом случае на третьей фазе при поиске адресов перемещени коды сортируемой секции читают, начина с младших адресов узла пам ти, содержащего неупор дочен ный массив.in the order of increasing the key code — in the second phase, in each cell i of memory node 11, the sum of the contents of all cells 1 reduced by the length of the information word is obtained. In this case, in the third phase, when searching for displacement addresses, the codes of the sorted section are read, starting with the lowest addresses of the memory node containing the random array.
Объем сортируемой информации определ етс емкостью одного из узлов 4 и 5 пам ти с произвольным доступом, т.е. может быть равен 1-4 байтам. Предлагаемую систему можно ввести в качестве составной части в систему обработки данных, в которой она может освободить процессор от выполнени процедур сортировки информации.The volume of information sorted is determined by the capacity of one of the nodes 4 and 5 of the random access memory, i.e. may be equal to 1-4 bytes. The proposed system can be introduced as an integral part of the data processing system, in which it can relieve the processor from performing information sorting procedures.
Блок 2 (фиг.4) работает следующим образом.Block 2 (figure 4) works as follows.
В исходном состо нии служебна информаци находитс в посто нно распределенных регистрах узла 10 рабочих регистров. Перед обработкой каждой секции все чейки узла 11 пам ти блока 2 обнул ютс под управлением сигналов из блока 3 управлени .In the initial state, the service information is in the permanently distributed registers of the node 10 of the working registers. Before processing each section, all the cells of the memory 11 of the block 2 are zeroed under control of the signals from the control block 3.
При распределении каждый код сортируемой секции величиной i, поступающий из узла 4 пам ти в узел 5 пам ти, подаетс на адресный вход.узла 11 пам ти и таким образом адресует чейку i узла 11 пам ти.. В это врем блокIn the distribution, each code of a sortable section of size i, coming from the memory node 4 to the memory node 5, is fed to the address input node of the memory 11 and thus addresses the cell i of the memory node 11. At this time, the block
5050
3 управлени в поле управлени узлом g RJ узла 11 рабочих регистров и чей- 11 пам ти микрокоманды вьщает-дл узла 11 пам ти операцию Чтение-модификаци записи. Содержимое чейки i, первый раз равное нулю, читаетс и подаетс на первый информационный вход арифметико-логического узла 13. На второй информационный вход арифметико-логического узла 13 из регистра операции Чтение дл узла 10 рабочих регистров задаютс полем управлени узлом рабочих регистров микрокоманды. Арифметико-логический узел 13 под управлением пол управлени арифметико-логическим узлом выполн ет сумми553 controls in the control field of the node RJ of the node 11 of the working registers and whose memory of the microcommand acquires for the node 11 of the memory the Read-modify write operation. The contents of cell i, the first time equal to zero, is read and fed to the first information input of the arithmetic logic node 13. The second information input of the arithmetic logic node 13 from the read operation register for the working register node 10 is specified by the control field of the microcommand working registers node. The arithmetic logic unit 13, under the control of the control field of the arithmetic logic unit, performs sums55
ку 7 узла 11.пам ти. Затем читаетс и суммируетс содержимое чейки 6 узла 11 пам ти и регистра R- узла 10 рабочих регистров. Результат запоминаетс в рабочем регистре R- и в чейке 6 узла 11 пам ти. Суммирование продолжаетс до обработки содержимого чейки О в узле 11 пам ти и получени результатов согласно фиг.66, строка 3.ku 7 node 11.pam tee. Then, the contents of the cell 6 of the memory node 11 and the R-register of the 10 working registers are read and summarized. The result is stored in the working register R- and in cell 6 of the memory node 11. Summation continues until the content of cell O is processed in memory node 11 and results are obtained as shown in Fig. 6, line 3.
При суммировании не должно быть .переполнени из арифметико-логического узла 13. Если оно имеетс , это признак ошибки в устройстве. СигналWhen summing, there should be no overflow from the arithmetic logic unit 13. If it exists, this is a sign of an error in the device. Signal
рование, а результат записываетс в ту же чейку i узла 11 пам ти. Первый код величиной i, поступивший из блока 1 пам ти, увеличивает содержимое чейки узла 11 пам ти на длину одного информационного слова. Второй код величиной i, поступивший в произвольный момент времени, снова увеличиваетand the result is recorded in the same cell i of memory node 11. The first code of size i, received from memory block 1, increases the content of the cell of memory node 11 by the length of one information word. The second code of i, received at an arbitrary point in time, again increases
информационного слова. После поступлени всех кодов сортируемой секции в устройство и обработки их в каждой чейке i в узле 11 пам ти оказываетс information word. After all the codes of the sorted section arrive in the device and process them in each cell i in the memory node 11
код, равный произведению количества кодов величиной i на длину одного информационного слова, т.е. содержимое чейки i узла 11 пам ти указывает размер пам ти, необходимый дл a code equal to the product of the number of codes of size i and the length of one information word, i.e. the contents of cell i of memory node 11 indicate the size of memory required for
размещени всех информационных слов с кодом i в сортируемой секции.placing all information words with code i in the section being sorted.
На второй фазе формирование адресов перемещени , указанных на фиг.66 (строка 3), выполн етс путем сумми- ровани результатов, полученных в узле 11 пам ти на первой фазе. При этом в каждой чейке i узлов 11 пам ти образуетс сумма содержимого всех чеек ii минус длина информационногоIn the second phase, the formation of the relocation addresses indicated in Fig.66 (line 3) is performed by summing up the results obtained in the memory node 11 in the first phase. In this case, in each cell i of the memory nodes 11, the sum of the contents of all cells ii minus the length of the information
слова. Дл этого в регистре R; узла 10 рабочих регистров формируетс дополнительный код длины информационного слова. Затем максимальный код 7 группы разр дов (преимущественно максимально возможный код) из узла 10 рабочих регистров пересьшаетс на адресный вход узел 11 пам ти. Управл ющие сигналы из блока 3 управлени вызывают чтение содержимого чейки 7 узла 11 пам ти и содержимого регистра RJ узла 10 рабочих регистров. Эта информаци суммируетс на арифметико-логического узла 13, а-результат , равный 12, пишетс в регистрthe words. To do this in the register R; Node 10 of the working registers forms the additional code of the length of the information word. Then, the maximum code 7 of the group of bits (mainly the maximum possible code) from the node 10 of the working registers is transferred to the address input node 11 of the memory. The control signals from the control unit 3 cause reading of the contents of the cell 7 of the memory node 11 and the contents of the RJ register of the node 10 of the working registers. This information is summed to the arithmetic logic node 13, and the a-result, equal to 12, is written to the register
5050
g RJ узла 11 рабочих регистров и чей- g RJ node 11 working registers and whose
5555
ку 7 узла 11.пам ти. Затем читаетс и суммируетс содержимое чейки 6 узла 11 пам ти и регистра R- узла 10 рабочих регистров. Результат запоминаетс в рабочем регистре R- и в чейке 6 узла 11 пам ти. Суммирование продолжаетс до обработки содержимого чейки О в узле 11 пам ти и получени результатов согласно фиг.66, строка 3.ku 7 node 11.pam tee. Then, the contents of the cell 6 of the memory node 11 and the R-register of the 10 working registers are read and summarized. The result is stored in the working register R- and in cell 6 of the memory node 11. Summation continues until the content of cell O is processed in memory node 11 and results are obtained as shown in Fig. 6, line 3.
При суммировании не должно быть .переполнени из арифметико-логического узла 13. Если оно имеетс , это признак ошибки в устройстве. СигналWhen summing, there should be no overflow from the arithmetic logic unit 13. If it exists, this is a sign of an error in the device. Signal
и and
06ошибке через .гход переполнени блока 2 поступает в блок 3 ynpasnetniH где вызывает прекращение onepaipiH сортировки ,An error through the overflow of block 2 enters block 3 where it causes the termination of one sort of sorting,
Адреса перемещени также могут быт получены путем суммировани результатов , полученных в узле 11 пам ти на первой фазе так, что в каждой чейке i узле 11 пам ти образуетс сумма содержимого всех чеек f:i минус длина информационного слова. Дл этого в регистре RJ узла 10 рабочих регистров формируетс дополнительный код длины информационного слова. Затем код О пересылаетс на адресный вход узла 11, содержимое чейки О узла 11 пам ти суммируетс с содержимым регистра RJ узла 10 рабочих регистров, а ре- зультат заноситс в ту же чейку О узла 11 пам ти и в регистр R; узла 10 рабочих регистров дл использовани в следующем ш-1кле суммировани . Далее содержимое чейки 1 узла 11 пам ти суммируетс с новым значением регистра RJ узла 10 рабочих регистров, а результат заноситс в чейку 1 узла 11 пам ти и в регистр RI узла 10 рабочих регистров. Суммирование продолжа- етс до обработки содержимого чейкиMovement addresses can also be obtained by summing up the results obtained in memory node 11 in the first phase so that in each cell i memory node 11 the sum of the contents of all cells f is formed: i minus the length of the information word. For this, in the RJ register of node 10 of the working registers an additional code of the length of the information word is generated. Then the code O is sent to the address input of node 11, the contents of cell O of node 11 of memory 11 are summed with the contents of register RJ of node 10 of the working registers, and the result is entered into the same cell Of node 11 of memory 11 and into register R; node 10 working registers for use in the next w-1kle summation. Next, the contents of the cell 1 of the memory node 11 are summed with the new value of the RJ register of the node 10 of the working registers, and the result is entered into the cell 1 of the memory node 11 and into the RI register of the node 10 of the working registers. Summation continues until the contents of the cell are processed.
7узла 11 пам ти (преимущественно до максимально возможного кода в сортируемой группе).7 nodes 11 memories (mainly up to the maximum possible code in the sorted group).
Блок 3 управлени системой (фиг.4) работает следующим образом.The system control unit 3 (Fig. 4) operates as follows.
Нажатие кнопки Сброс в узле 14 переключателей устанавливает систему в исходное состо ние, в том числе ад- рее первой микрокоманды в регистре 15 адреса микрокоманд. Нажатие кнопки Пуск инициирует работу формировател 18 синхроимпульсов, который формирует серию синхроимпульсов. С по вле- нием синхроимпульсов начинаетс выборка микрокоманд из схемы 17 пам ти микрокоманд и фиксаци их в регистре 16 микрокоманд. С выхода регистра 16 микрокоманд управл ющие сигналы поступают в блок 1 пам ти и в блок 2.Pressing the Reset button in node 14 of the switches sets the system to the initial state, including the address of the first micro-command in register 15 of the micro-command address. Pressing the Start button initiates the work of the 18 sync pulse maker, which forms a series of sync pulses. With the onset of sync pulses, a sample of microinstructions from the microcode 17 memory circuit 17 begins and is fixed in the register of 16 microinstructions. From the register output of 16 microcommands, the control signals go to memory block 1 and to block 2.
Формат микрокоманд показан на фиг.5. Микрокоманды из схемы 17 пам ти микрокоманд читаютс , управл процедурами сортировки в системе.The format of micro-instructions is shown in FIG. The microcommands from the microcommand memory scheme 17 are read, controlling the sorting procedures in the system.
Текуща последовательность микрокоманд измен етс при изменении условий ветвлени , т.е. при по влении сигналов переполнени ;The current sequence of microinstructions changes as the branch conditions change, i.e. when overflow signals occur;
I liI li
-с .1ЫУ.(1л;1 счетчика 19 длины мпс.- сива после с ОрлГиггкп кодог ccip тируемой секции,- with .1YU. (1l; 1 counter 19 mps.sivi length after with Orliggkp kodog ccip tiroemoy section,
-с вьЕХода сч(П чика 20 длины слова после перемещени очередного информа- )Ц1онного слова на фазе перемещени ,-withSubCheck (Pchika 20 word lengths after moving the next information-) One-word word in the displacement phase,
-из блока 2 при ошибке.- from block 2 on error.
Форм ула изобрете {и Form ula invention {and
1.Устройство дл сортировки информации , содержап(ее блок пам ти, блок управлени , причем входы условий блока управлени соединены с информационными входами-выходами первого и второго узлов пам ти блока пам ти, первый выход блока управлени соединен с управл юш 1ми входами первого1. A device for sorting information, contents (its memory unit, a control unit, the condition inputs of the control unit are connected to informational inputs-outputs of the first and second memory nodes of the memory unit, the first output of the control unit is connected to control one of the first inputs
и второго узлов пам ти блока пам ти, отличающее -с тем, что, с целью увеличени быстродействи , в него введен блок формировани адресов перемещений, информационные вхо- ды-пыходы которого соединены с входами условий блока управлени , выход признака сбо блока формировани адресов перемещений соединен с входом признака ошибки блока управлени , второй выход блока управлени соединен с входом управлени блока формировани адресов перемещений.and the second memory nodes of the memory block, characterized by the fact that, in order to increase speed, a displacement addresses shaping unit is entered into it, the information inputs-exits of which are connected to the control condition inputs, the displacement address formation block output connected to the input of the error sign of the control unit; the second output of the control unit is connected to the control input of the displacement addresses generation unit.
2.Устройство ПОП.1, отличающеес тем, что узел пам ти содержит регистр данных, регистр адреса, накопитель и схему управлени пам ти, причем информационный вход- выход узла соединен с информационными входами регистра данных, регистра адреса и с информационным выходом накопител , информационный выход регистра данных соединен с входом данных накопител , информационный выход регистра адреса соединен с входом адреса накопител , вход управлени узла соединен с входом схемы управлени пам тью, управл ю1цие вькоды с первого по третий которого соединены с входом строба регистра данных, с входом строби- ровани и суммировани регистра адреса и с входом строба накопител соответственно .2. The POP device 1, characterized in that the memory node contains a data register, an address register, an accumulator and a memory control circuit, the information input / output of the node connected to the information inputs of the data register, the address register and the information output of the storage device the output of the data register is connected to the data input of the accumulator, the information output of the address register is connected to the input of the address of the accumulator, the control input of the node is connected to the input of the memory control circuit, which controls the first to the third codes connected to the gate entrance of the data register, to the gate of the gate and the summation of the address register, and to the gate gate of the storage device, respectively.
3.Устройство по П.1, отличающеес тем, что блок управлени содержит регистр адреса микрокоманд , узел пам ти микрокоманд, регистр микрокоманд, счетчик длины массива , счетчик длины информационного3. The device according to Claim 1, characterized in that the control unit contains a micro-instruction address register, a micro-instruction memory node, a micro-instruction register, an array length counter, an information length counter
1 1131,113
слова, формирователь синхроимпульсов и узел переключателей, причем входы ус 10ВИЙ ветвлени блока соединены с информационными входами счетчика длины массива и счетчика длины слова, первый выход узла переключателей соединен с входами сброса регистра адреса микрокоманд и регистра микрокоманд второй выход узла переключателей соединен с входом запуска формировател синхроимпульсов, первый выход форми- ровател синхроимпульсов соединен с входами строба регистра адреса микрокоманд и регистра микрокоманд, вход признака ошибки блока соединен с входом останова работы регистра адреса микрокоманд, выход регистра адреса микрокоманд соединен с адресным входом узла пам ти микрокоманд, -первый выход узла пам ти микрокоманд соеди5words, clock generator and switch node, with inputs 10VII unit branching connected to information inputs of the array length counter and word length counter, the first output of the switch node is connected to the reset inputs of the micro-address register and micro-register register , the first output of the sync pulse generator is connected to the strobe inputs of the micro-command address register and the micro-command register, the input of the error sign of the coi unit dinene with the stop input of the microinstructions address register, the output of the microinstructions address register is connected to the address input of the microinstruction memory node, the first output of the microinstructions memory node is 5
10ten
59771нен с информашюнным входом пол адреса следующей-микрокоманды регистра адреса микрокоманд, второй выход, узла пам ти микрокоманд соединен с информационным входом регистра микрокоманд , выходы счетчиков длины массива и длины информационного слова соеди- нены- с информационными входами полей ветвлени регистра адреса микрокоманд , первый и второй выходы регистра микрокоманд соединены с первым и вторым выходами блока соответственно, третий выход регистра микрокоманд соединен с входом тактировани формировател синхроимпульсов, второй и третий выходы которого соединены с входами асинхронной загрузки и суммировани счетчиков длины массива и длины информационного слова соответственно .59771nen with information input the address field of the next micro-command of the micro-command address register, the second output of the micro-command memory node is connected to the micro-command register information input, the outputs of the array length and information word length connects to the micro-command address branch fields, the second outputs of the register of micro-instructions are connected to the first and second outputs of the block, respectively, the third output of the register of micro-instructions is connected to the clock input of the clock generator, W The op and the third outputs of which are connected to the inputs of asynchronous loading and summing up the array length and information word length counters, respectively.
1515
00
ИзЗIZZ
Риг.ЗRig.Z
из 2of 2
из гof g
Адреса местной пон /пи uncKZAddresses local pon / pi uncKZ
Ра)нер попита Зи инугор/тционмыч cfft сRa) ner poppy Zi Inugor / ttsmmych cfft with
Адреса перемещени itaBoniAddresses of itaBoni
БнмтиBnmti
Заказ 4048/43 Тираж 672Order 4048/43 Edition 672
Произв.-полнгр, пр-тие, г, Ужгород, ул. Проектна , 4Production-polngr, pr-tie, g, Uzhgorod, st. Project, 4
ЛЗрееа JWLzreea jw
ч- акци tcmapaa)h- shares tcmapaa)
3- cfKttuf3- cfKttuf
Z-f секци Z-f section
1- сгнци 1пмОшм)1-sgnsi 1pmOshm)
Адреса 3V5 if- секци J- се ни г- секци 1- секци 3V5 if-section addresses J-se no g-section 1-section
ПодписноеSubscription
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU853956999A SU1335977A1 (en) | 1985-09-24 | 1985-09-24 | Information sorting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU853956999A SU1335977A1 (en) | 1985-09-24 | 1985-09-24 | Information sorting device |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1335977A1 true SU1335977A1 (en) | 1987-09-07 |
Family
ID=21198610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU853956999A SU1335977A1 (en) | 1985-09-24 | 1985-09-24 | Information sorting device |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1335977A1 (en) |
-
1985
- 1985-09-24 SU SU853956999A patent/SU1335977A1/en active
Non-Patent Citations (1)
Title |
---|
Палернов Л.А. и др. Методы упор дочени информации в цифровых системах. - М.: Наука, 1973. Кнут Э. Искусство программировани дл ЭВМ. Том 3. Сортировка и поиск. - М.: Мир, 1973. Авторское свидетельство СССР № 1193957, кл. G 06 F 7/06, 1984. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SU1561834A3 (en) | Memory addressing device | |
US6526474B1 (en) | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes | |
US5010516A (en) | Content addressable memory | |
US4152762A (en) | Associative crosspoint processor system | |
US4170039A (en) | Virtual address translation speed up technique | |
EP0180239A2 (en) | Content-addressable memory | |
US5855016A (en) | Sorting system for serially processing records | |
US3611316A (en) | Indirect indexed searching and sorting | |
US4371924A (en) | Computer system apparatus for prefetching data requested by a peripheral device from memory | |
US4131947A (en) | Random access digital sorter | |
EP0076155B1 (en) | Memory system | |
US5319651A (en) | Data integrity features for a sort accelerator | |
US3478325A (en) | Delay line data transfer apparatus | |
US5081608A (en) | Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields | |
US3273131A (en) | Queue reducing memory | |
KR850004673A (en) | Digital computer systems | |
US3332069A (en) | Search memory | |
CA2000145C (en) | Data transfer controller | |
SU1335977A1 (en) | Information sorting device | |
US4852059A (en) | Content addressable memory | |
US3701984A (en) | Memory subsystem array | |
US4979101A (en) | Apparatus for retrieving character strings | |
JPH0666050B2 (en) | Sort processing method | |
EP0232376B1 (en) | Circulating context addressable memory | |
US3328566A (en) | Input-output system for a digital computer |