最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
会东县| 嘉黎县| 紫云| 阜南县| 汪清县| 台湾省| 黑河市| 隆尧县| 金川县| 洛阳市| 霍州市| 阳城县| 杭锦后旗| 宁河县| 洛宁县| 靖江市| 平湖市| 武强县| 称多县| 屏山县| 绥宁县| 德昌县| 保亭| 九寨沟县| 宜兰市| 安宁市| 新邵县| 涡阳县| 精河县| 荣昌县| 祁东县| 汝城县| 西青区| 临武县| 三台县| 敦化市| 晴隆县| 江都市| 凯里市| 仁怀市| 泊头市|