CN116195230A - 量子控制器快速路径接口 - Google Patents

量子控制器快速路径接口 Download PDF

Info

Publication number
CN116195230A
CN116195230A CN202180062384.8A CN202180062384A CN116195230A CN 116195230 A CN116195230 A CN 116195230A CN 202180062384 A CN202180062384 A CN 202180062384A CN 116195230 A CN116195230 A CN 116195230A
Authority
CN
China
Prior art keywords
qubit
computer
data
processor
clock domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180062384.8A
Other languages
English (en)
Inventor
R·布莱克
T·格林菲尔德
T·林德奎斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116195230A publication Critical patent/CN116195230A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0855Quantum cryptography involving additional nodes, e.g. quantum relays, repeaters, intermediate nodes or remote nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Abstract

提供了关于路由量子位数据的技术。例如,在此描述的一个或多个实施例可以包括一种计算机实现的方法,该方法用于训练可以控制该量子位数据路由的一个量子控制器快速路径接口。该计算机实现的方法可包括通过可操作地耦接到处理器的系统来训练该量子控制器快速路径接口,用于通过调整延迟值来在量子控制器与有条件引擎之间路由量子位数据位,使得均步时钟域由直接的寄存器到寄存器传输模式来表征。

Description

量子控制器快速路径接口
背景技术
本公开涉及一种量子控制器快速路径接口,更具体地,涉及经由由直接寄存器到寄存器传输模式表征的量子控制器快速路径接口在一个或多个量子控制器与有条件引擎之间路由量子位信息。
在量子计算系统中,已经认为有利的是开发硬件路径以用于将量子位信息优选地尽可能快地路由到给定量子位网络中的其他量子位的控制器。量子位数据到其他量子位控制器的这种传送将允许对这些量子位施加高效的有条件操作。这在量子计算世界中具有各种潜在的应用,包括但不限于诸如迫使量子位到已知状态以及量子位瞬移之类的主题。然而,量子位数据路由接口的典型实现方式采用异步边界和额外的报头信息来限定量子位数据,这会对系统运行有害,因为这些量子位在数据传输发生时连续地退化。
发明内容
以下呈现概述以提供对本发明的一个或多个实施例的基本理解。本概述不旨在识别关键或重要元素,也不旨在界定特定实施例的任何范围或权利要求的任何范围。其唯一的目的是以简化的形式呈现概念,作为稍后呈现的更详细描述的序言。在此描述的一个或多个实施例中,描述了用于路由量子位数据的系统、计算机实现的方法、装置和/或计算机程序产品。
根据一个实施例,提供了一种计算机实现的方法。所述计算机实现的方法可以包括:由可操作地耦接到处理器的系统通过调整延迟值来训练用于在量子控制器与有条件引擎之间路由量子位数据位的量子控制器快速路径接口,以使得均步时钟域由直接寄存器到寄存器传输模式来表征。这种计算机实现的方法的优点能够是训练接口以减少数据传输延迟。
在一些实例中,所述计算机实现的方法还可以包括:由所述系统通过移位所述量子控制器快速路径接口的延迟器件来选择能够稳定所述均步时钟域的所述延迟值。这样的计算机实现的方法的优点能够是嵌入软件可以被用于训练接口而不是依赖于硬件组件。
根据一个实施例,提供了一种用于在量子控制器与有条件引擎之间路由量子位数据位的计算机程序产品。所述计算机程序产品可以包括计算机可读存储介质,所述计算机可读存储介质中包含程序指令。所述程序指令能够由处理器执行以使得所述处理器:由所述处理器通过调整延迟值来训练量子控制器快速路径接口,以使得所述量子控制器快速路径接口的均步时钟域由直接寄存器到寄存器传输模式来表征。
在一些示例中,所述计算机程序产品还可以使得所述处理器:由所述处理器评估所述均步时钟域在所述延迟值处针对所述量子控制器快速路径接口的目标线的稳定性。这种计算机程序产品的优点能够是量子数据位可以从域边缘开始居中,以便位于建立并保持时间窗口之外。
根据实施例,提供了一种系统。所述系统可以包括:量子控制器快速路径接口,其经由分组传输协议在量子控制器与有条件引擎之间路由量子位数据分组,在所述分组传输协议中,发送方信息是从在所述量子位数据分组内的数据位置来推断的。这样的系统的优点在于能够以低延迟路由量子位数据业务以便考虑量子位退化。
在所述系统的一些示例中,所述量子位数据分组包括所述数据位置与量子位有效的配对。这种系统的优点在于可以采用不需要开销信息来限定量子位数据的数据分组。
附图说明
图1示出了根据在此描述的一个或多个实施例的能够在一个或多个量子位控制器和/或有条件引擎之间路由量子位信息的示例非限制性量子控制器快速路径接口的框图;
图2示出了根据本文描述的一个或多个实施例的能够训练量子控制器快速路径接口的示例非限制性训练组件的框图;
图3示出了根据在此描述的一个或多个实施例的能够评估与量子控制器快速路径接口的给定延迟例程相关联的时钟域稳定性的示例非限制性训练组件的框图;
图4示出了根据本文描述的一个或多个实施例的能够跟踪与量子控制器快速路径接口的延迟例程相关联的时钟域稳定性的示例非限制性训练组件的框图;
图5示出了根据本文描述的一个或多个实施例的能够控制与量子控制器快速路径接口的延迟例程相关联的一个或多个延迟值的示例非限制性训练组件的框图;
图6示出了根据本文描述的一个或多个实施例的能够评估与量子控制器快速路径接口的给定延迟例程相关联的时钟域稳定性的示例非限制性训练组件的框图;
图7示出了根据本文描述的一个或多个实施例的能够被用于训练量子控制器快速路径接口的示例非限制性计算机实现的方法的流程图;
图8示出了根据本文描述的一个或多个实施例的能够由量子控制器快速路径接口采用的示例非限制性帕特诺斯特(paternoster)硬件协议的框图;
图9示出了根据本文描述的一个或多个实施例的能够用于训练量子控制器快速路径接口的示例非限制性计算机实现的方法的流程图;
图10示出了其中能够促进本文描述的一个或多个实施例的示例非限制性操作环境的框图。
具体实施方式
以下详细说明仅是说明性的并且不旨在限制实施例和/或实施例的应用或使用。此外,不旨在被在先前背景技术或发明内容部分或具体实施方式部分中呈现的任何明确或隐含的信息所约束。
现在参考附图描述一个或多个实施例,其中相同的附图标记在全文中用于指代相同的元素。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻理解。然而,明显的是,在各种情况下,可以在没有这些具体细节的情况下实践一个或多个实施例。
考虑到量子位信息路由的其他实现方式的这些问题;本公开可以被实现为经由可以采用一个或多个连续数据分组传输协议的可训练量子控制器快速路径接口来产生对这些问题中的一个或多个问题的解决方案。有利地,在此描述的一个或多个实施例可以涉及一种量子控制器快速路径接口,该量子控制器快速路径接口可以被训练成展现类似于直接寄存器到寄存器传送的数据传送特性。此外,该接口可以用一个或多个连续分组传输方法来实现。由此,量子位数据能够在注册表(registries)之间被路由,而无需采用传统上用于识别数据分组的开始和结束的开销位。此外,该接口可以基于数据分组内的位位置,在没有传统开销位的情况下识别数据发送方信息。
本发明的各个实施例可以涉及促进高效、有效和自主的(例如,没有直接的人类引导)量子位信息路由的计算机处理系统、计算机实现的方法、装置和/或计算机程序产品。例如,在此描述的一个或多个实施例可以涉及能够在一个或多个量子控制器(例如,最低级的量子控制器)与有条件引擎之间路由量子位信息的量子控制器快速路径接口。一个或多个量子控制器可以激励一个或多个量子位,并且有条件引擎可以对该一个或多个量子位执行一个或多个布尔运算并且将结果路由回端点。在各个实施例中,该接口可以用一种连续的分组传输方法来实施,其中仅包含量子位数据位置和量子位有效(valids)的数据分组可以在控制器与有条件引擎之间连续地传输。此外,数据分组的边界可以经由嵌入在接口内的一个或多个训练算法来建立。
该计算机处理系统、计算机实现的方法、装置和/或计算机程序产品采用硬件和/或有条件软件来解决本质上高度技术性的(例如,量子位信息路由)、不抽象并且不能由人作为一组精神行为来执行的问题。此外,在此描述的一个或多个实施例能够经由采用嵌入式训练算法来定义数据分组边界的量子控制器快速路径接口,构成优于常规量子位信息路由的技术改进。另外,在此描述的各个实施例能够经由采用连续的分组传输协议在注册表之间传输数据而不包括开销位来对量子位数据进行限定的量子控制器快速路径接口,展示优于常规量子位信息路由的技术改进。
此外,在此描述的一个或多个实施例能够通过在量子控制器与有条件引擎之间建立可以由寄存器到寄存器传输模式表征的接口而具有实际应用。例如,本文所述的各个实施例能够采用嵌入式训练算法来定义数据分组边界以用于在连续分组传输协议中实现,该连续分组传输协议可基于数据分组内的位位置来识别数据发送方信息。本文描述的一个或多个实施例能够基于均步时钟域稳定性来控制一个或多个接收芯片内的一个或多个延迟例程。由此,一个或多个实施例可以从稳定的时钟域的边缘开始将数据位居中,以将数据位放置在接收时钟的建立和保持窗口之外。例如,本文所述的各个实施例能够控制该接口的延迟例程以跨越线对准数据模式和/或最大化定时裕度以最小化可由器件变化和/或温度变化引起的数据滑移(slip)的风险。
图1示出了可以在一个或多个量子控制器架构块102与有条件引擎架构块104之间路由量子位信息的示例非限制性接口100的框图。为了简洁起见,省略对在此描述的其他实施例中采用的相似元件的重复描述。本发明的各个实施例中的系统(例如,接口100等)、装置或过程的方面可以构成体现在一个或多个机器内(例如,体现在与一个或多个机器相关联的一个或多个计算机可读介质内)的一个或多个机器可执行组件。这样的组件在由一个或多个机器(例如,计算机、计算设备、虚拟机等)执行时能够使得机器执行所描述的操作。
一个或多个量子控制器架构块102可以包括可操作地耦接到一个或多个发射芯片108和接收芯片110的一个或多个量子控制器106。在各个实施例中,一个或多个量子控制器106可以被可操作地耦接到一个或多个量子位。示例性量子位技术可以包括但不限于捕获离子量子位和/或超导量子位。例如,在量子位是捕获离子量子位的情况下,多个离子可以充当量子位以及一个或多个阱,一个或多个阱用于将这些离子保持在特定位置。此外,激光或微波源被导向这些离子中的一个或多个以影响离子的量子状态,激光冷却和/或实现离子的测量,和/或一个或多个光子检测器测量离子的状态。在另一个实例中,超导量子位(例如,超导量子干涉器件“SQUID”)可以是光刻地限定的电子电路,这些电子电路可以被冷却到毫开尔文温度以便展现量化的能量水平(例如,由于电荷或磁通量的量化状态)。超导量子位可以是基于约瑟夫逊结的,例如传输(transmon)量子位和/或类似物。此外,超导量子位可以与微波控制电子器件兼容,以及可以与基于门(gate)的技术或集成低温控制一起使用。附加的示例性量子位技术可以包括但不限于:光子量子位、量子点量子位、基于门的中性原子量子位、半导体量子位(例如,光学选通的或电选通的)、拓扑量子位、它们的组合等。如在此所描述的,术语“超导”可以表征一种在超导临界温度或以下展现超导特性的材料,如铝(例如,1.2开尔文的超导临界温度)或铌(例如,9.3开尔文的超导临界温度)。此外,本领域的技术人员将认识到其他超导体材料(例如,氢化物超导体,如氢化锂/镁合金)可以用于在此描述的各个实施例中。
一个或多个量子控制器106可以激励一个或多个量子位和/或输出来自该激励的结果。在各个实施例中,一个或多个量子控制器106可以将由激励一个或多个量子位所产生的量子位数据传输到有条件引擎架构块104。例如,一个或多个量子控制器106可以经由一个或多个发射芯片108发射量子位数据。一个或多个量子控制器架构块102的一个或多个发射芯片108可操作地耦接到有条件引擎架构块104的一个或多个接收芯片110。例如,一个或多个量子控制器架构块102的一个或多个发射芯片108可经由一个或多个传输线总线112可操作地耦接到有条件引擎架构块104的一个或多个接收芯片110。此外,一个或多个发射芯片108可以包括可引导一个或多个连续分组传输协议的快速路径发射逻辑电路层113,一个或多个连续分组传输协议用于将量子位数据从一个或多个量子控制器106引导到有条件引擎架构块104。
此外,一个或多个量子控制器106可以根据经由一个或多个接收芯片110接收的一个或多个命令来激励一个或多个量子位。在各个实施例中,一个或多个命令可以由有条件引擎架构块104来生成。如图1所示,一个或多个量子控制器架构块102的一个或多个接收芯片110可以可操作地耦接到有条件引擎架构块104的一个或多个发射芯片108。例如,一个或多个量子控制器架构块102的一个或多个接收芯片110可以经由一个或多个传输线总线112可操作地耦接到有条件引擎架构块104的一个或多个发射芯片108。
有条件引擎架构块104可以包括可操作地耦接到一个或多个发射芯片108和/或接收芯片110的一个或多个有条件引擎116。如图1所示,有条件引擎架构块104可以经由接口100可操作地耦接到多个量子控制器架构块102。虽然在图1中示出了两个量子控制器架构块102,但是接口100的架构不限于此,并且也可以设想包括多于两个量子控制器架构块102的实施例。在各个实施例中,有条件引擎116可以基于所接收的量子位数据而生成引导一个或多个量子控制器106的操作的一个或多个命令。例如,一个或多个有条件引擎116可以基于由一个或多个量子控制器架构块102发射并且经由有条件引擎架构块104的一个或多个接收芯片110接收的量子位数据来执行一个或多个布尔运算和/或变换。例如,一个或多个有条件引擎116可以控制量子控制器106之间的一个或多个条件运算以执行各种应用,例如将量子位强制到已知的状态和/或量子位瞬移。
此外,接口100可以包括从振荡器基准118生成的公共时钟源。如图1所示,公共振荡器基准118可以可操作地耦接到一个或多个量子控制器架构块102和有条件引擎架构块104两者。例如,接口100的发射芯片108和接收芯片110的发射时钟和接收时钟可以从振荡器基准118的公共时钟来导出。在各个实施例中,公共时钟可经过锁相环网络120以生成可经由无毛刺时钟多路复用器122选择的多个时钟。无毛刺时钟多路复用器122可导出用于有条件引擎架构块104的一个或多个有条件引擎116、发射芯片108和/或接收芯片110的时钟信号。
有条件引擎架构块104还可包括一个或多个嵌入式处理器124,其可采用一个或多个训练组件126来执行用于训练接口100的一个或多个算法。一个或多个嵌入式处理器124和/或训练组件126能够可操作地耦接到有条件引擎架构模块104的接收芯片110中包括的一个或多个可编程寄存器128。一个或多个可编程寄存器128可以控制沿着由接口100建立的一个或多个数据路径放置的一个或多个延迟元件130。示例延迟元件130可包括但不限于:可变数字延迟元件、数字缓冲器的串行链(例如,串行链的各级耦接至多路复用器)、模拟电路、它们的组合和/或类似物。此外,有条件引擎架构块104的一个或多个接收芯片110可以包括一个或多个接收逻辑电路层132,其可以将量子位数据值发送到可编程交叉(crossbar)多路复用器134。
在各个实施例中,可以从一个或多个量子控制器106广播量子位数据并且将该量子位数据传送到量子控制器架构块102的发射芯片108的快速路径发射逻辑电路层113中。如本文进一步描述的,发射逻辑电路层113可以包括一个或多个自由运行的数据指针114和/或掩码字段115。在各个实施例中,一个或多个自由运行的数据指针114可以选择在每个时钟周期要在一个或多个传输线总线112上发送哪些量子位数据和量子位有效(qubitvalid)对。此外,在各个实施例中,一个或多个掩码字段115可以设置和/或清除数据分组中的有效位,其中这些位可以在量子控制器106的对应通道上被接收时被设置,以及在路由方案轮换激活了将一条或多条线分配给给定量子位数据的路由方案时被清除。量子位数据还可以在传输线总线112中的可配置数量的线上被多路复用。传输线总线112可以包括与分组起始脉冲捆绑的线以用于与相应的接收芯片110的接收逻辑电路层132进行协调,以及包括奇偶校验信号线以保护量子位数据信号、量子位有效信号、和/或分组起始信号。
有条件引擎架构块104的接收芯片110的接收逻辑电路层132可以将量子位数据发送到可编程交叉多路复用器134,其中该数据可以被映射到有条件引擎116的接收缓冲器。在各个实施例中,接收逻辑电路层132还可以包括一个或多个自由运行的数据指针114。相应的接收芯片110可以被与相应的发射芯片108配对,以使得接收逻辑电路层132的一个或多个自由运行的数据指针114可以被同步到所配对的发射逻辑电路层113的自由运行的数据指针114。可以经由由训练组件126执行并且在本文中进一步描述的一个或多个训练算法和/或计算机实现的方法来实现同步。接收逻辑电路层132可以对传输线总线112中的线的数量以及耦接到所配对的发射芯片108上的量子控制器106的量子位的数量具有相同的理解。
在各个实施例中,数据信号的路由可以在现场可编程门阵列(“FPGA”)器件的外部被匹配以产生最小偏斜。直接驱动和/或接收传输线总线112的发射芯片108和/或接收芯片110还可被约束到特殊的I/O缓冲寄存器中以最小化接口100上的内部数据偏斜。可以采用定时约束来尝试最小化对这些相同寄存器的时钟偏斜。
如图1所示,发射芯片108和接收芯片110的发射和接收时钟均可从公共振荡器基准118中导出并且经过PLL网络120以生成可经由无毛刺时钟多路复用器122选择的多个时钟。发射芯片108和接收芯片110上的所选时钟可在频率上匹配,条件是经由寄存器选择位选择了相同频率。由于时钟可以在频率上匹配但不与量子位数据一起传输,所以接口100可以是在驱动和接收传输线总线112的直接(immediate)发射芯片108与接收芯片110之间的均步时钟接口。
尽管传输线总线112的偏斜可以在包括驱动和接收寄存器的所有级处被匹配,但是延迟元件130可以与可编程寄存器128一起被引入数据路径;由此使得训练组件126能够训练数据路径,以使得量子位数据位从均步时钟域的边缘开始居中并且在接收时钟的建立并保持窗口之外。此外,训练组件126可以确保量子位数据位的数据模式与传输线总线112的其他线对准。在各个实施例中,训练组件126可以选择关于延迟元件130的延迟值,以便最大化定时裕度并最小化可能由于部件变化或温度变化引起的差异所导致的未来位滑移的风险。
图2-6示出了根据本文描述的各个实施例的示例非限制性训练组件126的框图,训练组件126可执行一个或多个训练算法以将接口的数据传输模式呈现为直接寄存器到寄存器传输。为了简洁起见,省略对在此描述的其他实施例中采用的相似元件的重复描述。在各个实施例中,训练组件126可以在一个或多个量子控制器106与有条件引擎116之间的一个或多个量子位数据传输之前对接口100进行训练。例如,训练组件126可以与可编程寄存器128交互以观察线数据和/或移位一个或多个延迟元件130。
如图2所示,训练组件126可以包括线选择组件202。在各个实施例中,线选择组件202可以选择传输线总线112的作为训练目标的初始线。与所选线相关联的数据路径可由训练组件126经由操纵一个或多个延迟元件130来控制。例如,训练组件126可以标识要由控制延迟元件130的可编程寄存器128执行的延迟值。训练组件126可通过改变与延迟元件130相关联的延迟值来分析所选线可用的各个延迟例程中的每个延迟例程(例如,每个延迟例程可与相关延迟值相关联)。在各个实施例中,线选择组件202还可以将每个传输线总线112的线指定为参考线。例如,当训练目标传输线总线112时,由线选择组件202选择的传输线总线112的第一线可以被认为是参考线。
如图3所示,训练组件126还可包括域稳定性组件302。在各个实施例中,域稳定性组件302可以评估所选线在针对数据路径的当前延迟例程处的均步时钟域稳定性。在一个或多个实施例中,域稳定性组件302可以确定与当前延迟例程相关联的传输模式是否显示为相应的发射芯片108与接收芯片110之间的稳定的单个寄存器到寄存器级。例如,域稳定性组件302可以分析由发射芯片108发送的量子位数据位串以识别一个或多个模式。此外,表征稳定的单个寄存器到寄存器级的串模式可以由域稳定性组件302预先定义。在由接收芯片110接收的量子位数据位串与预先定义的模式相匹配的情况下,域稳定性组件302可以确定与用于延迟元件130的当前延迟值相关联的均步时钟域稳定性是稳定的单个寄存器传输级(“RTL”)级。例如,可编程寄存器128可以是移位注册表(shift registry),预先定义的模式可以是移位注册表的预先定义的级,并且域稳定性组件302可以确定所接收的量子位数据串是否在预先定义的移位注册表级中。如果当前延迟例程不由稳定的单个寄存器到寄存器级传输模式来表征,则训练组件126可继续分析传输线总线112的其他延迟例程和/或线。
在各个实施例中,域稳定性组件302可以多次分析所观察的线的数据传输模式以确定均步时钟域稳定性是否由稳定的单个寄存器到寄存器级模式来表征。例如,域稳定性组件302可通过从发射侧开启和关闭数据传输模式来数百次分析该模式。通过重复地分析当前延迟例程的数据传输模式,域稳定性组件302可以增强模式确定的置信度。
如图4所示,训练组件126还可包括域区域组件402。在各个实施例中,域区域组件402可以跟踪均步时钟的稳定域区域。在域稳定性组件302确定当前正在被评估的延迟例程是稳定的单个寄存器到寄存器级的情况下,域区域组件402接下来可以确定所选择的线是参考线还是与参考线对准。例如,在所选择的线不是参考线的情况下,域区域组件402可以将所选择的线的量子位数据与参考线的量子位数据进行交叉参考以确保所选择的线和参考线对准。如果所选择的线不是参考线也不与参考线对准,则训练组件126可以继续分析传输线总线112的其他延迟例程和/或线。
在所选线是参考线的情况下,或者在所选线与参考线对准的情况下,域区域组件402可以进一步确定延迟例程是否达到均步时钟域的已知稳定区域。如果所选线和延迟例程在已知稳定区域中,则域区域组件402可以增加相应区域的大小。例如,域区域组件402可以将该区域的大小增加定义的值(例如,将该区域的大小增加1)。如果所选线和延迟例程不在已知稳定区域中,则域区域组件402可以跟踪均步时钟域的新区域。在各个实施例中,域区域组件402可以由此跟踪与用于所选线的每个延迟例程(例如,与每个延迟值)相关联的域稳定性。例如,域区域组件402可以生成用于所选线的稳定延迟区域的表,其中稳定区域的边界可以由一个或多个非稳定延迟值的存在来确定。
如图5所示,训练组件126可另外包括延迟值组件502。在各个实施例中,延迟值组件502可确定是否存在可被评估的用于所选线的任何其他延迟例程。例如,延迟值组件502可确定在训练所选线的过程中是否存在用于尚未被评估的延迟元件130的任何延迟值。如果存在尚未针对所选线评估的可用延迟例程,则延迟值组件502可以增大当前延迟值以建立替代延迟例程,根据上述特征,可以由域稳定性组件302和/或域区域组件402进一步评估该替代延迟例程。
如图6所示,训练组件126还可以包括居中组件602。在各个实施例中,居中组件602可以选择延迟值,并且由此选择将所选线放置在均步时钟域的最大稳定区域内的延迟例程。例如,一旦已经评估了用于所选线的所有可用的延迟例程,居中组件602可以选择达到最大稳定区域的延迟值。此外,居中组件602可以将所选线在区域的活动时钟边缘内居中,以使得量子位数据位在限制性时间窗口之外。例如,居中组件602可以使所选线从最大的稳定时钟区域的边缘开始居中,以使得量子位数据位在建立-保持时间窗口之外。此外,训练组件126可以用目标传输线总线112的每条线重复上述特征和/或操作。
图7示出根据本文描述的一个或多个实施例的可由训练组件126执行的示例非限制性训练算法700的流程图。为了简洁起见,省略对在此描述的其他实施例中采用的相似元件的重复描述。训练算法700的各个步骤可以由训练组件126以及训练组件126的关联组件根据本文描述的特征和/或操作来执行。
在702处,训练算法700可以包括选择(例如,经由线选择组件202)传输线总线702的作为训练目标的线。在704处,训练算法700可以包括评估在当前正在被评估的延迟值处的均步域稳定性。例如,训练组件126可以观察用当前延迟值在所选线上传输的量子位数据。延迟值可以关于沿数据路径布置的一个或多个延迟元件130,并且可以由可编程寄存器128在训练组件126的方向上实现。
在706处,训练算法700可以包括确定具有当前延迟值的所选线的传输模式是否显示为芯片之间(例如,在量子控制器架构块102的发射芯片108与有条件引擎架构块104的接收芯片110之间)的稳定的单个寄存器到寄存器级。如本文所描述的,在各个实施例中,域稳定性组件302可以确定所观察的量子位数据位串是否由与单个RTL级相关联的所定义的模式来表征。如果观察到的模式显示为稳定的单个寄存器到寄存器级,则训练算法700可以进行至步骤708。如果观察到的模式未显示为稳定的单个寄存器到寄存器级,则训练算法700可以进行至步骤710。
在708,训练算法700可包括确定所选线是否是参考线。在各个实施例中,域稳定性组件302可以将来自目标传输线总线112的线指定为参考线。例如,目标传输线总线112的被选择用于训练的第一线可以被指定为参考线。如果所选线是参考线,则训练算法700可以进行到步骤712。如果所选线不是参考线,则训练算法700可以进行至步骤714。
在714处,训练算法700可包括确定所选线是否与参考线对准。例如,所选线的观察的量子位数据可以被与沿参考线传输的量子位数据的快照交叉参考(例如,经由域区域组件402)以确定所选线和参考线是否对准。如果所选线和参考线对准,则训练算法700可以进行到步骤712。如果所选线和参考线不对准,则训练算法700可以进行至步骤710。
在712处,训练算法700可包括确定延迟例程是否已经在稳定区域中。例如,域区域组件402可经由稳定延迟区域的一个或多个区域跟踪表来跟踪与所选线相关联的稳定区域,其中稳定区域的边界可由一个或多个非稳定延迟值的存在来确定。如果确定延迟例程在已知的稳定区域内,则训练算法700可前进至步骤716。如果延迟例程不在已知的稳定区域内,则训练算法700可前进至步骤718。
在716,训练算法700可包括增大当前区域大小。例如,域区域组件402可以将已知的稳定区域的大小增大定义的值(例如,增大值1)。在718,训练算法700可包括跟踪新的稳定区域。例如,域区域组件402可以更新与所选线相关联的区域跟踪表,以反映区域大小增大和/或新的稳定区域的存在。训练算法700可从步骤716或步骤718前进到步骤710。
在710处,训练算法700可以包括确定是否存在要针对所选线进行评估的更多延迟值。例如,延迟值组件502可查明是否已由训练组件126针对所选线评估了延迟元件130的所有可用延迟值。例如,延迟值组件502可参考由域区域组件402构造的表以查明先前已被评估的延迟值,并将这些延迟值与可用于由可编程寄存器128执行的关于延迟元件130的延迟值的列表进行比较。如果存在要评估的额外延迟值,训练算法700可进入步骤720。如果没有额外的延迟值可用于评估,训练算法700可进入步骤722。
在720,训练算法700可包括增大延迟值。例如,延迟值组件502可将延迟值增大定义的值,以增大到尚未由训练组件126针对所选线评估的延迟值。如图7所示,一旦延迟值增大到新的延迟值,训练算法700就可重复步骤706-718以评估与新的延迟值相关联的传输模式和/或域稳定性。在722处,训练算法700可包括选择与最大稳定区域相关联的延迟值。例如,居中组件602可以查询由域区域组件402构造的区域跟踪表以标识与所评估的延迟值相关联的最大区域。在各个实施例中,训练算法700还可以包括在722将所选线和延迟例程的量子位数据位从活动时钟边缘开始在接收时钟域内居中。例如,量子位数据位可以从最大区域的上升沿和下降沿开始居中。由此,量子位数据位可以被放置在每个边缘的建立并保持时间窗口之外。例如,如果最大区域具有300的大小以及由最小延迟值100和最大延迟值400限定的边界,则居中组件602可以针对所选线而选择延迟值250。
在一个或多个实施例中,可针对目标传输线总线112的每个线和/或针对接口100的每个传输线总线112而重复训练算法700。例如,嵌入式训练组件126可以针对一个或多个传输线总线112的每个线执行步骤702-722以训练接口100。
图8示出了根据本文描述的一个或多个实施例的可由接口100采用的示例非限制性连续分组传输协议800的图。为了简洁起见,省略对在此描述的其他实施例中采用的相似元件的重复描述。在各个实施例中,接口100可以在由嵌入式训练组件126执行的训练之后采用示例连续分组传输协议800。如图8所示,根据连续分组传输协议800,在量子控制器架构块102的一个或多个发射芯片108与有条件引擎架构块104的接收芯片110之间可以连续地传输仅包含量子位数据位置和量子位有效(qubit valids)的数据分组。数据分组的边界可以在由训练组件126执行的训练期间建立(例如,在根据训练算法700执行的训练期间建立)。随着量子位数据变得可用,连续分组传输协议800可以保持该数据直到下一个数据分组到达,插入量子位数据的新位(例如,新的量子位测量值)以及量子位有效,然后将该分组发送到接收芯片110。由此,不需要开销位来识别数据分组的开始和结束,并且能够从数据分组内的位位置来推断发送方信息。有利地,连续分组传输协议800能够使得接口100的运行时期间的数据传输能够以低延迟执行,以便克服传输期间发生的量子位降级。
在一个或多个实施例中,连续分组传输协议可以由量子控制器架构块102的发射芯片108的发射逻辑电路层113结合有条件引擎架构块104的接收芯片110的接收逻辑电路层132来实现。此外,芯片之间的传输线总线112可以包括“k”个线(例如,如图8所示,线0、线1、线2至线“k”),其中,线的总数是正偶整数。发射逻辑电路层113可以遍历多个路由方案,这些路由方案通过在当前周期中经由自由运行的指针发出了什么量子位数量的掩码来引导线分配。另外,发射逻辑电路层113能够基于来自关联的量子控制器106采集通道的接收来设置发送量子位有效向量。此外,发送量子位有效向量可以在传输到有条件引擎架构块104时被清除。接收逻辑电路层132可以具有与发射逻辑电路层113相同的对路由方案的轮换的理解。此外,接收逻辑电路层132可以针对每个周期处理在传输线总线112的线上的当前传入的量子位数据和有效对,并且根据有条件分配的映射将这些对转发到有条件引擎116。
如图8所示,连续分组传输协议800可以包括多个周期(例如,“x”个周期直到周期“n”并且包括周期“n”)。在每个周期中,连续分组传输协议800可以采用不同的路由方案来分配用于发送量子位数据和有效对的线。可以基于从量子控制器106广播的量子位数据和有效对的数量来配置周期的数量。只要发射逻辑电路层113和接收逻辑电路层132都被设置为相同的路由方案轮换和周期计数,就可以基于用于传输数据的线、当前周期计数、和/或数据封包内的量子位数据位位置来推断量子位限定信息。
在量子控制器106控制量子位数量“q”并且传输线总线112的线数量“i”大于或等于量子位数量“q”的两倍的情况下(例如,其中2×q≤i),来自相应的量子位的量子位数据可以在每个周期被路由到相同的线(例如,线0)(例如,至少因为有足够的线用于来自量子控制器106的每个量子位数据和量子位有效)。然而,在线数量“i”小于量子位数量“q”的两倍的情况下(例如,其中2×q>i),发射逻辑电路层113和接收逻辑电路层132可以遍历多个路由方案以便在每个周期中交替线分配,并且由此发送所有可用的量子位数据和有效对,而没有进行限定的开销信息和/或没有严格专用的线。
例如,可以根据以下等式1来定义包含分组数据的阵列“a”:
Figure BDA0004119705000000161
例如:a[0]可以包含量子位0数据,a[1]可以包含量子位0有效,a[2]=量子位1数据,等等。此外,在给定时钟周期“x”期间将具有索引“k”的给定线“w”分配给数据分组阵列“a”可以由以下等式2来表征:
wk=a[(i*x+k)%(2*q)] (2)
图8示出了在每个时钟周期改变线分配的示例性路由方案轮换。例如,在连续分组传输协议800的周期0期间,来自量子位0的量子位数据可以被路由到线0,来自量子位0的量子位有效可以被路由到线1,来自量子位1的量子位数据可以被路由到线2,等等。例如,周期0可以遵循一种路由方案,以使得被路由至线“k”的量子位有效是来自量子位((k+1)/2)-1(例如,关于线1,“k”等于1并且因此来自量子位0的量子位有效被路由至线1,如图所示),并且来自同一个量子位的量子位数据被路由至索引中的前一个线(例如,来自量子位0的量子位数据被路由至线0)。
在下一个周期中,连续分组传输协议800可以轮换到新的路由方案,以使得线具有不同的量子位分配。例如,在连续分组传输协议800的周期1期间,来自量子位1的量子位数据可以被路由到线0,来自量子位1的量子位有效可以被路由到线1,来自量子位3的量子位数据可以被路由到线2,来自量子位3的量子位有效可以被路由到线3,等等。例如,周期1可以遵循一种路由方案,以使得被路由到线“k”的量子位有效是来自量子位((k+1)/2)*2-1(例如,关于线3,“k”等于3并且因此来自量子位3的量子位有效被路由到线3),并且来自同一个量子位的量子位数据被路由到前一个线(例如,来自量子位3的量子位数据被路由到线2)。
在示例周期0期间,量子位0和2的数据分组是可用的,因为两个量子位的量子位数据和有效被分配给线(例如,线0-1和4-5)。然而,在实例周期1期间,量子位0和2的数据分组不可用,因为在周期1期间采用的路由方案不将线分配给这些量子位的量子位数据和有效。因此,当量子位数据和有效从量子位0和2开始变得可用时,量子位数据和有效配对可以由传输逻辑电路层113强制等待一个周期,该周期采用具有用于量子位0和/或2的量子位数据和有效配对的可用数据分组的路由方案。例如,来自量子位0和/或2的可用量子位数据和有效配对可以被强制等待,直到实例周期0或具有可用数据分组的另一个周期在路由方案的轮换中是活动的。
当连续分组传输协议800遍历路由方案时,轮换协议可最终循环回到初始路由方案,并且连续分组传输协议800可再次遍历路由方案。例如,图8示出了例如周期“n”的路由方案与例如周期0的初始轮换方案相同;从而示出了在周期“n”,连续分组传输协议800可以开始重复轮换协议。例如,例如周期“n+1”的路由方案可以与例如周期1的路由方案相同。
图9示出了根据本文描述的一个或多个实施例的可用于训练接口100的示例非限制性计算机实现的方法900的流程图。为了简洁起见,省略对在此描述的其他实施例中采用的相似元件的重复描述。在各个实施例中,训练组件126可经由执行训练算法700来采用计算机实现的方法900。
在902处,计算机实现的方法900可以包括由可操作地耦接到处理器(例如,嵌入式处理器124)的系统(例如,接口100)评估(例如,经由域稳定性组件302)均步时钟域在一个或多个延迟值处针对量子控制器快速路径接口(例如,接口100)的目标线(例如,包括在传输线总线112内)的稳定性。在904处,计算机实现的方法900可包括确定(例如经由域稳定性组件302)均步时钟域是否由在一个或多个延迟值处的稳定的直接寄存器到寄存器传输模式来表征。
在906处,计算机实现的方法900可包括由系统(例如,接口100)确定(例如,经由域区域组件402)目标线是否是参考线或是否与参考线对准。例如,域区域组件402可以将传输线总线112的一个或多个线指定为参考线。此外,在目标线不是参考线的情况下,域区域组件402可以确定目标线是否与参考线对准。在908处,计算机实现的方法900可包括由系统(例如,接口100)识别(例如,经由域区域组件402和/或延迟值组件502)均步时钟域的多个稳定区域的边界。例如,域区域组件402可以根据本文描述的各个实施例经由区域跟踪表来跟踪与所评估的延迟值相关联的各个稳定和不稳定区域。在910处,计算机实现的方法900可以包括由系统(例如,接口100)选择(例如,经由居中组件602)从最大稳定区域的活动时钟边缘开始居中的延迟值。
本发明可以是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),这些计算机可读程序指令用于使处理器执行本发明的各方面。计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的有条件封包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
为了提供用于本文描述的各个实施例的附加上下文,图10和以下讨论旨在提供其中可以实现本文描述的实施例的各个实施例的合适的计算环境1000的一般描述。虽然上文已经在可以在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述了实施例,但是本领域技术人员将认识到,实施例也可以结合其他程序模块和/或作为硬件和软件的组合来实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员将认识到,本发明的方法可以用其他计算机系统配置来实现,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(“IoT”)设备、分布式计算系统、以及个人计算机、手持式计算设备、基于微处理器或可编程消费电子产品等,它们中的每一个可以可操作地耦接到一个或多个关联的设备。
本文实施例的所示实施例也可在分布式计算环境中实现,其中特定任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。例如,在一个或多个实施例中,计算机可执行组件可以从存储器执行,存储器可以包括一个或多个分布式存储器单元或由一个或多个分布式存储器单元组成。如本文所使用的,术语“存储器”和“存储单元”是可互换的。此外,本文描述的一个或多个实施例能够以分布式方式执行计算机可执行组件的代码,例如,多个处理器组合或协作工作以执行来自一个或多个分布式存储单元的代码。如本文所使用的,术语“存储器”可以包含在一个位置处的单个存储器或存储单元或在一个或多个位置处的多个存储器或存储单元。
计算设备通常包括各种介质,其可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可由计算机访问的任何可用存储介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据之类的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
计算机可读存储介质可以包括但不限于:随机存取存储器(“RAM”)、只读存储器(“ROM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、致密盘只读存储器(“CDROM”)、数字通用盘(“DVD”)、蓝光盘(“BD”)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、固态驱动器或其他固态存储设备、或可以用于存储所希望的信息的其他有形的和/或非瞬时介质。在此方面,在此应用于存储装置、存储器或计算机可读介质的术语“有形的”或“非瞬时的”应理解为仅排除传播瞬时信号本身作为修饰语,并且不放弃对不仅传播瞬时信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
计算机可读存储介质可由一个或多个本地或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问,以用于关于介质所存储的信息的各种操作。
通信介质通常将计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据体现在诸如经调制数据信号(例如,载波或其他传输机制)之类的数据信号中,并且包括任何信息递送或传输介质。术语“经调制数据信号”是指以对一个或多个信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外和其他无线介质。
再次参考图10,用于实施本文所描述的方面的各种实施例的示例环境1000包括计算机1002,计算机1002包括处理单元1004、系统存储器1006以及系统总线1008。系统总线1008将包括但不限于系统存储器1006的系统组件耦接至处理单元1004。处理单元1004可为各种市售处理器中的任一者。双微处理器和其他多处理器架构也可以被用作处理单元1004。
系统总线1008可以是可使用各种市售总线架构中的任一者进一步互连到存储器总线(具有或不具有存储器控制器)、外围总线和本地总线的多个类型的总线结构中的任一者。系统存储器1006包括ROM 1010和RAM 1012。基本输入/输出系统(“BIOS”)可以被存储在诸如ROM、可擦可编程只读存储器(“EPROM”)、EEPROM之类的非易失性存储器中,BIOS包含诸如在启动期间帮助在计算机1002内的元件之间传输信息的基本例程。RAM 1012还可包括高速RAM,诸如用于缓存数据的静态RAM。
计算机1002还包括内部硬盘驱动器(“HDD”)1014(例如,EIDE、SATA)、一个或多个外部存储设备1016(例如,磁软盘驱动器(“FDD”)1016、记忆棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1020(例如,它可以从CD-ROM盘、DVD、BD等读取或写入)。虽然内部HDD 1014被示为位于计算机1002内,但是内部HDD 1014还可被配置成在合适的机箱(未示出)中用于外部使用。此外,尽管未在环境1000中示出,但固态驱动器(“SSD”)可被用作HDD 1014的补充或替代HDD 1014。HDD 1014、外部存储设备1016和光盘驱动器1020可以分别通过HDD接口1024、外部存储接口1026和光盘驱动器接口1028连接到系统总线1008。用于外部驱动器实现方式的接口1024可以包括通用串行总线(“USB”)和电气与电子工程师协会(“IEEE”)1394接口技术中的至少一个或两者。其他外部驱动器连接技术在本文描述的实施例的构想之内。
驱动器及其关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1002,驱动器和存储介质适合以合适的数字格式存储任何数据。尽管以上对计算机可读存储介质的描述涉及相应类型的存储设备,但本领域技术人员应当理解,可由计算机读取的其他类型的存储介质(不管是当前存在的还是将来开发的)也可用于示例操作环境中,并且进一步地,任何这样的存储介质可包含用于执行本文所描述的方法的计算机可执行指令。
多个程序模块可存储在驱动器和RAM 1012中,包括操作系统1030、一个或多个应用程序1032、其他程序模块1034和程序数据1036。所有或部分操作系统、应用、模块和/或数据也可缓存在RAM1012中。本文所述的系统和方法可利用各种市售操作系统或操作系统的组合来实现。
计算机1002可以可选地包括仿真技术。例如,系统管理程序(未示出)或其他中介可以仿真操作系统1030的硬件环境,并且仿真硬件可以可选地与在图10中示出的硬件不同。在这种实施例中,操作系统1030可以包括在计算机1002处托管的多个虚拟机(“VM”)中的一个虚拟机。此外,操作系统1030可以为应用1032提供运行时环境,诸如Java运行时环境或.NET框架。运行时环境是允许应用1032在包括运行时环境的任何操作系统上运行的一致执行环境。类似地,操作系统1030可支持容器,并且应用1032可采取容器的形式,容器是软件的轻量的、独立的、可执行的包,包括例如代码、运行时、系统工具、系统库和应用的设置。
此外,计算机1002可以启用安全模块,如可信处理模块(“TPM”)。例如,对于TPM,引导组件对在时间上的下一个引导组件进行散列,并且等待结果与安全值的匹配,然后加载下一个引导组件。此过程可以在计算机1002的代码执行栈中的任何层进行,例如,在应用执行级别或在操作系统(“OS”)内核级别应用,从而在任何代码执行级别实现安全性。
用户可通过一个或多个有线/无线输入设备(例如,键盘1038、触摸屏1040和诸如鼠标1042的指点设备)将命令和信息输入到计算机1002中。其他输入设备(未示出)可以包括麦克风、红外(“IR”)遥控器、射频(“RF”)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头盔、游戏手柄、手写笔、图像输入设备(例如,(多个)相机)、手势传感器输入设备、视觉移动传感器输入设备、情绪或面部检测设备、生物计量输入设备(例如,指纹或虹膜扫描仪)等。这些和其他输入设备经常通过可耦接到系统总线1008的输入设备接口1044连接到处理单元1004,但可通过其他接口连接,诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口、
Figure BDA0004119705000000241
接口等。
监视器1046或其他类型的显示设备也可以经由诸如视频适配器1048之类的接口连接到系统总线1008。除了监视器1046之外,计算机通常包括其他外围输出设备(未示出),诸如扬声器、打印机等。
计算机1002可使用经由到一个或多个远程计算机(诸如远程计算机1050)的有线和/或无线通信的逻辑连接在联网环境中操作。远程计算机1050可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他公共网络节点,并且通常包括相对于计算机1002描述的许多或所有元件,但是为了简洁起见,仅示出了存储器/存储设备1052。所描绘的逻辑连接包括到局域网(“LAN”)1054和/或更大的网络(例如,广域网(“WAN”)1056)的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中是常见的,并且促进企业范围的计算机网络(诸如内联网),所有这些可以连接到全球通信网络,例如互联网。
当在LAN联网环境中使用时,计算机1002可以通过有线和/或无线通信网络接口或适配器1058连接到本地网络1054。适配器1058可以促进到LAN 1054的有线或无线通信,LAN1054还可以包括布置在其上以用于以无线模式与适配器1058通信的无线接入点(“AP”)。
当在WAN联网环境中使用时,计算机1002可包括调制解调器1060或可经由用于在WAN 1056上建立通信的其他手段(诸如通过互联网)连接到WAN 1056上的通信服务器。调制解调器1060(其可以是内部或外部的和有线或无线设备)可以经由输入设备接口1044连接到系统总线1008。在联网环境中,相对于计算机1002或其部分所描绘的程序模块可以存储在远程存储器/存储设备1052中。应当理解,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中使用时,计算机1002可访问云存储系统或其他基于网络的存储系统,作为如上所述的外部存储设备1016的补充或替换。通常,计算机1002和云存储系统之间的连接可以例如由适配器1058或调制解调器1060分别在LAN 1054或WAN 1056上建立。在将计算机1002连接到关联的云存储系统时,外部存储接口1026可以借助于适配器1058和/或调制解调器1060来管理由云存储系统提供的存储,如同其他类型的外部存储那样。例如,外部存储接口1026可以被配置为提供对云存储源的访问,如同那些源在物理上连接到计算机1002那样。
计算机1002可以可操作以与可操作地布置在无线通信中的任何无线设备或实体(例如,打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何一件设备或位置(例如,自助服务终端、新闻台、商店货架等)和电话)通信。这可以包括无线保真(“Wi-Fi”)和
Figure BDA0004119705000000261
无线技术。由此,通信可以是如传统网络的预定义结构,或者仅仅是至少两个设备之间的自组织通信。
以上已经描述的内容仅包括系统、计算机程序产品和计算机实现的方法的示例。当然,为了描述本公开的目的,不可能描述组件、产品和/或计算机实现的方法的每个可构想的组合,但是本领域的普通技术人员可以认识到,本公开的许多其他组合和置换是可能的。此外,就在具体实施方式、权利要求书、附录和附图中使用术语“包括”、“具有”、“拥有”等来说,这些术语旨在以与术语“包含”在权利要求书中用作过渡词时所解释的相类似的方式而是包含性的。已经出于说明的目的给出了对各种实施例的描述,但是这些描述不是穷举性的或者不旨在限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

Claims (20)

1.一种计算机实现的方法,包括:
由可操作地耦接到处理器的系统通过调整延迟值来训练用于在量子控制器与有条件引擎之间路由量子位数据位的量子控制器快速路径接口,以使得均步时钟域由直接寄存器到寄存器传输模式来表征。
2.根据前述权利要求所述的计算机实现的方法,还包括:
由所述系统通过移位所述量子控制器快速路径接口的延迟器件来选择稳定所述均步时钟域的所述延迟值。
3.根据前述权利要求所述的计算机实现的方法,其中,所述训练从活动时钟边缘开始将所述量子位数据位在接收时钟域内居中。
4.根据前述权利要求所述的计算机实现的方法,其中,所述训练最大化所述接收时钟域的时间裕度。
5.根据前述权利要求中任一项所述的计算机实现的方法,还包括:
由所述系统通过跟踪所述均步时钟域在所述量子快速路径接口针对目标线能够实现的多个延迟值处的稳定性,识别所述均步时钟域的多个稳定区域的边界。
6.根据前述权利要求所述的计算机实现的方法,其中,所述训练进一步包括:
由所述系统从所述多个延迟值中选择与所述多个稳定区域中的最大稳定区域相关联的优选延迟值;以及
由所述系统将所述优选延迟值与所述目标线一起用于路由所述量子位数据位。
7.根据前述权利要求中任一项所述的计算机实现的方法,还包括:
由所述系统评估所述均步时钟域在所述延迟值处针对所述量子控制器快速路径接口的目标线的稳定性。
8.根据前述权利要求所述的计算机实现的方法,其中,所述评估包括:
由所述系统基于所述均步时钟域的稳定性由所述直接寄存器到寄存器传输模式来表征的评估,确定所述目标线是否是所述量子控制器快速路径接口的参考线;以及
由所述系统基于所述均步时钟域的稳定性由所述直接寄存器到寄存器传输模式来表征的评估,确定所述目标线是否与所述参考线对准。
9.根据前述权利要求所述的计算机实现的方法,其中,所述评估进一步包括:
由所述系统基于所述目标线是所述参考线或与所述参考线对准的确定,确定所述量子位数据位是否在所述均步时钟域的稳定区域中。
10.一种用于在量子控制器与有条件引擎之间路由量子位数据位的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质中包含程序指令,所述程序指令能够由处理器执行以使得所述处理器:
由所述处理器通过调整延迟值来训练量子控制器快速路径接口,以使得所述量子控制器快速路径接口的均步时钟域由直接寄存器到寄存器传输模式来表征。
11.根据前述权利要求所述的计算机程序产品,其中,所述程序指令还使得所述处理器:
由所述处理器通过移位所述量子控制器快速路径接口的延迟器件来选择稳定所述均步时钟域的接收时钟域。
12.根据前述权利要求10至11中任一项所述的计算机程序产品,其中,所述程序指令还使得所述处理器:
由所述处理器评估所述均步时钟域在所述延迟值处针对所述量子控制器快速路径接口的目标线的稳定性。
13.根据前述权利要求所述的计算机程序产品,其中,所述程序指令还使得所述处理器:
由所述处理器基于所述均步时钟域的稳定性由所述直接寄存器到寄存器传输模式来表征的评估,确定所述目标线是否是所述量子控制器快速路径接口的参考线;以及
由所述处理器基于所述均步时钟域的稳定性由所述直接寄存器到寄存器传输模式来表征的评估,确定所述目标线是否与所述参考线对准。
14.根据前述权利要求所述的计算机程序产品,其中,所述程序指令还使得所述处理器:
由所述处理器基于所述目标线是所述参考线或与所述参考线对准的确定,确定所述量子位数据位是否在所述均步时钟域的稳定区域中;以及
由所述处理器基于所述量子位数据位在所述稳定区域中的确定,增大所述稳定区域的大小。
15.根据前述权利要求所述的计算机程序产品,其中,所述延迟值来自要由所述处理器评估的多个延迟值,其中,所述评估针对所述目标线提供与所述多个延迟值相关联的多个稳定区域,并且其中,所述程序指令还使得所述处理器:
由所述处理器从所述多个延迟值中选择与所述多个稳定区域中的最大稳定区域相关联的优选延迟值;以及
由所述处理器将所述优选延迟值与所述目标线一起用于路由所述量子位数据位。
16.一种系统,包括:
量子控制器快速路径接口,其经由分组传输协议在量子控制器与有条件引擎之间路由量子位数据分组,在所述分组传输协议中,发送方信息是从在所述量子位数据分组内的数据位置来推断的。
17.根据前述权利要求所述的系统,其中,所述量子控制器向所述量子控制器快速路径接口的发射逻辑电路广播量子位数据,并且其中,所述发射逻辑电路被与可操作地耦接到所述有条件引擎的接收逻辑电路同步。
18.根据前述权利要求所述的系统,其中,所述发射逻辑电路遍历多个路由方案,并且其中,所述多个路由方案向多个传输线中的传输线分配所述量子位数据分组。
19.根据前述权利要求所述的系统,其中,在遍历所述多个路由方案的同时,所述分组传输协议在所述发射逻辑电路与所述接收逻辑电路之间连续地传输量子位数据。
20.根据前四个权利要求中任一项所述的系统,其中,所述量子位数据分组包括所述数据位置与量子位有效的配对。
CN202180062384.8A 2020-09-11 2021-09-09 量子控制器快速路径接口 Pending CN116195230A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/018,531 2020-09-11
US17/018,531 US11567887B2 (en) 2020-09-11 2020-09-11 Quantum controller fast path interface
PCT/EP2021/074825 WO2022053561A1 (en) 2020-09-11 2021-09-09 Quantum controller fast path interface

Publications (1)

Publication Number Publication Date
CN116195230A true CN116195230A (zh) 2023-05-30

Family

ID=77864601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180062384.8A Pending CN116195230A (zh) 2020-09-11 2021-09-09 量子控制器快速路径接口

Country Status (10)

Country Link
US (1) US11567887B2 (zh)
EP (1) EP4211548A1 (zh)
JP (1) JP2023541529A (zh)
CN (1) CN116195230A (zh)
AU (1) AU2021341467B2 (zh)
BR (1) BR112023002835A2 (zh)
CA (1) CA3187715A1 (zh)
IL (1) IL300313A (zh)
MX (1) MX2023002590A (zh)
WO (1) WO2022053561A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516190B1 (en) * 2021-08-26 2022-11-29 Accenture Global Solutions Limited Secret superposition protocols for quantum computation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013006836A1 (en) 2011-07-06 2013-01-10 D-Wave Systems Inc. Quantum processor based systems and methods that minimize an objective function
US10019235B2 (en) 2011-09-30 2018-07-10 Los Alamos National Security, Llc Quantum random number generators
US9038065B2 (en) 2012-01-30 2015-05-19 International Business Machines Corporation Integrated virtual infrastructure system
US9946973B2 (en) 2012-06-18 2018-04-17 The University Of Sydney Long-time low-latency quantum memory by dynamical decoupling
US20150026494A1 (en) 2013-07-19 2015-01-22 Sonics, Inc. Intelligent mesochronous synchronizer
WO2015048783A1 (en) 2013-09-30 2015-04-02 Nordholt, Jane, E. Quantum-secured communications overlay for optical fiber communications networks
WO2015143439A1 (en) 2014-03-21 2015-09-24 Google Inc. Chips including classical and quantum computing processors
US10552756B2 (en) 2015-11-12 2020-02-04 University Of Rochester Superconducting system architecture for high-performance energy-efficient cryogenic computing
US9645604B1 (en) * 2016-01-05 2017-05-09 Bitfury Group Limited Circuits and techniques for mesochronous processing
US9876505B1 (en) 2016-09-02 2018-01-23 Northrop Grumman Systems Corporation Superconducting isochronous receiver system
US10223643B1 (en) 2017-09-29 2019-03-05 International Business Machines Corporation Reduction and/or mitigation of crosstalk in quantum bit gates
US11238360B2 (en) 2018-02-12 2022-02-01 International Business Machines Corporation Fast quantum feedback using analog integration and control pulse gating
US20190042965A1 (en) 2018-03-30 2019-02-07 James Clarke Apparatus and method for a field programmable quantum array
AU2018247327B1 (en) * 2018-07-23 2018-12-06 Q-CTRL Pty Ltd Multi-qubit control
US11416228B2 (en) 2018-09-13 2022-08-16 The University Of Chicago System and method of optimizing instructions for quantum computers
US20190042973A1 (en) 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for arbitrary qubit rotation
US20190042970A1 (en) 2018-09-27 2019-02-07 Xiang Zou Apparatus and method for a hybrid classical-quantum processor
US11243248B2 (en) 2018-10-11 2022-02-08 International Business Machines Corporation Symbolic backend for execution of quantum programs
US11086665B2 (en) 2018-10-22 2021-08-10 Red Hat, Inc. Scheduling services for quantum computing
US10333503B1 (en) 2018-11-26 2019-06-25 Quantum Machines Quantum controller with modular and dynamic pulse generation and routing
US10536224B1 (en) 2019-02-26 2020-01-14 International Business Machines Corporation Visualizing arbitrary pulse shapes and schedules in quantum computing applications
US10505524B1 (en) * 2019-03-06 2019-12-10 Quantum Machines Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US11164100B2 (en) * 2019-05-02 2021-11-02 Quantum Machines Modular and dynamic digital control in a quantum controller
US11309974B2 (en) * 2019-05-09 2022-04-19 Red Hat, Inc. Quantum channel routing utilizing a quantum channel measurement service
US10560076B1 (en) 2019-07-31 2020-02-11 Quantum Machines Frequency generation in a quantum controller
US10635990B1 (en) 2019-09-05 2020-04-28 Intel Corporation Quantum circuit assembly with a digital-to-analog converter and an array of analog memory cells

Also Published As

Publication number Publication date
AU2021341467A1 (en) 2023-02-16
US20220083488A1 (en) 2022-03-17
AU2021341467B2 (en) 2024-04-11
EP4211548A1 (en) 2023-07-19
CA3187715A1 (en) 2022-03-17
MX2023002590A (es) 2023-03-22
WO2022053561A1 (en) 2022-03-17
JP2023541529A (ja) 2023-10-03
BR112023002835A2 (pt) 2023-04-04
IL300313A (en) 2023-04-01
US11567887B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
EP2215563B1 (en) Method and apparatus for traversing a deterministic finite automata (dfa) graph compression
US8180803B2 (en) Deterministic finite automata (DFA) graph compression
CN107368507A (zh) 一种基于区块链的共识方法及装置
US20130262518A1 (en) Deterministic Finite Automata Graph Traversal With Nodal Bit Mapping
US20150127925A1 (en) Computing Architecture for Operating on Sequential Data
US20190250941A1 (en) Fpga platform as a service (paas)
US20160203102A1 (en) Efficient remote pointer sharing for enhanced access to key-value stores
US11294841B1 (en) Dynamically configurable pipeline
WO2014166385A1 (en) Fabric multipathing based on dynamic latency-based calculations
US20180197075A1 (en) Area-efficient, reconfigurable, energy-efficient, speed-efficient neural network substrate
US20150039557A1 (en) State scope data file sharing
US9996387B2 (en) Context switching for computing architecture operating on sequential data
CN116195230A (zh) 量子控制器快速路径接口
CN114514536A (zh) 分布式系统中的神经网络训练
CN106897246B (zh) 处理器和使用处理器处理数据的方法
US20140330937A1 (en) End-to-end classification of storage traffic streams
US10516628B2 (en) Transfer device, transfer system, and transfer method
US10372770B1 (en) Cloud-based platform for semantic indexing of web objects
US10078667B2 (en) Normalizing non-numeric features of files
CN115639953A (zh) 数据迁移方法和装置
KR102128832B1 (ko) 네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치의 데이터 처리 방법
US20210105343A1 (en) Sockets for shared link applications
US20200097801A1 (en) Low spike count ring buffer mechanism on neuromorphic hardware
US20210329061A1 (en) In-network compute assistance
Shashidhara et al. Deadlock Recovery for NOC Using Modified Encoding Scheme

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination