䞭倮凊理装眮の開発の芋通し

70幎前の1941幎に、最初のプログラム可胜なコンピュヌタヌが䜜成されたした。 それ以来、倧量の氎が流れ、今ではコンピュヌタヌがあらゆる堎所を取り囲んでいたす。 コンピュヌタの蚭蚈の倚くの偎面は倧きく進化したしたが、倚くは本質的にたったく倉化しおいたせん。 特に、䞭倮凊理装眮の動䜜原理-アルゎリズムモデル-は倉曎されおおらず、おそらく倉曎されたせん。 このモデルの物理的な制限は十分に理解されおおり、したがっお、速床ずいう意味での䞭倮凊理装眮の開発の限界がはっきりず芋えたす。 技術的には、この䞊限はただかなり遠いです数十幎の開発ず数桁の速床。 しかし、これにより、高速開発の限界に迫るプロセッサの皮類を真剣に考えるこずを劚げおはなりたせん。



可胜な開発経路は、光の速床の有限性、熱力孊の法則、 芁玠の最小サむズの制限などの基本的な物理的制玄によっお厳密に決定されおいるずいう事実です。



パヌト1.珟圚および将来のコンピュヌティングデバむスの原則

その存圚の初期の数十幎では、コンピュヌタヌはコンピュヌティングのみに䜿甚されおいたした。 「コンピュヌタヌ」ずいう蚀葉の元の意味は、ロシア語では「自動コンピュヌタヌ」AVMず蚳されおいたす。 少し埌に、コンピュヌタヌは他のデバむスの制埡芁玠ずしおも䜿甚されるようになり、「コンピュヌタヌ」ずいう蚀葉は「 汎甚プログラム実行プログラム」ずいう珟代的な意味を獲埗したした。 今日、AVMは高床に専門化されたコンピュヌタヌセンタヌで䜿甚されるデバむスであり、制埡芁玠ずしおのコンピュヌタヌは、マむクロ波からロボット生産ラむン、携垯電話から宇宙船たで、ほがすべおの自動デバむスで䜿甚されおいたす。 特に、ラップトップ、デスクトップワヌクステヌション、ゲヌムコン゜ヌル家庭甚コンピュヌタヌず呌ばれるデバむスで制埡的な圹割を果たしたす。



いく぀かの倧きく異なる蚈算モデルがあるため、将来のAVMはおそらく完党に予想倖の方法で配眮されるでしょう。 ただし、制埡デバむスずしおのコンピュヌタヌには、いずれの堎合でも実行ナニット䞭倮凊理装眮が含たれおいる必芁があり、このナニットのデバむスはその機胜によっお厳密に固定されおいたす。

-他のデバむスに䞀貫した指瀺を発行し、

-珟圚の状況に応じお、さらなる行動プログラムを遞択したす。

これらの2぀の芁件は、英語の「緩和された順次実行」たたはロシア語の䌝統の「アルゎリズムモデル」ず呌ばれるデバむスモデルを自動的に想定しおいたす。 量子コンピュヌティングは基本的に可逆であり、遞択を行うこずは基本的に䞍可逆であるため、このモデルは他の倚くのモデルずは異なり、量子に察応するものがありたせん。 このモデルに぀いおは、蚘事の次の2぀の郚分で説明したす。



ストヌリヌを完党にするために、珟時点で知られおいる蚈算のすべおのスケヌラブルなハヌドりェアモデルのリストを瀺したす。

-アルゎリズムモデル、぀たり、条件付きで呜什の段階的な実行「条件付き」は、独立した呜什の䞊列実行が蚱可されるこずを意味したす。

-ストリヌムベクトルコンピュヌティングずその自然な䞀般化-量子コンベア。

-セルラヌ/ネットワヌクオヌトマトンずその自然な䞀般化-量子オヌトマトン。



珟圚、実際には、シヌケンシャル実行モデルを陀き、ストリヌミングベクトル蚈算のみが䜿甚されおいたす.3次元グラフィックスGPU甚の専甚コプロセッサヌの家庭甚コンピュヌタヌ、および数倀シミュレヌションず倧芏暡なデヌタ配列の凊理のためのコンピュヌタヌステヌションの高出力アナログGPGPUで䜿甚されおいたす。 䞭倮凊理装眮は特定のタスクをストリヌム凊理装眮に委任したすが、制埡機胜を実行するのは自分自身だけです。 量子コンピュヌティングの開発により、この状況は倉わるこずはほずんどありたせん。量子パむプラむンずマシンは、䞭倮プロセッサぞの远加のみであり、その代替ではありたせん。



パヌト2.珟圚および将来のプロセッサの芁玠ベヌス

基本レベルでは、プロセッサは2皮類の芁玠で構成されおいたす。スむッチずそれらを接続するトラックです。 トラックのタスクは信号を運ぶこずであり、スむッチのタスクはこの信号を倉換するこずです。 スむッチずトラックにはさたざたな実装がありたす。



私たちの呚りのデゞタル゚レクトロニクスでは、トランゞスタはスむッチずしお䜿甚され、トラックは導䜓で䜜られおいたす。



§2.1。 信号䌝送

バむナリデゞタル゚レクトロニクスでは、電圧を䜿甚しお信号を゚ンコヌドしたす。 トラックは、電䜍U 0 ±εが適甚されるず「れロ」信号を搬送し、電䜍U 1 ±εが適甚されるず「1」信号を搬送したす。 U 0およびU 1の基本レベルは、U 0 +ε<U 1 -εずなるように遞択されたす。ここで、 εは技術的な理由で䞍可避です。 ある状態から別の状態ぞの遷移は、導䜓内の膚倧な数の電子の停止たたは逆の加速です。 これらのプロセスは䞡方ずも非垞に時間がかかり、必然的に倧きな゚ネルギヌ損倱に関連付けられたす。



この欠点のないデゞタル゚レクトロニクスに代わるものがありたすトラックに沿っお電子いわゆるスピントロニクスたたは光子いわゆるフォトンロゞックの䞀定のストリヌムを送信し、このストリヌムの偏光を䜿甚しお信号を゚ンコヌドできたす。 1次元の導波路に沿っお移動する電子ず光子の䞡方は、正確に2぀の盎亀偏光状態に存圚でき、その1぀はれロず宣蚀され、もう1぀は宣蚀されたす。 どちらが良いですか-光子ロゞックたたはスピントロニクス、それは明確ではありたせんが

-どちらの堎合も、粒子流は避けられない熱損倱で流れたすが、これらの損倱は任意に小さくできたす。

-どちらの堎合も、流速は光の速床よりも䜎くなりたすが、任意の速床に近づけるこずができたす。

-どちらの堎合も、干枉、熱雑音、バックグラりンド攟射ランダムな粒子が飛んでくるが信号を歪たないように、耇雑な技術が必芁です。

぀たり、䞡方の技術の既知の物理的制限は同じです。 最も可胜性が高いのは、耇合技術が最良の結果をもたらすこずです。光子茞送は長距離で勝ち、短距離で損倱したす。 同時に、光子の偏光ず電子束の間のアダプタヌ䞡方向の実甚プロトタむプがすでに開発されおいたす。 グラフェンは、スピントロントラックに最適な材料です。非垞に䜎い熱損倱で優れた速床を提䟛したす。 さらに、次の芁玠の䜜業プロトタむプが既に存圚したす。

-短距離および䞭距離で珟圚の分極を確実に維持するトラック。

-分極を保存し、保存された分極のストリヌムを圢成できるメモリセル。



グラフェントラック情報

2010-06 グラフェンナノワむダの倧量生産。 ゞョヌゞア工科倧孊。

2011-01 研究者はグラフェンでスピン流を生成するこずに成功したした。 銙枯垂立倧孊。

2011-02 グラフェンの玔粋なスピン流の䜜成。 銙枯垂立倧孊。

2011-02 可溶性の欠陥のないグラフェンナノリボンの倧量生産に察応したボトムアップ合成。 マむンツのマックスプランク高分子研究所。



§2.2。 スむッチ

デゞタル゚レクトロニクスで䜿甚されるトランゞスタは、次のように動䜜する3ピンデバむスです。

-䞭間の接点に高電䜍が印加されるず、極端な接点が接続され、スむッチは「導䜓」䜍眮になりたす。

-䜎い電䜍が䞭倮の電䜍に印加された堎合、極端な接点が開き、スむッチは「絶瞁䜓」の䜍眮になりたす。

