開発に圹立぀、カリフォルニアのコンピュヌタヌ歎史博物通のツアヌ。 パヌト1. ENIAC、ストレッチ、CDC6600、IBM / 360

䞻よ 今日は、カリフォルニア州マりンテンビュヌにあるコンピュヌタヌ歎史博物通で、シベリアの少女むリヌナず䞀緒に歩きたす。 そしお、私たちは芳光客ずしおではなく、ロシアに利益をもたらすために歩きたす。 以前の投皿で、孊生がプロセッサ蚭蚈を研究するための効果的な方法の1぀は、叀くおも有益なプロセッサを䜿甚し、そのアヌキテクチャに関するドキュメントおよびそのマむクロアヌキテクチャに関する情報を芋぀け、このプロセッサの類䌌物を蚭蚈するこずであるずすでに曞いおいたすSystemVerilogハヌドりェア蚘述の蚀語たたは、必芁に応じおVHDLを䜿甚しお、FPGA / FPGAボヌドどちらでも構いたせん-アルテラ/ Intel FPGA、ザむリンクス、たたはラティスにプロセッサを実装したす。 このような挔習のチュヌトリアルずしお、 HarrisHarris から始めおから、Shen Lipastiなどのより高床な研究段階の本を続けるこずができたす。



これらすべおがロシアにどのように圹立぀のでしょうか このようなプロゞェクトに぀いおは、9月18〜22日にTomskで開催される䌚議で FPGAボヌドを配垃したす。 モスクワ州立倧孊、MIPT、MIET、ICST、むマゞネヌションテクノロゞヌズ、ナショナルむンスツルメンツなどの代衚が参加したす。 圌らは倧孊のカリキュラムをどのように曎新し、今日の孊生が数幎埌に西掋の䞻芁䌁業のレベルでロシアのチップを蚭蚈するように議論するでしょう。 たた、 スタニスラフ・れルニヌノ・ スパルフの最もシンプルなschoolMIPSから始めお、教育プロセッサを䜜成する方法を議論するセミナヌスクヌルもありたす。



これが、マりンテンビュヌの博物通からの最初の写真です。むリヌナずロケットに加えお、小さな箱が䞭倮に芋えたす。 これは、゜ビ゚トELAS協䌚の゚ンゞニアによっお蚭蚈されたMIR宇宙ステヌションのオンボヌドコンピュヌタヌで 、珟代のELVIS䌚瀟Zelenogradに倉換されたした。







したがっお、教育プロゞェクトのトピック-20䞖玀半ばの密な数十幎から開始



私たちの前には、ペンシルベニア倧孊のプレスパヌ・゚ッカヌトずゞョン・モヌクリヌによっお1943幎から1947幎に開発された、枩かいENIACチュヌブコンピュヌタヌの算術関数の蚈算結果のテヌブルを保存するためのブロックがありたす。 ある時点で、同僚のゞョン・フォン・ノむマンは、このブロックを䜿甚しおプログラムを保存するこずを提案したした。 こうしお、「フォン・ニヌメンの建築」が生たれたした。 䞀般に、それを「゚ッカヌト・モヌクリヌ・フォン・ノむマンの建築」ず呌ぶのは正しいでしょうが、゚ッカヌトずモヌクリヌは䞍運でした-圌らの名前は秘密にされ、フォン・ノむマンの名前はそうではありたせんでしたコンピュヌタヌは砲兵テヌブルを蚈算するためのものでした



このコンピュヌタヌをFPGAに実装する堎合、ENIAC_Operating_Manualをグヌグルで怜玢したしたが、それをベリルのコヌドに倉えるのは簡単ではありたせん







トランゞスタスヌパヌコンピュヌタヌIBM 7030 Stretch。 名前ストレッチ-「ストレッチ」は、以前のIBM 704の100倍の速さでコンピュヌタヌを䜜成するずいう䜜成者の玄束に由来したす。 しかし、この「倱敗」の過皋で、Aybemの゚ンゞニアはパむプラむン、マルチタスク、メモリ保護を思い぀きたした。







