クォークを分割します。 新しいIntelプロセッサのマイクロアーキテクチャ





クォークは基本的なもの、つまり1964年に理論に導入された構造のない素粒子であり、今まで複合材料として説明されていませんでした。 Intel Quarkは、2013年の秋からIntelによってリリースされたInternet of Thingsのプロセッサですが、これまでのところ内部構造の公開説明がなく、Intelの外部では「ブラックボックス」と認識されていました。 「ヨットとは何ですか?航海しますか?」 しかし、私はそれを信じていません。 むしろ、ヨットを呼ぶとき、それはあなたに電話をかけます(それが搭載されたコンピュータを持っているならば)。 一般に、この投稿では状況を修正し、Quarkの仕組みを説明します。





近代史-クォーク。


そのため、2013年9月、Intelはモノのインターネット、およびさまざまなウェアラブル機器や家庭用デバイス向けに設計された新しいIntel Quarkプロセッサを発表しました。 Quarkは実際にはマイクロプロセッサ(ギリシャ語の「マイクロ」=小)であり、サイズはAtom(つまりIntel Atom)の約1/5であり、消費電力は10分の1です。 当時、これらはQuarkに関する唯一の既知の技術的詳細でした-通常、このレベルの発表の場合のように、それらの多くはありません。 しかし、このプロセッサへの関心はかなり大きいです。 ここでは、たとえば、 発表とhabrahabr.ruに対する読者の対応を伴う独立した投稿



販売の発表から1か月後、Quarkファミリーの最初の代表であるQuark SoC X1000は、Intelプラットフォームでの最初のArduino互換マイクロコンピューターGalileoの基盤となりました。 次に、Quarkに関する詳細情報があります。 Quark X1000 SoCは、周波数が最大400 MHzのシングルコア32ビットプロセッサで、32 nmテクノロジーを使用して作られており、Pentium命令セット(Pentium命令セットアーキテクチャ)と互換性のあるアーキテクチャを備えています。 Intel ARK上 Quark X1000 SoC の完全な仕様は、この説明にいくつかの技術的な詳細を追加します:16 Kbキャッシュ、ハイパースレッディングの欠如、メモリ1.6 GB / sでのデータ交換の最大速度、....



そして最後に、2014年1月に、Intelはコード名Edisonというコンピューターを導入しました。これは、WiFiとBluetoothを内蔵したLinux OSを実行するSDカードサイズのデバイスです。 EdisonはQuarkファミリのプロセッサにも基づいていますが、Quark SoC X1000には基づいていませんが、2014年の夏に22 nmテクノロジーを使用したリリースが開始される別のデュアルコアに基づいていると推測しやすいです。 「しかし、正確にはどういう意味ですか? -クラスは違います。




古代史-ペンティアム


Pentiumは1993年に登場し、IA32の第5世代であるためそのように命名されました。 これは最初のスーパースカラーでした。つまり、命令レベルでの内部並列化、マイクロアーキテクチャーを実装しました。

下の図からわかるように、Pentiumには整数データを処理するための2つのパイプライン(パイプライン)が含まれています-「U」と「V」、したがって、2つのALU(整数の算術論理実行ユニット)、個別のデータキャッシュ(データキャッシュ)および命令(コードキャッシュ)および分岐予測ユニット(分岐ターゲットバッファー):



このバージョンにはベクター命令はまだありません。PentimMMXで後で表示されます。



しかし、486と比較して、いくつかの新しい命令がPentiumに追加されました。最も有名なものは、このCPUの機能に関する情報を提供するCPUID (CPU IDentification)と、プロセッサがオンになった瞬間からのティック数を返すRDTSC (ReaD Time Stamp Counter)ですパフォーマンスの測定に使用されます。 指示は非常に有用であり、常に存在しているように思われることに同意します。 ちなみに、Pentiumデビュー後のCPUIDは、Pentiumの直後にリリースされた特別なモデルi486(SL-Enhanced 486)に追加されました。 本当の、面白いひねり?



