リュりガに爆匟を投䞋した「はやぶさ2」内のコンピュヌタヌはどうですか。 そしお、その開発者の写真

先日、 日本の自動ステヌションはやぶさ2が小惑星リュりグりに爆匟を萜ずしたした 。 宇宙船は、64ビットMIPS 5Kfプロセッサコアを備えた攟射線安定HR5000チップシステムJAXA2010 / 101によっお制埡されたす。 オンボヌドコンピュヌタヌは、1980幎代に日本に登堎したTRON RTOSファミリヌの1぀であるuITRONリアルタむムオペレヌティングシステムを実行し、別の投皿に倀したす。



このメモでは、HR5000 SoCずそのプロセッサコアに含たれるものに぀いお簡単に説明し、MIPS 4Kおよび5Kラむンの2人の䞻芁開発者の写真を瀺したす。 32ビットMIPS microAptiv UPカヌネル。Verilogハヌドりェア蚘述蚀語のコヌドはMIPS 4KEcに基づいおいたした。







日本の航空宇宙機関JAXAは、米囜䌁業のMIPS TechnologiesからMIPS 5Kfプロセッサコアのラむセンスを取埗したした。 これは2000幎代に起こりたした。 このコアを開発したグルヌプは、40幎間さたざたな構成で存圚しおいたした。



  1. たず、1978幎から1984幎にかけお、MIPSはゞョンヘネシヌが率いるスタンフォヌドのプロゞェクトでした。 このプロゞェクトの成功により、ヘネシヌはコンピュヌタヌアヌキテクチャに関する最も有名な教科曞の著者になり、ある時点でスタンフォヌドの瀟長になりたした。
  2. その埌、1984幎に、MIPSはMIPS Computer Systemsずいう商業䌚瀟になりたした。 同じ幎に、ARMも商品化されたした。 1991幎、MIPSは䞖界初の64ビットマむクロプロセッサであるMIPS R4000をリリヌスしたした。
  3. その埌、MIPSはシリコングラフィックスに吞収され、1990幎代にグラフィックステヌション内で䜿甚され、ハリりッドゞュラシックパヌクでリアルなグラフィックスを備えた最初の映画が䜜られたした。
  4. 2000幎代に、グルヌプはMIPS Technologiesに分離し、特に、JAXA甚のプロセッサを蚭蚈したした。 MIPSの本瀟はカリフォルニアにあり、MIPS 5Kf開発者の䞀郚はコペンハヌゲンの MIPS Europeにいたした。
  5. 2012幎、MIPS Technologiesは英囜のImagination Technologiesに買収され、初期のApple iPhone内でGPU開発者ずしお有名になりたした。
  6. 2017幎、AppleはImaginationを投入し、いく぀かの混乱の埌、テクノロゞヌずMIPSグルヌプの䞀郚が、ニュヌラルネットワヌクを加速するチップを開発する新興䌁業であるWave Computingに統合されたした。
  7. Wave Computingチップは、64ビットMIPS I6500プロセッサのクラスタヌ、Google TPUのシストリックアレむに基づくマトリックス乗算噚、および粗粒床の再構成可胜なアヌキテクチャを備えたデバむスに基づくデヌタプロセッサプロセッサ-CGRAの組み合わせです。  I6500クラスタヌのクラシカルプロセッサは、マトリックス乗算噚ずデヌタストリヌムプロセッサを読み蟌み、マトリックス乗算噚は蚈算密床を提䟛し、タスクデヌタストリヌムプロセッサは、クラシカルプロセッサずマトリックス乗算噚の間に配眮されたす-乗算噚よりも柔軟性があり、クラシカルCPUよりも生産的です。


そこで、私はMIPS 4Kおよび5Kラむンの2人の䞻芁開発者の1人であるLarry Hudepohl、Larry Huedepol右偎の赀いシャツで写真を撮りたした。 Larryは、Digital Equipment CorporationDECでMicroVAXのプロセッサ蚭蚈者ずしおキャリアを始めたした。 その埌、Larryは小さな䌚瀟Cyrixで働きたした。Cyrixは、1980幎代埌半にIntelに挑戊し、Intel 80387ず互換性があり、50高速なFPUコプロセッサを䜜成したした。 その埌、LarryはSilicon GraphicsでMIPSチップを蚭蚈したした。 MIPS TechnologiesがSilicon Graphicsから分離したずき、LarryずRyan Quinterは䞀緒になっお最初の独立したMIPS補品であるMIPS 4Kを発売したした。これは、2000幎代の家電補品DVDプレヌダヌ、カメラ、デゞタルテレビを支配するラむンのバックボヌンずなりたした。 その埌、MIPS 5Kが宇宙に飛びたした-日本の宇宙機関JAXAによっお䜿甚されたした。 その埌、ラリヌはハヌドりェア゚ンゞニアリング担圓副瀟長ずしお次のラむンの開発を指揮し、珟圚は新しいWaveアクセラレヌタヌアヌキテクチャの開発に取り組んでいたす。







さお、はやぶさ2のプロセッサに戻りたすはやぶさ1では違いたす。 これは、MIPS64 5Kfプロセッサコアのデヌタシヌトず 、HR5000チップ䞊のシステムデヌタのペヌゞです。 興味深い点に泚意しおください。



たず、MIPS 5Kfはパむプラむンプロセッサです。 これがどのように機胜するかに慣れおいない堎合、お互いを知るための最も簡単な方法は、David M. HarrisずSarah L. Harrisによる本「Digital Circuitry and Computer Architecture」の第7章を研究するこずです。 。 同時に、MIPS 5Kfのコンベダヌは、HarrisHarrisの埓来のMIPSコンベダヌずは異なりたす。 XXを読んだ人は、違いを芋お理由を掚枬できたす。







もちろん、MIPS 5Kfには5぀のパむプラむンステヌゞがありたせんが、6぀のパむプラむンステヌゞに远加のDispatchステヌゞがありたす。 この段階は、MIPS 5Kfを限りなくスヌパヌスカラヌにするために必芁です。 パむプラむンで操䜜を次々に実行できるだけでなく、敎数操䜜たたはメモリ操䜜ロヌドたたは保存ず同時に浮動小数点操䜜も実行できたす。 Stage Dispatchは、独自の7ステヌゞパむプラむンを持぀浮動小数点コプロセッサヌを起動したす。







そしお、写真の右偎には、MIPS 5KfのFPU開発者であるDarren Jones、Darren Jonesがいたす。 「5Kf」の文字「f」は、浮動小数点があるこずを正確に意味したす。







このプレヌトでは、FPUで異なる操䜜を必芁ずするサむクル数ず、パむプラむンで実行できる頻床繰り返し率を確認できたす。 たずえば、単粟床の乗算には4サむクルが必芁ですが、パむプラむンでサむクルごずに新しい乗算を開始できたす。 そのため、FPUは各凊理段階で4぀の単粟床乗算を同時に凊理できたす。 ただし、倍粟床の乗算には5サむクルが必芁であり、サむクルの䞀時停止でのみ開始できたす。 倍粟床の平方根を取埗する耇雑な操䜜には最倧32サむクルが必芁であり、29サむクル埌に初めお平方根の取埗を開始できたす。 これにより、宇宙空間での船の座暙ずその運動匏の蚈算が最適化されたす。







「はやぶさ-2」は、32キロバむトの呜什キャッシュずデヌタキャッシュを別々に備えたMIPS 5Kf構成を䜿甚したす。 同時に、 HR5000の簡単な説明から、8キロバむトの4チャネルキャッシュを䜿甚するのか、16キロバむトの2チャネルキャッシュを䜿甚するのかは明確ではありたせん。 これらのキャッシュがどのように機胜するかは、XXずキャッシュに関する私の以前のプレれンテヌション、およびDominic SweetmanによるMIPS Run Linux 2nd Editionを参照しおください。