CDC 66001963。 史䞊初の「本物の」スヌパヌコンピュヌタヌず、䞊倖れた呜什実行を備えた最初のプロセッサヌ。 マむクロアヌキテクチャの講矩でスコアボヌドの䟋ずしおただ広く䜿甚されおいたすたずえば、 バヌクレヌの最初のグヌグル非垞に新鮮ではありたせんが CDC 6600スラむドを参照。 簡略化されたCDC 6600のベリルおよびFPGAぞの実装は、孊生のコヌスワヌクプロゞェクトの最も明癜な候補の1぀です。











これは、マむクロプロセッサアヌキテクチャからのCDC 6600の䞀般的な組織に関する抜粋です。シンプルパむプラむンからチップマルチプロセッサたで、Jean-Loup Baer2009。 䞊列で動䜜するいく぀かの機胜デバむスパむプラむンなしず、呜什間のデヌタ䟝存関係を远跡し、オペランドの準備ができるたで呜什の実行を䞀時停止するスコアボヌド







IBM 3601964-1978。 このコンピュヌタヌのラむンは、゜連のスヌパヌコンピュヌティング圓局によるITMiVTBESMおよびElbrusの抵抗にもかかわらず、゜連のCPSUの䞭倮委員䌚に深い印象を䞎え、EUコンピュヌタヌの名前ですべおの瀟䌚的囜にIBM 360/370の゜ビ゚ト実装を怍え付けたした。 これらのコンピュヌタヌは、「母の仕事にいる」ブレゞネフ時代の゜ビ゚トの子䟛たちの絵にも描かれおいたす。







原理的には、IBM / 360ラむンが「統䞀アヌキテクチャコマンドシステム-さたざたなマむクロアヌキテクチャの実装コンベダヌデバむスずハヌドりェアブロックの構造」ずいう革新的なコンセプトを導入した理由がありたした。 蚀い換えれば、同じ゜フトりェアがこのラむンの䜎速、安䟡、高速の䞡方のコンピュヌタヌで再コンパむルせずに動䜜する可胜性がありたす。 確かに、これらのマシンの゜フトりェアは、近々登堎するミニコンピュヌタヌの゜フトりェアず比范しおあたり友奜的ではありたせんでしたが、IBMハヌドりェア゚ンゞニアはこれを責めるべきではなく、IBMプログラマヌずその管理者の責任でした。







ただし、IBM / 360プロゞェクトはプログラミングの䞖界にも利益をもたらしおいたす。 むリヌナのハンドバッグの巊偎に、フレデリックブルックスの「神話の男月」ずいう本がありたすか この本の著者はOS / 360プロゞェクトマネヌゞャヌであり、プロゞェクトに新しいプログラマヌを远加するこずで期限が切れおいるのを修正しようずするず、状況が悪化するこずがよくありたす。期限はさらに苛立ちたす。 この本は1975幎に出版され、すぐに゜ビ゚ト連邊に転送され、いく぀かの堎所ではただ関連しおいたす。











IBM / 360ラむンは、1980幎代の「RISC革呜」の間に無関係になった「マむクロプログラミング」ず「マむクロコヌド」の抂念もメむンストリヌムに導入したした珟代のマむクロプロセッサヌは、すべおを䌝える必芁があるため、ほずんどが配線されおいたす。 しかし、これらの抂念はコンピュヌタヌアヌキテクチャに関する゜ビ゚トおよび゜ビ゚ト埌の教科曞に深く根付いおおり、人々は「Verilogはマむクロプログラミングですか」ずいう質問をしたす。その埌、マむクロプログラミングではないこずを説明するには時間がかかりたす。



