【手続補正書】
【提出日】令和3年11月26日(2021.11.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェアプログラムからプログラミング命令を受信し、前記プログラミング命令に少なくとも一部基づいて制御信号を生成するように構成された制御ユニットと、
複数のキュービットと、を備え、前記複数のキュービットの数と、前記複数のキュービットの任意の２つの間の接続は、前記制御ユニットからの前記制御信号によりイネーブルにされ制御され、
前記制御ユニットは、動的に構成可能な数の論理的に別個のサブ制御ユニットを備え、論理的に別個のサブ制御ユニットの数は、量子コンピュータのソフトウェア定義された構成の特定の動作に対して必要とされる前記複数のキュービットの数に基づいており、各サブ制御ユニットは、前記制御ユニットにより受信された前記プログラミング命令のサブセットを使用することにより、独立してプログラム可能であり、各サブ制御ユニットは、それぞれのキュービットのサブセットに対する前記制御信号のサブセットを生成することにより前記複数のキュービットの異なるサブセットを別個に制御するように構成され、各サブ制御ユニットは、１つまたは複数のキュービットの制御を、隣接するサブ制御ユニットに転送するように構成された、
キュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２】
ハードウェア記述言語は、前記制御ユニットおよび前記複数のキュービットを構成するために使用される、請求項１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項３】
前記制御ユニットは、前記複数のキュービットの数および前記複数のキュービットの任意の２つの間の接続を動的に調節する制御信号を生成するように構成される、請求項１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項４】
前記複数のキュービットは、前記ソフトウェアプログラムに関連づけられた特定の量子演算を実行するように構成され、１つまたは複数の例外は、前記ソフトウェアプログラムの実行中に処理される、請求項１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項５】
前記１つまたは複数の例外は、ハードウェア例外、ソフトウェア例外または両方を含む、請求項４に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項６】
構成可能な数のモジュールであって、各モジュールが、制御ユニット、通信制御ユニット、および関連づけられた複数のキュービットを有し、前記構成可能な数のモジュールの各々における前記制御ユニットは、ソフトウェアプログラムからプログラミング命令を受信し、前記プログラミング命令に少なくとも一部基づいて制御信号を生成するように構成され、各モジュールにおける前記複数のキュービットの数および前記複数のキュービットの任意の２つの間の接続が、それぞれのモジュールに対する前記制御ユニットからの前記制御信号によりイネーブルにされ、制御される、構成可能な数のモジュールと、
前記モジュールの各々からの前記通信制御ユニットからの通信チャネルをイネーブルにして、異なるモジュール間に通信を提供するように構成されるスイッチ／ルータユニットと、
を備え、
各モジュールにおける前記制御ユニットはさらに、キュービットの異なるサブセットに対して別個の制御信号を生成することによりそれぞれのモジュールおける前記複数のキュービットの前記異なるサブセットを別個に制御し、前記モジュールにおけるキュービットの第１のサブセットとキュービットの第２のサブセットとの間で１つまたは複数のキュービットを転送するように構成され、転送される前記１つまたは複数のキュービットが、前記１つまたは複数のキュービットを受信する前記キュービットのサブセットに対して生成される別個の制御信号により制御される、
キュービット構成を制御する量子コンピュータのソフトウェア定義された構成。
【請求項７】
前記モジュールの構成可能な数は動的に変化する、請求項６に記載のキュービット構成を制御する量子コンピュータのソフトウェア定義された構成。
【請求項８】
各通信制御ユニットは、前記ソフトウェアプログラムからのプログラミング命令を受信して、前記プログラミング命令に少なくとも一部基づいて制御信号を生成するように構成される、請求項６に記載のキュービット構成を制御する量子コンピュータのソフトウェア定義された構成。
【請求項９】
各通信制御ユニットは、それぞれの通信チャネルに関連するそれぞれのモジュールにおける前記複数のキュービットの少なくとも１つを制御する、請求項８に記載のキュービット構成を制御する量子コンピュータのソフトウェア定義された構成。
【請求項１０】
各モジュールに対して、
前記モジュールにおける前記複数のキュービットは、メモリ／オペレーションキュービットおよび通信キュービットを含み、前記メモリ／オペレーションキュービットは、それぞれのモジュールに対する前記制御ユニットからの制御信号によりイネーブルにされ、制御され、前記通信キュービットは、それぞれのモジュールに対する前記通信制御ユニットからの前記制御信号によりイネーブルにされ、制御される、請求項８に記載のキュービット構成を制御する量子コンピュータのソフトウェア定義された構成。
【請求項１１】
アプリケーションプログラミングインタフェース（ＡＰＩ）と、
前記ＡＰＩがリソースマネージャとスイッチを含む量子ＯＳを実行する量子オペレーティングシステム（ＯＳ）と、
前記スイッチを介して接続された複数の量子コアであって、前記リソースマネージャは、量子コア内のいずれか１つのキュービットが前記量子コア内の残りのキュービットのサブセットまたはすべてと接続可能にすることを含む、前記複数の量子コア内の前記キュービットの割り当てを決定するように構成される複数の量子コアと、
を備え、
各量子コアは、キュービットの異なるサブセットに対する別個の制御信号を用いたその量子コアと関連づけられた前記キュービットの異なるサブセットの制御を可能にするように構成され、各量子コアは、キュービットの第１のサブセットにおける１つまたは複数のキュービットをキュービットの第２のサブセットへ転送することを可能にするように構成され、転送される前記１つまたは複数のキュービットが、前記キュービットの第２のサブセットに対して生成される前記別個の制御信号によって制御されるようになっている、キュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１２】
前記複数の量子コアは、異種アーキテクチャである、請求項１１に記載のキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１３】
前記異種アーキテクチャに１つまたは複数のトランスデューサをさらに備えた、請求項１２に記載のキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１４】
前記複数の量子コアは、同種アーキテクチャである、請求項１１に記載のキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１５】
前記スイッチは、ソフトスイッチとハードスイッチを含む、請求項１１に記載のキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１６】
前記複数の量子コアの１つまたは複数は、前記スイッチに接続された古典的チャネルと量子チャネルを有する、請求項１１に記載のキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャ。
【請求項１７】
量子プログラミング言語のハイレベル中間表現についての字句解析を実行するステップと、
前記字句解析の出力についてのセマンティック解析を実行するステップと、
ソフトウェア定義されたアーキテクチャの言語プリミティブを有する前記量子プログラミング言語の中間レベルの中間表現を生成するステップであって、前記中間レベルの中間表現は、ロウレベルの中間表現を生成する前の前記セマンティック解析の出力に基づく、前記量子プログラミング言語の中間レベルの中間表現を生成するステップと、
を備えたキュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャのためのソースコードをコンパイルするためのコンピュータ実施方法。
【請求項１８】
前記セマンティック解析を実行することは、オペレーショナルセマンティック解析を実行するステップと、意味論的セマンティック解析を実行するステップを含む、請求項１７に記載の方法。
【請求項１９】
量子プログラミング言語のハイレベル中間表現についての字句解析を実行するためのコードと、
前記字句解析の出力についてセマンティック解析を実行するためのコードと、
ソフトウェア定義されたアーキテクチャの言語プリミティブを有する前記量子プログラミング言語の中間レベルの中間表現を生成するためのコードであって、前記中間レベルの中間表現は、ロウレベルの中間表現を生成する前の前記セマンティック解析の出力に基づく、前記量子プログラミング言語の中間レベルの中間表現を生成するためのコードと、
を備え、プロセッサにより実行されると、プロセッサに、キュービットを制御するための量子コンピュータに関するソフトウェア定義されたアーキテクチャのためのソースコードをコンパイルさせる命令を備えたコードを記憶するコンピュータ可読媒体。
【請求項２０】
前記セマンティック解析を実行するためのコードは、オペレーショナルセマンティック解析を実行するためのコードと、意味論的セマンティック解析を実行するためのコードを含む、請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
第１の制御ユニットおよび第２の制御ユニットを含む構成可能な数の制御ユニットを備え、前記制御ユニットの各々は、論理的に別個のものであり、独立してプログラム可能であり、前記構成可能な数の制御ユニットは、ソフトウェア定義された量子コンピュータの特定の動作に対して必要とされる複数のキュービットの数に基づいており、
前記第１の制御ユニットは、ソフトウェアプログラムからプログラミング命令を受信して第１の制御信号を生成するように構成され、前記複数のキュービットの第１のサブセットのキュービットは、前記第１の制御ユニットからの前記第１の制御信号によりイネーブルにされて制御され、
前記第２の制御ユニットは、前記ソフトウェアプログラムからのプログラミング命令を受信し、第２の制御信号を生成するように構成され、前記複数のキュービットの第２のサブセットのキュービットは、前記第２の制御ユニットからの前記第２の制御信号によりイネーブルにされて制御され、
前記第１の制御ユニットはさらに、前記第２のサブセットのキュービットの数が、シャトルされる前記第１のサブセットのキュービットの数だけ増加されるように、前記第１のサブセットのキュービットの数のシャトリングを可能にするようにさらに構成され、
前記第２の制御信号は、増加した数の前記第２のサブセットのキュービットを制御し、前記第１のサブセットのキュービットの数は、シャトルされる前記第１のサブセットのキュービットの数だけ減少され、前記第１の制御信号は減少した数の前記第１のサブセットのキュービットを制御する、
キュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２２】
前記第１の制御ユニットによって受信される前記プログラミング命令は、前記第２の制御ユニットにより受信された前記プログラミング命令とは異なる、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２３】
シャトルされる前記第１のサブセットのキュービットの前記数は、前記第１のサブセットのキュービットに関連した情報を含み、前記情報は、シャトルされる前記第１のサブセットのキュービットの数だけ前記第２のサブセットのキュービットに転送される、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２４】
前記制御ユニットの構成可能な数は、前記第１の制御ユニットと前記第２の制御ユニットに１つまたは複数の制御ユニットを加えることにより動的に調節される、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２５】
前記第１の制御ユニットにより受信された前記プログラミング命令は、前記第２の制御ユニットにより制御される前記第１のサブセットのキュービットの数をシャトルするための通信命令を含む、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２６】
前記第２の制御ユニットにより制御されるようにシャトルされた前記第１のサブセットのキュービットの前記数は、１つまたは複数のキュービットを含み、前記１つまたは複数のキュービッドのシャトリングは、前記第１のサブセットのキュービットと前記第２のサブセットのキュービットとの間の通信チャネルを確立する、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。
【請求項２７】
前記第１のサブセットのキュービットは、前記第１の制御ユニットからの前記制御信号によりイネーブルにされ、制御されるメモリ／オペレーションキュービットおよび通信キュービットを含み、シャトルされる前記第１のサブセットのキュービットの数は、１つまたは複数の前記通信キュービットを含む、請求項２１に記載のキュービット構成を制御するための量子コンピュータのソフトウェア定義された構成。