「はやぶさ-2」には、倉換ルックアサむドバッファTLBを備えたメモリ管理ナニットMMUもありたす。 TLBは、アドレスを仮想から物理にすばやく倉換するための汎甚ツヌルです。 TLBでできるこず



  1. 非特暩コヌドからオペレヌティングシステムのメモリを隠したす。





  2. ナヌザヌプログラムを互いに保護したす。





  3. 物理RAMの量を超える仮想メモリの量ぞのプログラムアクセスを提䟛したす。





  4. 仮想アドレスよりも倧きな物理メモリを䜿甚できたす。





  5. プログラムを物理メモリの任意の郚分に配眮したす。





  6. 耇数のメモリ領域を連続したピヌスのように芋せるこずができたす。





  7. 必芁に応じお、倖郚デバむスからプログラムの䞀郚をロヌドできたす。





  8. TLBは、キャッシュ、コヒヌレンス属性ず同様に、読み取り、曞き蟌み、実行の犁止など、さたざたな属性をアドレスに関連付けたす。







    • キャッシュ属性は、次のキャッシュレベルのアドレス空間の堎所ず、キャッシュできないI / Oレゞスタの堎所をプロセッサに瀺すために必芁です。





    • Coherence属性は、耇数のプロセッサコアが連携しお動䜜するために必芁であり、それぞれが独自の第1レベルキャッシュを持ち、共通の第2レベルキャッシュを䜿甚したす。





  9. TLBは、特定のアドレスを持぀ペヌゞが蚘録されたこずを瀺すむンゞケヌタヌを保存できたす。 これは、アプリケヌションがコヌドずデヌタのすべおの郚分を仮想アドレスでアドレス指定する必芁があるよりも物理メモリが少ないシステムで、メモリペヌゞをスワップ、ロヌド、アンロヌドするずきに圹立ちたす。









これは、MIPS 5Kfで64ビット仮想アドレスを36ビット物理アドレスに倉換する方法です。 Hayabusa-2で36ビットの物理アドレスを持぀64ビットプロセッサを䜿甚するのはなぜですか 「はやぶさ2」は写真を撮り、画像を凊理しなければならず、これには倚くのメモリが必芁だず思いたす。 おそらく、䞀郚のアルゎリズムでは、64ビットの算術および64ビットのキャッシュ亀換たたは64ビットのキャッシュ䞍可のメモリ亀換が䜕かを改善し、スペヌスで圹立぀こずが刀明したした。 しかし、私は確かに知りたせん、私はおそらく私よりも宇宙に぀いおもっず知っおいるZelenyikotずamartologyに尋ねる必芁がありたす。







XXでTLBを読んでMIPS Runを芋るこずができたすが、埮劙な違いがありたす。どちらの本もTLBがプログラマヌの芳点からどのように芋えるかを説明しおいたす。 しかし、ハヌドりェア開発者の芳点から芋るず、プロセッサの蚭蚈者は、実際に「はやぶさ-2」のTLT内に3぀のテヌブルがあるずいう事実にもかかわらず、TLBを1぀の連想倉換テヌブルずしお芋せるこずでプログラマを欺いおいたす。 最初に、メモリ管理デバむスはITLBずDTLBを怜玢し、芋぀からない堎合にのみJTLBから取埗したす。 これにより、プロセッサにさらに2サむクルのコストがかかりたす。 TLBに関する私の以前のプレれンテヌションも参照しおください。







はやぶさ2のMIPS 5Kfの第1レベルキャッシュずメモリコントロヌラヌ間のむンタヌフェむスはEB発音IBず呌ばれたす。 これは倖郚バスの略です。 これはAHBおよびAXIに䌌おおり、連続ルヌプの転送を䜿甚しお、バヌスト、キャッシュからのダンプ、たたはラむン党䜓のキャッシュぞの充填を行うこずができたす。











プロセッサコアの倖郚に、HR5000には割り蟌みコントロヌラヌ、UARTモゞュヌル、ダむレクトメモリアクセスコントロヌラヌ、タむマヌ、およびPCIコントロヌラヌがありたす。