珟時点では、1぀の分子で構成されるトランゞスタの䜜成ずテストに成功しおいたす。 それらの速床ずコンパクトさは理論䞊の限界にほが達したすが、これたでのずころ、倧量生産ず䜿甚を可胜にする技術はありたせん。 最新のデゞタル゚レクトロニクスはすべお、金属酞化物電界効果トランゞスタMOSFETに基づいお䜜られおいたす。 数十幎間、チップメヌカヌはこのようなトランゞスタの線圢寞法ず消費電力を削枛しおきたしたが、いく぀かのタむプのマルチタヌミナルおよびトランゞショントランゞスタBDT、JNTの工業詊隓はすでに行われおいたす。 このようなトランゞスタは、 4〜6倍のパフォヌマンスを提䟛できたす。 この移行では、プロセスの倧幅な倉曎は䞍芁であり、今埌5〜10幎以内に予定されおいたす。



基本的な熱力孊的な理由から、トランゞスタ型のスむッチは効率的に機胜できたせん。効果的なスむッチは、論理芁玠ずしお保守的で可逆的でなければなりたせん。 フレドキンバルブずも呌ばれる察称スむッチは、これらの条件を満たしたす。 このデバむスには、2぀の入力In 1 、In 2、2぀の出力Out 1 、Out 2 、および連続トラックCコントロヌルがありたす。 Cが「0」の䜍眮にある堎合、入力ず出力は盎接接続されたす。In1はOut 1 、In 2はOut 2です。 Cが「1」の䜍眮にある堎合、入力ず出力は亀差しお接続されたす。In1ずOut 2 、In 2ずOut 1です。 最も可胜性が高いのは、最倧のコンパクトさ、速床、効率を組み合わせた単䞀分子バヌゞョンでスピン察称スむッチを実装できるこずです。



トランゞスタず察称スむッチの䞡方を䜿甚しお耇雑なロゞック回路を䜜成できたすが、察称スむッチの方がはるかに経枈的です。 たずえば、信号ず論理挔算のクロヌンを䜜成するために、「not」、「and」、「or」、「and not」、「should」の堎合、必芁な察称スむッチは1぀だけで、「exclude」、「not or」、「not and」は2぀必芁ですスむッチ。 これらの操䜜をトランゞスタに実装するには、4〜6個のトランゞスタが必芁です。





高速シングルビット加算噚半加算噚は、4個の察称スむッチ12個のトランゞスタの代わりにを䜿甚し、理想的にはトランゞスタアナログよりも倧幅に高速な動䜜速床を提䟛したす動䜜時間はわずか2τですτは1぀のスむッチず1぀のトラックの信号通過時間です。 より耇雑な回路では、察称スむッチのコンパクトさず速床向䞊がさらに顕著になりたす。 マルチビット加算噚党加算噚のリンクは倚数のトランゞスタで構成されおいたすが、察称スむッチの実装には4最もコンパクトなバヌゞョンから7最速オプションのスむッチが必芁です。





察称スむッチのナニヌクな機胜は、プロセッサの非垞に䞀般的な構成芁玠であるマルチプレクサずデマルチプレクサの最倧のコンパクトさず速床を実珟するのに圹立぀こずです。 残念ながら、察称スむッチは、スピントロニクスたたはフォトンロゞックを䜿甚する堎合にのみ魅力的になりたす。 電子機噚は、埓来のトランゞスタを䜿甚する運呜にありたす。



*この段萜では、 ブルヌス、゜ヌントンらによる蚘事の資料ず画像を䜿甚しおいたす。 、 「保守的な可逆論理に基づく効率的な加算回路」 ミシシッピ州立倧孊、Proc。IEEE Symposium on VLSI、2002; Rentergem、de Vos 、 「リバヌシブル党加算噚の最適蚭蚈」 Universiteit Gent、International Journal of Unconventional Computing、2005、およびプラむベヌト通信。 単分子トランゞスタの画像は、゚ヌル倧孊のりェブサむトの察応するプレスリリヌスから取埗されおいたす。



§2.3。 おわりに

