![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ANo.3さんの回答への補足になると思うけど、要点は「遅延分岐」じゃないかな。
MIPSを含む一部のRISCアーキテクチャでは遅延分岐を採用しているので、分岐命令の次の命令は分岐に関わらず実行されます。コード生成ではこれを考慮して遅延スロットに適当な命令を入れることが必要です。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?5a7ff87)
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で回帰直線を求める...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
特定行の背景色を変えたいのですが
-
Excel VBA素人です。VBAで図形...
-
エクセルに見えない文字(JISX0...
-
ExcelVBAで「Shift_JIS(MS932)...
-
JANコードとPOSコードは同じ?
-
Excelシート上で右クリックがで...
-
excelのオートフィルターのリス...
-
Nullの使い方が不正です。
-
UWSCでMOUSEORG関数が上手く処...
-
エクセルVBAコードで教えて下さ...
-
PreviewKeyDownイベントが2回...
-
プレースホルダー
-
sinカーブの表示のさせ方
-
Exel VBA 別ブックから該当デ...
-
SQL
-
VBA 税率を判定表する方法を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
過剰なオブジェクト指向脳から...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
pythonにてseleniumを使うも、...
-
access2021 VBA メソッドまたは...
-
chatgptでつくってもらったコー...
-
パイソンプログラム
-
Gitのクローンについて
-
ExcelのVBAコードについて教え...
-
JANコードとPOSコードは同じ?
-
sinカーブの表示のさせ方
-
COBOLの文法
-
特定行の背景色を変えたいのですが
-
JavaScriptの定数名が取り消し...
-
アルファベットに付いて質問し...
-
◾️Excel VBA 統合について Cons...
-
変数名「cur」について
おすすめ情報