クォーク 中身は?


さて、現在に戻る-Intel Quarkへ。 彼のPentiumとのつながりは、前世紀の終わりにPentiumの広告で働いていた同僚と同様に、ガリレオに含まれる(おそらくすべての店舗ではない)Intelの宇宙飛行士によって強調されています。 さらに、同僚にとっては、これは明らかに同じキャラクターではありません。違いは、彼の宇宙服の現代のインテルのロゴだけでなく、人物全体にも現れています。



また、クォーク。 これは決して、最新の技術を使用して製造されオーバークロックされ、削減されたPentiumではありません。

これは何? この質問に対する完全な回答を得るには、2つの公開されているドキュメントを調査する必要があります。これらのドキュメントは、キーワード「 インテルクォークリファレンスマニュアル 」の簡単な検索です。

Intel Quark SoC X1000コア開発者向けマニュアル 、311関連情報ページ

Intel Quark SoC X1000コアハードウェアリファレンスマニュアル 、143ページの役立つ情報。



しかし、これらすべての富のうち、主なものに興味を持っています-クォークコアデバイス。 これは、2番目のマニュアルの図です。







ご覧のとおり、これは上記のPentiumの図とは著しく異なります。これは、画像が色ではないというだけではありません。

主な違い:



キャッシュを支援するために、バスインターフェイスユニットには、最大4つの32ビットレコードを格納できる一時バッファーがあり、プロセッサバスでの記録の終了を待たずに多くの内部操作を続行できます...



同時に、Quarkにパイプラインデータ処理が存在することに注意してください。 パイプラインは、サンプリング、レジスタ内のデータのデコード、実行、記録の2つの段階で構成される5つの段階で構成されます。 各ステージは1プロセッサーサイクルかかります。 しかし、私はもう一度繰り返します-これはスーパースカラーではありませんが、同僚vtsymbalによる Quarkについての優れた投稿へのコメントでは、このトピックに関する白熱した議論を見つけることができます。



次に、別の古い回路であるIntel 80486プロセッサデバイスを見てみましょう。



本当ですか、Quarkに似ていますか? 彼らが言うように、10の違いを見つけます。 または少なくとも2つ。



実際、それらの最小値は桁違いに大きいため、このスキームでは求められません。 Quarkはi486ではありません ! 上記のように、QuarkはPentium ISAと互換性があります。つまり、すべての新しいPentium命令をサポートします。さらに、5年未満前にプロセッサに登場し、システムセキュリティの確保に関連する多くの新しい命令をサポートします。最新のOSのサポート。 これは、スーパーバイザーモード実行保護(SMEP)、および32ビットプロセッサが4 GBを超える物理メモリを使用できるようにするPAE(物理アドレス拡張)であり、QuarkでもサポートされているNX(非実行)機能の条件です。

さらに、QuarkはJTAGデバッグをサポートし、合成可能なCPUです。つまり、サードパーティのメーカーがブロックをQuarkコアに追加できます。



それでは、なぜQuarkはより洗練された高度なPentiumマイクロアーキテクチャに基づいていないのですか? 最も合理的な仮定は、消費電力を削減し、目的のアプリケーションのCPUを単純化するのに十分なアーキテクチャを削減することです。



しかし、経験が示すように、十分な理論速度であっても、実際には最適化が必要になることがよくあります。 ところで、あなたも個人的にそれを必要とするかもしれません-インテルは、近い将来に100万ドル以上の賞金プールで、Quarkベースのシステムのアプリケーション開発者のコ​​ンテストを開始する予定です! また、Quarkの内部デバイスを理解すると、アプリケーションのパフォーマンスを向上させることができます。Quarkでコンパイルする場合は、-march = pentium -mtune = i486のようなオプションセット、つまりPentium命令セットを使用する必要があります。

確かに、新しいものは忘れられた古いものです。 または、この場合のように、忘れられていませんが、単に古き良きです。



All Articles