CN113656331A - Method and device for determining access address based on high and low bits - Google Patents

Method and device for determining access address based on high and low bits Download PDF

Info

Publication number
CN113656331A
CN113656331A CN202111218397.8A CN202111218397A CN113656331A CN 113656331 A CN113656331 A CN 113656331A CN 202111218397 A CN202111218397 A CN 202111218397A CN 113656331 A CN113656331 A CN 113656331A
Authority
CN
China
Prior art keywords
address
offset
order
low
target
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202111218397.8A
Other languages
Chinese (zh)
Inventor
郇丹丹
赵继业
李祖松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Micro Core Technology Co ltd
Original Assignee
Beijing Micro Core Technology Co ltd
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 Beijing Micro Core Technology Co ltd filed Critical Beijing Micro Core Technology Co ltd
Priority to CN202111218397.8A priority Critical patent/CN113656331A/en
Publication of CN113656331A publication Critical patent/CN113656331A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention provides a method and a device for determining an access address based on high and low bits, belonging to the technical field of electronics. The method comprises the following steps: receiving a memory access instruction used for indicating a base address and an offset; acquiring high and low addresses of a base address, wherein the low address corresponds to an Index of a target address and the position of an offset BlockOffset in a block, and the high address corresponds to the position of a Tag of the target address; acquiring high and low bit addresses of offset; determining a carry result and a low-order address of a target address according to the low-order address of the base address and the low-order address of the offset; determining a high-order address of the target address based on a high-order address of a base address, a high-order address of an offset and a carry result according to a preset high-order calculation rule; and executing the memory access operation corresponding to the memory access instruction on the position indicated by the target address. By adopting the invention, the processing efficiency of the access instruction can be improved.

Description

