WO2017215030A1 - Storage device having search function, and search method thereof - Google Patents

Storage device having search function, and search method thereof Download PDF

Info

Publication number
WO2017215030A1
WO2017215030A1 PCT/CN2016/087387 CN2016087387W WO2017215030A1 WO 2017215030 A1 WO2017215030 A1 WO 2017215030A1 CN 2016087387 W CN2016087387 W CN 2016087387W WO 2017215030 A1 WO2017215030 A1 WO 2017215030A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
data
query
memory
analyzer
Prior art date
Application number
PCT/CN2016/087387
Other languages
French (fr)
Chinese (zh)
Inventor
庞浩学
Original Assignee
庞浩学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 庞浩学 filed Critical 庞浩学
Publication of WO2017215030A1 publication Critical patent/WO2017215030A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present invention relates to the field of integrated circuit technologies, and in particular, to a memory with a query function and a query method thereof.
  • the memory chip is a single storage function, and a read command is issued to the memory through a computer. After the computer receives the returned data, the processor processes the data accordingly.
  • a plurality of memories are generally used.
  • the form of the array expands the storage size, but the disadvantage is that the query speed cannot keep up with the expansion speed of the storage scale.
  • Data query technology The hardware mainly consists of a storage system and a computing system, and relies on database software or a distributed system infrastructure such as hadoop to implement data query. This kind of system has a very slow query speed under the PB level big data condition, and it is difficult to meet the requirements of real-time query. And as the amount of data grows, it will be difficult to cope with the future EB-level data volume and even higher levels of data.
  • a high-speed memory is disclosed in Chinese Patent No. 201310591511.0, which includes: a charging circuit, a lithium battery, a low leakage storage circuit and a read/write control circuit; the charging circuit is connected between the power source and the lithium battery, For charging the lithium battery; when the power is turned off, cutting off a leakage path of the battery; the read/write control circuit is connected to a power source and a low leakage storage circuit, when the power is turned on, a read or write operation of the low leakage storage circuit; the lithium battery, when the power is turned off, is used to supply power to the low leakage storage circuit, the low leakage storage circuit maintaining stored information.
  • the scheme in this reference can reduce the write operation time of the memory and increase the reading speed.
  • the data in the memory can still be read one by one, and then the processor judges whether the data satisfies the query condition, and the query speed of the whole system is very slow.
  • the technical problem to be solved by the present invention is to provide a memory with query function for fast and real-time querying of data and an inquiry method thereof by using an embedded data query analyzer for the defect of slow query speed in the prior art.
  • the invention provides a memory with query function, including an instruction decoder, a controller, and an address
  • the instruction decoder is configured to decode the received instruction and generate a control signal
  • the controller is configured to control the generation of the first address, the incrementing, decrementing, resetting, and maintaining of the address according to the result of the instruction decoding;
  • the address generation and decoder is configured to generate a start address used by the query, and perform address decoding to obtain an address signal;
  • the memory group includes a plurality of memories connected in parallel with each other;
  • the query analyzer group includes a query analyzer corresponding to the memory one by one, each query analyzer obtains a control signal from the instruction decoder through the instruction bus, and obtains an address signal from the address generation and the decoder through the address bus, according to The address signal and the control signal mark, query, classify and read the data in the corresponding memory, and output the query result through the data output bus.
  • the query analyzer of the present invention includes a relationship analyzer, a type analyzer, and a plurality of registers;
  • the type analyzer is configured to analyze the type of data output from the memory, output the data to a register or a relationship analyzer, and output the type analysis result to the relationship analyzer;
  • the relationship analyzer is configured to perform data relationship analysis with the data outputted from the memory according to the immediate value in the instruction, and determine whether to output the data.
  • the query analyzer of the present invention further includes a first memory for storing a result of analyzing the data by the relationship analyzer according to the control instruction.
  • the register of the present invention includes a first register, a second register, and a register file
  • a first register is disposed between the first memory and the relationship analyzer for registering data output from the first memory
  • the second register is connected to the relationship analyzer for registering whether data in the first memory has valid data
  • the register file is placed between the type analyzer and the relational analyzer to store the collection data.
  • the invention provides a query method for a memory with query function, comprising the following steps:
  • the instruction decoder performs instruction decoding on the instruction to obtain a control signal
  • the controller controls the address generation according to the control signal, and the decoder generates the first address and performs address decoding to obtain an address signal, and the memory outputs the data at the address;
  • the query analyzer performs a label scan, a query scan, a classification scan, and a read operation on the data output from the memory according to the control signal;
  • step S2 of the present invention includes:
  • Step 2 If the data type is data, output A2 to the relationship analyzer;
  • Step 3 The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 4 If the data type is a set address and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
  • Step 5 If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
  • Step 6 the controller increments the address by 1, and continues to perform the marking process of steps 1-5;
  • Step 7 The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
  • step S2 of the present invention includes:
  • the data of the address in a memory is output to the input end of the second register, and the second register records the data on the next clock edge, and the second register remains the original value before the clock edge arrives;
  • Step 2 If the data type is data, output A2 directly to the relationship analyzer;
  • the register file outputs data C corresponding to the address to the relationship analyzer
  • Step 3 The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 4 If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
  • Step 5 The controller increments the address by 1, and the query analyzer performs a query process.
  • Step 6 The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
  • step S2 of the present invention includes:
  • Step 1 setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
  • Step 2 If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
  • Step 4 The controller reduces the address by 1, and the query analyzer performs a classification process.
  • Step 5 The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
  • step S2 of the present invention includes:
  • Step 1 The controller acquires a control instruction and performs a label scanning process
  • Step 2 The controller controls the address generator to generate an address and a chip select signal
  • Step 3 The query analyzer reads the data of the memory in the address, and if the register outputs the flag bit If it is valid, the data is output.
  • the invention has the beneficial effects that the inquiry function memory of the invention divides the memory into a plurality of groups within the integrated circuit, and each memory is provided with a query analyzer, and the data inside the memory is queried, which is greatly improved.
  • FIG. 1 is a schematic structural diagram of a memory with a query function according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a query analyzer of a memory having a query function according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a method for querying a memory with a query function according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a query analyzer for removing a register file of a memory having a query function according to an embodiment of the present invention.
  • the query function memory of the embodiment of the present invention includes an instruction decoder, a controller, an address generation and decoder, a memory group and a query analyzer group, wherein:
  • An instruction decoder for decoding the received instruction and generating a control signal
  • a controller configured to control the generation of the first address, the increment, decrement, reset, and hold of the address according to the result of the instruction decoding
  • An address generation and decoder for generating a start address used by the query, and performing address decoding to obtain an address signal
  • a memory bank comprising a plurality of memories connected in parallel with each other;
  • Query analyzer group including a query analyzer corresponding to the memory one by one, each query analyzer through The instruction bus obtains the control signal from the instruction decoder, obtains the address signal from the address generation and the decoder through the address bus, and marks, queries, classifies, and reads the data in the corresponding memory according to the address signal and the control signal. Operate and output the query results through the data output bus.
  • the Query Analyzer includes a relationship analyzer, a type analyzer, and a plurality of registers;
  • the type analyzer is used to analyze the type of data output from the memory, output the data to a register or a relational analyzer, and output the type analysis result to the relational analyzer; the relational analyzer is used to output the data with the memory according to the immediate value in the instruction. Perform data relationship analysis and determine whether to output data.
  • the Query Analyzer also includes a first memory for storing results of the analysis of the data by the relationship analyzer based on the control instructions.
  • the register includes a first register, a second register, and a register file; the first register is disposed between the first memory and the relationship analyzer for registering data output from the first memory; and the second register is coupled to the relationship analyzer for The data in the first memory is registered to have valid data; the register file is disposed between the type analyzer and the relationship analyzer for storing the aggregate data.
  • the memory S is a memory in the memory bank
  • the register file is the register file Rc
  • the first memory is the memory Ra
  • the first register is the register Rr
  • the second register is the register Rin.
  • the instructions include: an opcode OC, a relationship code OP, an immediate B1, and an immediate B2.
  • the opcode OC is decoded to obtain a control signal CMD.
  • the control signal CMD represents a different operation
  • the relationship code OP represents eight comparison relationships of the relationship analyzer
  • B1 and B2 are values for comparing data in the memory.
  • each module The functions of each module are:
  • the storage capacity of one memory S is not limited.
  • the capacity is n*m bits (n is the number of bytes in the memory S, and m is the word length.)
  • A1 word length is not limited.
  • the A1 word length can be 2 bits, 3 bits, and the like.
  • the A2 word length can be 8 bits, 16 bits, and so on.
  • the word length of DataA is equal to the A1 word length plus the A2 word length.
  • the DataA word is 20 bits long.
  • Rr Registers the data output from the memory Ra.
  • the update of the Rr value is the clock edge at the end of a query analysis. This means that the value in Rr is always the value of Ra in the previous address. When the address is the starting address. Rr is the default value of 0.
  • the current address is 00101.
  • the output of Ra is data 0 in Ra pointed to by address 00101.
  • the data in Rr at this time is data 1 in Ra pointed to by address 00100.
  • the address is decremented from the maximum value.
  • A1 null, data start address, set address, data end address, number, character, outreach, and nothing.
  • the five types of which are null, data start address, data end address, outreach, and irrelevant are used in the external device regardless of the circuit.
  • Function Store collection data. That is, data indicating which classification the data record belongs to is stored.
  • the query method of the query function memory includes the following steps:
  • the instruction decoder performs instruction decoding on the instruction to obtain a control signal
  • the controller controls the address generation according to the control signal, and the decoder generates the first address and performs address translation. Code, get the address signal, and the memory outputs the data at the address;
  • the query analyzer performs a label scan, a query scan, a classification scan, and a read operation on the data output from the memory according to the control signal;
  • the specific method of marking scanning in step S2 includes:
  • Step 2 If the data type is data, output A2 to the relationship analyzer;
  • Step 3 The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 4 If the data type is a set address and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
  • Step 5 If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
  • Step 6 the controller increments the address by 1, and continues to perform the marking process of steps 1-5;
  • Step 7 The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
  • the specific method for querying scanning in step S2 includes:
  • the address data is output to the input of the second register, and the second register records the data on the next clock edge, and the second register remains at the original value before the clock edge arrives;
  • Step 2 If the data type is data, output A2 directly to the relationship analyzer;
  • the register file outputs data C corresponding to the address to the relationship analyzer
  • Step 3 The relationship analyzer analyzes the relationship between A2 or C and the immediate B1 in the instruction, and determines the two. Whether the relationship is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 4 If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
  • Step 5 The controller increments the address by 1, and the query analyzer performs a query process.
  • Step 6 The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
  • the specific method of the classification scan in step S2 includes:
  • Step 1 setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
  • Step 2 If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
  • Step 4 The controller reduces the address by 1, and the query analyzer performs a classification process.
  • Step 5 The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
  • step S2 The specific method for reading in step S2 includes:
  • Step 1 The controller acquires a control instruction and performs a label scanning process
  • Step 2 The controller controls the address generator to generate an address and a chip select signal
  • Step 3 The Query Analyzer reads the data of the memory in the address, and if the register output flag bit is valid, the data is output.
  • the memory S is a memory in the memory bank
  • the register file is the register file Rc
  • the first memory is the memory Ra
  • the first register is the register Rr
  • the second register is the register Rin.
  • the controller consists of a controller, an address generator, an address decoder, three memories (A0, A1, A2) and three query analyzers (E0, E1, E2).
  • Each memory has a storage capacity of 16*11 bits and a memory address range of 0000 to 1111.
  • DataA ⁇ A1, A2 ⁇ . Among them, A1 is 3 bits, A2 is 8 bits, and DataA is 11 bits. Record the data type with A1 and record the data value with A2.
  • the starting address is 00000.
  • the register file Rc outputs the data of the address and outputs it to the relational analyzer.
  • the address is incremented by 1, and the above process is performed. Until the address increases to the maximum.
  • the output data type is 010, which is the aggregate address.
  • Set Ra[0] 0.
  • the query command is executed: 00100 010 01000010 (01000010 is the ASCii code of the character "B"), wherein Ra changes as shown in the following table. Ra that is not listed is 0.
  • the query instruction is executed: 00100 010 00100000 (00100000 is a space for the ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
  • the address generator generates the maximum address 11111
  • the relationship analyzer analyzes the second two values of A2 as the address and outputs it to the Rc address input.
  • S0_Rc output data is 0001
  • S1_Rc output data is 0001
  • the instruction execution process is the same as [1], but the immediate value is 00000011.
  • the instruction execution process is the same as [3], but the immediate value is 00000011 00000100.
  • a start address 00000 and a chip select signal are generated.
  • Ra of S0 is 1, the data S0_A1, S0_A2 is output to the output bus.
  • Ra 0 makes the output high impedance. As the address is incremented, the data is read out in sequence.
  • the register file Rc is removed from the Query Analyzer.
  • the specific method of marking scanning in step S2 includes:
  • Step 1 The controller controls the address generator to generate a start address, and the read memory is in the address.
  • Step 2 The relationship analyzer analyzes the relationship between A2 and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 3 If the data type is a set and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
  • Step 4 If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
  • Step 5 The controller increments the address by 1, and continues to perform the marking process of steps 1-4;
  • Step 6 The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
  • the specific method for querying scanning in step S2 includes:
  • the data of the address is output to the input of the second register, and the second register records the data on the next clock edge, and the second register remains the original value before the clock edge arrives;
  • Step 2 The relationship analyzer analyzes the relationship between A2 and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
  • Step 3 If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
  • Step 4 The controller increments the address by 1, and the query analyzer performs a query process.
  • Step 5 The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
  • the specific method of the classification scan in step S2 includes:
  • Step 1 setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
  • Step 2 If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
  • Step 3 If the data type is a set, set the second register to be invalid, and set the memory to be The value at the previous address is B2, which is the immediate number passed in the instruction;
  • Step 4 The controller reduces the address by 1, and the query analyzer performs a classification process.
  • Step 5 The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
  • step S2 The specific method for reading in step S2 includes:
  • Step 1 The controller acquires a control instruction and performs a label scanning process
  • Step 2 The controller controls the address generator to generate an address and a chip select signal
  • Step 3 The Query Analyzer reads the data of the memory in the address, and if the register output flag bit is valid, the data is output.
  • the memory S is a memory in the memory group, the first memory is the memory Ra, the first register is the register Rr, and the second register is the register Rin.
  • the controller consists of a controller, an address generator, an address decoder, three memories (A0, A1, A2) and three query analyzers (E0, E1, E2).
  • Each memory has a storage capacity of 16*11 bits and a memory address range of 0000 to 1111.
  • DataA ⁇ A1, A2 ⁇ . Among them, A1 is 3 bits, A2 is 8 bits, and DataA is 11 bits. Record the data type with A1 and record the data value with A2.
  • the starting address is 00000.
  • the address is incremented by 1, and the above process is performed. Until the address increases to the maximum.
  • the output data type is 010 is a collection.
  • Set Ra[0] 0.
  • the query command is executed: 00100 010 01000010 (01000010 is the ASCii code of the character "B"), wherein Ra changes as shown in the following table. Ra that is not listed is 0.
  • the query instruction is executed: 00100 010 00100000 (00100000 is a space for the ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
  • the address generator generates the maximum address 11111
  • the instruction execution process is the same as [1], but the immediate value is 00000011.
  • the instruction execution process is the same as [3], but the immediate value is 00000011 00000001.
  • a start address 00000 and a chip select signal are generated.
  • Ra of S0 is 1, the data S0_A1, S0_A2 is output to the output bus.
  • Ra 0 makes the output high impedance. As the address is incremented, the data is read out in sequence.

Abstract

Provided are a storage device having a search function, and a search method thereof; the storage device comprises an instruction decoder, a controller, an address generator and decoder, a storage-device set, and a search analyzer set, wherein: the instruction decoder is used for instruction-decoding a received instruction and producing a control signal; the controller is used for controlling the generation of a first address, and the increment, decrement, reset, and hold of the address; the address generator and decoder is used for producing an initial address used for searching, and decoding the address to obtain an address signal; the search analyzer set comprises search analyzers in a one-to-one correspondence with the storage device; according to the address signal and the control signal, label, search, categorize, and read operations are performed on the data in the corresponding storage device, and a search result is outputted. The time of usage of the described storage device and search method thereof does not increase with an increase in the amount of data; the data search speed is significantly increased in big-data situations, and search speed is not affected by hardware or system read/write bottlenecks.

Description

一种有查询功能的存储器及其查询方法Memory with query function and query method thereof 技术领域Technical field
本发明涉及集成电路技术领域,尤其涉及一种有查询功能的存储器及其查询方法。The present invention relates to the field of integrated circuit technologies, and in particular, to a memory with a query function and a query method thereof.
背景技术Background technique
现有技术中存储芯片为单一存储功能,通过计算机向存储器发出读取命令,计算机收到返回的数据后,由处理器对数据进行相应处理,针对大规模的数据存储时,一般采用多个存储器组成阵列的形式扩大存储规模,但是缺点就是查询速度不能够跟上存储规模的扩展速度。In the prior art, the memory chip is a single storage function, and a read command is issued to the memory through a computer. After the computer receives the returned data, the processor processes the data accordingly. For large-scale data storage, a plurality of memories are generally used. The form of the array expands the storage size, but the disadvantage is that the query speed cannot keep up with the expansion speed of the storage scale.
数据查询技术方面:硬件主要有存储系统和计算系统组成,依托数据库软件或hadoop等分布式系统基础架构实现数据查询。这种系统在PB级大数据条件下查询速度很慢,很难满足实时查询的要求。并且随着数据量的增长在未来EB级数据量甚至更高级别的数据量条件下将难以应对。Data query technology: The hardware mainly consists of a storage system and a computing system, and relies on database software or a distributed system infrastructure such as hadoop to implement data query. This kind of system has a very slow query speed under the PB level big data condition, and it is difficult to meet the requirements of real-time query. And as the amount of data grows, it will be difficult to cope with the future EB-level data volume and even higher levels of data.
在中国发明专利201310591511.0中公开了一种高速存储器,该高速存储器包括:充电电路,锂电池,低漏电储存电路和读/写控制电路;所述充电电路连接于电源与所述锂电池之间,用于为所述锂电池充电;当所述电源断开时,切断所述电池的漏电通路;所述读/写控制电路连接于电源和低漏电储存电路,当所述电源导通时,用于低漏电储存电路的读或写操作;所述锂电池,当所述电源断开时,用于为所述低漏电储存电路供电,所述低漏电储存电路保持存储信息。本对比文献中的方案虽然能够减小存储器的写操作时间,提高读取速度。但是对于大规模数据中,要实现对数据的查询,仍然只能对存储器内的数据逐个的读取,然后由处理器判断该数据是否满足查询条件,整个系统的查询速度很慢。 A high-speed memory is disclosed in Chinese Patent No. 201310591511.0, which includes: a charging circuit, a lithium battery, a low leakage storage circuit and a read/write control circuit; the charging circuit is connected between the power source and the lithium battery, For charging the lithium battery; when the power is turned off, cutting off a leakage path of the battery; the read/write control circuit is connected to a power source and a low leakage storage circuit, when the power is turned on, a read or write operation of the low leakage storage circuit; the lithium battery, when the power is turned off, is used to supply power to the low leakage storage circuit, the low leakage storage circuit maintaining stored information. Although the scheme in this reference can reduce the write operation time of the memory and increase the reading speed. However, for large-scale data, in order to realize the query of the data, the data in the memory can still be read one by one, and then the processor judges whether the data satisfies the query condition, and the query speed of the whole system is very slow.
发明内容Summary of the invention
本发明要解决的技术问题在于针对现有技术中查询速度慢的缺陷,提供一种通过内嵌数据查询分析器,实现对数据进行快速、实时查询的有查询功能的存储器及其查询方法。The technical problem to be solved by the present invention is to provide a memory with query function for fast and real-time querying of data and an inquiry method thereof by using an embedded data query analyzer for the defect of slow query speed in the prior art.
本发明解决其技术问题所采用的技术方案是:The technical solution adopted by the present invention to solve the technical problem thereof is:
本发明提供一种有查询功能的存储器,包括指令译码器、控制器、地址发The invention provides a memory with query function, including an instruction decoder, a controller, and an address
生及译码器、存储器组和查询分析器组,其中:Health and decoder, memory bank and Query Analyzer group, where:
所述指令译码器,用于将接收到的指令进行指令译码,并产生控制信号;The instruction decoder is configured to decode the received instruction and generate a control signal;
所述控制器,用于根据指令译码的结果,控制首地址的产生,地址的递增、递减、复位和保持;The controller is configured to control the generation of the first address, the incrementing, decrementing, resetting, and maintaining of the address according to the result of the instruction decoding;
所述地址发生及译码器,用于产生查询使用的起始地址,并进行地址译码,得到地址信号;The address generation and decoder is configured to generate a start address used by the query, and perform address decoding to obtain an address signal;
所述存储器组,包括多个相互并联的存储器;The memory group includes a plurality of memories connected in parallel with each other;
所述查询分析器组,包括与存储器一一对应的查询分析器,每个查询分析器通过指令总线从指令译码器获得控制信号,通过地址总线从地址发生及译码器获得地址信号,根据地址信号和控制信号,对其对应的存储器中的数据进行标记、查询、分类和读取操作,并通过数据输出总线输出查询结果。The query analyzer group includes a query analyzer corresponding to the memory one by one, each query analyzer obtains a control signal from the instruction decoder through the instruction bus, and obtains an address signal from the address generation and the decoder through the address bus, according to The address signal and the control signal mark, query, classify and read the data in the corresponding memory, and output the query result through the data output bus.
进一步地,本发明的所述查询分析器包括关系分析器、类型分析器和多个寄存器;Further, the query analyzer of the present invention includes a relationship analyzer, a type analyzer, and a plurality of registers;
类型分析器用于分析从存储器输出的数据类型,将数据输出到寄存器或关系分析器中,同时将类型分析结果输出给关系分析器;The type analyzer is configured to analyze the type of data output from the memory, output the data to a register or a relationship analyzer, and output the type analysis result to the relationship analyzer;
关系分析器用于根据指令中的立即数,与存储器输出的数据进行数据关系分析,并判断是否输出数据。The relationship analyzer is configured to perform data relationship analysis with the data outputted from the memory according to the immediate value in the instruction, and determine whether to output the data.
进一步地,本发明的所述查询分析器还包括第一存储器,用于存储关系分析器根据控制指令对数据分析的结果。Further, the query analyzer of the present invention further includes a first memory for storing a result of analyzing the data by the relationship analyzer according to the control instruction.
进一步地,本发明的所述寄存器包括第一寄存器、第二寄存器和寄存器堆;Further, the register of the present invention includes a first register, a second register, and a register file;
第一寄存器设置在第一存储器与关系分析器之间,用于寄存从第一存储器输出的数据; a first register is disposed between the first memory and the relationship analyzer for registering data output from the first memory;
第二寄存器与关系分析器相连,用于寄存第一存储器中的数据是否存在有效数据;The second register is connected to the relationship analyzer for registering whether data in the first memory has valid data;
寄存器堆设置在类型分析器和关系分析器之间,用于存储集合数据。The register file is placed between the type analyzer and the relational analyzer to store the collection data.
本发明提供一种有查询功能的存储器的查询方法,包括以下步骤:The invention provides a query method for a memory with query function, comprising the following steps:
S1、指令译码器对指令进行指令译码,得到控制信号;S1, the instruction decoder performs instruction decoding on the instruction to obtain a control signal;
S2、控制器依据控制信号控制地址发生及译码器产生首地址并进行地址译码,得到地址信号,存储器输出该地址处的数据;S2, the controller controls the address generation according to the control signal, and the decoder generates the first address and performs address decoding to obtain an address signal, and the memory outputs the data at the address;
S3、查询分析器根据控制信号,对从存储器中输出的数据进行标记扫描、查询扫描、分类扫描和读取的操作;S3. The query analyzer performs a label scan, a query scan, a classification scan, and a read operation on the data output from the memory according to the control signal;
S4、通过数据输出总线对查询结果进行输出。S4, outputting the query result through the data output bus.
进一步地,本发明的步骤S2中标记扫描的具体方法包括:Further, the specific method for marking scanning in step S2 of the present invention includes:
步骤1、控制器控制地址发生器产生起始地址,读取存储器在该地址内的数据DataA={A1,A2},存储器的一个输出端输出数据DataA到类型分析器;Step 1, the controller controls the address generator to generate a starting address, reads the data in the address in the memory DataA={A1, A2}, and outputs an output DataA to the type analyzer;
步骤2、如果数据类型是数据,则将A2输出到关系分析器;Step 2. If the data type is data, output A2 to the relationship analyzer;
如果数据类型是地址,则将A2作为地址输入到寄存器堆的地址输入端,寄存器堆输出该地址对应的数据C到关系分析器;If the data type is an address, input A2 as an address to the address input end of the register file, and the register file outputs the data C corresponding to the address to the relationship analyzer;
步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3: The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
步骤4、如果数据类型是集合地址,且关系一致,设置第二寄存器为有效,同时在当前地址对第一存储器写入有效信号;Step 4: If the data type is a set address and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
步骤5、如果数据类型是数据,且第二寄存器为有效,则在当前地址对第一存储器写入有效信号;Step 5. If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
步骤6、控制器使地址增1,继续执行步骤1-5的标记过程;Step 6, the controller increments the address by 1, and continues to perform the marking process of steps 1-5;
步骤7、地址继续增1,直到增大到地址最大值;地址每增1,查询分析器执行一次标记过程。Step 7. The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
进一步地,本发明的步骤S2中查询扫描的具体方法包括:Further, the specific method for querying scanning in step S2 of the present invention includes:
步骤1、控制器控制地址发生器产生地址,读取存储器在该地址内的数据DataA={A1,A2},在存储器的一个输出端输出数据到类型分析器;同时读取第 一存储器内该地址的数据,输出到第二寄存器的输入端,第二寄存器会在下一个时钟边沿记录此数据,在时钟边沿到来之前第二寄存器仍然保持原值;Step 1, the controller controls the address generator to generate an address, reads the data in the address of the memory DataA={A1, A2}, and outputs the data to the type analyzer at an output end of the memory; The data of the address in a memory is output to the input end of the second register, and the second register records the data on the next clock edge, and the second register remains the original value before the clock edge arrives;
步骤2、如果数据类型是数据,则将A2直接输出到关系分析器;Step 2. If the data type is data, output A2 directly to the relationship analyzer;
如果数据类型是集合地址,则寄存器堆输出对应地址的数据C到关系分析器;If the data type is a collection address, the register file outputs data C corresponding to the address to the relationship analyzer;
步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3: The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
步骤4、如果数据类型是数据,且关系一致,且第二寄存器为有效,则在当前地址处对第一存储器写入有效信号;Step 4: If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
步骤5、控制器使地址增1,查询分析器执行一次查询过程;Step 5: The controller increments the address by 1, and the query analyzer performs a query process.
步骤6、地址继续增1,直到增大到地址最大值;每增1,查询分析器执行一次查询过程。Step 6. The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
进一步地,本发明的步骤S2中分类扫描的具体方法包括:Further, the specific method for classifying scanning in step S2 of the present invention includes:
步骤1、设置第二寄存器为无效,控制器控制地址发生器产生地址最大值,读取第一存储器内该地址的数据;Step 1, setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
步骤2、如果数据类型为数据,且如果第二寄存器为无效则把存储器Ra值写入第二寄存器,如果第二寄存器为有效则保持第二寄存器原值;Step 2. If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
步骤3、如果数据类型为地址,则置第二寄存器为无效,同时读出A2到寄存器堆的地址输入端,A2为存储器在该地址内的数据DataA={A1,A2}的数据值,选通该地址对应的寄存器组,设置寄存器堆的值为B2,B2是指令中传递的立即数;Step 3. If the data type is an address, the second register is invalid, and A2 is read out to the address input end of the register file, and A2 is the data value of the data DataA={A1, A2} in the memory. Passing the register group corresponding to the address, setting the value of the register file to B2, and B2 is the immediate number passed in the instruction;
步骤4、控制器使地址减1,查询分析器执行一次分类过程;Step 4: The controller reduces the address by 1, and the query analyzer performs a classification process.
步骤5、地址继续减1,直到减小到地址最小值;每减1,查询分析器执行一次分类过程。Step 5. The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
进一步地,本发明的步骤S2中进行读取的具体方法包括:Further, the specific method for performing reading in step S2 of the present invention includes:
步骤1、控制器获取控制指令,并执行标记扫描过程;Step 1. The controller acquires a control instruction and performs a label scanning process;
步骤2、控制器控制地址发生器产生地址和片选信号;Step 2: The controller controls the address generator to generate an address and a chip select signal;
步骤3、查询分析器读取存储器在该地址内的数据,若寄存器输出标记位 为有效,则输出该数据。Step 3: The query analyzer reads the data of the memory in the address, and if the register outputs the flag bit If it is valid, the data is output.
本发明产生的有益效果是:本发明的有查询功能的存储器,通过在集成电路内部将存储器分成多组,每个存储器都设置有查询分析器,对该存储器内部的数据进行查询,大幅的提高了数据查询速度;该存储器通过在存储器内部增加数据查询的功能模块,查询用时不会随数据量的增加而增加,在大数据情况下能够显著的增加数据查询速度,不受硬件系统读写瓶颈对查询速度的影响。The invention has the beneficial effects that the inquiry function memory of the invention divides the memory into a plurality of groups within the integrated circuit, and each memory is provided with a query analyzer, and the data inside the memory is queried, which is greatly improved. The data query speed; the memory increases the data query function module inside the memory, the query time does not increase with the increase of the data amount, and the data query speed can be significantly increased in the case of big data, and is not subject to the hardware system read and write bottleneck The impact on query speed.
附图说明DRAWINGS
下面将结合附图及实施例对本发明作进一步说明,附图中:The present invention will be further described below in conjunction with the accompanying drawings and embodiments, in which:
图1是本发明实施例的有查询功能的存储器的结构示意图;1 is a schematic structural diagram of a memory with a query function according to an embodiment of the present invention;
图2是本发明实施例的有查询功能的存储器的查询分析器的结构示意图;2 is a schematic structural diagram of a query analyzer of a memory having a query function according to an embodiment of the present invention;
图3是本发明实施例的有查询功能的存储器的查询方法的流程图;3 is a flowchart of a method for querying a memory with a query function according to an embodiment of the present invention;
图4是本发明实施例的有查询功能的存储器的去掉寄存器堆的查询分析器的结构示意图。4 is a schematic structural diagram of a query analyzer for removing a register file of a memory having a query function according to an embodiment of the present invention.
具体实施方式detailed description
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
如图1所示,本发明实施例的有查询功能的存储器,包括指令译码器、控制器、地址发生及译码器、存储器组和查询分析器组,其中:As shown in FIG. 1, the query function memory of the embodiment of the present invention includes an instruction decoder, a controller, an address generation and decoder, a memory group and a query analyzer group, wherein:
指令译码器,用于将接收到的指令进行指令译码,并产生控制信号;An instruction decoder for decoding the received instruction and generating a control signal;
控制器,用于根据指令译码的结果,控制首地址的产生,地址的递增、递减、复位和保持;a controller, configured to control the generation of the first address, the increment, decrement, reset, and hold of the address according to the result of the instruction decoding;
地址发生及译码器,用于产生查询使用的起始地址,并进行地址译码,得到地址信号;An address generation and decoder for generating a start address used by the query, and performing address decoding to obtain an address signal;
存储器组,包括多个相互并联的存储器;a memory bank comprising a plurality of memories connected in parallel with each other;
查询分析器组,包括与存储器一一对应的查询分析器,每个查询分析器通 过指令总线从指令译码器获得控制信号,通过地址总线从地址发生及译码器获得地址信号,根据地址信号和控制信号,对其对应的存储器中的数据进行标记、查询、分类和读取操作,并通过数据输出总线输出查询结果。Query analyzer group, including a query analyzer corresponding to the memory one by one, each query analyzer through The instruction bus obtains the control signal from the instruction decoder, obtains the address signal from the address generation and the decoder through the address bus, and marks, queries, classifies, and reads the data in the corresponding memory according to the address signal and the control signal. Operate and output the query results through the data output bus.
如图2所示,查询分析器包括关系分析器、类型分析器和多个寄存器;As shown in FIG. 2, the Query Analyzer includes a relationship analyzer, a type analyzer, and a plurality of registers;
类型分析器用于分析从存储器输出的数据类型,将数据输出到寄存器或关系分析器中,同时将类型分析结果输出给关系分析器;关系分析器用于根据指令中的立即数,与存储器输出的数据进行数据关系分析,并判断是否输出数据。The type analyzer is used to analyze the type of data output from the memory, output the data to a register or a relational analyzer, and output the type analysis result to the relational analyzer; the relational analyzer is used to output the data with the memory according to the immediate value in the instruction. Perform data relationship analysis and determine whether to output data.
查询分析器还包括第一存储器,用于存储关系分析器根据控制指令对数据分析的结果。The Query Analyzer also includes a first memory for storing results of the analysis of the data by the relationship analyzer based on the control instructions.
寄存器包括第一寄存器、第二寄存器和寄存器堆;第一寄存器设置在第一存储器与关系分析器之间,用于寄存从第一存储器输出的数据;第二寄存器与关系分析器相连,用于寄存第一存储器中的数据是否存在有效数据;寄存器堆设置在类型分析器和关系分析器之间,用于存储集合数据。The register includes a first register, a second register, and a register file; the first register is disposed between the first memory and the relationship analyzer for registering data output from the first memory; and the second register is coupled to the relationship analyzer for The data in the first memory is registered to have valid data; the register file is disposed between the type analyzer and the relationship analyzer for storing the aggregate data.
在本发明的另一个具体实施例中,存储器S为存储器组中一个存储器,寄存器堆为寄存器堆Rc,第一存储器为存储器Ra,第一寄存器为寄存器Rr,第二寄存器为寄存器Rin。In another embodiment of the invention, the memory S is a memory in the memory bank, the register file is the register file Rc, the first memory is the memory Ra, the first register is the register Rr, and the second register is the register Rin.
指令包括:操作码OC、关系码OP、立即数B1和立即数B2。操作码OC经译码后得到控制信号CMD。控制信号CMD表示不同的操作,关系码OP表示关系分析器的8种比较关系,B1和B2是对存储器中数据进行比较的数值。The instructions include: an opcode OC, a relationship code OP, an immediate B1, and an immediate B2. The opcode OC is decoded to obtain a control signal CMD. The control signal CMD represents a different operation, the relationship code OP represents eight comparison relationships of the relationship analyzer, and B1 and B2 are values for comparing data in the memory.
各个模块的功能分别为:The functions of each module are:
一、存储器S:First, the memory S:
功能:用于存储数据及数据类型。Function: Used to store data and data types.
补充说明:一个存储器S的存储容量不限。容量为n*m位(n为存储器S内的字节数,m为字长。)Supplementary note: The storage capacity of one memory S is not limited. The capacity is n*m bits (n is the number of bytes in the memory S, and m is the word length.)
示例:存储的一个字节DataA={A1数据类型,A2数据}。A1,A2的字长不限。例如A1字长可以是2位,3位等。A2字长可以是8位,16位等。DataA的字长等于A1字长加上A2字长。Example: One byte stored DataA={A1 data type, A2 data}. A1, A2 word length is not limited. For example, the A1 word length can be 2 bits, 3 bits, and the like. The A2 word length can be 8 bits, 16 bits, and so on. The word length of DataA is equal to the A1 word length plus the A2 word length.
实例:DataA={10100111100}中A1=101字长为3位。A2=00111100字长 为8位。DataA字长为11位;Example: In DataA={10100111100}, A1=101 words are 3 bits long. A2=00111100 word length It is 8 digits. DataA word length is 11 digits;
DataA={01010000000000111100}中,A1=0101字长为4;In DataA={01010000000000111100}, A1=0101 word length is 4;
A2=0000000000111100字长为16位。DataA字长为20位。A2=0000000000111100 word length is 16 bits. The DataA word is 20 bits long.
二、存储器Ra:Second, the memory Ra:
功能:用于存储关系分析器依据当前指令对数据分析的结果。其结果记录在与存储器S当前地址指向的字节对应的存储单元中。Function: Used to store the results of the analysis of the data by the relationship analyzer based on the current instruction. The result is recorded in a memory location corresponding to the byte pointed to by the current address of the memory S.
三、寄存器Rr:Third, the register Rr:
功能:寄存从存储器Ra输出的数据。Rr值的更新是在一次查询分析结束时的时钟边沿。这意味着Rr中的值总是上一个地址中Ra的值。当地址为起始地址时。Rr为默认的值0。Function: Registers the data output from the memory Ra. The update of the Rr value is the clock edge at the end of a query analysis. This means that the value in Rr is always the value of Ra in the previous address. When the address is the starting address. Rr is the default value of 0.
例如:如下表。当前地址为00101。Ra的输出为地址00101指向的Ra中的数据0。此时的Rr中的数据是地址00100指向的Ra中的数据1。For example: the following table. The current address is 00101. The output of Ra is data 0 in Ra pointed to by address 00101. The data in Rr at this time is data 1 in Ra pointed to by address 00100.
地址address RaRa A1A1 A2A2
0010000100 110110 11 tt
0010100101 00 101101 ii
0011000110 00 101101 tt
四、寄存器Rin:Fourth, the register Rin:
功能:记录是否有Ra为有效。Function: Record whether Ra is valid.
例如:在演示实例中,当执行分类指令时,地址从最大值递减,当某个地址处的Ra=1,且Rin=0时,置Rin=1。接着Rin的值不变,直到找到数据类型为集合地址的字节时Rin=0。For example, in the demo example, when the classification instruction is executed, the address is decremented from the maximum value. When Ra=1 at an address and Rin=0, Rin=1 is set. The value of Rin is then unchanged until Rin=0 is found when the data type is a byte of the set address.
五、类型分析器:Five, type analyzer:
功能:分析DataA中的A1是什么类型,并依据类型控制A2输出到寄存器堆Rc还是关系分析器。同时把类型分析结果输出给关系分析器。Function: Analyze what type of A1 is in DataA, and control whether A2 output to register file Rc or relational analyzer according to type. At the same time, the type analysis result is output to the relationship analyzer.
A1有8种类型:空、数据起始地址、集合地址、数据结束地址、数字、字符、外联、无关。There are 8 types of A1: null, data start address, set address, data end address, number, character, outreach, and nothing.
其中空、数据起始地址、数据结束地址、外联、无关这五个类型是在外部设备中使用的与本电路无关。The five types of which are null, data start address, data end address, outreach, and irrelevant are used in the external device regardless of the circuit.
六、寄存器堆Rc Sixth, the register file Rc
功能:存储集合数据。即存储表示该数据记录属于哪个分类的数据。Function: Store collection data. That is, data indicating which classification the data record belongs to is stored.
例如:在下面一条记录For example: in the following record
<B title=”CPU”author=”John”/><B title=”CPU”author=”John”/>
在字符<的前面有一个字节(地址为00000)存放集合地址例如下表所示:There is a byte (address 00000) in front of the character < to store the collection address as shown in the following table:
Figure PCTCN2016087387-appb-000001
Figure PCTCN2016087387-appb-000001
记录<B title=”CPU”author=”John”/>属于集合地址为00000000的后两位(具体几位取决于Rc集合地址的位数)即:00所指向的集合0001。The record <B title=”CPU”author=”John”/> belongs to the last two bits of the set address of 00000000 (the number of bits depends on the number of bits of the Rc set address), that is, the set 0001 pointed to by 00.
即记录<B title=”CPU”author=”John”/>属于集合0001。That is, the record <B title="CPU"author="John"/> belongs to the set 0001.
如果00000000改为00000010则:记录<B title=”CPU”author=”John”/>属于集合0101。If 00000000 is changed to 00000010 then: record <B title="CPU"author="John"/> belongs to set 0101.
七、关系分析器;Seven, relationship analyzer;
功能:Features:
1、依据指令CMD分析立即数B1与C或B1与A2之间的关系是否是op所描述的关系。2、依据指令CMD和当前Ra,Rr,Rin的值,并B1与C或A2的关系,控制写入Ra,Rin的值。1. According to the instruction CMD, analyze whether the relationship between the immediate numbers B1 and C or B1 and A2 is the relationship described by op. 2. According to the command CMD and the current values of Ra, Rr, Rin, and the relationship between B1 and C or A2, control the value of writing Ra, Rin.
3、控制是否将B2写入寄存器堆Rc。3. Control whether B2 is written to the register file Rc.
4、在数据读取指令时依据Ra的值决定是否输出数据。4. Determine whether to output data according to the value of Ra in the data read command.
op描述的关系有八种:There are eight types of relationships described by op:
1、不比较;2、A>B;3、A==B;4、A>B或A==B;5、A<B;6、A<B或A>B;7、A<B或A==B;8、A<B或A==B或A>B。1. No comparison; 2, A>B; 3, A==B; 4, A>B or A==B; 5, A<B; 6, A<B or A>B; 7, A<B Or A==B; 8, A<B or A==B or A>B.
如图3所示,本发明实施例的有查询功能的存储器的查询方法,包括以下步骤:As shown in FIG. 3, the query method of the query function memory according to the embodiment of the present invention includes the following steps:
S1、指令译码器对指令进行指令译码,得到控制信号;S1, the instruction decoder performs instruction decoding on the instruction to obtain a control signal;
S2、控制器依据控制信号控制地址发生及译码器产生首地址并进行地址译 码,得到地址信号,存储器输出该地址处的数据;S2, the controller controls the address generation according to the control signal, and the decoder generates the first address and performs address translation. Code, get the address signal, and the memory outputs the data at the address;
S3、查询分析器根据控制信号,对从存储器中输出的数据进行标记扫描、查询扫描、分类扫描和读取的操作;S3. The query analyzer performs a label scan, a query scan, a classification scan, and a read operation on the data output from the memory according to the control signal;
S4、通过数据输出总线对查询结果进行输出。S4, outputting the query result through the data output bus.
步骤S2中标记扫描的具体方法包括:The specific method of marking scanning in step S2 includes:
步骤1、控制器控制地址发生器产生起始地址,读取存储器在该地址内的数据DataA={A1,A2},存储器的一个输出端输出数据DataA到类型分析器;Step 1, the controller controls the address generator to generate a starting address, reads the data in the address in the memory DataA={A1, A2}, and outputs an output DataA to the type analyzer;
步骤2、如果数据类型是数据,则将A2输出到关系分析器;Step 2. If the data type is data, output A2 to the relationship analyzer;
如果数据类型是地址,则将A2作为地址输入到寄存器堆的地址输入端,寄存器堆输出该地址对应的数据C到关系分析器;If the data type is an address, input A2 as an address to the address input end of the register file, and the register file outputs the data C corresponding to the address to the relationship analyzer;
步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3: The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
步骤4、如果数据类型是集合地址,且关系一致,设置第二寄存器为有效,同时在当前地址对第一存储器写入有效信号;Step 4: If the data type is a set address and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
步骤5、如果数据类型是数据,且第二寄存器为有效,则在当前地址对第一存储器写入有效信号;Step 5. If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
步骤6、控制器使地址增1,继续执行步骤1-5的标记过程;Step 6, the controller increments the address by 1, and continues to perform the marking process of steps 1-5;
步骤7、地址继续增1,直到增大到地址最大值;地址每增1,查询分析器执行一次标记过程。Step 7. The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
步骤S2中查询扫描的具体方法包括:The specific method for querying scanning in step S2 includes:
步骤1、控制器控制地址发生器产生地址,读取存储器在该地址内的数据DataA={A1,A2},在存储器的一个输出端输出数据到类型分析器;同时读取第一存储器内该地址的数据,输出到第二寄存器的输入端,第二寄存器会在下一个时钟边沿记录此数据,在时钟边沿到来之前第二寄存器仍然保持原值;Step 1, the controller controls the address generator to generate an address, reads the data in the address of the memory DataA={A1, A2}, outputs the data to the type analyzer at one output of the memory; and simultaneously reads the first memory. The address data is output to the input of the second register, and the second register records the data on the next clock edge, and the second register remains at the original value before the clock edge arrives;
步骤2、如果数据类型是数据,则将A2直接输出到关系分析器;Step 2. If the data type is data, output A2 directly to the relationship analyzer;
如果数据类型是集合地址,则寄存器堆输出对应地址的数据C到关系分析器;If the data type is a collection address, the register file outputs data C corresponding to the address to the relationship analyzer;
步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者 之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3. The relationship analyzer analyzes the relationship between A2 or C and the immediate B1 in the instruction, and determines the two. Whether the relationship is consistent with the relationship specified by the relationship code OP in the instruction;
步骤4、如果数据类型是数据,且关系一致,且第二寄存器为有效,则在当前地址处对第一存储器写入有效信号;Step 4: If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
步骤5、控制器使地址增1,查询分析器执行一次查询过程;Step 5: The controller increments the address by 1, and the query analyzer performs a query process.
步骤6、地址继续增1,直到增大到地址最大值;每增1,查询分析器执行一次查询过程。Step 6. The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
步骤S2中分类扫描的具体方法包括:The specific method of the classification scan in step S2 includes:
步骤1、设置第二寄存器为无效,控制器控制地址发生器产生地址最大值,读取第一存储器内该地址的数据;Step 1, setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
步骤2、如果数据类型为数据,且如果第二寄存器为无效则把存储器Ra值写入第二寄存器,如果第二寄存器为有效则保持第二寄存器原值;Step 2. If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
步骤3、如果数据类型为地址,则置第二寄存器为无效,同时读出A2到寄存器堆的地址输入端,A2为存储器在该地址内的数据DataA={A1,A2}的数据值,选通该地址对应的寄存器组,设置寄存器堆的值为B2,B2是指令中传递的立即数;Step 3. If the data type is an address, the second register is invalid, and A2 is read out to the address input end of the register file, and A2 is the data value of the data DataA={A1, A2} in the memory. Passing the register group corresponding to the address, setting the value of the register file to B2, and B2 is the immediate number passed in the instruction;
步骤4、控制器使地址减1,查询分析器执行一次分类过程;Step 4: The controller reduces the address by 1, and the query analyzer performs a classification process.
步骤5、地址继续减1,直到减小到地址最小值;每减1,查询分析器执行一次分类过程。Step 5. The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
步骤S2中进行读取的具体方法包括:The specific method for reading in step S2 includes:
步骤1、控制器获取控制指令,并执行标记扫描过程;Step 1. The controller acquires a control instruction and performs a label scanning process;
步骤2、控制器控制地址发生器产生地址和片选信号;Step 2: The controller controls the address generator to generate an address and a chip select signal;
步骤3、查询分析器读取存储器在该地址内的数据,若寄存器输出标记位为有效,则输出该数据。Step 3. The Query Analyzer reads the data of the memory in the address, and if the register output flag bit is valid, the data is output.
在本发明的方法的另一个具体实施例中:存储器S为存储器组中一个存储器,寄存器堆为寄存器堆Rc,第一存储器为存储器Ra,第一寄存器为寄存器Rr,第二寄存器为寄存器Rin。In another embodiment of the method of the present invention, the memory S is a memory in the memory bank, the register file is the register file Rc, the first memory is the memory Ra, the first register is the register Rr, and the second register is the register Rin.
1、由一个控制器,一个地址发生器,一个地址译码器,三个存储器(A0、A1、A2),三个查询分析器(E0、E1、E2)组成。 1. It consists of a controller, an address generator, an address decoder, three memories (A0, A1, A2) and three query analyzers (E0, E1, E2).
2、采用逻辑1表示有效,逻辑0表示无效。2. Logic 1 indicates valid, and logic 0 indicates invalid.
3、每个存储器存储容量为16*11bit,存储器地址范围为0000~1111。3. Each memory has a storage capacity of 16*11 bits and a memory address range of 0000 to 1111.
4、DataA={A1,A2}。其中A1为3位,A2为8位,DataA为11位。用A1记录数据类型,A2记录数据值。4. DataA={A1, A2}. Among them, A1 is 3 bits, A2 is 8 bits, and DataA is 11 bits. Record the data type with A1 and record the data value with A2.
5、数据类型编码,如下表:5. Data type coding, as shown in the following table:
编码coding 意义significance
010010 集合地址Collection address
101101 数据data
6、关系编码:6, relationship code:
Figure PCTCN2016087387-appb-000002
Figure PCTCN2016087387-appb-000002
7、存储器单个字节各数据位的意义与示例数据如下表:7. The meaning and sample data of each data bit of a single byte of memory are as follows:
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S0_A2S0_A2
0000000000 00 010010 0000 00 010010 0000 00 010010 0000
0000100001 00 101101 << 00 101101 << 00 101101 <<
0001000010 00 101101 BB 00 101101 BB 00 101101 CC
0001100011 00 101101 空格Space 00 101101 空格Space 00 101101 空格Space
0010000100 00 101101 tt 00 101101 tt 00 101101 tt
0010100101 00 101101 ii 00 101101 ii 00 101101 ii
0011000110 00 101101 tt 00 101101 tt 00 101101 tt
0011100111 00 101101 ll 00 101101 ll 00 101101 ll
0100001000 00 101101 ee 00 101101 ee 00 101101 ee
0100101001 00 101101 = 00 101101 = 00 101101 =
0101001010 00 101101 " 00 101101 " 00 101101 "
0101101011 00 101101 CC 00 101101 FF 00 101101 RR
0110001100 00 101101 PP 00 101101 aa 00 101101 EE
0110101101 00 101101 UU 00 101101 cc 00 101101 DD
0111001110 00 101101 " 00 101101 ee 00 101101 "
0111101111 00 101101 空格Space 00 101101 " 00 101101 空格Space
1000010000 00 101101 aa 00 101101 空格Space 00 101101 aa
1000110001 00 101101 uu 00 101101 aa 00 101101 uu
1001010010 00 101101 tt 00 101101 uu 00 101101 tt
1001110011 00 101101 hh 00 101101 tt 00 101101 hh
1010010100 00 101101 oo 00 101101 hh 00 101101 oo
1010110101 00 101101 rr 00 101101 oo 00 101101 rr
1011010110 00 101101 = 00 101101 rr 00 101101 =
1011110111 00 101101 " 00 101101 = 00 101101 "
1100011000 00 101101 jj 00 101101 " 00 101101 LL
1100111001 00 101101 oo 00 101101 LL 00 101101 ee
1101011010 00 101101 hh 00 101101 PP 00 101101 ee
1101111011 00 101101 nn 00 101101 " 00 101101 "
1110011100 00 101101 " 00 101101 空格Space 00 101101 空格Space
1110111101 00 101101 空格Space 00 101101 // 00 101101 //
1111011110 00 101101 // 00 101101 >> 00 101101 >>
1111111111 00 101101 >> 00 101101   00 101101  
Figure PCTCN2016087387-appb-000003
Figure PCTCN2016087387-appb-000003
查询示例:Query example:
在下面三条记录In the following three records
<B title=”CPU”author=”John”/><B title=”CPU”author=”John”/>
<B title=”Face”author=”LP”/><B title=”Face”author=”LP”/>
<C title=”RED”owner=”Lee”/><C title=”RED”owner=”Lee”/>
中查找title=”CPU”的记录并输出。Find the record of title=”CPU” and output it.
电路工作过程:Circuit working process:
【1】标记指令:[1] Marking instructions:
执行标记指令01000 010 00000001;Execute the mark instruction 01000 010 00000001;
起始地址为00000。 The starting address is 00000.
如果类型分析器判断S0_A1是集合地址,寄存器堆Rc输出该地址的数据并输出到关系分析器。关系分析器判断此值与B的关系,如果与指令中的待求关系一致,则Rin=1,写入Ra在该地址处数据为1;否则写入Ra在该地址处数据为0。If the type analyzer determines that S0_A1 is the set address, the register file Rc outputs the data of the address and outputs it to the relational analyzer. The relationship analyzer determines the relationship between this value and B. If it is consistent with the pending relationship in the instruction, Rin=1, and the write Ra is 1 at the address; otherwise, the write Ra is 0 at the address.
如果类型分析器判断S0_A1是数据,且Rin=1,写入Ra在该地址处数据为1;否则写入Ra在该地址处数据为0。If the type analyzer determines that S0_A1 is data and Rin=1, the write Ra at this address is 1; otherwise, the write Ra at this address is 0.
地址增1,执行上述过程。直到地址增到最大值。The address is incremented by 1, and the above process is performed. Until the address increases to the maximum.
各存储器与寄存器变化如下表:Each memory and register changes are as follows:
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000000000 11 010010 0000 11 010010 0000 00 010010 0000
0000100001 11 101101 << 11 101101 << 00 101101 <<
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
0100001000 11 101101 ee 11 101101 ee 00 101101 ee
0100101001 11 101101 = 11 101101 = 00 101101 =
0101001010 11 101101 " 11 101101 " 00 101101 "
0101101011 11 101101 CC 11 101101 FF 00 101101 RR
0110001100 11 101101 PP 11 101101 aa 00 101101 EE
0110101101 11 101101 UU 11 101101 cc 00 101101 DD
0111001110 11 101101 " 11 101101 ee 00 101101 "
0111101111 11 101101 空格Space 11 101101 " 00 101101 空格Space
1000010000 11 101101 aa 11 101101 空格Space 00 101101 aa
1000110001 11 101101 uu 11 101101 aa 00 101101 uu
1001010010 11 101101 tt 11 101101 uu 00 101101 tt
1001110011 11 101101 hh 11 101101 tt 00 101101 hh
1010010100 11 101101 oo 11 101101 hh 00 101101 oo
1010110101 11 101101 rr 11 101101 oo 00 101101 rr
1011010110 11 101101 = 11 101101 rr 00 101101 =
1011110111 11 101101 " 11 101101 = 00 101101 "
1100011000 11 101101 jj 11 101101 " 00 101101 LL
1100111001 11 101101 oo 11 101101 LL 00 101101 ee
1101011010 11 101101 hh 11 101101 PP 00 101101 ee
1101111011 11 101101 nn 11 101101 " 00 101101 "
1110011100 11 101101 " 11 101101 空格Space 00 101101 空格Space
1110111101 11 101101 空格Space 11 101101 // 00 101101 //
1111011110 11 101101 // 11 101101 >> 00 101101 >>
1111111111 11 101101 >> 11 101101   00 101101  
Figure PCTCN2016087387-appb-000004
Figure PCTCN2016087387-appb-000004
【2】查询指令:[2] Query instructions:
执行查询指令:00100 010 00111100Execute the query command: 00100 010 00111100
1、地址发生器产生地址n=00000。1. The address generator generates the address n=00000.
2、输出数据类型为010是集合地址。Rr记录Ra的输出,此时Rr=1。置Ra[0]=0。2. The output data type is 010, which is the aggregate address. Rr records the output of Ra, where Rr=1. Set Ra[0]=0.
3、Rr=1,S0_A2[1]=00111100与立即数00111100(表示字符“<”)的关系为010。置Ra[1]=1。3. The relationship between Rr=1, S0_A2[1]=00111100 and the immediate number 00111100 (representing the character "<") is 010. Set Ra[1]=1.
4、Rr=1,S0_A2[1]=01000010与立即数00111100的关系不是010。置Ra[2]=0。4. The relationship between Rr=1, S0_A2[1]=01000010 and the immediate number 00111100 is not 010. Set Ra[2]=0.
5、与第四步相似,从Ra[2]到Ra[31]都被置为0。5. Similar to the fourth step, from Ra[2] to Ra[31] are set to zero.
(00111100为字符“<”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。(00111100 is the ASCii code of the character "<") where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000100001 11 101101 << 11 101101 << 00 101101 <<
按照【2】过程执行查询指令:00100 010 01000010(01000010为字符“B”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。According to the [2] procedure, the query command is executed: 00100 010 01000010 (01000010 is the ASCii code of the character "B"), wherein Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
按照【2】过程执行查询指令:00100 010 00100000(00100000为空格的ASCii码)其中Ra变化如下表。未列出的Ra都为0。According to the [2] procedure, the query instruction is executed: 00100 010 00100000 (00100000 is a space for the ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
【3】分类指令:[3] Classification instructions:
执行分类指令00010 010 00000001 00000011Execution classification instruction 00010 010 00000001 00000011
1、地址发生器产生最大地址111111, the address generator generates the maximum address 11111
2、从地址11111到地址00100都不满足Ra=1,且Rin=0条件,则Rin 不变,Rin=0;2. From address 11111 to address 00100, neither Ra=1 nor Rin=0, then Rin No change, Rin=0;
3、当地址为00011时,满足Ra=1,且Rin=0条件,则Rin=1;3. When the address is 00011, Ra=1 is satisfied, and Rin=0 condition, then Rin=1;
4、地址自减,从地址00010到地址00001都不满足Ra=1,且Rin=0条件,所以Rin不变,Rin=1;4, the address is self-decreasing, from address 00010 to address 00001 does not satisfy Ra = 1, and Rin = 0 condition, so Rin does not change, Rin = 1;
当地址为00000时类型为集合地址,关系分析器分析把A2后两位值作为地址输出到Rc地址输入端。S0_Rc输出数据为0001,S1_Rc输出数据为0001,关系分析器E0、E1比较0001与立即数B2(B2=00000001)的后四位的关系是否为010,此处结果为是,则置Rc[00]=0011。When the address is 00000, the type is the aggregate address, and the relationship analyzer analyzes the second two values of A2 as the address and outputs it to the Rc address input. S0_Rc output data is 0001, S1_Rc output data is 0001, relationship analyzer E0, E1 compares 0001 with immediate B2 (B2=00000001), whether the relationship between the last four digits is 010, where the result is YES, then Rc[00 ]=0011.
Figure PCTCN2016087387-appb-000005
Figure PCTCN2016087387-appb-000005
【4】标记指令:[4] Marking instructions:
执行标记指令01000 010 00000011;Execute the mark instruction 01000 010 00000011;
指令执行过程与【1】相同,但立即数为00000011。The instruction execution process is the same as [1], but the immediate value is 00000011.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000000000 11 010010 0000 11 010010 0000 00 010010 0000
0000100001 11 101101 << 11 101101 << 00 101101 <<
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
0100001000 11 101101 ee 11 101101 ee 00 101101 ee
0100101001 11 101101 = 11 101101 = 00 101101 =
0101001010 11 101101 " 11 101101 " 00 101101 "
0101101011 11 101101 CC 11 101101 FF 00 101101 RR
0110001100 11 101101 PP 11 101101 aa 00 101101 EE
0110101101 11 101101 UU 11 101101 cc 00 101101 DD
0111001110 11 101101 " 11 101101 ee 00 101101 "
0111101111 11 101101 空格Space 11 101101 " 00 101101 空格Space
1000010000 11 101101 aa 11 101101 空格Space 00 101101 aa
1000110001 11 101101 uu 11 101101 aa 00 101101 uu
1001010010 11 101101 tt 11 101101 uu 00 101101 tt
1001110011 11 101101 hh 11 101101 tt 00 101101 hh
1010010100 11 101101 oo 11 101101 hh 00 101101 oo
1010110101 11 101101 rr 11 101101 oo 00 101101 rr
1011010110 11 101101 = 11 101101 rr 00 101101 =
1011110111 11 101101 " 11 101101 = 00 101101 "
1100011000 11 101101 jj 11 101101 " 00 101101 LL
1100111001 11 101101 oo 11 101101 LL 00 101101 ee
1101011010 11 101101 hh 11 101101 PP 00 101101 ee
1101111011 11 101101 nn 11 101101 " 00 101101 "
1110011100 11 101101 " 11 101101 空格Space 00 101101 空格Space
1110111101 11 101101 空格Space 11 101101 // 00 101101 //
1111011110 11 101101 // 11 101101 >> 00 101101 >>
1111111111 11 101101 >> 11 101101   00 101101  
Figure PCTCN2016087387-appb-000006
Figure PCTCN2016087387-appb-000006
【5】查询指令[5] query instruction
执行查询指令00100 010 01110100(01110100为字符t的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01110100 (01110100 is the ASCii code of the character t) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
执行查询指令00100 010 01101001(01101001为字符i的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01101001 (01101001 is the ASCii code of the character i) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
执行查询指令00100 010 01110100(01110100为字符t的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01110100 (01110100 is the ASCii code of the character t) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
执行查询指令00100 010 01101100(01101100为字符l的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01101100 (01101100 is the ASCii code of the character l) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
执行查询指令00100 010 01100101(01100101为字符e的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01100101 (01100101 is the ASCii code of the character e) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0100001000 11 101101 ee 11 101101 EE 00 101101 ee
执行查询指令00100 010 00111101(00111101为字符=的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 00111101 (00111101 is the character = ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0100101001 11 101101 = 11 101101 = 00 101101 =
执行查询指令00100 010 00100010(00100010为字符”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query command 00100 010 00100010 (00100010 is the character "ASCii code") where Ra changes as shown in the following table. Ra is not listed as 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
010010010010 11 101101 " 11 101101 " 00 101101 "
执行查询指令00100 010 01000011(01000011为字符C的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01000011 (01000011 is the ASCii code of character C) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0101101011 11 101101 CC 00 101101 FF 00 101101 RR
执行查询指令00100 010 01010000(01010000为字符P的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01010000 (01010000 is the ASCii code of the character P) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0110001100 11 101101 PP 00 101101 aa 00 101101 RR
执行查询指令00100 010 01010101(01010101为字符U的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01010101 (01010101 is the ASCii code of the character U) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0110101101 11 101101 UU 00 101101 cc 00 101101 RR
执行查询指令00100 010 00100010(00100010为字符“的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 00100010 (00100010 is the character "ASCii code") where Ra changes as shown in the following table. Ra is not listed as 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0111001110 11 101101 " 00 101101 EE 00 101101 RR
【6】分类指令:[6] Classification instructions:
执行分类指令00010 010 00000011 00000100;Execute the classification instruction 00010 010 00000011 00000100;
指令执行过程与【3】相同,但立即数为00000011 00000100。The instruction execution process is the same as [3], but the immediate value is 00000011 00000100.
Figure PCTCN2016087387-appb-000007
Figure PCTCN2016087387-appb-000007
【7】读取[7] read
1、先执行标记指令01000 010 00000100。执行过程与【1】相同,但立 即数为00000100。1. Execute the marking instruction 01000 010 00000100 first. The execution process is the same as [1], but the implementation The number is 00000100.
Figure PCTCN2016087387-appb-000008
Figure PCTCN2016087387-appb-000008
2、执行读取指令00001 010 000001002, execute the read command 00001 010 00000100
产生起始地址00000和片选信号。S0的Ra为1时,输出数据S0_A1,S0_A2到输出总线。Ra=0使输出为高阻态。随地址自增,数据依次被读出。A start address 00000 and a chip select signal are generated. When Ra of S0 is 1, the data S0_A1, S0_A2 is output to the output bus. Ra = 0 makes the output high impedance. As the address is incremented, the data is read out in sequence.
如图4所示,在本发明的另一个实施例中,查询分析器中去掉了寄存器堆Rc。As shown in FIG. 4, in another embodiment of the present invention, the register file Rc is removed from the Query Analyzer.
步骤S2中标记扫描的具体方法包括:The specific method of marking scanning in step S2 includes:
步骤1、控制器控制地址发生器产生起始地址,读取存储器在该地址内的 数据DataA={A1,A2},A1输出到类型分析器,A2输出到关系分析器;Step 1. The controller controls the address generator to generate a start address, and the read memory is in the address. Data Data==A1, A2}, A1 is output to the type analyzer, and A2 is output to the relationship analyzer;
步骤2、关系分析器分析A2与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 2: The relationship analyzer analyzes the relationship between A2 and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
步骤3、如果数据类型是集合,且关系一致,设置第二寄存器为有效,同时在当前地址对第一存储器写入有效信号;Step 3: If the data type is a set and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
步骤4、如果数据类型是数据,且第二寄存器为有效,则在当前地址对第一存储器写入有效信号; Step 4. If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
步骤5、控制器使地址增1,继续执行步骤1-4的标记过程;Step 5: The controller increments the address by 1, and continues to perform the marking process of steps 1-4;
步骤6、地址继续增1,直到增大到地址最大值;地址每增1,查询分析器执行一次标记过程。Step 6. The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
步骤S2中查询扫描的具体方法包括:The specific method for querying scanning in step S2 includes:
步骤1、控制器控制地址发生器产生地址,读取存储器在该地址内的数据DataA={A1,A2},A1输出到类型分析器,A2输出到关系分析器;同时读取第一存储器内该地址的数据,输出到第二寄存器的输入端,第二寄存器会在下一个时钟边沿记录此数据,在时钟边沿到来之前第二寄存器仍然保持原值;Step 1, the controller controls the address generator to generate an address, reads the data of the memory in the address DataA={A1, A2}, A1 outputs to the type analyzer, A2 outputs to the relationship analyzer; and simultaneously reads the first memory The data of the address is output to the input of the second register, and the second register records the data on the next clock edge, and the second register remains the original value before the clock edge arrives;
步骤2、关系分析器分析A2与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 2: The relationship analyzer analyzes the relationship between A2 and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
步骤3、如果数据类型是数据,且关系一致,且第二寄存器为有效,则在当前地址处对第一存储器写入有效信号;Step 3. If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
步骤4、控制器使地址增1,查询分析器执行一次查询过程;Step 4: The controller increments the address by 1, and the query analyzer performs a query process.
步骤5、地址继续增1,直到增大到地址最大值;每增1,查询分析器执行一次查询过程。Step 5. The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
步骤S2中分类扫描的具体方法包括:The specific method of the classification scan in step S2 includes:
步骤1、设置第二寄存器为无效,控制器控制地址发生器产生地址最大值,读取第一存储器内该地址的数据;Step 1, setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
步骤2、如果数据类型为数据,且如果第二寄存器为无效则把存储器Ra值写入第二寄存器,如果第二寄存器为有效则保持第二寄存器原值;Step 2. If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
步骤3、如果数据类型为集合,则置第二寄存器为无效,设置存储器在当 前地址处的值为B2,B2是指令中传递的立即数;Step 3. If the data type is a set, set the second register to be invalid, and set the memory to be The value at the previous address is B2, which is the immediate number passed in the instruction;
步骤4、控制器使地址减1,查询分析器执行一次分类过程;Step 4: The controller reduces the address by 1, and the query analyzer performs a classification process.
步骤5、地址继续减1,直到减小到地址最小值;每减1,查询分析器执行一次分类过程。Step 5. The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
步骤S2中进行读取的具体方法包括:The specific method for reading in step S2 includes:
步骤1、控制器获取控制指令,并执行标记扫描过程;Step 1. The controller acquires a control instruction and performs a label scanning process;
步骤2、控制器控制地址发生器产生地址和片选信号;Step 2: The controller controls the address generator to generate an address and a chip select signal;
步骤3、查询分析器读取存储器在该地址内的数据,若寄存器输出标记位为有效,则输出该数据。Step 3. The Query Analyzer reads the data of the memory in the address, and if the register output flag bit is valid, the data is output.
在这种实施方式中,对应的一个处理过程为:In this embodiment, a corresponding process is:
存储器S为存储器组中一个存储器,第一存储器为存储器Ra,第一寄存器为寄存器Rr,第二寄存器为寄存器Rin。The memory S is a memory in the memory group, the first memory is the memory Ra, the first register is the register Rr, and the second register is the register Rin.
1、由一个控制器,一个地址发生器,一个地址译码器,三个存储器(A0、A1、A2),三个查询分析器(E0、E1、E2)组成。1. It consists of a controller, an address generator, an address decoder, three memories (A0, A1, A2) and three query analyzers (E0, E1, E2).
2、采用逻辑1表示有效,逻辑0表示无效。2. Logic 1 indicates valid, and logic 0 indicates invalid.
3、每个存储器存储容量为16*11bit,存储器地址范围为0000~1111。3. Each memory has a storage capacity of 16*11 bits and a memory address range of 0000 to 1111.
4、DataA={A1,A2}。其中A1为3位,A2为8位,DataA为11位。用A1记录数据类型,A2记录数据值。4. DataA={A1, A2}. Among them, A1 is 3 bits, A2 is 8 bits, and DataA is 11 bits. Record the data type with A1 and record the data value with A2.
5、数据类型编码,如下表:5. Data type coding, as shown in the following table:
编码coding 意义significance
010010 集合set
101101 数据data
6、关系编码:6, relationship code:
Figure PCTCN2016087387-appb-000010
Figure PCTCN2016087387-appb-000010
7、存储器单个字节各数据位的意义与示例数据如下表:7. The meaning and sample data of each data bit of a single byte of memory are as follows:
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S0_A2S0_A2
0000000000 00 010010 0000 00 010010 0000 00 010010 0000
0000100001 00 101101 << 00 101101 << 00 101101 <<
0001000010 00 101101 BB 00 101101 BB 00 101101 CC
0001100011 00 101101 空格Space 00 101101 空格Space 00 101101 空格Space
0010000100 00 101101 tt 00 101101 tt 00 101101 tt
0010100101 00 101101 ii 00 101101 ii 00 101101 ii
0011000110 00 101101 tt 00 101101 tt 00 101101 tt
0011100111 00 101101 ll 00 101101 ll 00 101101 ll
0100001000 00 101101 ee 00 101101 ee 00 101101 ee
0100101001 00 101101 = 00 101101 = 00 101101 =
0101001010 00 101101 " 00 101101 " 00 101101 "
0101101011 00 101101 CC 00 101101 FF 00 101101 RR
0110001100 00 101101 PP 00 101101 aa 00 101101 EE
0110101101 00 101101 UU 00 101101 cc 00 101101 DD
0111001110 00 101101 " 00 101101 ee 00 101101 "
0111101111 00 101101 空格Space 00 101101 " 00 101101 空格Space
1000010000 00 101101 aa 00 101101 空格Space 00 101101 aa
1000110001 00 101101 uu 00 101101 aa 00 101101 uu
1001010010 00 101101 tt 00 101101 uu 00 101101 tt
1001110011 00 101101 hh 00 101101 tt 00 101101 hh
1010010100 00 101101 oo 00 101101 hh 00 101101 oo
1010110101 00 101101 rr 00 101101 oo 00 101101 rr
1011010110 00 101101 = 00 101101 rr 00 101101 =
1011110111 00 101101 " 00 101101 = 00 101101 "
1100011000 00 101101 jj 00 101101 " 00 101101 LL
1100111001 00 101101 oo 00 101101 LL 00 101101 ee
1101011010 00 101101 hh 00 101101 PP 00 101101 ee
1101111011 00 101101 nn 00 101101 " 00 101101 "
1110011100 00 101101 " 00 101101 空格Space 00 101101 空格Space
1110111101 00 101101 空格Space 00 101101 // 00 101101 //
1111011110 00 101101 // 00 101101 >> 00 101101 >>
1111111111 00 101101 >> 00 101101   00 101101  
Figure PCTCN2016087387-appb-000011
Figure PCTCN2016087387-appb-000011
查询示例:Query example:
在下面三条记录In the following three records
<B title=”CPU”author=”John”/><B title=”CPU”author=”John”/>
<B title=”Face”author=”LP”/><B title=”Face”author=”LP”/>
<C title=”RED”owner=”Lee”/><C title=”RED”owner=”Lee”/>
中查找title=”CPU”的记录并输出。Find the record of title=”CPU” and output it.
电路工作过程:Circuit working process:
【1】标记指令:[1] Marking instructions:
执行标记指令01000 010 00000001;Execute the mark instruction 01000 010 00000001;
起始地址为00000。The starting address is 00000.
如果类型分析器判断S0_A1是集合,关系分析器判断此值与B的关系,如果与指令中的待求关系一致,则Rin=1,写入Ra在该地址处数据为1;否则写入Ra在该地址处数据为0。If the type analyzer determines that S0_A1 is a set, the relationship analyzer determines the relationship between this value and B. If it is consistent with the pending relationship in the instruction, Rin=1, and write Ra at the address is 1; otherwise, write Ra The data is 0 at this address.
如果类型分析器判断S0_A1是数据,且Rin=1,写入Ra在该地址处数据为1;否则写入Ra在该地址处数据为0。If the type analyzer determines that S0_A1 is data and Rin=1, the write Ra at this address is 1; otherwise, the write Ra at this address is 0.
地址增1,执行上述过程。直到地址增到最大值。The address is incremented by 1, and the above process is performed. Until the address increases to the maximum.
各存储器与寄存器变化如下表:Each memory and register changes are as follows:
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000000000 11 010010 0000 11 010010 0000 00 010010 0000
0000100001 11 101101 << 11 101101 << 00 101101 <<
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
0100001000 11 101101 ee 11 101101 ee 00 101101 ee
0100101001 11 101101 = 11 101101 = 00 101101 =
0101001010 11 101101 " 11 101101 " 00 101101 "
0101101011 11 101101 CC 11 101101 FF 00 101101 RR
0110001100 11 101101 PP 11 101101 aa 00 101101 EE
0110101101 11 101101 UU 11 101101 cc 00 101101 DD
0111001110 11 101101 " 11 101101 ee 00 101101 "
0111101111 11 101101 空格Space 11 101101 " 00 101101 空格Space
1000010000 11 101101 aa 11 101101 空格Space 00 101101 aa
1000110001 11 101101 uu 11 101101 aa 00 101101 uu
1001010010 11 101101 tt 11 101101 uu 00 101101 tt
1001110011 11 101101 hh 11 101101 tt 00 101101 hh
1010010100 11 101101 oo 11 101101 hh 00 101101 oo
1010110101 11 101101 rr 11 101101 oo 00 101101 rr
1011010110 11 101101 = 11 101101 rr 00 101101 =
1011110111 11 101101 " 11 101101 = 00 101101 "
1100011000 11 101101 jj 11 101101 " 00 101101 LL
1100111001 11 101101 oo 11 101101 LL 00 101101 ee
1101011010 11 101101 hh 11 101101 PP 00 101101 ee
1101111011 11 101101 nn 11 101101 " 00 101101 "
1110011100 11 101101 " 11 101101 空格Space 00 101101 空格Space
1110111101 11 101101 空格Space 11 101101 // 00 101101 //
1111011110 11 101101 // 11 101101 >> 00 101101 >>
1111111111 11 101101 >> 11 101101   00 101101  
Figure PCTCN2016087387-appb-000012
Figure PCTCN2016087387-appb-000012
【2】查询指令:[2] Query instructions:
执行查询指令:00100 010 00111100Execute the query command: 00100 010 00111100
1、地址发生器产生地址n=00000。1. The address generator generates the address n=00000.
2、输出数据类型为010是集合。Rr记录Ra的输出,此时Rr=1。置Ra[0]=0。2. The output data type is 010 is a collection. Rr records the output of Ra, where Rr=1. Set Ra[0]=0.
3、Rr=1,S0_A2[1]=00111100与立即数00111100(表示字符“<”)的关系为010。置Ra[1]=1。3. The relationship between Rr=1, S0_A2[1]=00111100 and the immediate number 00111100 (representing the character "<") is 010. Set Ra[1]=1.
4、Rr=1,S0_A2[1]=01000010与立即数00111100的关系不是010。置Ra[2]=0。4. The relationship between Rr=1, S0_A2[1]=01000010 and the immediate number 00111100 is not 010. Set Ra[2]=0.
5、与第四步相似,从Ra[2]到Ra[31]都被置为0。5. Similar to the fourth step, from Ra[2] to Ra[31] are set to zero.
(00111100为字符“<”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。(00111100 is the ASCii code of the character "<") where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000100001 11 101101 << 11 101101 << 00 101101 <<
按照【2】过程执行查询指令:00100 010 01000010(01000010为字符“B”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。According to the [2] procedure, the query command is executed: 00100 010 01000010 (01000010 is the ASCii code of the character "B"), wherein Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
按照【2】过程执行查询指令:00100 010 00100000(00100000为空格的ASCii码)其中Ra变化如下表。未列出的Ra都为0。According to the [2] procedure, the query instruction is executed: 00100 010 00100000 (00100000 is a space for the ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
【3】分类指令:[3] Classification instructions:
执行分类指令00010 010 00000001 00000011Execution classification instruction 00010 010 00000001 00000011
1、地址发生器产生最大地址111111, the address generator generates the maximum address 11111
2、从地址11111到地址00100都不满足Ra=1,且Rin=0条件,则Rin不变,Rin=0;2, from address 11111 to address 00100 do not satisfy Ra = 1, and Rin = 0 condition, then Rin does not change, Rin = 0;
3、当地址为00011时,满足Ra=1,且Rin=0条件,则Rin=1;3. When the address is 00011, Ra=1 is satisfied, and Rin=0 condition, then Rin=1;
4、地址自减,从地址00010到地址00001都不满足Ra=1,且Rin=0条件,所以Rin不变,Rin=1;4, the address is self-decreasing, from address 00010 to address 00001 does not satisfy Ra = 1, and Rin = 0 condition, so Rin does not change, Rin = 1;
当地址为00000时类型为集合,关系分析器分析把A2后两位值与立即数B2(B2=00000001)的后两位的关系是否为010,此处结果为是,则置A2=11。When the address is 00000, the type is a set. The relationship analyzer analyzes whether the relationship between the last two digits of A2 and the last two digits of the immediate B2 (B2=00000001) is 010. If the result is YES, then A2=11.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000000000 11 010010 1111 11 010010 1111 00 010010 0000
【4】标记指令:[4] Marking instructions:
执行标记指令01000 010 00000011;Execute the mark instruction 01000 010 00000011;
指令执行过程与【1】相同,但立即数为00000011。The instruction execution process is the same as [1], but the immediate value is 00000011.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0000000000 11 010010 1111 11 010010 1111 00 010010 0000
0000100001 11 101101 << 11 101101 << 00 101101 <<
0001000010 11 101101 BB 11 101101 BB 00 101101 CC
0001100011 11 101101 空格Space 11 101101 空格Space 00 101101 空格Space
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
0100001000 11 101101 ee 11 101101 ee 00 101101 ee
0100101001 11 101101 = 11 101101 = 00 101101 =
0101001010 11 101101 " 11 101101 " 00 101101 "
0101101011 11 101101 CC 11 101101 FF 00 101101 RR
0110001100 11 101101 PP 11 101101 aa 00 101101 EE
0110101101 11 101101 UU 11 101101 cc 00 101101 DD
0111001110 11 101101 " 11 101101 ee 00 101101 "
0111101111 11 101101 空格Space 11 101101 " 00 101101 空格Space
1000010000 11 101101 aa 11 101101 空格Space 00 101101 aa
1000110001 11 101101 uu 11 101101 aa 00 101101 uu
1001010010 11 101101 tt 11 101101 uu 00 101101 tt
1001110011 11 101101 hh 11 101101 tt 00 101101 hh
1010010100 11 101101 oo 11 101101 hh 00 101101 oo
1010110101 11 101101 rr 11 101101 oo 00 101101 rr
1011010110 11 101101 = 11 101101 rr 00 101101 =
1011110111 11 101101 " 11 101101 = 00 101101 "
1100011000 11 101101 jj 11 101101 " 00 101101 LL
1100111001 11 101101 oo 11 101101 LL 00 101101 ee
1101011010 11 101101 hh 11 101101 PP 00 101101 ee
1101111011 11 101101 nn 11 101101 " 00 101101 "
1110011100 11 101101 " 11 101101 空格Space 00 101101 空格Space
1110111101 11 101101 空格Space 11 101101 // 00 101101 //
1111011110 11 101101 // 11 101101 >> 00 101101 >>
1111111111 11 101101 >> 11 101101   00 101101  
Figure PCTCN2016087387-appb-000013
Figure PCTCN2016087387-appb-000013
【5】查询指令[5] query instruction
执行查询指令00100 010 01110100(01110100为字符t的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01110100 (01110100 is the ASCii code of the character t) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0010000100 11 101101 tt 11 101101 tt 00 101101 tt
执行查询指令00100 010 01101001(01101001为字符i的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01101001 (01101001 is the ASCii code of the character i) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0010100101 11 101101 ii 11 101101 ii 00 101101 ii
执行查询指令00100 010 01110100(01110100为字符t的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01110100 (01110100 is the ASCii code of the character t) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0011000110 11 101101 tt 11 101101 tt 00 101101 tt
执行查询指令00100 010 01101100(01101100为字符l的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01101100 (01101100 is the ASCii code of the character l) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0011100111 11 101101 ll 11 101101 ll 00 101101 ll
执行查询指令00100 010 01100101(01100101为字符e的ASCii码)其中Ra变化如下表。未列出的Ra都为0。 Execute the query instruction 00100 010 01100101 (01100101 is the ASCii code of the character e) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0100001000 11 101101 ee 11 101101 EE 00 101101 ee
执行查询指令00100 010 00111101(00111101为字符=的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 00111101 (00111101 is the character = ASCii code) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0100101001 11 101101 = 11 101101 = 00 101101 =
执行查询指令00100 010 00100010(00100010为字符”的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query command 00100 010 00100010 (00100010 is the character "ASCii code") where Ra changes as shown in the following table. Ra is not listed as 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
010010010010 11 101101 " 11 101101 " 00 101101 "
执行查询指令00100 010 01000011(01000011为字符C的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01000011 (01000011 is the ASCii code of character C) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0101101011 11 101101 CC 00 101101 FF 00 101101 RR
执行查询指令00100 010 01010000(01010000为字符P的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01010000 (01010000 is the ASCii code of the character P) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0110001100 11 101101 PP 00 101101 aa 00 101101 RR
执行查询指令00100 010 01010101(01010101为字符U的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 01010101 (01010101 is the ASCii code of the character U) where Ra changes as shown in the following table. Ra that is not listed is 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0110101101 11 101101 UU 00 101101 cc 00 101101 RR
执行查询指令00100 010 00100010(00100010为字符“的ASCii码)其中Ra变化如下表。未列出的Ra都为0。Execute the query instruction 00100 010 00100010 (00100010 is the character "ASCii code") where Ra changes as shown in the following table. Ra is not listed as 0.
地址address S0_RaS0_Ra S0_A1S0_A1 S0_A2S0_A2 S1_RaS1_Ra S1_A1S1_A1 S1_A2S1_A2 S2_RaS2_Ra S2_A1S2_A1 S2_A2S2_A2
0111001110 11 101101 " 00 101101 EE 00 101101 RR
【6】分类指令:[6] Classification instructions:
执行分类指令00010 010 00000011 00000001;Execute the classification instruction 00010 010 00000011 00000001;
指令执行过程与【3】相同,但立即数为00000011 00000001。The instruction execution process is the same as [3], but the immediate value is 00000011 00000001.
Figure PCTCN2016087387-appb-000014
Figure PCTCN2016087387-appb-000014
【7】读取[7] read
1、先执行标记指令01000 010 00000100。执行过程与【1】相同,但立即数为00000100。 1. Execute the marking instruction 01000 010 00000100 first. The execution process is the same as [1], but the immediate value is 00000100.
Figure PCTCN2016087387-appb-000015
Figure PCTCN2016087387-appb-000015
2、执行读取指令00001 010 000000012, execute the read command 00001 010 00000001
产生起始地址00000和片选信号。S0的Ra为1时,输出数据S0_A1,S0_A2到输出总线。Ra=0使输出为高阻态。随地址自增,数据依次被读出。A start address 00000 and a chip select signal are generated. When Ra of S0 is 1, the data S0_A1, S0_A2 is output to the output bus. Ra = 0 makes the output high impedance. As the address is incremented, the data is read out in sequence.
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。 It is to be understood that those skilled in the art will be able to make modifications and changes in accordance with the above description, and all such modifications and variations are intended to be included within the scope of the appended claims.

Claims (9)

  1. 一种有查询功能的存储器,其特征在于,包括指令译码器、控制器、地址发生及译码器、存储器组和查询分析器组,其中:A memory with query function, comprising: an instruction decoder, a controller, an address generation and decoder, a memory group and a query analyzer group, wherein:
    所述指令译码器,用于将接收到的指令进行指令译码,并产生控制信号;The instruction decoder is configured to decode the received instruction and generate a control signal;
    所述控制器,用于根据指令译码的结果,控制首地址的产生,地址的递增、递减、复位和保持;The controller is configured to control the generation of the first address, the incrementing, decrementing, resetting, and maintaining of the address according to the result of the instruction decoding;
    所述地址发生及译码器,用于产生查询使用的起始地址,并进行地址译码,得到地址信号;The address generation and decoder is configured to generate a start address used by the query, and perform address decoding to obtain an address signal;
    所述存储器组,包括多个相互并联的存储器;The memory group includes a plurality of memories connected in parallel with each other;
    所述查询分析器组,包括与存储器一一对应的查询分析器,每个查询分析器通过指令总线从指令译码器获得控制信号,通过地址总线从地址发生及译码器获得地址信号,根据地址信号和控制信号,对其对应的存储器中的数据进行标记、查询、分类和读取操作,并通过数据输出总线输出查询结果。The query analyzer group includes a query analyzer corresponding to the memory one by one, each query analyzer obtains a control signal from the instruction decoder through the instruction bus, and obtains an address signal from the address generation and the decoder through the address bus, according to The address signal and the control signal mark, query, classify and read the data in the corresponding memory, and output the query result through the data output bus.
  2. 根据权利要求1所述的有查询功能的存储器,其特征在于,所述查询分析器包括关系分析器、类型分析器和多个寄存器;The query function memory according to claim 1, wherein the query analyzer comprises a relationship analyzer, a type analyzer and a plurality of registers;
    类型分析器用于分析从存储器输出的数据类型,将数据输出到寄存器或关系分析器中,同时将类型分析结果输出给关系分析器;The type analyzer is configured to analyze the type of data output from the memory, output the data to a register or a relationship analyzer, and output the type analysis result to the relationship analyzer;
    关系分析器用于根据指令中的立即数,与存储器输出的数据进行数据关系分析,并判断是否输出数据。The relationship analyzer is configured to perform data relationship analysis with the data outputted from the memory according to the immediate value in the instruction, and determine whether to output the data.
  3. 根据权利要求2所述的有查询功能的存储器,其特征在于,所述查询分析器还包括第一存储器,用于存储关系分析器根据控制指令对数据分析的结果。The query function memory according to claim 2, wherein the query analyzer further comprises a first memory for storing a result of analyzing the data by the relationship analyzer according to the control instruction.
  4. 根据权利要求3所述的有查询功能的存储器,其特征在于,所述寄存器包括第一寄存器、第二寄存器和寄存器堆;The Query-enabled memory of claim 3, wherein the register comprises a first register, a second register, and a register file;
    第一寄存器设置在第一存储器与关系分析器之间,用于寄存从第一存储器输出的数据;a first register is disposed between the first memory and the relationship analyzer for registering data output from the first memory;
    第二寄存器与关系分析器相连,用于寄存第一存储器中的数据是否存在 有效数据;The second register is coupled to the relationship analyzer for registering whether data in the first memory exists valid data;
    寄存器堆设置在类型分析器和关系分析器之间,用于存储集合数据。The register file is placed between the type analyzer and the relational analyzer to store the collection data.
  5. 一种权利要求1所述的有查询功能的存储器的查询方法,其特征在于,包括以下步骤:A method for querying a query-enabled memory according to claim 1, comprising the steps of:
    S1、指令译码器对指令进行指令译码,得到控制信号;S1, the instruction decoder performs instruction decoding on the instruction to obtain a control signal;
    S2、控制器依据控制信号控制地址发生及译码器产生首地址并进行地址译码,得到地址信号,存储器输出该地址处的数据;S2, the controller controls the address generation according to the control signal, and the decoder generates the first address and performs address decoding to obtain an address signal, and the memory outputs the data at the address;
    S3、查询分析器根据控制信号,对从存储器中输出的数据进行标记扫描、查询扫描、分类扫描和读取的操作;S3. The query analyzer performs a label scan, a query scan, a classification scan, and a read operation on the data output from the memory according to the control signal;
    S4、通过数据输出总线对查询结果进行输出。S4, outputting the query result through the data output bus.
  6. 根据权利要求5所述的有查询功能的存储器的查询方法,其特征在于,步骤S2中标记扫描的具体方法包括:The method for querying a query-enabled memory according to claim 5, wherein the specific method of marking scanning in step S2 comprises:
    步骤1、控制器控制地址发生器产生起始地址,读取存储器在该地址内的数据DataA={A1,A2},存储器的一个输出端输出数据DataA到类型分析器;Step 1, the controller controls the address generator to generate a starting address, reads the data in the address in the memory DataA={A1, A2}, and outputs an output DataA to the type analyzer;
    步骤2、如果数据类型是数据,则将A2输出到关系分析器;Step 2. If the data type is data, output A2 to the relationship analyzer;
    如果数据类型是地址,则将A2作为地址输入到寄存器堆的地址输入端,寄存器堆输出该地址对应的数据C到关系分析器;If the data type is an address, input A2 as an address to the address input end of the register file, and the register file outputs the data C corresponding to the address to the relationship analyzer;
    步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3: The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
    步骤4、如果数据类型是集合地址,且关系一致,设置第二寄存器为有效,同时在当前地址对第一存储器写入有效信号;Step 4: If the data type is a set address and the relationship is consistent, setting the second register to be valid, and writing a valid signal to the first memory at the current address;
    步骤5、如果数据类型是数据,且第二寄存器为有效,则在当前地址对第一存储器写入有效信号;Step 5. If the data type is data, and the second register is valid, write a valid signal to the first memory at the current address;
    步骤6、控制器使地址增1,继续执行步骤1-5的标记过程;Step 6, the controller increments the address by 1, and continues to perform the marking process of steps 1-5;
    步骤7、地址继续增1,直到增大到地址最大值;地址每增1,查询分析器执行一次标记过程。Step 7. The address continues to increase by one until it increases to the address maximum; for each increment of the address, the Query Analyzer performs a marking process.
  7. 根据权利要求5所述的有查询功能的存储器的查询方法,其特征在于,步骤S2中查询扫描的具体方法包括: The method for querying a query-enabled memory according to claim 5, wherein the specific method for querying scanning in step S2 comprises:
    步骤1、控制器控制地址发生器产生地址,读取存储器在该地址内的数据DataA={A1,A2},在存储器的一个输出端输出数据到类型分析器;同时读取第一存储器内该地址的数据,输出到第二寄存器的输入端,第二寄存器会在下一个时钟边沿记录此数据,在时钟边沿到来之前第二寄存器仍然保持原值;Step 1, the controller controls the address generator to generate an address, reads the data in the address of the memory DataA={A1, A2}, outputs the data to the type analyzer at one output of the memory; and simultaneously reads the first memory. The address data is output to the input of the second register, and the second register records the data on the next clock edge, and the second register remains at the original value before the clock edge arrives;
    步骤2、如果数据类型是数据,则将A2直接输出到关系分析器;Step 2. If the data type is data, output A2 directly to the relationship analyzer;
    如果数据类型是集合地址,则寄存器堆输出对应地址的数据C到关系分析器;If the data type is a collection address, the register file outputs data C corresponding to the address to the relationship analyzer;
    步骤3、关系分析器分析A2或C与指令中的立即数B1的关系,判断二者之间的关系是否与指令中的关系码OP所指定的关系一致;Step 3: The relationship analyzer analyzes the relationship between A2 or C and the immediate value B1 in the instruction, and determines whether the relationship between the two is consistent with the relationship specified by the relationship code OP in the instruction;
    步骤4、如果数据类型是数据,且关系一致,且第二寄存器为有效,则在当前地址处对第一存储器写入有效信号;Step 4: If the data type is data and the relationship is consistent, and the second register is valid, the valid signal is written to the first memory at the current address;
    步骤5、控制器使地址增1,查询分析器执行一次查询过程;Step 5: The controller increments the address by 1, and the query analyzer performs a query process.
    步骤6、地址继续增1,直到增大到地址最大值;每增1,查询分析器执行一次查询过程。Step 6. The address continues to increase by one until it increases to the address maximum; for each increment, the Query Analyzer performs a query process.
  8. 根据权利要求5所述的有查询功能的存储器的查询方法,其特征在于,步骤S2中分类扫描的具体方法包括:The method for querying a query-enabled memory according to claim 5, wherein the specific method of the classification scan in step S2 comprises:
    步骤1、设置第二寄存器为无效,控制器控制地址发生器产生地址最大值,读取第一存储器内该地址的数据;Step 1, setting the second register to be invalid, the controller controls the address generator to generate the address maximum value, and reads the data of the address in the first memory;
    步骤2、如果数据类型为数据,且如果第二寄存器为无效则把存储器Ra值写入第二寄存器,如果第二寄存器为有效则保持第二寄存器原值;Step 2. If the data type is data, and if the second register is invalid, write the memory Ra value to the second register, and if the second register is valid, keep the second register original value;
    步骤3、如果数据类型为地址,则置第二寄存器为无效,同时读出A2到寄存器堆的地址输入端,A2为存储器在该地址内的数据DataA={A1,A2}的数据值,选通该地址对应的寄存器组,设置寄存器堆的值为B2,B2是指令中传递的立即数;Step 3. If the data type is an address, the second register is invalid, and A2 is read out to the address input end of the register file, and A2 is the data value of the data DataA={A1, A2} in the memory. Passing the register group corresponding to the address, setting the value of the register file to B2, and B2 is the immediate number passed in the instruction;
    步骤4、控制器使地址减1,查询分析器执行一次分类过程;Step 4: The controller reduces the address by 1, and the query analyzer performs a classification process.
    步骤5、地址继续减1,直到减小到地址最小值;每减1,查询分析器执行一次分类过程。Step 5. The address continues to decrease by 1 until it decreases to the address minimum; for every 1 minus, the Query Analyzer performs a classification process.
  9. 根据权利要求5所述的有查询功能的存储器的查询方法,其特征在于, 步骤S2中进行读取的具体方法包括:The method for querying a query-enabled memory according to claim 5, characterized in that The specific method for reading in step S2 includes:
    步骤1、控制器获取控制指令,并执行标记扫描过程;Step 1. The controller acquires a control instruction and performs a label scanning process;
    步骤2、控制器控制地址发生器产生地址和片选信号;Step 2: The controller controls the address generator to generate an address and a chip select signal;
    步骤3、查询分析器读取存储器在该地址内的数据,若寄存器输出标记位为有效,则输出该数据。 Step 3. The Query Analyzer reads the data of the memory in the address, and if the register output flag bit is valid, the data is output.
PCT/CN2016/087387 2016-06-15 2016-06-28 Storage device having search function, and search method thereof WO2017215030A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610428748.0 2016-06-15
CN201610428748.0A CN106126114B (en) 2016-06-15 2016-06-15 A kind of memory and its querying method having query function

Publications (1)

Publication Number Publication Date
WO2017215030A1 true WO2017215030A1 (en) 2017-12-21

Family

ID=57470476

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/087387 WO2017215030A1 (en) 2016-06-15 2016-06-28 Storage device having search function, and search method thereof

Country Status (2)

Country Link
CN (1) CN106126114B (en)
WO (1) WO2017215030A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159002A (en) * 2019-12-31 2020-05-15 山东有人信息技术有限公司 Data edge acquisition method based on grouping, edge acquisition equipment and system
CN111478708A (en) * 2020-03-31 2020-07-31 Oppo广东移动通信有限公司 Electronic device, chip, system bus, decoding module, decoder and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055511A (en) * 2007-05-16 2007-10-17 华为技术有限公司 Memory array system and its data operation method
US20090296705A1 (en) * 2008-06-03 2009-12-03 Fujitsu Limited Switch device, storage system, and routing method
CN104461376A (en) * 2013-09-24 2015-03-25 株式会社东芝 Storage system
CN104571946A (en) * 2014-11-28 2015-04-29 中国科学院上海微系统与信息技术研究所 Memory device supporting quick query of logical circuit and access method of memory device
CN104965676A (en) * 2015-06-17 2015-10-07 深圳市中兴微电子技术有限公司 Random access memory access method and apparatus and control chip

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055511A (en) * 2007-05-16 2007-10-17 华为技术有限公司 Memory array system and its data operation method
US20090296705A1 (en) * 2008-06-03 2009-12-03 Fujitsu Limited Switch device, storage system, and routing method
CN104461376A (en) * 2013-09-24 2015-03-25 株式会社东芝 Storage system
CN104571946A (en) * 2014-11-28 2015-04-29 中国科学院上海微系统与信息技术研究所 Memory device supporting quick query of logical circuit and access method of memory device
CN104965676A (en) * 2015-06-17 2015-10-07 深圳市中兴微电子技术有限公司 Random access memory access method and apparatus and control chip

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159002A (en) * 2019-12-31 2020-05-15 山东有人信息技术有限公司 Data edge acquisition method based on grouping, edge acquisition equipment and system
CN111159002B (en) * 2019-12-31 2023-04-28 山东有人物联网股份有限公司 Data edge collection method, edge collection equipment and system based on grouping
CN111478708A (en) * 2020-03-31 2020-07-31 Oppo广东移动通信有限公司 Electronic device, chip, system bus, decoding module, decoder and method
CN111478708B (en) * 2020-03-31 2023-08-11 Oppo广东移动通信有限公司 Electronic device, chip, system bus, decoding module, decoder and method

Also Published As

Publication number Publication date
CN106126114A (en) 2016-11-16
CN106126114B (en) 2018-09-07

Similar Documents

Publication Publication Date Title
US9886017B2 (en) Counter operation in a state machine lattice
US7831626B1 (en) Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US20120179854A1 (en) Systems, Methods, and Devices for Configuring a Device
US10210196B2 (en) Data storage device having internal hardware filter, data storage method and data storage system
TWI727185B (en) Apparatus and method for searching linked lists
US10698697B2 (en) Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US8086641B1 (en) Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US20200265045A1 (en) Technologies for refining stochastic similarity search candidates
US20230161811A1 (en) Image search system, method, and apparatus
US10482087B2 (en) Storage system and method of operating the same
CN113901280A (en) Integrated circuit flattening design character string storage and query system and method
WO2017215030A1 (en) Storage device having search function, and search method thereof
US20200266929A1 (en) Technologies for performing encoding of data symbols for column read operations
US9135984B2 (en) Apparatuses and methods for writing masked data to a buffer
US20220050807A1 (en) Prefix probe for cursor operations associated with a key-value database system
CN114356912A (en) Method for writing data into database and computer equipment
CN115577113A (en) Knowledge graph platform
CN110275668B (en) Block management method, memory control circuit unit and memory storage device
CN113900622B (en) FPGA-based data information rapid sorting method, system, equipment and storage medium
CN116665772B (en) Genome map analysis method, device and medium based on memory calculation
CN116414839A (en) SSD-oriented time sequence data storage method and system based on LSM_Tree
Ghiasi et al. MetaStore: High-Performance Metagenomic Analysis via In-Storage Computing
CN117393046A (en) Space transcriptome sequencing method, system, medium and equipment
TW202032376A (en) A data storage device and a data processing method
JPS61264431A (en) Storage circuit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16905144

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16905144

Country of ref document: EP

Kind code of ref document: A1