CN112835842B - Terminal sequence processing method, circuit, chip and electronic terminal - Google Patents

Terminal sequence processing method, circuit, chip and electronic terminal Download PDF

Info

Publication number
CN112835842B
CN112835842B CN202110246956.XA CN202110246956A CN112835842B CN 112835842 B CN112835842 B CN 112835842B CN 202110246956 A CN202110246956 A CN 202110246956A CN 112835842 B CN112835842 B CN 112835842B
Authority
CN
China
Prior art keywords
endian
data
processing
mode
source data
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.)
Active
Application number
CN202110246956.XA
Other languages
Chinese (zh)
Other versions
CN112835842A (en
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Priority to CN202110246956.XA priority Critical patent/CN112835842B/en
Publication of CN112835842A publication Critical patent/CN112835842A/en
Application granted granted Critical
Publication of CN112835842B publication Critical patent/CN112835842B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

The embodiment of the application provides an end sequence processing method, a circuit, a chip and an electronic device, wherein the end sequence processing method is applied to an end sequence processing circuit, the end sequence processing circuit is positioned 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 end-sequence 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 carrying out end-sequence processing on the source data according to the data access width and the end-sequence processing mode to obtain the target data. The embodiment of the application performs the end sequence processing on the end sequence processing circuit outside the data access unit, so that the data access unit does not need to use an extra clock cycle to execute the end sequence processing, thereby reducing the consumption of the clock cycle of the data access unit.

Description

Terminal sequence processing method, circuit, chip and electronic terminal
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 smart wristband/watch swipe display, or a large amount of fragmented access, 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 process is implemented in the data access unit based on the software layer, which results in that the data access unit needs to use an additional instruction cycle to execute the endian conversion process, resulting in a larger consumption of clock cycles.
Disclosure of Invention
Accordingly, one of the technical problems to be solved by the embodiments of the present application is to provide an end sequence processing method, a circuit, a chip and an electronic device, which are used for overcoming or alleviating the above-mentioned drawbacks in the prior art.
In a first aspect, an embodiment of the present application provides an endian processing method, 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, where the endian processing method includes:
determining an end-sequence 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 carrying out end-sequence processing on the source data according to the data access width and the end-sequence processing mode to obtain the target data.
Optionally, in an embodiment of the present application, performing the end processing on the source data to obtain the target data according to the data access width and the end processing mode includes:
Determining an endian processing logic according to the data access width and the endian processing mode;
and carrying out 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 4-byte endian processing logic, 2-byte endian processing logic, and single-byte endian processing logic.
Optionally, in an embodiment of the present application, if the data access width of the data access unit when obtaining the target data is a single byte, the endian processing circuit obtains the data access width of the source data from the memory to be a single byte;
And performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and according to the single-byte endian processing logic, endian processing is carried out 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 of the data access unit when obtaining the target data is 2 bytes, the endian processing circuit obtains the data access width of the source data from the memory to be 2 bytes;
And performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and according to the 2-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 2 bytes in the target data is the same as or opposite to the endian between 2 bytes in the source data.
Optionally, in an embodiment of the present application, if the data access width of the data access unit when obtaining the target data is 4 bytes, the endian processing circuit obtains the data access width of the source data from the memory to be 4 bytes;
And performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and 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 the endian between the first 2 bytes in the target data is opposite to the endian between the first 2 bytes in the source data, and the endian between the last 2 bytes in the target data is opposite to the endian between the last 2 bytes 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 end sequence processing mode for processing the source data into the target data according to the mode variable value acquired from the end sequence processing mode configuration register.
Optionally, in an embodiment of the present application, the number of the endian processing modes is plural, and correspondingly, a plurality of 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.
Optionally, in an embodiment of the present application, the determining the source data to be processed into the target data includes: and according to the endian processing configuration data, configuring the mode variable value corresponding to each endian processing mode in the endian processing mode configuration register.
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 supporting a serial peripheral interface of a 4-wire operation mode, and the source data is transferred to the end-sequence processing circuit through the serial peripheral interface.
Optionally, in an embodiment of the present application, before the determining to process the source data into the endian processing mode of the target data, the determining includes: and judging whether the memory is in a memory mapping mode, if so, determining an end sequence processing mode for processing the source data into 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, where the endian processing circuit obtains source data from a memory, and where the data access unit obtains target data from the endian processing circuit, where the endian processing circuit is configured to execute the endian processing method according to any one of the embodiments 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, including: the terminal sequence processing circuit is located outside the data access unit, the terminal sequence processing circuit obtains source data from the memory, the data access unit obtains target data from the terminal sequence processing circuit, and the terminal sequence processing circuit is used for executing the terminal sequence processing method according to any embodiment of the application to conduct terminal sequence 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 according to any one of the embodiments of the present application.
The endian processing scheme provided by the embodiment of the application is applied to an endian processing circuit, the endian processing circuit is positioned outside a data access unit, the endian processing circuit obtains source data from a storage device, the data access unit obtains target data from the endian processing circuit, and the endian processing method comprises the following steps:
Determining an end-sequence 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 according to the data access width and the endian processing mode, performing endian processing on the source data to obtain the target data, namely performing endian processing on an endian processing circuit outside the data access unit, so that the data access unit does not need to use an extra clock cycle to perform endian processing, and the consumption of the clock cycle of the data access unit is reduced.
Drawings
Some specific embodiments of the application will be described in detail hereinafter by way of example and not by way of limitation with reference to the accompanying drawings. The same reference numbers will be used throughout the drawings to refer to the same or like parts or portions. Those skilled in the art will appreciate that the drawings are not necessarily drawn to scale. In the accompanying 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 of an end sequence processing method according to an embodiment of the application;
FIG. 3 is a schematic flow chart of an end sequence process according to an embodiment of the present application;
Fig. 4 is a schematic diagram of another application scenario according to an embodiment of the present application;
fig. 5 is a flow chart of the end sequence processing method for the application scenario of fig. 4 according to the present application.
Detailed Description
It is not necessary for any of the embodiments of the application to be practiced with all of the advantages described above.
In order to better understand the technical solutions in the embodiments of the present application, the following description will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which are derived by a person skilled in the art from embodiments of the application, shall fall within the scope of protection of the embodiments of the application.
The following further describes specific implementations of embodiments of the present application in conjunction with the accompanying drawings of embodiments of the present application.
FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application; in this application scenario, as shown in fig. 1, 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, and 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.
Alternatively, in a specific application, the data access unit may be a CPU (central processing unit ), MCU (micro control unit, microcontroller Unit) or DMA (direct memory access ) controller.
Alternatively, in a specific application, the memory is for example a FLASH device, such as for example a memory of a serial peripheral interface supporting a 4-wire operation mode, or also called QSPI (Quad SERIAL PERIPHERAL INTERFACE, serial peripheral interface for 4-wire operation mode) memory.
In this embodiment, the endian mainly indicates a byte order of the stored data. The endian may also be referred to as endian, and endian. The motifs may include Big motifs (Big-Endian) and small motifs (Little-Endian). In the 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 the small 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 a circuit generated by a hardware programming language (VHDL, verilog, etc.), which may be specifically a SoC (System-on-a-Chip) 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 word-matrix data.
Alternatively, in a specific application, the data access width is N times of 8 bits, where N is greater than or equal to 1, such as 8 bits (corresponding to a width of one byte, abbreviated as a single byte), 16 bits (corresponding to a width of 2 bytes, corresponding to a width of half a word, or referred to as half a word), 32 bits (corresponding to a width of 4 bytes, corresponding to a width of one word, or referred to as a single word), and so on. It should be noted here that the data access width of a specific value is merely an example and is not uniquely defined.
FIG. 2 is a schematic flow chart of an end sequence processing method according to an embodiment of the application; as shown in fig. 2, the endian processing method includes:
s201, determining an end sequence 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 end sequence processing mode for processing the source data into the target data according to the mode variable value acquired from the end sequence processing mode configuration register. Optionally, in a specific application, the number of the endian processing modes is multiple, 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 therefore mutual exclusion relation is formed between mode variable values corresponding to different endian processing modes, and switching of the endian processing modes can be rapidly achieved.
For example, if there are three endian processing modes, respectively Mode0, mode1, mode2, and if the obtained Mode variable value is 0, determining that the endian processing Mode is Mode 0; and if the obtained Mode variable value is 1, determining that the end sequence processing Mode is Mode1, and if the Mode variable value is 2, determining that the end sequence processing Mode is Mode2. Specifically, 3 endian processing Mode identifiers xip_mode_endian_type_0, xip_mode_endian_type_1, 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, the corresponding endian processing Mode is considered to be Mode0, and conversely, when the Mode variable value of xip_mode_endian_type_0 is other values, the corresponding endian processing Mode is considered to be xip_mode_endian_type_0 is not considered to be Mode 0; when the Mode variable value of xip_mode_endian_type_1 is 1, then xip_mode_endian_type_1 is considered to be true, then the corresponding endian processing Mode is Mode1, conversely, when the Mode variable value of xip_mode_endian_type_1 is other value, then xip_mode_endian_type_1 is considered to be false, then the corresponding endian processing Mode is not Mode 1; when the Mode variable value of xip_mode_endian_type_2 is 2, xip_mode_endian_type_2 is considered to be true, the corresponding endian processing Mode is Mode2, and conversely, when the Mode variable value of xip_mode_endian_type_2 is other value, xip_mode_endian_type_2 is considered to be false, and the corresponding endian processing Mode is not Mode2. It can be seen that the Mode variable value of xip_mode_endian_type_0 is 0, the Mode variable value of xip_mode_endian_type_1 is 1, and the Mode variable value of xip_mode_endian_type_2 is 2 form mutually exclusive relationships, so that 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 conveniently and quickly obtain 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 an endian processing mode for processing the source data into the target data according to the mode variable value, 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 rapid entry for data interaction between the CPU and the endian processing circuit is built.
Optionally, in a specific application, the determining the source data to be processed into the target data in an end-sequence processing mode includes: according to the endian processing configuration data, the mode variable value corresponding to each endian processing mode is configured in an endian processing mode configuration register, so that the method is convenient to be applicable to specific endian processing modes in different application scenes by changing the mode variable value in the endian processing mode configuration register, or quick switching of the endian processing modes is realized according to different stages of data requirements of a data access unit in the same application scene.
For example, when the Mode variable value of xip_mode_endian_type_0 is configured to be 0, then xip_mode_endian_type_0 is considered to be true, and then the corresponding endian processing Mode is Mode0; when the Mode is required to be switched from Mode0 to Mode 1, modifying the Mode variable value of xip_mode_endian_type_0 to be non-0, and modifying the Mode variable value of xip_mode_endian_type_1 to be 1, considering xip_mode_endian_type_1 to be true, and enabling the corresponding end sequence processing Mode to be Mode 1, so that the fast switching from Mode0 to Mode 1 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, performing 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 circuitry obtains source data from the QSPI memory via an AHB (ADVANCED HIGH-performance Bus).
Specifically, fig. 3 is a schematic flow chart of an end sequence process according to an 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 that when the data access width is 8 bits, 16 bits, and 32 bits, the endian processing is performed on the source data to obtain the requirement of the data access unit for obtaining the target data, for example, when the CPU is based on the ARM structure, most of application scenarios of the CPU can be effectively satisfied, and the CPU can be suitable for most of application scenarios only by configuration once, thereby saving design cost of endian processing.
S223, according to the end sequence processing logic, performing end sequence processing on the source data to obtain the target data.
Optionally, in a specific application, if the data access width of the data access unit when obtaining the target data is a single byte, the endian processing circuit obtains the data access width of the source data from the memory to be a single byte, 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 widths of the source data read by the endian processing circuit and the target data read by the data access unit are the same, thereby avoiding the waste of the data access width.
Further, according to the endian processing logic, performing endian processing on the source data to obtain the target data, including: and according to the single-byte endian processing logic, endian processing is carried out 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 the source data is processed in an endian manner, the endian of the source data is kept unchanged, so that the endian of the target data is the same as the endian of the source data, or the source data is output according to the endian. If the end sequence of the source data is a big end sequence, the end sequence of the target data is also a big end sequence; if the end sequence of the source data is a small end sequence, the end sequence of the target data is also a small end sequence. Specifically, if the source data read from the memory by the endian processing circuit at a time is AA, the source data participating in the one-time endian processing is AA (i.e., the corresponding data access width is single byte), and the target data obtained after the endian processing is AA. If the source data of the next endian processing is BB, the target data obtained after the endian processing is BB.
Optionally, in a specific application, if the data access width of the data access unit when obtaining the target data is 2 bytes, the endian processing circuit obtains the data access width of the source data from the memory to be 2 bytes, so as to ensure that the bit width of the source data read from the memory by the endian processing circuit is 2 bytes each time, and the bit width of the target data read from the endian processing circuit by the data access unit is 2 bytes, that is, the bit widths of the source data read by the endian processing circuit and the target data read by the data access unit are the same, thereby avoiding the waste of the data access width.
Further, according to the endian processing logic, performing endian processing on the source data to obtain the target data, including: and according to the 2-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 2 bytes in the target data is the same as or opposite to the endian between 2 bytes in the source data. For example, when the source data is processed in an endian manner, the endian of the source data is kept unchanged, so that the endian of the target data is the same as the endian of the source data, or the source data is output according to the endian. If the end sequence of the source data is a big end sequence, the end sequence of the target data is also a big end sequence; if the end sequence of the source data is a small end sequence, the end sequence of the target data is also a small end sequence. Specifically, the source data read from the memory by the endian processing circuit at a certain time is AABB, namely, the corresponding data access width is 2 bytes, the source data participating in the one-time endian processing is AABB, and the target data obtained after the endian processing is AABB; if the source data processed by the next end sequence is CCDD, the target data obtained after the end sequence processing is CCDD; it follows that the endianness of the source data and the target data are identical. For example, when the source data is processed in an end-sequence manner, the end-sequence of the source data is processed in an inverse-sequence manner (or end-sequence conversion) so that the end-sequence of the target data is opposite to the end-sequence of the source data, or the source data is output in an inverse-sequence manner. If the end sequence of the source data is a large end sequence, the end sequence of the target data is a small end sequence; if the end sequence of the source data is a small end sequence, the end sequence of the target data is a large end sequence. 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 one-time endian processing is AABB, and the target data obtained after the endian processing is BBAA; 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 endian of the source data and the target data is opposite.
Optionally, in a specific application, if the data access width of the data access unit when obtaining the target data is 4 bytes, the endian processing circuit obtains the data access width of the source data from the memory to be 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 widths of the source data read by the endian processing circuit and the target data read by the data access unit are the same, thereby avoiding the waste of the data access width.
Further, according to the endian processing logic, performing endian processing on the source data to obtain the target data, including: and 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 the endian between the first 2 bytes in the target data is opposite to the endian between the first 2 bytes in the source data, and the endian between the last 2 bytes in the target data is opposite to the endian between the last 2 bytes in the source data. For example, when the source data is processed in an endian manner, the endian of the source data is kept unchanged, so that the endian of the target data is the same as the endian of the source data, or the source data is output according to the endian. If the end sequence of the source data is a big end sequence, the end sequence of the target data is also a big end sequence; if the end sequence of the source data is a small end sequence, the end sequence of the target data is also a small end sequence. Specifically, when the source data read from the memory by the endian processing circuit at a certain time is AABBCCDD (i.e., the corresponding data access width is 4 bytes), the source data participating in the one-time endian processing is AABBCCDD, and the target data obtained after the endian processing is also AABBCCDD; if the source data processed by the next end sequence is EEFFGGHH, the target data obtained after the end sequence processing is EEFFGGHH; it follows that the endianness of the source data and the target data are identical. For example, when the source data is processed in the end sequence, the end sequence of the source data is processed in the reverse sequence, so that the end sequence of the target data is opposite to the end sequence of the source data, or the source data is output in the reverse sequence. If the end sequence of the source data is a large end sequence, the end sequence of the target data is a small end sequence; if the end sequence of the source data is a small end sequence, the end sequence of the target data is a large end sequence. Specifically, if the source data read from the memory by the endian processing circuit at a time is AABBCCDD (i.e., the corresponding data access width is 4 bytes), the source data participating in the one-time endian processing is AABBCCDD, and the target data obtained after the endian processing is DDCCBBAA; if the source data processed by the next endian processing is EEFFGGHH, the target data obtained after the endian processing is HHGGFFEE, so that the endian of the source data and the target data are opposite. Or specifically, if the source data read from the memory by the endian processing circuit at a time is AABBCCDD (i.e. the corresponding data access width is 4 bytes), the source data participating in the one-time endian processing is AABBCCDD, and the target data obtained after the endian processing is BBAADDCC; if the source data of the next endian processing is EEFFGGHH, the target data obtained after the endian processing is FFEEHHGG, so that it can be seen that the endian between the first 2 bytes in the target data is opposite to the endian between the first 2 bytes in the source data, and the endian between the last 2 bytes in the target data is opposite to the endian between the last 2 bytes 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, the memory is taken as a QSPI memory, for which, 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, so as to reduce difficulty in circuit design. In addition, in fig. 4, source data and target data are transmitted through the AHB, and the above-mentioned endian processing mode configuration register is provided on the data access unit, and an endian processing configuration table is stored on the data access unit. In addition, as described above, three types of endian processing modes are described, which are respectively denoted as Mode0 (for example, also referred to as a first endian processing Mode), mode1 (for example, also referred to as a second endian processing Mode), and Mode2 (for example, also referred to as a third endian processing Mode), and the endian processing modes are described in the following table two.
FIG. 5 is a flow chart of the end sequence processing method for the application scenario of FIG. 4 according to the present application; as shown in fig. 5, it includes:
S501, configuring the mode variable value corresponding to each endian processing mode and endian processing logic corresponding to each endian processing mode in an endian processing mode configuration register according to endian processing configuration data;
in this embodiment, the manner in which the source data is in the QSPI is shown in table one.
List one
In table one, offset address indicates an offset address, SAVED DATA indicates source data stored in each offset address, and the bit width of data stored in each offset address is 8 bits.
In this embodiment, the endian processing configuration data may be specifically represented by an endian processing configuration table, as shown in table two.
Watch II
In table two, AHB Size represents a data access width, HSIZE represents a variable representing the data access width, and if the variable is 8, represents the data access width as 8 bits (i.e., single byte), if the variable is 16 (i.e., 2 bytes), represents the data access width as 16 bits, and if the variable is 32 (i.e., 4 bytes), represents the data access width as 32 bits. 0x00000000, 0x00000001, 0x00000002, 0x00000003 denote an alignment address for realizing alignment of data bits, i.e., data bits of single byte data, data bits of 2 byte data, data bits of 4 byte data. The data access width is 8 bits, and the aligned addresses are 0x 000000000000, 0x00000001, 0x00000002, 0x00000003; the data access width is 16 bits, and the aligned addresses are 0x00000000 and 0x00000002; the data access width is 32 bits, and the aligned addresses are 0x00000000 and 0x00000004.
Referring to the above table two, if the data access width is single byte (i.e. hsize=8), when the source data is processed in an end sequence, the end sequence processing logic corresponding to the end sequence processing modes Mode0, mode1 and Mode2 is single byte end sequence processing logic; if the data access width is 2 bytes (i.e. hsize=16), when the source data is processed in an endian Mode, the endian processing logic corresponding to the endian processing modes Mode0, mode1 and Mode2 is 2 bytes endian processing logic; if the data access width is a single word (i.e., hsize=32), then when the source data is processed in an endian Mode, the endian processing logic corresponding to the endian processing modes Mode0, mode1, mode2 is 4-byte endian processing logic. In particular, the examples of the endian processing logic are described in detail 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 an AHB, so that in order to implement data transmission, the memory may be in a memory mapping mode, so as 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 memory is not in the memory mapping mode, the process may return to step S502 to perform the re-determination until the memory is in the memory mapping mode.
S503, determining an end sequence processing mode for processing the source data into the target data according to the mode variable value obtained from the end sequence 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 Mode 1, and if the Mode variable value is 2, it indicates that the endian processing Mode is Mode 2.
Stored in the endian processing mode configuration register are 3 endian processing mode identifications xip_mode_endian_type_0, xip_mode_endian_type_1, xip_mode_endian_type_2, each of which has one of the mode variable values, as previously described, such 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, respectively, that is, the end sequence processing modes are Mode0, mode1 and Mode2, respectively.
In other embodiments, mode0 may also be set to a default endian processing Mode. When the Mode variable value equal to 1 or 2 does not exist, the endian processing Mode is indicated to be a default endian processing Mode0, and when the Mode variable value equal to 1 or 2 exists, the endian processing Mode is indicated to be not the default endian processing Mode0, and is actually the endian processing Mode1 or Mode2.
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 8 bits, 16 bits, or 32 bits, the configured data access width identifiers are hsize_byte, hsize_half_word, and hsize_word, respectively, and if hsize_byte=1, the data access width is 8 bits, that is, a single byte; if hsize_half_word=1, it indicates that the data access width is 16 bits, i.e., half word; if hsize_word=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, the description of the endian processing logic is detailed in the above embodiment.
S506, performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data;
In the present 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 the flexible and convenient switching of the endian processing mode is realized, and the requirements of various application scenes are met.
It should be noted here that the specific values of the above-mentioned endian processing configuration data are merely examples, and are not limited to uniqueness. Such as 64 bits, 128 bits, etc., of data access width. The number of the end sequence processing modes can be more than 3, so that the configuration of various possible end sequence processing modes and end sequence processing logic can be realized in the same end sequence configuration data table, flexible switching can be performed in various scenes, and the cost of end sequence processing design is reduced.
In addition, in the above embodiment, only one memory is described as an example, but it is described herein that there is no limitation on the number and type of memories, i.e., one data access unit may access a plurality of memories of the same or different types, such as QSPI memories, PSRAMs (Pseudo static randomaccess memory, pseudo static random access memories).
The scheme of the present application will be described below with reference to a great reduction in clock consumption, taking as an example an application in a typical scenario.
For example, for the screen brushing of intelligent bracelet/wrist-watch, the picture that the screen brushing used is stored in QSPI memory, and the terminal sequence processing circuit is directly transmitted to the screen and is shown after finishing terminal sequence processing to the source data, is equivalent to P2P transmission, can make design scheme and the software architecture of product become succinct more, has reduced user's development degree of difficulty and development cost, in addition, makes CPU's data calculation and screen brushing processing ability become more powerful. Assuming that the length width color depth of the screen is 454×454×16bits, since 8 bits=1 Bytes, the data amount of 1 screen is 412232Bytes.
If the QSPI memory operates at 48Mhz in a 4-wire mode (i.e., 4bits per SCLK transfers, i.e., 2 clock cycles per byte (also referred to as 2 SCLK)), the maximum theoretical limit speed is 48 x 4/8=24 MByte/Sec.
In addition, assuming that the endian processing circuit reads source data from the QSPI memory, reading 1 byte data is referred to as 1 bean data, and it takes 2 SCLKs.
In addition, in addition to consuming the above 2SCLK, if the endian processing circuit reads the source data from the QSPI memory according to SIOO (Sent Instruction Only Once, only one read command) mode and performs endian processing, the entire clock consumption includes: OVERHEAD clock consumption (also called indirect clock consumption) and read data consumption (also called DATA PHASE consumption), OVERHEAD clock consumption is OVERHEAD SLCK, the number of OVERHEAD SLCK is 14 SCLKs in total, wherein the following are sequentially from front to back in time sequence: 2SCLK (read instruction transfer consumes), 6 SCLK (addressing stage consumes, also known as ADDRESS PHASE consumes), 6 SCLK (waiting stage consumes, also known as Dummy Phase).
(1) Based on the scheme provided by the application, if hsize=8, since 1 bet data is 1 byte data, 4 bet data is read from the QSPI memory, and as described above, since reading one byte data consumes 2sclk,4 byte data is taken together: 4 x2 sclk=8sclk, the clock consumption for data Phase is 8SCLK, since the whole process will consume: OVERHEAD the sum of clock consumption (14 SCLK) and DATA PHASE consumption (4 x2 SCLK), 22SCLK total, then:
the access efficiency was (4*2)/(14+4×2) =36.4%;
the theoretical transmission speed in case of hsize=8 is 24Mbyte/Sec 36.4% =8.73 MB/Sec;
The theoretical time consumption for transmitting a screen data is (412232/(1024×1024)) ×1000/8.73=45 ms.
(2) Based on the scheme provided by the application, if hsize=32, since 1 bet data is 4-Byte data, then reading 4 bet data from the QSPI memory is 16Byte, as described above, since reading one-Byte data consumes 2sclk, 16-Byte data is total: the clock period consumed by 16×2sclk= 32SCLK,Data Phase is 8SCLK,OVERHEAD SLCK for 14 SCLKs, and similar to the calculation method of hsize=8, the whole process is consumed: 14sclk+16 x2 sclk=46 SCLK, then:
The access efficiency was (16×2)/(14+2×16) =69.6%;
The theoretical transmission speed in case of hsize=32 is 24Mbyte/Sec 69.6% =16.7 MB/Sec;
the theoretical time consumption for transmitting a screen data is: (412232/(1024 x 1024)) =1000/16.7=23.5 ms;
As can be seen, the access efficiency is higher when hsize=32 than when hsize=8, and the theoretical time consumption for transmitting one screen of data when hsize=32 is shorter than the theoretical time consumption for transmitting one screen of data when hsize=8. That is, the wider the data access width, the higher the access efficiency, and the shorter the theoretical consumed time for transmitting one screen of data. Here, the case when hsize=16 is omitted.
If hsize=32, the conventional endian processing method (i.e. software layer) performs the endian processing and then swipes the screen to the screen, the conventional endian processing method consumes more time theoretically to complete the data access, compared to the case of implementing hsize=32 in the scheme of the present application, and the detailed analysis is as follows.
Since in the conventional scheme, the source data read from the memory is first buffered to the RAM, and limited by the size of the RAM, the data stored in the mass memory needs to be decomposed into N blocks for storage.
Reading first block data into a RAM, performing end sequence processing on the first block data to obtain corresponding target data, transmitting the corresponding target data to a screen buffer area, and displaying the target data on a screen;
and by pushing, reading in the second block of data, … and the Nth block, sequentially performing end sequence processing to respectively obtain corresponding target data, transmitting the corresponding target data to a screen buffer area, and displaying on a screen until all the data blocks are brushed into the screen for displaying.
Since the total is 16 bytes if 4Beat data is read when the data is read. The process of finishing screen brushing can be decomposed into: reading to RAM, processing end sequence, writing to screen buffer, then:
Read out to the clock period consumed by RAM: 14+4×4×2=46 SCLK (see above examples for details);
clock period consumed by the software layer for end-sequence processing: about 2-3 SCLKs;
writing to the clock period consumed by the screen cache: 4 x 2 = 32SCLK;
the average time for 16-byte processing to complete is about 80SCLK, and the full-screen processing to complete is about (412232/16) 80= 2061160SCLK. (ignoring here the system scheduling, loop processing and call pop time of the software layer).
The minimum theoretical time spent transmitting a screen of data is:
2061160/48000000 = 42.9ms. Wherein 48000000 is the operating frequency of the QSPI memory of 48Mhz.
It can be seen that this 42.9ms is much greater than the 23.5ms mentioned above. In other words, after the scheme of the application is applied, the screen-brushing frame rate of the watch/bracelet is greatly improved, so that the product which can be blocked by the original sliding is not blocked any more, and the sliding effect is smoother.
Therefore, in the above example, there are multiple endian processing modes, and each endian processing mode can provide different endian processing logic, and the 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 additional clock cycles to perform data endian processing, thereby saving the clock consumption of the data access unit. In addition, the end sequence processing device is independent of the data access unit to carry out end sequence processing, so that software codes for carrying out end sequence processing are not required to be distributed on the data access unit, the storage space of the data access unit is saved, the software design difficulty of the data access unit is reduced, and the BUG introduced into the data access unit is reduced. Furthermore, the source data can be directly transmitted to the end sequence processing circuit without configuring a RAM for buffering the source data, so that the data access speed and the access efficiency are improved.
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 one …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from the other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and variations of the present application will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. which come within the spirit and principles of the application are to be included in the scope of the claims of the present application.

Claims (14)

1. An endian processing method, characterized in that it 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 end-sequence 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, performing endian processing on the source data to obtain the target data;
The determining to process the source data into an endian processing mode of the target data includes: 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;
The number of the endian processing modes is multiple, correspondingly, a plurality of endian processing mode identifiers are stored in the endian processing mode configuration register, one endian processing mode identifier is provided with one mode variable value, so that one mode variable value corresponds to one endian processing mode, and mutual exclusion relations are formed among the mode variable values corresponding to different endian processing modes.
2. The endian processing method according to claim 1, wherein 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 an endian processing logic according to the data access width and the endian processing mode;
and carrying out 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 a 4 byte endian processing logic, a 2 byte endian processing logic, a single byte endian processing logic.
4. The endian processing method according to claim 3, wherein if the data access width at the time of the data access unit acquiring 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 performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and according to the single-byte endian processing logic, endian processing is carried out 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 at the time of the data access unit acquiring the target data is 2 bytes, the endian processing circuit acquires the data access width of the source data from the memory is 2 bytes;
And performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and according to the 2-byte endian processing logic, performing endian processing on the source data to obtain the target data, so that the endian between 2 bytes in the target data is the same as or opposite to the endian between 2 bytes in the source data.
6. The endian processing method according to claim 3, wherein if the data access width at the time of the data access unit acquiring the target data is 4 bytes, the endian processing circuit acquires the data access width of the source data from the memory is 4 bytes;
And performing end-sequence processing on the source data according to the end-sequence processing logic to obtain the target data, including: and 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 the endian between the first 2 bytes in the target data is opposite to the endian between the first 2 bytes in the source data, and the endian between the last 2 bytes in the target data is opposite to the endian between the last 2 bytes in the source data.
7. The endian processing method of claim 6, wherein the determining to process the source data into an endian processing mode of the target data, previously comprises: and according to the endian processing configuration data, configuring the mode variable value corresponding to each endian processing mode in the endian processing mode configuration register.
8. The endian processing method of claim 1, wherein the endian processing mode configuration register is configured on the data access unit.
9. The endian processing method of any of claims 1-8, characterized in that the memory is a memory supporting a 4-wire mode of operation serial peripheral interface through which the source data is transferred to the endian processing circuitry.
10. The endian processing method of any of claims 1-8, wherein the determining prior to processing the source data into the endian processing mode of the target data comprises: and judging whether the memory is in a memory mapping mode, if so, determining an end sequence processing mode for processing the source data into the target data.
11. The endian processing method of any of claims 1-8, wherein the data access unit comprises at least one of a central processor, a micro control unit, and a direct memory access controller.
12. 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, and the endian processing circuit is used for executing the endian processing method according to any one of claims 1-11 to perform endian processing on the source data to obtain the target data.
13. A chip, comprising: the terminal sequence processing circuit is located outside the data access unit, the terminal sequence processing circuit obtains source data from a memory, the data access unit obtains target data from the terminal sequence processing circuit, and the terminal sequence processing circuit is used for executing the terminal sequence processing method of any one of claims 1-12 to perform terminal sequence processing on the source data to obtain the target data.
14. An electronic terminal comprising the chip of claim 13.
CN202110246956.XA 2021-03-05 2021-03-05 Terminal sequence processing method, circuit, chip and electronic terminal Active CN112835842B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110246956.XA CN112835842B (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 CN112835842B (en) 2021-03-05 2021-03-05 Terminal sequence processing method, circuit, chip and electronic terminal

Publications (2)

Publication Number Publication Date
CN112835842A CN112835842A (en) 2021-05-25
CN112835842B true CN112835842B (en) 2024-04-30

Family

ID=75934646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110246956.XA Active CN112835842B (en) 2021-03-05 2021-03-05 Terminal sequence processing method, circuit, chip and electronic terminal

Country Status (1)

Country Link
CN (1) CN112835842B (en)

Citations (70)

* Cited by examiner, † Cited by third party
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
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
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
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
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
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
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
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
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
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
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
CN105608013A (en) * 2015-07-10 2016-05-25 上海磁宇信息科技有限公司 MRAM-integrated memory card control chip and memory card
CN105893270A (en) * 2008-09-12 2016-08-24 瑞萨电子株式会社 Data processing device and semiconductor integrated circuit device
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
CN107038020A (en) * 2015-11-03 2017-08-11 想象技术有限公司 Support the processor and method of the unknowable SIMD instruction of end sequence
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
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
CN109933585A (en) * 2019-02-22 2019-06-25 京东数字科技控股有限公司 Data query method and data query system
CN109933283A (en) * 2017-12-19 2019-06-25 西部数据技术公司 Direct host accesses storage device memory space
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
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
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

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60129448T2 (en) * 2001-12-07 2008-04-10 Renesas Technology Europe Ltd., Maidenhead Bus bridge with a burst transmission mode bus and a single transmission mode bus
US6895489B2 (en) * 2002-08-07 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for operating in endian independent mode
GB2396442B (en) * 2002-09-17 2006-03-01 Micron Technology Inc Host memory interface for a parallel processor
GB2409067B (en) * 2003-12-09 2006-12-13 Advanced Risc Mach Ltd Endianess compensation within a SIMD data processing system
DE10361059A1 (en) * 2003-12-22 2005-07-28 Micronas Gmbh Method and apparatus for controlling memory access
JP2008033722A (en) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd Data transfer control device with endian conversion circuit
US8769251B2 (en) * 2006-12-13 2014-07-01 Arm Limited Data processing apparatus and method for converting data values between endian formats
DE102006061050A1 (en) * 2006-12-22 2008-06-26 Infineon Technologies Ag Data processing device for use in communication system and computer system, comprises two components, which are coupled with one another and are operated in different endian modes
JP5018074B2 (en) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 Memory device, memory controller and memory system
EP2245529A1 (en) * 2008-02-18 2010-11-03 Sandbridge Technologies, Inc. Method to accelerate null-terminated string operations
US20120011490A1 (en) * 2010-07-09 2012-01-12 Kabushiki Kaisha Toshiba Development system
JP5733385B2 (en) * 2011-03-18 2015-06-10 富士通株式会社 Endian conversion method and system
US9507595B2 (en) * 2014-02-28 2016-11-29 International Business Machines Corporation Execution of multi-byte memory access instruction specifying endian mode that overrides current global endian mode
US10120682B2 (en) * 2014-02-28 2018-11-06 International Business Machines Corporation Virtualization in a bi-endian-mode processor architecture
US10691456B2 (en) * 2015-11-13 2020-06-23 International Business Machines Corporation Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing
US20180232427A1 (en) * 2017-02-13 2018-08-16 Raytheon Company Data structure endian conversion system
KR102537373B1 (en) * 2018-09-10 2023-05-30 에스케이하이닉스 주식회사 Apparatus and method for transfering data in memory system
US11036573B2 (en) * 2019-05-16 2021-06-15 Ford Global Technologies, Llc Control processor unit (CPU) error detection by another CPU via communication bus

Patent Citations (70)

* Cited by examiner, † Cited by third party
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
US6483753B1 (en) * 2002-02-06 2002-11-19 Lsi Logic Corporation Endianess independent memory interface
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
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
CN101149717A (en) * 2007-11-16 2008-03-26 威盛电子股份有限公司 Computer system and direct RAM access transmission method
CN101324868A (en) * 2008-07-11 2008-12-17 中兴通讯股份有限公司 Device for connecting processor and BOOT FLASH and implementing method
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
AU2013231099A1 (en) * 2011-01-13 2013-10-10 Google Inc. Processor mode locking
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
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
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
CN107038020A (en) * 2015-11-03 2017-08-11 想象技术有限公司 Support the processor and method of the unknowable SIMD instruction of end sequence
CN108153703A (en) * 2016-12-05 2018-06-12 深圳市中兴微电子技术有限公司 A kind of peripheral access method and apparatus
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
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
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

Also Published As

Publication number Publication date
CN112835842A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
KR100266337B1 (en) Data processing circuit, semiconductor integrated circuit device, microcomputer, and electronic equipment
US9235418B2 (en) Register files for a digital signal processor operating in an interleaved multi-threaded environment
US6539467B1 (en) Microprocessor with non-aligned memory access
US8190854B2 (en) System and method of processing data using scalar/vector instructions
JP6467742B2 (en) Processor, method, and processing system
TWI502506B (en) Methods to optimize a program loop via vector instructions using a shuffle table and a blend table
JP2554050B2 (en) Data processing method
JPS6117484Y2 (en)
US20070271441A1 (en) Availability of space in a RISC microprocessor architecture
JP2016527650A (en) Methods, apparatus, instructions, and logic for providing vector population counting functionality
EP1058891A1 (en) Multi-processor system with shared memory
US20030140212A1 (en) Single instruction multiple data array cell
US20080077772A1 (en) Method and apparatus for performing select operations
JP2001184336A (en) Matrix arithmetic unit and digital signal processor having matrix arithmetic function
CN112835842B (en) Terminal sequence processing method, circuit, chip and electronic terminal
TW548587B (en) Apparatus and method for data processing and computer program product
US6542989B2 (en) Single instruction having op code and stack control field
JP2003044273A (en) Data processor and data processing method
JP2844591B2 (en) Digital signal processor
CN108351780B (en) Adjoining data element pairwise exchange processor, method, system and instructions
JP2002358288A (en) Semiconductor integrated circuit and computer readable recording medium
US6763450B1 (en) Processor
US8314803B2 (en) Buffering deserialized pixel data in a graphics processor unit pipeline
JP4160808B2 (en) Memory read / write control circuit, contactless memory card, read / write device, and contactless memory card read / write system
US10089077B1 (en) Parallel processing circuitry for encoded fields of related threads

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
GR01 Patent grant
GR01 Patent grant