Method and device for determining access address based on high and low bits
Technical Field
The invention relates to the technical field of electronics, in particular to a method and a device for determining an access address based on high and low bits.
Background
In the field of electronic technology, a computer device may determine an address for accessing a memory through a memory access instruction, and then read or write data from a physical address indicated by the address.
The memory access instruction includes a base address identification and an offset. When a memory access instruction is received, the computer equipment can acquire a corresponding base address from the register according to a base address identifier in the memory access instruction, and then add the base address and the offset to obtain an address to be accessed.
The process of adding the base address and the offset is realized by an adder in the circuit, particularly adding from the lower order, and determining whether the carry is carried out or not according to the result obtained by each addition. While a larger number of bits, e.g. 40 bits, of the base address results in a larger delay in calculating the address to be accessed, resulting in a lower processing efficiency.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide a method and an apparatus for determining an access address based on high and low bits. The technical scheme is as follows:
according to an aspect of the present invention, there is provided a method of determining an access address based on high and low bits, the method including:
receiving a memory access instruction, wherein the memory access instruction is used for indicating a base address and an offset;
acquiring a high-order address and a low-order address of the base address, wherein the low-order address corresponds to an Index of a target address and a position of an intra-block offset BlockOffset, and the high-order address corresponds to a position of a Tag of the target address;
acquiring a high-order address and a low-order address of the offset;
determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset;
determining a high-order address of the target address based on a high-order address of the base address, a high-order address of the offset and a carry result according to a preset high-order calculation rule;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the target address.
Optionally, the determining a carry result and a lower address of the target address according to the lower address of the base address and the lower address of the offset includes:
and adding the low-order address of the base address and the low-order address of the offset to obtain the Index and the BlockOffset of the target address and a carry result.
Optionally, the method further includes:
and when the Index of the target address is obtained, acquiring a plurality of corresponding Cache lines CacheLine in a Cache according to the Index of the target address.
Optionally, the performing, to the position indicated by the target address, a memory access operation corresponding to the memory access instruction includes:
determining Tag of the target address in the high-order address of the target address;
acquiring a corresponding target CacheLine from a plurality of cachelines acquired based on Index according to the Tag of the target address;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the Block offset in the target CacheLine.
Optionally, the method further includes: sign bit expansion is carried out on the offset to obtain an expanded offset, and the bit number of the expanded offset is the same as that of the base address;
the obtaining the high order address and the low order address of the offset includes: acquiring a high-order address and a low-order address of the expanded offset;
the determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset includes: and adding the low-order address of the base address and the low-order address of the expanded offset to determine a carry result and the low-order address of the target address.
Optionally, the determining the high-order address of the target address based on the high-order address of the base address, the high-order address of the offset, and the carry result according to a preset high-order computation rule includes adding the high-order address of the base address and the high-order address of the offset after the expansion, and then adding the sum and the carry result to determine the high-order address of the target address.
Optionally, the determining, according to a preset high-order computation rule, a plurality of pre-computation results based on the high-order address of the base address and the high-order address of the offset includes:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result is that the carry result indicates no carry.
According to another aspect of the present invention, there is provided an apparatus for determining an access address based on high and low bits, the apparatus including:
the device comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving a memory access instruction, and the memory access instruction is used for indicating a base address and an offset;
an obtaining module, configured to obtain an upper address and a lower address of the base address, and an upper address and a lower address for obtaining the offset, where the lower address corresponds to an Index of a target address and a position of an offset BlockOffset within a block, and the upper address corresponds to a position of a Tag of the target address;
a determining module, configured to determine a carry result and a lower address of the target address according to the lower address of the base address and the lower address of the offset;
and the execution module is used for executing the memory access operation corresponding to the memory access instruction on the position indicated by the target address.
Optionally, the determining module is configured to:
and adding the low-order address of the base address and the low-order address of the offset to obtain the Index and the BlockOffset of the target address and a carry result.
Optionally, the determining module is further configured to:
and when the Index of the target address is obtained, acquiring a plurality of corresponding Cache lines CacheLine in a Cache according to the Index of the target address.
Optionally, the execution module is configured to:
determining Tag of the target address in the high-order address of the target address;
acquiring a corresponding target CacheLine from a plurality of cachelines acquired based on Index according to the Tag of the target address;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the Block offset in the target CacheLine.
Optionally, the determining module is configured to:
sign bit expansion is carried out on the offset to obtain an expanded offset, and the bit number of the expanded offset is the same as that of the base address;
acquiring a high-order address and a low-order address of the expanded offset;
and adding the low-order address of the base address and the low-order address of the expanded offset to determine a carry result and the low-order address of the target address.
Optionally, the determining module is configured to:
and adding the high-order address of the base address and the high-order address of the expanded offset, and then adding the sum to the carry result to determine the high-order address of the target address.
Optionally, the determining module is configured to:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result is that the carry result indicates no carry.
According to another aspect of the present invention, there is provided an electronic apparatus including:
a processor; and
a memory for storing a program, wherein the program is stored in the memory,
wherein the program comprises instructions which, when executed by the processor, cause the processor to perform the above method of determining an access address based on high and low bits.
According to another aspect of the present invention, there is provided a non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the above method of determining an access address based on high and low bits.
In the embodiment of the invention, when a memory access instruction is received, the base address and the offset can be divided into the high-order address and the low-order address, and then the high-order address and the low-order address are respectively calculated to determine the target address to be accessed. Because the high-order address and the low-order address can be calculated respectively, the length of a carry chain in the adder is reduced, and the high-order address and the low-order address can be calculated in parallel, and the overall calculation time length is shortened.
Drawings
Further details, features and advantages of the invention are disclosed in the following description of exemplary embodiments with reference to the accompanying drawings, in which:
FIG. 1 is a diagram illustrating a Cache structure provided in accordance with an exemplary embodiment of the present invention;
FIG. 2 is a diagram illustrating a structure of a group-connected Cache according to an exemplary embodiment of the present invention;
3-13 illustrate instruction format diagrams provided in accordance with exemplary embodiments of the present invention;
FIG. 14 is a flowchart illustrating a method for determining an access address based on high and low bits according to an exemplary embodiment of the present invention;
FIG. 15 is a flowchart illustrating a method for determining an access address based on high and low bits according to an exemplary embodiment of the present invention;
FIG. 16 is a flowchart illustrating another method for determining an access address based on high and low bits according to an exemplary embodiment of the present invention;
FIG. 17 illustrates a base address diagram provided in accordance with an exemplary embodiment of the present invention;
fig. 18 is a schematic block diagram illustrating an apparatus for determining an access address based on high and low bits provided in accordance with an exemplary embodiment of the present invention;
FIG. 19 illustrates a block diagram of an exemplary electronic device that can be used to implement an embodiment of the invention.
Detailed Description
Embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present invention are shown in the drawings, it should be understood that the present invention may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present invention. It should be understood that the drawings and the embodiments of the present invention are illustrative only and are not intended to limit the scope of the present invention.
It should be understood that the various steps recited in the method embodiments of the present invention may be performed in a different order and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the invention is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description. It should be noted that the terms "first", "second", and the like in the present invention are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in the present invention are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that reference to "one or more" unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present invention are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
In order to clearly describe the method provided by the embodiments of the present invention, the following description is made of the used technology.
1、Cache
A cache Memory, which is located between a CPU (Central Processing Unit) and a main Memory DRAM (Dynamic Random Access Memory), is generally composed of an SRAM (Static Random-Access Memory). The speed of the CPU is far higher than that of the memory, when the CPU directly accesses data from the memory, a certain clock period is waited, the access speed of the Cache is high, a part of data which is just used or recycled by the CPU can be stored, and if the CPU needs to use the part of data again, the data can be directly called from the Cache, so that the data can be prevented from being accessed from the memory with long delay, the waiting time of the CPU is reduced, and the efficiency of the system is improved.
As shown in the schematic structural diagram of the Cache shown in fig. 1, the Cache is mainly composed of two parts, a Tag (Tag) part and a Data (Data) part. The Data portion is used to hold Data for a contiguous piece of address and the Tag portion is used to store the public address for the contiguous piece of Data. One Tag and all the Data corresponding to the Tag form a Line called a Cache Line, and the Data portion in the Cache Line is called a Data Block (Data Block). If a data can be stored in multiple places in the Cache, these multiple Cache lines found by the same address are called Cache Set.
2. Composition mode of Cache
The Cache is composed of direct connection, group connection and full connection, and the invention mainly relates to a group connection. The direct connection and the full connection can be respectively regarded as a special group connection forming mode with the number of paths being 1 and the number of paths being the number of Cache lines. The schematic diagram of the structure of the group-connected Cache is shown in FIG. 2.
The address of the processor accessing the memory is divided into three parts, Tag (Tag), Index (Index) and Block Offset (Block Offset). Wherein, Index is used to find a group of Cache lines from the caches, namely a Cache Set; comparing the Tag part read by using the Index with the Tag in the access address, and indicating that the Cache Line is the wanted one only if the Tag part read by using the Index is equal to the Tag in the access address; a plurality of access data are correspondingly arranged in one Cache Line, and the really desired data can be found through the Block Offset part in the memory address and the access width of the access instruction, and can be positioned to each byte. And a valid bit (valid) is also arranged in the Cache Line and used for marking whether the Cache Line stores valid data or not, the data of the Cache Line can be stored in the corresponding Cache Line only at the previously accessed memory address, and the corresponding valid bit can be set to be 1.
3. Memory access instruction
The access instruction is divided into a fetch instruction and a store instruction, and the access to the cache is required.
The access instructions of different instruction sets are not identical in format, the general instruction set access instructions all comprise four types of byte access (lb), half word access (lh), word access (lw) and double word access (ld), and the storage instructions all comprise four types of byte storage (sb), half word storage (sh), word storage (sw) and double word storage (sd). In the following, a fetch instruction and a store instruction will be described by taking RISC-V (fifth generation reduced instruction set) as an example, but the present invention is not limited to the following instructions.
(1) Fetch instruction
lbrd, offset (rs1), x [ rd ] = next (M [ x [ rs1] + next (offset) ] [7:0]), and the instruction format is as shown in FIG. 3. Wherein rd and rs1 are the identifiers of the base address registers, and offset is the offset. The instruction is a Load Byte (Load Byte), which reads a Byte from the address x [ rs1] + sign-extended (offset), and writes to x [ rd ] after sign bit extension.
lburd, offset (rs1), x [ rd ] = M [ x [ rs1] + next (offset) ] [7:0], instruction format as shown in fig. 4. The instruction refers to an Unsigned Byte Load (Load Byte, Unsigned), which reads a Byte from address x [ rs1] + sign-extended (offset), and writes to x [ rd ] after zero-extension.
ldrd, offset (rs1), x [ rd ] = M [ x [ rs1] + next (offset) ] [63:0], and the instruction format is as shown in FIG. 5. The instruction is a Load double word Load (Load double), which reads eight bytes from address x [ rs1] + sign-extended (offset), and writes x [ rd ].
lhrd, offset (rs1), x [ rd ] = next (M [ x [ rs1] + next (offset) ] [15:0]), and the instruction format is as shown in fig. 6. The instruction is a Load Halfword (Load Halfword) instruction, which reads two bytes from the address x [ rs1] + sign-extended (offset), and writes to x [ rd ] after sign bit extension.
lhard, offset (rs1), x [ rd ] = M [ x [ rs1] + next (offset) ] [15:0], instruction format is as shown in fig. 7. The instruction is an Unsigned Halfword (Unsigned) Load, which reads two bytes from the address x [ rs1] + sign-extended (offset), and writes to x [ rd ] after zero-extension.
lwrd, offset (rs1), x [ rd ] = next (M [ x [ rs1] + next (offset) ] [31:0]), and the instruction format is as shown in fig. 8. The instruction is a Load Word (Load Word) that reads four bytes from the address x [ rs1] + sign-extended (offset), and writes to x [ rd ].
lwurd, offset (rs1), x [ rd ] = M [ x [ rs1] + next (offset) ] [31:0], instruction format is as shown in fig. 9. The instruction refers to an Unsigned Word Load (Load Word), where four bytes are read from the address x [ rs1] + sign-extended (offset), and written to x [ rd ] after zero-extension.
(2) Store instruction
sb rs2, offset (rs1), M [ x [ rs1] + sext (offset) = x [ rs2] [7:0], and the instruction format is as shown in fig. 10. The instruction is a Store Byte (Store Byte), which stores 1 Byte of address x [ rs2] into memory address x [ rs1] + sign-extended (offset).
sd rs2, offset (rs1), M [ x [ rs1] + sext (offset) = x [ rs2] [63:0], and the instruction format is as shown in fig. 11. The instruction is a Store Doubleword (Store Doubleword), i.e., 8 bytes of address x [ rs2] are stored into memory address x [ rs1] + sign-extended (offset).
sh rs2, offset (rs1), M [ x [ rs1] + sext (offset) = x [ rs2] [15:0], and the instruction format is as shown in FIG. 12. The instruction is a Store Halfword (Store Halfword), which stores the lower 2 bytes of address x [ rs2] into memory address x [ rs1] + sign-extended (offset).
sw rs2, offset (rs1), M [ x [ rs1] + sext (offset) = x [ rs2] [31:0], and the instruction format is as shown in FIG. 13. The instruction is a Store Word (Store Word), i.e., the lower 4 bytes of address x [ rs2] are stored into memory address x [ rs1] + sign-extended (offset).
The embodiment of the present invention provides a method for determining an access address based on high and low bits, where the method may be applied to a terminal, a server, and/or other electronic devices with processing capabilities, and the present invention is not limited thereto.
The method will be described with reference to the flowcharts of the method for determining an access address based on high and low bits shown in fig. 14, 15 and 16.
Step 1, receiving a memory access instruction.
Where the memory access instruction may be used to indicate a base address and an offset.
In a possible implementation manner, during the operation of the device, the memory access component in the device may receive the memory access instruction. For example, when a device performs a certain calculation task, a corresponding fetch instruction may be triggered to obtain data required for calculation. The embodiment does not limit the specific task of triggering the memory access instruction.
The memory access instruction may be any type of instruction described above, and the device may obtain a corresponding base address from a register according to an identifier of a base address register carried in the memory access instruction.
And 2, acquiring a high-order address and a low-order address of the base address and acquiring a high-order address and a low-order address of the offset.
The lower address corresponds to the Index of the target address and the position of the Offset Block Offset in the Block, and the upper address corresponds to the position of the Tag of the target address.
In one possible implementation, the device may obtain the upper address and the lower address of the base address according to an address format of the processor accessing the Cache. The device may also obtain the upper address and the lower address of the offset. Specifically, as shown in the base address diagram of fig. 16, the address corresponding to the position of Tag in the base address may be the upper address, and the addresses corresponding to the positions of Index and BlockOffset may be the lower address.
Optionally, before the calculation, sign bit extension may be performed on the offset to obtain an extended offset, where a bit number of the extended offset is the same as a bit number of the base address. On this basis, the upper address and the lower address of the offset after expansion are acquired. Specifically, when the offset is a negative number, the offset may be extended by 1; when the offset is positive, the offset may be extended by 0.
And 3, determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset.
Specifically, the processing in step 3 may be: and adding the lower address of the base address and the lower address of the offset to obtain Index and Block offset of the target address and a carry result. The carry result may be used to indicate whether to carry, for example, when carrying is required, the carry result may be 1; when no carry is needed, the carry result may be 0. In the apparatus, step 3 may be implemented by an adder.
Optionally, corresponding to the case of sign bit extension performed by the offset, the processing in step 3 may be: and adding the low-order address of the base address and the expanded low-order address of the offset to determine a carry result and the low-order address of the target address.
Optionally, when the Index of the target address is obtained, the device may obtain, according to the Index of the target address, a plurality of corresponding Cache lines Cache Line in the Cache. That is, the calculation result obtained in step 3 theoretically already obtains the Index and Block Offset of the target address, so that after the calculation in step 3 is completed, the device can query and read the corresponding multiple Cache lines from the Cache according to the Index.
It should be noted that in this embodiment, based on the query operation of Index in the Cache, the execution may be started each time Index is obtained by calculation, and it is not necessary to wait for the calculation of the high-order address to be completed. Compared with the method that after the target address is obtained through complete calculation, the query operation is executed in the Cache based on the Index, the time length for waiting calculation is saved, and the processing delay of the memory access instruction can be reduced.
And 4, determining the high-order address of the target address based on the high-order address of the base address, the high-order address of the offset and a carry result according to a preset high-order calculation rule.
In one possible embodiment, as shown in fig. 15, the higher order calculation rule for the higher order address may be preset in the device. The device may determine the high-order address of the target address by adding the high-order address of the base address and the high-order address of the extended offset and then adding the result of the carry while performing step 3 according to a high-order calculation rule.
Preferably, in another possible embodiment, as shown in fig. 16, while step 3 is executed, the upper address of the base address and the upper address of the offset may be added to determine a plurality of pre-calculation results, and the calculation process of the budget may be implemented by an adder. The pre-calculation results may be all possible addition results. The processing of step 4 may be:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result indicates that the carry result does not carry.
In this embodiment, the high-order address and the low-order address can be calculated in parallel, and compared with a serial calculation mode, the length of the carry chain is reduced, and the delay can be reduced.
After determining the carry result, the apparatus may determine a target calculation result by the selector based on the carry result according to the gating condition as above.
And 5, executing the memory access operation corresponding to the memory access instruction on the target address.
Specifically, the processing of step 5 may be as follows: determining Tag of the target address; according to the Tag of the target address, acquiring a corresponding target Cache Line from a plurality of Cache lines acquired based on Index; and executing the memory access operation corresponding to the memory access instruction in the target Cache Line.
In one possible embodiment, when the target calculation result of step 4 is determined, i.e. the upper address of the target address is determined. At this time, the device may perform step 5 to obtain the Tag of the target address from the target calculation result. Furthermore, whether the Tag of each Cache Line is the same as the Tag of the target address and whether the valid bit indicates to store valid data, that is, whether the Tag hits, is determined by the comparator among the plurality of read Cache lines. If the Cache Line is hit, namely the Tag of the Cache Line is the same as the Tag of the target address, and the valid bit is 1, indicating that valid Data is stored, selecting a Data Block in the hit target Cache Line through a selector, and reading or storing the Data at a corresponding position in the Data Block according to Block Offset; if the Cache Line is not hit, namely the Tag of the Cache Line is different from the Tag of the target address, or the valid bit is 0, indicating that valid data is not stored, accessing a next-stage memory and reading corresponding data.
In the embodiment of the invention, when a memory access instruction is received, the base address and the offset can be divided into the high-order address and the low-order address, and then the high-order address and the low-order address are respectively calculated to determine the target address to be accessed. Because the high-order address and the low-order address can be calculated respectively, the length of a carry chain in the adder is reduced, and the high-order address and the low-order address can be calculated in parallel, and the overall calculation time length is shortened.
In order to more clearly describe the method for determining an access address based on high and low bits provided by the present invention, the above method for determining an access address will be described with reference to specific embodiments.
Example 1: the invention provides a method for determining an access address based on high and low bits, which is a preferred embodiment. The flow of example 1 is shown in FIG. 16.
Step 1, a memory access component of the CPU receives a memory access instruction, byte loading (lb), reading a byte of data with a base address of 40 'h 0080009000 and an offset of 12' h0f2, and writing the byte of data into a register after symbol expansion.
The Cache configuration is 32KB in capacity, 512 bits (i.e., 64 bytes) per Cache line, 8 way set associative, 4KB per way, 64 Cache lines.
Among the 40-bit access addresses, Block offset corresponds to the lowest 6-bit address, Index corresponds to the middle 6-bit address, and Tag corresponds to the upper 28-bit address.
Step 2, acquiring a high-order address and a low-order address of the base address, namely, the high-order 28-order bits corresponding to the index Tag, which are 28' h 0080009; and the lower address, i.e., the lower 12 bits corresponding to the Index and the intra Block offset, is 12h 000. After sign bit extension of the offset, the same extended offset is obtained as the number of bits of the base address, i.e. 40' h00000000f 2. Acquiring the upper address and the lower address of the offset after expansion, namely the upper 28 bits, which are (28' h 0000000); the lower 12 positions are (12' h0f 2).
And 3, determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset.
Specifically, the processing in step 3 may be: and adding the lower address of the base address and the expanded lower address of the Offset to obtain Index and Block Offset of the target address and a carry result. The lower address 12 ' h000 is added to the Offset 12 ' h0f2 to obtain Index and Block Offset of the target address, 12 ' h0f2, and carry result 0. Where the carry result is 0, indicating that no carry is needed.
The Index of the target address is 6' h03, and the CPU obtains 8 Cache lines of corresponding 8 paths in the Cache according to the Line number 3 (decimal) of the Index of the target address. The Cache Line includes data and Tag. The corresponding Block offset is also found to be 6' h32, indicating that the byte to be read is located at the 50 th (decimal) byte.
Based on the query operation of the Index in the Cache, the execution can be started when the Index is obtained, and the calculation of the high-order address is not required to be completed. Compared with the method that after the complete 40-bit target address is obtained through complete calculation, the query operation is executed in the Cache based on the Index, the time length for waiting calculation is saved, and the processing delay of the access instruction can be reduced.
And 4, determining the high-order address of the target address based on the high-order address of the base address, the high-order address of the offset and a carry result according to a preset high-order calculation rule.
And determining a plurality of pre-calculation results based on the high-order address of the base address and the high-order address of the offset according to a preset high-order calculation rule while calculating the low-order address.
The processing of step 4 may be as follows:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result 28' h008000a, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result 28' h0080009, wherein the gating condition of the second pre-calculation result is that the carry result indicates no carry.
Compared with a serial computing mode, the high-order address and the low-order address are computed in parallel, the length of a carry chain is reduced, and delay is reduced.
According to the carry result 0, the upper address of the target address is determined to be the second pre-calculation result 28' h0080009 in the plurality of pre-calculation results.
And 5, executing the memory access operation corresponding to the memory access instruction on the target address.
According to the target calculation result, determining that the Tag of the target address is 28' h 0080009; according to the Tag of the target address, obtaining the Tag of the corresponding target Cache Line from a plurality of Cache lines obtained based on Index; and executing the memory access operation corresponding to the memory access instruction in the target Cache Line.
And judging whether the Tag of each Cache Line is the same as the Tag of the target address or not, and whether the valid bit indicates to store valid data or not, namely whether the Tag is hit or not. And judging to obtain 0 th path hit, selecting the Data Block in the hit 0 th path target Cache Line through a selector, and reading 50 th byte Data at the corresponding position in the Data Block according to Block Offset.
Example 2: the invention provides a method for determining an access address based on high and low bits, and also provides another specific implementation mode. The flow of example 2 is shown in FIG. 15.
The present embodiment is different from embodiment 1 in that: step 4 is different.
Steps 1-3 and 5 are the same as those in example 1, and are not described herein again.
And 4, calculating the low-order address, adding the high-order address based on the base address and the high-order address of the offset according to a preset high-order calculation rule, and adding the sum with a carry result to determine the high-order address.
The processing of step 4 may be as follows:
the upper address of the base address is added to the upper address of the offset after expansion, and the calculation result 28' h0080009 is determined.
Compared with a serial computing mode, the high-order address and the low-order address are computed in parallel, the length of a carry chain is reduced, and delay is reduced.
And adding a carry result 0 to a result obtained by adding the high-order address of the base address and the high-order address of the expanded offset, and determining that the high-order address of the target address is the calculation result 28' h 0080009.
The embodiment of the invention provides a device for determining an access address based on high and low bits, which is used for realizing the method for determining the access address based on the high and low bits. As shown in fig. 18, the apparatus 1800 for determining an access address based on high and low bits includes: a receiving module 1801, an obtaining module 1802, a determining module 1803, and an executing module 1804.
A receiving module 1801, configured to receive a memory access instruction, where the memory access instruction is used to indicate a base address and an offset;
an obtaining module 1802, configured to obtain a higher address and a lower address of a base address; acquiring a high-order address and a low-order address of an offset; the lower address corresponds to the Index of the target address and the position of the intra-block offset BlockOffset, and the upper address corresponds to the position of the Tag of the target address;
a determining module 1803, configured to determine a carry result and a lower address of the target address according to the lower address of the base address and the lower address of the offset; determining a high-order address of a target address based on a high-order address of a base address, a high-order address of an offset and a carry result according to a preset high-order calculation rule;
and the execution module 1804 is configured to execute the memory access operation corresponding to the memory access instruction on the position indicated by the target address.
Optionally, the determining module 1803 is configured to:
and adding the lower address of the base address and the lower address of the offset to obtain Index and Block offset of the target address and a carry result.
Optionally, the determining module 1803 is further configured to:
and when the Index of the target address is obtained, acquiring a plurality of corresponding Cache lines CacheLine in the Cache according to the Index of the target address.
Optionally, the execution module 1804 is configured to:
determining Tag of the target address in the high-order address of the target address;
according to the Tag of the target address, acquiring a corresponding target CacheLine from a plurality of cachelines acquired based on Index;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the BlockOffset in the target CacheLine.
Optionally, the determining module 1803 is configured to:
sign bit expansion is carried out on the offset to obtain an expanded offset, and the bit number of the expanded offset is the same as that of the base address;
acquiring a high-order address and a low-order address of the expanded offset;
and adding the low-order address of the base address and the expanded low-order address of the offset to determine a carry result and the low-order address of the target address.
Optionally, the determining module 1803 is configured to:
and adding the high-order address of the base address and the high-order address of the expanded offset, and then adding the sum to the carry result to determine the high-order address of the target address.
Preferably, the determining module 1803 is configured to:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result indicates that the carry result does not carry.
In the embodiment of the invention, when a memory access instruction is received, the base address and the offset can be divided into the high-order address and the low-order address, and then the high-order address and the low-order address are respectively calculated to determine the target address to be accessed. Because the high-order address and the low-order address can be calculated respectively, the length of a carry chain in the adder is reduced, and the high-order address and the low-order address can be calculated in parallel, and the overall calculation time length is shortened.
An exemplary embodiment of the present invention also provides an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program, when executed by the at least one processor, is for causing the electronic device to perform a method according to an embodiment of the invention.
Exemplary embodiments of the present invention also provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor of a computer, is operable to cause the computer to perform a method according to an embodiment of the present invention.
Exemplary embodiments of the present invention also provide a computer program product comprising a computer program, wherein the computer program is operative, when executed by a processor of a computer, to cause the computer to perform a method according to an embodiment of the present invention.
Referring to fig. 19, a block diagram of a structure of an electronic device 1900, which may be a server or a client of the present invention, which is an example of a hardware device that may be applied to aspects of the present invention, will now be described. Electronic devices are intended to represent various forms of digital electronic computer devices, such as data center servers, notebook computers, thin clients, laptop computers, desktop computers, workstations, personal digital assistants, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 19, the electronic apparatus 1900 includes a computing unit 1901, which can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 1902 or a computer program loaded from a storage unit 1908 into a Random Access Memory (RAM) 1903. In the RAM 1903, various programs and data required for the operation of the device 1900 can also be stored. The calculation unit 1901, ROM 1902, and RAM 1903 are connected to each other via a bus 1904. An input/output (I/O) interface 1905 is also connected to bus 1904.
A number of components in electronic device 1900 are connected to I/O interface 1905, including: an input unit 1906, an output unit 1907, a storage unit 1908, and a communication unit 1909. The input unit 1906 may be any type of device capable of inputting information to the electronic device 1900, and the input unit 1906 may receive input numeric or character information and generate key signal inputs related to user settings and/or function controls of the electronic device. Output unit 1907 can be any type of device capable of presenting information and can include, but is not limited to, a display, speakers, a video/audio output terminal, a vibrator, and/or a printer. Storage unit 1908 can include, but is not limited to, a magnetic disk, an optical disk. The communication unit 1909 allows the electronic device 1900 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, such as bluetooth devices, WiFi devices, WiMax devices, cellular communication devices, and/or the like.
The computing unit 1901 may be a variety of general purpose and/or special purpose processing components with processing and computing capabilities. Some examples of the computation unit 1901 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computation chips, various computation units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The calculation unit 1901 performs the respective methods and processes described above. For example, in some embodiments, the method of determining an access address based on the high and low bits may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 1908. In some embodiments, part or all of the computer program can be loaded and/or installed onto the electronic device 1900 via the ROM 1902 and/or the communication unit 1909. In some embodiments, the computing unit 1901 may be configured by any other suitable means (e.g., by means of firmware) to perform a method of determining an access address based on the high and low bits.
Program code for implementing the methods of the present invention may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Claims (16)

1. A method for determining an access address based on high and low bits, the method comprising:
receiving a memory access instruction, wherein the memory access instruction is used for indicating a base address and an offset;
acquiring a high-order address and a low-order address of the base address, wherein the low-order address corresponds to an Index of a target address and a position of an intra-block offset BlockOffset, and the high-order address corresponds to a position of a Tag of the target address;
acquiring a high-order address and a low-order address of the offset;
determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset;
determining a high-order address of the target address based on a high-order address of the base address, a high-order address of the offset and a carry result according to a preset high-order calculation rule;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the target address.
2. The method for determining an access address based on high and low bits according to claim 1, wherein the determining a carry result and a low address of the target address according to the low address of the base address and the low address of the offset comprises:
and adding the low-order address of the base address and the low-order address of the offset to obtain the Index and the BlockOffset of the target address and a carry result.
3. The method for determining an access address based on high and low bits as claimed in claim 2, wherein the method further comprises:
and when the Index of the target address is obtained, acquiring a plurality of corresponding Cache lines CacheLine in a Cache according to the Index of the target address.
4. The method for determining the access address based on the high and low bits as claimed in claim 1, wherein the performing the access operation corresponding to the access instruction on the position indicated by the target address includes:
determining Tag of the target address in the high-order address of the target address;
acquiring a corresponding target CacheLine from a plurality of cachelines acquired based on Index according to the Tag of the target address;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the Block offset in the target CacheLine.
5. The method for determining an access address based on high and low bits as claimed in claim 1, wherein the method further comprises: sign bit expansion is carried out on the offset to obtain an expanded offset, and the bit number of the expanded offset is the same as that of the base address;
the obtaining the high order address and the low order address of the offset includes: acquiring a high-order address and a low-order address of the expanded offset;
the determining a carry result and a low-order address of the target address according to the low-order address of the base address and the low-order address of the offset includes: and adding the low-order address of the base address and the low-order address of the expanded offset to determine a carry result and the low-order address of the target address.
6. The method for determining an access address based on high and low bits according to claim 5, wherein the determining the high bit address of the target address based on the high bit address of the base address and the high bit address of the offset and a carry result according to a preset high bit calculation rule comprises: and adding the high-order address of the base address and the high-order address of the expanded offset, and then adding the sum to the carry result to determine the high-order address of the target address.
7. The method for determining an access address based on high and low bits according to claim 5, wherein the determining the high bit address of the target address based on the high bit address of the base address and the high bit address of the offset and a carry result according to a preset high bit calculation rule comprises:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result is that the carry result indicates no carry.
8. An apparatus for determining an access address based on high and low bits, the apparatus comprising:
the device comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving a memory access instruction, and the memory access instruction is used for indicating a base address and an offset;
the acquisition module is used for acquiring a high-order address and a low-order address of the base address; acquiring a high-order address and a low-order address of the offset; the lower address corresponds to an Index of a target address and a position of an intra-block offset BlockOffset, and the upper address corresponds to a position of a Tag of the target address;
a determining module, configured to determine a carry result and a lower address of the target address according to the lower address of the base address and the lower address of the offset; determining a high-order address of the target address based on a high-order address of the base address, a high-order address of the offset and a carry result according to a preset high-order calculation rule;
and the execution module is used for executing the memory access operation corresponding to the memory access instruction on the position indicated by the target address.
9. The apparatus for determining an access address based on high and low bits according to claim 8, wherein the determining module is configured to:
and adding the low-order address of the base address and the low-order address of the offset to obtain the Index and the BlockOffset of the target address and a carry result.
10. The apparatus for determining an access address based on high and low bits according to claim 9, wherein the determining module is further configured to:
and when the Index of the target address is obtained, acquiring a plurality of corresponding Cache lines CacheLine in a Cache according to the Index of the target address.
11. The apparatus for determining an access address based on high and low bits according to claim 8, wherein the execution module is configured to:
determining Tag of the target address in the high-order address of the target address;
acquiring a corresponding target CacheLine from a plurality of cachelines acquired based on Index according to the Tag of the target address;
and executing the memory access operation corresponding to the memory access instruction on the position indicated by the Block offset in the target CacheLine.
12. The apparatus for determining an access address based on high and low bits according to claim 8, wherein the determining module is configured to:
sign bit expansion is carried out on the offset to obtain an expanded offset, and the bit number of the expanded offset is the same as that of the base address;
acquiring a high-order address and a low-order address of the expanded offset;
and adding the low-order address of the base address and the low-order address of the expanded offset to determine a carry result and the low-order address of the target address.
13. The apparatus for determining an access address based on high and low bits according to claim 12, wherein the determining module is configured to:
and adding the high-order address of the base address and the high-order address of the expanded offset, and then adding the sum to the carry result to determine the high-order address of the target address.
14. The apparatus for determining an access address based on high and low bits according to claim 12, wherein the determining module is configured to:
adding the high-order address of the base address and the high-order address of the expanded offset with 1 to determine a first pre-calculation result, wherein the gating condition of the first pre-calculation result is that the carry result indicates carry;
and adding the high-order address of the base address and the high-order address of the expanded offset to determine a second pre-calculation result, wherein the gating condition of the second pre-calculation result is that the carry result indicates no carry.
15. An electronic device, comprising:
a processor; and
a memory for storing a program, wherein the program is stored in the memory,
wherein the program comprises instructions which, when executed by the processor, cause the processor to carry out the method according to any one of claims 1-7.
16. A non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1-7.
CN202111218397.8A 2021-10-20 2021-10-20 Method and device for determining access address based on high and low bits Pending CN113656331A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111218397.8A CN113656331A (en) 2021-10-20 2021-10-20 Method and device for determining access address based on high and low bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111218397.8A CN113656331A (en) 2021-10-20 2021-10-20 Method and device for determining access address based on high and low bits

Publications (1)

Publication Number Publication Date
CN113656331A true CN113656331A (en) 2021-11-16

Family

ID=78484274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111218397.8A Pending CN113656331A (en) 2021-10-20 2021-10-20 Method and device for determining access address based on high and low bits

Country Status (1)

Country Link
CN (1) CN113656331A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867971A (en) * 2021-12-03 2021-12-31 北京壁仞科技开发有限公司 Method, apparatus, system and storage medium for accessing memory of graphics processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86108086A (en) * 1986-01-16 1987-07-29 国际商用机器公司 The equitant data handling system of address translation and address computation
TW587209B (en) * 1999-07-23 2004-05-11 Toshiba Corp Address converting circuit
CN105095095A (en) * 2014-05-12 2015-11-25 上海大学 Computer system and data reading and writing method
CN107690629A (en) * 2015-06-16 2018-02-13 Arm 有限公司 Address conversion
CN112860600A (en) * 2019-11-28 2021-05-28 深圳市海思半导体有限公司 Method and device for accelerating traversal of hardware page table

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86108086A (en) * 1986-01-16 1987-07-29 国际商用机器公司 The equitant data handling system of address translation and address computation
TW587209B (en) * 1999-07-23 2004-05-11 Toshiba Corp Address converting circuit
CN105095095A (en) * 2014-05-12 2015-11-25 上海大学 Computer system and data reading and writing method
CN107690629A (en) * 2015-06-16 2018-02-13 Arm 有限公司 Address conversion
CN112860600A (en) * 2019-11-28 2021-05-28 深圳市海思半导体有限公司 Method and device for accelerating traversal of hardware page table

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867971A (en) * 2021-12-03 2021-12-31 北京壁仞科技开发有限公司 Method, apparatus, system and storage medium for accessing memory of graphics processor
CN113867971B (en) * 2021-12-03 2022-03-15 北京壁仞科技开发有限公司 Method, apparatus, system and storage medium for accessing memory of graphics processor

Similar Documents

Publication Publication Date Title
CN113900966B (en) Access method and device based on Cache
CN113656330B (en) Method and device for determining access address
US11474951B2 (en) Memory management unit, address translation method, and processor
US9823854B2 (en) Priority-based access of compressed memory lines in memory in a processor-based system
US9063860B2 (en) Method and system for optimizing prefetching of cache memory lines
US20150143045A1 (en) Cache control apparatus and method
CN113934655B (en) Method and apparatus for solving ambiguity problem of cache memory address
JP2018503924A (en) Providing memory bandwidth compression using continuous read operations by a compressed memory controller (CMC) in a central processing unit (CPU) based system
US9323774B2 (en) Compressed pointers for cell structures
CN113656331A (en) Method and device for determining access address based on high and low bits
CN114637700A (en) Address translation method for target virtual address, processor and electronic equipment
CN114924794B (en) Address storage and scheduling method and device for transmission queue of storage component
US9514047B2 (en) Apparatus and method to dynamically expand associativity of a cache memory
US11436146B2 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
CN114063934A (en) Data updating device and method and electronic equipment
CN113778526B (en) Cache-based pipeline execution method and device
KR20040067063A (en) The low power consumption cache memory device of a digital signal processor and the control method of the cache memory device
CN114258533A (en) Optimizing access to page table entries in a processor-based device
JP5752331B2 (en) Method for filtering traffic to a physically tagged data cache
CN115858432B (en) Access method, device, electronic equipment and readable storage medium
CN117312232A (en) Data processing unit, data processing device, data processing method, electronic apparatus, and storage medium
CN107861890A (en) Memory access processing method, device and electronic equipment
CN116737600A (en) Data processing apparatus, data storage apparatus, data processing method, data storage apparatus, data processing device, data storage device, and data storage medium
CN114707478A (en) Mapping table generation method, device, equipment and storage medium
CN116841922A (en) TLB page table entry management method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211116