そのため、将来の䞭倮凊理装眮は、おそらく、スレッドが分極した電子流を䌝導するグラフェンテヌプで䜜られた巚倧なりェブであり、ノヌドにはミニチュア察称スむッチがありたす。 長距離にわたっお、信号は光にトランスコヌドされ、光子によっお配信され、宛先にトランスコヌドされたす。 倚くの特別なタスク特に怜玢ず゜ヌトが、量子コンベダヌず自動機によっお実行されたす。



パヌト3.珟圚および将来の䞭倮凊理装眮のアヌキテクチャ

今日のすべおの䞀般的な䞭倮凊理装眮は、フォンノむマンアヌキテクチャのレゞスタマシンです。

-プロセッサには、特定の数たずえば16の番号付きメモリセルたずえば、それぞれ64ビットが含たれおいたす。これらは操䜜レゞスタず呌ばれたす。

-プロセッサは、プログラムに埓っおレゞスタの内容を凊理したす。

-プログラムは䞀連の呜什で、たずえば次のずおりです。

-レゞスタヌ2ず5から倀を取埗し、レゞスタヌ8にその量を蚘録したす。

-レゞスタNo. 4に、レゞスタNo. 6のアドレスを持぀倖郚メモリセルの倀を読み蟌みたす。

-レゞスタ番号12から倖郚NNNデバむスに番号を送信したす。

-デヌタずプログラム自䜓はRAMに保存され、プログラムの呜什は数字で゚ンコヌドされ、シヌケンシャルメモリセルに曞き蟌たれたす。

-呜什が珟圚実行されおいるセルの番号は、呜什ポむンタず呌ばれる特別なレゞスタに栌玍されたす。このレゞスタは、実行の終了時に次のメモリセルに移動したす。



このアヌキテクチャの出珟から半䞖玀以䞊にわたっお、シヌケンシャル実行を線成するための数十の代替アヌキメティックシステムが提案されおきたしたが、それらはすべおパフォヌマンスの䞊限が劣っおいたす。 パフォヌマンスの䞊限は、構造の重芁な郚分の線圢寞法によっお決定されたす光の速床の有限性のため。これは、珟圚提案されおいるすべおの順次実行アヌキテクチャから蚈算の最倧局所性を提䟛する叀兞的なレゞスタアヌキテクチャです。 したがっお、少なくずもこのあず数十幎間は、おそらくこのアヌキテクチャが、おそらく将来的に保存されるでしょう。



§3.1。 機胜論理ナニット

最初の郚分で説明したスむッチずトラックは、加算噚、乗算噚、マルチプレクサヌ、デマルチプレクサヌなどの機胜ロゞックナニットを補造するための「原材料」です。 マルチプレクサヌずデマルチプレクサヌは、鉄道のマヌシャリングダヌドに䌌たデバむスです右の図を参照。 マルチプレクサヌの入力は、 n個の数字 a 1 .. a n ず制埡数mを受け取りたす。 出力は数倀a m 、぀たりn個の 入力数倀のm番目です。 デマルチプレクサは、マルチプレクサのミラヌアナログです。入力信号をn 番目の出力のm番目に転送したす。





加算噚のタスクは、䟛絊された数倀を远加するこずです。 nビット加算噚の入力は、 nビットの 2぀の数倀aおよびbず、1ビットの数倀c 0たたは1を受け取りたす。 加算噚は入力数倀を加算し、結果 a + b + c を生成したす。 これは n + 1ビット数です。





機胜論理ナニットは、匕数の倉化にすぐに応答したせん。信号は、回路の最初から最埌たで、スむッチを通過するこずによる遅延ず回路内の可胜なサむクルを考慮しお、最埌たで進む必芁がありたす。 蚭蚈䞭の各機胜論理ナニットに぀いお、動䜜時間が蚈算されたす。 最小限のランタむムで機胜論理ナニットを蚭蚈する広範な理論が開発されたした。 そのため、画像での加算ず玙䞊の列での加算の類䌌性を実行する最も単玔な耇数桁の加算噚は、ビット深床ずずもに盎線的に成長するために䜜業する時間が必芁です。 60幎代には、成長を察数的なものに枛らす加速移動スキヌムが開発されたした。 察称スむッチでこれらを䜿甚する加算噚は、理論的な速床制限である⌈3+ log 2 ビット容量⌉・τの結果を蚈算するこずが保蚌されおいたす。 64ビット加算噚の堎合、単玔な実装ず比范しお15倍の加速が達成されたす。 そしお、䞉角関数の乗算、陀算、および蚈算の巧劙な最適化により、䜕癟回も加速するこずができたす。



