本發(fā)明涉及處理器,尤其涉及一種偽雙端口靜態(tài)隨機(jī)存取存儲器sram。
背景技術(shù):
1、靜態(tài)隨機(jī)存取存儲器(static?random-access?memory,sram)技術(shù)一直是片上存儲的理想選擇。這不僅是因?yàn)樗鼉?yōu)越的延遲和可伸縮性特性,而且因?yàn)檫壿嫿M件中使用的相同互補(bǔ)金屬氧化物半導(dǎo)體(complementary?metal?oxide?semiconductor,?cmos)晶體管也可以用于sram緩存。sram單元是一個簡單的雙穩(wěn)態(tài)鎖存器,它在與處理器中的其他組件相同的電壓下運(yùn)行。因此,它不需要通常用于其他內(nèi)存類型的單獨(dú)電壓平面或電荷泵。由于鎖存器中的交叉耦合逆變器可以自動糾正存儲值中的任何電荷泄漏,因此設(shè)備可以在不定期刷新的情況下保持其值,如動態(tài)ram(dram)?)儲器中所要求的。通過設(shè)計(jì),它輸出一個差分信號,更容易檢測和更可靠。這些特性使sram多年來成為片上存儲的最佳選擇。
2、隨著處理器的主頻越來越高,sram的讀寫時序逐漸成為劃分流水線的瓶頸,雙端口sram會比單端口sram的在讀寫時間上差10%~20%。因此實(shí)際實(shí)施中,會使用偽雙端口sram(simple?dual-port?sram)來模擬真雙端口sram(true?dual-port?sram),但使用完全相同的兩塊單端口sram來模擬單端口sram的方法,會導(dǎo)致sram的面積高等問題的出現(xiàn)。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的問題,本發(fā)明提供一種偽雙端口靜態(tài)隨機(jī)存取存儲器sram。
2、本發(fā)明第一方面提供一種偽雙端口靜態(tài)隨機(jī)存取存儲器sram,所述偽雙端口sram對外有兩個端口,分別用于讀取數(shù)據(jù)和寫入數(shù)據(jù);所述偽雙端口sram包括:
3、三塊單端口sram,且各所述單端口sram的對內(nèi)列地址set是對外set的一半;所述三塊單端口sram包括偶數(shù)sram、奇數(shù)sram和其他sram;
4、三個數(shù)據(jù)有效寄存器,分別與所述三塊單端口sram一一對應(yīng),各所述數(shù)據(jù)有效寄存器的位數(shù)與所述單端口sram的對內(nèi)set的數(shù)量相同,且所述數(shù)據(jù)有效寄存器相應(yīng)位的數(shù)值分別用于表示所述單端口sram中各對內(nèi)地址索引所對應(yīng)的存儲地址中數(shù)據(jù)的有效性;
5、三個空閑地址寄存器,分別與所述三塊單端口sram一一對應(yīng),各所述空閑地址寄存器分別用于表示對應(yīng)的單端口sram中是否有空閑表項(xiàng),以及對外的空閑映射地址值;
6、一個地址映射表,用來記錄對外地址索引和所述三塊單端口sram中對內(nèi)地址索引的對應(yīng)關(guān)系。
7、可選地,所述數(shù)據(jù)有效寄存器中相應(yīng)位的長度為1bit,且bit位為1?表示數(shù)據(jù)有效,bit位為0表示數(shù)據(jù)無效。
8、可選地,所述空閑地址寄存器包括1bit的hasfree位,為1表示有空閑表項(xiàng),為0表示無空閑表項(xiàng);1bit的other位,為1表示數(shù)據(jù)存儲在所述其他sram中,為0表示數(shù)據(jù)存儲在所述偶數(shù)sram或所述奇數(shù)sram中;n?bit的index位,表示每塊單端口sram的對外地址索引,n的寬度等于log2(set/2),set為對外set;1bit的even/odd位,為1表示數(shù)據(jù)存儲在所述偶數(shù)sram中,為0表示數(shù)據(jù)存儲在所述奇數(shù)sram中。
9、可選地,所述三個空閑地址寄存器包括:even空閑地址寄存器、odd空閑地址寄存器和other空閑地址寄存器;
10、所述even空閑地址寄存器和所述odd空閑地址寄存器中的other位恒定為0,所述other空閑地址寄存器的other位恒定為1;
11、所述even空閑地址寄存器的even/odd位恒定為0,所述odd空閑地址寄存器的even/odd位恒定為1,所述other空閑地址寄存器的even/odd位恒定為0。
12、可選地,所述地址映射表包括多行,且每行的數(shù)據(jù)用于表示所述對內(nèi)地址索引;每行的數(shù)據(jù)包括1bit的other位,為1表示數(shù)據(jù)存儲在所述其他sram中,為0表示數(shù)據(jù)存儲在所述偶數(shù)sram或所述奇數(shù)sram中;n?bit的index位,表示每塊單端口sram的對外地址索引,n的寬度等于log2(set/2),set為對外set;1bit的even/odd位,為1表示數(shù)據(jù)存儲在所述偶數(shù)sram中,為0表示數(shù)據(jù)存儲在所述奇數(shù)sram中;
13、所述地址映射表的行數(shù)為所述對外地址索引的數(shù)量相同,且所述地址映射表的每行的數(shù)據(jù)與所述對外地址索引一一對應(yīng)。
14、可選地,在對外的讀使能有效的情況下,基于所述地址映射表查找所述對外地址索引對應(yīng)的對內(nèi)地址索引;
15、在所述other位為1、且所述even/odd位為1的情況下,確定從所述偶數(shù)sram中所述index位對應(yīng)的存儲地址中讀取數(shù)據(jù);
16、在所述other位為1、且所述even/odd位為0的情況下,確定從所述奇數(shù)sram中所述index位對應(yīng)的存儲地址中讀取數(shù)據(jù);
17、在所述other位為0的情況下,確定從所述其他sram中所述index位對應(yīng)的存儲地址中讀取數(shù)據(jù)。
18、可選地,在對外的讀寫使能同時有效、但對內(nèi)的讀寫地址不在同一個單端口sram上或者只有寫使能有效的情況下,將對外寫請求的地址作為對內(nèi)寫請求的地址;
19、在對外的讀寫使能同時有效,并且對內(nèi)的讀寫地址在同一單端口sram上的情況下,確定進(jìn)行寫分流,從所述空閑地址寄存器中選擇一個作為對內(nèi)寫的地址。
20、可選地,在寫操作執(zhí)行結(jié)束的情況下:
21、使用對外寫請求地址作為索引,將實(shí)際的對內(nèi)寫地址更新到對應(yīng)索引位置;
22、使用對內(nèi)實(shí)際寫更新地址更新對應(yīng)的單端口sram;
23、使用對外更新地址索引對應(yīng)的數(shù)據(jù)有效寄存器,將對應(yīng)的索引位置更新為0;
24、使用對內(nèi)寫更新地址索引對應(yīng)的數(shù)據(jù)有效寄存器,將對應(yīng)的索引位置更新為1。
25、本發(fā)明第二方面提供一種芯片,包括第一方面所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram。
26、本發(fā)明第三方面提供一種電子設(shè)備,包括第二方面所述的芯片。
27、本發(fā)明提供的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,對外有兩個端口,分別用于讀取數(shù)據(jù)和寫入數(shù)據(jù),內(nèi)部由三塊單端口sram,一個地址映射表,三個全相聯(lián)映射的數(shù)據(jù)有效寄存器和三個空閑地址寄存器組成,本發(fā)明各實(shí)施例提供的結(jié)構(gòu)中sram占用的面積更小,可以兼顧時序和面積。
1.一種偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,所述偽雙端口靜態(tài)隨機(jī)存取存儲器sram對外有兩個端口,分別用于讀取數(shù)據(jù)和寫入數(shù)據(jù);所述偽雙端口靜態(tài)隨機(jī)存取存儲器sram包括:
2.根據(jù)權(quán)利要求1所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,所述數(shù)據(jù)有效寄存器中相應(yīng)位的長度為1bit,且bit位為1?表示數(shù)據(jù)有效,bit位為0表示數(shù)據(jù)無效。
3.根據(jù)權(quán)利要求2所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,所述空閑地址寄存器包括1bit的hasfree位,為1表示有空閑表項(xiàng),為0表示無空閑表項(xiàng);1bit的other位,為1表示數(shù)據(jù)存儲在所述其他sram中,為0表示數(shù)據(jù)存儲在所述偶數(shù)sram或所述奇數(shù)sram中;n?bit的index位,表示每塊單端口sram的對外地址索引,n的寬度等于log2(set/2),set為對外set;1bit的even/odd位,為1表示數(shù)據(jù)存儲在所述偶數(shù)sram中,為0表示數(shù)據(jù)存儲在所述奇數(shù)sram中。
4.根據(jù)權(quán)利要求3所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,所述三個空閑地址寄存器包括:even空閑地址寄存器、odd空閑地址寄存器和other空閑地址寄存器;
5.根據(jù)權(quán)利要求4所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,所述地址映射表包括多行,且每行的數(shù)據(jù)用于表示所述對內(nèi)地址索引;每行的數(shù)據(jù)包括1bit的other位,為1表示數(shù)據(jù)存儲在所述其他sram中,為0表示數(shù)據(jù)存儲在所述偶數(shù)sram或所述奇數(shù)sram中;n?bit的index位,表示每塊單端口sram的對外地址索引,n的寬度等于log2(set/2),set為對外set;1bit的even/odd位,為1表示數(shù)據(jù)存儲在所述偶數(shù)sram中,為0表示數(shù)據(jù)存儲在所述奇數(shù)sram中;
6.根據(jù)權(quán)利要求3至5任一所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,在對外的讀使能有效的情況下,基于所述地址映射表查找所述對外地址索引對應(yīng)的對內(nèi)地址索引;
7.根據(jù)權(quán)利要求1至5任一所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于:
8.根據(jù)權(quán)利要求7所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram,其特征在于,在寫操作執(zhí)行結(jié)束的情況下:
9.一種芯片,其特征在于,包括權(quán)利要求1至8任一所述的偽雙端口靜態(tài)隨機(jī)存取存儲器sram。
10.一種電子設(shè)備,其特征在于,包括權(quán)利要求9所述的芯片。