では、なぜFPGAにIBM / 360を実装するのでしょうか すべおを実装するこずは無意味ですが、1぀のモデルの1぀の偎面、぀たりIBM System / 360 Model 91は、CDC 6600のスコアボヌド以䞊のマむクロアヌキテクチャの珟代の孊生コヌスワヌクプロゞェクトに珟れたす。私は、いわゆる「Tomasuloアルゎリズム」、異垞な実行を敎理する方法に぀いお話したすハヌドりェア「レゞスタ名の倉曎」ず「予玄ブロック」を䜿甚した算術挔算はい、これらはiPhoneのプロセッサにもありたす。これらは巚倧な遺物ではありたせん。 ロシア語版りィキペディアにトマスロのアルゎリズムに関する蚘事がないこずはかなり奇劙ですが、りクラむナ語にはありたす。



Tomasuloアルゎリズムは、ハヌドりェア保護、動的なチヌム蚈画、効果的なパブリックファンクションブロックを介した海倖蚪問の送信のための、コンピュヌタヌアヌキテクチャのりィザヌドのようなものです。 1967幎のRobert Tomasuloによる断片化のアルゎリズムIBMで勝぀こずができる堎合、およびIBM System / 360 Model 91でのコマ操䜜によるブロック操䜜のさらなる実装。



Tomasuloのアルゎリズムによっお導入された䞻な革新は、蚈算に埓っお、デバむスのレゞスタを倉曎し、すべおの機胜ブロックのブロックを予玄し、デヌタバスSDLをメモリブロックに同時に転送できるこずです。





プロセッサ開発に関する最も有甚な珟代の本の1぀である、John Paul ShenずMikko H. LipastiによるModern Processor DesignFundamentals of Superscalar Processors2013は、以前のIBM / 360-91浮動小数点ブロックの様子を瀺しおいたすトマスロず圌の埌。 パフォヌマンス異なる操䜜シヌケンスのクロックサむクル数ず最倧クロック呚波数FPGAに実装した堎合を比范するこずにより、孊生プロゞェクトでも同じ「前埌」を実行できたす。







その埌、Shen-Lipastiの本は、ダむナミックパむプラむンを備えた最新のプロセッサでこれがどのように行われるかを説明しおいたす。







そしお、ここに1958幎に䜜られた日本の初期のトランゞスタヌのメむンフレヌムであるNEAC 2203がありたす。 日本以倖では販売されおいたせん。 䞀般的に、その埌、䞖界の日本補品に察する軜薄な態床があったが、日本䌁業は西掋の偶像厇拝を抑制し、日本の資本䞻矩に埓事した。 最初に、圌らは囜内垂堎䞀皮の「茞入代替品」で技術的゜リュヌションをテストし、その埌、䞖界垂堎を積極的に攻撃したした。 数十幎埌、日本はアメリカの䌁業をメモリチップず家電の垂堎から远い出し、同じNECが1992幎に最も匷力なスヌパヌコンピュヌタヌであるNEC SX-3 / 44を構築したした。 同時に、米囜ぞの政治的䟝存を枛らす必芁性に぀いおの声が日本に珟れ始め、運茞倧臣は「NO」ず蚀える«「日本は「NO」ず蚀うこずができる」ずいう本を曞きたした。 残念ながら、この膝からの䞊昇はその埌の経枈危機を打ち倒したしたが、1950〜1980幎代の日本の経隓は研究にずっお興味深いものです。







これで、博物通を歩く最初の郚分は終わりです。 始めが気に入ったら、クレむずむリアックのスヌパヌコンピュヌタヌ、HPミニコンピュヌタヌ、DECずData General、最初のマむクロプロセッサヌずマむクロコンピュヌタヌ、RISCワヌクステヌションずLispマシン、ゲヌムコン゜ヌル、ロボットに぀いお詳しく説明したす。



これがすべおの目的を思い出したす







公教育を匷化するためにこのタむプのオヌプン゜ヌスプロゞェクトに興味がある堎合は、SystemVerilogたたはVHDLでそれらを蚘述し、GitHubでコヌドをアップロヌドし、Habréでそれらに関する蚘事をパフォヌマンス分析を䜿甚しお曞く準備ができおいたすが、FPGAボヌドはありたせん次の3぀の堎所のいずれかで圌女およびプロゞェクトが成功した堎合は氞続的に取埗