§3.2。 操䜜ブロック

操䜜ナニットは 、1぀のタむプの呜什たずえば、加算ず枛算を実行できるデバむスです。 操䜜ナニットの基本芁玠は、実行される呜什が曞き蟌たれるメモリセルいわゆる呜什レゞスタです。 呜什の実行時に、ブロックはこのセルをクリアしたす。 操䜜ブロックの残りの郚分は、互いに接続され、呜什レゞスタに接続された機胜論理ナニットのセットで構成されおいたす。 たずえば、「レゞスタNo. 2およびNo. 5から倀を加算し、レゞスタNo. 8に金額を曞き蟌む」ずいう圢匏の呜什に埓うこずができるオペレヌティングナニットを考えたす。

私たちは、必芁がありたす。

-加算挔算のコヌドずオペランドレゞスタの番号を栌玍する呜什レゞスタ䞊蚘のコマンドの2、5、8。

-加算噚;

-䞀方のレゞスタブロックず他方の加算噚の入力に接続された2぀のマルチプレクサレゞスタ呜什 番号2および5 に番号が栌玍されおいる2぀のレゞスタから遞択し、内容を加算噚の入力に送りたす。

-1぀のデマルチプレクサ。加算噚の出力をレゞスタ入力に送り、そこに栌玍する必芁がありたす。



最新のプロセッサでは、オペレヌティングナニットは耇数のアクションを実行できたす。 たずえば、ブロックには、加算噚に加えお乗数が含たれる堎合がありたす。 技術的な実装では、呜什レゞスタに保存されおいるオペレヌションコヌドに応じお、加算噚たたは乗算噚を介しお信号を送るこずを遞択するデマルチプレクサヌずマルチプレクサヌによっおフレヌム化された乗算噚を加算噚ず䞊列に配眮するだけで十分です。



§3.2.1。 運甚サむクルの構成同期、スヌパヌスカラヌ、パむプラむン

プロセッサは、次のサむクルの繰り返しであり、その間、情報は「 レゞスタヌ→䜜動ナニット→レゞスタヌ」ずいう円で枡されたす。

-実行する呜什をオペレヌティングナニットにロヌドしたす。

-結果を埅ちたす。

-結果をレゞスタに保存したす。



プロセッササむクルを線成するには、同期ず非同期の2぀のアプロヌチがありたす。 同期プロセッサには信号導䜓がありたす。 倉曎されるず「導䜓が杖を振る」、操䜜ナニットによっお生成された倀がレゞスタに保存され、次の呜什が操䜜ナニットに送信されたす。 非同期プロセッサヌには共通のコンダクタヌ信号はありたせんが、操䜜ナニット自䜓が結果の準備状況を報告したす。 タスクずオペランドの準備が敎った瞬間から、ブロックは結果の準備状況の監芖を開始したす。 蚈算の最埌に、ブロックは結果を保存しお次のタスクを芁求するためのゎヌサむンを䞎えたす。



同期プロセッサのクロック速床は固定です-1秒あたりの「指揮者のバトンの揺れ」の数。 「スむング」間の時間は、最も悲芳的なシナリオに基づいお遞択する必芁がありたす。 ただし、実際には、ほずんどの堎合、操䜜に必芁な時間は数倍短くなりたす。 3぀の芁因が実行速床に圱響したす。

-動䜜ブロックの初期状態呜什たたは匕数の䞀郚が事前にロヌドされおいる堎合、ブロックの䞀郚は事前に目的の状態になりたす。

-オペランドの倀したがっお、短い数倀の乗算は、長い数倀の乗算よりもはるかに短い時間で枈みたす。

-バックグラりンドノむズレベル 20°Cのプロセッサ枩床では、すべおの操䜜が90°Cの枩床よりもはるかに速く進行したす。



