質問

Torvalds氏の使用にプロセッサーという会社Transmeta.プロセッサーのようでしたRISCに基づくオブジェクトのコアです。んでいて、私が記憶しているだけのアイデアを核とした、任意のアップグレード"プロセッサのエミュレーション層ることができますx86、powerpcなど、翻訳に高いレベルopcodesのRISCコア指導セットです。

何があったことは何だとお考えたプ,デー場などのアプローチがまた(プログラミング)?

役に立ちましたか?

解決

会社などとの見方から、最終的に取得したNovaforaでの節電技術です。( http://www.novafora.com/pr01-28-09.html )

からすべてのアカウントを調べることを知っているし、技術だけで徐々に明らかになってきた既存のシステム。彼らに推移いたしました性能。また、すでに別の翻訳者にそのVLIWいは把握していない製品も製造が開始されてました。記憶してないのCrusoeチップを入れることができるような代替"翻訳"microcodeダウンロードできます。

私が個人所有のデバイスを用いたCrusoeプロセッサーがそれは確かに納入するのは電池寿命、性能のデバイスが暗い.にも責任があげ、特別バージョンのWindowsで使用すが、まだ遅くなります。

最れたので、携帯型遠隔デスクトップに作成されます。

まぁ、技術の特典としてソフトウェアVMのです。純のJVM:

  • の上振れることができるのではないでしょうか 加速のコードを速く ハードウェアソリューション(のようにIBMが このJava加速器のプロセッサ) 以上に純粋なソフトウェアJIT.
  • 温水、水共に弱ませんので、原 性能プロセッサの実行 ネイティブコードを取得します。

からの視点のようなものと考えることができ現代のx86チップとしてのコードモーフィングが非常に専門です。い訳にはx86アーキテクチャを効率よくRISC様subinstruction設定し、それを実行します。

別の例このような技術がFpgaできるプログラムをエミュレートする、回路レベルの各種プロセッサまたは生ます。していることがスーパーコンピュータシステムでは"加速器のノードの並べ替えができます。

他のヒント

は、一つには、ほとんどのCISCプロセッサは、内部でRISCオプスに似ているのマイクロopをのuopするために彼らのオペコードを翻訳します。いずれかの場合にはパイプライン化と複数のコアは、それはそれらの間の非常に小さな違いだポイントにRISCプロセッサ上のギャップを閉じました。あなたがCのソースまたは別のアセンブリのフロントエンドからのクロスの互換性が必要な場合は、LLVMを使用することができます。 http://llvm.org/する

明らかなメリット:

  • により、任意のOS(スイッチのプロセッサのエミュレーションには何が必要)
  • 可能性(カーネルの支援コース)のバイナリの異なる建築は同一プロセッサ/OSなソフトウェアです。

明らかなコン:

  • 余分なエミュレーション層==り架==高速プロセッサに対応しまれています。

私は、コスト削減は、数量が付属していますので、それは既存の大量のx86チップと価格で競争することができます前に、Transmetaのチップのようなものは、ボリュームの多くを販売するために持っていると言うでしょう。

私が思い出す場合は、

、Transmetaのチップのポイントは、低消費電力ということでした。前後にクロックサイクルごとに反転するあまり、シリコンゲートを持つことは、エネルギーを節約できます。コードモーフィングはそうあなたが低消費電力RISCチップ上の複雑な命令セット(CISC)を実行することができました。

Transmetaの初のプロセッサ、クルーソーは、原因さえベンチマークソフトウェアを実行している問題には非常にうまくやっていませんでした。彼らの第二のプロセッサ、Efficeonは、(同じ性能のカテゴリーで)インテルAtomよりも少ない電力を使用するように管理し、同じパワーエンベロープでのCentrinoよりも良好に機能でした。

さて、あなたのようなソフトウェアと柔軟性の観点からそれを見ている、コードモーフィングは、その技術のすべての利点と不利益とのジャストインタイムコンパイルのちょうど形態です。あなたのx86コードは、基本的に、仮想マシン上で実行されていると、別のプロセッサによってエミュレートされています。今、仮想化の最大の利点は、あなたが(ハードウェアコストとエネルギーコスト)より効率的である少数のアイドルCPUサイクルを、持っているので、多くの仮想マシン間で単一のプロセッサを共有する機能です。

それはすべてのリソースをより効率的であることについて、単に仮想化のあらゆる形態のように、私にはそのコードモーフィングをされるようですので。

ハードウェア支援のx86 ISAの仮想化への別のアプローチについて、あなたは<のLoongson 3について読むことをお勧めします/> CPUます。

最近のほとんどのプロセッサは、実際にマイクロを使用して、それらの命令セットを実装しています。 互換性の問題など、これには多くの理由がありますが、他にもあります 理由ます。

「ハードウェア」とどのような「ソフトウェア」は、実際に作るのは難しいですが何であるかの区別を。 このようJVMまたはCIL(.NET)のような最新の仮想マシンは、同様のハードウェアで実装されるかもしれないが、それはおそらくとにかくマイクロコードを使用して行われます。

システムにおける抽象のいくつかの層を持つ理由の一つは、あります 彼らはで働いているとき、プログラマ/エンジニアは無関係の詳細について考える必要はありません。 より高いレベルます。

オペレーティングシステムおよびシステム・ライブラリーはまた、追加の抽象化レイヤーを提供します。しかし、これらの層を有する唯一のシステムを作る「遅く」1は、それらが提供する機能を必要としない場合(すなわち、OSによって行わスレッドスケジューリング)。これは、Linuxカーネルの1を倒すために、独自のプログラム固有のスケジューラを取得するために容易ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top