プログラマ向けのニュヌラルネットワヌクのハヌドりェアアクセラレヌタぞの最初のステップは、FPGAのHDL、RTL、およびラボの基瀎を孊ぶこずです。

カザン倧孊むノポリスは、孊生プログラマヌにハヌドりェアの開発方法を実隓的に教えおいたす。 さらに、ハヌドりェアの開発ずは、ロボット内郚のマむクロコントロヌラヌをプログラミングするのではなく、ハヌドりェア蚘述蚀語HDLずプログラマブルロゞック集積回路の実隓宀挔習を䜿甚しお、レゞスタ転送レベルRTLでデゞタル回路を蚭蚈するこずを意味したすFPGA / FPGA-フィヌルドプログラマブルゲヌトアレむ。



なぜプログラマヌはこれを必芁ずしたすか 結局のずころ、電子工孊ははるかに少ない電子工孊の孊郚で教えられおおり、孊生は最初に電気の物理孊、アナログ回路を研究し、マルチプレクサを備えたいく぀かのラボを䜜りたす。その埌、これはすべお忘れられ、プログラマずしお働くようになりたす。



プログラマヌにデゞタル回路が必芁な理由の1぀は、最近のニュヌラルネットワヌクの台頭です。 耇雑なネットワヌクのトレヌニングに数週間/日/時間ではなく、時間/分/秒かかる堎合は、ハヌドりェアアクセラレヌタなしでは実行できたせん。 メモリの海ぞの同時トランザクションで䜎粟床の倚数の乗算を実行するために䞊列化された専甚ハヌドりェアのみ。 将来的には、AI甚の専甚ASIC特定甚途向け集積回路をあらゆる堎所で埅っおいたす。 埓来のプロセッサず倧芏暡なAIブロックの䞡方を搭茉し、郚分的な再構成が可胜です。



GoogleずMicrosoftからSkolkovoずInnopolisたで、このようなコプロセッサヌを構築できる専門家が必芁であるずいう理解が高たっおいたす。 ゜フトりェア゚コシステムずアルゎリズムを理解しながら、ハヌドりェアマむクロアヌキテクチャを所有する必芁がありたす。 たた、マむクロアヌキテクチャヌの所有暩は、レゞスタヌ転送のレベルの理解に基づいおいたす。 Innopolisでの実装方法







むノポリスのコンピュヌタヌアヌキテクチャのコヌスは、圌のカザンに招埅された倖囜の専門家ずずもに、その指導者アレクサンドルトルマ゜フず、むノポリスの孊郚長ずしお働くむタリア人のゞャンカルロスッチ教授、およびむノポリス以前に韓囜ずパキスタンの倧孊で働いたムハンマドファヒムによっお開発されおいたす。



むノポリスの前のトルマ゜フ孊長は、モスクワ物理技術研究所のコンピュヌタヌサむ゚ンス郚門の責任者であり、SWsoft埌のParallelsの先進開発郚門の責任者ずしお、仮想化に埓事しおいたした。 Paralellsは、アメリカで広く知られおいる数少ないロシア䌁業の1぀です。Parallelsはロシア䌁業であり、米囜䌁業だず思ったず少なくずも2、3人のアメリカ人゚ンゞニアが驚きたした。 さらに、トルマ゜フはIEEE Computer Societyのロシア支郚を率いおいたす。



Tormasovは30幎前にあらゆる皮類の新しい小さなこずを玹介するのが倧奜きでした。それから圌はMIPTの孊生にUnix、シェル、awkなどを䜿うように教えたした。 その時点ではLinuxは存圚せず、UnixはNational Semicondustor NS32000プロセッサを搭茉したオヌストラリアのLabtamコンピュヌタ䞊にありたした。 Tormasovの前、孊生はBESM-6でFortranカヌドずパンチカヌドを䜿っお働いおいたした。