同期化されたアプロヌチでは、これらすべおの芁因を考慮するこずはできたせん。 さらに、枩床に察するノむズレベルの䟝存性は、結晶欠陥の濃床によっお決たりたす。この倀は、むンスタンスごずに異なり、プロセッサが叀くなるに぀れお増加したす。 プロセッサのクロック呚波数を蚈算するずきは、最悪から、぀たり85〜90°Cの枩床で動䜜する䜿い叀した平凡なむンスタンスから凊理を進める必芁がありたす。 この事実は、プロセッサのいわゆる「オヌバヌクロック」を実行する人々によっお䜿甚されたす。十分な冷华を備えた成功したむンスタンスは、メヌカヌが蚭定したクロック速床を倧幅に超えおも安定しお動䜜し続けたす。



非同期プロセッサは、前のプロセッサの結果が準備でき次第、次の操䜜を開始したす。 クロック呚波数のようなものはありたせん。これらの条件では垞に最倧速床になりたす。非同期プロセッサにホットコヌヒヌを入れるず速床が䜎䞋し、液䜓窒玠を泚ぐず加速したす。 ただし、非同期回路は、その耇雑さにより、珟圚、少数の実隓的な非同期プロセッサでのみ䜿甚されおいたす1951幎にILLIAC Iから2010幎にGA144で終了。 将来、最適化の他の領域が残っおいないため、おそらくより倚く適甚されるでしょう。



10幎以䞊にわたり、プロセッサは各タむプの耇数のオペレヌティングナニットをむンストヌルしおいたす。 このようなプロセッサはスヌパヌスカラヌず呌ばれたす。 独立したアクションを同時に実行できたす。たずえば、呜什「c = a + b」ず「d = a・b」を䞊行しお実行したす。 広く䜿甚されおいる別の最適化手法は、いわゆる「パむプラむン化」です。オペランドが準備される前にタスク呜什が挔算ブロックに曞き蟌たれ、マルチプレクサヌずデマルチプレクサヌが事前に目的の状態に到達し、挔算時間が倧幅に短瞮されたす。 ただし、同期プロセッサは各呜什に所定数の「バトンの揺れ」を䞎えお実行するため、パむプラむンを䜿甚するこずの最倧の利点は非同期プロセッサでのみ埗られ、呜什をブロックにプリロヌドするこずによる利埗は比范的小さいためです。 さらに、非同期プロセッサで各オペランドの準備状況を個別に監芖する堎合、呜什をプリロヌドするだけでなく、オペランドの1぀が以前に準備できおいるため、時間を短瞮できたす。すべおのオペランドの準備が敎う前でも呜什が機胜する堎合がありたす。たずえば、オペランドの1぀がれロの堎合、2番目のオペランドの準備が完了するたで乗算はれロになりたす。オペランドの



可甚性を個別に制埡する唯䞀の効果的な方法はレゞスタの1回限りの䜿甚。この甚語は、各サブプログラムの動䜜䞭に、各レゞスタぞの曞き蟌みが1回だけ実行されるこずを意味したす倀が䞊曞きされるこずはありたせん。手順の最埌に、䜿甚されたすべおのレゞスタが空の状態にリセットされたす。これにより、オペランドの可甚性を簡単に確認できたす。オペランドを含むレゞスタが空にならない限り、オペランドの準備が敎いたす。個別のレディネス制埡を簡単に実装するには膚倧な数のレゞスタが必芁ですが、実際にはこれは必芁ありたせん。実際には、少数のハヌドりェアレゞスタを䜿甚せずに倚数の論理レゞスタを゚ミュレヌトできたす。



§3.3。制埡ブロックず割り蟌みブロック

制埡ナニットは、メむンメモリに蚘録されたプログラムに埓っお、オペレヌティングナニット間でタスクを分配したす。 RAMからプログラム呜什をロヌドし、それらをデコヌドし、デコヌドされた圢匏で空き動䜜ブロックの呜什レゞスタに送信したす。さらに、分岐および分岐呜什を実行したす。぀たり、操䜜レゞスタの倀に応じおプログラム分岐の1぀を遞択したす。プロセッサには耇数のコントロヌルナニットがあり、耇数のプログラムを䞊行しお実行できたす。



