WO2021114665A1 - 量子芯片控制器、量子计算处理系统和电子设备 - Google Patents

量子芯片控制器、量子计算处理系统和电子设备 Download PDF

Info

Publication number
WO2021114665A1
WO2021114665A1 PCT/CN2020/102566 CN2020102566W WO2021114665A1 WO 2021114665 A1 WO2021114665 A1 WO 2021114665A1 CN 2020102566 W CN2020102566 W CN 2020102566W WO 2021114665 A1 WO2021114665 A1 WO 2021114665A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantum
event
time
queue
time point
Prior art date
Application number
PCT/CN2020/102566
Other languages
English (en)
French (fr)
Inventor
孔伟成
赵勇杰
Original Assignee
合肥本源量子计算科技有限责任公司
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 合肥本源量子计算科技有限责任公司 filed Critical 合肥本源量子计算科技有限责任公司
Priority to US17/784,756 priority Critical patent/US20230012797A1/en
Priority to EP20898024.3A priority patent/EP4075347A4/en
Publication of WO2021114665A1 publication Critical patent/WO2021114665A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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

  • This specification relates to the field of quantum chip technology, and more specifically, to a quantum chip controller, a quantum computing processing system, and an electronic device.
  • the processing can be divided into non-timing domain processing and timing domain processing, see FIG. 1.
  • all the processing of the classical CPU part can be regarded as processing in the non-timing domain, for example, the processing of converting an ordinary computer program into a quantum program, the processing of converting a quantum program into a quantum assembler, and so on.
  • This part of the processing can be regarded as the processing of the time domain. Need to use time queue and event queue in the timing domain to control the moment of execution of each event.
  • a quantum chip controller including: an instruction execution unit for executing quantum instructions to generate quantum events and their corresponding time points; and a quantum chip queue control unit, including: event queues , Used to store the quantum event to be executed, the time queue, used to store the time point corresponding to the quantum event to be executed, and a time counter, used to count the time, where the time counted in the time counter is related to the time When the time points in the queue are equal, the quantum event corresponding to the time point is read from the event queue for the quantum chip to execute the corresponding quantum event, and wherein the time counter includes an enable control part for controlling the time counter The start and pause of the count.
  • a quantum computing processing system including: a decoding conversion device that generates a quantum program; the quantum chip controller according to the embodiment; and a qubit control device; And a qubit, wherein the quantum chip controller receives the quantum instruction in the quantum program and obtains the corresponding time point and quantum event, so as to control the qubit to perform the corresponding quantum operation through the qubit control device.
  • an electronic device including the quantum computing processing system according to the embodiment.
  • the clock control for quantum chip processing can be improved.
  • Figure 1 shows a schematic diagram of the quantum chip control system.
  • Fig. 2 shows a schematic block diagram of a quantum chip controller according to an embodiment.
  • Fig. 3 shows a schematic block diagram of a quantum chip controller according to another embodiment.
  • Fig. 4 shows a schematic block diagram of a quantum computing processing system according to an embodiment.
  • Fig. 5 shows a schematic block diagram of an electronic device according to an embodiment.
  • Fig. 2 shows a schematic block diagram of a quantum chip controller according to an embodiment.
  • the quantum chip controller 20 includes: an instruction execution unit 21 and a quantum chip queue control unit 22.
  • the instruction execution unit 21 is used to execute quantum instructions to generate quantum events and their corresponding time points.
  • the instruction execution unit 21 executes operations in the non-timed domain, for example.
  • the quantum chip queue control unit 22 includes a time queue 221, a time counter 222, and an event queue 223.
  • the time queue 221 is used to store the time point corresponding to the quantum event to be executed.
  • the event queue 223 is used to store quantum events to be executed.
  • the event queue and the time queue may be a first-in first-out queue.
  • the time counter 222 is used to count time. When the time counted in the time counter 222 is equal to the time point in the time queue 221, the quantum event corresponding to the time point is read from the event queue for the quantum chip to execute the corresponding quantum event.
  • the time counter 222 includes an enable control part 2221 for controlling the start and pause of the counting of the time counter.
  • the control of the time counter is added, so that the counting of the time counter can be controlled as needed. In this way, it can be avoided that the counting operation of the time counter is too fast, causing other parts of the processing to malfunction. In addition, you can also control the progress of program execution in this way, for example, to facilitate program debugging.
  • the enabling control can be achieved in a variety of ways.
  • the enable control part 2221 is a control pin of the time counter.
  • the enabling control is realized by setting the potential of the control pin (for example, setting it to logic "1" or "0").
  • the enabling control part 2221 may be realized by a control bit of the time counter.
  • the time counter includes an internal control register, the enabling control is realized by changing the control bit of the internal control register.
  • the enabling control part can be set based on the queue status in the time queue to control the start and pause of the counting of the time counter.
  • the control signal for the time counter is associated with the time queue. That is, the count of the time counter is determined by the state of the time queue. In this way, the coordinated operation of the time queue and the time counter is ensured, and errors in quantum operations are avoided.
  • the enable control part when only one time point is included in the time queue, the enable control part is set to suspend the counting of the time counter. In this way, on the one hand, it can be ensured that the time counter will not exceed the time queue, thereby causing errors. On the other hand, it can be ensured that the event at that time point is executed only after all the events at the last time point have arrived, thereby avoiding execution of part of the events at that time point when all the events at a certain time point have not arrived. This method can simply and effectively prevent the time count of the clock counter from exceeding the time queue, thereby causing qubit operation errors. For example, when only one time point is included in the time queue and the count value of the time counter is the same as the time point value, the enable control part can be set to suspend the counting of the time counter.
  • Fig. 3 shows a schematic block diagram of a quantum chip controller according to another embodiment.
  • the instruction execution unit 21 may include an instruction processing unit 211.
  • the instruction processing unit 211 is used to process quantum instructions to generate quantum events and their corresponding time points.
  • the instruction execution unit 21 may also include an event register 213 and an event write register 214.
  • the event register 213 stores quantum events to be put into the event queue 223.
  • the event write register 214 is used to record the event number corresponding to the time point. When a new time point is written into the time queue, the event number is updated, and when there is a quantum event to be placed in the event queue 223 In this case, the original event number is written into the event queue 223 together with the quantum event. Specifically, the event number can be recorded starting from 0, and when a new time point is written into the time queue, the event number is increased by 1. Through this setting, the timing of writing events into the event queue can be controlled, thereby avoiding excessive burden on the processing of the event queue.
  • the instruction execution unit 21 may also include a time register 212 to store the time point to be put into the time queue 221.
  • the new time point is stored in the time register 212, and the new time point is output to the time queue 221 at the same time, and the previous time point is output to the time queue 221.
  • the quantum event of the dot is output from the event register 213 to the event queue 223.
  • the quantum chip queue control unit 22 also includes a judging device 224 and an event readout register 225.
  • the event readout register 225 also stores the event number, that is, the event number that records the event to be read from the event queue.
  • the judging device 224 is used for judging whether the time count of the time counter 222 is equal to the time point in the time queue 221, for example, whether it is equal to the time point of the head of the time queue 221. When the two are equal, the judging device 224 instructs the time point in the time queue 221 to leave the queue, and sends an event read request to the event queue 223.
  • the event queue 223 matches the number in the event read register 225 according to the read request
  • the same event is read, and the read event is sent to the qubit control device, such as a waveform generator (arbitrary waveform generator, etc.), to control the qubit to perform corresponding event operations.
  • the judging device 224 instructs the value in the event read register 225 to update to the number of the next event, for example, instructs the value of the event read register 225 to increase by one.
  • the instruction execution unit 21 when the counting of the time counter 222 is suspended, when the quantum instruction executed by the instruction execution unit 21 generates a new time point, the instruction execution unit 21 bypasses the event queue through the bypass 23 and outputs the upper The quantum event corresponding to a point in time. For example, when the time queue 221 contains only one time point and the count value of the time counter 222 is the same as the time point value, the determining device 224 instructs the time counter 222 to suspend counting (specifically, instructs the enabling control part 2221 to suspend counting).
  • the new quantum instruction When the prefix of the next new quantum instruction received by the instruction execution unit 21 indicates that the interval relative to the time point is "0" (the interval is 0 unit time, that is, the quantum instruction does not generate a new time point), the new quantum instruction The quantum event contained in the quantum instruction is stored in the event register 213 as the quantum event corresponding to the time point; when the prefix of the next new quantum instruction received by the instruction execution unit 21 indicates that the interval relative to the time point is not "0" (That is, when the quantum instruction generates a new time point, that is, the next time point of the time point), the instruction execution unit 21 directly outputs (and drains) the quantum corresponding to the time point stored in the event register 213 through the bypass 23.
  • the quantum event corresponding to the time point does not need to enter the event queue.
  • the quantum event corresponding to the new time point is stored in the event register 213, and the new time point is stored in the time register 212 and output to the time queue 221.
  • the time counter 222 thus continues to count and clears the time point in the time queue 221.
  • the processing of event operations corresponding to quantum instructions can be simplified, for example, the operations of putting events into the event queue and taking events out of the event queue can be omitted.
  • FIG. 3 is only a specific implementation manner, and some units shown in FIG. 3 are not necessary for implementing the present application. Those skilled in the art can also think of many other alternatives according to the embodiment shown in FIG. 3, or may omit some units shown in FIG. 3.
  • Fig. 4 shows a schematic block diagram of a quantum computing processing system according to an embodiment.
  • the quantum computing processing system 30 includes: a decoding conversion device 31, a quantum chip controller 20, a qubit control device 32 and a qubit 33.
  • the decoding conversion device 31 generates a quantum program.
  • the quantum chip controller 20 is, for example, the quantum chip controller described above.
  • the qubit control device 32 can be matched with the corresponding qubit 33.
  • the qubit control device 32 may be an arbitrary waveform generator.
  • the quantum chip controller 20 receives the quantum instruction in the quantum program generated by the decoding conversion device 31 and obtains the corresponding time point and quantum event.
  • the quantum chip controller 20 controls the qubit 33 to perform corresponding quantum operations through the qubit control device 32.
  • Fig. 5 shows a schematic block diagram of an electronic device according to an embodiment.
  • the electronic device 40 includes the quantum computing processing system 30 disclosed herein.
  • the quantum computing processing system 30 can provide computing capabilities for the electronic device 40.
  • the electronic device 40 may be, for example, a quantum computer or other electronic devices with quantum computing capabilities.
  • a quantum program includes the following quantum instructions:
  • !, etc. represent the time between the time point contained in the quantum instruction and the time point contained in the previous quantum instruction interval.
  • the "QWAIT 30" instruction indicates that the time point when the instruction is generated is 30 unit time (unit time can be preset) from the previous time point, which is a waiting instruction.
  • the numbers 1, 2, 3...7 are provided for each instruction.
  • H gate ( Adama gate), X gate (Pauli-X, Pauli-X gate), Y gate (Pauli-Y, Pauli-Y gate) are single quantum logic gates that operate a single qubit, and CNOT gates (Control-Not, The control NOT gate is a double quantum logic gate that operates two qubits.
  • the quantum chip controller 20 shown in FIG. 3 is used to process the above-mentioned quantum program.
  • Table 1 shows the status of each register and queue when processing the quantum instructions in the above quantum program.
  • Time register time point; event write register: event number; event register: instruction number; sent to time queue: time point; sent to event queue: "
  • the elements of the time queue are always one time point ahead of the time points corresponding to the elements in the event queue.
  • the event register stores the quantum operation represented by the corresponding instruction with the instruction number (event opcode below), which can also be called a quantum event
  • the event queue stores the event number and the quantum operation represented by the corresponding instruction.
  • Table 2 shows the changes of the event register and event queue.
  • B in the event queue is as follows: A represents the event number, and B represents the event operation code.
  • B represents the event operation code.
  • H means event 0, opcode H.
  • Q0, Q1", and “Q2" correspond to each qubit.
  • the time register is set to 0, the event write register is also set to 0, and the event register is cleared.
  • Quantum instruction 1 indicates that at time 0, the H gate is executed on the bit Q0 numbered 0, and the X gate is executed on the bit Q1 numbered 1.
  • the time prefix of quantum instruction 1 is 0, and no new time point is created, which can be understood as the initial time point is 0. Therefore, just write the event code of the quantum instruction into the corresponding event register, the event number of the event is the initial value of the event write register 0: the event register of qubit Q0 is written into the H gate opcode, qubit The event register of Q1 is written into the opcode of gate X. There is no need to update the time queue and event queue, and then parse the next instruction.
  • Quantum instruction 2 means: perform CNOT gates on qubits Q1 and Q2, qubit Q1 controls qubit Q2, that is, Q1 is a control bit, and Q2 is a controlled bit. Because the time prefix of quantum instruction 2 is not 0, a new time point is created, which will cause the event queue to be written.
  • the quantum chip queue control unit sends an update signal to update each register: the time register is added with the time prefix of the instruction to become 1, and the new time point is written to the time queue at the same time; The event corresponding to the previous time point stored in the event register and the event number 0 (stored in the event write register) are written into the event queue; then, the event write register increases by 1 to become 1; and the data in the event register Clear it, and then write the event code of quantum instruction 2.
  • the time is stored in the form of time points.
  • the time prefix of quantum instruction 3 is 0, and no new time point is created. Therefore, there is no need to write to the event queue, nor to update the time register and event write register.
  • the time prefix of quantum instruction 4 is not 0, creating a new time point.
  • the execution process of quantum instruction 4 is similar to quantum instruction 2. Among them, the event write register increases by 1, and becomes 2. Repeated description is omitted here.
  • Quantum instruction 6 indicates that the H gate is executed on all qubits Q0, Q1, and Q2.
  • the time prefix of quantum instruction 6 is 0.
  • the execution process of quantum instruction 6 is similar to that of quantum instruction 3. Repeated description is omitted here.
  • Quantum instruction 7 is similar to quantum instruction 5. Repeated description is omitted here.
  • the quantum chip queue control unit 22 does not need to wait.
  • the time counter 222 starts counting from 0; the event read register 225 also starts to read events in the event queue from 0; the time queue 221 retains a time point of 0; the event queue 223 is emptied.
  • the event operation code with the same number as the event read register 225 is read out of the event queue 223. Then, the first time point in the queue in the time queue 221 is discharged, and the event read register 225 is incremented by one.
  • the time queue 221 in the quantum chip queue control unit 22 may become empty. This may cause errors. For this reason, by enabling the control part 2221, when the time count in the time counter 222 is the same as the first time point in the time queue 221 and the time queue 221 only contains one time point, the counting of the time counter 222 is suspended. When the next new time point is to be written, it means that all the events at the previous time point have arrived and are placed in the event register 213. There is no need to write the events stored in the event register 213 to the event queue 223, but can It is directly output through the bypass 23. At this time, the event readout register 225 can also be updated as usual.
  • QWAIT 30 stops (quantum instruction 5 generates a new time point), the subsequent quantum instruction 6:0
  • the time prefix of the quantum instruction 6 is 0, and the event corresponding to the instruction is placed in the event register 213.
  • analyze the next instruction and a new time point "47" is generated at this time, indicating that all events at the previous time point have arrived and only the event corresponding to quantum instruction 6 is the only time left in the time queue.
  • the dot is the time point corresponding to the quantum instruction 6, but the time counting has reached this time point and is paused, so there is no need to put the quantum instruction 6 into the event queue 223, but directly output the event corresponding to the quantum instruction 6 through the bypass 23.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种量子芯片控制器(20)、量子计算处理系统(30)和电子设备(40)。该量子芯片控制器(20)包括:指令执行单元(21),用于执行量子指令以产生量子事件及其对应的时间点;以及量子芯片队列控制单元(22),包括:事件队列(223),用于存储所要执行的量子事件,时间队列(221),用于存储与所要执行的量子事件相对应的时间点,以及时间计数器(222),用于对时间进行计数,其中,当时间计数器(222)中计数的时间与时间队列中的时间点相等时,从事件队列(223)读取该时间点对应的量子事件,用于由量子芯片执行相应的量子事件,以及其中,所述时间计数器(222)包括使能控制部分(2221),用于控制时间计数器(222)的计数的开始和暂停。

Description

量子芯片控制器、量子计算处理系统和电子设备
相关申请的交叉引用
本专利申请要求于2019年12月13日提交的、发明名称为“量子芯片控制器、量子计算处理系统和电子设备”、申请号为CN201911284487.X的中国专利申请的优先权,该专利申请在此全部引入作为参考。
技术领域
本说明书涉及量子芯片技术领域,更具体地,涉及一种量子芯片控制器、量子计算处理系统和电子设备。
背景技术
在量子芯片中,对量子比特的控制与普通处理器的控制不同。量子比特的操作对于时序要求比较严格。如果不按照预定的顺序操作量子比特,可能会产生错误。
因此,在对量子芯片进行控制时,可以将处理划分成非定时域的处理和定时域的处理,参见图1。广义上来说,经典CPU部分的所有处理都可以被认为是非定时域的处理,例如,从普通计算机程序转换成量子程序的处理、从量子程序转换成量子汇编程序的处理等等。当开始对控制量子比特的控制装置进行控制时,需要较为严格的时序控制。这部分的处理可以被认为是定时域的处理。在定时域中需要使用时间队列和事件队列,以控制执行每个事件的时刻。
因此,需要对定时域的处理进行改进,以避免可能出现的错误。
发明内容
本说明书的实施例提供用于量子芯片控制的新技术方案。
根据本说明书的第一方面,提供了一种量子芯片控制器,包括:指令 执行单元,用于执行量子指令以产生量子事件及其对应的时间点;以及量子芯片队列控制单元,包括:事件队列,用于存储所要执行的量子事件,时间队列,用于存储与所要执行的量子事件相对应的时间点,以及时间计数器,用于对时间进行计数,其中,当时间计数器中计数的时间与时间队列中的时间点相等时,从事件队列读取该时间点对应的量子事件,用于由量子芯片执行相应的量子事件,以及其中,所述时间计数器包括使能控制部分,用于控制时间计数器的计数的开始和暂停。
根据本说明书的第二方面,提供了一种量子计算处理系统,包括:译码转换设备,所述译码转换设备产生量子程序;根据实施例所述的量子芯片控制器;量子比特控制装置;以及量子比特,其中,所述量子芯片控制器接收所述量子程序中的量子指令并获取对应的时间点及量子事件,以通过量子比特控制装置控制量子比特执行相应的量子操作。
根据本说明书的第三方面,提供了一种电子设备,包括根据实施例所述的量子计算处理系统。
在不同实施例中,可以改进对于量子芯片处理的时钟控制。
通过以下参照附图对本申请的示例性实施例的详细描述,本申请的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且连同其说明一起用于解释本申请的原理。
图1示出了量子芯片控制体系的示意图。
图2示出了根据一个实施例的量子芯片控制器的示意性框图。
图3示出了根据另一个实施例的量子芯片控制器的示意性框图。
图4示出了根据一个实施例的量子计算处理系统的示意性框图。
图5示出了根据一个实施例的电子设备的示意性框图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<量子芯片控制器>
图2示出了根据一个实施例的量子芯片控制器的示意性框图。
如图2所示,量子芯片控制器20包括:指令执行单元21和量子芯片队列控制单元22。指令执行单元21用于执行量子指令以产生量子事件及其对应的时间点。指令执行单元21例如执行非定时域的操作。量子芯片队列控制单元22包括时间队列221、时间计数器222和事件队列223。
时间队列221用于存储与所要执行的量子事件相对应的时间点。事件队列223用于存储所要执行的量子事件。例如,所述事件队列和所述时间队列可以是先入先出队列。
时间计数器222用于对时间进行计数。当时间计数器222中计数的时间与时间队列221中的时间点相等时,从事件队列读取该时间点对应的量子事件,用于由量子芯片执行相应的量子事件。
时间计数器222包括使能控制部分2221,用于控制时间计数器的计数的开始和暂停。
这里,考虑到量子比特对于时序的要求,增加了对时间计数器的控制,从而可以根据需要控制时间计数器的计数。这样,可以避免由于时间计数器的计数操作过快,导致其他部分的处理发生故障。另外,也可以通过这种方式,控制程序执行的进度,例如,可以方便程序的调试。
可以通过多种方式来实现所述使能控制。例如,所述使能控制部分2221是所述时间计数器的控制管脚。通过设置所述控制管脚的电位(例如,设置成逻辑“1”或“0”),从而实现所述使能控制。可选地,可以通过所述时间计数器的控制位实现所述使能控制部分2221。例如,在所述时间计数器包括内部控制寄存器,通过改变内部控制寄存器的控制位来实现所述使能控制。
在一个例子中,可以基于时间队列中的队列状态设置所述使能控制部分,以控制时间计数器的计数的开始和暂停。
对于时间计数器的控制信号与时间队列相关联。即,由时间队列的状态决定时间计数器的计数。通过这种方式,确保时间队列与时间计数器的协同操作,避免量子操作的错误。
例如,在时间队列中仅包含一个时间点时,设置所述使能控制部分,以暂停时间计数器的计数。通过这种方式,一方面,可以确保时间计数器不会超越时间队列,从而造成错误。另一方面,可以确保在最后一个时间点的所有事件都到达之后,才执行该时间点的事件,从而避免在某个时间点的事件未全部到达的情况下执行该时间点的部分事件。这种方式可以简单且有效地防止时钟计数器的时间计数超过时间队列,从而造成量子比特操作错误。例如,可以在时间队列中仅包含一个时间点且时间计数器的计数值与该时间点的值相同时,设置所述使能控制部分,以暂停时间计数器的计数。
图3示出了根据另一个实施例的量子芯片控制器的示意性框图。
如图3所示,在量子芯片控制器20中,指令执行单元21可以包括指令处理单元211。该指令处理单元211用于处理量子指令以产生量子事件及其对应的时间点。
指令执行单元21还可以包括事件寄存器213和事件写入寄存器214。事件寄存器213存储要放入到事件队列223中的量子事件。事件写入寄存器214,用于记录与时间点对应的事件编号,其中,当新时间点被写入时间队列时,事件编号被更新,并且在有要放入到事件队列223中的量子事件的情况下,该原事件编号与所述量子事件一起被写入到事件队列223。具体的,事件编号可以从0开始记录,当新时间点被写入时间队列时,则事件编号加1。通过这种设置可以控制将事件写入事件队列的时机,从而避免给事件队列的处理造成过大的负担。此外,通过这种方式,也可以使得相同时间点的事件被统一绑定到同一个事件编号上并写入事件队列,从而提高事件队列的处理效率。将同一时间点的不同量子比特的事件绑定到同一个事件编号上,使得当时间计数器计数的时间与时间队列队首元素表 示的时间点相同,触发该事件时,可以根据事件编号从每个比特的事件队列的队首元素中找到该时刻需要输出的事件。
指令执行单元21还可以包括时间寄存器212,存储要放入到时间队列221中的时间点。当在所述指令执行单元21中所执行的量子指令产生新时间点时,将该新时间点存储到所述时间寄存器212,同时将该新时间点输出到时间队列221,以及将上一时间点的量子事件从事件寄存器213输出到事件队列223。在图3中,量子芯片队列控制单元22还包括判断装置224和事件读出寄存器225,事件读出寄存器225存放的也是事件编号,即记录要从事件队列读出的事件的事件编号,其中,当时间计数器中计数的时间与时间队列中的时间点相等时,从事件队列读取与事件读出寄存器中的事件编号相同的量子事件。判断装置224用于判断时间计数器222的时间计数是否与时间队列221中的时间点相等,例如是否与时间队列221队首的时间点相等。当二者相等时,判断装置224指示时间队列221中的该时间点出队列,并向事件队列223发送事件的读出申请,事件队列223根据读出申请,将与事件读出寄存器225中编号相同的事件读出,并将所读出的事件发送给量子比特控制装置例如是波形发生装置(任意波形发生器等等),以控制量子比特执行相应的事件操作。然后,判断装置224指示事件读出寄存器225内的值更新为下一事件的编号,例如指示事件读出寄存器225的值加1。
在另一个例子中,在时间计数器222的计数暂停的情况下,当指令执行单元21执行的量子指令产生新的时间点时,指令执行单元21通过旁路23,绕过事件队列,而输出上一时间点对应的量子事件。例如,在时间队列221中仅包含一个时间点且时间计数器222的计数值与该时间点的值相同时,判断装置224指示时间计数器222暂停计数(具体是指示使能控制部分2221暂停计数)。当指令执行单元21接收到的下一个新量子指令的前缀表示相对于距离该时间点的间隔为“0”(间隔0个单位时间,即,该量子指令未产生新时间点)时,将新量子指令包含的量子事件存入事件寄存器213,作为该时间点对应的量子事件;当指令执行单元21接收到的下一个新量子指令的前缀表示相对于距离该时间点的间隔不为“0”(即,该量 子指令产生新时间点也就是该时间点的下一时间点)时,指令执行单元21通过旁路23,直接输出(并排空)事件寄存器213存储的该时间点对应的量子事件,这样,该时间点对应的量子事件不需要进入事件队列。同时,将新时间点对应的量子事件存入事件寄存器213,将新时间点存入时间寄存器212并输出到时间队列221,时间计数器222从而继续计数,并清除时间队列221中的该时间点。通过这种方式,可以简化量子指令对应的事件操作的处理,例如,省略将事件放入事件队列和从事件队列取出事件的操作。
本领域技术人员应当理解,图3仅仅是一种具体的实现方式,图3中所示的一些单元不是用于实现本申请所必需的。本领域技术人员,根据图3所示的实施例,还可以想到许多其他替换方式,或者可以省略图3中所示的一些单元。
<量子计算处理系统>
图4示出了根据一个实施例的量子计算处理系统的示意性框图。
如图4所示,量子计算处理系统30包括:译码转换设备31、量子芯片控制器20、量子比特控制装置32和量子比特33。译码转换设备31产生量子程序。量子芯片控制器20例如是上面所描述的量子芯片控制器。量子比特控制装置32可以与相应的量子比特33相匹配。例如,对于频率可调的超导量子比特,量子比特控制装置32可以是任意波形发生器。
量子芯片控制器20接收译码转换设备31产生的量子程序中的量子指令并获取对应的时间点及量子事件。量子芯片控制器20通过量子比特控制装置32控制量子比特33执行相应的量子操作。
<电子设备>
图5示出了根据一个实施例的电子设备的示意性框图。
如图5所示,电子设备40包括这里公开的量子计算处理系统30。量子计算处理系统30可以为电子设备40提供计算能力。电子设备40例如可以是量子计算机或者具有量子计算能力的其他电子设备。
<例子>
下面描述这里公开的一个具体例子。例如,一段量子程序包括如下量 子指令:
Figure PCTCN2020102566-appb-000001
在上面的量子指令中,诸如“0|……”、“0|……”、“6|……”等的前缀代表该量子指令包含的时间点与上条量子指令包含的时间点的时间间隔。“QWAIT 30”指令表示在该条指令产生的时间点距上一时间点30个单位时间(单位时间可以是预设的),为等待指令。为了方便描述,在上面,为各条指令提供编号1、2、3……7。其中,H门(
Figure PCTCN2020102566-appb-000002
阿达马门)、X门(Pauli-X,泡利-X门)、Y门(Pauli-Y,泡利-Y门)为操作单个量子比特的单量子逻辑门,CNOT门(Control-Not,控制非门)为操作两个量子比特的双量子逻辑门。
例如,采用图3所示的量子芯片控制器20来处理上述量子程序。表1示出了处理上述量子程序中的量子指令时各个寄存器及队列状态。
表1
Figure PCTCN2020102566-appb-000003
在表1中,各栏中的数字代表如下:
时间寄存器:时间点;事件写入寄存器:事件编号;事件寄存器:指令编号;发送到时间队列:时间点;发送到事件队列:“|”左边是事件编号、 右边是事件编号对应的指令编号;时间队列中的元素:时间点,以“\”分开;事件队列中的元素:“发送到事件队列”中的元素,以“\”分开。
如上表所示,时间队列的元素总是比事件队列中的元素所对应的时间点超前一个时间点。实际上,事件寄存器存放的是指令编号是对应指令所代表的量子操作(下述事件操作码),也可以被称为量子事件,事件队列存放的是事件编号以及对应指令所代表的量子操作。表2示出了事件寄存器和事件队列的变化。
表2
Figure PCTCN2020102566-appb-000004
在表2中,事件队列中的“A|B”的含义如下:A代表事件编号,B代表事件操作码。例如,“0|H”表示事件0,操作码H。“Q0”、“Q1”、“Q2”分别对应各个量子比特。
首先,进行初始化。时间寄存器被置为0,事件写入寄存器也置为0,事件寄存器清空。
量子指令1表示:在0时间点对编号为0的比特Q0执行H门,对编号为1的比特Q1执行X门。量子指令1的时间前缀为0,没有创建新的时间点,可理解为初始时间点为0。因此,只是将该量子指令的事件编码写入到相应的事件寄存器中,该事件的事件编号即为事件写入寄存器的初值0:量子比特Q0的事件寄存器写入H门操作码,量子比特Q1的事件寄存器写入X门的操作码。不需要更新时间队列和事件队列,接着便解析下一条指令。
量子指令2表示:对量子比特Q1和Q2执行CNOT门,量子比特Q1控制量子比特Q2,即,Q1为控制比特,Q2为受控比特。因为量子指令2的时间前缀不为0,因此,创建了新的时间点,这会导致事件队列的写入。 在产生新的时间点时,量子芯片队列控制单元发送更新信号,以对各个寄存器进行更新:时间寄存器加上指令的时间前缀,变为1,同时将新的时间点写入至时间队列;将事件寄存器存放的前一时间点对应的事件及事件编号0(存放在事件写入寄存器)写入到事件队列中;然后,事件写入寄存器加1,变为1;并将事件寄存器中的数据清空,再写入量子指令2的事件码。在时间队列中,以时间点的形式存储时间。
量子指令3的时间前缀为0,没有创建新的时间点。所以并不需要进行事件队列的写入,也不需要进行时间寄存器和事件写入寄存器的更新。这里,只是将量子指令3的事件码叠加到上一条指令的事件码上。即,在同一个时间点,对量子比特Q1和Q2执行CNOT门,对量子比特Q0执行Y门。
量子指令4的时间前缀不为0,创建了新的时间点。量子指令4的执行过程与量子指令2类似。其中,事件写入寄存器加1,变为2。在这里省略重复的描述。
量子指令5是QWAIT指令。它的作用是使系统等待一段时间。在QWAIT指令的时间点不为0的情况下,将对各个队列和寄存器进行更新。将时间寄存器更新为30+7=37,同时将37写入时间队列;将事件写入寄存器中的事件编号2及事件寄存器存放的之前时间点的量子事件(对应量子指令4)写入到事件队列中;最后将事件写入寄存器加1变为3,并将事件寄存器清空。
量子指令6表示:对量子比特Q0、Q1、Q2都执行H门。量子指令6的时间前缀为0。量子指令6的执行过程与量子指令3类似。在这里省略重复的描述。
量子指令7类似于量子指令5。在这里省略重复的描述。
接下来,说明量子芯片队列控制单元中的处理。
首先,假设指令执行单元21的处理速度很快,量子芯片队列控制单元22不需要等待。
在初始化阶段,时间计数器222从0开始计数;事件读出寄存器225也从0开始读出事件队列中的事件;时间队列221保留一个时间点0;事 件队列223清空。
当时间计数器222中的时间计数与时间队列221中的队首时间点相同时,将具有与事件读出寄存器225中的编号相同的事件操作码读出事件队列223。然后,排出时间队列221中的该队首时间点,将事件读出寄存器225加1。
其次,如果指令执行单元21的处理速度较慢,量子芯片队列控制单元22中的时间队列221可能变空。这可能导致错误。为此,通过使能控制部分2221,当时间计数器222中的时间计数与时间队列221中的队首时间点相同且时间队列221中仅包含一个时间点时,暂停时间计数器222的计数。当下一个新时间点要写入时,意味着上一时间点的所有事件都已到达并被放入事件寄存器213,则不需要将事件寄存器213存放的事件写入到事件队列223,而是可以通过旁路23直接输出,此时,事件读出寄存器225也可以照常更新。
例如,在量子指令5即QWAIT 30停止后(量子指令5产生了新的时间点),接收到后续量子指令6:0|H{111},表示对Q0、Q1、Q2均执行H门操作。量子指令6的时间前缀为0,该指令对应的事件被放入事件寄存器213。接着,解析下一条指令,这时又产生了新的时间点“47”,说明上一时间点的所有事件全部到达且只有量子指令6对应的事件,此时时间队列中最后剩下的唯一时间点就是量子指令6对应的时间点,然而时间计数已经到达该时间点并处于暂停,所以不需要将量子指令6放入事件队列223,而是直接通过旁路23输出量子指令6对应的事件。
本领域技术人员应当理解,上面具体例子仅用于举例说明实施例的实现方式,而不用于限制本公开的范围。
除非明确说明,否则,这里的“第一”、“第二”……仅仅用于区分其后面的名词所指代的事物,而不表示所述事物的先后顺序和/或优先级。
上面的实施例可以互相参考。因此,为了简洁起见,在后面实施例的描述中省略了与前面的实施例重复的部分。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照 不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

Claims (12)

  1. 一种量子芯片控制器,包括:
    指令执行单元,用于执行量子指令以产生量子事件及其对应的时间点;以及
    量子芯片队列控制单元,包括:
    事件队列,用于存储所要执行的量子事件,
    时间队列,用于存储与所要执行的量子事件相对应的时间点,以及
    时间计数器,用于对时间进行计数,
    其中,当时间计数器中计数的时间与时间队列中的时间点相等时,从事件队列读取该时间点对应的量子事件,用于由量子芯片执行相应的量子事件,以及
    其中,所述时间计数器包括使能控制部分,用于控制时间计数器的计数的开始和暂停。
  2. 根据权利要求1所述的量子芯片控制器,其中,所述使能控制部分是所述时间计数器的控制管脚或者所述时间计数器的控制位。
  3. 根据权利要求1或2所述的量子芯片控制器,其中,所述事件队列和所述时间队列是先入先出队列。
  4. 根据权利要求1-3中的任何一项所述的量子芯片控制器,其中,基于时间队列中的队列状态设置所述使能控制部分,以控制时间计数器的计数的开始和暂停。
  5. 根据权利要求1-4中的任何一项所述的量子芯片控制器,其中,在时间队列中仅包含一个时间点时,设置所述使能控制部分,以暂停时间计数器的计数。
  6. 根据权利要求1-5中的任何一项所述的量子芯片控制器,其中,在时间队列中仅包含一个时间点且时间计数器的计数值与该时间点的值相同时,设置所述使能控制部分,以暂停时间计数器的计数。
  7. 根据权利要求1-6中的任何一项中的任何一个所述的量子芯片控制器,其中,在时间计数器的计数暂停的情况下,当指令执行单元执行的量子指令产生新的时间点时,指令执行单元通过旁路,绕过事件队列,而输出上一时间点对应的量子事件。
  8. 根据权利要求1-7中的任何一项所述的量子芯片控制器,其中,所述指令执行单元包括指令处理单元,该指令处理单元用于处理量子指令以产生量子事件及其对应的时间点。
  9. 根据权利要求1-8中的任何一项所述的量子芯片控制器,其中,指令执行单元还包括:
    事件寄存器,存储要放入到事件队列中的量子事件;
    事件写入寄存器,记录与时间点对应的事件编号,其中,当新时间点被写入时间队列时,事件编号被更新,并且在有要放入到事件队列中的量子事件的情况下,该原事件编号与所述量子事件一起被写入到事件队列;以及
    事件读出寄存器,记录要从事件队列读出的事件的事件编号,其中,当时间计数器中计数的时间与时间队列中的时间点相等时,从事件队列读取与事件读出寄存器中的事件编号相同的量子事件。
  10. 根据权利要求1-9中的任何一项所述的量子芯片控制器,其中,指令执行单元还包括:事件寄存器,存储要放入到事件队列中的量子事件;和时间寄存器,存储要放入到事件队列中的时间点,
    其中,当在所述指令执行单元中执行的量子指令产生新时间点时,将该新时间点存储到所述时间寄存器,同时将该新时间点输出到时间队列, 以及将上一时间点的量子事件从事件寄存器输出到事件队列。
  11. 一种量子计算处理系统,包括:
    译码转换设备,所述译码转换设备产生量子程序;
    根据权利要求1-10中的任何一项所述的量子芯片控制器;
    量子比特控制装置;以及
    量子比特;
    其中,所述量子芯片控制器接收所述量子程序中的量子指令并获取对应的时间点及量子事件,以通过量子比特控制装置控制量子比特执行相应的量子操作。
  12. 一种电子设备,包括根据权利要求11所述的量子计算处理系统。
PCT/CN2020/102566 2019-12-13 2020-07-17 量子芯片控制器、量子计算处理系统和电子设备 WO2021114665A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/784,756 US20230012797A1 (en) 2019-12-13 2020-07-17 Quantum chip controller, quantum computing processing system and electronic apparatus
EP20898024.3A EP4075347A4 (en) 2019-12-13 2020-07-17 QUANTUM CHIP CONTROLLER, QUANTUM COMPUTER PROCESSING SYSTEM AND ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911284487.XA CN111160558B (zh) 2019-12-13 2019-12-13 量子芯片控制器、量子计算处理系统和电子设备
CN201911284487.X 2019-12-13

Publications (1)

Publication Number Publication Date
WO2021114665A1 true WO2021114665A1 (zh) 2021-06-17

Family

ID=70557090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/102566 WO2021114665A1 (zh) 2019-12-13 2020-07-17 量子芯片控制器、量子计算处理系统和电子设备

Country Status (4)

Country Link
US (1) US20230012797A1 (zh)
EP (1) EP4075347A4 (zh)
CN (1) CN111160558B (zh)
WO (1) WO2021114665A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111160558B (zh) * 2019-12-13 2023-04-28 合肥本源量子计算科技有限责任公司 量子芯片控制器、量子计算处理系统和电子设备
US11972290B2 (en) * 2021-08-12 2024-04-30 International Business Machines Corporation Time management for enhanced quantum circuit operation employing a hybrid classical/quantum system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190258696A1 (en) * 2018-02-19 2019-08-22 Goldman Sachs & Co. LLC Systems and methods for performing counting and summing using a quantum computer
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置
CN111160558A (zh) * 2019-12-13 2020-05-15 合肥本源量子计算科技有限责任公司 量子芯片控制器、量子计算处理系统和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499724B2 (en) * 2006-01-30 2009-03-03 Harris Corporation Event sequencer used for controlling the sequence and timing of events in software defined radio
CN103581055B (zh) * 2012-08-08 2016-12-21 华为技术有限公司 报文的保序方法、流量调度芯片及分布式存储系统
US9189433B2 (en) * 2012-12-18 2015-11-17 International Business Machines Corporation Tracking a relative arrival order of events being stored in multiple queues using a counter
CN103258178B (zh) * 2013-04-19 2018-04-20 北京创毅讯联科技股份有限公司 一种移动终端的射频控制方法及移动终端
US9626232B2 (en) * 2015-07-23 2017-04-18 Arm Limited Event queue management
US10365987B2 (en) * 2017-03-29 2019-07-30 Google Llc Synchronous hardware event collection
US20190042264A1 (en) * 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for single chip quantum control stack
US11704588B2 (en) * 2018-09-27 2023-07-18 Intel Corporation Apparatus and method for injecting spin echo micro-operations in a quantum processor
US10505524B1 (en) * 2019-03-06 2019-12-10 Quantum Machines Synchronization in a quantum controller with modular and dynamic pulse generation and routing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190258696A1 (en) * 2018-02-19 2019-08-22 Goldman Sachs & Co. LLC Systems and methods for performing counting and summing using a quantum computer
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置
CN111160558A (zh) * 2019-12-13 2020-05-15 合肥本源量子计算科技有限责任公司 量子芯片控制器、量子计算处理系统和电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FU X.; RIESEBOS L.; ROL M. A.; VAN STRATEN JEROEN; VAN SOMEREN J.; KHAMMASSI N.; ASHRAF I.; VERMEULEN R. F. L.; NEWSUM V.; LOH K. : "eQASM: An Executable Quantum Instruction Set Architecture", 2019 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 16 February 2019 (2019-02-16), pages 224 - 237, XP033532496, ISSN: 2378-203X, DOI: 10.1109/HPCA.2019.00040 *
See also references of EP4075347A4 *
X. FU; M. A. ROL; C. C. BULTINK; J. VAN SOMEREN; N. KHAMMASSI; I. ASHRAF; R. F. L. VERMEULEN; J. C. DE STERKE; W. J. VLOTHUIZEN; R: "An Experimental Microarchitecture for a Superconducting Quantum Processor", MICRO-50 '17: PROCEEDINGS OF THE 50TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, 14 October 2017 (2017-10-14), pages 1 - 13, XP081291220, DOI: 10.1145/3123939.3123952 *

Also Published As

Publication number Publication date
EP4075347A4 (en) 2024-01-03
CN111160558A (zh) 2020-05-15
US20230012797A1 (en) 2023-01-19
EP4075347A1 (en) 2022-10-19
CN111160558B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
JP3724581B2 (ja) バックアップ装置
WO2021114665A1 (zh) 量子芯片控制器、量子计算处理系统和电子设备
US11308171B2 (en) Apparatus and method for searching linked lists
US8271768B2 (en) Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions
CN110134439A (zh) 无锁化的数据结构构建方法和写入数据、读取数据的方法
US10649780B2 (en) Data processing apparatus and method for executing a stream of instructions out of order with respect to original program order
US8146085B2 (en) Concurrent exception handling using an aggregated exception structure
US9438414B2 (en) Virtualized SHA computational engine
US8447961B2 (en) Mechanism for efficient implementation of software pipelined loops in VLIW processors
JP4814653B2 (ja) リオーダリング装置
JPH05342084A (ja) データ記憶装置及びデータ記憶方法
US11481250B2 (en) Cooperative workgroup scheduling and context prefetching based on predicted modification of signal values
US20190258512A1 (en) Reduction of a Number of Stages of a Graph Streaming Processor
JPS58178464A (ja) 並列演算処理装置
JPS60178580A (ja) 命令制御方式
JP7137058B2 (ja) 演算処理装置、情報処理装置及び情報処理装置の制御方法
US7107478B2 (en) Data processing system having a Cartesian Controller
US10860301B2 (en) Control speculation in dataflow graphs
EP1408418A2 (en) Digital signal processor
JP5993687B2 (ja) ワンチッププロセッサ
KR101849702B1 (ko) 외부 인트린직 인터페이스
JPS58205258A (ja) デ−タ処理装置
JP2017130075A (ja) キーワードの検出装置および検出方法
JP2009104494A (ja) ベクトル処理装置
Love Microprocessors

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020898024

Country of ref document: EP

Effective date: 20220713