A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ANo.3さんの回答への補足になると思うけど、要点は「遅延分岐」じゃないかな。
MIPSを含む一部のRISCアーキテクチャでは遅延分岐を採用しているので、分岐命令の次の命令は分岐に関わらず実行されます。コード生成ではこれを考慮して遅延スロットに適当な命令を入れることが必要です。
No.3
- 回答日時:
これは、MIPS アーキテクチャを理解しているかどうかを問う問題なのでしょうね。
だから、具体的にコード展開するよりも、変換の際の要点を求められたということでしょうか。
MIPS アーキテクチャにかぎらず、RISCプロセッサは、単純な命令を(おおざっぱに言えば)同時多発的に実行することでスピードを上げるという技術ですから、それに適したコードを生成することは重要です。
その意味で、RISCプロセッサの性能はかなりの部分コンパイラの技術に依存しています。
かくいう私は、MIPS はみたこともないのですが、こんな感じかも。
普通のイメージのアセンブラだと、
for( i=0; i<x; i+=1 )
y+=1;
は、こんな感じに展開されると思います(実際のニーモニックではありません)
i = 0;
L1:
COMPARE i, x
JUMP if GE L2:
y++
i++
goto L1:
L:2
ここで、まず問題になりそうなのは、
COMPARE i, x
JUMP if GE L2:
の2行です。
この2行には依存関係があるので、パイプラインがうまく機能しません。
これを考慮して、
L1:
COMPARE i, x
y++
JUMP if GE L2:
i++
goto L1:
のようにすれば、前後の行で依存関係が無くなり、パイプラインがうまく流れるのかもしれません。
(ただし、普通は y++ が1回余計に実行されてしまうので、このままではだめです)
こんなことを考えることになるのかなとは思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- その他(プログラミング・Web制作) 改行コードについて 4 2022/08/13 14:20
- Visual Basic(VBA) 配列にしたセル範囲でのコメントがあるかどうかを取得するコードの書き方 2 2022/09/17 05:09
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Visual Basic(VBA) Excel vba で1と10を正確に判断させる方法を教えてください。 TからU列に1と入力があれば 3 2022/12/26 16:54
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Windows 10 認識しない 10 2023/01/05 10:28
- Java どんな時にIteratorを使うと便利なのですか 2 2022/12/07 05:30
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
フィルターかけた後、重複を除...
-
Exel VBA 別ブックから該当デ...
-
MessageBoxで表示される文字列...
-
1日に1人がこなせるプログラム...
-
◾️Excel VBA 統合について Cons...
-
access2003 クエリSQL文に...
-
CString のGetAt で正しく文字...
-
VSコードでバックスペースキー...
-
コマンドボタンを押したときに...
-
エクセルに見えない文字(JISX0...
-
PreviewKeyDownイベントが2回...
-
オートフィルタで抽出結果に 罫...
-
コンボボックス3つを連動させたい
-
JANコードとPOSコードは同じ?
-
VBA リストボックス(複数条件...
-
COBOLの文法
-
Nullの使い方が不正です。
-
コンパイルエラー 変数が定義...
-
Accessの文字列部分一致を合計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
エクセルVBAコードで教えて下さ...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
access2021 VBA メソッドまたは...
-
PreviewKeyDownイベントが2回...
-
JANコードとPOSコードは同じ?
-
過剰なオブジェクト指向脳から...
-
特定行の背景色を変えたいのですが
-
ACCESSユニオンクエリでORDER B...
-
変数名「cur」について
-
Nullの使い方が不正です。
-
◾️Excel VBA 統合について Cons...
-
欠番の抽出について
-
VBA リストボックス(複数条件...
-
ACCESSで、履歴事項を管理する...
おすすめ情報