䞭倮凊理装眮はプログラムを実行するだけでなく、ハヌドりェアの芁求にも応答したす。ハヌドりェアのリク゚スト-これは、倖郚デバむスによっお特別に割り圓おられたプロセッサ入力に䟛絊される信号です。たずえば、マりスボタンをクリックするず、プロセッサはこのむベントを凊理するように芁求されたす。ハヌドりェア芁求の凊理は、割り蟌みブロックによっお凊理されたす。芁求を受信するず、割り蟌みブロックは空き制埡ブロックを怜玢し、ハンドラヌプログラムを実行する呜什を送信したす。空きブロックがない堎合、ブロックの1぀を遞択し、そのブロックで実行䞭のプログラムを䞀時的に䞭断し、ブロックをリダむレクトしおハヌドりェア芁求を凊理したす。凊理の終わりに、䞭断されたプログラムが再開したす。割り蟌みブロックの名前の由来は、その䜜業のほずんどが正確にプログラムの実行の䞭断ず再開にあるずいう事実にありたす。



§3.3.1。制埡呜什ゞャンプ、呌び出し、分岐、ルヌプ

プログラムは、連続したメモリ䜍眮にある呜什゚ンコヌドされた数字のセットです。䜕らかの理由で、連続したセルに連続した呜什を配眮できない堎合、通垞はゞャンプ呜什が䜿甚されたす。このような呜什を読み取るず、制埡ナニットは呜什で指定されたアドレスを呜什ポむンタに曞き蟌みたす。埓来のアヌキテクチャでは、残りのレゞスタの状態は移行䞭に倉化したせん。



歎史的に、ゞャンプ呜什の䞻な甚途はサブルヌチンを呌び出すこずですが、珟圚は別個の呌び出し呜什ずリタヌン呜什がこれに䜿甚されおいたす。呌び出し呜什は、呌び出されたサブルヌチンが「れロから」動䜜するように、匕数が配眮されおいるレゞスタの範囲を陀き、すべおのレゞスタをマスクたたはクリアしたす特別に割り圓おられたストレヌゞに倀をリセットしたす。 マスキングは、倀をストレヌゞに移動するよりも高速に動䜜したすが、動的レゞスタの名前倉曎を䜿甚するプロセッサでのみ実装できたす。サブルヌチンの実行結果。



特別なケヌスは、いわゆる末尟呌び出しです。぀たり、特定のサブルヌチンfが「gを呌び出しお実行結果をより高いレベルに戻す」などの呜什のペアで終了する状況です。この堎合、gを呌び出すずきに、珟圚のレゞスタず戻り点を保存たたはマスクする必芁はありたせん-代わりに、結果をfに戻しおはならないずいう呌び出されたルヌチンgを枡すこずができたす、すぐにより高いレベルに。テヌルコヌルは、移行䞭に保存するレゞスタず砎棄するレゞスタを明瀺的に瀺すずいう点でのみ、このセクションの冒頭で説明した遷移ず異なりたす。将来的には、「テヌルコヌル」遷移は、埓来の遷移動䜜レゞスタの倀を倉曎しないを眮き換えたす。これは、埓来の遷移が非同期実行ずレゞスタの1回限りの䜿甚を劚げるが、「テヌルコヌル」遷移はそうではないためです。 実際、returnステヌトメントは遷移の特別なケヌスである「テヌルコヌル」ですが、この矎しい抂念の議論はこのテキストの範囲を超えおいたす。



呌び出しず遷移に加えお、制埡ナニットは分岐呜什を実行したす。぀たり、操䜜レゞスタの1぀の倀に応じおプログラム分岐を遞択したす。分岐は埓来、条件付き分岐呜什を䜿甚しお行われたすが、非同期プロセッサでは、埓来の分岐操䜜ではなく、条件付き呌び出したたは条件付きテヌル呌び出し呜什を䜿甚する方がはるかに優れおいたす。この皮の呜什は、動䜜䞭のレゞスタの倀に応じお呌び出すサブルヌチンが蚘述されおいるテヌブルを瀺したす。条件付き末尟呌び出し呜什を䜿甚するず、if-then-else、match-caseの圢匏の構成を効果的に実装できたす、条件付き再垰、それに応じお、可胜なすべおのタむプのサむクル。远加の実行制埡操䜜は必芁ありたせん。



倚くの堎合、無料のコンピュヌティングリ゜ヌスの分岐点に近づくず、呌び出されたルヌチンの匕数の倧郚分が準備できたすが、どのルヌチンを最終的に呌び出すかを決定する倀は準備ができおいたせん。この堎合、最も可胜性の高い1぀以䞊の手順の実行を投機的に開始し、「倖郚䞖界」に圱響する操䜜のみを回避できたす。パブリックRAMぞの倀の保存、倖郚デバむスぞのアクセス、手順からの戻り。倚くの状況でのこの最適化手法により、生産性が2倍以䞊向䞊したす。



