无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于HDLBITS最后一題(Cs450/gshare)

2023-03-26 14:17 作者:綠酒初嘗人易醉  | 我要投稿

該題鏈接:https://hdlbits.01xz.net/wiki/Cs450/gshare

這題主要是看不懂題目,沒法理解題目意思,而且對cpu的gshare預(yù)測分支不了解,所以做不出來。

PHT示意圖

當(dāng)train_valid=1時,PHT的位置由train_pc與train_history異或得到,而PHT的值則是由狀態(tài)機或者說由train_taken來決定。狀態(tài)機是之前題目中的飽和計數(shù)器,當(dāng)狀態(tài)是11或10時,會決定predict_taken為1. predict_taken的值有PHT的狀態(tài)決定。

其中寄存器代碼編寫與上題差不多。

module top_module(

??? input clk,

??? input areset,

?

??? input? predict_valid,

??? input? [6:0] predict_pc,

??? output predict_taken,

??? output [6:0] predict_history,

?

??? input train_valid,

??? input train_taken,

??? input train_mispredicted,

??? input [6:0] train_history,

??? input [6:0] train_pc

);

??? reg pht1[127:0],pht0[127:0];//定義128個1位寄存器pht1

??? wire [6:0]ad,ad2;

???

??? assign predict_taken=pht1[ad2];

??? assign ad=train_history^train_pc;

??? assign ad2=predict_history^predict_pc;

??? always@(posedge clk or posedge areset)begin

??????? if(areset)

??????????? for(int i=0;i<128;i++)begin

??????????????? pht1[i]=0;pht0[i]=1;end

??????? else if(train_valid&train_taken)begin

??????????? if({pht1[ad],pht0[ad]}==2'b11)

??????????????? {pht1[ad],pht0[ad]}<=2'b11;

??????????? else

??????????????? {pht1[ad],pht0[ad]}<={pht1[ad],pht0[ad]}+1;

??????? end

??????? else if(train_valid&~train_taken)begin

??????????? if({pht1[ad],pht0[ad]}==2'b00)

??????????????? {pht1[ad],pht0[ad]}<=2'b00;

??????????? else

??????????????? {pht1[ad],pht0[ad]}<={pht1[ad],pht0[ad]}-1;

??????? end//之前的飽和計數(shù)器

??? end

???

??? always@(posedge clk or posedge areset)begin

??????? if(areset)

??????????? predict_history<=0;

??????? else if(train_mispredicted & train_valid)

??????????? predict_history <= {train_history[5:0],train_taken};

??????? else if(predict_valid )

??????????? predict_history <= {predict_history[5:0],predict_taken};?

??? end

?

endmodule


關(guān)于HDLBITS最后一題(Cs450/gshare)的評論 (共 條)

分享到微博請遵守國家法律
桐乡市| 凤阳县| 景宁| 汶川县| 宜良县| 延吉市| 兰考县| 沙洋县| 上林县| 镇平县| 安溪县| 怀宁县| 报价| 伊宁县| 柳州市| 威远县| 临澧县| 津市市| 北海市| 新泰市| 鄂温| 江永县| 宝应县| 乌鲁木齐县| 青州市| 云林县| 宜春市| 龙里县| 客服| 铁岭市| 昆山市| 阜新市| 尚义县| 东乡| 台北县| 保德县| 彭水| 剑川县| 兴义市| 永兴县| 集贤县|