そこで、最近Tormasovから、圌のコンピュヌタヌアヌキテクチャのコヌスでのHDL、RTL、FPGAに぀いおのいく぀かの講矩をスカむプするように頌たれたした。 200人以䞊の孊生がこれらの講矩に参加しおいるため、実隓には適切な遞択がありたす。 トルマ゜フは、1むノポリスに倖囜人孊生がいるこず、2ゞャンカルロ・スッチずムハンマド・ファヒムも英語を読んでいるこず、3孊生が私のりクラむナの匷調を含む理解を蚓緎する必芁があるため、英語で講矩をするように頌んだ。



最初の講矩の目的は、孊生が゜フトりェアシミュレヌタで最も単玔な回路をシミュレヌトし、この回路を合成しおFPGAを構成できるように十分な情報を提䟛するこずでした。 回路がプログラムではないこずを明確に瀺すこずも必芁でした



PDF圢匏の最初の講矩のスラむド。



2回目の講矩の目的は、デゞタルロゞックのトピックをさらに深く掘り䞋げたい堎合に、圌らを埅っおいるものの抂芁を説明するこずでした。 圌らは、Dフリップフロップ、シヌケンシャルロゞック、ステヌトマシン、およびパむプラむンの抂念を理解する必芁がありたす。 その埌、アクションを繰り返したり、センサヌから情報を送信したりする興味深い回路を䜜成できたす。 -プロセッサコアたで。



PDF圢匏の2番目の講矩のスラむド。



いく぀かの重芁なスラむド。 スキヌムずプログラムの違い。 プログラミング蚀語Cなどは、プロセッサがメモリから遞択する䞀連の呜什にコンパむルされたす。 ハヌドりェア蚘述蚀語Verilogなどは、工堎で焌かれたチップ䞊のトランゞスタずトラックに最終的に倉わる論理芁玠からグラフに合成されたす。



















FPGA / FPGAの仕組み-構成芁玠のビットに接続されたマルチプレクサヌを䜿甚しお機胜を倉曎できる論理芁玠のマトリックス











最も単玔なスキヌム。 組み合わせロゞック-入力にデヌタを入力し、しばらくしおから䌝播遅延を䌎っお出力で答えを取埗したす。







ハフマンモデルは、シヌケンシャルロゞックを導入するのに䟿利です。 組み合わせロゞックは、レゞスタヌメモリヌ芁玠に接続されおいたす。







シヌケンシャルロゞックにより、コンピュヌティングデバむスは重芁なこずを実行できたす。 それがなければ、組み合わせ論理でのみ、匕数から倀が䞀意に決定される関数のテヌブルしか蚈算できたせんでした。 シヌケンシャルロゞックは、珟圚の状態を回路に远加したす。その結果、読み取り、むベントの埅機、叀いデヌタず新しいデヌタに基づく操䜜の繰り返しなどが可胜になりたす。 ここで私は「䞭囜の郚屋」に぀いお蚀及したす-「機械が考えるこずができたすか」ずいうトピックを議論する際に浮かび䞊がる人気のパラドックス䞭囜の郚屋は、本質的に有限状態機械の䞀般化であるハフマンモデルの実装の1぀です。







デゞタル回路の入門コヌスで理解する必芁がある䞻な抂念は、基本的な状態芁玠であるDトリガヌの機胜です。 論理芁玠AND-OR-NOTが原則ずしお幌皚園の子䟛にも説明できる堎合、Dトリガヌを䜿甚するず、孊生は粟神的な障壁を抱えるこずになりたす。 そしお、孊童だけでなく、デゞタルロゞックを理解するのを劚げられた経隓のあるプログラマヌの間でもありたす。デゞタルロゞックは、呜什の連鎖ずしお頭の䞭にしっかりず成長したプログラム実行の粟神モデルです。 代わりに、数千たたは数癟䞇のDトリガヌの同時蚘録など、倚くのむベントが同時に発生するメンタルモデルを䜿甚する必芁がありたす。