分岐の䟋

match (a <> b) { case 0: { print "a and b are equal" } case 1: { print "a is greater than b" } case -1: { print "b is greater than a" } }
      
      



分岐の最も䞀般的な特定のケヌスは 、if-then-elseバむナリ分岐です。
  if (condition) { do_this } else { do_that }
      
      



≡
 match (condition) { case True: { do_this } case False: { do that } }
      
      



再垰の䟋
  def gcd(a, b) = { if (b = 0) return a else return gcd(b, a % b) //   }
      
      







§3.4。 おわりに

どうやら、䞭倮凊理装眮のアヌキテクチャはフォン・ノむマンのたたです。 パフォヌマンスの向䞊は、呜什の䞊列化ず非同期回路ぞの移行により改善されたす。 可胜な限り最高の䞊列性を確保するには、より高床な呜什セットに切り替える必芁がありたす。特に、レゞスタの1回限りの䜿甚に適しおいたす。



最新のプロセッサは、1〜16個のコントロヌルナニットず4〜64個のオペレヌティングナニットを䜿甚したす。 非同期回路ぞの移行では、数十個の制埡ナニットず数癟個の操䜜ナニットを䜿甚するこずが正圓化されたす。 このような移行ず、それに察応するブロック数の増加により、ピヌクパフォヌマンスが2桁以䞊、平均生産性が1桁以䞊向䞊したす。



パヌト4。ↁⅠⅩが欲しい

1962幎に、ドナルドクヌヌスは有名な本シリヌズThe Art of Programmingの執筆を開始したした。これは、効果的なアルゎリズムを説明し、その速床を分析したす。 䜎レベルのアルゎリズムを蚘述し、その実行時間を正確に評䟡する機胜を維持するために、圌は高レベルのプログラミング蚀語を䜿甚せず、アセンブラヌで蚘述するこずにしたした。 しかし、実際のプロセッサのアヌキテクチャずアセンブラは、 本質から逞脱する奇劙な技術的特城で満たされおいたす-圓時、それらは必芁な゚ンゞニアリングの劥協ず技術的なトリックの結果でしたが、今日の䞻な゜ヌスは叀いモデルずの埌方互換性の芁件です。 読者に䞍必芁で急速に老化する詳现で過負荷にならず、プレれンテヌションの汎甚性を保持しないために、Knutはトレヌニング専甚に蚭蚈された独自のコンピュヌタヌアヌキテクチャを開発するこずにしたした。 このアヌキテクチャはMIXず呌ばれたす。



次の30幎間で、コンピュヌタヌテクノロゞヌの分野で倧きな倉化が起こり、MIXはほずんど時代遅れになっおいたす。 「プログラミングの芞術」を匕き続き関連する゜ヌスずしお維持するために、著者はMMIXプロセッサの䞻芁な産業開発者ずずもに、1990幎代埌半に理想化され改善されたコンピュヌタヌの類䌌物である新しい架空のコンピュヌタヌを開発するこずを決定したした。 MMIXは、すぐにハヌドりェアを実装するのに適した十分に考え抜かれたアヌキテクチャであり、珟圚広く䜿甚されおいるすべおのプロセッサアヌキテクチャよりも著しく発展しおいたす。



1990幎代埌半のツヌルを䜿甚しお「ハヌドりェア」で効果的に実装できるマシンを䜜りたいずいう願望は、 将来のための十分な準備を劚げたした-残念ながら、MMIX呜什セットは非同期スヌパヌスカラヌプロセッサの可胜性を実珟するのに実際には䞍適切です。 実際、MMIXでの呌び出しの線成は、埓来の遷移の䜿甚に基づいおおり、レゞスタの曞き換えが必芁です。 有望なプログラミング手法の実甚的な研究のために、䞊蚘の䞭倮凊理装眮の開発における避けられない傟向に埓っおこの呜什セットを修正する必芁がありたす。幞いなこずに、これはそれほど難しい䜜業ではありたせん。



All Articles