Japanese

From jmips

Japanese BDBengali BGBulgarian CN ENEnglish ESSpanish ETEstonian FR DE IN IT JP PLPolish RO RURussian



Contents

ジャワのミップスプロセッサ

これは操作が簡単でjavaプログラミングのMIPSエミュレータ。あなたはもう下載いい圧縮ソースコー ド(最新のコピーがjMIPS project pagesにある)ダウンロード 必要の部分がdoc / htmlサブディレクトリの下。

Detail architecture of the basic unpipelined MIPS processor

理解以上コードて補助私たちに勉強MIPS構造そして私たちはさらに詳しいコンピュータシステムと構造の 基本的な内容。

以下は5バージョンのjavaエミュレータコード供学友達が観賞すると、それぞれマークを15まで。が後 ろにいた模型が細かく複雑であるので:

  1. 基本未ライン化(これらページ)のプロセッサ
  2. 未最適化のプロセッサがライン化
  3. 最適化でライン化のプロセッサ
  4. キャッシュの最適化ライン化のプロセッサ
  5. キャッシュと中断の最適化処理ライン化のプロセッサ

以下のページが率いる詳しく理解あなた構築と根本的なエミュレータ、また考えてもっと復雑なエミュレータ です。これらのエミュレータどう構造と使用には区別-と違うのは各種類の情況の下での内部構造は、その結果 は一種類の模型は別の1種の模型は同じ環境で速い。

あなたが順次操作たいこれらのシミュレータを持って、心を高めたいとこの模型運行速度の目標。

運行指令とすべて【コマンドはエミュレーターのデフォルトの出力。もしあなたにいくつかのデータは、例え ば各類の指令で特定の環境の下で花のどれくらいの時間を実行して、あなたは自分のこの部分のコードを書く。 これはオープンソースの!君にはできる。これらのコードをここに書いてそれに解釈してはっきり。


どう運行の最も基本的なMIPSエミュレー タどのようにコンパイル

付属してアーカイブを圧縮されているzipまたはtarファイル内の(ジャー)は、ジャワアーカイブファ イルがあるはず。(ページのダウンロードリンクから、それらのいずれかを取得project page)。 存在しない場合は、ここに行くnext section. あなたに、アーカイブからjarファイルを抽出する(たとえば、アーカイブの名前は、ダウンロードの選択に応じて)

% unzip jMIPS-1.7.zip jMIPS-1.7/lib/CPU.jar

あるいは

% tar xzvf jMIPS-1.7.tgz jMIPS-1.7/lib/CPU.jar

同時に解凍いくつかmisc目録下の内容は次の通り。

% unzip jMIPS-1.7.zip jMIPS-1.7/misc/hello_mips32

あるいは

% tar xzvf jMIPS-1.7.tgz jMIPS-1.7/lib/hello_mips32

そしてCpu1類はどんなシステムの下でJavaされVirtual Machine(JVM)を実行することです。Linux環境下でこのようにして

% java -cp jMIPS-1.7/lib/CPU.jar CPU.Cpu1 -q jMIPS-1.7/misc/hello_mips32

たとえば:

% java -cp jMIPS-1.7/lib/CPU.jar CPU.Cpu1 -q jMIPS-1.7/misc/hello_mips32
  Hello world
%

基本MIPSエミュレータ

あなたは、Java実行可能ファイルのソースコードをコンパイルしたい場合、あなたは利用可能なツールに 応じて、次の方法ですることができます。異なるオペレーティング·システムと異なるコンパイ ラツールを持つ人々のため、コンテンツは以下のオペレーティングシステムに固有となります。

でLinuxやUnixでコンパイル

LinuxやUnix下でコンパイルもしあなたは1つでMac、しかもHFSやHFS +ファイルシステムは、システムに入って属性はファイルシステムcase sensitivity開く。 あなたがこのようにしてからでなければ、ファイル名が生じるトラブルあなたは見たくはないの。解凍ファイルproject page download link)

% unzip jMIPS-1.7.zip

または

% tar xzvf jMIPS-1.7.tgz

それぞれ。 そして新しい未梱包のファイルツリー構造でsrc /カタログを見つけて、そしてそれを当面経路の設定。 (CD jMIPS-1.7/src文)私が使用して、Java仮想マシン(JVM)の一般的なJavaバイトコードを生成することにしました。

% javac CPU/Cpu1.java

SRC /ディレクトリ、任意のプラットフォーム上で稼働するJVMによって、結果 の"Cpu1.classファイルは、Linuxの下で行うことができます

% java CPU/Cpu1 -q ../misc/hello_mips32

