CN111459560A - RISC-V architecture based multi-core processor wake-up system - Google Patents

RISC-V architecture based multi-core processor wake-up system Download PDF

Info

Publication number
CN111459560A
CN111459560A CN202010237790.0A CN202010237790A CN111459560A CN 111459560 A CN111459560 A CN 111459560A CN 202010237790 A CN202010237790 A CN 202010237790A CN 111459560 A CN111459560 A CN 111459560A
Authority
CN
China
Prior art keywords
register
txevt
evt
risc
core
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.)
Withdrawn
Application number
CN202010237790.0A
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.)
Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd
Original Assignee
Shin Lai Zhirong Semiconductor Technology Shanghai 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 Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd filed Critical Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd
Priority to CN202010237790.0A priority Critical patent/CN111459560A/en
Publication of CN111459560A publication Critical patent/CN111459560A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

The invention discloses a multi-core processor awakening system based on a RISC-V architecture, which comprises: and the txevt register can send an event pulse signal to the outside of the processor core to wake up other processor cores which are sleeping by reading and writing the txevt register. The method is simple and easy to operate, and can be used for mutual awakening among cores of the multi-core processor to achieve the purpose of saving power consumption.

Description

RISC-V architecture based multi-core processor wake-up system
Technical Field
The invention relates to the technical field of low-power-consumption kernel interrupt processing and low-power-consumption, in particular to a multi-core processor awakening system based on a RISC-V (reduced instruction-computer-graphics) architecture.
Background
The multi-core processor integrates two or more complete processor cores into one processor, and the processor can support a plurality of processors on a system bus, and all bus controllers and command signals are provided by the bus controllers. At present, multi-core technology has become the most interesting topic and research direction. The multi-core architecture opens up a new direction for the fields of performance improvement, energy-saving calculation and the like. The multi-core process will bring about a great revolution affecting aspects of the whole computer industry, including various fields of computer systems such as architecture research, embedded system design and solution design, compiling technology, operating system core algorithm, application software design and the like.
However, the multi-core processor may also encounter various problems, for example, when two cores access a shared resource at the same time, contention may be generated, and the solution is to stop one core to enter a sleep mode, and perform access by the other core first, and wake up the second core to perform access by the second core after the access by the first core is completed.
Disclosure of Invention
In order to solve the technical problem, the invention relates to a multi-core processor wake-up system based on a RISC-V architecture, which is additionally provided with a processor low-power consumption register named as a txevt register, and the processor based on the RISC-V instruction architecture can send an event signal pulse to the outside of the processor by writing the register through a CSR. While other core processors can go to sleep by writing wfe _ en register execution wfe, which can achieve the event-only wake-up.
In order to achieve the purpose, the technical scheme of the invention is as follows:
the multi-core processor awakening system based on the RISC-V architecture comprises: and the txevt register can send an event pulse signal to the outside of the processor core to wake up other processor cores which are sleeping by reading and writing the txevt register.
Preferably, the txevt register is a custom CSR register, and the read-write permission is readable and writable in a user mode.
Preferably, the txevt register comprises two fields, wherein a reserved bit is arranged between an X L EN-1 bit and a 1 st bit, and a 0 th bit is an EVT field.
Preferably, when writing a 1 to the EVT domain, the EVT domain is automatically cleared in the next cycle after a single cycle of the pulse signal is generated; when writing a 0 to the EVT domain, there will not be any change.
Based on the technical scheme, the invention has the beneficial effects that:
(1) the invention adds a mechanism for sending the event pulse signal to the outside of the processor core, can send a single-cycle pulse signal only by writing the txevt register, and is simple and easy to operate;
(2) the method and the device can be used for mutual awakening among cores of the multi-core processor.
Drawings
FIG. 1 is a diagram of the txevt register storage information format of the present invention;
FIG. 2 is a flowchart illustrating a process of accessing a shared resource by multiple cores according to an embodiment of the present invention;
fig. 3 is a schematic circuit diagram of an implementation of the txevt register sending the event pulse signal according to an embodiment of the present invention.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
Example one
The invention relates to a multi-core processor wake-up system based on a RISC-V architecture, which is additionally provided with a low-power-consumption register design of a processor, wherein the register is named as a txevt register, and an event pulse signal is generated by writing 1 into the register. The pulse signal lasts for one cycle, and after 1 is written out, the register is automatically cleared to wait for the next 1-writing operation in the next cycle to generate a new event pulse.
The txevt register is a self-defined CSR register, and the read-write permission is readable and writable in a user mode.
The information format of the txevt register is shown in fig. 1, the register has two domains, a reserved bit is arranged between the X L EN-1 bit and the 1 st bit, and the 0 th bit is an EVT domain.
When writing 1 to this bit field, the EVT field will generate a single-cycle pulse signal as an event signal, and then the bit field will be automatically cleared in the next cycle. When writing a 0 to this bit field, there will not be any change.
The single-period event pulse signal means that the signal has a low level to a high level, the high level is maintained for one period, and the signal is automatically pulled down to the low level after one period.
As shown in fig. 2, when multiple cores access a shared resource, a user needs to stop one of the processor cores 1 and enter a sleep state, at this time, the wfi instruction behavior is switched to the wfe instruction behavior, the sleep state waits for the wake-up of the external event signal, after the access of the other processor core 2 is completed, the CSR instruction is written into the register 1 to txevt, at this time, an event pulse signal is generated to wake-up the processor core 1, and the processor core 1 continues to access the shared resource.
Further, the txevt register is implemented in a circuit as shown in fig. 3, where the signals include wbck _ csr _ dat signal, tx _ evt _ wr _ ena signal, tx _ evt _ nxt signal, clk signal, tx _ evt _ r [0] signal, and tx _ evt signal, where:
the wbck _ CSR _ dat signal represents the data written back to the CSR register, when the user accesses the txevt register, the value of wbck _ CSR _ dat is the value written into the txevt register;
the tx _ evt _ wr _ ena signal indicates that an operation to write the txevt register currently occurs;
the tx _ evt _ nxt signal is an input of the D flip-flop and represents the value of the D flip-flop which is currently ready to store the signal;
the clk signal, representing a clock signal;
the tx _ evt _ r signal represents an output signal of the D flip-flop;
the tx _ evt _ r [0] signal, representing bit 0 of the D flip-flop output signal;
the tx _ evt signal represents an event pulse signal.
As shown in fig. 3, when initiating the operation of writing the txevt register, the signal tx _ evt _ wr _ ena is pulled high, at which time the selector will select wbck _ csr _ dat as the input of the D flip-flop, now assuming that a 1-write operation is currently initiated, then wbck _ csr _ dat is now 1, and since the SET enable of the D flip-flop is connected to the tx _ evt _ wr _ ena signal, the D flip-flop will write 1, and after one clock cycle the Q-terminal of the D flip-flop gets data 1, so the value of the tx _ evt _ R signal is 1, then the value of the tx _ evt _ R [0] bit is also 1, since the C L R enable of the D flip-flop is directly connected to tx _ evt _ R [0], then the D flip-flop will be cleared at the next clock rising edge, so that at the next clock cycle tx _ evt _ R [0] is SET to zero, and the signal tx _ evt _ R [0] is shifted to the outer core to obtain an event.
The above description is only a preferred embodiment of the wake-up system of the multi-core processor based on RISC-V architecture disclosed in the present invention, and not intended to limit the scope of the present invention, and all equivalent structures or equivalent flow transformations made by the present specification, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (4)