宇宙で䜜業するには、チップを攟射線から保護する必芁がありたす。 私は攟射線防護の専門家ではありたせん、これにはHabréにマヌトロゞヌがありたすが、そのような防護は物理的な生産技術のレベル、さたざたなECCチェックのレベル、さらには3等のアヌキテクチャのレベルの䞡方で行えるこずを知っおいたす。 HR5000クリスタルシステムの䜜成者は、商甚アプリケヌションで採甚されおいる通垞のRTL2GDSIIルヌト、Verilogハヌドりェア蚘述蚀語のコヌドからの論理芁玠からのグラフの合成を䜿甚するこずにしたした。 ただし、このようなグラフネットリストを受け取った埌、圌らはプリミティブハヌドりェアバむデザむンHBDの特別なラむブラリを䜿甚しおそれを倉曎したすこれを䜿甚したこずがないため、コメントの説明は歓迎したす。







MIPS 5KfはVerilogで蚘述されおいるため、ネットリストに倉換できるだけでなく、工堎でチップを補造するためのマスクだけでなく、FPGAコンフィギュレヌションにも倉換できたす。 残念ながら、MIPS 5Kfの゜ヌスはパブリックドメむンではありたせんが、パブリックドメむンには、32ビットMIPS 4Kプロセッサである「匟」の子孫の゜ヌスがありたす。 この「子孫」はMIPS microAptiv UPず呌ばれ、その基本構成はMIPSfpgaパッケヌゞに含たれおいたす。 MIPS 4K / 4KEc / microAptiv UP / M5150コヌドこれらはすべおラむンのプログレッシブバヌゞョンですも、Larry、Ryan、Darrenによっお曞かれたした。



パむプラむン、キャッシュ、メモリ管理デバむス、MIPS microAptiv UPカヌネル割り蟌みを䜿甚しお、FPGA / FPGAを搭茉したシミュレヌタヌたたはボヌドで実行できたす。 これを行うには、 MIPS Open™FPGA Labsず共にMIPS Open™FPGA Getting Started Packageをダりンロヌドし、これは重芁です MIPSfpga +で補完したす。 埌者には、パむプラむン、キャッシュ、およびメモリ管理デバむスに関するラボがありたす 。



MIPS microAptiv UPプロセッサヌは、安䟡なボヌドで85ドルアカデミック䟡栌55ドルで合成しお実行できたす。







MIPSfpga / MIPSfpga +パッケヌゞを䜿甚するには、Verilogハヌドりェア蚘述蚀語の知識、レゞスタ転送レベルでの蚭蚈原則、およびMIPSアセンブラヌでの曞き蟌み機胜が必芁です。



MIPSアセンブラヌは習埗が最も簡単です。 これを行うには、MARSシミュレヌタヌMIPSアセンブラヌおよびランタむムシミュレヌタヌをダりンロヌドできたす 。 あなたは5分でそれを䜿甚する方法を孊ぶこずができたす、実際には、3぀のボタンがありたす-アセンブル、実行、ステップバむステップ







その埌、 HarrisHarrisずSee MIPS Run Linuxの本のためにアセンブリ蚀語で曞く緎習に1日を費やすこずができたす 。



䞀般的なデゞタル回路の開発に぀いお、特に機噚を説明するための蚀語でたったく䜕も知らない堎合は、 「 トランゞスタからマむクロ回路たで」 、 「デゞタル回路の論理的偎面」 、 「物理的偎面」の 3぀のパヌトで、孊童向けのRosnanovオンラむンコヌスから始めるこずができたすデゞタル回路 " 。 その埌、XXでVerilogを調べお、簡略化されたschoolMIPSプロセッサにプロセッサがあるこずを理解できたす。



このトピックに興味があり、 MIPS Open MIPS microAptiv UPカヌネルが開かれたフレヌムワヌク内での䜜業に参加したい堎合は、コメントを曞いおください。 Rosnanovtsyは、 4月17日から19日にかけお、 デゞタルデザむンに関する小孊生向けのセミナヌも開催したす。このセミナヌには、特にこのスペヌスプロセッサが含たれたす。 「はやぶさ2」は無駄にならずにリュりガを爆撃したした-これは、ロシアの小孊生ず孊生が圌女の内郚を知る機䌚でもありたす。



All Articles