RU2024966C1 - Device for determining start point of data block in external memory - Google Patents
Device for determining start point of data block in external memory Download PDFInfo
- Publication number
- RU2024966C1 RU2024966C1 SU5022512A RU2024966C1 RU 2024966 C1 RU2024966 C1 RU 2024966C1 SU 5022512 A SU5022512 A SU 5022512A RU 2024966 C1 RU2024966 C1 RU 2024966C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- code
- output
- counter
- inputs
- Prior art date
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, а именно к внешним запоминающим устройствам (ВЗУ), и может быть использовано в контроллерах ВЗУ. The invention relates to computer technology, namely to external storage devices (VZU), and can be used in controllers of VZU.
Известно устройство, определяющее начало блока данных во внешней памяти ЭВМ [1] и содержащее демодулятор, счетчик, шесть RS-триггеров, восемь элементов И, семь элементов ИЛИ, элемент НЕ. A device is known that determines the beginning of a data block in the external computer memory [1] and contains a demodulator, counter, six RS-flip-flops, eight AND elements, seven OR elements, an NOT element.
Недостаток устройства - недостаточно высокая надежность определения начала блока при работе с накопителями с высоким уровнем ошибок в считанных данных. The disadvantage of this device is the insufficiently high reliability of determining the beginning of the block when working with drives with a high level of errors in the read data.
Известно устройство, определяющее начало блока данных во внешней памяти ЭВМ [2] и содержащее селектор синхросигналов, сдвиговые регистры, счетчики, два пороговых блока, триггер, элементы И, элементы ИЛИ, элементы НЕ. A device is known that determines the beginning of a data block in the external computer memory [2] and contains a clock selector, shift registers, counters, two threshold blocks, a trigger, AND elements, OR elements, NOT elements.
Недостаток устройства - большой объем оборудования, возрастающий пропорционально количеству маркеров в заголовке блока. The disadvantage of this device is a large amount of equipment, increasing in proportion to the number of markers in the block header.
Наиболее близким по технической сущности к изобретению является устройство, определяющее начало блока данных во внешней памяти ЭВМ [3] и содержащее сдвиговый регистр, декодер канального кода, схему обнаружения маркеров, счетчик, преобразователь кодов. Устройство определяет начало блока данных, обнаружив любую последовательность r маркеров из множества маркеров заголовка блока. The closest in technical essence to the invention is a device that determines the beginning of a data block in the external computer memory [3] and contains a shift register, a channel code decoder, a marker detection circuit, a counter, a code converter. The device determines the start of a data block by detecting any sequence of r markers from the set of block header markers.
Недостатками рассмотренного устройства являются большой объем оборудования, возрастающий пропорционально количеству выделяемых подряд маркеров в заголовке блока, и недостаточно высокая надежность определения начала блока данных. The disadvantages of the considered device are a large amount of equipment, increasing in proportion to the number of consecutive markers in the block header, and insufficiently high reliability of determining the beginning of a data block.
Цель изобретения - упрощение устройства за счет уменьшения разрядности сдвигового регистра и схемы обнаружения последовательности маркеров и повышение надежности определения начала блока данных путем кодирования имен маркеров помехоустойчивым кодом. The purpose of the invention is to simplify the device by reducing the bit depth of the shift register and the marker sequence detection circuit and increasing the reliability of determining the start of a data block by encoding the names of the markers with an error-correcting code.
Цель достигается тем, что в устройство, содержащее сдвиговый регистр, декодер канального кода, первый селектор кода, первый счетчик, преобразователь кодов, на D-вход сдвигового регистра поступает считываемая с носителя информация, на С-входы сдвигового регистра и первого счетчика и второй вход первого селектора кода поступают тактовые импульсы, вторые выходы сдвигового регистра подключены к первым входам первого селектора кода, введены регистр, блок сравнения кодов, второй селектор кода, второй счетчик, первый и второй коммутаторы, первый и второй элементы И, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, элемент ИЛИ-НЕ, первые выходы сдвигового регистра подключены к входам декодера канального кода, вторые выходы декодера канального кода подключены к первым входам блока сравнения кодов и вторым входам первого коммутатора, выход первого селектора кода подключен к первому входу первого элемента И, второму входу второго коммутатора, второму входу элемента ИЛИ-НЕ, входу Do второго счетчика, выход блока сравнения кодов подключен к второму входу первого элемента И, выход первого элемента И подключен к первому входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, выходы первого коммутатора подключены к D-входам регистра, выходы регистра подключены к входам преобразователя кодов и входам второго селектора кода, выходы преобразователя кодов подключены к первым входам первого коммутатора и вторым входам блока сравнения, выход второго коммутатора подключен к С-входу регистра и R-входу первого счетчика, выход первого счетчика подключен к первому входу второго коммутатора, второму входу второго элемента И, второму входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, первому входу элемента ИЛИ-НЕ, выход второго селектора кода подключен к первому входу второго элемента И, выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ подключен к входу управления режимом прием/счет второго счетчика, выход элемента ИЛИ-НЕ подключен к С-входу второго счетчика, выход второго счетчика подключен к управляющим входам первого и второго коммутаторов, к третьим входам второго элемента И и элемента ИЛИ-НЕ, на входы D1-Dv-1 второго счетчика подаются сигналы логического нуля, на R-вход второго счетчика подается сигнал СБРОС, первые выходы декодера канального кода являются информационными выходами устройства, выход второго элемента И является выходом устройства, индицирующим начало блока данных.The goal is achieved in that a device containing a shift register, a channel code decoder, a first code selector, a first counter, a code converter, receives information read from the carrier at the D-input of the shift register, at the C-inputs of the shift register and the first counter and the second input the first code selector receives clock pulses, the second outputs of the shift register are connected to the first inputs of the first code selector, the register is entered, the code comparison unit, the second code selector, the second counter, the first and second switches, the first and the second AND elements, the EXCLUSIVE OR element, the OR-NOT element, the first outputs of the shift register are connected to the inputs of the channel code decoder, the second outputs of the channel code decoder are connected to the first inputs of the code comparison unit and the second inputs of the first switch, the output of the first code selector is connected to the first input of the first AND gate, the second input of the second switch, the second input of OR-NO element, D o input of the second counter, the output code comparator connected to the second input of the first AND gate, the output of the first element and connected to the first input of the EXCLUSIVE OR element, the outputs of the first switch are connected to the D-inputs of the register, the outputs of the register are connected to the inputs of the code converter and the inputs of the second code selector, the outputs of the code converter are connected to the first inputs of the first switch and second inputs of the comparison unit, the output of the second switch is connected to With the register input and R-input of the first counter, the output of the first counter is connected to the first input of the second switch, the second input of the second AND element, the second input of the EXCLUSIVE OR element, the first input of an OR-NOT element, the output of the second code selector is connected to the first input of the second AND element, the output of the EXCLUSIVE OR element is connected to the control input of the receive / count mode of the second counter, the output of the OR-NOT element is connected to the C-input of the second counter, the output of the second counter is connected to the control inputs of the first and second switches, to the third inputs of the second AND element and the OR-NOT element, logic zero signals are sent to the inputs D 1 -D v-1 of the second counter, the RESET signal is sent to the R-input of the second counter, the first outputs of the channel coder yes are the information outputs of the device, the output of the second AND element is the output of the device, indicating the beginning of the data block.
Дополнительно введенные второй счетчик, второй элемент И, элементы ИСКЛЮЧАЮЩЕЕ ИЛИ, ИЛИ-НЕ позволяют перейти от параллельного выделения любой последовательности из r маркеров подряд, когда они находятся в сдвиговом регистре, к последовательному. При этом длина сдвигового регистра уменьшается в r раз. Additionally introduced the second counter, the second AND element, the elements EXCLUSIVE OR, OR NOT, allow you to switch from the parallel selection of any sequence of r markers in a row, when they are in the shift register, to sequential. In this case, the length of the shift register decreases by r times.
Дополнительно введенные блок сравнения кодов, первая схема И приводят к вырождению схемы обнаружения маркеров прототипа в значительно более простой первый селектор кода. An additionally introduced code comparison unit, the first AND circuit, lead to the degeneration of the prototype marker detection circuit into a much simpler first code selector.
Дополнительно введенные регистр, коммутаторы и соответствующее включение преобразователя кодов позволяет использовать для кодирования имен маркеров помехоустойчивый код, что приводит к уменьшению вероятности неправильного определения начала блока. The additionally entered register, switches, and the corresponding inclusion of the code converter allows using an error-correcting code for coding marker names, which reduces the likelihood of incorrectly determining the beginning of the block.
В результате проведения сопоставительного анализа заявляемого технического решения и аналогичных решений, обнаруженных в патентной и технической литературе, был сделан вывод о наличии существенных отличий у заявляемого решения. As a result of a comparative analysis of the claimed technical solution and similar solutions found in the patent and technical literature, it was concluded that there are significant differences between the claimed solution.
На фиг. 1 показана схема устройства для определения начала блока данных (УОНБД) во внешней памяти ЭВМ; на фиг. 2 - сдвиговый регистр и декодер канального кода МФМ; на фиг. 3 - временные диаграммы работы УОНБД при наличии ошибок в маркерной последовательности; на фиг. 4 - граф, поясняющий работу счетчика маркеров (второго счетчика). In FIG. 1 shows a diagram of a device for determining the beginning of a data block (UBBD) in an external computer memory; in FIG. 2 - shift register and decoder channel code MFM; in FIG. 3 - time diagrams of the operation of UBBD in the presence of errors in the marker sequence; in FIG. 4 is a graph explaining the operation of the marker counter (second counter).
Устройство для определения начала блока данных (фиг. 1) содержит сдвиговый регистр 1, декодер канального кода 2, первый селектор кода 3, первый счетчик 4, преобразователь кодов 5, регистр 6, блок сравнения кодов (БСК) 7, второй селектор кода 8, второй счетчик 9, первый и второй коммутаторы 10 и 11, первый и второй элементы И 12 и 13, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 14, элемент ИЛИ-НЕ 15. На фиг. 1 и 2 цифрами обозначены первые и вторые выходы сдвигового регистра - 16 и 17, первые и вторые выходы декодера канального кода - 18 и 19, сигналы логических нулей - 20. A device for determining the beginning of a data block (Fig. 1) contains a
На фигурах используются следующие обозначения сигналов: Dвх - входные данные в последовательном виде; Dвых - выходные данные в параллельном виде; ТИ - тактовые импульсы; ССА - синхросигнал активен; КС - коды на входах блока сравнения кодов совпали; ФСР - финальное состояние регистра; ПСБ - перенос счетчика бит (первого счетчика); НД - начало данных; ФСС - финальное состояние счетчика маркеров (второго счетчика).In the figures, the following signal designations are used: D I - input data in sequential form; D o - output in parallel; TI - clock pulses; CCA - the clock signal is active; КС - codes at the inputs of the code comparison block coincided; FSR - the final state of the register; PSB - transfer of a bit counter (first counter); ND - the beginning of the data; FSS - the final state of the marker counter (second counter).
Кроме того, при описании изобретения использованы следующие обозначения:
k - количество маркеров в маркерной последовательности;
r - количество выделенных подряд маркеров, при котором принимается решение о нахождении заголовка данных;
v - наименьшее целое большее или равное log2(r+1);
l - длина маркера (в битах канального кода);
w - наименьшее целое большее или равное log21;
p - длина синхросигнала (в битах канального кода);
q - разрядность кода имени маркера;
m - разрядность шины Dвых;
n - длина кодового слова помехоустойчивого кода;
d - минимальное кодовое расстояние помехоустойчивого кода;
η - число триггерных элементов в блоке;
γi - имя i-го маркера.In addition, when describing the invention, the following notation is used:
k is the number of markers in the marker sequence;
r is the number of consecutive markers at which a decision is made to find a data header;
v is the smallest integer greater than or equal to log 2 (r + 1);
l - marker length (in bits of the channel code);
w is the smallest integer greater than or equal to log 2 1;
p is the length of the clock signal (in bits of the channel code);
q is the bit depth of the marker name code;
m is the capacity of the bus D o ;
n is the codeword length of the error-correcting code;
d is the minimum code distance of the error-correcting code;
η is the number of trigger elements in the block;
γ i is the name of the i-th marker.
На фиг. 1 и 2 первые выходы 16 сдвигового регистра 1 являются l-разрядными; вторые выходы 17 сдвигового регистра 1 - p-разрядными; вторые выходы (19) декодера канального кода 2, выходы первого коммутатора 10, регистра 6 и преобразователя кодов 5 - q-разрядными; первые выходы (18) декодера канального кода 2 - m-разрядными; сигналы логического нуля 20-(v-1)-разрядными. In FIG. 1 and 2, the
Сдвиговый регистр 1 является l-разрядным; первый счетчик 4 - w-разрядным (с коэффициентом пересчета l); регистрт 6 - q-разрядным; второй счетчик 9 - v-разрядным (с коэффициентом пересчета r+1).
Декодер канального кода 2 представляет собой комбинационную логическую схему на l входов и m выходов (сигналы вторых выходов декодера являются подмножеством сигналов первых выходов) и может быть реализован на ПЗУ, ПЛМ или дискретных логических компонентах. В случае применения канального кода МФМ декодер вырождается в совокупность перемычек (см. фиг. 2). При этом выходы 18 декодера соединяются со всеми его нечетными входами, выходы 19 соединяются с q младшими нечетными входами. The
Счетчики 4 (в режиме счета и обнуления) и 9 (в режиме счета и приема информации), регистр 1 срабатывают по положительному фронту сигналов поданных на С-входы. При этом счетчик 9 увеличивает свое содержимое на единицу, если на вход управления режимом прием/счет подается логический нуль; в противном случае в счетчик 9 загружается информация с D-входов. Вход R счетчика 9 - асинхронный. В регистр 6 загружается информация с D-входов по отрицательному фронту сигнала, поданного на С-вход. Counters 4 (in the mode of counting and zeroing) and 9 (in the mode of counting and receiving information),
На выходе счетчика 4 (ПСБ) формируется логическая единица, когда счетчик находится в состоянии l-1, и сигнал на его С-входе равен нулю. На выходе счетчика 9 (ФСС) формируется логическая единица, когда счетчик находится в состоянии r. At the output of counter 4 (PSB), a logical unit is formed when the counter is in the state l-1, and the signal at its C-input is zero. At the output of counter 9 (FSS), a logical unit is formed when the counter is in state r.
На выходы коммутаторов 10, 11 подаются сигналы с их вторых входов (19 и ССА соответственно) при наличии логического нуля на управляющих входах, в противном случае на их выходы подаются сигналы с их первых входов. The outputs of the
На выходе блока сравнения кодов 7 формируется логическая единица только в случае равенства кодов на его входах, на выходе селектора кода 3 формируется логическая единица только в случае наличия на его первых входах заданной кодовой комбинации и логического нуля на втором входе (стробирующем), второй селектор кода 8 работает так же как первый только без стробирования. Блок сравнения кодов 7 и селекторы кодов 3, 8 могут быть реализованы в виде комбинационной схемы известным образом на ПЗУ, ПЛМ или дискретных логических компонентах. At the output of the code comparison unit 7, a logical unit is formed only in case of equal codes at its inputs, at the output of the
Преобразователь кодов 5 представляет собой комбинационную схему с q-разрядными входами и выходами и может быть реализован на ПЗУ, ПЛМ или дискретных логических компонентах. Code Converter 5 is a combinational circuit with q-bit inputs and outputs and can be implemented on ROM, PLM or discrete logic components.
Для определения начала блока данных на носитель информации непосредственно перед байтами данных записывается заголовок (см. фиг. 3). Заголовок содержит область синхроимпульсов, необходимых для установления синхронизации схемы ФАПЧ (на фиг. 3 область обозначена: СИНХР) и последовательность из k l-разрядных маркеров - указателей начала блока. Каждый маркер содержит p-разрядный синхросигнал СС и q-разрядное имя γi (в битах канального кода МФМ разрядность кода имени равняется 2q).To determine the beginning of a data block, a header is written to the storage medium immediately before the data bytes (see Fig. 3). The header contains the region of clock pulses necessary to establish the synchronization of the PLL (in Fig. 3, the region is denoted: SYNCHR) and a sequence of k l-bit markers - indicators of the beginning of the block. Each marker contains a p-bit clock signal CC and a q-bit name γ i (in bits of the channel MFM code, the bit width of the name code is 2q).
В качестве синхросигнала используется последовательность бит канального кода, отличающаяся от любой комбинации бит канального кода, записанной на носителе. A channel code bit sequence different from any combination of channel code bits recorded on the medium is used as a clock signal.
Каждый маркер расположен от начала блока данных на расстоянии, определяемом именем маркера. Канкатенация кодов имен r соседних маркеров γi, ..., γi-r+1 образует n-разрядное слово блочного помехоустойчивого кода с минимальным кодовым расстоянием d. Таким образом любые две последовательности из r маркеров, в том числе перекрывающиеся, отличаются друг от друга не менее, чем в d разрядах. Это позволяет уменьшить вероятность неверного определения начала блока при поражении кодов имен маркеров ошибками, что особенно важно при большом числе маркеров и высокой вероятности ошибок.Each marker is located from the beginning of the data block at a distance determined by the name of the marker. The concatenation of the name codes r of neighboring markers γ i , ..., γ i-r + 1 forms an n-bit word of a block error-correcting code with a minimum code distance d. Thus, any two sequences of r markers, including overlapping ones, differ from each other no less than in d bits. This reduces the likelihood of incorrectly determining the beginning of a block when marker codes are damaged by errors, which is especially important with a large number of markers and a high probability of errors.
Помехоустойчивый код выбирается таким образом, чтобы для заданных k и n обеспечить максимальное минимальное кодовое расстояние d. Пример такого кода для r=2 будет приведен ниже. The noise tolerance code is selected so that for given k and n, provide the maximum minimum code distance d. An example of such a code for r = 2 will be given below.
Рассмотрим обработку заголовка блока данных УОНБД в соответствии с фиг. 3. В работе УОНБД можно выделить два этапа: первый - выделение r маркеров подряд, второй - формирование временной задержки от момента выделения r-го маркера до начала блока данных. На фиг. 3 этим этапам соответствуют временные интервалы: А - интервал времени от момента установки в ноль второго счетчика сигналом СБРОС в области СИНХР до момента времени перехода второго счетчика 9 в состояние с номером r; В - интервал времени от момента фиксации r маркеров подряд до момента формирования импульса начала блока данных. Let us consider the processing of the header of the data block of UBBD according to FIG. 3. In the UBBD work, two stages can be distinguished: the first is the allocation of r markers in a row, the second is the formation of a time delay from the moment the rth marker is allocated to the beginning of the data block. In FIG. 3, these time intervals correspond to these steps: A is the time interval from the moment the second counter is set to zero by the RESET signal in the SYNC field to the time when the second counter 9 enters state r; B is the time interval from the moment of fixing r markers in a row to the moment of formation of the impulse of the beginning of the data block.
Процесс выделения подряд r маркеров из принимаемой УОНБД информации представлен в виде графа на фиг. 4. Вершины графа, пронумерованные от 0 до r, отображают состояния счетчика 9, подсчитывающего выделенные подряд маркеры. Переход из одного состояния в другое происходит при выполнении определенных условий (a, b, c, d), являющихся логическими функциями сигналов ССА, ПСБ, КС (см. на фиг. 4). По сигналу СБРОС счетчик из любого состояния независимо от условий a, b, c, d переходит в состояние 0 (на фиг. 4 не показано). The process of extracting consecutively r markers from received UBBD information is presented as a graph in FIG. 4. The vertices of the graph, numbered from 0 to r, display the status of counter 9, counting the selected consecutive markers. The transition from one state to another occurs when certain conditions (a, b, c, d) are fulfilled, which are logical functions of the CCA, PSB, and CS signals (see in Fig. 4). According to the RESET signal, the counter from any state, regardless of conditions a, b, c, d, goes into state 0 (not shown in Fig. 4).
В нулевом состоянии счетчик будет находиться до тех пор, пока не будет выделен хотя бы один синхросигнал маркера. Переход из нулевого состояния счетчика в единичное происходит в случае обнаружения синхросигнала маркера независимо от его имени. Переход из i-го в i+1 состояние (i = 1, 2, 3, ..., r-1) происходит в случае, если следующий выделенный маркер обнаружен ровно через l бит канального кода от начала предыдущего (период следования маркеров - l) и имя его соответствует ожидаемому. В противном случае происходит переход в нулевое состояние, если следующий синхросигнал не обнаружен на расстоянии меньшем или равном l бит от начала предыдущего, или в единичное состояние, если код имени следующего выделенного маркера не соответствует ожидаемому или его синхросигнал обнаружен на расстоянии меньшем l бит от начала синхросигнала предыдущего маркера. In the zero state, the counter will remain until at least one marker clock signal is highlighted. The transition from the zero state of the counter to a single occurs if a marker clock is detected, regardless of its name. The transition from the i-th to i + 1 state (i = 1, 2, 3, ..., r-1) occurs if the next selected marker is detected exactly through l bits of the channel code from the beginning of the previous one (the period of the markers is l) and his name is as expected. Otherwise, a transition to the zero state occurs if the next clock signal is not detected at a distance less than or equal to l bits from the beginning of the previous one, or to the single state, if the name code of the next highlighted marker does not match the expected one or its clock signal is detected at a distance less than l bits from the beginning clock of the previous marker.
Работу УОНБД в процессе выделения r маркеров подряд поясняет фиг. 3. На фиг. 3 приведен пример обработки УОНБД заголовка блока с тремя пораженными ошибками маркерами: у второго маркера поражено ошибками имя, у четвертого - синхросигнал, у последнего - и имя, и синхросигнал. FIG. 3. In FIG. Figure 3 shows an example of processing a block header with three error-affected markers: a second marker has a name error, a fourth has a clock signal, and the last has a name and a clock signal.
УОНБД работает в интервале А следующим образом. UBBD operates in interval A as follows.
Сигнал СБРОС устанавливает в ноль второй счетчик 9. Нулевой потенциал на выходе счетчика 9 поступает: на третий вход элемента ИЛИ-НЕ 15, разрешая прохождение импульсов ПСБ и ССА с первого или второго входа элемента ИЛИ-НЕ 15 на его выход; на третий вход элемента И 13, закрывая его; и на управляющие входы коммутаторов 10 и 11, в результате чего выходы этих коммутаторов логически соединяются со вторыми их входами. The RESET signal sets the second counter 9 to zero. The zero potential at the output of the counter 9 is received: at the third input of the OR-NOT 15 element, allowing the passage of pulses of the PSB and CCA from the first or second input of the OR-NOT 15 element to its output; to the third entrance of the element And 13, closing it; and to the control inputs of the
В области СИНХР импульс переноса счетчика 4 ПСБ поступает на вход С счетчика 9 через открытый низкими уровнями сигналов ФСС и ССА, элемент ИЛИ-НЕ 15. В счетчик 9 загружается нулевой код с D-входов, так как на его вход V поступает единичный потенциал, полученный в результате сложения по модулю два на элементе ИСКЛЮЧАЮЩЕЕ ИЛИ 14 активного сигнала ПСБ и пассивного сигнала, полученного с выхода, закрытого низким уровнем сигнала ССА, элемента И 12. Описанная процедура соответствует на графе (фиг. 4) переходу из вершины 0 в вершину 0 по условию а. In the SINCHR field, the transfer pulse of the
Обнаружив первый синхросигнал маркера в последовательности бит канального кода, селектор 3 вырабатывает сигнал ССА. Содержимое счетчика 9 увеличится на единицу по фронту сигнала ССА, поступившего через элемент ИЛИ-НЕ на вход С счетчика, так как на вход управления режимом счетчика V поступает низкий уровень сигнала, полученный путем сложения по модулю два на элементе ИСКЛЮЧАЮЩЕЕ ИЛИ 14 низкого уровня сигнала ПСБ и низкого уровня сигнала с выхода, закрытого пассивным сигналом КС, элемента И 12. Код имени выделенного маркера γk-1 со вторых выходов декодера канального кода 2 перепишется в регистр 6 по фронту импульса ССА, который поступает на вход C регистра 6 через коммутатор 11. Синхросигналом ССА, поступающим через коммутатор 11 на вход R счетчика 4, происходит установка этого счетчика в ноль.Having detected the first marker clock in the channel code bit sequence,
Так как начальное состояние регистра 6 не определено и ПСБ до обнаружения первого импульса ССА не привязан к заголовку, кроме рассмотренной возможны следующие ситуации:
- в момент обнаружения первого синхросигнала сигналы ПСБ и КС имеют высокие уровни;
- в момент обнаружения первого синхросигнала cигнал КС имеет высокий уровень, а ПСБ - низкий. В первом случае содержимое счетчика 9 увеличится на единицу, во второй - в счетчик 9 записывается единица. Все три рассмотренные ситуации соответствуют на графе переходу из вершины 0 в вершину 1 по условию d.Since the initial state of
- at the moment of detection of the first clock signal PSB and KS have high levels;
- at the moment of detection of the first clock signal, the CS signal is high, and the PSB is low. In the first case, the contents of counter 9 will increase by one, in the second - one is written into counter 9. All three situations considered correspond on the graph to the transition from
Преобразователь кода 5 преобразует код γk-1, поступающий на его входы с выходов регистра 6, в код γk-2 , который поступает на вторые входы блока сравнения кодов. В момент выделения селектором 3 синхросигнала второго маркера на первые входы блока сравнения кодов поступит пораженный ошибками код имени маркера Х (Х ≠γk-2) со вторых выходов декодера 2. Пассивный сигнал КС с выхода БСК 7, поступая на второй вход элемента И 12, закрывает его. Сигнал с выхода закрытого элемента И 12 поступает на первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 14. На второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ поступает активный сигнал ПСБ с выхода счетчика 4. Счетчик 9 устанавливается в единицу по фронту сигнала ССА, поступающего на вход С счетчика через элемент ИЛИ-НЕ 15, так как на вход управления режимом работы V подана логическая единица с выхода элемента ИCКЛЮЧАЮЩЕЕ ИЛИ, а на входы параллельной загрузки Do-Dv-1 подается код единицы. Код Х перепишется в регистр 6 по фронту импульса ССА. Описанная процедура соответствует на графе переходу из вершины 1 в вершину 1 по условию b.The
Преобразователь кода 5 преобразует код Х в код Х1 (Х1≠ γk-3 ), который поступает на вторые входы блока сравнения кодов. В момент выделения селектором 3 синхросигнала третьего маркера на первые входы блока сравнения кодов поступит код имени третьего маркера γk-3 со вторых выходов декодера 2. Пассивный сигнал КС с выхода БСК 7, поступая на второй вход элемента И 12, закрывает его. Сигнал с выхода закрытого элемента И 12 поступает на первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 14. На второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ поступает активный сигнал ПСБ с выхода счетчика 4. Счетчик 9 устанавливается в единицу по фронту сигнала ССА, так как на вход управления режимом работы V подана логическая единица, а на входы параллельной загрузки Do-Dv-1 подается код единицы. Код γk-3 перепишется в регистр 6. Описанная процедура соответствует на графе переходу из вершины 1 в вершину 1 по условию b.
Рассмотрим реакцию УОНБД на маркер с пораженным синхросигналом. Пораженный ошибками код синхросигнала со вторых выходов регистра 1 поступает на первые входы селектора 3 во время формирования сигнала переноса ПСБ с первого счетчика 4. Пассивный сигнал с выхода селектора 3, поступая на первый вход элемента И 12, закрывает его. Счетчик 9 устанавливается в ноль по фронту сигнала ПСБ, поступающего на вход С счетчика 9 через элемент ИЛИ-НЕ 15, так как в момент формирования переноса счетчика 4 активен сигнал на выходе элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 14 (логический ноль - на первом входе элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, и логическая единица - на его втором входе). Установка в ноль счетчика 9 будет происходит за счет записи в счетчик кода нуля с его входов параллельной загрузки Do-Dv-1. Описанная процедура соответствует на графе переходу из вершины 1 в вершину 0 по условию a.Consider the reaction of UBBD to a marker with an affected clock signal. The error code of the clock signal from the second outputs of
Выделив пятый синхросигнал маркера из потока бит канального кода, селектор 3 вырабатывает сигнал ССА. Пассивный сигнал КС с выхода БСК 7 (на первые входы БСК подан код γk-5 со вторых выходов декодера 2, а на вторые входы подается код γk-4 с выходов преобразователя кодов), поступая на второй вход элемента И 12, закрывает его. Сигнал с выхода закрытого элемента И 12 поступает на первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 14. Если на второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ поступает активный сигнал ПСБ с выхода счетчика 4, то счетчик 9 устанавливается в единицу по фронту сигнала ССА, поступающего на вход С счетчика через элемент ИЛИ-НЕ 15, так как на вход управления режимом работы V подана логическая единица с выхода элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, а на входы параллельной загрузки Do-Dv-1 подается код единицы. Если на второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ в момент выделения сигнала ССА поступает пассивный сигнал ПСБ с выхода счетчика 4 (в случае нарушения синхронизации выделителя после второго дефекта), то содержимое счетчика 9 (ранее установленного в ноль) увеличится на единицу по фронту сигнала ССА, так как на вход управления режимом работы V подан логический ноль с выхода элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. По фронту импульса ССА код γk-5 перепишется в регистр 6, и счетчик 4 сбрасывается в ноль. Описанная процедура соответствует на графе переходу из вершины 0 в вершину 1 по условию d.Selecting the fifth marker clock from the channel code bit stream,
В момент выделения селектором 3 синхросигнала шестого маркера на первые входы блока сравнения кодов поступит код имени шестого маркера γk-6 со вторых выходов декодера 2. Преобразователь кода 5 преобразует код γk-5 , поступающий на его входы с выходов регистра 6, в код γk-6, который поступает на вторые входы блока сравнения кодов. Активный сигнал КС с выхода БСК 7, поступая на второй вход элемента И 12, открывает его. Сигнал ССА через открытый элемент И 12 поступает на первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 14. На второй вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ поступает активный сигнал ПСБ с выхода счетчика 4. Содержимое счетчика 9 увеличивается на единицу по фронту сигнала ССА, поступающего на вход С счетчика через элемент ИЛИ-НЕ 15, так как на вход управления режимом работы V подан логический ноль с выхода элемента ИСКЛЮЧАЮЩЕЕ ИЛИ. Код γk-6 перепишется в регистр 6 по фронту импульса ССА. Описанная процедура соответствует на графе переходу из вершины 1 в вершину 2 по условию с.At the
Аналогично УОНБД отреагирует на седьмой, восьмой, .., r+4 маркер. Содержимое счетчика 9 будет увеличиваться на единицу по фронту сигнала ССА, а код имени последнего выделенного маркера будет переписываться в регистр 6. На графе это соответствует последовательным переходам по условию с в вершины 3, 4, ..., r. Similarly, UBBD will respond to the seventh, eighth, .., r + 4 marker. The contents of counter 9 will increase by one along the edge of the CCA signal, and the code name of the last selected marker will be rewritten in
При достижении счетчиком 9 состояния r завершается первый этап работы УОНБД - выделение r маркеров подряд (интервал А фиг. 3), и начинается второй этап - формирование временной задержки (интервал В фиг. 3). When counter 9 reaches state r, the first stage of operation of the UBBD is completed - the allocation of r markers in a row (interval A of Fig. 3), and the second stage begins — the formation of a time delay (interval B of Fig. 3).
Каждый маркер расположен от начала блока данных на расстоянии, определяемом именем маркера. В регистре 6 в момент окончания интервала А будет храниться код имени последнего маркера из выделенной последовательности r маркеров (код γk-r-4 , фиг. 3). Начало блока данных можно определить, меняя содержимое регистра 6 в интервале В каждый раз через l бит канального кода (период следования маркеров - l) по принятому закону следования имен маркеров до получения финального состояния γo.Each marker is located from the beginning of the data block at a distance determined by the name of the marker. In
Работает УОНБД в интервале В следующим образом. The UBBD operates in the interval B as follows.
При достижении счетчиком 9 состояния r на его выходе вырабатывается сигнал ФСС. Единичный потенциал на выходе счетчика 9 поступает: на третий вход элемента ИЛИ-НЕ 15, запрещая прохождение через элемент ИЛИ-НЕ 15 на вход С счетчика 9 сигналов ССА и ПСБ; на третий вход элемента И 13, открывая его; и на управляющие входы коммутаторов 10 и 11, в результате чего выходы этих коммутаторов логически соединяются с первыми их входами. Сигнал ФСС будет активен до тех пор, пока счетчик 9 не будет установлен в ноль сигналом СБРОС. When counter 9 reaches state r, an FSS signal is generated at its output. A single potential at the output of counter 9 is received: at the third input of the OR-NOT 15 element, prohibiting the passage of 9 signals CCA and PSB from the counter 9 to the input C of the counter 9; to the third entrance of the element And 13, opening it; and to the control inputs of the
В интервале В УОНБД не реагирует на входную последовательность данных. Счетчик 4 сбрасывается в момент окончания импульса ПСБ, поступающего через коммутатор 11, на вход R счетчика 4. Сигнал переноса счетчика 4 через коммутатор 11 поступает на С вход регистра 6, вызывая запись в этот регистр кода следующего имени маркера, полученного путем преобразования блоком 5 ранее хранившегося в регистре 6 кода. In interval B, the UBBD does not respond to an input data sequence. The
На выходе селектора кода 8 формируется логическая единица в случае наличия на его входах кода имени последнего маркера в маркерной последовательности. Сигнал ФСР с выхода селектора 8 поступает на первый вход элемента И 13. At the output of the
Сигнал НД, индицирующий начало блока информации, вырабатывается на выходе элемента И 13 из сигнала ФСР путем стробирования его импульсом переноса счетчика 4. The signal ND, indicating the beginning of the block of information, is generated at the output of the element And 13 from the signal FSR by gating it with a
Контроллер ВЗУ, в состав которого входит заявляемое устройство, получив сигнал НД, начинает прием блока информации по шине Dвых.The controller VZU, which includes the inventive device, having received a signal ND, begins receiving a block of information on the bus D o .
Рассмотрим пример реализации устройства для r = 2, k = 8, n = 8 и канального кода МФМ. Синхросигнал представляет собой последовательность восьми канальных бит вида 01000001. В устройстве используются две маркерные последовательности: первая для определения начала блока адресной информации, записанной отдельно; вторая для определения начала блока данных пользователя. Для кодирования имен маркеров используются полуслова смежного класса расширенного кода Хэмминга. Слова кода образуют две цепочки (для двух маркерных последовательностей), в которых вторая половина кодового слова является первой половиной следующего кодового слова. Все слова смежного класса приведены в таблице. Consider an example implementation of the device for r = 2, k = 8, n = 8 and the channel code of the MPM. The clock signal is a sequence of eight channel bits of the form 01000001. The device uses two marker sequences: the first to determine the beginning of the block of address information recorded separately; the second to determine the beginning of the user data block. To encode marker names, the half-word of the adjacent class of the extended Hamming code is used. Code words form two chains (for two marker sequences) in which the second half of the code word is the first half of the next code word. All words of an adjacent class are given in the table.
Минимальное кодовое расстояние между двумя словами в смежном классе равно 4. Таким образом при верном считывании синхросигналов неверное определение начала блока из-за искажений имен маркеров может быть лишь при поражении ошибками 4 или более бит кодов имен двух соседних маркеров. The minimum code distance between two words in an adjacent class is 4. Thus, with correct reading of the clock signals, an incorrect determination of the beginning of the block due to distortion of marker names can only occur when 4 or more bit codes of the names of two adjacent markers are damaged.
При этом регистр 1 может быть выполнен на двух микросхемах типа К 555 ИР8, регистр 6 на микросхеме К 555 ТМ9, счетчик 4 на микросхеме К 555 ИЕ18, счетчик 9 на микросхеме К 555 ИЕ10, селектор 3 на микросхеме К 556 РТ4, блоки БСК, ПК, селектор 8, коммутаторы 10 и 11, элементы И 12 и 13, ИЛИ-НЕ 15, ИСКЛЮЧАЮЩЕЕ ИЛИ 14 могут быть выполнены на микросхеме К 556 РТ2. In this case, register 1 can be performed on two K 555 IR8 chips, register 6 on the K 555 TM9 chip,
Введение небольшого числа дополнительных несложных блоков приводит к уменьшению длины сдвигового регистра в r раз. При этом схема обнаружения маркеров вырождается в значительно более простую схему селектора кода. The introduction of a small number of additional simple blocks leads to a decrease in the length of the shift register by r times. In this case, the marker detection circuit degenerates into a much simpler code selector circuit.
Оценим возрастание объема оборудования прототипа и заявляемого устройства при увеличении r. В прототипе прямо пропорционально r возрастает разрядность (и следовательно число триггерных элементов) сдвигового регистра 1: η = lr. Причем l, как правило, довольно большая величина. В прототипе также прямо пропорционально r возрастает число входов схемы обнаружения маркеров, что приводит к пропорциональному увеличению числа логических элементов в схеме. We estimate the increase in the volume of equipment of the prototype and the claimed device with increasing r. In the prototype, the bit depth (and hence the number of trigger elements) of the
В заявляемом устройстве при увеличении r возрастает лишь разрядность счетчика 9, причем в логарифмическом масштабе: η = =log2(r+1).In the inventive device with increasing r increases only the capacity of the counter 9, and on a logarithmic scale: η = log 2 (r + 1).
Очевидно, поскольку объем оборудования прототипа возрастает значительно быстрее объема оборудования заявляемого устройства, существует такое r, при котором объем оборудования заявляемого устройства меньше объема оборудования прототипа. Определим это значение r в случае использования заголовка блока данных, приведенного в примере. Obviously, since the volume of the equipment of the prototype increases significantly faster than the volume of equipment of the claimed device, there exists r such that the volume of equipment of the claimed device is less than the volume of equipment of the prototype. We define this value r in the case of using the header of the data block shown in the example.
Случай r = 1 не представляет интереса: при этом и устройство [3] и заявляемое устройство вырождаются в устройство [1]. Сравним объем оборудования прототипа и заявляемого устройства при r = 2. The case r = 1 is not of interest: in this case, both the device [3] and the claimed device degenerate into the device [1]. Compare the volume of equipment of the prototype and the claimed device with r = 2.
В устройство вводится следующее дополнительное оборудование: 4-разрядный регистр 6, блок сравнения двух 4-разрядных кодов 7, селектор 4-разрядного кода 8, 2-разрядный счетчик 9, 4-разрядный коммутатор на два входа 10, одноразрядный коммутатор на два входа 11, два элемента И 12 и 13, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 14, элемент ИЛИ-НЕ 15. The following additional equipment is introduced into the device: 4-
В то же время разрядность сдвигового регистра 1 уменьшается с 32 разрядов до 16 разрядов. Разрязность счетчика 4 уменьшается с 7 разрядов до 4. От схемы выделения маркера прототипа, содержащей один селектор кода на 17 входов (один вход - стробирующий), семь селекторов кода на 16 входов, схему ИЛИ на 7 входов, схему И на два входа, в заявляемом устройстве остается один селектор кода на 9 входов (один вход - стробирующий). At the same time, the width of the
Выразим разность объемов оборудования прототипа и заявляемого устройства в виде числа элементарных логических элементов И-НЕ. Инверсию сигналов на входах и выходах логических элементов учитывать не будем, так как она в основном используется в селекторах кода, число и разрядность которых в прототипе значительно больше, чем в заявляемом устройстве. Express the difference between the volumes of the equipment of the prototype and the claimed device in the form of the number of elementary logical elements AND NOT. The inversion of the signals at the inputs and outputs of the logic elements will not be taken into account, since it is mainly used in code selectors, the number and bit depth of which in the prototype is much larger than in the claimed device.
Введение счетчика 9 с учетом более сложной его организации примерно эквивалентно уменьшению разрядности счетчика 4. Введение 4-разрядного регистра 6 и уменьшение объема оборудования сдвигового регистра 1 на 16 триггеров дает в результате упрощение устройства на 12 D-триггеров, работающих по фронту, что эквивалентно 60 элементам И-НЕ на 2 входа и 12 элементам И-НЕ на 3 входа. The introduction of counter 9, taking into account its more complex organization, is approximately equivalent to a decrease in the capacity of
Блок сравнения 7 содержит 12 элементов И-НЕ на два входа и один на 4 входа. Селектор 8 содержит элемент И-НЕ на 4 входа. Коммутатор 10 содержит 12 элементов И-НЕ на 2 входа. Коммутатор 11 содержит 3 элемента И-НЕ на 2 входа. Элементы 12 и 13 могут быть реализованы с помощью элементов И-НЕ соответственно на 2 и 3 входа. Элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 14 может быть реализован с помощью 3 элементов И-НЕ на два входа. Элемент ИЛИ-НЕ 15 может быть реализован с помощью элемента И-НЕ на 3 входа. В итоге дополнительно введенные блоки (за исключением блоков 4 и 9) усложняют заявляемое устройство на 31 элемент И-НЕ на два входа, 2 элемента на 3 входа, 2 элемента на 4 входа. Comparison unit 7 contains 12 AND-NOT elements for two inputs and one for 4 inputs.
За счет сокращения схемы обнаружения маркеров прототипа устройство упрощается примерно на 8 элементов И-НЕ на 16 входов. By reducing the prototype marker detection circuitry, the device is simplified by about 8 NAND elements on 16 inputs.
Таким образом при обработке заголовка блока данных, приведенного в примере, и r=2 заявляемое устройство упрощается примерно на 29 элементов И-НЕ на 2 входа, 10 элементов И-НЕ на 3 входа, 6 элементов И-НЕ на 16 входов. При увеличении r упрощение устройства по сравнению с прототипом будет значительно больше. Thus, when processing the header of the data block shown in the example, and r = 2, the claimed device is simplified by about 29 AND-NOT elements for 2 inputs, 10 AND-NOT elements for 3 inputs, 6 AND-NOT elements for 16 inputs. With increasing r, the simplification of the device compared to the prototype will be much greater.
Предусмотренное в устройстве использование для кодирования имен маркеров помехоустойчивого кода таким образом, что канкатенация любых r соседних маркеров является словом помехоустойчивого кода, позволяет минимизировать вероятность неверного обнаружения начала блока данных в случае поражения ошибками имен маркеров. The use of an error-correcting code for encoding marker names in the device in such a way that the clanking of any r neighboring markers is a word of the error-correcting code minimizes the likelihood of incorrect detection of the beginning of a data block in the event of a marker name error.
Вышеописанное кодирование может быть использовано в случае применения любого канального кода, имеющего слова постоянной длины. The above encoding can be used in the case of using any channel code having words of constant length.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5022512 RU2024966C1 (en) | 1991-07-02 | 1991-07-02 | Device for determining start point of data block in external memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5022512 RU2024966C1 (en) | 1991-07-02 | 1991-07-02 | Device for determining start point of data block in external memory |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2024966C1 true RU2024966C1 (en) | 1994-12-15 |
Family
ID=21594582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5022512 RU2024966C1 (en) | 1991-07-02 | 1991-07-02 | Device for determining start point of data block in external memory |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2024966C1 (en) |
-
1991
- 1991-07-02 RU SU5022512 patent/RU2024966C1/en active
Non-Patent Citations (3)
Title |
---|
1. Патент США N 4081844, кл. G 11B 5/09, опублик. 1978. * |
2. Авторское свидетельство СССР N 1092510, кл. G 06F 11/12, 1984. * |
3. Патент США N 4862443, кл. H 04L 7/06, G 11B 5/09, опублик. 1989. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3760355A (en) | Digital pattern detector | |
US4498174A (en) | Parallel cyclic redundancy checking circuit | |
US6337893B1 (en) | Non-power-of-two grey-code counter system having binary incrementer with counts distributed with bilateral symmetry | |
US4454600A (en) | Parallel cyclic redundancy checking circuit | |
US3235855A (en) | Binary magnetic recording apparatus | |
US6810468B2 (en) | Asynchronous FIFO circuit and method of reading and writing data through asynchronous FIFO circuit | |
US6745265B1 (en) | Method and apparatus for generating status flags in a memory device | |
US5274647A (en) | Elastic buffer with error detection using a hamming distance circuit | |
JP4417807B2 (en) | Elastic buffer | |
RU2024966C1 (en) | Device for determining start point of data block in external memory | |
US6904116B2 (en) | Shift register | |
US4551773A (en) | Encoding and decoding apparatus and method utilizing hierarchical code substitution | |
RU2658147C1 (en) | Data decompression device | |
US4044329A (en) | Variable cyclic redundancy character detector | |
US3988580A (en) | Storage of information | |
US4246569A (en) | Digital recognition circuits | |
EP0383260B1 (en) | Elastic buffer circuit | |
SU1401631A2 (en) | Cyclic code end-of-block detecting device | |
RU2195702C2 (en) | Image identifying device | |
KR910006791B1 (en) | First in first out circuit | |
SU656107A2 (en) | Digital information shifting device | |
RU1777245C (en) | Error detector for digital data transmission channel | |
JP3225824B2 (en) | N parallel continuous count discrimination circuit | |
KR900001066Y1 (en) | Erase signal count circuits of decoder circuits for error correction | |
SU1116426A1 (en) | Device for searching numbers in given range |