WO2021244194A1 - 寄存器的读写方法、芯片、子系统、寄存器组及终端 - Google Patents

寄存器的读写方法、芯片、子系统、寄存器组及终端 Download PDF

Info

Publication number
WO2021244194A1
WO2021244194A1 PCT/CN2021/090614 CN2021090614W WO2021244194A1 WO 2021244194 A1 WO2021244194 A1 WO 2021244194A1 CN 2021090614 W CN2021090614 W CN 2021090614W WO 2021244194 A1 WO2021244194 A1 WO 2021244194A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control module
register
central control
target
Prior art date
Application number
PCT/CN2021/090614
Other languages
English (en)
French (fr)
Inventor
刘君
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2021244194A1 publication Critical patent/WO2021244194A1/zh

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the embodiments of the present application relate to the technical field of register reading and writing, and in particular to a method, chip, subsystem, register group, and terminal for reading and writing registers.
  • SoC System on Chip
  • CPU central processing unit
  • the central processing unit needs to access the subsystem
  • the data is sent to the subsystem through parallel transmission, and the subsystem is then decoded through the bus.
  • the register group can identify the decoded information, so that the information can be read and written.
  • the embodiments of the present application provide a method for reading and writing registers, a chip, a subsystem, a register set, and a terminal.
  • the technical solution is as follows:
  • a method for reading and writing registers is provided, which is applied to a chip.
  • the chip includes a central processing unit, a central control module, and a subsystem.
  • the subsystem includes at least two register sets.
  • the central control module is arranged between the central processing unit and the subsystem, and the central control module is used to control data interaction between the central processing unit and the subsystem, and the method includes:
  • the central control module receives in parallel the target identification information and the corresponding target command sent by the central processing unit;
  • the central control module converts the target identification information and the corresponding target command into serial data, wherein in the serial data, the target identification information is located before the target command;
  • the central control module broadcasts the target identification information and the corresponding target command in a serial manner to the register group in the controlled subsystem;
  • the first register set in the subsystem executes the target command, and the target command is used to instruct the register set to write first data, or to instruct the register set to output the saved second data, so
  • the first register group is a register group corresponding to the target identification information among the at least two register groups.
  • a method for reading and writing a register is provided, which is applied to a sub-system, the sub-system includes at least two register sets, and the method includes:
  • the register set in the subsystem receives target identification information in a serial manner, the target identification information is the identification of the register set broadcast by the central control module, and the central control module is set between the central processing unit and the register set And the central control module is used to control data interaction between the central processing unit and the register;
  • the register set in the subsystem receives a target command in a serial manner, the target command is used to instruct the register set to write the first data, or to instruct the register set to output the saved second data, In the serial data, the target identification information is located before the target command;
  • the first register set in the subsystem executes the target command, and the identification of the first register set matches the target identification information
  • the second register set in the subsystem does not respond to the target command, and the identifier of the second register set does not match the target identification information.
  • a method for reading and writing a register which is applied to a register set, and the method includes:
  • the target identification information is received in a serial manner, the target identification information is the identification of the register set broadcast by the central control module, the central control module is arranged between the central processing unit and the register set, and the central control module Used to control data interaction between the central processing unit and the register set;
  • Target command is used to instruct the register group to write first data, or to instruct the register group to output saved second data
  • a chip includes a central processing unit, a central control module, and a sub-system.
  • the sub-system includes at least two register sets.
  • the central control module is arranged in the central Between the processor and the subsystem, and the central control module is used to control the data interaction between the central processor and the subsystem,
  • the central control module is configured to receive the target identification information and the corresponding target command sent by the central processing unit in parallel;
  • the central control module is configured to convert the target identification information and the corresponding target command into serial data, wherein in the serial data, the target identification information is located before the target command ;
  • the central control module is configured to broadcast target identification information and corresponding target commands in a serial manner to at least two controlled register groups;
  • the first register set in the subsystem executes the target command, and the target command is used to instruct the register set to write first data, or to instruct the register set to output the saved second data, so
  • the first register group is a register group corresponding to the target identification information among the at least two register groups.
  • a subsystem is provided, and the chip includes at least two register sets:
  • the register set in the subsystem receives target identification information in a serial manner, the target identification information is the identification of the register set broadcast by the central control module, and the central control module is set between the central processing unit and the register set And the central control module is used to control data interaction between the central processing unit and the register set;
  • the register set in the subsystem receives a target command in a serial manner, the target command is used to instruct the register set to write the first data, or to instruct the register set to output the saved second data, In the serial data, the target identification information is located before the target command;
  • the first register set in the subsystem is used to execute the target command, and the identification of the first register set matches the target identification information;
  • the second register set in the subsystem does not respond to the target command, and the identifier of the second register set does not match the target identification information.
  • a register set is provided, the register set is used to receive target identification information in a serial manner, and the target identification information is the identification of the register set broadcasted by the central control module.
  • the central control module is arranged between the central processing unit and the register set, and the central control module is used to control the data interaction between the central processing unit and the register set;
  • Target command is used to instruct the register group to write first data, or to instruct the register group to output saved second data
  • a terminal is provided, and the terminal includes the chip provided in the embodiment of the present application.
  • an embodiment of the present application also provides a computer program product, the computer program product stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the example of the present application Read and write methods of the provided registers.
  • Fig. 1 is a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
  • Figure 2 is a schematic diagram of a register access architecture based on a standard bus
  • Fig. 3 is a schematic diagram of a register access architecture provided by an exemplary embodiment of the present application.
  • Fig. 4 is a schematic diagram of a register access architecture provided by an exemplary embodiment of the present application.
  • Fig. 5 is a schematic diagram of a register access architecture provided by an exemplary embodiment of the present application.
  • Fig. 6 is a flowchart of a method for reading and writing a register provided by an exemplary embodiment of the present application
  • FIG. 7 is a schematic diagram of a finite state machine of a register set provided by an embodiment of the present application.
  • Fig. 8 is a flowchart of a method for reading and writing a register provided by an exemplary embodiment of the present application.
  • FIG. 9 is a schematic diagram of a finite state machine of a central control module provided by an embodiment of the present application.
  • FIG. 10 is a flowchart of a method for reading and writing a register according to another exemplary embodiment of the present application.
  • FIG. 11 is a flowchart of a method for reading and writing a register according to another exemplary embodiment of the present application.
  • FIG. 12 is a schematic diagram of a serial signal writing sequence based on a register set shown in FIG. 4;
  • FIG. 13 is a schematic diagram based on the sequence of reading data serially from the register set shown in FIG. 4.
  • Serial mode In a signal line, data is transferred from the central control module to the register group in a queue. For example, the data "010101" will be transferred one by one from the central control module to the register group in the signal line.
  • Target identification information This information is the identification of the register group broadcast by the central control module.
  • the target identification information includes target keywords and identification data. For example, if the target information is "111+010", it means that the target keyword is "111" and the identification data is "010".
  • target keywords with different numerical values are used to represent different keywords. When the value of the target keyword is "111”, it means that the target keyword is a target keyword, and the identifier of the register is "010".
  • Target command It includes two functions: read data and write data. When the target command is used to read data from the register group, the command is used to instruct the register group to output the saved second data. When the target command is used to write data to the register group, the command is used to instruct the register group to write the first data.
  • the target command includes command keywords.
  • the command keyword includes a write keyword and a read keyword.
  • the type of the target command is the write type.
  • the type of the target command is the read type.
  • the target command when the type of the target command is a write type, the target command includes a write keyword and the first data.
  • the register group can determine the data that needs to be stored in the register group itself, that is, the first data, according to the write keyword, and then store the first data in the register group.
  • the target command when the type of the target command is the read type, the target command includes the read keyword and the second data.
  • the register group can know that it needs to output the second data externally according to the read keyword, and then the register group will output the second data externally.
  • the method for reading and writing registers shown in the embodiments of the present application can be applied to a terminal.
  • the terminal includes the chip shown in the embodiment of the present application, and the chip shown in the embodiment of the present application includes a register set .
  • terminals include mobile phones, tablet computers, laptop computers, desktop computers, all-in-one computers, servers, workstations, TVs, set-top boxes, smart glasses, smart watches, digital cameras, MP4 playback terminals, MP5 playback terminals, learning machines , Point readers, electronic paper books, electronic dictionaries, vehicle-mounted terminals, virtual reality (Virtual Reality, VR) playback terminals or augmented reality (Augmented Reality, AR) playback terminals, etc.
  • VR Virtual Reality
  • AR Augmented Reality
  • the embodiments of the present application can also be applied to a chip, and the chip can be applied to the aforementioned terminal.
  • FIG. 1 is a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
  • the terminal 100 includes a chip 10, and the chip 10 includes a processor 120, a memory 140, a subsystem 160, and a central In the control module 180, at least one instruction is stored in the memory 140, and the instruction is loaded and executed by the processor 120 to implement the register reading and writing methods as described in each method embodiment of the present application.
  • the processor 120 is a central processing unit.
  • the chip 10 includes a central processing unit, a central control module 180, and a sub-system 160.
  • the central control module 180 is arranged between the central processing unit and the sub-system 160, and the central control module 180 is used to control data interaction between the central processing unit and the sub-system 160. .
  • the processor 120 can include one or more processing cores.
  • the processor 120 uses various interfaces and lines to connect various parts of the entire terminal 100, and executes the terminal by running or executing instructions, programs, code sets, or instruction sets stored in the memory 140, and calling data stored in the memory 140. 100's various functions and processing data.
  • the processor 120 can adopt at least one of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA).
  • DSP Digital Signal Processing
  • FPGA Field-Programmable Gate Array
  • PDA Programmable Logic Array
  • the processor 120 may integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), a modem, and the like.
  • the CPU mainly processes the operating system, user interface, and application programs; the GPU is used for rendering and drawing the content that the display needs to display; the modem is used for processing wireless communication. It can be understood that the above-mentioned modem may not be integrated into the processor 120, but may be implemented by a chip alone.
  • the memory 140 can include Random Access Memory (RAM), and can also include Read-Only Memory (ROM).
  • the memory 140 includes a non-transitory computer-readable storage medium.
  • the memory 140 may be used to store instructions, programs, codes, code sets or instruction sets.
  • the memory 140 may include a program storage area and a data storage area, where the program storage area may store instructions for implementing the operating system and instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), Instructions used to implement the following various method embodiments, etc.; the storage data area can store the data involved in the following various method embodiments, etc.
  • the subsystem 160 can be provided outside the processor.
  • the central control module 180 is provided between the processor and the subsystem, and is used to control the data interaction between the central control module 180 and each subsystem, write data in the subsystem or read data from the subsystem.
  • the subsystem 160 may be implemented as a set of physical circuits.
  • the subsystem 160 includes at least two register sets.
  • the subsystem 160 includes a register group 161 and a register group 162.
  • the chip 10 performs the following steps: the central control module receives the target identification information and the corresponding target command sent by the central processing unit in parallel; the central control module converts the target identification information and the corresponding target command into serial data, Among them, in the serial data, the target identification information is located before the target command; the central control module broadcasts the target identification information and the corresponding target command in a serial manner to at least two register groups under control; the first register group executes the target Command, the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data, the first register group is the register group corresponding to the target identification information among the at least two register groups.
  • the subsystem 160 performs the following steps: the register set in the subsystem receives target identification information in a serial manner, and the target identification information is the identification of the register set broadcast by the central control module; the subsystem The register group in the register group receives the target command in a serial manner.
  • the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data.
  • the target identification information is located before the target command; the first register set is used to execute the target command, and the identification of the first register set matches the target identification information; the second register set does not respond to the For the target command, the identifier of the second register set does not match the target identifier information.
  • the register group 161 or the register group 162 performs the following steps: Receive target identification information in a serial manner, the target identification information is the identifier of the register set broadcast by the central control module, and the central control module is set in the central Between the processor and the register set, and the central control module is used to control the data interaction between the central processing unit and the register; the target command is received in a serial manner, and the target command is used to instruct The register set writes the first data, or is used to instruct the register set to output the saved second data; when the target identification information matches the identity of the register set, the target command is executed.
  • Figure 2 is a schematic diagram of a standard bus-based register access architecture.
  • the central processing unit 210 performs data interaction with various subsystems through the top-level bus 220.
  • the central processing unit 210 When the central processing unit 210 needs to write data to the register set_2 in the subsystem 1, the central processing unit 210 adds the address of the register set_2 in the subsystem 1 to the header of the data to be written, and sends it to the top layer
  • the bus 220, the top-level bus 220 transmits the data to the subsystem bus 231, the subsystem bus 241, and the subsystem bus 251, respectively.
  • Each subsystem bus and standard bus cooperate to decode the data.
  • the decoded address of the register group_2 is the same as the address of the register group corresponding to the standard bus
  • the standard bus 2A writes the data into the register group_2.
  • the number of cables of the standard bus is of the order of 10 1 , and the standard bus is more complicated.
  • the standard bus is AHB (Advanced High Performance Bus), APB (Advanced Peripheral Bus, peripheral bus) or other cables capable of realizing bus functions.
  • this application proposes a new register read and write architecture, also known as a control protocol for register read and write, which is introduced as follows.
  • FIG. 3 is a schematic diagram of a register access architecture provided by an exemplary embodiment of the present application.
  • the central processing unit 210 communicates with a central control module (center control) 310 through a bus 3A, and the central control module 310 communicates with subsystem 1, subsystem 2, and subsystem k through a signal line 320.
  • the signal line 320 is a 1-bit (bit) cable.
  • the arrow in Figure 3 points to indicate the direction of data flow.
  • the central control module is arranged between the central processing unit and the register group, and the central control module is used to control the data interaction between the central processing unit and the registers.
  • the signal line 320 is a 2-bit cable.
  • the 2-bit signal line (line) includes a command (CMD) line 410 and a data (DAT) line 420.
  • the command line 410 is bit [0]
  • the data line 420 is bit [1]
  • the architecture shown in FIG. 4 is the read and write architecture of the register set under the 2-bit serial control protocol.
  • the arrow in FIG. 4 indicates the direction of data flow.
  • the direction in which the command line 410 transmits data is unidirectional transmission from the central control module to the register group.
  • the data transmission direction of the data line 420 is bidirectional transmission between the central control module and the register group.
  • the signal line 320 is a 3-bit cable.
  • the 3-bit signal line (line) includes a command (CMD) line 510, a write data line 520, and an output data line 530.
  • CMD command
  • the arrow in FIG. 5 points to indicate the direction of data flow.
  • the direction in which the command line 510 transmits data is unidirectional transmission from the central control module to the register group.
  • the data transmission direction of the write data line 520 is unidirectional transmission from the central control module to the register group.
  • the data transmission direction of the output data line 530 is unidirectional transmission from the register group to the central control module.
  • each register group shares the same reset signal and clock signal. That is, when the register set needs to be reset, all the register sets in any one of FIGS. 3 to 5 will be reset by the same reset signal, thereby simplifying the structure of the register set.
  • the register group and the central control module exchange data through a signal line, and the signal line is used for serial transmission of data.
  • FIG. 6 is a flowchart of a method for reading and writing a register according to an exemplary embodiment of the present application.
  • the method for reading and writing the register can be applied to the chip shown in any one of the above-mentioned FIGS. 1 and 3 to 5.
  • the methods for reading and writing registers include:
  • Step 610 Receive target identification information in a serial manner, where the target identification information is the identifier of the register group broadcast by the central control module.
  • the register set can receive the target identification information in a serial manner.
  • the register group can obtain the target identification information broadcast by the central control module through any of the architectures shown in FIG. 3 to FIG. 5.
  • the central control module is arranged between the central processing unit and the register set, and the central control module is used to control the data interaction between the central processing unit and the registers.
  • the register group will obtain the target keyword through the command line 410 and the identification data will be obtained through the data line 420.
  • the register bank as a slave as an example, the control protocol on the register bank side is introduced.
  • the register set is designed as a component including N registers, and each register includes M bits of storage space.
  • the register group can read all N*M bits of data, or write data that needs to be written into the N*M bit space.
  • the values of N and M are positive integers, and both N and M are instantiation parameters, and this application does not limit the specific values of N and M.
  • the data direction indicates the direction of data flow with the register set as a reference point.
  • write means to write data from the central control module to the register group
  • read means to read data from the register group.
  • the register bank will read the k-bit long register bank identifier from the data line. It should be noted that k is also an instantiation parameter.
  • step 620 the target command is received in a serial manner.
  • the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data.
  • the register group will receive the target command in a serial manner.
  • the register group includes a decoding module.
  • the decoding module can receive the target identification information in a serial manner, and when the target identification information matches the identification of the register group, receives the target command.
  • Step 630 When the target identification information matches the identification of the register group, execute the target command.
  • the register set can write the data sent by the central control module into the entire register set when the target identification information matches the identity of the register set, and the type of the target command is the write type.
  • the register set can output all the data stored in the register set to the central control module when the target identification information matches the identity of the register set and the type of the target command is the read type.
  • the register set includes a finite state machine in the register reading and writing method provided in this application, which is introduced as follows.
  • FIG. 7 is a schematic diagram of a finite state machine of a register set provided by an embodiment of the present application.
  • the register group is in the idle state 710, and can receive k-bit data from the data line after receiving the data "111" from the command line (that is, step 720).
  • it continues to switch to the idle state.
  • execute the receiving target command that is, step 730).
  • the register group receives the target identification information in a serial manner.
  • the target identification information is the identifier of the register set broadcast by the central control module, and the target is received in a serial manner.
  • Command the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data.
  • the target command is executed. Because this application can make the register group receive the identification broadcast by the central control module in a serial manner, and when the identification matches, receive and execute the read and write commands in a serial manner, and convert the data sent by the CPU in a parallel manner into a serial manner.
  • this application provides a signal line as a connection between the central control module and the register set
  • the embodiment of the application can also effectively reduce the excessively high bus bit width caused by data transmission through the bus in related technologies. It brings space pressure to the wiring work of the register bank and increases the complexity of the wiring design, which effectively reduces the difficulty of routing from the central control module to the register bank.
  • FIG. 8 is a flowchart of a method for reading and writing a register provided by an exemplary embodiment of the present application.
  • the method for reading and writing registers can be applied to any one of the chips shown in FIGS. 1, 3 to 5, and the chip includes a central control module and a register set.
  • the methods for reading and writing registers include:
  • step 810 the central control module receives in parallel the target identification information and the corresponding target command sent by the central processing unit.
  • the central control module receives the data sent by the central processing unit in a parallel manner.
  • the central processing unit when the central processing unit needs to write data to the register group or read data from the register group, the central processing unit will send the target identification information and the target command corresponding to the target identification information to the central control module in parallel.
  • Step 820 The central control module converts the target identification information and the corresponding target command into serial data, where the target identification information is located before the target command in the serial data.
  • the central control module has a data conversion function, and can convert data received in parallel into serial data.
  • the target identification information is located before the target command.
  • Step 830 The central control module broadcasts the target identification information and the corresponding target command in a serial manner to the register group in the controlled subsystem.
  • the central control module can broadcast the target identification information and corresponding target commands to the m register groups in a serial manner.
  • the m register groups can belong to several subsystems respectively. Among them, a subsystem includes at least two register groups.
  • Step 840 the first register group in the subsystem executes the target command.
  • the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data.
  • the first register group is at least two The register group corresponding to the target identification information in the register group.
  • FIG. 9 is a schematic diagram of a finite state machine of a central control module provided by an embodiment of the present application.
  • the central control module starts in the idle state 910 and broadcasts the target keyword to the controlled register group, that is, transmits data "111" from the command line (that is, executes step 920); then, transmits k from the data line Bit-length data (that is, perform step 930); then broadcast the target command to the controlled register group (that is, perform step 940).
  • the central control module writes N*M bits of data from the data line to the register group (that is, step 950 is executed).
  • step 960 is executed.
  • step 950 or step 960 the central control module returns to the idle state.
  • the method for reading and writing registers is applied to a chip.
  • the chip includes a central control module and a register set.
  • the central control module receives the target identification information and corresponding target commands sent by the central processing unit in parallel, and the central control The module converts the above information into serial data.
  • the target identification information is located before the target command.
  • the central control module broadcasts the above information in a serial manner to at least two register groups under control.
  • the register group corresponding to the target identification information in the register group executes the target command, which realizes the information interaction between the register group and the central processing unit without the help of the bus system.
  • the CPU is issued in parallel
  • the data is converted to serial mode.
  • the register bank When adding the register bank, the register bank can be connected to the central control module through the signal line. When the register bank is reduced, the register bank and signal line can be removed accordingly. There is no need to redesign as in the past.
  • the connection mode of all register groups to the bus and CPU reduces the design difficulty of adding or reducing register groups in the chip design.
  • the embodiment of the present application can also identify the register set through the identifier of the register set, instead of identifying the register set through address decoding in the related technology, and the identification of the register set is larger than the data volume of the address. small. Therefore, the embodiment of the present application reduces the difficulty for the central processing unit to find the corresponding register set, thereby improving the efficiency of reading and writing data from the corresponding register set.
  • the central control module in the embodiment of the present application performs unified read and write management on the data of the controlled register set, and performs the data conversion between parallel and serial, the central processing unit can read and write the system
  • the data in the middle register bank is easier.
  • the embodiments of the present application are also helpful to make statically controlled chips or chips with complex and expensive bus interfaces, or chips that require a unified central control module to control all register sets to achieve special functions to achieve higher data reading. Write efficiency, and reduce the difficulty of chip development when adding or subtracting register sets.
  • the embodiment of the present application can also provide a method for reading and writing a register applied to a subsystem.
  • FIG. 10 is a flowchart of a method for reading and writing a register according to another exemplary embodiment of the present application.
  • the method for reading and writing the register includes:
  • Step 1001 The register group in the subsystem receives the target identification information in a serial manner.
  • the target identification information is the identification of the register group broadcast by the central control module
  • the central control module is arranged between the central processing unit and the register group
  • the central control module is used to control the data interaction between the central processing unit and the register.
  • each register group in the subsystem receives target identification information in a serial manner.
  • the subsystem and the central control module are connected in the manner shown in Figure 3, and take subsystem 2 as an example.
  • the register group_1, register group_2, and register group_3 in the subsystem 2 can all receive the target identification information through the signal line.
  • Step 1002 the register group in the subsystem receives the target command in a serial manner.
  • the target command is used to instruct the register group to write the first data, or to instruct the register group to output the saved second data.
  • the target identification information is located before the target command.
  • the register group after receiving the target identification information, the register group will receive the target command again.
  • the register group in the subsystem receives serial data.
  • the target identification information is located before the target command.
  • Step 1003 The first register set in the subsystem executes the target command, and the identifier of the first register set matches the target identification information.
  • Step 1004 The second register set in the subsystem does not respond to the target command, and the identification of the second register set does not match the target identification information.
  • the register set compares whether its own identification matches the target identification information.
  • the register group whose own ID matches the target ID information is the first register group.
  • the register group whose own ID does not match the target ID information is the second register group.
  • first register set and the second register set in the subsystem will react differently to the target command. Among them, the first register set in the subsystem will execute the target command, and the second register set will not respond to the target command.
  • the method for reading and writing registers performed by the subsystem disclosed in the embodiments of the present application can connect the register set to the central control module through a signal line when the register set is added to the subsystem, and remove the register set when the register set is reduced.
  • the register set and signal line are sufficient, and there is no need to redesign the connection mode of all the register sets to the bus and the CPU as in the past, which reduces the difficulty of adding or reducing the design of the register set for the subsystem in the chip design, and improves the overall new subsystem Or reduce the difficulty of the subsystem.
  • the embodiment of the present application can also provide a method for reading and writing registers in which the register group and the central control module participate simultaneously, which is introduced as follows.
  • FIG. 11 is a flowchart of a method for reading and writing a register according to another exemplary embodiment of the present application.
  • This register reading and writing method can be applied to any one of the chips shown in Figs. 1, 3 to 5 above.
  • the method for reading and writing the register includes:
  • Step 1011 The central control module broadcasts the target keyword to the controlled register group in the first time period.
  • the target keyword is used to indicate that the data sent in the second time period represents the identifier of the specified register group, that is, the content of the data sent in the second time period can be determined as the identifier of a certain register group through the target keyword.
  • the register group instructs the decoding module to receive the target key
  • the target key is used to indicate the meaning represented by the data received in the second time period.
  • the target key is "001", which is used to indicate that the data received in the second time period represents identification data, that is, the data received in the second time period represents the ID of the register group.
  • Step 1012 The central control module broadcasts identification data to the controlled register group in the second time period.
  • the target keyword and identification data belong to the target identification information.
  • the register group receives the identification data in the second time period, and the target keyword and the identification data belong to the target identification information.
  • the end time of the first time period is earlier than or equal to the start time of the second time period.
  • Step 1013 The central control module broadcasts the command keyword to the controlled register group in the third time period.
  • the command keyword is used to indicate the type of the target command
  • the type of the target command includes one of a read type or a write type.
  • the decoding module when the identification data matches the identification of the register set, the decoding module is instructed to receive the command keyword, the command keyword is used to indicate the type of the target command, and the type of the target command includes the read type Or one of the write types.
  • the decoding module when the identification data does not match the identification of the register group, the decoding module will no longer receive subsequent command keywords. Or, the decoding module no longer decodes and recognizes the subsequently received operation key.
  • Step 1014 The central control module broadcasts or reads the corresponding data according to the type of the target command in the fourth time period.
  • the register group transmits data to the central control module or receives and reads data sent by the central control module according to the type of the target command.
  • the end time of the first time period is earlier than or equal to the start time of the second time period
  • the end time of the second time period is earlier than or equal to the start time of the third time period
  • the end time of the third time period is earlier than or equal to the fourth time period.
  • the start time of the period is earlier than or equal to the start time of the second time period
  • the end time of the second time period is earlier than or equal to the start time of the third time period
  • the end time of the third time period is earlier than or equal to the fourth time period.
  • the central control module can also implement the function of writing or reading data by executing step (1) or step (2).
  • Step (1) In the fourth period, when the type of the target command is the write type, the central control module broadcasts the first data to the controlled register group.
  • the register group saves the first data.
  • Step (2) In the fourth period, when the type of the target command is the read type, the central control module reads the second data from the register set corresponding to the target identification information.
  • the second data is output to the central control module.
  • FIG. 12 is a schematic diagram of a serial signal writing sequence based on a register set shown in FIG. 4.
  • the command line 410 serially transmits the target keyword "111" in the first period 11A.
  • the data line 420 serially transmits the identification data "10100001" in the second period 11B.
  • the command line 410 writes the keyword "101" in serial transmission in the third period 11C, which indicates that data is written to the register group.
  • the data line 420 serially transmits 128-bit data in the fourth period 11D.
  • FIG. 4 is a schematic diagram based on the timing sequence of serially reading data from the register set shown in FIG. 4.
  • the command line 410 serially transmits the target keyword "111" in the first period 11E.
  • the data line 420 serially transmits the identification data "10100001" in the second period 11F.
  • the command line 410 reads the keyword "110" during the 11G serial transmission in the third period, which indicates that 128-bit data is serially read from the register group.
  • the data line 420 serially transmits 128-bit data in the fourth period 11H.
  • this embodiment can be applied to a chip.
  • the chip includes a central control module and a register set.
  • the central control module receives in parallel the target identification information and the corresponding target command sent by the central processing unit.
  • the central control module converts the above information into Serial data.
  • serial data the target identification information is located before the target command.
  • the central control module broadcasts the above information in a serial manner to at least two register groups under its control. At least two register groups correspond to the target identification.
  • the information register group executes the target command, which realizes the information interaction between the register group and the central processing unit without the help of the bus system.
  • connection mode of the CPU reduces the design difficulty of adding or reducing the register set in the chip design.
  • the embodiment of the present application also provides a computer-readable medium that stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the register reading described in each of the above embodiments. Writing method.
  • the embodiment of the present application also provides a computer program product, and the computer program product stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the register reading and writing method as provided in the embodiment of the present application.
  • a method for reading and writing registers wherein, when applied to a chip, the chip includes a central processing unit, a central control module, and a subsystem, the subsystem includes at least two register sets, and the central control module is arranged in the central Between the processor and the subsystem, and the central control module is used to control data interaction between the central processor and the subsystem, the method includes:
  • the central control module receives in parallel the target identification information and the corresponding target command sent by the central processing unit;
  • the central control module converts the target identification information and the corresponding target command into serial data, wherein in the serial data, the target identification information is located before the target command;
  • the central control module broadcasts the target identification information and the corresponding target command in a serial manner to the register group in the controlled subsystem;
  • the first register set in the subsystem executes the target command, and the target command is used to instruct the register set to write first data, or to instruct the register set to output the saved second data, so
  • the first register group is a register group corresponding to the target identification information among the at least two register groups.
  • the central control module broadcasts target identification information and corresponding target commands in a serial manner to the register set in the controlled subsystem, including:
  • the central control module broadcasts a target keyword to the controlled register group, and the target keyword is used to indicate that the data sent in the second time period represents the identification of the designated register group;
  • the central control module broadcasts identification data to the controlled register group, and the target keyword and the identification data belong to the target identification information;
  • the central control module broadcasts a command keyword to the controlled register group.
  • the command keyword is used to indicate the type of the target command.
  • the type of the target command includes a read type or a write type. One of the types;
  • the central control module broadcasts or reads corresponding data according to the type of the target command
  • the end time of the first time period is earlier than or equal to the start time of the second time period
  • the end time of the second time period is earlier than or equal to the start time of the third time period
  • the end time of the third time period It is earlier than or equal to the start time of the fourth period.
  • the central control module broadcasts or reads corresponding data according to the type of the target command, including:
  • the central control module broadcasts the first data to the controlled register group;
  • the central control module reads the second data from the register set corresponding to the target identification information.
  • the register group and the central control module exchange data through a signal line, and the signal line is used for serial transmission of data.
  • bit width of the signal line is 1 bit
  • the data transmission direction of the signal line is bidirectional transmission between the central control module and the register group.
  • the bit width of the signal line is 2 bits, and the signal line includes a command line and a data line;
  • the bit width of the command line is 1 bit, and the bit width of the data line is 1 bit; the direction in which the command line transmits data is from the central control module to the register group, and the data line The direction of data transmission is bidirectional transmission between the central control module and the register set.
  • the bit width of the signal line is 3 bits, and the signal line includes a command line, a write data line, and an output data line;
  • the bit width of the command line is 1 bit
  • the bit width of the write data line is 1 bit
  • the bit width of the output data line is 1 bit
  • the direction of the command line to transmit data is from the
  • the central control module transmits data to the register group
  • the write data line transmits data from the central control module to the register group
  • the output data line transmits data from the register group.
  • At least two of the register sets share the same reset signal, and at least two of the register sets share the same clock signal.
  • a method for reading and writing registers wherein, when applied to a subsystem, the subsystem includes at least two register sets, and the method includes:
  • the register set in the subsystem receives target identification information in a serial manner, the target identification information is the identification of the register set broadcast by the central control module, and the central control module is set between the central processing unit and the register set And the central control module is used to control data interaction between the central processing unit and the register set;
  • the register set in the subsystem receives a target command in a serial manner, the target command is used to instruct the register set to write the first data, or to instruct the register set to output the saved second data, In the serial data, the target identification information is located before the target command;
  • the first register set in the subsystem executes the target command, and the identification of the first register set matches the target identification information
  • the second register set in the subsystem does not respond to the target command, and the identifier of the second register set does not match the target identification information.
  • a method for reading and writing registers wherein, when applied to a register set, the method includes:
  • the target identification information is received in a serial manner, the target identification information is the identification of the register set broadcast by the central control module, the central control module is arranged between the central processing unit and the register set, and the central control module Used to control data interaction between the central processing unit and the register set;
  • Target command is used to instruct the register group to write first data, or to instruct the register group to output saved second data
  • the program can be stored in a computer-readable storage medium.
  • the mentioned storage medium can be a read-only memory, a magnetic disk or an optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请实施例公开了一种寄存器的读写方法、芯片、子系统、寄存器组及终端,属于寄存器读写技术领域。在本申请中,中央控制模块并行接收中央处理器发送的目标标识信息和对应的目标命令,中央控制模块将上述信息转换为串行的数据,向所控制的至少两个寄存器组通过串行的方式广播,至少两个寄存器组中对应目标标识信息的寄存器组执行目标命令,通过增设中央控制模块,将CPU以并行方式发出的数据转换为串行方式,后续在增加寄存器组时将寄存器组用信号线连接至中央控制模块即可,在减少寄存器组时相应移除寄存器组和信号线,无需像以往那样需重新设计所有寄存器组与总线、CPU的连接方式,降低了芯片设计中新增或者减少寄存器组的设计难度。