1. RISC-V architecture based multi-core processor wake-up system, comprising: and the txevt register can send an event pulse signal to the outside of the processor core to wake up other processor cores which are sleeping by reading and writing the txevt register.
2. The RISC-V architecture based multi-core processor wake-up system of claim 1, wherein the txevt register is a custom CSR register with read and write permissions readable and writable in user mode.
3. A RISC-V architecture based multi-core processor wake-up system as claimed in claim 1 or 2, characterized in that the txevt register comprises two fields, where between the X L EN-1 bit and the 1 st bit is a reserved bit and the 0 th bit is an EVT field.
4. A RISC-V architecture based multi-core processor wake-up system as claimed in claim 3, wherein when writing a 1 to the EVT domain, a one cycle pulse signal is generated and then the EVT domain is automatically cleared in the next cycle; when writing a 0 to the EVT domain, there will not be any change.
CN202010237790.0A 2020-03-30 2020-03-30 RISC-V architecture based multi-core processor wake-up system Withdrawn CN111459560A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010237790.0A CN111459560A (en) 2020-03-30 2020-03-30 RISC-V architecture based multi-core processor wake-up system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010237790.0A CN111459560A (en) 2020-03-30 2020-03-30 RISC-V architecture based multi-core processor wake-up system

Publications (1)

Publication Number Publication Date
CN111459560A true CN111459560A (en) 2020-07-28

Family

ID=71681625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010237790.0A Withdrawn CN111459560A (en) 2020-03-30 2020-03-30 RISC-V architecture based multi-core processor wake-up system

Country Status (1)

Country Link
CN (1) CN111459560A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597724A (en) * 2021-03-04 2021-04-02 长沙海格北斗信息技术有限公司 RISC-V based chip design method, navigation chip and receiver

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597724A (en) * 2021-03-04 2021-04-02 长沙海格北斗信息技术有限公司 RISC-V based chip design method, navigation chip and receiver

Similar Documents

Publication Publication Date Title
CN1866230B (en) Memory arbitrator, processor system and memory arbitrating method
US7529955B2 (en) Dynamic bus parking
JPH0667768A (en) Method for operating processor of type including bus unit and executing unit, central processing unit, computer system and clock control device circuit
US20110296098A1 (en) System and Method for Reducing Power Consumption of Memory
CN101091146A (en) Techniques to manage power for a mobile device
CN100369156C (en) Semiconductor storage and control method thereof
US6385691B2 (en) Memory device with command buffer that allows internal command buffer jumps
CN113900818A (en) DDR memory data read-write scheduling method and device
CN111459560A (en) RISC-V architecture based multi-core processor wake-up system
US7558978B2 (en) Power management device for multiprocessor system and method thereof
CN104064213A (en) Memory access method, memory access control method and memory controller
CN200997136Y (en) Micro-controller structure of built-in comparater
US7565558B2 (en) Power saving method and system for a central processing unit disposed in a non-snooping sleep state when a peripheral device sends a bus master request
US7000133B2 (en) Method and apparatus for controlling power states in a memory device utilizing state information
CN111459562A (en) Improved system and method for switching sleep mode based on RISC-V architecture
CN105404591A (en) Processor system and storer control method for same
CN102243526A (en) Double date rate internal memory controller and control method thereof
CN214253209U (en) IP core of user interface module of SDRAM controller
TWI820883B (en) Integrated circuit and method for cleaning valid bits in cache memory thereof
KR100321496B1 (en) Dual-Port Memory Controller
WO2023169420A1 (en) Memory control system and method
CN112148365B (en) Control module, method and microcontroller chip
CN117312210B (en) Method for expanding performance of RISC-V processor
CN211264964U (en) Random access memory and data read-write device
CN117594076A (en) Memory device

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200728

WW01 Invention patent application withdrawn after publication