WO2022227671A1 - 处理器微架构、SoC芯片及低功耗智能设备 - Google Patents
处理器微架构、SoC芯片及低功耗智能设备 Download PDFInfo
- Publication number
- WO2022227671A1 WO2022227671A1 PCT/CN2021/142830 CN2021142830W WO2022227671A1 WO 2022227671 A1 WO2022227671 A1 WO 2022227671A1 CN 2021142830 W CN2021142830 W CN 2021142830W WO 2022227671 A1 WO2022227671 A1 WO 2022227671A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- instruction
- processor
- architecture
- processing
- main
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the invention relates to the technical field of intelligent terminals, in particular to a processor micro-architecture, a SoC (system-on-chip) chip and a low-power consumption intelligent device.
- APCPU application processor main control system
- Sensor Hub sub-control subsystem
- Modem modem subsystem
- BTCPU subsystem a subsystem for Bluetooth connection and control, etc.
- the Cortex-M (a processor micro-architecture) series micro-architecture licensing scheme is generally implemented as the MCU core, but this method will bring several disadvantages: (1) Insufficient flexibility of the MCU micro-architecture: You can only choose from the optional MCU architecture, which often leads to excess or insufficient performance. For example, for the APCPU subsystem, a virtual memory system needs to be used to expand the available address space; while the ARM MCU does not have an MMU (memory management unit), so it cannot meet the requirements.
- MMU memory management unit
- the device core architecture cannot achieve the optimal solution: for example, in the smart watch architecture, APCPU and MMCPU (multimedia subsystem CPU) may all require AI processing acceleration capabilities.
- APCPU and MMCPU multimedia subsystem CPU
- a DSP co-processing unit SIMD
- SIMD DSP co-processing unit
- the main processor implements basic pipeline components and L1 Cache units, co-processing
- the technical problem to be solved by the present invention is to overcome the fact that the processor micro-architecture in the prior art either has very low execution efficiency and cannot meet the requirements of high performance, or cannot realize the shared use of coprocessors, and the main processor cannot meet the actual business requirements. Flexible configuration is required, which is easy to cause the defect that the best performance of the micro-architecture cannot be achieved or the excess performance of the micro-architecture occurs.
- a processor micro-architecture, a SoC chip and a low-power smart device are provided.
- the present invention provides a processor micro-architecture, the processor micro-architecture includes a coprocessor and at least two main processors, each of the main processors is connected to the coprocessor through a request processing unit;
- the request processing unit is configured to, when receiving use requests initiated by at least two main processors, determine a processing order corresponding to each main processor that initiates the request according to the first preset condition, and generate and Send feedback commands to different main processors;
- the main processor is configured to send a processing instruction to the coprocessor for processing when the received feedback instruction indicates that the use is permitted.
- the coprocessor includes an access interface unit and a coprocessing unit;
- the main processor is configured to send the processing instruction to the access interface unit
- the access interface unit is configured to transmit the processing instruction to the co-processing unit for processing
- the request processing unit is independently arranged between the access interface unit and each of the main processors; or, the request processing unit is integrated and arranged in the access interface unit.
- the first preset condition includes a preset processing priority corresponding to each of the main processors.
- the request processing unit is configured to generate, according to the processing sequence, a first feedback instruction indicating permission to use and a second feedback instruction indicating continued waiting, and send the first feedback instruction to the highest ranked feedback instruction.
- the main processor and respectively send the second feedback instruction to the other main processors in the lower order.
- the request processing unit is further configured to send the first feedback instruction to the main processor in the next rank when the main processor being processed cancels the initiation of the use request, and send all the requests.
- the second feedback instructions are respectively sent to the other main processors that are later in order.
- each of the main processors corresponds to a different power domain
- the access interface unit and the co-processing unit are divided into the same power domain.
- the main processor is configured to send the processing instruction to the access interface unit through a command stream; and/or,
- the co-processing unit is configured to determine to use a blocking instruction processing mode to process the processing instruction when the processing instruction satisfies the second preset condition; otherwise, use a pipelined instruction processing manner to process the processing instruction .
- the co-processing unit is configured to send an access request of a data storage unit to the corresponding main processor according to the processing instruction and read target data, so as to perform an instruction processing operation according to the target data; the The co-processing unit is further configured to write back the calculation result of the instruction processing operation according to the target data to the original register corresponding to the processing instruction, and after receiving the instruction response from the main processor, write the original register to the original register.
- the calculation result stored in the host processor is written back to the register of the host processor.
- the coprocessor supports user-defined instructions and/or Vector vector instructions.
- the main processor includes a plurality of configurable functional architectures, each of which is configured based on an open source instruction set architecture.
- the open source instruction set architecture includes an open source instruction set architecture RISC-V based on the principle of reduced instruction set;
- the open source instruction set architecture RISC-V supports multiple instruction sets
- the corresponding computing unit and pipeline architecture are configured according to each of the instruction sets.
- the instruction set includes a basic instruction set, a floating-point instruction set, a compressed instruction set or an extended instruction set; and/or,
- the configured pipeline architecture supports a three-stage pipeline architecture or a five-stage pipeline architecture.
- the functional architecture includes a multi-level memory structure.
- each level of memory structure in the configured multi-level memory structure corresponds to multiple memories of different categories;
- the memory includes L1 Cache, I-Cache, D-Cache, I-TCM, D-TCM (L1 Cache, I-Cache, D-Cache, I-TCM, D-TCM are all a kind of memory) or MMU.
- the main processor further comprises an extended instruction interface and an extended instruction co-processing unit, the extended instruction co-processing unit is respectively connected to the extended instruction interface and the system bus in communication, and the extended instruction co-processing unit is used for The extended instruction interface and the system bus extend the instruction set.
- the present invention also provides an SoC chip, which includes the above-mentioned processor micro-architecture.
- the present invention also provides a low-power consumption smart device, and the low-power consumption smart device includes the above-mentioned SoC chip.
- the low-power smart device includes a smart watch.
- Each main processor is connected to the request processing unit (ie, the arbiter/arbitration unit), so that when multiple main processors simultaneously initiate a use request to use the coprocessor to the request processing unit, according to the pre-priority setting , only one main controller CPU and one Ready signal are returned, and a Hold signal is returned to the remaining main controller CPUs respectively; when the main controller CPU being processed cancels the use request, it returns to the next main controller CPU.
- the request processing unit ie, the arbiter/arbitration unit
- each main controller CPU sends out a usage request, and the arbitration unit realizes the mutual exclusive access at the instruction level, so as to realize the coordination
- the processor is used as a shared resource, and multiple main controllers share access to the same coprocessor to meet the instruction-level delay, achieve the best balance between performance and power consumption, and effectively improve resource utilization.
- the coprocessor is implemented by user-defined instructions and Vector vector instructions, which can realize data-level parallel processing; instruction fetching and decoding units are implemented by a unified CPU pipeline architecture; instruction execution, data read and write back are implemented by The coprocessor is completed, and the instruction transmission and data access intercommunication are realized with the main controller CPU through the dedicated interface.
- the open source CPU project represented by RISC-V allows users to add and design instructions according to business needs to provide the best task processing capability.
- Each subsystem CPU (ie, multiple main controllers) of the shared coprocessor unit adopts the Harvard structure and needs to implement independent L1 instruction Cache and L1 data Cache; the entire multi-core processor architecture implements a unified L2 Cache; , the coprocessor accesses the L1 D-cache of the main controller through a dedicated interface.
- each main controller is divided into independent power supply domains, and the coprocessor also adopts an independent power supply domain design; when the coprocessor is not needed, the power supply can be cut off explicitly to improve the sharing efficiency,
- the purpose of reducing power consumption can better meet the requirements of the smart wearable device for the performance-to-power ratio.
- FIG. 1 is a first structural schematic diagram of a processor micro-architecture according to Embodiment 1 of the present invention.
- FIG. 2 is a second structural schematic diagram of the processor micro-architecture according to Embodiment 1 of the present invention.
- FIG. 3 is a third structural schematic diagram of the processor micro-architecture according to Embodiment 1 of the present invention.
- FIG. 4 is a schematic diagram of a principle framework of a processor micro-architecture according to Embodiment 1 of the present invention.
- FIG. 5 is a fourth schematic structural diagram of the processor micro-architecture according to Embodiment 1 of the present invention.
- FIG. 6 is a schematic structural diagram of a main processor in a processor micro-architecture according to Embodiment 2 of the present invention.
- FIG. 7 is a schematic diagram of a framework of an extended vector instruction and a user-defined instruction kernel architecture according to Embodiment 2 of the present invention.
- the processor micro-architecture of this embodiment is applied in an SoC chip of a low-power smart device (eg, a smart watch), and the processor micro-architecture is the CPU micro-architecture of the low-power smart device.
- a low-power smart device eg, a smart watch
- the processor micro-architecture is the CPU micro-architecture of the low-power smart device.
- multiple main processors will be designed to carry different system functions, such as APCPU for application processing, MMCPU for multimedia and Camera control, On SensorHub's SPCPU, etc.
- the processor micro-architecture of this embodiment includes a co-processor (Co-Processor Unit) 100 and at least two main processors (CPUs) 200, each main processor 200 processes requests through The unit 300 (or called Arbitrator, arbiter/arbitration unit) is connected to the coprocessor 100 .
- the request processing unit is provided between each main processor and the coprocessor, or in the coprocessor.
- each main processor 200 is connected to the request processing unit 300 through a Req (request) line and a Response (response) line, and the numbers of the Req and Response lines can be designed or adjusted according to actual conditions.
- Each CPU has CPU Core (processor core) and L1D-Cache (a kind of memory), etc.
- the CPU sends usage requests (req) and receives feedback commands (resp, including Ready/Hold), sends processing commands (cmd) and receives command responses (cmd resp) through the CPU Core; receives Mem req (data request) and Send Mem resp (data response).
- the request processing unit 300 is configured to, when receiving the usage requests initiated by at least two main processors 200, determine the processing order corresponding to each main processor 200 that initiates the request according to the first preset condition, and according to the processing order generating and sending feedback instructions to different main processors 200;
- the first preset condition includes, but is not limited to, a preset processing priority corresponding to each main processor 200 .
- the main processor 200 is configured to send the processing instruction to the coprocessor 100 for processing when the received feedback instruction indicates that the usage is allowed.
- each subsystem CPU ie the main processor 200
- the arbitration unit realizes the mutual exclusive access at the instruction level, and finally realizes the shared access of multiple subsystem CPUs to the same one
- the coprocessor 100 unit, the coprocessor 100 is used as a shared resource, which effectively improves the resource utilization rate.
- the coprocessor 100 supports user-defined extension instructions and Vector vector processing instructions. Taking the RISC-V instruction set as an example, it specifies user-defined instructions and Vector vector instructions that can be used for user extension.
- the coprocessor 100 architecture is designed and implemented according to the specifications of these instruction sets, and can be used to process custom instructions and vector multiplication, vector addition, and the like.
- the coprocessor 100 of this embodiment includes an access interface unit 400 and a coprocessing unit 500 .
- the co-processing unit 500 is an Accelarator (accelerator), and specifically includes a Commad dispatch Unit (instruction distribution unit), a Data access unit (data storage unit), and the like.
- the main processor 200 is configured to send the processing instruction to the access interface unit 400;
- the access interface unit 400 is configured to transmit the processing instruction to the co-processing unit 500 for processing;
- the request processing unit 300 is independently provided between the access interface unit 400 and each main processor 200 .
- the request processing unit 300 is integrated in the access interface unit 400 .
- the request processing unit 300 is integrated into the access interface unit 400 .
- the request processing unit 300 is configured to generate, according to the processing sequence, a first feedback instruction (eg, Ready signal) representing permission to use, and a second feedback instruction (eg, Hold signal) representing continued waiting, and send the first feedback instruction to the sequencer
- a first feedback instruction eg, Ready signal
- a second feedback instruction eg, Hold signal
- the request processing unit 300 is further configured to send the first feedback instruction to the main processor 200 in the next order when the main processor 200 being processed cancels the initiation of the use request, and send the second feedback instruction to other ordering partners respectively. After the main processor 200.
- the main processor 200 is configured to send the processing instruction to the access interface unit 400 in a command stream manner.
- the co-processing unit 500 is configured to determine to use a blocking instruction processing method to process the processing instruction when the processing instruction satisfies the second preset condition; otherwise, use a pipelined instruction processing manner to process the instruction. to be processed.
- the second preset condition corresponds to the category to which the processing instruction belongs.
- a certain category of processing instructions can be set according to actual needs to use a blocking instruction processing method, and a certain category of processing instructions requires a pipelined instruction processing method.
- the coprocessor 100 When the blocking instruction processing method is adopted, after each instruction issued by the main controller CPU, the coprocessor 100 will return a Busy signal to notify the corresponding main controller CPU through the access interface unit 400Interface. The main controller CPU executes an instruction Only after completion can the remaining commands be sent.
- the main controller CPU can continue to send instructions according to the flow line method without waiting.
- the co-processing unit 500 is used to send the access request of the data storage unit to the corresponding main processor 200 according to the processing instruction and read the target data, so as to perform the instruction processing operation according to the target data;
- the calculation result of the instruction processing operation is written back to the original register corresponding to the processing instruction, and after receiving the instruction response from the host processor 200 , the calculation result stored in the original register is written back to the register of the host processor 200 .
- the instructions to be processed by the coprocessor 100 include user-defined instructions or vector instructions.
- the instruction will simultaneously transmit two source register values to the coprocessor 100 through the dedicated channel.
- the coprocessor 100 subsequently requests the main processor 200 to access the L1-Dcache data through the mem req request, reads the Mem data pointed to by the register, and transfers the instruction to access the Cache through mem_req and mem_resp.
- the coprocessor 100 accesses the L1D-cache of the main controller through a dedicated interface.
- each main processor 200 corresponds to a different power domain, so that each main processor 200 can be powered on and off independently; the access interface unit 400 and the co-processing unit 500 are divided into the same power domain. If the main processor 200 needs to use the coprocessor 100, the power switch of the coprocessor 100 needs to be turned on in advance.
- each main controller is divided into independent power supply domains, and the coprocessor 100 also adopts an independent power supply domain design; when the coprocessor 100 is not needed, the power supply can be cut off explicitly, so as to improve the sharing efficiency,
- the purpose of reducing power consumption can better meet the requirements of the smart wearable device for the performance-to-power ratio.
- the above-mentioned main processor 200 has the requirement of performing AI processing, and the vector coprocessor 100 can provide AI computing capability conforming to the performance-to-power ratio.
- Each main processor 200 generates an execution instruction through the program processor PC and sends it to the instruction Cache (instruction memory), and then enters the instruction distribution queue. heap), ALU execute to store the execution structure in the Data Memory data storage unit; if it belongs to the instruction that needs to be processed by the coprocessor 100, then the request processing unit 300 that is included in the access interface unit 400 (interface) is the arbiter initiated uniformly A usage request to use the coprocessor 100;
- main processors 200 CPU1, CPU2, . ;
- the coprocessor 100 generates a processing order according to the preset request and response priorities of the n main processors 200, first returns a Ready signal to the main processor 200 with the highest ranking, and sorts the other n-1
- the rear main processor 200 returns the Hold signal;
- the main processor 200 receiving the Ready signal transmits the processing instruction to the co-processing unit 500 of the co-processor 100 through the access interface unit 400 in a command stream mode for processing; wherein the processing instruction may adopt a blocking processing mode or a pipeline processing mode Way;
- the processing instruction passes through the coprocessor 100 access unit and the instruction distribution unit of the coprocessor 100 in turn.
- the instruction distribution unit determines whether the current processing instruction belongs to a vector processing instruction or a user-defined instruction according to the set conditions, and allocates it to the corresponding instruction after determination. the instruction unit for processing;
- the vector processor unit analyze the input processing instruction to write back the data request instruction and sequentially pass through the coprocessor 100 access unit and the access interface unit 400 to transmit and access the data storage unit Data Memory of the main processor 200 and read the corresponding target. Data, and then complete the filling of the vector registers through the access interface unit 400 and the coprocessor 100 access unit to ensure that the vector processor unit obtains the instruction processing result based on the addition pipeline, vector register file, multiplication pipeline, etc., and finally passes the coprocessor 100.
- the access unit and the access interface unit 400 store the instruction processing result in the data storage unit Data Memory of the main processor 200.
- the instruction processing principle of the user-defined co-processing unit 500 is similar to the instruction processing principle of the above-mentioned vector processor unit, so it will not be repeated here.
- the instructions to be processed by the coprocessor 100 may be user-defined instructions or vector instructions.
- the instruction When the user-defined instruction contains register values, the instruction will simultaneously transmit two source register values to the coprocessor 100 through the dedicated channel, and the coprocessor 100 subsequently requests access to the main processor 200 through the mem req request.
- L1-Dcache data read the Mem data pointed to by the register, and pass the instructions to access the Cache through mem_req and mem_resp.
- the co-processing unit 500 sends the access request of the data storage unit to the corresponding main processor 200 according to the processing instruction and reads the target data, so as to perform the instruction processing operation according to the target data; write back the calculation result of the instruction processing operation according to the target data.
- the original register corresponding to the instruction is processed, and after receiving the instruction response from the main processor 200, the calculation result stored in the original register is written back to the register of the main processor 200.
- the request processing unit 300 If the currently processing main processor 200 cancels the initiation of the use request, the request processing unit 300 returns a Ready signal to the main processor 200 in the next order, and sends a Ready signal to the other n-2 main processors in the lower order. The processor 200 returns the Hold signal; and so on, until the Ready signal feedback of all the main processors 200 is completed.
- the multiple main controllers sharing the coprocessor 100 adopt the Harvard structure, and need to implement independent L1 instruction cache and L1 data cache.
- the processor architecture implements a unified L2Cache.
- Each main controller uses the Extension Interface (extension interface) to connect with the coprocessor.
- each main processor is connected to the request processing unit, so that when multiple main processors simultaneously initiate a use request to use the coprocessor to the request processing unit, only one main control unit is returned according to the pre-priority setting.
- a Ready signal is sent to the controller CPU, and a Hold signal is returned to the remaining main controller CPUs respectively; when the processing main controller CPU cancels the use request, a Ready signal is returned to the next main controller CPU, and a Ready signal is sent to the remaining main controller CPUs at the same time.
- the main controller CPUs return a Hold signal respectively, and so on, that is, they are divided according to the requirements of the usage scenarios.
- Each main controller CPU sends out a usage request, and the arbitration unit realizes the mutual exclusive access at the instruction level, so as to realize the coprocessor as a shared resource.
- Multiple main controllers share access to the same coprocessor to meet the instruction-level delay, achieve the best balance between performance and power consumption, and effectively improve resource utilization.
- the processor micro-architecture of this embodiment is a further improvement to Embodiment 1, specifically:
- each main processor 200 in this embodiment includes a plurality of configurable functional architectures, and the functional architecture includes a pipeline architecture 1, an extended instruction interface 2, and a memory set in the main Core (processor core). Architecture 3 and TEE4, and the extended instruction co-processing unit 5005 located outside the main Core.
- Each functional architecture is configured based on the open source instruction set architecture.
- the open source instruction set architecture includes the open source instruction set architecture RISC-V based on the principle of reduced instruction set.
- the open source instruction set architecture RISC-V supports multiple instruction sets; the corresponding computing unit and pipeline architecture are configured according to each instruction set.
- the open source instruction set architecture RISC-V is used for targeted design according to the actual design requirements, and flexible combination of various functional architectures can be applied in low-power smart devices to meet the different design requirements of different customers and realize the customization of the processor micro-architecture. demand.
- the instruction sets supported by the processor microstructure include basic instruction sets, floating-point instruction sets, compressed instruction sets, extended instruction sets, and the like.
- the basic instruction set includes addition, subtraction, multiplication, division, atomic swap, memory access and other instructions
- the floating-point instruction set includes single-precision and double-precision floating-point calculations
- the compressed instruction set includes 16bit
- the extended instruction set includes vector instructions, SIMD (Single Instruction Multiple Data Stream) instruction, etc.
- ALUs computing units
- the processor micro-architecture of this embodiment includes an extended instruction interface and an extended instruction co-processing unit 500.
- the extended instruction co-processing unit 500 is respectively connected to the extended instruction interface and the system bus in communication, and the extended instruction co-processing unit 500 is used for extending the instruction based on the extended instruction.
- the interface and system bus extend the instruction set.
- the main core in the micro-architecture design of the CPU processor is used to support instruction sets such as the basic instruction set, the floating-point instruction set, and the compressed instruction set, while the implementation of the extended instruction set needs to rely on the extended instruction co-processing outside the main core.
- unit 500 the vector instruction co-processing unit 500 is used to process extended vector instructions, so that a logic unit with better performance and power consumption ratio can be used to process the required domain computing requirements, that is, the extended instruction interface and the extended instruction co-processing unit 500 can be used.
- the extended instruction interface and the extended instruction co-processing unit 500 can be used.
- a special floating-point processing pipeline can be designed for the FPU (floating-point processing processor), adding a floating-point processing computing unit, which shares the instruction prefetching and decoding unit with the integer processing pipeline; of course, it can be configured according to the needs of the product. , choose to support or not support the floating-point processing instruction set, which ensures the flexibility of configuration and better meets higher design requirements.
- FPU floating-point processing processor
- the functional architecture of this embodiment includes, but is not limited to, a pipeline architecture, a memory architecture, and the like.
- the pipeline architecture is a multi-level pipeline architecture
- the configured multi-level pipeline architecture supports a three-level pipeline architecture or a five-level pipeline architecture.
- other levels of pipeline architecture can be used, and the configuration can be adjusted according to the actual design requirements.
- a multi-stage pipeline architecture is designed according to the different implementation complexity.
- a configurable multi-stage pipeline architecture method is: use the classic 5-stage pipeline architecture in the application processor with high processing performance; when the processing performance requirements are low, the power consumption area requires the optimal MCU control
- a simple 3-stage pipeline architecture is used; due to the basic principle of pipeline design, in the 3-stage pipeline, the highest supported main frequency is lower than the 5-stage pipeline, which sacrifices the processing capacity in exchange for chip area and power. consumption optimization.
- this embodiment can form independent configurable features for integer pipelines, floating-point pipelines, 3-stage pipelines, 5-stage pipelines, etc., and can also be combined and designed according to system complexity.
- the functional architecture includes a multi-level memory structure.
- Each level of memory structure in the configured multi-level memory structure corresponds to multiple memories of different categories;
- the memory includes L1 Cache, I-Cache, D-Cache, I-TCM, D-TCM or MMU.
- the processor micro-architecture in this embodiment supports flexible configuration of memories such as L1 Cache, I-Cache, D-Cache, I-TCM, D-TCM, or MMU. Combinations are made according to different usage requirements. For example, in the AP application processor environment, I-Cache, D-Cache, L2 Cache and MMU virtual memory need to be combined and configured; in the Sensor Hub requirements with higher low power consumption requirements , you only need to configure the I-Cache and D-TCM in combination to meet the requirements.
- the processor micro-architecture in this embodiment supports the MMU architecture.
- the MMU is a memory management unit, located between the CPU core and the external main memory, and performs memory management by loading page tables, mainly realizing the transformation from virtual addresses to actual physical addresses.
- the technology of virtual memory can be realized through MMU, which is very effective in expanding embedded systems with insufficient memory (such as smart watches).
- the MPU microprocessor
- the MPU can realize the access protection of the main memory space by different co-processing units 500 and different MCUs. As long as the main memory space is divided into different areas, and the read and write permissions of the MPU are configured, requests for unauthorized access will be effectively blocked.
- processor microarchitecture supports a Trusted Execution Environment TEE.
- the processor micro-architecture in this embodiment supports the implementation of TEE design, and is designed in a privileged mode.
- a special instruction is set, the system enters the privileged mode.
- a trusted operating system is executed in a hardware environment that is completely isolated from the normal mode, including independent registers, independent and isolated storage spaces, independent and isolated devices, and TOS (trusted operating system).
- the Extension Interface in the processor core in Figure 1 represents the extension instruction interface
- FIQ-CTL represents the fast post-interrupt request control module
- IRQ-CTL represents the interrupt request control module
- Debug represents the debug module
- JTAG represents the debug interface
- IRQ_src represents the corresponding interrupt module
- Timer represents the timing module
- Per1, Pern, Dev1 all represent the terminals connected to the bus
- SRAM represents static random access memory
- ExtMEM (a kind of register).
- the processor micro-architecture in this embodiment can be designed through the above-mentioned instruction set design, pipeline design, register design, Cache design, extended instruction unit design, etc. Under the same conditions, the power consumption capability of the processor micro-architecture is bound to be better than the current one.
- the power consumption capability of the processor micro-architecture is bound to be better than the current one.
- the extended instructions of the redesigned processor micro-architecture in this embodiment only a smaller number of instructions can be used to achieve the same function; because the execution clock cycle is reduced, the corresponding power consumption is also optimized.
- the combination and combination of unit modules, as well as user-defined extended instructions and other optimized designs effectively reduce the chip area and operating frequency, so as to achieve the purpose of power consumption optimization.
- a CPU micro-architecture in which multiple main processor CPUs share the same co-processor unit can be designed according to customer requirements, and at the same time, based on the actual requirements, different functional structures (such as implementing L1 Cache) are implemented based on the open source instruction set architecture RISC-V , L2 Cache, MMU, TEE, floating-point operation unit, vector operation unit and other pipeline architectures, memory architectures, etc.) can be flexibly configured and combined, which can be used to achieve the MCU requirements of multi-functional subsystems in complex SoC systems, thus providing
- the CPU micro-architecture that can be precisely configured, can adjust the functional characteristics, performance and power consumption optimal solution, meets the customizable requirements for the processor CPU micro-architecture, and then meets the product configuration requirements of the low-power smart watch system.
- the SoC chip of this embodiment includes the processor micro-architecture in Embodiment 1 or 2.
- the SoC chip of this embodiment includes the above-mentioned processor micro-architecture, which can be customized according to customer requirements.
- the CPU micro-architecture in which multiple main processor CPUs share the same co-processor unit is designed, and the open-source instruction set architecture RISC-V is based on actual requirements.
- Flexible configuration and combination of different functional structures can be used to meet the MCU requirements of multi-functional subsystems in complex SoC systems, thereby providing a CPU micro-architecture that can be precisely configured, adjustable in functional characteristics, performance and power consumption. , to meet the customizable requirements for the processor CPU micro-architecture, and then meet the product configuration requirements of the low-power smart watch system.
- the low-power smart device in this embodiment includes an SoC chip.
- the low-power smart devices include smart watches.
- the low-power smart device of this embodiment includes the above-mentioned SoC chip, which can be customized according to customer requirements.
- the CPU micro-architecture in which multiple main processor CPUs share the same co-processor unit is designed, and the RISC-based open source instruction set architecture is based on actual requirements.
- V can flexibly configure and combine different functional structures, which can be used to meet the MCU requirements of multi-functional subsystems in complex SoC systems, thereby providing a CPU microcomputer that can be precisely configured, adjustable in functional characteristics, performance and power consumption.
- the architecture can meet the customizable requirements for the processor CPU micro-architecture, and then meet the product configuration requirements of the low-power smart watch system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (18)
- 一种处理器微架构,其特征在于,所述处理器微架构包括协处理器和和至少两个主处理器,每个所述主处理器通过请求处理单元与所述协处理器连接;所述请求处理单元用于在接收到至少两个主处理器发起的使用请求时,根据第一预设条件确定发起请求的每个主处理器对应的处理顺序,并根据所述处理顺序生成并发送反馈指令至不同的主处理器;所述主处理器用于在接收的所述反馈指令表征允许使用时,则将处理指令发送至所述协处理器进行处理。
- 如权利要求1所述的处理器微架构,其特征在于,所述协处理器包括访问接口单元和协处理单元;所述主处理器用于将所述处理指令发送至所述访问接口单元;所述访问接口单元用于将所述处理指令传送至所述协处理单元进行处理;其中,所述请求处理单元独立设置在所述访问接口单元和每个所述主处理器之间;或,所述请求处理单元集成设置在所述访问接口单元中。
- 如权利要求1或2所述的处理器微架构,其特征在于,所述第一预设条件包括预先设定的每个所述主处理器对应的处理优先级。
- 如权利要求3所述的处理器微架构,其特征在于,所述请求处理单元用于根据所述处理顺序生成表征允许使用的第一反馈指令和表征继续等待的第二反馈指令,并将所述第一反馈指令发送至排序最靠前的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
- 如权利要求4所述的处理器微架构,其特征在于,所述请求处理单元还用于在正在处理的所述主处理器取消发起使用请求时,将所述第一反馈指令发送至排序在下一位的所述主处理器,且将所述第二反馈指令分别发送至其他排序靠后的所述主处理器。
- 如权利要求2所述的处理器微架构,其特征在于,每个所述主处理器对应不同的电源域;和/或,所述访问接口单元和所述协处理单元划分在同一电源域中。
- 如权利要求2所述的处理器微架构,其特征在于,所述主处理器用于通过命令流方式将所述处理指令发送至所述访问接口单元;和/或,所述协处理单元用于在所述处理指令满足第二预设条件时确定采用阻塞式指令处理方式对所述处理指令进行处理;否则,采用流水线式的指令处理方式对所述处理指令进 行处理。
- 如权利要求2所述的处理器微架构,其特征在于,所述协处理单元用于根据所述处理指令向对应的所述主处理器发送数据存储单元的访问请求并读取目标数据,以根据所述目标数据进行指令处理操作;所述协处理单元还用于将根据所述目标数据进行指令处理操作的计算结果写回至所述处理指令对应的原始寄存器,并在接收到所述主处理器的指令响应后,将所述原始寄存器中存储的所述计算结果写回至所述主处理器的寄存器中。
- 如权利要求1所述的处理器微架构,其特征在于,所述协处理器支持用户自定义指令和/或Vector向量指令。
- 如权利要求1所述的处理器微架构,其特征在于,所述主处理器包括多个可配置的功能架构,每个所述功能架构基于开源指令集架构进行配置。
- 如权利要求10所述的处理器微架构,其特征在于,所述开源指令集架构包括基于精简指令集原则的开源指令集架构RISC-V;其中,所述开源指令集架构RISC-V支持多种指令集;根据每种所述指令集配置对应的计算单元和流水线架构。
- 如权利要求11所述的处理器微架构,其特征在于,所述指令集包括基础指令集、浮点指令集、压缩指令集或扩展指令集;和/或,配置后的所述流水线架构支持三级流水线架构或五级流水线架构。
- 如权利要求10所述的处理器微架构,其特征在于,所述功能架构包括多级存储器结构。
- 如权利要求13所述的处理器微架构,其特征在于,配置后的所述多级存储器结构中的每级存储器架构对应不同类别的多个存储器;其中,所述存储器包括L1 Cache、I-Cache、D-Cache、I-TCM、D-TCM或MMU。
- 如权利要求10所述的处理器微架构,其特征在于,所述主处理器还包括扩展指令接口和扩展指令协处理单元,所述扩展指令协处理单元分别与扩展指令接口和系统总线通信连接,所述扩展指令协处理单元用于基于所述扩展指令接口和所述系统总线对所述指令集进行扩展。
- 一种SoC芯片,其特征在于,所述SoC芯片包括权利要求1-15中任一项所述的处理器微架构。
- 一种低功耗智能设备,其特征在于,所述低功耗智能设备包括权利要求16所述的SoC芯片。
- 如权利要求17所述的低功耗智能设备,其特征在于,所述低功耗智能设备包括智 能手表。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/288,627 US12510954B2 (en) | 2021-04-30 | 2021-12-30 | Processor micro-architecture, SoC chip and low-power-consumption intelligent device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110485283.3 | 2021-04-30 | ||
| CN202110485283.3A CN113312303B (zh) | 2021-04-30 | 2021-04-30 | 处理器微架构系统、SoC芯片及低功耗智能设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022227671A1 true WO2022227671A1 (zh) | 2022-11-03 |
Family
ID=77371469
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/142830 Ceased WO2022227671A1 (zh) | 2021-04-30 | 2021-12-30 | 处理器微架构、SoC芯片及低功耗智能设备 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12510954B2 (zh) |
| CN (1) | CN113312303B (zh) |
| WO (1) | WO2022227671A1 (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113312303B (zh) * | 2021-04-30 | 2022-10-21 | 展讯通信(上海)有限公司 | 处理器微架构系统、SoC芯片及低功耗智能设备 |
| CN114356836B (zh) * | 2021-11-29 | 2025-05-30 | 山东领能电子科技有限公司 | 基于risc-v的三维互联众核处理器架构及其工作方法 |
| US11714649B2 (en) | 2021-11-29 | 2023-08-01 | Shandong Lingneng Electronic Technology Co., Ltd. | RISC-V-based 3D interconnected multi-core processor architecture and working method thereof |
| CN114629665B (zh) * | 2022-05-16 | 2022-07-29 | 百信信息技术有限公司 | 一种用于可信计算的硬件平台 |
| CN115017087A (zh) * | 2022-06-08 | 2022-09-06 | 深圳鲲云信息科技有限公司 | 一种传送dma控制信息的方法、装置、电子设备和存储介质 |
| CN116245149B (zh) * | 2022-12-20 | 2026-03-31 | 南京大学 | 一种基于risc-v指令集拓展的加速计算装置及方法 |
| CN120011150B (zh) * | 2024-12-27 | 2025-11-14 | 宁波甬华创芯科技发展有限责任公司 | 一种电力电子设备的异构双核处理器系统及电力电子设备 |
| CN120256136B (zh) * | 2025-06-03 | 2025-10-17 | 芯来智融半导体科技(上海)有限公司 | 多核处理器中指令集运算单元的配置方法和装置 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090024834A1 (en) * | 2007-07-20 | 2009-01-22 | Nec Electronics Corporation | Multiprocessor apparatus |
| CN101667165A (zh) * | 2009-09-28 | 2010-03-10 | 中国电力科学研究院 | 一种分布式多主cpu共享总线的方法及其装置 |
| CN102110072A (zh) * | 2009-12-29 | 2011-06-29 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及系统 |
| CN102402422A (zh) * | 2010-09-10 | 2012-04-04 | 北京中星微电子有限公司 | 处理器组件及该组件内存共享的方法 |
| US20200097395A1 (en) * | 2018-09-24 | 2020-03-26 | Hewlett Packard Enterprise Development Lp | Exception handling in wireless access points |
| CN113312303A (zh) * | 2021-04-30 | 2021-08-27 | 展讯通信(上海)有限公司 | 处理器微架构、SoC芯片及低功耗智能设备 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100243100B1 (ko) * | 1997-08-12 | 2000-02-01 | 정선종 | 다수의 주프로세서 및 보조 프로세서를 갖는 프로세서의구조 및 보조 프로세서 공유 방법 |
| US7996592B2 (en) * | 2001-05-02 | 2011-08-09 | Nvidia Corporation | Cross bar multipath resource controller system and method |
| CN101187908A (zh) * | 2007-09-27 | 2008-05-28 | 上海大学 | 单芯片多处理器共享数据存储空间的访问方法 |
| US9678758B2 (en) * | 2014-09-26 | 2017-06-13 | Qualcomm Incorporated | Coprocessor for out-of-order loads |
| CA2982785C (en) * | 2015-04-14 | 2023-08-08 | Capital One Services, Llc | Systems and methods for secure firmware validation |
| US10642617B2 (en) * | 2015-12-08 | 2020-05-05 | Via Alliance Semiconductor Co., Ltd. | Processor with an expandable instruction set architecture for dynamically configuring execution resources |
| US10235176B2 (en) * | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
| KR102563648B1 (ko) * | 2018-06-05 | 2023-08-04 | 삼성전자주식회사 | 멀티 프로세서 시스템 및 그 구동 방법 |
| US11119788B2 (en) * | 2018-09-04 | 2021-09-14 | Apple Inc. | Serialization floors and deadline driven control for performance optimization of asymmetric multiprocessor systems |
| CN112130901A (zh) * | 2020-09-11 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 基于risc-v的协处理器、数据处理方法及存储介质 |
-
2021
- 2021-04-30 CN CN202110485283.3A patent/CN113312303B/zh active Active
- 2021-12-30 US US18/288,627 patent/US12510954B2/en active Active
- 2021-12-30 WO PCT/CN2021/142830 patent/WO2022227671A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090024834A1 (en) * | 2007-07-20 | 2009-01-22 | Nec Electronics Corporation | Multiprocessor apparatus |
| CN101667165A (zh) * | 2009-09-28 | 2010-03-10 | 中国电力科学研究院 | 一种分布式多主cpu共享总线的方法及其装置 |
| CN102110072A (zh) * | 2009-12-29 | 2011-06-29 | 中兴通讯股份有限公司 | 一种多处理器完全互访的方法及系统 |
| CN102402422A (zh) * | 2010-09-10 | 2012-04-04 | 北京中星微电子有限公司 | 处理器组件及该组件内存共享的方法 |
| US20200097395A1 (en) * | 2018-09-24 | 2020-03-26 | Hewlett Packard Enterprise Development Lp | Exception handling in wireless access points |
| CN113312303A (zh) * | 2021-04-30 | 2021-08-27 | 展讯通信(上海)有限公司 | 处理器微架构、SoC芯片及低功耗智能设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| US12510954B2 (en) | 2025-12-30 |
| US20240211020A1 (en) | 2024-06-27 |
| CN113312303A (zh) | 2021-08-27 |
| CN113312303B (zh) | 2022-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022227671A1 (zh) | 处理器微架构、SoC芯片及低功耗智能设备 | |
| US12020031B2 (en) | Methods, apparatus, and instructions for user-level thread suspension | |
| US12554495B2 (en) | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions | |
| TWI628594B (zh) | 用戶等級分叉及會合處理器、方法、系統及指令 | |
| EP2549382B1 (en) | Virtual GPU | |
| US9262353B2 (en) | Interrupt distribution scheme | |
| CN108885586B (zh) | 用于以有保证的完成将数据取出到所指示的高速缓存层级的处理器、方法、系统和指令 | |
| JP5977094B2 (ja) | フレキシブルフラッシュコマンド | |
| Al-Shaikh et al. | A Comparative Study on the Performance of 64-bit ARM Processors | |
| CN104969182A (zh) | 高动态范围软件-透明异构计算元件处理器、方法及系统 | |
| CN111522585A (zh) | 基于平台热以及功率预算约束,对于给定工作负荷的最佳逻辑处理器计数和类型选择 | |
| JP2013025794A (ja) | フラッシュインタフェースの有効利用 | |
| Kozyrakis | A media-enhanced vector architecture for embedded memory systems | |
| US9032099B1 (en) | Writeback mechanisms for improving far memory utilization in multi-level memory architectures | |
| CN103294449B (zh) | 发散操作的预调度重演 | |
| US12487762B2 (en) | Flexible provisioning of coherent memory address decoders in hardware | |
| US11886910B2 (en) | Dynamic prioritization of system-on-chip interconnect traffic using information from an operating system and hardware | |
| Natvig et al. | Multi‐and Many‐Cores, Architectural Overview for Programmers | |
| Hussain | Memory resources aware run-time automated scheduling policy for multi-core systems | |
| US20260050469A1 (en) | Strategy for instruction scheduling of multiple waves based on instruction status | |
| He et al. | A RISC-V Heterogeneous SoC and Its Co-Scheduling Optimization Approach for Digital Signal Processing | |
| CN117667211A (zh) | 指令同步控制方法、同步控制器、处理器、芯片和板卡 | |
| Itou et al. | The Instruction Execution Mechanism for Responsive Multithreaded Processor. | |
| Uchiyama et al. | Chip Implementations | |
| Chen et al. | CoDMA: Buffer Avoided Data Exchange in Distributed Memory Systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21939130 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18288627 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202327079427 Country of ref document: IN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21939130 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18288627 Country of ref document: US |
