亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        內(nèi)存推移理論及其實(shí)驗(yàn)

        2018-05-16 03:16:12李凱凱歐陽(yáng)山周時(shí)強(qiáng)
        關(guān)鍵詞:存器窗框存儲(chǔ)器

        李凱凱,金 翊,歐陽(yáng)山,周時(shí)強(qiáng)

        三值光學(xué)計(jì)算機(jī)[1-10]具有數(shù)據(jù)位眾多、按位可重構(gòu)、按位可分配等應(yīng)用特色[11-15],適合處理大批量數(shù)據(jù)[16-18].正是由于這些特性,使得三值光學(xué)計(jì)算機(jī)對(duì)存儲(chǔ)器有特殊要求:一是能夠在處理器與非易失性存儲(chǔ)器之間高速交換大量數(shù)據(jù);二是需要大容量的隨機(jī)訪問存儲(chǔ)器,目前的容量要求為數(shù)百GB或TB量級(jí),且在這方面的要求會(huì)越來越高.由于在傳統(tǒng)的電子計(jì)算機(jī)存儲(chǔ)體系中,非易失性存儲(chǔ)器(TB級(jí)容量的外存)與CPU之間的數(shù)據(jù)交換需要由隨機(jī)訪問存儲(chǔ)器(GB級(jí)容量的內(nèi)存)來中轉(zhuǎn),故難以滿足三值光學(xué)計(jì)算機(jī)對(duì)存儲(chǔ)器的特殊要求.因此,需要為三值光學(xué)計(jì)算機(jī)研發(fā)具有大容量、高訪問速度、非易失且可以被隨機(jī)讀寫的新型存儲(chǔ)器系統(tǒng).

        為滿足三值光學(xué)計(jì)算機(jī)對(duì)存儲(chǔ)器的新需求,2013年上海大學(xué)三值光學(xué)計(jì)算機(jī)研究團(tuán)隊(duì)提出了雙空間存儲(chǔ)器結(jié)構(gòu)和理論[19-20].這種新的存儲(chǔ)體系將非易失性塊地址空間和隨機(jī)訪問字地址空間落實(shí)到由非易失性隨機(jī)訪問存儲(chǔ)器(non-volatile random access memory,NVRAM)構(gòu)成的同一個(gè)存儲(chǔ)器實(shí)體上,其中最關(guān)鍵的是將傳統(tǒng)內(nèi)存空間映射到巨大的雙空間存儲(chǔ)器不同段落上的新理論——內(nèi)存推移理論.雙空間存儲(chǔ)器及其內(nèi)存推移理論已經(jīng)在理論和模擬實(shí)驗(yàn)中獲得成功,因此用實(shí)物來實(shí)現(xiàn)雙空間存儲(chǔ)器和內(nèi)存推移理論成為最終證實(shí)這一新型存儲(chǔ)體系和相關(guān)理論的關(guān)鍵,也是在實(shí)踐中完善雙空間存儲(chǔ)器理論的關(guān)鍵一環(huán).本工作詳細(xì)介紹了所構(gòu)建的第一個(gè)內(nèi)存推移寄存器組及所完成的內(nèi)存推移操作.由于雙空間存儲(chǔ)器和內(nèi)存推移理論可以與各種處理器配合,將其應(yīng)用于電子計(jì)算機(jī)后,會(huì)徹底消除大量數(shù)據(jù)和程序在內(nèi)存與外存之間的復(fù)制過程,有效提高電子計(jì)算機(jī)的效率,并且能夠自然地實(shí)現(xiàn)對(duì)隨機(jī)寫入數(shù)據(jù)的非易失性保存,非常有利于實(shí)施目前廣受關(guān)注的內(nèi)存計(jì)算技術(shù).因此,在本工作給出的實(shí)驗(yàn)研究中以常用的嵌入式系統(tǒng)[21]S3C2440為處理器,通過將一個(gè)bank的2 MB內(nèi)存空間在1 GB隨機(jī)訪問字空間上任意推移,證實(shí)了雙空間存儲(chǔ)器理論和內(nèi)存推移理論在理論上的正確性和實(shí)踐上的可行性.

        1 基礎(chǔ)理論

        1.1 雙空間存儲(chǔ)器

        文獻(xiàn)[19-20]給出了雙空間存儲(chǔ)器的詳細(xì)理論、結(jié)構(gòu)和技術(shù),并指出:雙空間存儲(chǔ)器是利用NVRAM構(gòu)造的新型存儲(chǔ)系統(tǒng),同時(shí)具有非易失存儲(chǔ)特性的塊空間和可隨機(jī)訪問的字空間.雙空間存儲(chǔ)器將內(nèi)存空間和外存空間落實(shí)在同一個(gè)存儲(chǔ)實(shí)體上,塊空間在雙空間存儲(chǔ)器上安裝的程序和保存的數(shù)據(jù)可以通過字空間運(yùn)行和隨機(jī)訪問,完全省去了程序和數(shù)據(jù)在內(nèi)存與外存之間的拷貝過程,從而大幅度提高了計(jì)算機(jī)的運(yùn)行效率.文獻(xiàn)[19]還指出:如果將操作系統(tǒng)、程序注冊(cè)表等系統(tǒng)運(yùn)行的基本程序和數(shù)據(jù)放置在CPU可以永久訪問到的字空間范圍——不可閉窗(詳情見2.5節(jié))中,就可省去開機(jī)時(shí)引導(dǎo)操作系統(tǒng)的過程;如果在不可閉窗內(nèi)增設(shè)一個(gè)關(guān)機(jī)狀態(tài)表來記錄關(guān)機(jī)時(shí)刻CPU的運(yùn)行現(xiàn)場(chǎng),就可在下次開機(jī)時(shí)從關(guān)機(jī)狀態(tài)表迅速恢復(fù)上次關(guān)機(jī)時(shí)CPU的現(xiàn)場(chǎng),實(shí)現(xiàn)開機(jī)后CPU立刻接續(xù)上次關(guān)機(jī)時(shí)的工作,使開關(guān)計(jì)算機(jī)如同開關(guān)電燈.

        由于NVRAM技術(shù)的進(jìn)步,尤其是2015年8月公布的3D Xpoint技術(shù)提供了性能卓越的NVRAM器件,用NVRAM構(gòu)造計(jì)算機(jī)的存儲(chǔ)器已成為未來的潮流.Intel公司已于2016年4月宣稱其下一代PC——OPTANE將使用NVRAM來構(gòu)造內(nèi)存.考慮到64位CPU的內(nèi)存地址線已經(jīng)多達(dá)64根,而理論上OPTANE的內(nèi)存可達(dá)264B,即16 EB容量(雖然這個(gè)內(nèi)存對(duì)于PC來說太大了,即便只使用40根地址線,也能構(gòu)造出1 TB的超級(jí)內(nèi)存).超級(jí)內(nèi)存足以容納PC的所有程序和數(shù)據(jù),而不再需要外存,但是要把當(dāng)前存儲(chǔ)于U盤、光盤、硬盤和網(wǎng)絡(luò)上的以塊為單位來組織和管理的文件裝入這個(gè)超級(jí)內(nèi)存,就需要在超級(jí)內(nèi)存上構(gòu)造出塊空間.一旦再構(gòu)造了塊空間,超級(jí)內(nèi)存就在事實(shí)上成為了雙空間存儲(chǔ)器的一個(gè)實(shí)例.

        1.2 內(nèi)存推移理論

        三值光學(xué)計(jì)算機(jī)研究團(tuán)隊(duì)在構(gòu)造雙空間存儲(chǔ)器時(shí),發(fā)明了將內(nèi)存空間自動(dòng)映射到巨大的雙空間存儲(chǔ)器字空間上任意區(qū)段的技術(shù),稱為內(nèi)存推移理論.這項(xiàng)發(fā)明的核心是構(gòu)造了如圖1中點(diǎn)劃線框內(nèi)所示的推移鎖存器組以及相應(yīng)的操作技術(shù).

        圖1推移鎖存器組結(jié)構(gòu)Fig.1 Structure of the latch group

        圖1 中的處理器可以是任何種類的CPU或內(nèi)存訪問主控設(shè)備,此處采用常見的簡(jiǎn)單處理器——嵌入式系統(tǒng)S3C2440.假設(shè)圖1中處理器的內(nèi)存地址線有n條(AB(n?1)~0),其中低序號(hào)的s條地址線(AB(s?1)~0)與雙空間存儲(chǔ)器中低序號(hào)的s條地址線(CAB(s?1)~0)相連接;而其余的n?s條高序號(hào)地址線(AB(n?1)~s)連接到推移鎖存器組輸出口譯碼器Yc的輸入端I(n?s);處理器的數(shù)據(jù)總線DB連接到雙空間存儲(chǔ)器的數(shù)據(jù)總線CDB,其中m+1條數(shù)據(jù)線(DBm~0)還連接到各個(gè)推移鎖存器(除推移鎖存器0外)的數(shù)據(jù)輸入端DB.

        圖1中的推移鎖存器組包含2n?s個(gè)推移鎖存器,設(shè)定編號(hào)為推移鎖存器0~2n?s?1,還包含一個(gè)輸出口譯碼器Yc和一個(gè)寫入口譯碼器Yr.推移鎖存器0的構(gòu)造與其他推移鎖存器不同.它沒有數(shù)據(jù)輸入端DB和寫入控制端IE(—表示低電平有效),因此其設(shè)定值(圖1中均設(shè)定為1)不可能被修改,但數(shù)據(jù)輸出口Q及其輸出控制端與其他推移鎖存器相同.推移鎖存器1~2n?s?1的結(jié)構(gòu)完全相同.它們的數(shù)據(jù)輸入口DB都連接到處理器數(shù)據(jù)總線的DBm~0上.當(dāng)某個(gè)推移鎖存器的寫入控制端IE有效時(shí),DBm~0上的數(shù)據(jù)將寫入該推移鎖存器并被保存,從而修改該推移鎖存器的值Dm~D0.

        Yc的每個(gè)輸出端P i(i=0,1,···,2n?s?1)分別控制一個(gè)推移鎖存器的輸出控制端OE,故稱Yc為輸出口譯碼器.Yc的輸入端I(n?s)連接處理器內(nèi)存地址線的高序號(hào)部分AB(n?1)~s,同時(shí)其有效使能端Co接地,于是Yc總有效.因此,處理器內(nèi)存地址線的高序號(hào)部分AB(n?1)~s的編碼i總是被Yc譯碼.譯碼完成后,Yc的輸出端P i使推移鎖存器i的輸出控制端有效,于是推移鎖存器i將其保存的m位數(shù)據(jù)(Dm~D0)經(jīng)數(shù)據(jù)輸出口Q送到雙空間存儲(chǔ)器地址線的m根高序號(hào)地址線(CAB(m+s?1)~s)上.推移鎖存器i將處理器送出的內(nèi)存地址AB(n?1)~0自動(dòng)映射為雙空間存儲(chǔ)器的CAB(m+s?1)~0地址,而處理器本身完全不會(huì)受到影響.當(dāng)處理器對(duì)內(nèi)存空間的訪問維持在低序號(hào)地址線AB(s?1)~0上的情況發(fā)生改變,而高序號(hào)地址線AB(n?1)~s的值i不變時(shí),推移鎖存器i保持被選通.此時(shí),雙空間存儲(chǔ)器的高序號(hào)地址線(CAB(m+s?1)~s)的值不改變,處理器對(duì)AB(s?1)~0給定的內(nèi)存地址范圍的訪問全部被推移鎖存器i自動(dòng)引導(dǎo)到由CAB(s?1)~0給定的雙空間存儲(chǔ)器范圍內(nèi).因此,稱內(nèi)存空間范圍AB(s?1)~0為映射窗,稱雙空間存儲(chǔ)器范圍CAB(s?1)~0為窗壁——?jiǎng)偤媚馨仓靡粋€(gè)映射窗的墻壁.一個(gè)窗壁上的所有存儲(chǔ)單元的高序號(hào)地址線CAB(m+s?1)~s相同,故選用這個(gè)值作為窗壁編號(hào).當(dāng)一個(gè)推移鎖存器被選通后,其值Dm~D0被送上CAB(m+s?1)~s,因此Dm~D0本質(zhì)上就是窗壁編號(hào).推移鎖存器通過保存的窗壁編號(hào)將映射窗引導(dǎo)到指定的窗壁.針對(duì)這一過程,可以形象地認(rèn)為每個(gè)推移鎖存器有一個(gè)虛擬的存儲(chǔ)空間,稱其為窗框,推移鎖存器的編號(hào)i就是對(duì)應(yīng)的窗框編號(hào).于是,推移鎖存器i的值為Dm~D0,就是將第i號(hào)窗框安置在Dm~D0號(hào)窗壁.給每個(gè)推移鎖存器賦不同的值,就是將所有的窗框安置在了不同的窗壁上.內(nèi)存地址線的高序號(hào)部分AB(n?1)~s的每個(gè)值都會(huì)選擇一個(gè)推移鎖存器,等同于選擇一個(gè)窗框,因此所有窗框的容量之和正好就是內(nèi)存空間的大小.AB(n?1)~s的改變就是把映射窗從一個(gè)窗框移到另一個(gè)窗框——映射窗推移.顯然,映射窗無法到達(dá)沒有窗框的窗壁,這就是引入窗框概念的根本原因.

        Yr的每個(gè)輸出端P j(j=1,2,···,2n?s?1)分別控制一個(gè)推移鎖存器的寫入控制端,故稱Yr為寫入口譯碼器.Yr的有效使能端C與非門F的輸出端相接,F的輸入為雙空間存儲(chǔ)器的高序號(hào)地址線CAB(m+s?1)~(n?s),同時(shí)Yr的輸入端I(n?s)連接雙空間存儲(chǔ)器低序號(hào)地址線CAB(n?s?1)~0. 當(dāng)訪問雙空間存儲(chǔ)器的高序號(hào)地址線CAB(m+s?1)~(n?s)不全為1時(shí),Yr無效,Yr的所有輸出端P j都輸出1,所有推移鎖存器的寫入控制端均無效,所有推移鎖存器都不接收DBm~0上的值,則推移鎖存器自身保持的數(shù)值都不會(huì)被改寫.僅當(dāng)CAB(m+s?1)~(n?s)全為1時(shí),Yr的C有效. 這時(shí)Yr輸入端I(n?s)收到CAB(n?s?1)~0上的地址碼j,相應(yīng)地使其輸出端P j為低電平,其他輸出端均為高電平.于是推移鎖存器j的寫入控制端有效,該推移鎖存器j就會(huì)接收處理器數(shù)據(jù)總線DBm~0上的值來修改自身保持的數(shù)值,而其他推移鎖存器則無改變,推移鎖存器j對(duì)應(yīng)的窗框j被移動(dòng)到新的窗壁上——窗框推移.考慮到各個(gè)推移鎖存器的寫入控制端在CAB(m+s?1)~(n?s)全為1時(shí)有效,可知各推移鎖存器的寫入控制端被安排在雙空間存儲(chǔ)器高序號(hào)地址線的一段連續(xù)區(qū)域(CAB(n?s?1)~0的取值范圍),稱這段地址范圍為推移矢量表.

        顯然,內(nèi)存推移理論能夠顯著減少處理器隨機(jī)訪問雙空間存儲(chǔ)器所需的地址線數(shù)目,無需內(nèi)存分頁(yè)管理技術(shù),可方便地實(shí)現(xiàn)多處理器共享/分享存儲(chǔ)器技術(shù).這意味著內(nèi)存推移理論將降低CPU的硬件復(fù)雜度和內(nèi)存管理復(fù)雜度,增加CPU使用存儲(chǔ)器的靈活性.

        2 實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)

        2.1 實(shí)驗(yàn)?zāi)繕?biāo)

        本工作通過以下具體實(shí)驗(yàn)驗(yàn)證了內(nèi)存推移理論[22-24]:①改變處理器訪存地址的低位,驗(yàn)證映射窗的存在和處理器透過映射窗對(duì)雙空間存儲(chǔ)器的隨機(jī)訪問能力;②改變處理器訪存地址的高位,驗(yàn)證映射窗推移技術(shù);③修改推移鎖存器的值,驗(yàn)證窗框推移技術(shù);④修改推移鎖存器0的操作,驗(yàn)證不可閉窗的存在.

        鑒于本工作的研究目標(biāo)是內(nèi)存空間在雙空間存儲(chǔ)器字空間上的推移理論,而該理論與雙空間存儲(chǔ)器的塊空間無關(guān),故不考慮雙空間存儲(chǔ)器中塊空間的各類問題.

        2.2 雙空間存儲(chǔ)器設(shè)計(jì)

        內(nèi)存推移理論的功能是將較小的內(nèi)存空間分時(shí)映射到大容量雙空間存儲(chǔ)器的不同區(qū)段.本實(shí)驗(yàn)的目標(biāo)在于驗(yàn)證這項(xiàng)理論的正確性和可行性,因此所設(shè)計(jì)的雙空間存儲(chǔ)器只要比被推移的內(nèi)存空間總?cè)萘看髷?shù)百倍即可.鑒于本實(shí)驗(yàn)設(shè)定的內(nèi)存空間總?cè)萘繛? MB(S3C2440處理器內(nèi)存空間的一個(gè)bank),故選用1 GB的雙空間存儲(chǔ)器.相應(yīng)地,設(shè)計(jì)該雙空間存儲(chǔ)器地址線為30根,定義為CAB29~0.為簡(jiǎn)化實(shí)驗(yàn)操作,還約定只使用占連續(xù)4個(gè)字節(jié)地址的32位數(shù)據(jù)總線寬度.

        為節(jié)約實(shí)驗(yàn)成本,在保證實(shí)驗(yàn)?zāi)繕?biāo)不受損害的前提下,本實(shí)驗(yàn)在多種NVRAM中選用常見的型號(hào)為S29GL01GNOR Flash芯片來構(gòu)建雙空間存儲(chǔ)器.這種芯片的存儲(chǔ)容量在字模式下為64 M×16位,故本實(shí)驗(yàn)用2片S29GL10G芯片經(jīng)地址線并接且數(shù)據(jù)線并列后,形成64 M×32位的存儲(chǔ)芯片對(duì),再用4對(duì)存儲(chǔ)芯片構(gòu)造出1 GB的雙空間存儲(chǔ)器.由于本實(shí)驗(yàn)是以連續(xù)4個(gè)字節(jié)的32位寬度來使用數(shù)據(jù)總線,故無需使用處理器的AB0和AB1地址線,而將處理器地址線AB2連接到雙空間存儲(chǔ)器地址線的CAB0.依此類推,處理器地址線ABn連接雙空間存儲(chǔ)器地址線CABn?2.

        2.3 推移鎖存器組設(shè)計(jì)

        推移鎖存器組是連接CPU與雙空間存儲(chǔ)器字空間的重要紐帶.對(duì)于CPU來說,推移鎖存器組屏蔽了雙空間存儲(chǔ)器的容量大小;對(duì)于雙空間存儲(chǔ)器來說,推移鎖存器組屏蔽了CPU的尋址能力.因此,只要有合適的推移鎖存器組,CPU就能夠和雙空間存儲(chǔ)器協(xié)同工作.因此,推移鎖存器組的結(jié)構(gòu)要由系統(tǒng)中的CPU與設(shè)定的雙空間存儲(chǔ)器共同決定.

        推移鎖存器組中包含的鎖存器數(shù)量等于窗框的數(shù)量.從圖1中可以看出,窗框的數(shù)量與映射窗的大小存在制約關(guān)系,映射窗變大一倍,窗框的數(shù)量就減少一半.在本實(shí)驗(yàn)中,被推移的內(nèi)存空間總?cè)萘繛? MB,若設(shè)定映射窗大小為218B(256 KB),則相應(yīng)的窗框數(shù)量為2(21?18)個(gè),即設(shè)定推移鎖存器組包含8個(gè)鎖存器.

        每個(gè)推移鎖存器的有效鎖存數(shù)據(jù)位數(shù)取決于雙空間存儲(chǔ)器的窗壁數(shù)量.對(duì)于給定的雙空間存儲(chǔ)器,窗壁的數(shù)量由窗壁的大小來決定,而窗壁的大小等于映射窗的大小,故本實(shí)驗(yàn)的窗壁大小為256 KB.于是1 GB的雙空間存儲(chǔ)器就有2(30?18)=4 096個(gè)窗壁,編號(hào)為0~4 095,因此每個(gè)推移鎖存器要有12位.本實(shí)驗(yàn)采用16位的鎖存器74ACT16373來構(gòu)造推移鎖存器,將其低12位作為有效值,高4位棄之不用.

        2.4 推移指令設(shè)計(jì)

        對(duì)推移鎖存器的操作分為映射窗推移和窗框推移兩種.在系統(tǒng)設(shè)定完畢后,每當(dāng)處理器給出的內(nèi)存地址高位部分發(fā)生改變,系統(tǒng)就自動(dòng)完成映射窗推移,無須為此設(shè)置專門的指令.而窗框推移必須改變相應(yīng)的推移鎖存器的值,這是對(duì)特定地址的賦值操作,對(duì)應(yīng)著一條特定的賦值指令,即推移指令.在系統(tǒng)設(shè)定中,每個(gè)推移鎖存器都有獨(dú)立的寫入端口,且每個(gè)寫入端口都與雙空間存儲(chǔ)器的一個(gè)隨機(jī)訪問地址相關(guān)聯(lián),故稱該地址為推移鎖存器的寫入端地址[20].此時(shí),對(duì)推移鎖存器的具體賦值操作如下:CPU給出一個(gè)特定的內(nèi)存地址,其高位部分選擇特定的不可修改推移鎖存器,即將映射窗推移到一個(gè)特定的窗壁,而該內(nèi)存地址的低位部分則在該窗壁中選通一個(gè)可修改推移鎖存器的寫入端口,并通過賦值指令修改該推移鎖存器保持的值.于是,推移指令的形式為向內(nèi)存空間特定地址賦值的語(yǔ)句,且給出的新數(shù)值為目標(biāo)窗壁的編號(hào).

        本實(shí)驗(yàn)中的處理器部件選用基于S3C2440制作的TQ2440 Core 2.0核心板.S3C2440處理器采用I/O端口和存儲(chǔ)器統(tǒng)一編址方式,指令使用32位尋址,但僅設(shè)置30根外部存儲(chǔ)器的邏輯地址線,對(duì)應(yīng)的地址范圍為0000 00000~3fffffffH,故最多可外接存儲(chǔ)器1 GB,且指令中32位地址的最高兩位無效.將30根外接地址線分為兩組:低27根以地址線的形態(tài)給出,稱為A26~A0;高3根則以8根bank使能線的形態(tài)給出,稱為bank7~bank0,即將外接存儲(chǔ)器的1 GB空間分成8個(gè)128 MB的bank,由指令中的A29~27來選通各bank的使能端,其中選通bank1使能端的地址是A29~27=001B.

        TQ2440 Core 2.0核心板對(duì)外提供了21根地址線A[20∶0]和bank1~bank5以及bank7的使能線,因此該核心板允許給bank1~bank5以及bank7各外接2 MB隨機(jī)訪問存儲(chǔ)器.在不影響實(shí)驗(yàn)?zāi)繕?biāo)的前提下,為方便設(shè)計(jì),本實(shí)驗(yàn)僅將bank1的2 MB外接隨機(jī)訪問存儲(chǔ)器空間用于推移操作的內(nèi)存空間,所以A[20∶0]就是本實(shí)驗(yàn)的處理器地址線AB20~0.對(duì)于這2 MB外部擴(kuò)展內(nèi)存,S3C2440的地址線A26~21無意義,因此默認(rèn)為00 0000B.于是,當(dāng)S3C2440處理器訪問本實(shí)驗(yàn)所設(shè)定的內(nèi)存空間時(shí),在指令中必須給出如下的的32位地址:0800 0000H~081fffffH,此處稱其為訪存地址.

        在本實(shí)驗(yàn)中,通過地址線的具體連接方式將8個(gè)推移鎖存器的寫入端地址設(shè)定在雙空間存儲(chǔ)器字空間的3fffffe0~3fffffff區(qū)域,即設(shè)定在第4 095號(hào)窗壁地址最高的32個(gè)字節(jié)中,并設(shè)定通過推移鎖存器0訪問0fffH號(hào)窗壁.于是,當(dāng)改寫推移鎖存器的值時(shí),必須先保證推移鎖存器0中保有0fffH值,再用寫入訪存地址0803ffe0H~0803ffffH范圍的指令來改寫相應(yīng)的推移鎖存器,從而將對(duì)應(yīng)的窗框移動(dòng)到指定的窗壁.由于S3C2440處理器的A0和A1地址線沒有參與雙空間存儲(chǔ)器尋址,故每個(gè)推移鎖存器的寫入端有4個(gè)連續(xù)的訪存地址(見表1),其作用完全相同,本實(shí)驗(yàn)只使用寫入端地址1.推移鎖存器2的寫入端訪存地址為0803ffe8H,由于本實(shí)驗(yàn)總是以連續(xù)4個(gè)字節(jié)的32位寬度來使用數(shù)據(jù)總線,因此將2號(hào)窗框推移到第1 024號(hào)窗壁上的推移指令為*(unsigned int*)(0x0803ffe8)=0x0400,其中0x是十六進(jìn)制數(shù)據(jù)前綴.

        表1 推移鎖存器寫入端地址Table 1 Write end addresses for the latch group

        2.5 不可閉窗設(shè)計(jì)

        計(jì)算機(jī)系統(tǒng)復(fù)位后,將自動(dòng)執(zhí)行位于特定地址的第一條指令,并由此轉(zhuǎn)入系統(tǒng)的初始化程序,而在系統(tǒng)運(yùn)行時(shí),又需要將常用程序或者常用數(shù)據(jù)駐留在內(nèi)存中,以確保較高的訪問速度.在使用雙空間存儲(chǔ)器的新型電子計(jì)算機(jī)中,內(nèi)存空間對(duì)應(yīng)所有窗框組成的空間.而程序和數(shù)據(jù)都位于窗壁上,于是駐留內(nèi)存的程序和數(shù)據(jù)對(duì)應(yīng)的窗壁永遠(yuǎn)可以被隨機(jī)訪問.這意味著該窗壁上的窗框永久存在,不得被移走.這種窗壁被稱為不可閉窗,其對(duì)系統(tǒng)運(yùn)行至關(guān)重要.

        由于本實(shí)驗(yàn)使用的是掉電易失性鎖存器,為了彌補(bǔ)這一不足,將采用以下方案:先對(duì)選定的推移鎖存器寫入選定的不可閉窗的窗壁編號(hào),然后手動(dòng)將推移鎖存器的寫入控制端接入低電平,使該推移鎖存器成為不可修改,對(duì)應(yīng)的窗框就永久駐留在選定的窗壁上,使得該窗壁成為不可閉窗.本實(shí)驗(yàn)選定4 095號(hào)窗壁為不可閉窗,持續(xù)占有0號(hào)窗框,于是對(duì)推移鎖存器0實(shí)施上述操作.

        2.6 實(shí)驗(yàn)板電路設(shè)計(jì)和制作

        本實(shí)驗(yàn)的主要目標(biāo)是用實(shí)物系統(tǒng)來驗(yàn)證雙空間存儲(chǔ)器的核心理論——內(nèi)存推移理論.由于雙空間存儲(chǔ)器是三值光學(xué)計(jì)算機(jī)研究團(tuán)隊(duì)在2013年提出的新型存儲(chǔ)器理論和結(jié)構(gòu),在本實(shí)驗(yàn)成功之前尚沒有實(shí)物存在.因此,本實(shí)驗(yàn)將設(shè)計(jì)和制作出第一個(gè)真實(shí)的雙空間存儲(chǔ)器系統(tǒng)并實(shí)施內(nèi)存推移操作.

        在規(guī)劃本實(shí)驗(yàn)時(shí),考慮到構(gòu)造實(shí)際系統(tǒng)的可靠性、簡(jiǎn)潔性和實(shí)驗(yàn)操作的方便性,采用廣州天嵌計(jì)算機(jī)科技有限公司生產(chǎn)的TQ2440 Core 2.0核心板作為處理器部件.該板已經(jīng)將嵌入式處理器S3C2440焊接好并以標(biāo)準(zhǔn)排針插口引出了所需的地址線、數(shù)據(jù)線和控制線,而且有較好的上位機(jī)監(jiān)控調(diào)試軟件及人機(jī)界面.該核心板對(duì)外只提供了21根內(nèi)存地址線A[20∶0],故可以外接的內(nèi)存空間為2 MB.本實(shí)驗(yàn)將制作一個(gè)1 GB的雙空間存儲(chǔ)器和相應(yīng)的推移鎖存器組,然后在所設(shè)計(jì)的實(shí)驗(yàn)系統(tǒng)上驗(yàn)證內(nèi)存推移理論.

        依據(jù)圖2所示的系統(tǒng)連接原理圖完成實(shí)驗(yàn)板設(shè)計(jì),其中核心板給出的高序號(hào)地址線A20~18接入輸出口譯碼器的輸入端,用于尋址推移鎖存器的輸出端;推移鎖存器組輸出端的12根信號(hào)線Q11~0與雙空間存儲(chǔ)器的高序號(hào)地址線A27~16相連;核心板給出的低序號(hào)地址線A17~2與雙空間存儲(chǔ)器的低序號(hào)地址線A15~0相連;核心板給出的數(shù)據(jù)總線和雙空間存儲(chǔ)器的數(shù)據(jù)直接互連.

        圖2 系統(tǒng)連接原理圖Fig.2 Schematic diagram of the system connection

        采用Altium Designer軟件設(shè)計(jì)本實(shí)驗(yàn)的電路板.在電路板上焊裝各種元件和芯片后,組裝雙空間存儲(chǔ)器以及TQ2440 Core 2.0核心板,構(gòu)成預(yù)期的內(nèi)存推移實(shí)驗(yàn)系統(tǒng)(見圖3).

        圖3 內(nèi)存推移實(shí)驗(yàn)系統(tǒng)Fig.3 Experimental system of the pulling memory mapping

        3 實(shí)驗(yàn)操作規(guī)劃

        內(nèi)存推移理論的核心理論如下:①用NVRAM構(gòu)造大容量的雙空間存儲(chǔ)器;②構(gòu)造推移鎖存器組;③處理器透過映射窗機(jī)制隨機(jī)訪問窗壁的字單元;④用推移指令在雙空間存儲(chǔ)器字空間上移動(dòng)窗框.由于雙空間存儲(chǔ)器和推移鎖存器組構(gòu)建在實(shí)驗(yàn)板上,其正確性將通過驗(yàn)證核心理論③和④中的兩項(xiàng)技術(shù)來證實(shí).因此,本實(shí)驗(yàn)在操作方面的重點(diǎn)內(nèi)容是這兩項(xiàng)技術(shù)的實(shí)施.

        3.1 實(shí)驗(yàn)準(zhǔn)備

        實(shí)驗(yàn)準(zhǔn)備主要包括兩方面的工作.

        (1)編寫目標(biāo)程序.通過ARM Developer Suite v1.2平臺(tái)編寫本實(shí)驗(yàn)需要的目標(biāo)程序,其中包括嵌入式系統(tǒng)的基本設(shè)置以及用于驗(yàn)證內(nèi)存推移理論的操作.用推移指令對(duì)推移鎖存器組中的每個(gè)推移鎖存器進(jìn)行賦值,由S3C2440透過映射窗隨機(jī)訪問雙空間存儲(chǔ)器字空間對(duì)應(yīng)窗壁上的字單元,修改推移鎖存器的值,完成在雙空間存儲(chǔ)器字空間上推移窗框.用C語(yǔ)言編寫目標(biāo)程序后,編譯鏈接將其轉(zhuǎn)換成bin文件,并等待燒寫到指定位置.

        (2)搭建實(shí)驗(yàn)平臺(tái).實(shí)驗(yàn)系統(tǒng)的主要軟件和硬件包括SuperVivi-USB-Transfer-Tool、PC機(jī)、TQ2440 Core 2.0核心板、雙空間存儲(chǔ)器、推移鎖存器組以及實(shí)驗(yàn)板.開始實(shí)驗(yàn)前連接好實(shí)驗(yàn)板與PC機(jī)上的串口和USB口,其中串口用于SuperVivi-USB-Transfer-Tool與S3C2440上的軟件通信,PC機(jī)通過USB口向?qū)嶒?yàn)板上的S3C2440處理器燒寫目標(biāo)程序.

        將以上環(huán)節(jié)準(zhǔn)備完畢,確保無誤之后,通電等待實(shí)驗(yàn).

        實(shí)驗(yàn)預(yù)期結(jié)果:從SuperVivi-USB-Transfer-Tool的交互界面上得出TQ2440 Core2.0核心板連接成功,USB通行工作正常,串口工作正常;在所給出的命令中,選擇Download Program(uCOS-Ⅱor TQ2440Test)to SDRAM and Run it命令燒寫目標(biāo)文件BispaceSimulation.bin到同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(synchronous dynamic random access memory,SDRAM)中運(yùn)行.

        3.2 驗(yàn)證推移指令的正確性

        由于本實(shí)驗(yàn)無法直接查看各個(gè)推移鎖存器中保持的數(shù)據(jù),因此用邏輯分析儀對(duì)推移鎖存器組的輸出信號(hào)進(jìn)行采集和分析,以此來確定被選通推移鎖存器所保持的數(shù)據(jù).

        實(shí)驗(yàn)操作規(guī)劃:待目標(biāo)文件BispaceSimulation.bin燒寫完畢后,目標(biāo)程序會(huì)自動(dòng)運(yùn)行;目標(biāo)程序首先執(zhí)行嵌入式系統(tǒng)的基本設(shè)置,然后執(zhí)行推移指令,實(shí)現(xiàn)對(duì)推移鎖存器組中每個(gè)推移鎖存器賦初值;用邏輯分析儀對(duì)推移鎖存器組的輸出信號(hào)進(jìn)行采樣,以判斷各個(gè)推移鎖存器保存的數(shù)值是否正確.

        具體操作如下:①給推移鎖存器寫入一個(gè)初始值,選擇一個(gè)選通該推移鎖存器的訪存地址進(jìn)行訪問,記錄該推移鎖存器給出的數(shù)值;②通過推移指令給該推移鎖存器賦新值;③再次對(duì)上述訪存地址進(jìn)行訪問,記錄該推移鎖存器給出的新數(shù)值;④查看邏輯分析儀中記錄的數(shù)值,判斷推移鎖存器所保存的數(shù)值是否正確.以上操作重復(fù)多次.

        以對(duì)推移鎖存器1的實(shí)驗(yàn)為例,說明操作過程如下:

        volatile unsigned int*ip=(volatile unsigned int*)(0x0803ffe4)(選中推移鎖存器組中的推移鎖存器1的寫入端地址);

        *ip=0x3f(向推移鎖存器1寫入初始值3fH);

        unsigned int x=*(unsigned int*)(0x08040020)(訪問1號(hào)窗框,測(cè)得推移鎖存器給出的數(shù)值);

        *ip=0x4aa(向推移鎖存器1賦新值4aaH);

        unsigned int x=*(unsigned int*)(0x08040020)(再次訪問1號(hào)窗框,測(cè)得推移鎖存器給出的新數(shù)值).

        實(shí)驗(yàn)預(yù)期結(jié)果:邏輯分析儀第一次應(yīng)測(cè)得推移鎖存器的輸出值為3fH,第二次為4aaH.

        3.3 透過映射窗隨機(jī)訪問窗壁的字單元

        實(shí)驗(yàn)操作規(guī)劃:初始化推移鎖存器組,給出對(duì)任意訪存地址的讀/寫命令,考察該命令的執(zhí)行結(jié)果.

        以訪問08040020H地址為例,說明此項(xiàng)實(shí)驗(yàn)的操作過程如下:①執(zhí)行推移指令*(unsigned int*)(0x0803ffe4)=0x400,將推移鎖存器1的值設(shè)定為400H,然后S3C2440處理器給出訪存地址08040020H,于是選通1號(hào)窗框,則將映射窗移動(dòng)到雙空間存儲(chǔ)器的1 024號(hào)窗壁,透過映射窗內(nèi)偏移地址20H,讀出對(duì)應(yīng)存儲(chǔ)單元的內(nèi)容,通過串口輸出到PC,在SuperVivi-USBTransfer-Tool的交互界面上顯示,截圖保留實(shí)驗(yàn)結(jié)果;②對(duì)1 024號(hào)窗壁內(nèi)的對(duì)應(yīng)存儲(chǔ)單元寫入數(shù)值1234 4321H,本實(shí)驗(yàn)系統(tǒng)只采用32位數(shù)據(jù)格式,且S3C2440處理器必須給出從0804 0020H開始的地址來訪問雙空間存儲(chǔ)器的連續(xù)4個(gè)字節(jié)(原因請(qǐng)參見2.4節(jié));③從1 024號(hào)窗壁內(nèi)的對(duì)應(yīng)存儲(chǔ)單元讀出更新后的數(shù)據(jù),截圖保留實(shí)驗(yàn)結(jié)果;④比較第①,③步的實(shí)驗(yàn)結(jié)果,判斷給出的讀/寫命令是否被正確執(zhí)行.

        實(shí)驗(yàn)預(yù)期結(jié)果:第①步,應(yīng)得出1 024號(hào)窗壁內(nèi)的對(duì)應(yīng)存儲(chǔ)單元上的數(shù)據(jù)ffffffffH;第②,③步,應(yīng)得出S3C2440處理器能夠?qū)?shù)據(jù)1234 4321H寫入1 024號(hào)窗壁內(nèi)對(duì)應(yīng)存儲(chǔ)單元,該窗壁的其他存儲(chǔ)單元保持NOR Flash芯片擦除后的數(shù)據(jù)ffH.

        3.4 用推移指令在雙空間存儲(chǔ)器字空間上完成窗框推移

        以訪問08040020H地址為例,說明此項(xiàng)實(shí)驗(yàn)的操作過程如下:①通過推移指令*(unsigned int*)(0x0803ffe4)=0x600,將推移鎖存器1的值設(shè)定為600H,即將1號(hào)窗框推移到雙空間存儲(chǔ)器的1 536號(hào)窗壁,并對(duì)該單元寫入數(shù)值1122 3344H;②調(diào)用串口輸出函數(shù)Uart Print(“0x%08x”,*(unsigned int*)(0x08040020)),讀出該訪存地址的數(shù)值,在SuperVivi-USBTransfer-Tool的交互界面上顯示,截圖保留實(shí)驗(yàn)結(jié)果;③用推移指令*(unsigned int*)(0x0803ffe4)=0x400,將推移鎖存器1的值重新設(shè)定為400H;④重復(fù)第②步,此時(shí)映射窗在雙空間存儲(chǔ)器的1 024號(hào)窗壁,偏移地址為20H的存儲(chǔ)單元內(nèi)容應(yīng)為1234 4321H(參見3.3節(jié));⑤再次用推移指令*(unsigned int*)(0x0803ffe4)=0x600,將推移鎖存器1的值重新設(shè)定為600H;⑥重復(fù)第②步;⑦比較第②,④,⑥步中3次讀取到的同一訪存地址0804 0020H的內(nèi)容,判斷第①,③,⑤步的推移指令是否都將1號(hào)窗框推移到了正確的窗壁.

        實(shí)驗(yàn)預(yù)期結(jié)果:通過3次訪問同一訪存地址為0804 0020H的存儲(chǔ)單元,應(yīng)得到3個(gè)不同數(shù)據(jù),第一次為1122 3344H,第二次為1234 4321H,第三次為1122 3344H.

        3.5 不可閉窗的驗(yàn)證

        實(shí)驗(yàn)操作規(guī)劃:通過修改推移鎖存器0的操作驗(yàn)證不可閉窗的存在.

        操作過程如下:①首先向推移鎖存器0寫入fffH,斷開推移鎖存器0的寫入控制端,使其接入低電平,完成設(shè)定4 095號(hào)窗壁為不可閉窗和持續(xù)占有0號(hào)窗框的操作;②訪問雙空間存儲(chǔ)器4 095號(hào)窗壁,訪問到的數(shù)據(jù)內(nèi)容在SuperVivi-USB-Transfer-Tool的交互界面上顯示,截圖保留實(shí)驗(yàn)結(jié)果;③再次向推移鎖存器0寫入400H,將0號(hào)窗框從4 095號(hào)窗壁推移到1 024號(hào)窗壁;④重復(fù)第②步;⑤比較第②,④步得到的數(shù)據(jù)結(jié)果,判斷第③步推移指令是否將0號(hào)窗框推移到其他窗壁上,驗(yàn)證不可閉窗是否存在.

        實(shí)驗(yàn)預(yù)期結(jié)果:通過第②,④步兩次訪問到的內(nèi)容應(yīng)相同,都是4 095號(hào)窗壁上的數(shù)據(jù),表示推移指令對(duì)不可閉窗無效,不可閉窗上的窗框永久存在,不能移走.

        3.6 映射窗推移技術(shù)的驗(yàn)證

        實(shí)驗(yàn)操作規(guī)劃:改變處理器訪存地址的高位,驗(yàn)證映射窗是否得到推移.3.3和3.5節(jié)中分別用到了1號(hào)窗框和0號(hào)窗框,在完成驗(yàn)證的過程中,多次改變了處理器給出的訪存地址高位,即已經(jīng)多次把映射窗從一個(gè)窗框移到另一個(gè)窗框,因此綜合分析3.3和3.5節(jié)的實(shí)驗(yàn)過程和記錄,即可對(duì)映射窗推移技術(shù)進(jìn)行驗(yàn)證.

        操作過程如下:①得到3.3和3.5節(jié)的驗(yàn)證結(jié)果;②分析3.3和3.5節(jié)的驗(yàn)證結(jié)果,判斷處理器訪存地址高位的改變是否對(duì)映射窗進(jìn)行了推移.

        實(shí)驗(yàn)預(yù)期結(jié)果:完成3.3和3.5節(jié)驗(yàn)證實(shí)驗(yàn),驗(yàn)證映射窗推移技術(shù).

        4 實(shí)驗(yàn)過程及結(jié)果分析

        4.1 實(shí)驗(yàn)準(zhǔn)備

        按照實(shí)驗(yàn)準(zhǔn)備操作搭建實(shí)驗(yàn)平臺(tái).TQ2440 Core 2.0核心板從NOR Flash芯片模式中啟動(dòng),通電后,實(shí)驗(yàn)結(jié)果和預(yù)期結(jié)果一致.圖4是SuperVivi-USB-Transfer-Tool的交互界面顯示結(jié)果.

        圖4 SuperVivi-USB-Transfer-Tool的交互界面Fig.4 Interactive interface of Super Vivi-USB-Transfer-Tool

        4.2 驗(yàn)證推移指令的正確性

        通過實(shí)驗(yàn)測(cè)得推移鎖存器1的初始值為3fH(見圖5).在執(zhí)行推移指令后的訪存中,測(cè)得的賦予推移鎖存器的新值為4aaH(見圖6).這說明通過推移指令已將數(shù)據(jù)4aaH正確寫入了推移鎖存器1中,推移指令的正確性得以驗(yàn)證.

        圖5 測(cè)得初始值3fHFig.5 Measured initial value 3fH

        圖6 測(cè)得賦予推移鎖存器的新值4aaHFig.6 Measured initial values 4aaH given by the latch

        4.3 透過映射窗隨機(jī)訪問窗壁的字單元

        從圖7可以看出,S3C2440處理器能正確訪問1 024號(hào)窗壁上的數(shù)據(jù).從圖8可以看出,S3C2440處理器成功修改了1 024號(hào)窗壁上偏移地址為20H存儲(chǔ)單元上的數(shù)據(jù),證明了S3C2440處理器能夠透過映射窗隨機(jī)訪問窗壁的正確字單元.

        圖7 對(duì)1 024號(hào)窗壁上內(nèi)容的訪問Fig.7 Access to the content of 1 024th window entity

        圖8 訪問修改后的單元Fig.8 Access to the modifi ed unit

        4.4 用推移指令在雙空間存儲(chǔ)器字空間上完成窗框推移

        從圖9可以看出,S3C2440處理器成功訪問到了1 536號(hào)窗壁,并成功改寫偏移地址為20H存儲(chǔ)單元上的數(shù)據(jù)為1122 3344H.從圖10可以看出,通過推移指令實(shí)現(xiàn)了窗框推移操作,成功將S3C2440處理器引導(dǎo)到對(duì)1 024號(hào)窗壁的訪問,并訪問到3.3節(jié)中修改過的偏移地址為20H存儲(chǔ)單元上的數(shù)據(jù)1234 4321H.從圖11可以看出,再次通過推移指令實(shí)現(xiàn)了窗框推移操作,成功將S3C2440處理器又引導(dǎo)到1 536號(hào)窗壁,訪問到剛剛修改過的偏移地址為20H存儲(chǔ)單元上的數(shù)據(jù)1122 3344H.整個(gè)實(shí)驗(yàn)過程中兩次用到推移指令,成功完成窗框推移操作.

        圖9 第一次訪問Fig.9 First access

        圖10 第二次訪問Fig.10 Second access

        圖11 第三次訪問Fig.11 Third access

        4.5 不可閉窗的驗(yàn)證

        從圖12可以看出,S3C2440處理器能正常訪問4 095號(hào)窗壁.從圖13可以看出,執(zhí)行推移指令后無法實(shí)現(xiàn)窗框推移,不能將S3C2440處理器引導(dǎo)到1 024號(hào)窗壁,而是依舊停留在4 095號(hào)窗壁,說明4 095號(hào)窗壁為不可閉窗,持續(xù)占有0號(hào)窗框,不能被移動(dòng).

        圖12 訪問0號(hào)窗壁上的數(shù)據(jù)Fig.12 Access to the data of the 0th window entity

        圖13 執(zhí)行推移指令后的訪問Fig.13 Access after pushing command

        4.6 映射窗推移技術(shù)的驗(yàn)證

        實(shí)驗(yàn)結(jié)果和預(yù)期一致,通過改變處理器訪存地址的高位,成功驗(yàn)證了映射窗推移技術(shù).對(duì)上述實(shí)驗(yàn)重復(fù)多次,每次給出不同的參數(shù),實(shí)驗(yàn)結(jié)果均達(dá)到實(shí)驗(yàn)?zāi)康?成功驗(yàn)證了推移指令的正確性.S3C2440處理器能夠隨機(jī)訪問雙空間存儲(chǔ)器字空間的存儲(chǔ)單元,且用推移指令在雙空間存儲(chǔ)器的字空間上能正確移動(dòng)窗框.這充分證明了內(nèi)存推移理論和技術(shù)的核心內(nèi)容的正確性.

        5 結(jié)束語(yǔ)

        本研究成功完成了基于TQ2440 Core 2.0核心板的內(nèi)存推移實(shí)驗(yàn),證實(shí)了內(nèi)存空間在雙空間存儲(chǔ)器上推移理論和技術(shù)的正確性.在本實(shí)驗(yàn)中,利用TQ2440 Core 2.0提供的21根地址線A[20∶0]構(gòu)成系統(tǒng)的2 MB內(nèi)存空間,通過內(nèi)存推移理論將該內(nèi)存空間自動(dòng)映射到1 GB的雙空間存儲(chǔ)器的任意一個(gè)局部范圍,并用推移指令將該局部范圍在整個(gè)雙空間存儲(chǔ)器上進(jìn)行移動(dòng),從而使核心板對(duì)2 MB內(nèi)存空間的隨機(jī)訪問自動(dòng)落實(shí)為對(duì)1 GB雙空間存儲(chǔ)器指定位置的隨機(jī)訪問.

        本實(shí)驗(yàn)的成功為內(nèi)存空間推移理論奠定了可靠的實(shí)物基礎(chǔ),解決了雙空間存儲(chǔ)器在電子計(jì)算機(jī)系統(tǒng)的應(yīng)用過程中,受到CPU地址線寬度限制的內(nèi)存空間與雙空間存儲(chǔ)器巨大隨機(jī)訪問字空間的對(duì)接問題,奠定了構(gòu)造雙空間存儲(chǔ)器和實(shí)施內(nèi)存推移理論的實(shí)踐基礎(chǔ).相信在不久的將來,完全可以實(shí)現(xiàn)基于雙空間存儲(chǔ)器的新型電子計(jì)算機(jī),使得CPU能夠直接隨機(jī)訪問到更大的非易失存儲(chǔ)空間,從而使內(nèi)存和外存之間的數(shù)據(jù)復(fù)制問題不復(fù)存在.

        致謝:感謝徐凌宇教授對(duì)本工作的大力支持!

        猜你喜歡
        存器窗框存儲(chǔ)器
        低面積與低延遲開銷的三節(jié)點(diǎn)翻轉(zhuǎn)容忍鎖存器設(shè)計(jì)
        一種低成本的四節(jié)點(diǎn)翻轉(zhuǎn)自恢復(fù)鎖存器設(shè)計(jì)
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        參考答案
        一種低功耗的容軟錯(cuò)誤鎖存器設(shè)計(jì)
        一種可排水的外開窗
        存儲(chǔ)器——安格爾(墨西哥)▲
        Grain型級(jí)聯(lián)反饋移存器的非奇異性判定
        基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
        亚洲av无码精品无码麻豆| 国产小毛片| 狠狠色丁香婷婷久久综合2021| 中文字幕一区二区三区在线乱码| 日本女u久久精品视频| 亚洲av乱码二区三区涩涩屋| 插鸡网站在线播放免费观看| 性高朝大尺度少妇大屁股| 国产一区二区三区影院| 国产精品欧美日韩在线一区| 国产精品自线在线播放| 亚洲另类国产精品中文字幕| 校园春色日韩高清一区二区| 美女扒开屁股让男人桶| av无码人妻中文字幕| 人妻av一区二区三区精品| 骚片av蜜桃精品一区| 大量老肥熟女老女人自拍| 日本成人精品一区二区三区| 蜜桃一区二区在线视频| 午夜精品久久久久久久99热| 明星性猛交ⅹxxx乱大交| 国产精品无码专区视频| 亚洲中文字幕日产喷水| 一区二区日本免费观看| 欲女在线一区二区三区| 久久久久免费看成人影片 | 加勒比东京热综合久久| 中文日本强暴人妻另类视频| 成年美女黄网站色大免费视频| 人妻哺乳奶头奶水| 亚洲视频天堂| 亚洲av乱码国产精品观看麻豆| 精品一区二区三区蜜桃麻豆| 放荡的少妇2欧美版| 日本精品人妻无码77777| 99热成人精品国产免国语的| 亚洲精品一区二区三区蜜臀| 最新国产女主播在线观看| 无码av不卡一区二区三区 | 丝袜欧美视频首页在线|