Description

寄存器的读写方法、芯片、子系统、寄存器组及终端
本申请要求于2020年6月5日提交的申请号为202010508128.4、发明名称为“寄存器的读写方法、芯片、子系统、寄存器组及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及寄存器读写技术领域,特别涉及一种寄存器的读写方法、芯片、子系统、寄存器组及终端。
背景技术
在SoC(System on Chip,系统级芯片)设计领域中,为了通过一个芯片实现指定的多个功能,本领域技术人员通常在一个芯片上设计多个子系统。其中,每一个子系统包括若干个寄存器组。中央处理器(CPU)通过总线(bus)访问芯片内部的各个子系统。
相关技术中,当中央处理器需要访问子系统时,通过并行传输的方式将数据发送至子系统,子系统再通过总线进行译码。当总线完成译码时,寄存器组能够对完成译码的信息进行识别,从而进行信息的读写。
发明内容
本申请实施例提供了一种寄存器的读写方法、芯片、子系统、寄存器组及终端。所述技术方案如下:
根据本申请的一方面内容,提供了一种寄存器的读写方法,应用于芯片中,所述芯片包括中央处理器、中央控制模块和子系统,所述子系统包括至少两个寄存器组,所述中央控制模块设置于所述中央处理器和所述子系统之间,且所述中央控制模块用于控制所述中央处理器与所述子系统之间的数据交互,所述方法包括:
所述中央控制模块并行接收所述中央处理器发送的目标标识信息和对应的目标命令;
所述中央控制模块将所述目标标识信息和所述对应的目标命令,转换为串行的数据,其中,所述串行的数据中,所述目标标识信息位于所述目标命令之前;
所述中央控制模块向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;
所述子系统中的第一寄存器组执行所述目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,所述第一寄存器组是所述至少两个寄存器组中与所述目标标识信息对应的寄存器组。
根据本申请的另一方面内容,提供了一种寄存器的读写方法,应用于子系统中,所述子系统包括至少两个寄存器组,所述方法包括:
所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器之间的数据交互;
所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;
所述子系统中的第一寄存器组执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;
所述子系统中的第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述 目标标识信息不匹配。
根据本申请的另一方面内容,提供了一种寄存器的读写方法,应用于寄存器组中,所述方法包括:
通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;
当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
根据本申请的另一方面内容,提供了一种芯片,所述芯片包括中央处理器、中央控制模块和子系统,所述子系统包括至少两个寄存器组,所述中央控制模块设置于所述中央处理器和所述子系统之间,且所述中央控制模块用于控制所述中央处理器与所述子系统之间的数据交互,
所述中央控制模块,用于并行接收所述中央处理器发送的所述目标标识信息和对应的目标命令;
所述中央控制模块,用于将所述目标标识信息和所述对应的目标命令,转换为串行的数据,其中,所述串行的数据中,所述目标标识信息位于所述目标命令之前;
所述中央控制模块,用于向所控制的至少两个寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;
所述子系统中的第一寄存器组执行所述目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,所述第一寄存器组是所述至少两个寄存器组中与所述目标标识信息对应的寄存器组。
根据本申请的另一方面内容,提供了一种子系统,所述芯片包括至少两个寄存器组:
所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;
所述子系统中的第一寄存器组用于执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;
所述子系统中的第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述目标标识信息不匹配。
根据本申请的另一方面内容,提供了一种寄存器组,所述寄存器组用于通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;
当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
根据本申请的另一方面内容,提供了一种终端,所述终端包括本申请实施例中提供的芯片。
根据本申请的另一方面内容,本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如本申请实施例提供的寄存器的读写方法。
附图说明
了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的终端的结构框图;
图2是一种基于标准总线的寄存器访问架构的示意图;
图3是本申请一个示例性实施例提供的一种寄存器访问架构的示意图;
图4是本申请一个示例性实施例提供的一种寄存器访问架构的示意图;
图5是本申请一个示例性实施例提供的一种寄存器访问架构的示意图;
图6是本申请一个示例性实施例提供的一种寄存器的读写方法的流程图;
图7是本申请实施例提供的一种寄存器组的有限状态机的示意图;
图8是本申请一个示例性实施例提供的一种寄存器的读写方法的流程图;
图9是本申请实施例提供的一种中央控制模块的有限状态机的示意图;
图10是本申请另一个示例性实施例提供的一种寄存器的读写方法流程图;
图11是本申请另一个示例性实施例提供的一种寄存器的读写方法流程图;
图12是基于图4示出的一种寄存器组写入串行信号时序的示意图;
图13是基于图4示出的一种从寄存器组中串行读取数据的时序的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,能够是固定连接,也能够是可拆卸连接,或一体地连接;能够是机械连接,也能够是电连接;能够是直接相连,也能够通过中间媒介间接相连。对于本领域的普通技术人员而言,能够具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示能够存在三种关系,例如,A和/或B,能够表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
串行的方式:在一条信号线中,数据通过队列的方式从中央控制模块传输到寄存器组中。例如,数据“010101”将在信号线中逐个从中央控制模块传输到寄存器组中。
目标标识信息:该信息是中央控制模块广播的寄存器组的标识。在一种可能的实现方式中,目标标识信息包括目标关键字和标识数据。例如,目标信息为“111+010”,则表示目标关键字是“111”,标识数据是“010”。在本申请中,不同数值的目标关键字用于表示不同的关键字。当目标关键字的是数值“111”时,表示该目标关键字是目标关键字,寄存器的标识是“010”。
目标命令:包括读数据和写数据两种作用,当目标命令用于从寄存器组中读数据时,该命令用于指示寄存器组输出保存的第二数据。当目标命令用于向寄存器组中写数据时,该命令用于指示寄存器组中写入第一数据。
可选地,目标命令包括命令关键字。可选地,该命令关键字包括写入关键字和读取关键字。当命令关键字是写入关键字时,目标命令的类型是写入类型。当命令关键字是读取关键字时,目标命令的类型是读取类型。
可选地,当目标命令的类型是写入类型时,目标命令包括写入关键字和第一数据。寄存器组能够根据写入关键字确定需要往寄存器组自身中存储的数据,也即第一数据,进而将第一数据存入寄存器组中。
可选地,当目标命令的类型是读取类型时,目标命令包括读取关键字和第二数据。寄存器组能够根据读取关键字得知自身需要向外输出第二数据,进而该寄存器组将向外输出第二数据。
示例性地,本申请实施例所示的寄存器的读写方法,能够应用在终端中,该终端包括本申请实施例中示出的芯片,且在本申请实施例所示的芯片中包括寄存器组。可选地,终端包括手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放终端、MP5播放终端、学习机、点读机、电纸书、电子词典、车载终端、虚拟现实(Virtual Reality,VR)播放终端或增强现实(Augmented Reality,AR)播放终端等。
另一方面,本申请实施例还能够应用在芯片中,该芯片可以应用在上述终端中。
请参考图1,图1是本申请一个示例性实施例提供的终端的结构框图,如图1所示,该终端100包括芯片10,芯片10包括处理器120、存储器140、子系统160和中央控制模块180,所述存储器140中存储有至少一条指令,所述指令由所述处理器120加载并执行以实现如本申请各个方法实施例所述的寄存器的读写方法。可选地,处理器120是中央处理器。芯片10包括中央处理器、中央控制模块180和子系统160,中央控制模块180设置于中央处理器和子系统160之间,且中央控制模块180用于控制中央处理器与子系统160之间的数据交互。
处理器120能够包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行终端100的各种功能和处理数据。可选的,处理器120能够采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。能够理解的是,上述调制解调器也能够不集成到处理器120中,单独通过一块芯片进行实现。
存储器140能够包括随机存储器(Random Access Memory,RAM),也能够包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
子系统160中能够设置在处理器外部。可选地,中央控制模块180设置在处理器和子系统之间,用于控制中央控制模块180与各个子系统的数据交互,在子系统中写入数据或者从子系统中读取数据。示意性的,子系统160可以实现为一组实体的电路。子系统160中包括至少两个寄存器组。例如,子系统160包括寄存器组161和寄存器组162。
在本申请中,芯片10执行下列步骤:中央控制模块并行接收中央处理器发送的目标标识信息和对应的目标命令;中央控制模块将目标标识信息和对应的目标命令,转换为串行的数据,其中,串行的数据中,目标标识信息位于目标命令之前;中央控制模块向所控制的至少两个寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;第一寄存器组执行目标命令,目标命令用于指示寄存器组写入第一数据,或,用于指示寄存器组输出保存的第二数据,第一寄存器组是至少两个寄存器组中与目标标识信息对应的寄存器组。
在本申请中,子系统160执行下列步骤:所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识;所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;第一寄存器组用于执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述目标标识信息不匹配。
在本申请中,寄存器组161或寄存器组162执行下列步骤:通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器之间的数据交互;通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
请参考图2,图2是一种基于标准总线的寄存器访问架构的示意图。在图2中,中央处理器210通过顶层总线220与各个子系统进行数据交互。在图2中,包括子系统1、子系统2和子系统k共3个子系统。其中,以子系统1为例,介绍子系统1中的寄存器组和中央处理器进行数据交互的过程。
当中央处理器210需要向子系统1中的寄存器组_2写入数据时,中央处理器210将子系统1中的寄存器组_2的地址添加在需要写入的数据头部,发送至顶层总线220,顶层总线220将该数据分别传送至子系统总线231、子系统总线241和子系统总线251中。由各个子系统总线和标准总线进行配合,对数据进行译码。当译码得到的寄存器组_2的地址与标准总线对应的寄存器组的地址相同时,标准总线2A将数据写入寄存器组_2中。示意性的,标准总线的线缆条数的数量级为10 1,标准总线较为复杂。当芯片中需要增加新的子系统或者新的寄存器组时,调试对应子系统总线和标准总线的工作量加大,使得芯片模块化开发的难度提高。可选地,标准总线是AHB(Advanced High performance Bus,高性能线缆)、APB(Advanced Peripheral Bus,外围总线)或者其它能够实现总线功能的线缆。
针对上述寄存器读写架构中存在的局限性,本申请提出了一种新的寄存器读写的架构,又称寄存器读写的控制协议,介绍如下。
请参考图3,图3是本申请一个示例性实施例提供的一种寄存器访问架构的示意图。在图3中,中央处理器210通过总线3A与中央控制模块(center control)310通信,中央控制模块310通过信号线320与子系统1、子系统2和子系统k通信。需要说明的是,信号线320是1位(bit)的线缆。其中,图3中的箭头指向表示数据流动方向。在图3中, 中央控制模块设置在中央处理器和寄存器组之间,且中央控制模块用于控制中央处理器与寄存器之间的数据交互。
在另一种可能的方式中,信号线320是2位(bit)的线缆。请参见图4,图4是本申请一个示例性实施例提供的一种寄存器访问架构的示意图。其中,2位信号线(line)包括命令(CMD)线410和数据(DAT)线420。可选地,在图4中,命令线410是位[0],数据线420是位[1],图4所示架构是2位串行控制协议下的寄存器组的读写架构。需要说明的是,图4中的箭头指向表示数据流动方向。其中,命令线410传输数据的方向是从中央控制模块传向寄存器组单向传输。数据线420传输数据的方向是在中央控制模块和寄存器组之间双向传输的。
在另一种可能的方式中,信号线320是3位(bit)的线缆。请参见图5,图5是本申请一个示例性实施例提供的一种寄存器访问架构的示意图。其中,3位信号线(line)包括命令(CMD)线510、写入数据线520和输出数据线530。需要说明的是,图5中的箭头指向表示数据流动方向。其中,命令线510传输数据的方向是从中央控制模块传向寄存器组单向传输。写入数据线520传输数据的方向是从中央控制模块传向寄存器组单向传输。输出数据线530传输数据的方向是从寄存器组传向中央控制模块单向传输。
可选地,在图3至图5所示的寄存器组中,各个寄存器组共享相同的重置信号和时钟信号。也即,当其中寄存器组需要进行重置时,图3至图5中任意一个图中的全部寄存器组都将被相同的重置信号来重置,从而简化了寄存器组的结构。
同时,图3至图5中任意一个图中的全部寄存器组共享同一个时钟信号,以保证寄存器组中的时间相同。
可选地,所述寄存器组与所述中央控制模块之间通过信号线进行数据交互,所述信号线用于串行传输数据。
请参考图6,图6是本申请一个示例性实施例提供的寄存器的读写方法的流程图。该寄存器的读写方法能够应用在上述图1、图3至图5任一所示的芯片中。在图6中,寄存器的读写方法包括:
步骤610,通过串行的方式接收目标标识信息,目标标识信息是中央控制模块广播的寄存器组的标识。
在本申请实施例中,寄存器组能够通过串行的方式接收目标标识信息。其中,寄存器组能够通过图3至图5任意一种架构获得中央控制模块广播的目标标识信息。
在本申请实施例中,中央控制模块设置于中央处理器和寄存器组之间,且中央控制模块用于控制中央处理器与寄存器之间的数据交互。
可选地,以图4所示架构为例,寄存器组将通过命令线410获得目标关键字,将通过数据线420获得标识数据。其中,以寄存器组为从机(slave)为例,介绍寄存器组侧的控制协议。
Figure PCTCN2021090614-appb-000001
需要说明的是,在本申请实施例中,将寄存器组设计为包含N个寄存器的组件,每个寄存器包括M位的存储空间。在本申请中,寄存器组能够将N*M位数据全部读取出,或者,将需要写入的数据写入N*M位空间中。需要说明的是,N和M的取值是正整数,且 N和M均为实例化参数(instantiation parameter),本申请不对N和M具体的取值进行限定。
在表一中,数据方向表示以寄存器组为参考点,数据流动的方向。例如,写入表示从中央控制模块向寄存器组写入数据,读取表示从寄存器组中向外读取数据。在本申请实施例中,当命令线中出现数据“111”时,表示数据线中将传送寄存器标识。此时,寄存器组将从数据线中读取到k位长的寄存器组标识。需要说明的是,k也为实例化参数。
可选地,当命令线中出现数据“101”时,表示数据线中将传送N*M位写入的数据。
步骤620,通过串行的方式接收目标命令,目标命令用于指示寄存器组写入第一数据,或,用于指示寄存器组输出保存的第二数据。
在本申请实施例中,寄存器组将通过串行的方式接收目标命令。可选地,寄存器组中包括译码模块。译码模块能够通过串行的方式接收目标标识信息,并在当目标标识信息与寄存器组的标识匹配时,接收目标命令。
步骤630,当目标标识信息与寄存器组的标识匹配时,执行目标命令。
在本申请实施例中,可选地,寄存器组能够当目标标识信息与寄存器组的标识匹配,且目标命令的类型是写入类型时,将中央控制模块发送来的数据写入整个寄存器组的存储空间中。可选地,寄存器组能够当目标标识信息与寄存器组的标识匹配,且目标命令的类型是读取类型时,将存在寄存器组中的全部数据,向中央控制模块输出。
可选地,寄存器组在本申请提供的寄存器的读写方法中,包括一个有限状态机,介绍如下。
请参见图7,图7是本申请实施例提供的一种寄存器组的有限状态机的示意图。在图7中,寄存器组在空闲态710中,能够在从命令线接收数据“111”后从数据线中接收k位长的数据(也即步骤720)。当寄存器组在该k位长的数据与该寄存器组的标识不匹配(也即ID_match=‘0’)时,继续转为空闲态。当寄存器组在该k位长的数据与该寄存器组的标识匹配(也即ID_match=‘1’)时,执行接收目标命令(也即步骤730)。随后,当从命令线中接收到数据“101”时,进入写数据状态(也即步骤740),将N*M位数据写入寄存器组,之后进入空闲态。另一方面,当从命令线中接收到数据“110”时,进入读数据状态,将寄存器组中的N*M位数据取出(也即步骤750),之后进入空闲态。
综上所述,本实施例提供的寄存器的读写方法,寄存器组通过串行的方式接收目标标识信息,该目标标识信息是中央控制模块广播的寄存器组的标识,通过串行的方式接收目标命令,该目标命令用于指示寄存器组写入第一数据,或,用于指示寄存器组输出保存的第二数据,当目标标识信息与寄存器组的标识匹配时,执行该目标命令。由于本申请能够通过串行的方式令寄存器组接收中央控制模块广播的标识,并在标识匹配时通过串行的方式接收读写命令并执行,将CPU以并行方式发出的数据转换为串行方式,后续在增加寄存器组时将寄存器组通过信号线连接至中央控制模块即可,在减少寄存器组时,无需像以往那样重新设计所有寄存器组与总线、CPU的连接方式,降低了芯片中新增或者减少寄存器组的设计难度。
可选地,由于本申请提供了信号线作为连接中央控制模块与寄存器组的连接,因此,本申请实施例还能够有效降低相关技术中,通过总线进行数据传输所造成的总线位宽过高,给寄存器组的布线工作带来空间上的压力并增加排线设计的复杂度的问题,有效降低了从中央控制模块到寄存器组的路由难度。
请参见图8,图8是本申请一个示例性实施例提供的寄存器的读写方法的流程图。该寄存器的读写方法能够应用在上述图1、图3至图5任一所示的芯片中,芯片包括中央控制模块和寄存器组。在图8中,寄存器的读写方法包括:
步骤810,中央控制模块并行接收中央处理器发送的目标标识信息和对应的目标命令。
在本申请实施例中,中央控制模块接收中央处理器发送的数据是通过并行的方式接收的。相应的,中央处理器在需要向寄存器组写入数据或者从寄存器组中读出数据时,中央处理器将向中央控制模块并行发送目标标识信息和对应于目标标识信息的目标命令。
步骤820,中央控制模块将目标标识信息和对应的目标命令,转换为串行的数据,其中,串行的数据中,目标标识信息位于目标命令之前。
在本申请实施例中,中央控制模块具有数据转换的功能,能够将并行接收到的数据转换为串行的数据。在中央控制模块转换后的串行的数据中,目标标识信息位于目标命令之前。
步骤830,中央控制模块向所控制的子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令。
示意性的,若中央控制模块控制有m个寄存器组,则中央控制模块能够向上述m个寄存器组均通过串行的方式广播目标标识信息和对应的目标命令。需要说明的是,m个寄存器组可以分别属于若干个子系统。其中,一个子系统包括至少两个寄存器组。
步骤840,子系统中的第一寄存器组执行目标命令,目标命令用于指示寄存器组写入第一数据,或,用于指示寄存器组输出保存的第二数据,第一寄存器组是至少两个寄存器组中与目标标识信息对应的寄存器组。
请参见图9,图9是本申请实施例提供的一种中央控制模块的有限状态机的示意图。在图9中,中央控制模块在空闲态910开始,向所控制的寄存器组广播目标关键字,也即从命令线传送数据“111”(也即执行步骤920);随后,从数据线发送k位长的数据(也即执行步骤930);随后向所控制的寄存器组广播目标命令(也即执行步骤940)。当从命令线上发送的数据是“101”时,中央控制模块从数据线上向寄存器组中写入N*M位数据(也即执行步骤950)。当从命令线上发送的数据是“110”时,中央控制模块从数据线上读取从寄存器组中获取的N*M位数据(也即执行步骤960)。当步骤950或步骤960执行完毕,中央控制模块返回空闲态。
综上所述,本申请提供的寄存器的读写方法,应用于芯片中,芯片包括中央控制模块和寄存器组,中央控制模块并行接收中央处理器发送的目标标识信息和对应的目标命令,中央控制模块将上述信息转换为串行的数据,在串行数据中,目标标识信息位于目标命令之前,中央控制模块向所控制的至少两个寄存器组,通过串行的方式广播上述信息,至少两个寄存器组中对应目标标识信息的寄存器组执行目标命令,实现了在不借助总线系统的情况下完成寄存器组与中央处理器之间的信息交互,通过增设中央控制模块,将CPU以并行方式发出的数据转换为串行方式,后续在增加寄存器组时将寄存器组通过信号线连接至中央控制模块即可,在减少寄存器组时相应移除寄存器组和信号线即可,无需像以往那样需重新设计所有寄存器组与总线、CPU的连接方式,降低了芯片设计中新增或者减少寄存器组的设计难度。
可选地,由于本申请实施例还能够通过寄存器组的标识对寄存器组进行识别,而并非通过相关技术中通过地址解码的方式识别寄存器组,且寄存器组的标识相较于地址的数据量更小。因此,本申请实施例降低了中央处理器查找到相应的寄存器组的难度,从而提高了从相应的寄存器组中读写数据的效率。
可选地,由于本申请实施例在寄存器组和中央控制模块之间设计了简单的信号线,降低寄存器组的解码工作的逻辑复杂度,使得为芯片新增寄存器组的设计难度大为降低。
可选地,由于本申请实施例中中央控制模块对所控制的寄存器组的数据进行统一的读写管理,并进行了数据的并行和串行之间的转换,使得中央处理器读写该体系下中寄存器组的数据更加容易。
可选地,由于本申请实施例提供的方案在中央控制模块与寄存器组之间设计了逻辑简单的数据读写标准。因此,本申请实施例还有助于令静态控制的芯片或者总线接口复杂且 花费较大的芯片,或者需要统一的中央控制模块控制全部的寄存器组以实现专用功能的芯片实现较高的数据读写效率,以及降低增减寄存器组时的芯片开发难度。
本申请实施例还能够提供一种应用于子系统中的寄存器的读写方法。请参见图10,图10是本申请另一个示例性实施例提供的一种寄存器的读写方法流程图。在图10中,该寄存器的读写方法包括:
步骤1001,子系统中的寄存器组通过串行的方式接收目标标识信息。
其中,目标标识信息是中央控制模块广播的寄存器组的标识,中央控制模块设置于中央处理器和寄存器组之间,且中央控制模块用于控制中央处理器与寄存器之间的数据交互。
示意性的,子系统中的每一个寄存器组均通过串行的方式接收目标标识信息。例如,若子系统和中央控制模块以图3所示的方式进行连接,并以子系统2为例。子系统2中的寄存器组_1、寄存器组_2和寄存器组_3均能够通过信号线接收到目标标识信息。
步骤1002,子系统中的寄存器组通过串行的方式接收目标命令。
其中,目标命令用于指示寄存器组写入第一数据,或,用于指示寄存器组输出保存的第二数据,在串行的数据中,目标标识信息位于目标命令之前。
示意性的,寄存器组在接收到目标标识信息之后,将再接收目标命令。子系统中的寄存器组接收串行的数据,在该串行的数据中,目标标识信息位于目标命令之前。
步骤1003,子系统中的第一寄存器组执行目标命令,第一寄存器组的标识与目标标识信息匹配。
步骤1004,子系统中的第二寄存器组不响应目标命令,第二寄存器组的标识与目标标识信息不匹配。
可选地,在寄存器组接收目标标识信息和目标命令之后,寄存器组将比较自身的标识和目标标识信息是否匹配。在子系统中,自身的标识和目标标识信息匹配的寄存器组是第一寄存器组。自身的标识和目标标识信息不匹配的寄存器组是第二寄存器组。
进而,在子系统中的第一寄存器组和第二寄存器组将针对目标命令作出不同的反应。其中,子系统中的第一寄存器组将执行目标命令,第二寄存器组不响应目标命令。
综上所述,本申请实施例公开的由子系统执行的寄存器读写方法,能够令子系统中增加寄存器组时将寄存器组通过信号线连接至中央控制模块即可,在减少寄存器组时相应移除寄存器组和信号线即可,无需像以往重新设计所有寄存器组与总线、CPU的连接方式,降低了芯片设计中为子系统新增或者减少寄存器组的设计难度,并提高了整体新增子系统或者减少子系统的难度。
本申请实施例还能够提供一种寄存器组和中央控制模块同时参与的寄存器的读写方法,介绍如下。
请参见图11,图11是本申请另一个示例性实施例提供的寄存器的读写方法流程图。该寄存器的读写方法能够应用在上述图1、图3至图5任一所示芯片中。在图11中,该寄存器的读写方法包括:
步骤1011,中央控制模块在第一时段内,向所控制的寄存器组广播目标关键字。
其中,目标关键字用于指示第二时段发送的数据代表指定的寄存器组的标识,也即通过该目标关键字可确定第二时段发送的数据的内容为对应某一寄存器组的标识。
相应的,寄存器组在第一时段内,指示译码模块接收目标关键字,目标关键字用于指示第二时段接收的数据所代表的含义。例如,在一种可能的方式中,目标关键字为“001”,用于指示第二时段接收的数据代表标识数据,也即第二时段接收的数据代表寄存器组的ID。
步骤1012,中央控制模块在第二时段内,向所控制的寄存器组广播标识数据。
其中,目标关键字和标识数据属于目标标识信息。
相应的,寄存器组在第二时段内接收标识数据,目标关键字和标识数据属于目标标识信息。示意性的,第一时段的结束时刻早于或等于第二时段的开始时刻。
步骤1013,中央控制模块在第三时段内,向所控制的寄存器组广播命令关键字。
其中,命令关键字用于指示目标命令的类型,目标命令的类型包括读取类型或写入类型中的一种。
相应的,寄存器组在第三时段内,当标识数据与寄存器组的标识匹配时,指示译码模块接收命令关键字,命令关键字用于指示目标命令的类型,目标命令的类型包括读取类型或写入类型中的一种。
在一种可能的实施例中,当标识数据与寄存器组的标识不匹配时,译码模块将不再接收后续的命令关键字。或者,译码模块不再对后续接收到的操作关键进行译码识别。
步骤1014,中央控制模块在第四时段内,根据目标命令的类型,广播或读取对应的数据。
相应的,寄存器组在第四时段内,根据目标命令的类型,向中央控制模块传输数据或者接收并读取中央控制模块发送的数据。
示意性的,第一时段的结束时刻早于或等于第二时段的开始时刻,第二时段的结束时刻早于或等于第三时段的开始时刻,第三时段的结束时刻早于或等于第四时段的开始时刻。
在本申请实施例中,中央控制模块还可以通过执行步骤(1)或步骤(2)来实现数据的写入或者读取功能。
步骤(1),在第四时段,当目标命令的类型是写入类型时,中央控制模块向所控制的寄存器组广播第一数据。
相应的,在第四时段,当目标命令的类型是写入类型时,寄存器组保存第一数据。
步骤(2),在第四时段,当目标命令的类型是读取类型时,中央控制模块从目标标识信息对应的寄存器组中读取第二数据。
相应的,在第四时段,当目标命令的类型是读取类型时,将第二数据向中央控制模块输出。
在一种可能的实现方式中,以图4所示架构为例。中央控制模块与寄存器组之间通过命令线和数据线交互。请参见图12,图12是基于图4示出的一种寄存器组写入串行信号时序的示意图。命令线410在第一时段11A串行传输目标关键字“111”。数据线420在第二时段11B串行传输标识数据“10100001”。命令线410在第三时段11C串行传输写入关键字“101”,该关键字表示向寄存器组中写入数据。数据线420在第四时段11D串行传输128位数据。
在另一种可能的实现方式中,以图4所示架构为例。中央控制模块与寄存器组之间通过命令线和数据线交互。请参见图13,图13是基于图4示出的一种从寄存器组中串行读取数据的时序的示意图。命令线410在第一时段11E串行传输目标关键字“111”。数据线420在第二时段11F串行传输标识数据“10100001”。命令线410在第三时段11G串行传输读取关键字“110”,该关键字表示从寄存器组中串行读取128位数据。数据线420在第四时段11H串行传输128位数据。
综上所述,本实施例能够应用于芯片中,芯片包括中央控制模块和寄存器组,中央控制模块并行接收中央处理器发送的目标标识信息和对应的目标命令,中央控制模块将上述信息转换为串行的数据,在串行数据中,目标标识信息位于目标命令之前,中央控制模块向所控制的至少两个寄存器组,通过串行的方式广播上述信息,至少两个寄存器组中对应目标标识信息的寄存器组执行目标命令,实现了在不借助总线系统的情况下完成寄存器组 与中央处理器之间的信息交互,通过增设中央控制模块,将CPU以并行方式发出的数据转换为串行方式,后续在增加寄存器组时将寄存器组通过信号线连接至中央控制模块即可,在减少寄存器组时相应移除寄存器组和信号线即可,无需像以往那样需重新设计所有寄存器组与总线、CPU的连接方式,降低了芯片设计中新增或者减少寄存器组的设计难度。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的寄存器的读写方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如本申请实施例提供的寄存器的读写方法。
在本申请实施例中,提供有如下技术方案:
一种寄存器的读写方法,其中,应用于芯片中,所述芯片包括中央处理器、中央控制模块和子系统,所述子系统包括至少两个寄存器组,所述中央控制模块设置于所述中央处理器和所述子系统之间,且所述中央控制模块用于控制所述中央处理器与所述子系统之间的数据交互,所述方法包括:
所述中央控制模块并行接收所述中央处理器发送的目标标识信息和对应的目标命令;
所述中央控制模块将所述目标标识信息和所述对应的目标命令,转换为串行的数据,其中,所述串行的数据中,所述目标标识信息位于所述目标命令之前;
所述中央控制模块向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;
所述子系统中的第一寄存器组执行所述目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,所述第一寄存器组是所述至少两个寄存器组中与所述目标标识信息对应的寄存器组。
可选地,所述中央控制模块向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令,包括:
在第一时段内,所述中央控制模块向所控制的寄存器组广播目标关键字,所述目标关键字用于指示第二时段发送的数据代表指定的寄存器组的标识;
在所述第二时段内,所述中央控制模块向所控制的寄存器组广播标识数据,所述目标关键字和所述标识数据属于所述目标标识信息;
在第三时段内,所述中央控制模块向所控制的寄存器组广播命令关键字,所述命令关键字用于指示所述目标命令的类型,所述目标命令的类型包括读取类型或写入类型中的一种;
在第四时段内,所述中央控制模块根据所述目标命令的类型,广播或读取对应的数据;
其中,所述第一时段的结束时刻早于或等于所述第二时段的开始时刻,所述第二时段的结束时刻早于或等于所述第三时段的开始时刻,第三时段的结束时刻早于或等于第四时段的开始时刻。
可选地,所述在所述第四时段内,所述中央控制模块根据所述目标命令的类型,广播或读取对应的数据,包括:
在所述第四时段,当所述目标命令的类型是所述写入类型时,所述中央控制模块向所控制的寄存器组广播第一数据;
或,
在所述第四时段,当所述目标命令的类型是所述读取类型时,所述中央控制模块从所述目标标识信息对应的寄存器组中读取第二数据。
可选地,所述寄存器组与所述中央控制模块之间通过信号线进行数据交互,所述信号线用于串行传输数据。
可选地,所述信号线的位宽是1位,所述信号线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
可选地,所述信号线的位宽是2位,所述信号线包括命令线和数据线;
其中,所述命令线的位宽是1位,所述数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述数据线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
可选地,所述信号线的位宽是3位,所述信号线包括命令线、写入数据线和输出数据线;
其中,所述命令线的位宽是1位,所述写入数据线的位宽是1位,所述输出数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述写入数据线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述输出数据线传输数据的方向是从所述寄存器组传向所述中央控制模块。
可选地,至少两个所述寄存器组共享同一个重置信号,至少两个所述寄存器组共享同一个时钟信号。
一种寄存器的读写方法,其中,应用于子系统中,所述子系统包括至少两个寄存器组,所述方法包括:
所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;
所述子系统中的第一寄存器组执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;
所述子系统中的第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述目标标识信息不匹配。
一种寄存器的读写方法,其中,应用于寄存器组中,所述方法包括:
通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;
当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,所述的程序能够存储于一种计算机可读存储介质中,上述提到的存储介质能够是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种寄存器的读写方法,其中,应用于芯片中,所述芯片包括中央处理器、中央控制模块和子系统,所述子系统包括至少两个寄存器组,所述中央控制模块设置于所述中央处理器和所述子系统之间,且所述中央控制模块用于控制所述中央处理器与所述子系统之间的数据交互,所述方法包括:
    所述中央控制模块并行接收所述中央处理器发送的目标标识信息和对应的目标命令;
    所述中央控制模块将所述目标标识信息和所述对应的目标命令,转换为串行的数据,其中,所述串行的数据中,所述目标标识信息位于所述目标命令之前;
    所述中央控制模块向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;
    所述子系统中的第一寄存器组执行所述目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,所述第一寄存器组是所述至少两个寄存器组中与所述目标标识信息对应的寄存器组。
  2. 根据权利要求1所述的方法,所述中央控制模块向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令,包括:
    在第一时段内,所述中央控制模块向所控制的寄存器组广播目标关键字,所述目标关键字用于指示第二时段发送的数据代表指定的寄存器组的标识;
    在所述第二时段内,所述中央控制模块向所控制的寄存器组广播标识数据,所述目标关键字和所述标识数据属于所述目标标识信息;
    在第三时段内,所述中央控制模块向所控制的寄存器组广播命令关键字,所述命令关键字用于指示所述目标命令的类型,所述目标命令的类型包括读取类型或写入类型中的一种;
    在第四时段内,所述中央控制模块根据所述目标命令的类型,广播或读取对应的数据;
    其中,所述第一时段的结束时刻早于或等于所述第二时段的开始时刻,所述第二时段的结束时刻早于或等于所述第三时段的开始时刻,第三时段的结束时刻早于或等于第四时段的开始时刻。
  3. 根据权利要求2所述的方法,所述在所述第四时段内,所述中央控制模块根据所述目标命令的类型,广播或读取对应的数据,包括:
    在所述第四时段,当所述目标命令的类型是所述写入类型时,所述中央控制模块向所控制的寄存器组广播第一数据;
    或,
    在所述第四时段,当所述目标命令的类型是所述读取类型时,所述中央控制模块从所述目标标识信息对应的寄存器组中读取第二数据。
  4. 根据权利要求1至3任一所述的方法,所述寄存器组与所述中央控制模块之间通过信号线进行数据交互,所述信号线用于串行传输数据。
  5. 根据权利要求4所述的方法,所述信号线的位宽是1位,所述信号线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
  6. 根据权利要求4所述的方法,所述信号线的位宽是2位,所述信号线包括命令线和数据线;
    其中,所述命令线的位宽是1位,所述数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述数据线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
  7. 根据权利要求4所述的方法,所述信号线的位宽是3位,所述信号线包括命令线、写入数据线和输出数据线;
    其中,所述命令线的位宽是1位,所述写入数据线的位宽是1位,所述输出数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述写入数据线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述输出数据线传输数据的方向是从所述寄存器组传向所述中央控制模块。
  8. 根据权利要求1所述的方法,至少两个所述寄存器组共享同一个重置信号,至少两个所述寄存器组共享同一个时钟信号。
  9. 一种寄存器的读写方法,其中,应用于子系统中,所述子系统包括至少两个寄存器组,所述方法包括:
    所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
    所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;
    所述子系统中的第一寄存器组执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;
    所述子系统中的第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述目标标识信息不匹配。
  10. 一种寄存器的读写方法,其中,应用于寄存器组中,所述方法包括:
    通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
    通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;
    当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
  11. 一种芯片,其中,所述芯片包括中央处理器、中央控制模块和子系统,所述子系统包括至少两个寄存器组,所述中央控制模块设置于所述中央处理器和所述子系统之间,且所述中央控制模块用于控制所述中央处理器与所述子系统之间的数据交互,
    所述中央控制模块,用于并行接收所述中央处理器发送的目标标识信息和对应的目标命令;
    所述中央控制模块,用于将所述目标标识信息和所述对应的目标命令,转换为串行的数据,其中,所述串行的数据中,所述目标标识信息位于所述目标命令之前;
    所述中央控制模块,用于向所控制的所述子系统中的寄存器组,通过串行的方式广播目标标识信息和对应的目标命令;
    所述子系统中的第一寄存器组执行所述目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,所述第一寄存器组是 所述至少两个寄存器组中与所述目标标识信息对应的寄存器组。
  12. 根据权利要求11所述的芯片,所述中央控制模块,用于:
    在第一时段内,所述中央控制模块向所控制的寄存器组广播目标关键字,所述目标关键字用于指示第二时段发送的数据代表指定的寄存器组的标识;
    在所述第二时段内,所述中央控制模块向所控制的寄存器组广播标识数据,所述目标关键字和所述标识数据属于所述目标标识信息;
    在第三时段内,所述中央控制模块向所控制的寄存器组广播命令关键字,所述命令关键字用于指示所述目标命令的类型,所述目标命令的类型包括读取类型或写入类型中的一种;
    在第四时段内,所述中央控制模块根据所述目标命令的类型,广播或读取对应的数据;
    其中,所述第一时段的结束时刻早于或等于所述第二时段的开始时刻,所述第二时段的结束时刻早于或等于所述第三时段的开始时刻,第三时段的结束时刻早于或等于第四时段的开始时刻。
  13. 根据权利要求12所述的芯片,所述中央控制模块,用于:
    在所述第四时段,当所述目标命令的类型是所述写入类型时,所述中央控制模块向所控制的寄存器组广播第一数据;
    或,
    在所述第四时段,当所述目标命令的类型是所述读取类型时,所述中央控制模块从所述目标标识信息对应的寄存器组中读取第二数据。
  14. 根据权利要求11至13任一所述的芯片,所述寄存器组与所述中央控制模块之间通过信号线进行数据交互,所述信号线用于串行传输数据。
  15. 根据权利要求14所述的芯片,所述信号线的位宽是1位,所述信号线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
  16. 根据权利要求14所述的芯片,所述信号线的位宽是2位,所述信号线包括命令线和数据线;
    其中,所述命令线的位宽是1位,所述数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述数据线传输数据的方向是在所述中央控制模块和所述寄存器组之间的双向传输。
  17. 根据权利要求14所述的芯片,所述信号线的位宽是3位,所述信号线包括命令线、写入数据线和输出数据线;
    其中,所述命令线的位宽是1位,所述写入数据线的位宽是1位,所述输出数据线的位宽是1位;所述命令线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述写入数据线传输数据的方向是从所述中央控制模块传向所述寄存器组,所述输出数据线传输数据的方向是从所述寄存器组传向所述中央控制模块。
  18. 一种子系统,其中,所述子系统包括至少两个寄存器组,
    所述子系统中的寄存器组通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
    所述子系统中的寄存器组通过串行的方式接收目标命令,所述目标命令用于指示所述 寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据,在串行的数据中,所述目标标识信息位于所述目标命令之前;
    所述子系统中的第一寄存器组用于执行所述目标命令,所述第一寄存器组的标识与所述目标标识信息匹配;
    所述子系统中的第二寄存器组不响应所述目标命令,所述第二寄存器组的标识与所述目标标识信息不匹配。
  19. 一种寄存器组,其中,所述寄存器组用于:
    通过串行的方式接收目标标识信息,所述目标标识信息是中央控制模块广播的寄存器组的标识,所述中央控制模块设置于中央处理器和所述寄存器组之间,且所述中央控制模块用于控制所述中央处理器与所述寄存器组之间的数据交互;
    通过串行的方式接收目标命令,所述目标命令用于指示所述寄存器组写入第一数据,或,用于指示所述寄存器组输出保存的第二数据;
    当所述目标标识信息与所述寄存器组的标识匹配时,执行所述目标命令。
  20. 一种终端,其中,所述终端包括如权利要求11至17任一所述的芯片。