たとえば:

% java CPU/Cpu1 -q ../misc/hello_mips32
  Hello world
%

jarファイルは、最初の質問にすべてのJavaクラス·ファイルを構築することで構築し ます。

% javac CPU/*.java
%

その後、jarファイルを作る

% jar cf ../lib/CPU.jar CPU/*.class
%

現実には、jarファイルは単なる圧縮せずに、一つ余分なマニフェストファイルも含まれて 行わパッケージのZIPアーカイブです。だから、それだけのzipアーカイバを使用して行うことができます し、必ずしもjarツールを必要としない。Java tutorials siteで行うための詳細

Windows下でコンパイル

JAVA NetBeans IDEにソースファイルをインポートして、新しいNBプロジェクト( `jMIPS'という名前で)を開始、チェックIDEのダイアログボックスは、オプション `メインクラス"などを、すべてが選択されていません。

IDEは、必要なディレクトリとファイルを作成するときは、 のsrc / CPU /ディレクト リをコピーしと* Javaのファイル。ソースコードのドキュメントからのJavaファ イルjMPISは "src/ CPU /サブディレクトリを作成するには、NetBeansの新しいディレクトリを確立するために。

可能であれば、zipファイルのコピー·コマンドから直接オペレーティングシステムを使用 すると、送信時にディスク上のファイルとの接触を避けるために回避しようとします。それ以外の場合は、 Windowsはファイル名の一部を隠すことができます。 NetBeansはあなたがzipファイルからインポートまたはzipからコンパイルするかを選択できるメニューを持っていれば、それは完璧になります。

IDEは、ソースコード内で検出され、それがCPU "小包"と彼のjavaファイルをまとめるために "ソース包まれた"ツリー観察(jMIPS/ srcディレクトリに)展開されます。

必要に応じて、できるようにCPU1.javaという名前のJavaクラスファイルからのモデルシステム の重量、各取引のために。 WinCpu1.java、WinCpu2.java、というように、次に例を示します。あなたは、各ファイルで宣言されたクラスに一致する名前を変更す る。

運行エミュレーターの注意事項

次のようにコマンドラインオプションの意味は:

  • 選択の余地なし:オプションを指定せずにモデルを実行(特に"-Q"の場合には、このような "静かな"など)それは側でタイミング情報を使用して実行されている各マシンコード命令の一覧が表示されます。
% java CPU.Cpu1  hello_mips32
0:      0.000000007s:   0x80030080:     addiu $29, $29, -32
1:      0.000000012s:   0x80030084:     sw $31, 28($29)
2:      0.000000019s:   0x80030088:     sw $30, 24($29)
3:      0.000000024s:   0x8003008c:     addu $30, $29, $0
4:      0.000000030s:   0x80030090:     sw $28, 16($29)
...
218:    0.000001567s:   0x8003000c:     lui $3, -20480
219:    0.000001573s:   0x80030010:     ori $3, $3, 16
220:    0.000001580s:   0x80030014:     sb $3, 0($3)
%

上記のコードは0.000001580のシミュレーションを秒単位で220のコマンドを実行します(ク ロック速度はヘルツ当たりのシミュレーション秒です)。5回に切り替える必要があり、各命令のクロックの実 行されています。

  • -q: -Qを使用して("静かな")それらが実行されている場合、マシンコー ド命令の逆アセンブルを禁止します。言い換えれば、"-Q"あなただけのプログラムが生成する必要があ ります実行されていたかを見ることができますと他のノイズ。
% java CPU.Cpu1 -q hello_mips32
Hello world
%
  • -D: "-d"が("デバッグ")は、指定されている場合は追加情報が出力されます。 デバッグノイズが増加するために使用される番号を選択するには"-d"を繰り返します。
% java CPU.Cpu1 -d hello_mips32
text start at virtual addr 0x80030000 file offset 0x10000
text end   at virtual addr 0x800300e0 file offset 0x100e0
text entry at virtual addr 0x80030080 file offset 0x10080
read 224B at offset 65536 from file 'hello_mips32'
stack start at virtual addr 0xb0000000
stack end   at virtual addr 0xb0100000
0:      0.000000007s:   0x80030080:     addiu $29, $29, -32
1:      0.000000012s:   0x80030084:     sw $31, 28($29)
2:      0.000000019s:   0x80030088:     sw $30, 24($29)
...
%
  • -o:例えば、あなたは、-o MEMORY_LATENCY= 1000は、内部変数を設定して使用することができます。 "Cmdline.java"のコードをルックアップしてあなた自身の選択は非常に短いリストを設定するために使用することができる追加!