1.モスクワのHSE MIEMのAlexander Romanov。 アレクサンダヌは孊生向けにVerilogコヌスを導入し、通垞のボヌドに加えお、倧孊には、AlteraずXilinx FPGAのボヌドの幅広いコレクションがありたす。どちらもTerasicずDigilentの䞀般的に䜿甚されるボヌドず、文曞化が䞍十分な䞭囜語のボヌドです特にオヌプン゜ヌスプロゞェクト甚。



2.キ゚フ・モヒラ・アカデミヌのダロスラフ・りォズニりク。 私は小孊生向けのハッカ゜ンに来お、「Habréの蚘事を䌎うプロゞェクト料金」のために、Xilinx Artix-7を搭茉したDigilent Cmod A7 35Tボヌドをいく぀か残したした。



3.ノボシビルスク工科倧孊のりラゞミヌル・マクカ。 Tomskでの 1週間の䌚議甚のボヌドセットがありたす。 それらのいく぀かDigilent Nexys DDR4はりラゞミヌルに残り、いく぀かTerasic DE0-CVはそのようなプロゞェクトに行きたす。



むンスピレヌションずしお、 SparF 、 Frantony 、 oleh_plotnikov 、 Kingit 、 VMSS 、 kirill90 、 Boris_92のHabr䞊のFPGAベヌスのプロセッサを䜿甚した既存のプロゞェクトを芋るこずができたすコメントに远加できたす。



最新のプロセッサ蚭蚈の基瀎に関する補足





叀代のプロセッサは、ラゞオチュヌブ、トランゞスタ、わずかな集積床の超小型回路、および画面䞊でのマりスによる回路の描画で構成されおいたした。 今、これはすべおそうではありたせん。 Verilog、ASIC、およびFPGAが䜕であるかをよく知らない読者ぞの蚀葉



Geektimes »Microelectronics squiresの投皿から。 San Francisco Electronics Design Conferenceのビデオ 



これたで、マむクロ電子プロゞェクトの集倧成である工堎でのマむクロ回路の補造に぀いお説明しおきたした。 しかし、そのようなプロゞェクトはどのように始たりたすか



過去25幎間、マむクロ回路の蚭蚈は、ほずんどの堎合、機噚蚘述Verilog[以前]ペヌロッパおよび軍隊-VHDLの蚀語で蚘述され、その埌、特別なプログラム論理合成が蚭蚈をワむダず論理プリミティブのグラフ、別のプログラム静的タむミング解析は、蚭蚈者に速床バゞェットに適合するかどうかを䌝え、3番目のプログラム配眮配線はこの蚭蚈をチップのサむトに配眮したす。



デザむンがすべおの段階を通過するずきベリロコヌディング、デバッグ、怜蚌、合成、静的タむミング解析、フロアプラン、配眮配線、寄生抜出など -工堎に送信されるGDSIIずいうファむルが刀明し、工堎がチップを焌きたす。 このタむプの最も有名な工堎は、台湟半導䜓補造䌚瀟たたはTSMCが所有しおいたす。




Habrahabrの投皿からFPGAを䜿甚しお鉄の開発を開始する方法-ステップバむステップの手順 



最も単玔なバヌゞョンでは、FPGAは同皮のセルのマトリックスで構成され、各セルはコンフィギュレヌションメモリのビットに接続されたマルチプレクサヌを䜿甚しお機胜に倉曎できたす。 1぀のセルは、4぀の入力ず1぀の出力を持぀ANDゲヌトになり、別のセルはシングルビットレゞスタなどになりたす。 ビットシヌケンスをメモリからコンフィギュレヌションメモリにロヌドしたす。特定の電子回路は、プロセッサ、ディスプレむコントロヌラなどのFPGAで圢成されたす。



FPGA / FPGAはプロセッサヌではありたせん.FPGAの「プログラミング」FPGAの構成メモリヌを満たすによっお電子回路ハヌドりェアを䜜成したすが、プロセッサヌ固定ハヌドりェアのプログラミング時には、それに曞かれた䞀連のプログラム呜什のチェヌンをスリップしたす゜フトりェア。





All Articles