PCT/CN2021/090614 2020-06-05 2021-04-28 寄存器的读写方法、芯片、子系统、寄存器组及终端 WO2021244194A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010508128.4A CN111651384B (zh) 2020-06-05 2020-06-05 寄存器的读写方法、芯片、子系统、寄存器组及终端
CN202010508128.4 2020-06-05

Publications (1)

Publication Number Publication Date
WO2021244194A1 true WO2021244194A1 (zh) 2021-12-09

Family

ID=72351255

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/090614 WO2021244194A1 (zh) 2020-06-05 2021-04-28 寄存器的读写方法、芯片、子系统、寄存器组及终端

Country Status (2)

Country Link
CN (1) CN111651384B (zh)
WO (1) WO2021244194A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495408A (zh) * 2022-11-16 2022-12-20 无锡沐创集成电路设计有限公司 数据处理方法、芯片模块、合封芯片及电子设备
CN115994115A (zh) * 2023-03-22 2023-04-21 成都登临科技有限公司 芯片控制方法、芯片组及电子设备
CN116991764A (zh) * 2023-08-03 2023-11-03 广州安凯微电子股份有限公司 一种高性能的Flash控制器和嵌入式系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651384B (zh) * 2020-06-05 2023-06-16 Oppo广东移动通信有限公司 寄存器的读写方法、芯片、子系统、寄存器组及终端
CN112181493B (zh) * 2020-09-24 2022-09-13 成都海光集成电路设计有限公司 寄存器网络架构和寄存器访问方法
CN114625681A (zh) * 2020-12-09 2022-06-14 Oppo广东移动通信有限公司 芯片间的通信方法、多媒体芯片和电子设备
CN116126401B (zh) * 2023-04-12 2023-07-25 此芯科技(上海)有限公司 一种寄存器配置电路、方法及电子设备
CN116820867B (zh) * 2023-08-29 2023-12-15 腾讯科技(深圳)有限公司 一种芯片调试方法、装置及芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
CN101303850A (zh) * 2008-06-30 2008-11-12 北京中星微电子有限公司 一种屏幕刷新的实现方法及其系统
CN108037965A (zh) * 2017-12-29 2018-05-15 飞天诚信科技股份有限公司 一种读写目标芯片的方法及装置
CN111209231A (zh) * 2018-11-21 2020-05-29 上海寒武纪信息科技有限公司 数据处理方法、装置及相关产品
CN111651384A (zh) * 2020-06-05 2020-09-11 Oppo广东移动通信有限公司 寄存器的读写方法、芯片、子系统、寄存器组及终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360063B2 (en) * 2006-03-02 2008-04-15 International Business Machines Corporation Method for SIMD-oriented management of register maps for map-based indirect register-file access
CN103744009B (zh) * 2013-12-17 2016-12-07 记忆科技(深圳)有限公司 一种串行传输芯片测试方法、系统及集成芯片
US10185671B1 (en) * 2015-12-29 2019-01-22 Amazon Technologies, Inc. Broadcasting writes to multiple modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
CN101303850A (zh) * 2008-06-30 2008-11-12 北京中星微电子有限公司 一种屏幕刷新的实现方法及其系统
CN108037965A (zh) * 2017-12-29 2018-05-15 飞天诚信科技股份有限公司 一种读写目标芯片的方法及装置
CN111209231A (zh) * 2018-11-21 2020-05-29 上海寒武纪信息科技有限公司 数据处理方法、装置及相关产品
CN111651384A (zh) * 2020-06-05 2020-09-11 Oppo广东移动通信有限公司 寄存器的读写方法、芯片、子系统、寄存器组及终端

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495408A (zh) * 2022-11-16 2022-12-20 无锡沐创集成电路设计有限公司 数据处理方法、芯片模块、合封芯片及电子设备
CN115495408B (zh) * 2022-11-16 2023-09-01 无锡沐创集成电路设计有限公司 数据处理方法、芯片模块、合封芯片及电子设备
CN115994115A (zh) * 2023-03-22 2023-04-21 成都登临科技有限公司 芯片控制方法、芯片组及电子设备
CN115994115B (zh) * 2023-03-22 2023-10-20 成都登临科技有限公司 芯片控制方法、芯片组及电子设备
CN116991764A (zh) * 2023-08-03 2023-11-03 广州安凯微电子股份有限公司 一种高性能的Flash控制器和嵌入式系统
CN116991764B (zh) * 2023-08-03 2024-04-05 广州安凯微电子股份有限公司 一种高性能的Flash控制器和嵌入式系统