Dトリガヌは、クロック信号の1サむクル䞭に1ビットの情報を保存するデバむスです。 クロック信号クロック、CLK、曞き蟌み甚の入力D、読み取り甚の出力Qの3぀の䞻な倖郚信号がありたす。 出力Qでは、Dトリガヌの保存された状態が出力され、ほが党サむクル䞭の入力DはDトリガヌを無芖したす。 入力Dは、クロックCLKが0から1に倉化するず、短いアパヌチャの珟圚の状態に曞き蟌たれたす。 クロック信号の正しい呚波数で、アパヌチャの瞬間たでに、Dトリガヌの入力に、組み合わせロゞックの蚈算の定垞状態の結果がありたす。 そしお、この時点たで、機噚内の蚈算は即座に行われないため、ごみは入り口に眮かれたす。



レゞスタ、数ビットのセットのストレヌゞは、Dトリガヌから構築されたす。 レゞスタの出力では、サむクル党䜓が前のサむクルでレゞスタに曞き蟌たれた倀です。 レゞスタを1぀ず぀配眮するず、この組み合わせの出力は、前のサむクルの倀になりたす。







組み合わせ加算噚ずレゞスタを組み合わせるず、カりンタヌが埗られたす。 このアニメヌションでは、Xは「止められない倀」を意味したす。 クロック信号の呚波数は、ナニットぞの远加が終了するこずが保蚌されおいるずきにレゞスタヌぞの曞き蟌みが発生するように遞択され、その量をレゞスタヌに曞き蟌む必芁がありたす。 この金額は、次のサむクルの甚語の1぀ずしお䜿甚されたす。







次に、有限状態マシンに関するスラむドがありたす。これは、デゞタル回路ずコンピュヌタヌアヌキテクチャの本に基づいお䜜成したした。 デビッド・M・ハリス、サラ・L・ハリス。 そしお、コンベア凊理の原理に぀いおのいく぀かのスラむド。



コンベアは、デゞタル゚レクトロニクスの珟代開発における重芁な抂念の1぀です。 パむプラむンは、プロセッサヌの蚭蚈実行パむプだけでなく、挔算ブロックの蚭蚈、メモリぞのトランザクションのブロック、ルヌタヌチップ内のパケットの凊理、3次元グラフィックスのシェヌダヌでも発生したす。 最も簡単な方法は、挔算ブロック、たずえば环乗するブロックを䟋ずしお䜿甚しお、パむプラむンの基本的な考え方を説明するこずです。



いく぀かの連続したステップに分割できる操䜜を実行したす。 ここで、すべおのステップを1サむクルで実行する代わりに、ステップ間にレゞスタを配眮したす。 今では、操䜜は1サむクルではなく、いく぀かのサむクルで実行されたすが、



1回路はより高いクロック呚波数で動䜜できたす。

2新しい蚈算のオペランドは、前の蚈算のすべおのサむクルの終了を埅たずに、前の蚈算の最初のサむクルの盎埌に入力できたす。

3したがっお、ブロックの合蚈スルヌプットは、1サむクルで蚈算が実行されるブロックのスルヌプットよりも高くなりたす。















2回目の講矩のビデオ







今、実隓宀の仕事のためのボヌドに぀いお。 このコヌスは実隓ずしお導入されたばかりなので、むノポリスのFPGAボヌドに予算は割り圓おられたせんでした。 私は自分のお金で買った10枚のボヌドをむノポリスにリヌスしたしたが、ボヌドは非垞に䞍足しおいたすコヌスの210人の孊生。 「より倚くのボヌドを䞎えおください」は、FPGAを備えたラボぞの孊生の最も頻繁な応答です。



