CN112835842A - 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
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
Application number
CN202110246956.XA
Other languages
Chinese (zh)
Inventor
龙帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/CN112835842A/en
Publication of CN112835842A publication Critical patent/CN112835842A/en
Pending legal-status Critical Current

Links

Images

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

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

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 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
Figure BDA0002964427180000101
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
Figure BDA0002964427180000111
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.
CN202110246956.XA 2021-03-05 2021-03-05 Terminal sequence processing method, circuit, chip and electronic terminal Pending CN112835842A (en)

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)

* 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
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

Patent Citations (91)

* 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
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