Also Published As

Publication number Publication date
CN111651384B (zh) 2023-06-16
CN111651384A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2021244194A1 (zh) 寄存器的读写方法、芯片、子系统、寄存器组及终端
US7647416B2 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
US6954806B2 (en) Data transfer apparatus and method
US8610732B2 (en) System and method for video memory usage for general system application
KR100352224B1 (ko) 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션
JP2003316731A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CN111258935B (zh) 数据传输装置和方法
JPS58501923A (ja) サブシステムコントロ−ラのためのインタ−フェイス回路
WO2022032990A1 (zh) 一种命令信息传输方法、系统、装置及可读存储介质
JPH1069455A (ja) コンピュータ・システム・バス上でスレーブdmaエミュレーションを行う方法
CN112988647A (zh) 一种TileLink总线到AXI4总线转换系统及方法
US7469304B2 (en) Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
CN114925012A (zh) 一种以太网帧的下发方法、上传方法及相关装置
CN112256615B (zh) Usb转换接口装置
WO2023186143A1 (zh) 一种数据处理方法、主机及相关设备
US20090138673A1 (en) Internal memory mapped external memory interface
CN105677606A (zh) 总线设备的热插拔方法及总线装置
US20230098298A1 (en) Scalable secure speed negotiation for time-sensitive networking devices
CN115994115A (zh) 芯片控制方法、芯片组及电子设备
US20220342835A1 (en) Method and apparatus for disaggregation of computing resources
CN111258769A (zh) 数据传输装置和方法
US6442643B1 (en) System and method for resolving data transfer incompatibilities between PCI and Non-PCI buses
CN111427813A (zh) 一种基于串口的核间通讯方法、终端及存储介质
US7694004B2 (en) Bit-granular writes of control registers
CN117435532B (zh) 基于视频硬件加速接口的拷贝方法、装置及存储介质

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: 21818221

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21818221

Country of ref document: EP

Kind code of ref document: A1