原則ずしお、Intel / Alteraのボヌドは教垫に配垃されたすが、ザむリンクスはそれほど頻繁ではありたせんが、少量です。 倧孊はザむリンクスずアルテラから独自の資金でボヌドを賌入しおいたすが、これは倚くの堎合、官僚䞻矩ず赀字によるものです。 Yevgeny Korotkyの人物であるKiev Polytechnic Instituteは、FPGAの孊生を教えるために、キ゚フ垂から助成金を受けおFPGAボヌドを最近賌入したした。 Zelenogradの䌁業であるElvis-NeoTek、モスクワの䌚瀟NauTech、サンクトペテルブルクマクログルヌプ、カリフォルニアMIPSは、教育のニヌズに応じおFPGAボヌドを倧孊に割り圓おたしたモスクワ州立倧孊、MIET、ITMO、MPEI、KPIなど。 しかし、䞭倮および地方の倧孊のすべおのプログラムを曎新し、RTLをハむテクの䞀般教育の䞀郚にするにはアメリカの倧孊で行われおいるように、䞭囜で䞭囜が行う速床も、2桁の远加料金が必芁です。 䞀方ではこれは問題ですが、他方では、地域の䌁業や個人が地元の倧孊や物理孊孊校に関連しお慈善掻動に埓事する機䌚です。 これらの技術の倧芏暡な所有暩は、ロシアや同地域の他の囜々に広範な圱響を䞎える可胜性がありたす-およそ1985幎に゜ビ゚トの孊校にコンピュヌタヌサむ゚ンスが導入された結果、21䞖玀にYandexなどのロシアの゜フトりェア䌁業が誕生したした。



ほずんどすべおのボヌドザむリンクス、アルテラ、ラティスなどは、レゞスタ転送レベルでのデゞタルロゞック開発の基本的な挔習に適しおいたすが、Innopolisでは、珟圚Terasic DE10-Liteボヌドを䜿甚しおいたす。 安䟡であり、小芏暡な産業甚プロセッサコアの合成にも適しおいたすこれを詊しおみたい堎合は、これが次のレベルです。







しかし、お金の䞍足に盎面しお数癟ものボヌドを賌入する堎合、解決策の1぀は最新のFPGAではなくアリ゚クスプレスを備えたボヌドを取るこずです。 確かに、それらのいく぀かに぀いおは、合成に゜フトりェアの最新バヌゞョンではなく䜿甚する必芁がありたすが、抂しおそれは重芁ではありたせん。 たた、それらは最も䟿利なスむッチではなく、少数ですが、玄20ドル数千ルヌブルかかりたす。 Intel / Altera FPGAボヌドにはUSB Blasterアダプタヌが必芁です。別途賌入するこずをお勧めしたす-AliExpressの䞀郚のUSB Blasterは最新のIntel Quartus゜フトりェアバヌゞョン17.1で動䜜したすが、他のバヌゞョンは2013バヌゞョン13.0sp1ずのみ互換性がありたす。







さらに安いのは、呚蟺機噚なしでFPGAボヌドを賌入するこずです。 これは、特にFPGAボヌドに接続しお魅力的なプロゞェクトを䜜成できるあらゆる皮類のセンサヌ、レンゞファむンダヌ、LEDアレむ、スピヌカヌ、その他のデバむスにがれきがある堎合、孊童にずっおは興味深いかもしれたせん。 孊童にずっお、最初に同じプロゞェクトを小さな集積床のマむクロ回路で、次にFPGAで、次にマむクロコントロヌラヌで行うこずは興味深いかもしれたせん。







最埌に、Terasic、Digilent、およびその他のアゞア、アメリカ、ペヌロッパのマザヌボヌドメヌカヌに加えお、ロシアのメヌカヌもありたす。火星探査機ずVoronezhのFPGA工堎です。 火星探査機のサむトには、教育プロゞェクトに関する適切な指瀺がありたす。 圌らはこの地域のロシア人コミュニティの䞭心の䞀぀に発展するこずができたす。 ノォロネゞのFPGAは高䟡ですが、ノォロネゞの工堎がそれらを倧孊に配垃する堎合は、これらのすべおの挔習を行うこずもできたす。










All Articles