森/日誌/2009-02-18
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[森/日誌]]
-ToDo
--引き続きパイプラインレジスタの挿入、不要なパイプラインレジスタの検討。
--デバック
-わかったこと
--relay 文について 訂正しました。これもエラーが表示されるので、どこか間違っています。
stage_name EX { task do_st(mdr); task do(reg1,reg2,rf_ir); }
stage RF {
alt {
/* ST */
(OP == 0b00000) & (FUNC == 0b01001) : relay EX.do_st(REG.read(RD, RS).dout2);
else : relay EX.do(REG.read(RD, RS).dout1, REG.dout2, if_ir);
}
}
-わからないこと
--taskの宣言の仕方。以下もおそらく間違いがあります。
stage_name IF { task do_bnez(); task do_beqz(); task do_bmi();
task do_bpl(); task do_jr(); task do();}
/* BNEZ */
OP == 0b01001 : par {
alt {
/|reg1 : relay IF.do_bnez(ALU.ADD(pc, 16#IMM).dout);
else : relay IF.do();
}
}
- taskには引数としてレジスタをとりますが、このレジスタの値はtaskを宣言したステージで使用するレジスタであるべきです。IFで使うレジスタがPC(きっと)なので、これを引数にとると良いかも。最初は0x0000でIFステージを起動して、その後はPC+0x0001 or 分岐アドレスでIFステージを起動していく感じになります。taskの呼び出し時の引数には次のIFステージで処理するために必要なPCの値を用意してやればいいわけです。 -- [[大和田]] &new{2009-02-18 (水) 22:50:43};
- ちなみに、分岐判定後のタイミング(これだとEX)でIFステージにrelayすると、分岐ハザード(制御ハザードだったような気もするが)が起きるので、この辺は考慮すべき。 -- [[大和田]] &new{2009-02-18 (水) 22:58:48};
#comment
終了行:
[[森/日誌]]
-ToDo
--引き続きパイプラインレジスタの挿入、不要なパイプラインレジスタの検討。
--デバック
-わかったこと
--relay 文について 訂正しました。これもエラーが表示されるので、どこか間違っています。
stage_name EX { task do_st(mdr); task do(reg1,reg2,rf_ir); }
stage RF {
alt {
/* ST */
(OP == 0b00000) & (FUNC == 0b01001) : relay EX.do_st(REG.read(RD, RS).dout2);
else : relay EX.do(REG.read(RD, RS).dout1, REG.dout2, if_ir);
}
}
-わからないこと
--taskの宣言の仕方。以下もおそらく間違いがあります。
stage_name IF { task do_bnez(); task do_beqz(); task do_bmi();
task do_bpl(); task do_jr(); task do();}
/* BNEZ */
OP == 0b01001 : par {
alt {
/|reg1 : relay IF.do_bnez(ALU.ADD(pc, 16#IMM).dout);
else : relay IF.do();
}
}
- taskには引数としてレジスタをとりますが、このレジスタの値はtaskを宣言したステージで使用するレジスタであるべきです。IFで使うレジスタがPC(きっと)なので、これを引数にとると良いかも。最初は0x0000でIFステージを起動して、その後はPC+0x0001 or 分岐アドレスでIFステージを起動していく感じになります。taskの呼び出し時の引数には次のIFステージで処理するために必要なPCの値を用意してやればいいわけです。 -- [[大和田]] &new{2009-02-18 (水) 22:50:43};
- ちなみに、分岐判定後のタイミング(これだとEX)でIFステージにrelayすると、分岐ハザード(制御ハザードだったような気もするが)が起きるので、この辺は考慮すべき。 -- [[大和田]] &new{2009-02-18 (水) 22:58:48};
#comment
ページ名: