CN112835842A - Terminal sequence processing method, circuit, chip and electronic terminal - Google Patents
Terminal sequence processing method, circuit, chip and electronic terminal Download PDFInfo
- Publication number
- CN112835842A CN112835842A CN202110246956.XA CN202110246956A CN112835842A CN 112835842 A CN112835842 A CN 112835842A CN 202110246956 A CN202110246956 A CN 202110246956A CN 112835842 A CN112835842 A CN 112835842A
- Authority
- CN
- China
- Prior art keywords
- endian
- data
- processing
- endian processing
- mode
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Abstract
The embodiment of the application provides an end sequence processing method, an end sequence processing circuit, a chip and an electronic device, wherein the end sequence processing method is applied to the end sequence processing circuit, the end sequence processing circuit is located outside a data access unit, the end sequence processing circuit acquires source data from a memory, the data access unit acquires target data from the end sequence processing circuit, and the end sequence processing method comprises the following steps: determining an endian processing mode for processing the source data into the target data; determining the data access width when the data access unit acquires the target data; and performing endian processing on the source data according to the data access width and the endian processing mode to obtain the target data. According to the embodiment of the application, the endian processing is performed on the endian processing circuit outside the data access unit, so that the data access unit does not need to use extra clock cycles to perform the endian processing, and the consumption of the clock cycles of the data access unit is reduced.
Description
Technical Field
The embodiment of the application relates to the technical field of circuits, in particular to an end sequence processing method, a circuit, a chip and an electronic terminal.
Background
In various application scenarios, such as a screen-swiping display of a smart band/watch, or a large amount of fragmented accesses, the data access unit on the chip needs to perform an endian conversion process to access the external memory to obtain the target data. The endian conversion processing is implemented in the data access unit based on a software layer, which may cause the data access unit to use an extra instruction cycle to execute the endian conversion processing, resulting in a large consumption of clock cycles.
Disclosure of Invention
In view of the above, an objective of the present invention is to provide an end-sequence processing method, circuit, chip and electronic device, which overcome or alleviate the above-mentioned drawbacks in the prior art.
In a first aspect, an embodiment of the present application provides an endian processing method, which is applied to an endian processing circuit, where the endian processing circuit is located outside a data access unit, the endian processing circuit obtains source data from a memory, and the data access unit obtains target data from the endian processing circuit, and the endian processing method includes:
determining an endian processing mode for processing the source data into the target data;
determining the data access width when the data access unit acquires the target data;
and performing endian processing on the source data according to the data access width and the endian processing mode to obtain the target data.
Optionally, in an embodiment of the present application, the performing endian processing on the source data according to the data access width and the endian processing mode to obtain the target data includes:
determining endian processing logic according to the data access width and the endian processing mode;
and performing end sequence processing on the source data according to the end sequence processing logic to obtain the target data.
Optionally, in an embodiment of the present application, the endian processing logic is at least one of a 4-byte endian processing logic, a 2-byte endian processing logic, and a single-byte endian processing logic.
Optionally, in an embodiment of the present application, if a data access width when the data access unit obtains the target data is a single byte, the endian processing circuit obtains the data access width of the source data from the memory as the single byte;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: and according to the single-byte endian processing logic, carrying out endian processing on the source data to obtain the target data, so that the endian of the target data is the same as the endian of the source data.
Optionally, in an embodiment of the present application, if the data access width when the data access unit acquires the target data is 2bytes, the endian processing circuit acquires the data access width of the source data from the memory, where the data access width is 2 bytes;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 2-byte endian processing logic, the source data is processed in an endian manner to obtain the target data, so that the endianness between 2bytes in the target data is the same as or opposite to the endianness between 2bytes in the source data.
Optionally, in an embodiment of the present application, if the data access width when the data access unit acquires the target data is 4 bytes, the endian processing circuit acquires the data access width of the source data from the memory, where the data access width is 4 bytes;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 4-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 4 bytes in the target data is the same as or opposite to the endian between 4 bytes in the source data, or so that the endian between the first 2bytes in the target data is opposite to the endian between the first 2bytes in the source data, and the endian between the last 2bytes in the target data is opposite to the endian between the last 2bytes in the source data.
Optionally, in an embodiment of the present application, the determining an endian processing mode for processing the source data into the target data includes: and determining an endian processing mode for processing the source data into the target data according to a mode variable value acquired from an endian processing mode configuration register.
Optionally, in an embodiment of the present application, the number of the endian processing modes is multiple, and correspondingly, multiple endian processing mode identifiers are stored in the endian processing mode configuration register, and one endian processing mode identifier has one of the mode variable values, so that one of the mode variable values corresponds to one of the endian processing modes.
Optionally, in an embodiment of the present application, the determining an endian processing mode for processing the source data into the target data includes: and configuring the mode variable value corresponding to each endian processing mode in the endian processing mode configuration register according to the endian processing configuration data.
Optionally, in an embodiment of the present application, the endian processing mode configuration register is configured on the data access unit.
Optionally, in an embodiment of the present application, the memory is a memory of a serial peripheral interface supporting a 4-line operating mode, and the source data is transmitted to the endian processing circuit through the serial peripheral interface.
Optionally, in an embodiment of the present application, before the determining an endian processing mode for processing the source data into the target data, the determining includes: and judging whether the memory is in a memory mapping mode, if so, determining to process the source data into an end sequence processing mode of the target data.
Optionally, in an embodiment of the present application, the data access unit includes at least one of a central processing unit, a micro control unit, and a direct memory access controller.
In a second aspect, an embodiment of the present application provides an endian processing circuit, where the endian processing circuit is located outside a data access unit, the endian processing circuit obtains source data from a memory, the data access unit obtains target data from the endian processing circuit, and the endian processing circuit is configured to execute the endian processing method according to any embodiment of the present application to perform endian processing on the source data to obtain the target data.
In a third aspect, an embodiment of the present application provides a chip, which includes: the data access unit is used for acquiring target data from the endian processing circuit, and the endian processing circuit is used for executing the endian processing method in any embodiment of the application to perform endian processing on the source data to obtain the target data.
In a fourth aspect, an embodiment of the present application provides an electronic terminal, which includes the chip described in any embodiment of the present application.
In the endian processing scheme provided in the embodiment of the present application, the endian processing circuit is applied to an endian processing circuit, the endian processing circuit is located outside a data access unit, the endian processing circuit acquires source data from a storage device, the data access unit acquires target data from the endian processing circuit, and the endian processing method includes:
determining an endian processing mode for processing the source data into the target data; determining the data access width when the data access unit acquires the target data; according to the data access width and the endian processing mode, the source data is subjected to endian processing to obtain the target data, namely, the endian processing is performed on an endian processing circuit outside the data access unit, so that the data access unit does not need to use extra clock cycles to execute the endian processing, and the consumption of the clock cycles of the data access unit is reduced.
Drawings
Some specific embodiments of the present application will be described in detail hereinafter by way of illustration and not limitation with reference to the accompanying drawings. The same reference numbers in the drawings identify the same or similar elements or components. Those skilled in the art will appreciate that the drawings are not necessarily drawn to scale. In the drawings:
FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application;
FIG. 2 is a schematic flow chart illustrating an end-sequence processing method according to an embodiment of the present disclosure;
FIG. 3 is a flowchart illustrating an exemplary endian process according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of another application scenario according to an embodiment of the present application;
fig. 5 is a flowchart illustrating an endian processing method of the application scenario of fig. 4.
Detailed Description
It is not necessary for any particular embodiment of the invention to achieve all of the above advantages at the same time.
In order to make those skilled in the art better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, but not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application should fall within the scope of the protection of the embodiments in the present application.
The following further describes a specific implementation of the embodiments of the present application with reference to the drawings of the embodiments of the present application.
FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application; as shown in fig. 1, in this application scenario, the electronic terminal includes a chip and a memory, where the chip includes a data access unit and an endian processing circuit, where the endian processing circuit is located outside the data access unit, the endian processing circuit obtains source data from the memory and performs endian processing on the source data to obtain target data, and the data access unit obtains the target data from the endian processing circuit.
Optionally, in a specific application, the data Access Unit may be a CPU (Central Processing Unit), an MCU (micro control Unit), or a DMA (Direct Memory Access) controller.
Optionally, in a specific application, the memory is, for example, a FLASH device, such as a memory that is, for example, a Serial Peripheral Interface (spi) memory that supports a 4-wire operating mode, or a QSPI (Serial Peripheral Interface) memory that is also referred to as a 4-wire operating mode.
In this embodiment, the endianness mainly represents the byte order of the stored data. The end sequence can be called a zigzag node sequence, a tail sequence and a bit sequence. The endianness may include Big Endian (Big Endian) and Little Endian (Little Endian). In big endian, the high order bytes are placed at the low address of the memory and the low order bytes are placed at the high address of the memory. In little endian, the low order bytes are placed at the low address of the memory and the high order bytes are placed at the high address of the memory.
In a specific application, the endian processing circuit is, for example, a circuit generated by a hardware programming language (VHDL, Verilog, etc.), and may be specifically a System-on-a-Chip (SoC) Chip.
In a specific application, the source data is not particularly limited, and may be any data, such as pixel data or picture data or font data.
Optionally, in a specific application, the data access width is N times of 8bits, where N ≧ 1, such as 8bits (equivalent to the width of one byte, abbreviated as one byte), 16bits (i.e., the width of 2bytes, equivalent to the width of a half word, or also referred to as a half word), 32 bits (i.e., the width of 4 bytes, equivalent to the width of one word, or also referred to as a single word), and so on. It should be noted that, here, the data access width of a specific numerical value is only an example and is not limited only.
FIG. 2 is a schematic flow chart illustrating an end-sequence processing method according to an embodiment of the present disclosure; as shown in fig. 2, the endian processing method includes:
s201, determining an endian processing mode for processing the source data into the target data;
optionally, in a specific application, the step S201 may specifically include: and determining an endian processing mode for processing the source data into the target data according to a mode variable value acquired from an endian processing mode configuration register. Optionally, in a specific application, the number of the endian processing modes is multiple, and correspondingly, multiple endian processing mode identifiers are stored in the endian processing mode configuration register, and one endian processing mode identifier has one mode variable value, so that one mode variable value corresponds to one endian processing mode, and thus, mutually exclusive relationships are formed between the mode variable values corresponding to different endian processing modes, and switching of the endian processing modes can be quickly realized.
For example, if there are three end-sequence processing modes, which are Mode0, Mode1, and Mode2, respectively, if the acquired Mode variable value is 0, it is determined that the end-sequence processing Mode is Mode 0; and if the acquired Mode variable value is 1, determining that the endian processing Mode is Mode1, and if the Mode variable value is 2, determining that the endian processing Mode is Mode 2. Specifically, 3 endian processing Mode identifications xip _ Mode _ endian _ type _0, xip _ Mode _ endian _ type _1 and xip _ Mode _ endian _ type _2 are stored in the endian processing Mode configuration register, when the Mode variable value of xip _ Mode _ endian _ type _0 is 0, xip _ Mode _ endian _ type _0 is considered to be true, the corresponding endian processing Mode is Mode0, and conversely, when the Mode variable value of xip _ Mode _ endian _ type _0 is other values, xip _ Mode _ endian _ type _0 is considered to be false, and the corresponding endian processing Mode is not Mode 0; when the Mode variable value of xip _ Mode _ endian _ type _1 is 1, the corresponding end-sequence processing Mode is Mode1 if xip _ Mode _ endian _ type _1 is considered to be true, and conversely, when the Mode variable value of xip _ Mode _ endian _ type _1 is other values, the corresponding end-sequence processing Mode is not Mode1 if xip _ Mode _ endian _ type _1 is considered to be false; when the Mode variable value of xip _ Mode _ endian _ type _2 is 2, it is considered that xip _ Mode _ endian _ type _2 is true, and the corresponding endian processing Mode is Mode2, and conversely, when the Mode variable value of xip _ Mode _ endian _ type _2 is other values, it is considered that xip _ Mode _ endian _ type _2 is false, and the corresponding endian processing Mode is not Mode 2. It can be seen that, the relation of mutual exclusion is formed by the variable value of the pattern of xip _ Mode _ endian _ type _0 being 0, the variable value of the pattern of xip _ Mode _ endian _ type _1 being 1, and the variable value of the pattern of xip _ Mode _ endian _ type _2 being 2, so that the fast and convenient switching among the endian processing Mode0, the endian processing Mode1 and the endian processing Mode2 can be facilitated. Optionally, in a specific application, the endian processing mode configuration register is configured on the data access unit, so that the data access unit can quickly acquire a mode variable value from the endian processing mode configuration register and send the mode variable value to the endian processing circuit, so that the endian processing circuit determines, according to the mode variable value, an endian processing mode for processing the source data into the target data, which is equivalent to building a quick entry for data interaction between the data access unit and the endian processing circuit.
For example, when the data access unit is a CPU, the endian processing mode configuration register is configured on the CPU; when the data access unit is an MCU, the endian processing mode configuration register is configured on the MCU, so that a quick entry for data interaction between the CPU and the endian processing circuit is established.
Optionally, in a specific application, the determining an endian processing mode for processing the source data into the target data includes: according to the configuration data of the end sequence processing, the mode variable value corresponding to each end sequence processing mode is configured in the end sequence processing mode configuration register, so that the method is suitable for specific end sequence processing modes in different application scenes by changing the mode variable value in the end sequence processing mode configuration register, or the method can realize the quick switching of the end sequence processing modes according to different stages of data requirements of the data access unit in the same application scene.
For example, if the Mode variable value of the configuration xip _ Mode _ endian _ type _0 is 0, then the xip _ Mode _ endian _ type _0 is considered to be true, and the corresponding end-sequence processing Mode is Mode 0; when the Mode0 needs to be switched to the Mode1, the Mode variable value of the xip _ Mode _ endian _ type _0 is modified to be not 0, and the Mode variable value of the xip _ Mode _ endian _ type _1 is modified to be 1, so that the xip _ Mode _ endian _ type _1 is considered to be true, and the corresponding end-sequence processing Mode is the Mode1, so that the fast switching from the Mode0 to the Mode1 is realized.
S202, determining the data access width when the data access unit acquires the target data;
s203, according to the data access width and the endian processing mode, carrying out endian processing on the source data to obtain the target data with the target endian.
Optionally, in a specific application, the memory is a QSPI memory, and the endian processing circuit obtains the source data from the QSPI memory through an Advanced High-performance Bus (AHB).
Specifically, fig. 3 is a schematic flow chart of the endian processing according to the embodiment of the present application; as shown in fig. 3, step S203 may include:
s213, determining an endian processing logic according to the data access width and the endian processing mode;
optionally, in a specific application, the endian processing logic includes at least one of 4-byte endian processing logic, 2-byte endian processing logic, and single-byte endian processing logic, so as to perform endian processing on the source data respectively corresponding to the data access widths of 8bits, 16bits, and 32 bits to obtain a result that meets the requirement of the data access unit for obtaining the target data, for example, when the CPU is based on an ARM structure, the requirement can be effectively met for most application scenarios of the CPU, and only one configuration is needed to be applied to most application scenarios, thereby saving the design cost of endian processing.
And S223, performing end sequence processing on the source data according to the end sequence processing logic to obtain the target data.
Optionally, in a specific application, if the data access width when the data access unit acquires the target data is a single byte, the endian processing circuit acquires the data access width of the source data from the memory, so as to ensure that the bit width of the source data read from the memory by the endian processing circuit is a single byte each time, and the bit width of the target data read from the endian processing circuit by the data access unit is a single byte, that is, the bit width is equivalent to that the source data read by the endian processing circuit is the same as the bit width of the target data read by the data access unit, thereby avoiding waste of the data access width.
Further, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: and according to the single-byte endian processing logic, carrying out endian processing on the source data to obtain the target data, so that the endian of the target data is the same as the endian of the source data. For example, when performing endianness processing on the source data, the endianness of the source data is kept unchanged, so that the endianness of the target data is the same as the endianness of the source data, or the source data is output according to the source order. If the endian of the source data is big endian, the endian of the target data is also big endian; and if the endian of the source data is the little endian, the endian of the target data is also the little endian. Specifically, if the source data read from the memory at a certain time by the endian processing circuit is AA, the source data participating in one endian processing is AA (that is, the corresponding data access width is a single byte), and the target data obtained after the endian processing is also AA. And if the source data of the next end-sequence processing is BB, the target data obtained after the end-sequence processing is BB as well.
Optionally, in a specific application, if the data access width when the data access unit acquires the target data is 2bytes, the data access width when the endian processing circuit acquires the source data from the memory is 2bytes, so as to ensure that the bit width of the source data read from the memory by the endian processing circuit is 2bytes each time, and the bit width of the target data read from the endian processing circuit by the data access unit is 2bytes, that is, the bit width is equivalent to that the source data read by the endian processing circuit is the same as the bit width of the target data read by the data access unit, thereby avoiding waste of the data access width.
Further, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 2-byte endian processing logic, the source data is processed in an endian manner to obtain the target data, so that the endianness between 2bytes in the target data is the same as or opposite to the endianness between 2bytes in the source data. For example, when performing endianness processing on the source data, the endianness of the source data is kept unchanged, so that the endianness of the target data is the same as the endianness of the source data, or the source data is output according to the source order. If the endian of the source data is big endian, the endian of the target data is also big endian; and if the endian of the source data is the little endian, the endian of the target data is also the little endian. Specifically, if the source data read from the memory by the endian processing circuit is AABB, that is, the access width of the corresponding data is 2bytes, the source data participating in the endian processing is AABB, and the target data obtained after the endian processing is also AABB; if the source data processed by the next end sequence is CCDD, the target data obtained after the end sequence processing is also CCDD; it follows that the endianness of the source data and the target data is the same. For another example, when performing endian processing on the source data, the endian processing of the source data is performed in a reverse order (or also referred to as endian conversion) so that the endian of the target data is opposite to the endian of the source data, or the source data is output in a reverse order. If the endian of the source data is a big endian, the endian of the target data is a small endian; and if the endian of the source data is a small endian, the endian of the target data is a large endian. Specifically, if the source data read from the memory by the endian processing circuit at a certain time is AABB, the source data participating in the endian processing at a time is AABB, and the target data obtained after the endian processing is BBAA; and if the source data processed by the next endian processing is CCDD, the target data obtained after the endian processing is DDCC, so that the endianness of the source data and the target data is opposite.
Optionally, in a specific application, if the data access width when the data access unit acquires the target data is 4 bytes, the data access width when the endian processing circuit acquires the source data from the memory is 4 bytes, so as to ensure that the bit width of the source data read from the memory by the endian processing circuit is 4 bytes each time, and the bit width of the target data read from the endian processing circuit by the data access unit is 4 bytes, that is, the bit width is equivalent to that the source data read by the endian processing circuit is the same as the bit width of the target data read by the data access unit, thereby avoiding waste of the data access width.
Further, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 4-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 4 bytes in the target data is the same as or opposite to the endian between 4 bytes in the source data, or so that the endian between the first 2bytes in the target data is opposite to the endian between the first 2bytes in the source data, and the endian between the last 2bytes in the target data is opposite to the endian between the last 2bytes in the source data. For example, when performing endianness processing on the source data, the endianness of the source data is kept unchanged, so that the endianness of the target data is the same as the endianness of the source data, or the source data is output according to the source order. If the endian of the source data is big endian, the endian of the target data is also big endian; and if the endian of the source data is the little endian, the endian of the target data is also the little endian. Specifically, if the source data read from the memory by the endian processing circuit at a certain time is AABBCCDD (that is, the corresponding data access width is 4 bytes), the source data participating in the endian processing is AABBCCDD, and the target data obtained after the endian processing is also AABBCCDD; if the source data of the next endianness processing is EEFFGGHH, the target data obtained after the endianness processing is EEFFGGHH; it follows that the endianness of the source data and the target data is the same. Or, for another example, when performing endian processing on the source data, performing reverse-order processing on the endian of the source data so that the endian of the target data is opposite to the endian of the source data, or outputting the source data in a reverse order. If the endian of the source data is a big endian, the endian of the target data is a small endian; and if the endian of the source data is a small endian, the endian of the target data is a large endian. Specifically, if the source data read from the memory at a certain time by the endian processing circuit is AABBCCDD (that is, the corresponding data access width is 4 bytes), the source data participating in the endian processing is AABBCCDD, and the target data obtained after the endian processing is ddcbbaa; if the source data processed next time in the endian process is EEFFGGHH, the target data obtained after the endian process is HHGGFFEE, so that the endianness of the source data and the target data is opposite. Or, specifically, if the source data read from the memory by the endian processing circuit at a certain time is AABBCCDD (that is, the access width of the corresponding data is 4 bytes), the source data participating in the endian processing is AABBCCDD, and the target data obtained after the endian processing is BBAADDCC; if the source data processed next time in an endian manner is EEFFGGHH, the target data obtained after the endian processing is also ffeehgg, and thus it can be seen that the endianness between the first 2bytes in the target data is opposite to the endianness between the first 2bytes in the source data, and the endianness between the last 2bytes in the target data is opposite to the endianness between the last 2bytes in the source data.
FIG. 4 is a schematic diagram of another application scenario according to an embodiment of the present application; as shown in fig. 4, in this embodiment, taking the memory as a QSPI memory as an example, for this reason, the chip includes a QSPI controller in addition to a data access unit and an endian processing circuit, and therefore, the endian processing circuit is preferably disposed in the QSPI controller, thereby reducing the difficulty of circuit design. In addition, in fig. 4, the source data and the target data are transmitted through the AHB, the endian processing mode configuration register is set on the data access unit, and the endian processing configuration table is stored on the data access unit. As described above, the Mode0 (for example, referred to as the first Mode), the Mode1 (for example, referred to as the second Mode), and the Mode2 (for example, referred to as the third Mode) are used as examples of three modes of endian processing, and the modes of endian processing are described in the following table two.
FIG. 5 is a schematic flow chart illustrating an endian processing method of the present application for the application scenario of FIG. 4; as shown in fig. 5, it includes:
s501, configuring the mode variable value corresponding to each end sequence processing mode and end sequence processing logic corresponding to each end sequence processing mode in an end sequence processing mode configuration register according to end sequence processing configuration data;
in this embodiment, the manner of the source data in QSPI is shown in table one.
Watch 1
In table one, the offset address indicates an offset address, the Saved data indicates source data stored in each offset address, and the bit width of the data stored in each offset address is 8 bits.
In this embodiment, the endian processing configuration data may be embodied by an endian processing configuration table, as shown in table two.
Watch two
In table two, AHB Size indicates a data access width, HSIZE is a variable indicating the data access width, and if the variable is 8, the data access width is 8bits (i.e., a single byte), if the variable is 16 (i.e., 2 bytes), the data access width is 16bits, and if the variable is 32 (i.e., 4 bytes), the data access width is 32 bits. 0x00000000, 0x00000001, 0x00000002, 0x00000003 denote alignment addresses for achieving alignment of data bits, i.e., alignment of data bits of single byte data, data bits of 2byte data, data bits of 4 byte data. If the data access width is 8bits, the aligned addresses are 0x00000000, 0x00000001, 0x00000002, and 0x 00000003; if the data access width is 16bits, the aligned addresses are 0x00000000 and 0x 00000002; if the data access width is 32 bits, the aligned addresses are 0x00000000 and 0x 00000004.
Referring to table two above, if the data access width is one byte (i.e. HSIZE is 8), when performing endian processing on the source data, the endian processing logic corresponding to the endian processing modes Mode0, Mode1, and Mode2 are all one byte endian processing logic; if the data access width is 2bytes (i.e. HSIZE ═ 16), when performing endian processing on the source data, the endian processing logic corresponding to the endian processing modes Mode0, Mode1, and Mode2 is 2-byte endian processing logic; if the data access width is a single word (i.e., HSIZE ═ 32), when performing endian processing on the source data, the endian processing logic corresponding to the endian processing modes Mode0, Mode1, and Mode2 is 4-byte endian processing logic. Specifically, the details of the endian processing logic are described in the above embodiments.
S502, judging whether the memory is in a memory mapping mode;
in this embodiment, the data access unit, the endian processing circuit, and the QSPI memory are all connected through the AHB, and in order to implement data transmission, the memory may be in a memory mapping mode to implement mapping of a physical address space of the QSPI memory onto the AHB, so that the endian processing circuit may read source data from the QSPI memory.
If yes, go to step S503, otherwise, end. Here, in other embodiments, if it is determined that the storage is not in the memory mapping mode, the process may return to step S502 to perform the re-determination until the storage is in the memory mapping mode.
S503, determining an endian processing mode for processing the source data into the target data according to the mode variable value obtained from the endian processing mode configuration register;
in this embodiment, 2 bits are provided in the endian processing Mode configuration register to configure the Mode variable value, for example, if the Mode variable value is 0, it indicates that the endian processing Mode is Mode 0; if the Mode variable value is 1, it indicates that the endian processing Mode is Mode1, and if the Mode variable value is 2, it indicates that the endian processing Mode is Mode 2.
In the endian processing mode configuration register, there are stored 3 endian processing mode identifications xip _ mode _ endian _ type _0, xip _ mode _ endian _ type _1, xip _ mode _ endian _ type _2, as described above, each of the endian processing mode identifications has one of the mode variable values, so that one of the mode variable values corresponds to one of the endian processing modes. When the Mode variable values are 0, 1 and 2, respectively, xip _ Mode _ endian _ type _0, xip _ Mode _ endian _ type _1 and xip _ Mode _ endian _ type _2 are true, which means that the endian processing modes are Mode0, Mode1 and Mode2, respectively.
In other embodiments, Mode0 may be set as the default endian processing Mode. When there is no Mode variable value equal to 1 or 2, it indicates that the endian processing Mode is the default endian processing Mode0, and when there is a Mode variable value equal to 1 or 2, it indicates that the endian processing Mode is not the default endian processing Mode0, actually, the endian processing Mode1 or Mode 2.
S504, determining the data access width when the data access unit acquires the target data;
optionally, in a specific application, different data access width identifiers are configured for different data access widths, that is, the data access width identifiers are mutually exclusive, so that the data access width can be quickly determined according to the value of the data access width identifier. For example, if the data access width is 8bits, 16bits, or 32 bits, the configured data access width identifier is hsize _ byte, hsize _ half _ word, or hsize _ word, respectively, and if hsize _ byte is 1, the data access width is 8bits, that is, a single byte; if hsize _ half _ word is 1, it means that the data access width is 16bits, i.e., half word; if hsize _ word is 1, it means that the data access width is 32 bits, i.e., a single word.
S505, determining an endian processing logic according to the data access width and the endian processing mode;
in this embodiment, details of the endian processing logic are described in the above embodiments.
S506, performing end sequence processing on the source data according to the end sequence processing logic to obtain the target data;
in this embodiment, the detailed description of step S506 can be found in the description of the above embodiments. In the above embodiment, the mode variable value can be modified through the register instruction, so that flexible and convenient switching of the end sequence processing mode is realized, and the requirements of various application scenarios are met.
It should be noted here that the specific numerical values of the above-mentioned endian processing configuration data are merely examples and are not limited. Such as data access width, may also be 64 bits, 128 bits, etc. The number of the endian processing modes can exceed 3, so that the configuration of various possible endian processing modes and endian processing logics can be realized in the same endian configuration data table, flexible switching can be performed in various scenes, and the cost of endian processing design is reduced.
In addition, in the above embodiments, only one memory is taken as an example for description, but it is described here that there is no limitation on the number and type of the memories, that is, one data access unit may access a plurality of memories of the same or different types, such as QSPI memory, PSRAM (Pseudo static random access memory).
The following describes the application of the present invention to a significant reduction in clock consumption, taking as an example its application in a typical scenario.
For example, for the screen refreshing of the smart bracelet/watch, the picture used for the screen refreshing is stored in the QSPI memory, the source data is directly transmitted to the screen for display after being subjected to the end sequence processing by the end sequence processing circuit, which is equivalent to the transmission of P2P, so that the design scheme and the software architecture of the product can be more concise, the development difficulty and the development cost of a user are reduced, and in addition, the data calculation and screen refreshing processing capacity of the CPU can be more powerful. Assuming that the length width of the screen is 454 × 16bits, since 8bits is 1Byte, the data amount of 1 screen is 412232 Bytes.
If the operating frequency of the QSPI memory is 48Mhz, it is in 4-line operating mode (i.e. 4bits are transmitted per SCLK, i.e. it takes 2 clock cycles per byte (also referred to as 2 SCLK)), then the maximum theoretical limit speed is 48 × 4/8 — 24 MByte/Sec.
In addition, when the endian processing circuit reads source data from the QSPI memory, reading 1-byte data is referred to as 1beat data, which takes 2 SCLKs.
In addition, when reading source data, in addition to consuming the 2SCLK, if the endian processing circuit reads source data from the QSPI memory in a sio (single read Instruction) mode and performs endian processing, the whole clock consumption includes: the OVERHEAD clock consumption (also called indirect clock consumption) and the read Data consumption (also called Data Phase consumption) are recorded as OVERHEAD SLCK, the number of the OVERHEAD SLCK is 14 SCLKs, wherein, the time sequence is from front to back: 2 SCLKs (read command transfer consumption), 6 SCLKs (Address Phase consumption), and 6 SCLKs (latency Phase consumption).
(1) Based on the solution provided in this application, if HSIZE ═ 8, since 1Beat data is 1byte data, then read 4Beat data from QSPI memory, that is, 4 byte data, as mentioned above, since reading one byte data consumes 2SCLK, the total of 4 byte data is: 4 × 2SCLK ═ 8SCLK, the clock consumption of Data Phase is 8SCLK, since the whole process will consume: the sum of the OVERHEAD clock consumption (14SCLK) and the Data Phase consumption (4 x 2SCLK), totaling 22SCLK, then:
the access efficiency was (4 × 2)/(14+4 × 2) ═ 36.4%;
the theoretical transmission speed in the case of HSIZE-8 is 24 Mbyte/Sec-36.4% — 8.73 MB/Sec;
the theoretical consumption time for transmitting a screen of data is (412232/(1024) 1000/8.73 — 45 ms.
(2) Based on the scheme provided by the present application, if HSIZE ═ 32, since 1Beat data is 4 bytes of data, then read 4Beat data from QSPI memory, that is, 16 bytes, as described above, since reading one Byte of data consumes 2SCLK, 16 bytes of data, in total: similar to the above calculation method of HSIZE ═ 8, the whole process consumes 16 × 2SCLK ═ 32SCLK, the clock period consumed by Data Phase is 8SCLK, and the overlap SLCK is 14 SCLK: 14SCLK +16 × 2SCLK ═ 46SCLK, then:
the access efficiency was (16 × 2)/(14+2 × 16) ═ 69.6%;
the theoretical transmission speed in the case of HSIZE 32 is 24Mbyte/Sec 69.6% ═ 16.7 MB/Sec;
the theoretical elapsed time for transmitting a screen of data is: (412232/(1024 × 1024)). 1000/16.7 ═ 23.5 ms;
it can be seen that the access efficiency when HSIZE is 32 is higher than that when HSIZE is 8, and the theoretical consumption time for transmitting one screen data when HSIZE is 32 is shorter than that when HSIZE is 8. That is, the wider the data access width, the higher the access efficiency, and the shorter the theoretical consumption time for transmitting one screen data. Here, the case of HSIZE 16 is omitted.
If HSIZE is 32, based on the conventional endian processing method (i.e. software layer), the screen is swiped to the screen after the endian processing is performed, and compared with the case implemented when HSIZE is 32 in the present application, the conventional endian processing method consumes more time to complete the data access theoretically, and is analyzed in detail as follows.
Since the source data read from the memory is first buffered in the RAM in the conventional scheme, and is limited by the size of the RAM, the data stored in the volume memory needs to be divided into N blocks for storage.
Reading a first block of data into an RAM, performing end-sequence processing on the first block of data to obtain corresponding target data, transmitting the target data to a screen buffer area, and displaying the target data on a screen;
and by parity of reasoning, reading in the second block data, … and the Nth block, sequentially carrying out end-to-end processing to respectively obtain corresponding target data, transmitting the target data to a screen buffer area, and displaying on a screen until all the data blocks are brushed into the screen for displaying.
The total number of 16 bytes is calculated when reading the data if reading the 4Beat data. The above-mentioned process of accomplishing the screen brushing can be decomposed into: reading to a RAM, performing endian processing, and writing to a screen cache, then:
read-out to RAM consumes clock cycles: 14+4 × 2 ═ 46SCLK (see above examples for detailed calculations);
clock cycles consumed by the software layer for end-sequence processing: about 2 to 3 SCLK;
clock cycles consumed writing to screen buffer: 4 × 2 ═ 32 SCLK;
the average time consumed for completing the 16 bytes processing is about 80SCLK, and the full screen processing consumes about (412232/16) × 80 ═ 2061160 SCLK. (system scheduling, loop processing, and call out and in times at the software layer are ignored here).
The minimum theoretical elapsed time for transmitting a screen of data is:
2061160/48000000 is 42.9 ms. Wherein 48000000 is the QSPI memory operating frequency of 48 Mhz.
It can be seen that this 42.9ms is much greater than the 23.5ms mentioned above. In other words, after the scheme of this application is used, the frame rate of swiping the screen of wrist-watch/bracelet has obtained very big improvement, makes the product that originally slides and probably blocks and pause no longer block and pause, and the sliding effect becomes more smooth.
Therefore, in the above example, there are multiple endian processing modes, and different endian processing logics can be provided in each endian processing mode, and corresponding endian processing is completed on the endian processing circuit outside the data access unit, so that the data access unit is not required to waste extra clock cycles for data endian processing, and the clock consumption of the data access unit is saved. In addition, because the endian processing device is independent of the data access unit to carry out endian processing, software codes for carrying out endian processing do not need to be arranged on the data access unit, on one hand, the storage space of the data access unit is saved, on the other hand, the software design difficulty of the data access unit is also reduced, and the BUG introduced into the data access unit is reduced. Furthermore, the source data can be directly transmitted to the endian processing circuit without configuring a RAM for buffering the source data, thereby improving the data access speed and the access efficiency.
Thus, particular embodiments of the present subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may be advantageous.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims (16)
1. An endian processing method applied to an endian processing circuit, the endian processing circuit being external to a data access unit, the endian processing circuit obtaining source data from a memory, the data access unit obtaining target data from the endian processing circuit, the endian processing method comprising:
determining an endian processing mode for processing the source data into the target data;
determining the data access width when the data access unit acquires the target data;
and performing endian processing on the source data according to the data access width and the endian processing mode to obtain the target data.
2. The endian processing method according to claim 1, wherein the endian processing the source data to obtain the target data according to the data access width and the endian processing mode includes:
determining endian processing logic according to the data access width and the endian processing mode;
and performing end sequence processing on the source data according to the end sequence processing logic to obtain the target data.
3. The endian processing method of claim 2 wherein the endian processing logic is at least one of 4-byte endian processing logic, 2-byte endian processing logic, and single-byte endian processing logic.
4. The endian processing method according to claim 3, wherein if the data access width when the data access unit acquires the target data is a single byte, the endian processing circuit acquires the data access width of the source data from the memory as a single byte;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: and according to the single-byte endian processing logic, carrying out endian processing on the source data to obtain the target data, so that the endian of the target data is the same as the endian of the source data.
5. The endian processing method according to claim 3, wherein if the data access width when the data access unit acquires the target data is 2bytes, the endian processing circuit acquires the data access width of the source data from the memory as 2 bytes;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 2-byte endian processing logic, the source data is processed in an endian manner to obtain the target data, so that the endianness between 2bytes in the target data is the same as or opposite to the endianness between 2bytes in the source data.
6. The endian processing method according to claim 3, wherein if the data access width when the data access unit acquires the target data is 4 bytes, the endian processing circuit acquires the data access width of the source data from the memory as 4 bytes;
and, the performing, according to the endian processing logic, endian processing on the source data to obtain the target data includes: according to the 4-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 4 bytes in the target data is the same as or opposite to the endian between 4 bytes in the source data, or so that the endian between the first 2bytes in the target data is opposite to the endian between the first 2bytes in the source data, and the endian between the last 2bytes in the target data is opposite to the endian between the last 2bytes in the source data.
7. The endian processing method of any of claims 1-6, wherein the determining the endian processing mode to process the source data into the target data includes: and determining an endian processing mode for processing the source data into the target data according to a mode variable value acquired from an endian processing mode configuration register.
8. The endian processing method according to claim 7, characterised in that the number of endian processing modes is multiple, and correspondingly, multiple endian processing mode identifications are stored in the endian processing mode configuration register, one of the endian processing mode identifications having one of the mode variable values such that one of the mode variable values corresponds to one of the endian processing modes.
9. The endian processing method of claim 8 wherein the determining an endian processing mode to process the source data into the target data is preceded by: and configuring the mode variable value corresponding to each endian processing mode in the endian processing mode configuration register according to the endian processing configuration data.
10. An endian processing method according to any of the claims 7-9, characterised in that the endian processing mode configuration register is arranged on the data access unit.
11. The endian processing method of any of claims 1-10 where the memory is a memory of a serial peripheral interface that supports a 4-wire mode of operation, the source data being transmitted to the endian processing circuitry through the serial peripheral interface.
12. The endian processing method of any of claims 1-11, wherein the determining the endian processing mode to process the source data to the target data is preceded by: and judging whether the memory is in a memory mapping mode, if so, determining to process the source data into an end sequence processing mode of the target data.
13. An endian processing method according to any of claims 1-12 characterised in that the data access unit comprises at least one of a central processing unit, a micro control unit, a direct memory access controller.
14. An endian processing circuit, characterized in that the endian processing circuit is located outside a data access unit, the endian processing circuit obtains source data from a memory, the data access unit obtains target data from the endian processing circuit, the endian processing circuit is configured to execute the endian processing method according to any of claims 1-13 to endian the source data to obtain the target data.
15. A chip, comprising: an endian processing circuit and a data access unit, the endian processing circuit being external to the data access unit, the endian processing circuit obtaining source data from a memory, the data access unit obtaining target data from the endian processing circuit, the endian processing circuit being configured to perform the endian processing method of any of claims 1-13 to endian the source data to obtain the target data.
16. An electronic terminal, characterized in that it comprises a chip according to claim 15.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110246956.XA CN112835842A (en) | 2021-03-05 | 2021-03-05 | Terminal sequence processing method, circuit, chip and electronic terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110246956.XA CN112835842A (en) | 2021-03-05 | 2021-03-05 | Terminal sequence processing method, circuit, chip and electronic terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112835842A true CN112835842A (en) | 2021-05-25 |
Family
ID=75934646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110246956.XA Pending CN112835842A (en) | 2021-03-05 | 2021-03-05 | Terminal sequence processing method, circuit, chip and electronic terminal |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835842A (en) |
Citations (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3279575D1 (en) * | 1981-10-02 | 1989-04-27 | Hughes Aircraft Co | Self adjusting, distributed control, access method for a multiplexed single signal data bus |
GB9402470D0 (en) * | 1994-02-09 | 1994-03-30 | Texas Instruments Ltd | Improvements in or relating to mask generation |
US5519842A (en) * | 1993-02-26 | 1996-05-21 | Intel Corporation | Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system |
JPH08314797A (en) * | 1995-05-23 | 1996-11-29 | Fanuc Ltd | Memory access system |
EP0751655A2 (en) * | 1995-06-30 | 1997-01-02 | Thomson Consumer Electronics, Inc. | Multimedia transmission system |
JPH09269890A (en) * | 1996-04-03 | 1997-10-14 | Hitachi Ltd | Endian conversion system |
WO1997044739A1 (en) * | 1996-05-23 | 1997-11-27 | Advanced Micro Devices, Inc. | Apparatus for converting data between different endian formats and system and method employing same |
JPH10320175A (en) * | 1997-05-15 | 1998-12-04 | Nec Corp | Endian conversion system |
US5848436A (en) * | 1996-03-06 | 1998-12-08 | International Business Machines Corporation | Method and apparatus for efficiently providing data from a data storage medium to a processing entity |
KR19990023161A (en) * | 1997-08-21 | 1999-03-25 | 윤종용 | Data processing system and how it works |
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
JP2000082009A (en) * | 1998-09-04 | 2000-03-21 | Hitachi Ltd | Data processor |
JP2000330760A (en) * | 1999-05-17 | 2000-11-30 | Kyushu Nippon Denki Tsushin System Kk | Endian conversion system |
JP2002240371A (en) * | 2001-02-22 | 2002-08-28 | Canon Inc | Recording apparatus |
US6483753B1 (en) * | 2002-02-06 | 2002-11-19 | Lsi Logic Corporation | Endianess independent memory interface |
US20030200373A1 (en) * | 2001-12-07 | 2003-10-23 | David Kent | Computer system component |
GB0328536D0 (en) * | 2003-12-09 | 2004-01-14 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
US20040030856A1 (en) * | 2002-08-07 | 2004-02-12 | Qureshi Shiraz A. | System and method for operating in endian independent mode |
US20040054844A1 (en) * | 2002-09-17 | 2004-03-18 | Graham Kirsch | Host memory interface for a parallel processor |
JP2004318467A (en) * | 2003-04-16 | 2004-11-11 | Sony Corp | Memory control method and memory controller |
JP2004355432A (en) * | 2003-05-30 | 2004-12-16 | Canon Inc | Endian conversion circuit |
US20050125647A1 (en) * | 2003-12-09 | 2005-06-09 | Arm Limited | Endianess compensation within a SIMD data processing system |
US20050160246A1 (en) * | 2003-12-22 | 2005-07-21 | Joerg Franke | Method and device for controlling a memory access |
JP2005258611A (en) * | 2004-03-10 | 2005-09-22 | Murata Mach Ltd | Data processor |
JP2005285037A (en) * | 2004-03-31 | 2005-10-13 | Nec Corp | Data processor, its processing method, program, and cellphone |
JP2006018536A (en) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | Memory device, method for controlling memory and information processor |
WO2006027020A1 (en) * | 2004-09-10 | 2006-03-16 | Freescale Semiconductor, Inc. | Apparatus and method for multiple endian mode bus matching |
CN1797378A (en) * | 2004-12-24 | 2006-07-05 | 华为技术有限公司 | Method of data interchange by using mode of direct memory access |
CN1877494A (en) * | 2006-07-19 | 2006-12-13 | 北京天碁科技有限公司 | System-on-chip chip and its power consumption control method |
JP2007323491A (en) * | 2006-06-02 | 2007-12-13 | Oki Electric Ind Co Ltd | Direct memory access control device and control method |
US20080028197A1 (en) * | 2006-07-31 | 2008-01-31 | Takatsugu Sawai | Data transfer control device including endian conversion circuit |
CN101149717A (en) * | 2007-11-16 | 2008-03-26 | 威盛电子股份有限公司 | Computer system and direct RAM access transmission method |
CN101160564A (en) * | 2004-12-13 | 2008-04-09 | 英特尔公司 | Method and apparatus for implementing a bi-endian capable compiler |
US20080148029A1 (en) * | 2006-12-13 | 2008-06-19 | Arm Limited | Data processing apparatus and method for converting data values between endian formats |
US20080151677A1 (en) * | 2006-12-22 | 2008-06-26 | Fujitsu Limited | Memory device, memory controller and memory system |
US20080215653A1 (en) * | 2006-12-22 | 2008-09-04 | Gunther Fenzl | Data Processing Device with Multi-Endian Support |
CN101324868A (en) * | 2008-07-11 | 2008-12-17 | 中兴通讯股份有限公司 | Device for connecting processor and BOOT FLASH and implementing method |
CN101373461A (en) * | 2003-03-19 | 2009-02-25 | 松下电器产业株式会社 | Data sharing device for shared data between different byte sequence processors and processor |
CN101504567A (en) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | CPU, CPU instruction system and method for reducing CPU power consumption |
CN101504566A (en) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | Method for reducing CPU power consumption and CPU |
US20100031007A1 (en) * | 2008-02-18 | 2010-02-04 | Sandbridge Technologies, Inc. | Method to accelerate null-terminated string operations |
JP2010250905A (en) * | 2009-04-16 | 2010-11-04 | Toshiba Corp | Semiconductor integrated circuit and method for testing the same |
JP2011039964A (en) * | 2009-08-18 | 2011-02-24 | Fujitsu Semiconductor Ltd | Endian conversion circuit, endian conversion method and microcontroller |
CN102033734A (en) * | 2009-10-07 | 2011-04-27 | 晶心科技股份有限公司 | Data processing engine |
EP2336881A2 (en) * | 2009-12-21 | 2011-06-22 | Intel Corporation | Methods and apparatuses for endian conversion |
US20110191569A1 (en) * | 2008-09-12 | 2011-08-04 | Naoshi Ishikawa | Data processing device and semiconductor integrated circuit device |
CN202102449U (en) * | 2011-06-07 | 2012-01-04 | 郑州信大捷安信息技术股份有限公司 | SoC (System on Chip) chip-based external program security access framework |
US20120011490A1 (en) * | 2010-07-09 | 2012-01-12 | Kabushiki Kaisha Toshiba | Development system |
CN102567258A (en) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | Multi-dimensional DMA (direct memory access) transmitting device and method |
CN103198864A (en) * | 2013-03-22 | 2013-07-10 | 上海宏力半导体制造有限公司 | Access method of dual-separation gate flash memory |
AU2013231099A1 (en) * | 2011-01-13 | 2013-10-10 | Google Inc. | Processor mode locking |
JP2013218574A (en) * | 2012-04-10 | 2013-10-24 | Toshiba Corp | Endian problem detection device |
CN103500149A (en) * | 2013-09-29 | 2014-01-08 | 华为技术有限公司 | Direct memory access controller and direct memory access control method |
US20140019710A1 (en) * | 2011-03-18 | 2014-01-16 | Fujitsu Limited | Endian conversion method and system |
CN103634814A (en) * | 2012-09-10 | 2014-03-12 | 哈尔滨安天科技股份有限公司 | Wireless probe circuit device, wireless probe equipment and wireless datagram processing method |
US20140177375A1 (en) * | 2012-12-21 | 2014-06-26 | Spansion Llc | Memory Device with Internal Combination Logic |
CN104156180A (en) * | 2014-08-15 | 2014-11-19 | 华为技术有限公司 | Data reading method and terminal equipment |
CN104298645A (en) * | 2014-10-09 | 2015-01-21 | 深圳市国微电子有限公司 | Flexibly configured programmable system-on-chip chip and starting configuration method thereof |
CN104375962A (en) * | 2014-11-10 | 2015-02-25 | 中国航天科技集团公司第九研究院第七七一研究所 | Unified bit width converting structure and method in cache and bus interface of system chip |
CN104765577A (en) * | 2015-04-28 | 2015-07-08 | 杭州中天微系统有限公司 | High-speed storage system achieving self-adaptive frequency |
US20150248291A1 (en) * | 2014-02-28 | 2015-09-03 | International Business Machines Corporation | Endian-mode-independent memory access in a bi-endian-mode processor architecture |
US20150248293A1 (en) * | 2014-02-28 | 2015-09-03 | International Business Machines Corporation | Virtualization in a bi-endian-mode processor architecture |
CN105608013A (en) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | MRAM-integrated memory card control chip and memory card |
CN105989900A (en) * | 2015-03-05 | 2016-10-05 | 展讯通信(上海)有限公司 | System on chip and measurement of lowest working voltage of embedded memory of system on chip |
CN106355543A (en) * | 2015-07-15 | 2017-01-25 | 瑞萨电子株式会社 | Data processing system |
US20170123792A1 (en) * | 2015-11-03 | 2017-05-04 | Imagination Technologies Limited | Processors Supporting Endian Agnostic SIMD Instructions and Methods |
US20170139713A1 (en) * | 2015-11-13 | 2017-05-18 | International Business Machines Corporation | Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing |
CN107632787A (en) * | 2017-09-22 | 2018-01-26 | 北京融通高科微电子科技有限公司 | Method for reading data, apparatus and system |
CN107766021A (en) * | 2017-09-27 | 2018-03-06 | 芯启源(上海)半导体科技有限公司 | Image processing method, equipment, display system and storage medium |
CN108153703A (en) * | 2016-12-05 | 2018-06-12 | 深圳市中兴微电子技术有限公司 | A kind of peripheral access method and apparatus |
US20180232427A1 (en) * | 2017-02-13 | 2018-08-16 | Raytheon Company | Data structure endian conversion system |
CN109542515A (en) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | Arithmetic unit and method |
CN109582226A (en) * | 2018-11-14 | 2019-04-05 | 北京中电华大电子设计有限责任公司 | A kind of high speed storing access logical construction and its control method |
CN109933283A (en) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | Direct host accesses storage device memory space |
CN109933585A (en) * | 2019-02-22 | 2019-06-25 | 京东数字科技控股有限公司 | Data query method and data query system |
CN110297660A (en) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | SOC kernel is accelerated to read the method and system of instruction |
CN110399034A (en) * | 2019-07-04 | 2019-11-01 | 福州瑞芯微电子股份有限公司 | A kind of power consumption optimization method and terminal of SoC system |
CN110781105A (en) * | 2018-07-30 | 2020-02-11 | 三星电子株式会社 | Storage device, method and system for operating storage device |
US20200081656A1 (en) * | 2018-09-10 | 2020-03-12 | SK Hynix Inc. | Apparatus and method for processing data in memory system |
CN110892373A (en) * | 2018-07-24 | 2020-03-17 | 深圳市大疆创新科技有限公司 | Data access method, processor, computer system and removable device |
CN111427805A (en) * | 2020-03-19 | 2020-07-17 | 电子科技大学 | Quick memory access method based on page mode operation |
CN111599389A (en) * | 2020-05-13 | 2020-08-28 | 芯颖科技有限公司 | Data access method, data access circuit, chip and electronic equipment |
CN111679728A (en) * | 2019-12-31 | 2020-09-18 | 泰斗微电子科技有限公司 | Data reading method and device |
US20200364959A1 (en) * | 2019-05-16 | 2020-11-19 | Ford Global Technologies, Llc | Control processor unit (cpu) error detection by another cpu via communication bus |
CN212009554U (en) * | 2020-04-16 | 2020-11-24 | 芯海科技(深圳)股份有限公司 | Bus interface device, system-on-chip, system-in-package chip, board-level embedded system and terminal equipment |
CN112148418A (en) * | 2019-06-26 | 2020-12-29 | 北京百度网讯科技有限公司 | Method, apparatus, device and medium for accessing data |
CN112148661A (en) * | 2020-09-30 | 2020-12-29 | 维沃移动通信有限公司 | Data processing method and electronic equipment |
CN112199040A (en) * | 2020-09-18 | 2021-01-08 | 厦门星宸科技有限公司 | Storage access method and intelligent processing device |
-
2021
- 2021-03-05 CN CN202110246956.XA patent/CN112835842A/en active Pending
Patent Citations (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3279575D1 (en) * | 1981-10-02 | 1989-04-27 | Hughes Aircraft Co | Self adjusting, distributed control, access method for a multiplexed single signal data bus |
US5519842A (en) * | 1993-02-26 | 1996-05-21 | Intel Corporation | Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system |
GB9402470D0 (en) * | 1994-02-09 | 1994-03-30 | Texas Instruments Ltd | Improvements in or relating to mask generation |
JPH08314797A (en) * | 1995-05-23 | 1996-11-29 | Fanuc Ltd | Memory access system |
EP0751655A2 (en) * | 1995-06-30 | 1997-01-02 | Thomson Consumer Electronics, Inc. | Multimedia transmission system |
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
US5848436A (en) * | 1996-03-06 | 1998-12-08 | International Business Machines Corporation | Method and apparatus for efficiently providing data from a data storage medium to a processing entity |
JPH09269890A (en) * | 1996-04-03 | 1997-10-14 | Hitachi Ltd | Endian conversion system |
WO1997044739A1 (en) * | 1996-05-23 | 1997-11-27 | Advanced Micro Devices, Inc. | Apparatus for converting data between different endian formats and system and method employing same |
JPH10320175A (en) * | 1997-05-15 | 1998-12-04 | Nec Corp | Endian conversion system |
KR19990023161A (en) * | 1997-08-21 | 1999-03-25 | 윤종용 | Data processing system and how it works |
JP2000082009A (en) * | 1998-09-04 | 2000-03-21 | Hitachi Ltd | Data processor |
JP2000330760A (en) * | 1999-05-17 | 2000-11-30 | Kyushu Nippon Denki Tsushin System Kk | Endian conversion system |
JP2002240371A (en) * | 2001-02-22 | 2002-08-28 | Canon Inc | Recording apparatus |
US20030200373A1 (en) * | 2001-12-07 | 2003-10-23 | David Kent | Computer system component |
US6483753B1 (en) * | 2002-02-06 | 2002-11-19 | Lsi Logic Corporation | Endianess independent memory interface |
US20040030856A1 (en) * | 2002-08-07 | 2004-02-12 | Qureshi Shiraz A. | System and method for operating in endian independent mode |
US20040054844A1 (en) * | 2002-09-17 | 2004-03-18 | Graham Kirsch | Host memory interface for a parallel processor |
CN101373461A (en) * | 2003-03-19 | 2009-02-25 | 松下电器产业株式会社 | Data sharing device for shared data between different byte sequence processors and processor |
JP2004318467A (en) * | 2003-04-16 | 2004-11-11 | Sony Corp | Memory control method and memory controller |
JP2004355432A (en) * | 2003-05-30 | 2004-12-16 | Canon Inc | Endian conversion circuit |
GB0328536D0 (en) * | 2003-12-09 | 2004-01-14 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
US20050125647A1 (en) * | 2003-12-09 | 2005-06-09 | Arm Limited | Endianess compensation within a SIMD data processing system |
US20050160246A1 (en) * | 2003-12-22 | 2005-07-21 | Joerg Franke | Method and device for controlling a memory access |
JP2005258611A (en) * | 2004-03-10 | 2005-09-22 | Murata Mach Ltd | Data processor |
JP2005285037A (en) * | 2004-03-31 | 2005-10-13 | Nec Corp | Data processor, its processing method, program, and cellphone |
JP2006018536A (en) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | Memory device, method for controlling memory and information processor |
WO2006027020A1 (en) * | 2004-09-10 | 2006-03-16 | Freescale Semiconductor, Inc. | Apparatus and method for multiple endian mode bus matching |
CN101160564A (en) * | 2004-12-13 | 2008-04-09 | 英特尔公司 | Method and apparatus for implementing a bi-endian capable compiler |
CN1797378A (en) * | 2004-12-24 | 2006-07-05 | 华为技术有限公司 | Method of data interchange by using mode of direct memory access |
JP2007323491A (en) * | 2006-06-02 | 2007-12-13 | Oki Electric Ind Co Ltd | Direct memory access control device and control method |
CN1877494A (en) * | 2006-07-19 | 2006-12-13 | 北京天碁科技有限公司 | System-on-chip chip and its power consumption control method |
US20080028197A1 (en) * | 2006-07-31 | 2008-01-31 | Takatsugu Sawai | Data transfer control device including endian conversion circuit |
US20080148029A1 (en) * | 2006-12-13 | 2008-06-19 | Arm Limited | Data processing apparatus and method for converting data values between endian formats |
US20080151677A1 (en) * | 2006-12-22 | 2008-06-26 | Fujitsu Limited | Memory device, memory controller and memory system |
US20080215653A1 (en) * | 2006-12-22 | 2008-09-04 | Gunther Fenzl | Data Processing Device with Multi-Endian Support |
CN101149717A (en) * | 2007-11-16 | 2008-03-26 | 威盛电子股份有限公司 | Computer system and direct RAM access transmission method |
US20100031007A1 (en) * | 2008-02-18 | 2010-02-04 | Sandbridge Technologies, Inc. | Method to accelerate null-terminated string operations |
CN101324868A (en) * | 2008-07-11 | 2008-12-17 | 中兴通讯股份有限公司 | Device for connecting processor and BOOT FLASH and implementing method |
US20110191569A1 (en) * | 2008-09-12 | 2011-08-04 | Naoshi Ishikawa | Data processing device and semiconductor integrated circuit device |
CN105893270A (en) * | 2008-09-12 | 2016-08-24 | 瑞萨电子株式会社 | Data processing device and semiconductor integrated circuit device |
CN101504567A (en) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | CPU, CPU instruction system and method for reducing CPU power consumption |
CN101504566A (en) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | Method for reducing CPU power consumption and CPU |
JP2010250905A (en) * | 2009-04-16 | 2010-11-04 | Toshiba Corp | Semiconductor integrated circuit and method for testing the same |
JP2011039964A (en) * | 2009-08-18 | 2011-02-24 | Fujitsu Semiconductor Ltd | Endian conversion circuit, endian conversion method and microcontroller |
CN102033734A (en) * | 2009-10-07 | 2011-04-27 | 晶心科技股份有限公司 | Data processing engine |
EP2336881A2 (en) * | 2009-12-21 | 2011-06-22 | Intel Corporation | Methods and apparatuses for endian conversion |
US20120011490A1 (en) * | 2010-07-09 | 2012-01-12 | Kabushiki Kaisha Toshiba | Development system |
AU2013231099A1 (en) * | 2011-01-13 | 2013-10-10 | Google Inc. | Processor mode locking |
US20140019710A1 (en) * | 2011-03-18 | 2014-01-16 | Fujitsu Limited | Endian conversion method and system |
CN202102449U (en) * | 2011-06-07 | 2012-01-04 | 郑州信大捷安信息技术股份有限公司 | SoC (System on Chip) chip-based external program security access framework |
CN102567258A (en) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | Multi-dimensional DMA (direct memory access) transmitting device and method |
JP2013218574A (en) * | 2012-04-10 | 2013-10-24 | Toshiba Corp | Endian problem detection device |
CN103634814A (en) * | 2012-09-10 | 2014-03-12 | 哈尔滨安天科技股份有限公司 | Wireless probe circuit device, wireless probe equipment and wireless datagram processing method |
WO2014100188A1 (en) * | 2012-12-21 | 2014-06-26 | Spansion Llc | Memory device with internal data processing logic |
US20140177375A1 (en) * | 2012-12-21 | 2014-06-26 | Spansion Llc | Memory Device with Internal Combination Logic |
CN103198864A (en) * | 2013-03-22 | 2013-07-10 | 上海宏力半导体制造有限公司 | Access method of dual-separation gate flash memory |
CN103500149A (en) * | 2013-09-29 | 2014-01-08 | 华为技术有限公司 | Direct memory access controller and direct memory access control method |
US20150248291A1 (en) * | 2014-02-28 | 2015-09-03 | International Business Machines Corporation | Endian-mode-independent memory access in a bi-endian-mode processor architecture |
US20150248293A1 (en) * | 2014-02-28 | 2015-09-03 | International Business Machines Corporation | Virtualization in a bi-endian-mode processor architecture |
CN104156180A (en) * | 2014-08-15 | 2014-11-19 | 华为技术有限公司 | Data reading method and terminal equipment |
CN104298645A (en) * | 2014-10-09 | 2015-01-21 | 深圳市国微电子有限公司 | Flexibly configured programmable system-on-chip chip and starting configuration method thereof |
CN104375962A (en) * | 2014-11-10 | 2015-02-25 | 中国航天科技集团公司第九研究院第七七一研究所 | Unified bit width converting structure and method in cache and bus interface of system chip |
CN105989900A (en) * | 2015-03-05 | 2016-10-05 | 展讯通信(上海)有限公司 | System on chip and measurement of lowest working voltage of embedded memory of system on chip |
CN104765577A (en) * | 2015-04-28 | 2015-07-08 | 杭州中天微系统有限公司 | High-speed storage system achieving self-adaptive frequency |
CN105608013A (en) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | MRAM-integrated memory card control chip and memory card |
CN106355543A (en) * | 2015-07-15 | 2017-01-25 | 瑞萨电子株式会社 | Data processing system |
US20170123792A1 (en) * | 2015-11-03 | 2017-05-04 | Imagination Technologies Limited | Processors Supporting Endian Agnostic SIMD Instructions and Methods |
CN107038020A (en) * | 2015-11-03 | 2017-08-11 | 想象技术有限公司 | Support the processor and method of the unknowable SIMD instruction of end sequence |
US20170139713A1 (en) * | 2015-11-13 | 2017-05-18 | International Business Machines Corporation | Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing |
CN108153703A (en) * | 2016-12-05 | 2018-06-12 | 深圳市中兴微电子技术有限公司 | A kind of peripheral access method and apparatus |
US20180232427A1 (en) * | 2017-02-13 | 2018-08-16 | Raytheon Company | Data structure endian conversion system |
CN107632787A (en) * | 2017-09-22 | 2018-01-26 | 北京融通高科微电子科技有限公司 | Method for reading data, apparatus and system |
CN107766021A (en) * | 2017-09-27 | 2018-03-06 | 芯启源(上海)半导体科技有限公司 | Image processing method, equipment, display system and storage medium |
CN109542515A (en) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | Arithmetic unit and method |
CN109933283A (en) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | Direct host accesses storage device memory space |
CN110892373A (en) * | 2018-07-24 | 2020-03-17 | 深圳市大疆创新科技有限公司 | Data access method, processor, computer system and removable device |
CN110781105A (en) * | 2018-07-30 | 2020-02-11 | 三星电子株式会社 | Storage device, method and system for operating storage device |
US20200081656A1 (en) * | 2018-09-10 | 2020-03-12 | SK Hynix Inc. | Apparatus and method for processing data in memory system |
CN109582226A (en) * | 2018-11-14 | 2019-04-05 | 北京中电华大电子设计有限责任公司 | A kind of high speed storing access logical construction and its control method |
CN109933585A (en) * | 2019-02-22 | 2019-06-25 | 京东数字科技控股有限公司 | Data query method and data query system |
US20200364959A1 (en) * | 2019-05-16 | 2020-11-19 | Ford Global Technologies, Llc | Control processor unit (cpu) error detection by another cpu via communication bus |
CN110297660A (en) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | SOC kernel is accelerated to read the method and system of instruction |
CN112148418A (en) * | 2019-06-26 | 2020-12-29 | 北京百度网讯科技有限公司 | Method, apparatus, device and medium for accessing data |
CN110399034A (en) * | 2019-07-04 | 2019-11-01 | 福州瑞芯微电子股份有限公司 | A kind of power consumption optimization method and terminal of SoC system |
CN111679728A (en) * | 2019-12-31 | 2020-09-18 | 泰斗微电子科技有限公司 | Data reading method and device |
CN111427805A (en) * | 2020-03-19 | 2020-07-17 | 电子科技大学 | Quick memory access method based on page mode operation |
CN212009554U (en) * | 2020-04-16 | 2020-11-24 | 芯海科技(深圳)股份有限公司 | Bus interface device, system-on-chip, system-in-package chip, board-level embedded system and terminal equipment |
CN111599389A (en) * | 2020-05-13 | 2020-08-28 | 芯颖科技有限公司 | Data access method, data access circuit, chip and electronic equipment |
CN112199040A (en) * | 2020-09-18 | 2021-01-08 | 厦门星宸科技有限公司 | Storage access method and intelligent processing device |
CN112148661A (en) * | 2020-09-30 | 2020-12-29 | 维沃移动通信有限公司 | Data processing method and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101072707B1 (en) | System and method of processing data using scalar/vector instructions | |
US9235418B2 (en) | Register files for a digital signal processor operating in an interleaved multi-threaded environment | |
JP5318873B2 (en) | Instruction execution system and method in multi-stage data processing pipeline | |
US20050198471A1 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
JP2000076066A (en) | Signal processing circuit | |
JP2001350713A (en) | Transfer controller | |
US20030140212A1 (en) | Single instruction multiple data array cell | |
KR20070061086A (en) | High energy efficiency processor using dynamic voltage scaling | |
CN108604211B (en) | System and method for multiblock data transactions in a system-on-chip | |
JP2001184336A (en) | Matrix arithmetic unit and digital signal processor having matrix arithmetic function | |
CN112835842A (en) | Terminal sequence processing method, circuit, chip and electronic terminal | |
JP2006500658A (en) | Apparatus and method for dynamically decompressing a program | |
JP4160808B2 (en) | Memory read / write control circuit, contactless memory card, read / write device, and contactless memory card read / write system | |
US6505294B2 (en) | Direct control of operation blocks using operand signal of control instruction as extension to instruction set in a hardwired control processor | |
JPH0844560A (en) | Memory control circuit and integrated circuit element incorporating this circuit | |
JP2001184191A (en) | Data processor | |
CN107636611B (en) | System, apparatus, and method for temporarily loading instructions | |
JP3867804B2 (en) | Integrated circuit device | |
JP5025521B2 (en) | Semiconductor device | |
JP2010086321A (en) | Memory control system | |
WO2008026273A1 (en) | Dma controller | |
JP2000181854A (en) | Method for transmitting address to memory, and memory | |
WO2004088528A1 (en) | Semiconductor device | |
JPH07129398A (en) | Microprocessor | |
JP2007504527A (en) | Variable input phase for microcontroller instructions |
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 |