• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      內(nèi)存空間在雙空間存儲(chǔ)器上的推移技術(shù)實(shí)驗(yàn)

      2017-05-24 14:47:09展豪君金翊歐陽山石也強(qiáng)
      關(guān)鍵詞:存器窗框存儲(chǔ)器

      展豪君,金翊,歐陽山,石也強(qiáng)

      (上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)

      內(nèi)存空間在雙空間存儲(chǔ)器上的推移技術(shù)實(shí)驗(yàn)

      展豪君,金翊,歐陽山,石也強(qiáng)

      (上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)

      詳細(xì)介紹雙空間存儲(chǔ)器理論和其核心技術(shù)——內(nèi)存空間推移技術(shù)的仿真實(shí)驗(yàn).證實(shí)了用非易失性隨機(jī)存儲(chǔ)器(non-volatile random access memory,NVRAM)構(gòu)建雙空間存儲(chǔ)器的可行性,同時(shí)通過對(duì)8086CPU系統(tǒng)的仿真實(shí)驗(yàn),證實(shí)了將內(nèi)存空間在雙空間存儲(chǔ)器上推移之技術(shù)的正確性.實(shí)驗(yàn)設(shè)置的目標(biāo)系統(tǒng)包含一個(gè)8086CPU,16 MB的雙空間存儲(chǔ)器和16個(gè)8位的推移鎖存器.目標(biāo)系統(tǒng)中設(shè)置了2個(gè)不可閉窗和14個(gè)可推移的窗框,在不可閉的255號(hào)窗壁中設(shè)置了8086CPU的首指令和初始化程序,在不可閉的254號(hào)窗壁設(shè)置了8086CPU的中斷向量表和雙空間存儲(chǔ)器的推移向量表.實(shí)驗(yàn)完成了8086CPU的上電過程、自動(dòng)執(zhí)行初始化程序、正確執(zhí)行中斷命令、正確執(zhí)行數(shù)據(jù)讀寫命令等操作,并將CPU對(duì)其1 MB內(nèi)存空間的隨機(jī)讀寫訪問自動(dòng)落實(shí)為對(duì)16 MB雙空間存儲(chǔ)器指定位置的實(shí)時(shí)隨機(jī)訪問;實(shí)驗(yàn)還完成了隨時(shí)修改推移鎖存器的操作,并以此將對(duì)應(yīng)的窗框推移到了雙空間存儲(chǔ)器的任意位置.實(shí)驗(yàn)結(jié)果為雙空間存儲(chǔ)器理論和內(nèi)存空間推移技術(shù)奠定了基礎(chǔ).

      雙空間存儲(chǔ)器;非易失性隨機(jī)存儲(chǔ)器(non-volatile random access memory, NVRAM);內(nèi)存推移

      三值光學(xué)計(jì)算機(jī)[1-3]有眾多的數(shù)據(jù)位,因而適合于處理大批量的數(shù)據(jù)[4-7].這一特征不僅要求三值光學(xué)計(jì)算機(jī)的存儲(chǔ)器具有較大的存儲(chǔ)容量,而且能被處理器快速地隨機(jī)讀寫大量數(shù)據(jù).一方面電子計(jì)算機(jī)的內(nèi)存容量受到CPU地址線數(shù)目的限制,無法達(dá)到三值光學(xué)計(jì)算機(jī)的要求;另一方面,計(jì)算機(jī)外存上的數(shù)據(jù)不能直接被處理器隨機(jī)讀寫,必須先以順序方式拷貝進(jìn)內(nèi)存才能被處理器隨機(jī)讀寫,因此外存也不能滿足三值光學(xué)計(jì)算機(jī)的要求.鑒于此,研發(fā)大容量、高訪問速度、非易失且可以被隨機(jī)讀寫的存儲(chǔ)器成為三值光學(xué)計(jì)算機(jī)研究者的重要任務(wù)之一.

      固態(tài)盤兼有可隨機(jī)讀寫、非易失、體積小、速度快的特點(diǎn),適用于構(gòu)造三值光學(xué)計(jì)算機(jī)需要的存儲(chǔ)系統(tǒng),特別是結(jié)合閃存與隨機(jī)存儲(chǔ)器特點(diǎn)于一體的非易失隨機(jī)存儲(chǔ)器(non-volatile random access memory,NVRAM),例如相變存儲(chǔ)器[8-10]、鐵電存儲(chǔ)器[11-12]、磁阻式存儲(chǔ)器[13-14]等.文獻(xiàn)[15-16]提供的數(shù)據(jù)表明,NVRAM的讀寫速度和性能已經(jīng)達(dá)到了當(dāng)前計(jì)算機(jī)系統(tǒng)中使用的DRAM和SRAM的水平,而AGIGA Tech公司更是制造出了性能達(dá)到DDR4[17]標(biāo)準(zhǔn)的非易失隨機(jī)存儲(chǔ)器—–NVDIMM[18],這為實(shí)現(xiàn)三值光學(xué)計(jì)算機(jī)的高速度、大容量存儲(chǔ)系統(tǒng)奠定了物質(zhì)基礎(chǔ).由此,本工作提出了同時(shí)具有非易失性和隨機(jī)訪問性的雙空間存儲(chǔ)器概念和理論,并建立了將內(nèi)存空間分區(qū)映射到雙空間存儲(chǔ)器上的技術(shù)——內(nèi)存推移技術(shù)[19].在這項(xiàng)存儲(chǔ)器新理論和技術(shù)中,雙空間存儲(chǔ)器的容量取決于推移鎖存器的位數(shù),而該鎖存器的位數(shù)可以隨意設(shè)置,因此雙空間存儲(chǔ)器的容量足以達(dá)到三值光學(xué)計(jì)算機(jī)的要求;同時(shí),利用雙空間存儲(chǔ)器的非易失性建立的塊空間可以用作外存,利用其可隨機(jī)訪問性建立的字空間可以與內(nèi)存空間對(duì)接(映射),因此塊空間(外存)上的所有數(shù)據(jù)都可以通過字空間(內(nèi)存映射之后)直接被處理器快速地隨機(jī)讀寫.相比于傳統(tǒng)的存儲(chǔ)體系結(jié)構(gòu),本工作提出的理論和技術(shù)優(yōu)勢(shì)如下:消除數(shù)據(jù)/程序在內(nèi)存與外存之間的拷貝過程,消除開機(jī)和啟動(dòng)程序的等待過程,利用推移鎖存器能夠?qū)?nèi)存空間完整地分時(shí)映射到很大的雙空間存儲(chǔ)器的各個(gè)區(qū)域,從而使CPU可以自動(dòng)地隨時(shí)隨機(jī)訪問雙空間存儲(chǔ)器的任何單元,且讀寫速度不會(huì)低于當(dāng)前的內(nèi)存速度.目前,雙空間存儲(chǔ)器和內(nèi)存推移技術(shù)的理論推證已得到完善[19],通過實(shí)驗(yàn)證實(shí)雙空間存儲(chǔ)器和推移技術(shù)的正確性,不僅已成為該研究方向的焦點(diǎn),也是將這項(xiàng)新理論和技術(shù)應(yīng)用于計(jì)算機(jī)系統(tǒng)的橋梁.

      1 雙空間存儲(chǔ)器原理及內(nèi)存推移技術(shù)

      作為雙空間存儲(chǔ)器和推移技術(shù)的硬件基礎(chǔ),雙空間存儲(chǔ)器的地址總線配置如圖1所示.該地址總線共有如下4個(gè)特征.

      圖1 雙空間存儲(chǔ)器地址總線Fig.1 Address bus of double-space storage

      (1)雙空間存儲(chǔ)器的地址總線CAB(m+s)~0與塊管理器的輸出線W(m+s)~0直接相連,而系統(tǒng)通過塊管理器訪問存儲(chǔ)系統(tǒng)時(shí),總是以塊為單位,塊內(nèi)采用順序訪問.因此,系統(tǒng)訪問的是雙空間存儲(chǔ)器的塊空間.顯然,此時(shí)的雙空間存儲(chǔ)器是系統(tǒng)的外存.

      (2)雙空間存儲(chǔ)器地址線中的低序號(hào)部分CAB(s?1)~0與CPU輸出的內(nèi)存地址總線中的低序號(hào)部分AB(s?1)~0直接連接.而CPU通過內(nèi)存地址總線訪問存儲(chǔ)器時(shí),總是以字(或字節(jié))為單位隨機(jī)訪問.因此,系統(tǒng)訪問的是雙空間存儲(chǔ)器的字空間.顯然,雙空間存儲(chǔ)器的這部分存儲(chǔ)單元是系統(tǒng)當(dāng)前內(nèi)存的一部分.稱AB(s?1)~0構(gòu)成的內(nèi)存空間為映射窗,而稱CAB(s?1)~0在雙空間存儲(chǔ)器中對(duì)應(yīng)的存儲(chǔ)區(qū)間為窗壁.

      (3)雙空間存儲(chǔ)器地址線的高序號(hào)部分CAB(m+s)~s與推移鎖存器組的輸出線Jm~0相連,而推移鎖存器組的輸入線I(n?s)~0與CPU輸出的內(nèi)存地址總線中的高序號(hào)部分ABn~s直接連接.因此,ABn~s的值(內(nèi)存地址高位部分)將從推移鎖存器組中選擇一個(gè)推移鎖存器,該推移鎖存器的輸出為雙空間存儲(chǔ)器的高位地址CAB(m+s)~s.由于此時(shí)CAB(m+s)~s的值源于ABn~s,因此CAB(m+s)~s是字空間的高位地址,它給出了映射窗當(dāng)前所對(duì)應(yīng)的窗壁的起始地址,這個(gè)地址值正好可以用作該窗壁的編號(hào).鑒于推移鎖存器的輸出Jm~0僅確定了字空間地址的高位部分CAB(m+s)~s,而字空間地址的低位部分CAB(s?1)~0仍可取任意值,因此不妨認(rèn)為Jm~0給出了一個(gè)容量為2s個(gè)字(或字節(jié))的虛擬隨機(jī)訪問空間,并可認(rèn)為其地址為J?1~?s,稱該虛擬空間為窗框.顯然,每一個(gè)推移鎖存器對(duì)應(yīng)一個(gè)窗框,而每一個(gè)推移鎖存器又對(duì)應(yīng)ABn~s的一個(gè)取值,每個(gè)ABn~s的取值對(duì)應(yīng)一個(gè)窗框,因此這個(gè)值可作為窗框的編號(hào).

      顯然,映射窗、窗框和窗壁的大小相同,但有2(m+1)個(gè)窗壁,以CAB(m+s)~s(或Jm~0)的值為編號(hào),所有窗壁組成雙空間存儲(chǔ)器;有2(n?s+1)個(gè)窗框,以ABn~s(或I(n?s)~0)的值為編號(hào),每個(gè)推移鎖存器對(duì)應(yīng)一個(gè)窗框,所有窗框組成當(dāng)前內(nèi)存空間;系統(tǒng)中僅有一個(gè)映射窗,處理器只能透過映射窗隨機(jī)訪問雙空間存儲(chǔ)器.給一個(gè)推移鎖存器賦值后,就將相應(yīng)的窗框安放在該值指定的窗壁上,稱該窗壁的狀態(tài)為開窗,沒有安放窗框的窗壁稱為閉窗.窗框不能被移走的窗壁稱為不可閉窗,顯然不可閉窗的窗框不能被移動(dòng),即它所對(duì)應(yīng)的推移鎖存器的值不能被修改.由于映射窗只能通過改變ABn~s的值在窗框之間移動(dòng),所以映射窗只能位于某個(gè)開窗上,不可能位于閉窗上,因此處理器只能透過映射窗隨機(jī)訪問開窗上的存儲(chǔ)單元,無法隨機(jī)訪問閉窗上的存儲(chǔ)單元.再考慮到任何一個(gè)可移動(dòng)的窗框都能被安置在任一個(gè)窗壁上,于是通過在窗壁間推移窗框和在窗框間推移映射窗,處理器就能訪問整個(gè)雙空間存儲(chǔ)器.顯然,處理器隨時(shí)可以透過映射窗訪問不可閉窗,因此數(shù)據(jù)和程序位于不可閉窗相當(dāng)于在當(dāng)前系統(tǒng)中駐留內(nèi)存.

      (4)雙空間存儲(chǔ)器的地址總線CAB(m+s)~0與ABn~0的連接受三態(tài)門k1和k2的控制,而塊管理器的輸出端c控制k1和k2狀態(tài).當(dāng)訪問外存時(shí),處理器啟動(dòng)塊管理器,則c控制k1和k2處于高阻態(tài),從而斷開CAB(m+s)~0與ABn~0的連接;當(dāng)訪問內(nèi)存時(shí),處理器停止塊管理器,則c信號(hào)失效,k1和k2處于低阻態(tài),則開通CAB(m+s)~0與ABn~0的連接.由于實(shí)際系統(tǒng)中處理器不會(huì)同時(shí)訪問內(nèi)存和外存,c,k1和k2的功能往往由處理器自動(dòng)完成,實(shí)際系統(tǒng)中并不需要構(gòu)造出來,所以圖1中的c,k1和k2只是表明雙空間存儲(chǔ)器的字空間和塊空間不會(huì)同時(shí)被訪問.

      2 推移技術(shù)實(shí)驗(yàn)方案設(shè)計(jì)

      鑒于塊空間可以直接用作外存,因此對(duì)塊空間的實(shí)驗(yàn)驗(yàn)證沒有重要意義[19],本工作暫不考慮塊空間的問題,而將實(shí)驗(yàn)研究集中在驗(yàn)證內(nèi)存空間的推移技術(shù)方面.實(shí)現(xiàn)推移技術(shù)的核心操作在于3點(diǎn):①通過給推移鎖存器賦值使窗框安置在指定的窗壁;②通過內(nèi)存地址的高位部分將映射窗自動(dòng)定位在選定的窗框上;③CPU透過映射窗隨機(jī)訪問到雙空間存儲(chǔ)器的任意單元.如果能夠驗(yàn)證這3個(gè)核心操作,就可以確定整個(gè)推移技術(shù).

      為了有效、便捷地完成實(shí)驗(yàn)研究任務(wù),選擇硬件仿真軟件Proteus 8.0進(jìn)行系統(tǒng)模擬實(shí)驗(yàn). Proteus 8.0有兩個(gè)性能對(duì)本實(shí)驗(yàn)起到關(guān)鍵作用:①能夠?qū)?086CPU的工作過程進(jìn)行仿真;②能對(duì)目標(biāo)系統(tǒng)中設(shè)定的各種存儲(chǔ)芯片的數(shù)據(jù)進(jìn)行實(shí)時(shí)仿真[20].利用前者能夠仿真8086CPU對(duì)內(nèi)存空間的訪問;利用后者能觀察構(gòu)成雙空間存儲(chǔ)器的每個(gè)芯片的內(nèi)容,并以此來判斷對(duì)內(nèi)存空間的訪問是否落實(shí)到雙空間存儲(chǔ)器的指定位置,從而判斷推移技術(shù)是否正確和可行.

      2.1 訪問字空間系統(tǒng)的設(shè)計(jì)

      8086 CPU是Intel公司生產(chǎn)的16位微處理器,它有20根內(nèi)存地址線,故內(nèi)存空間為220字節(jié),即1 MB[21].結(jié)合8086的特點(diǎn),依據(jù)圖1所描述的雙空間存儲(chǔ)器地址線配置原理,本工作設(shè)計(jì)了如圖2所示實(shí)驗(yàn)系統(tǒng).在圖2中,U1是8086處理器,U2是8086地址/數(shù)據(jù)復(fù)用引腳要求的外部信號(hào)分離器,U3是推移鎖存器組,U4是雙空間存儲(chǔ)器.在這個(gè)設(shè)計(jì)中,8086地址線的高4根(AB19~16)接入推移鎖存器組的輸入端(I3~0),用于選擇推移鎖存器,故有16個(gè)推移鎖存器;采用8位鎖存器,故推移鎖存器的輸出線有8根(J7~0),它們接入雙空間存儲(chǔ)器的高位地址線(CAB23~16);8086地址線的其余16根(AB15~0)直接接入雙空間存儲(chǔ)器的低位地址線(CAB15~0),故映射窗為64 kB.所設(shè)計(jì)的雙空間存儲(chǔ)器共有24根地址線(CAB23~0),故容量為16 MB.若能按照推移技術(shù)的操作過程使8086CPU通過其1 MB內(nèi)存地址及時(shí)訪問到16 MB的雙空間存儲(chǔ)器的任何單元,則推移技術(shù)和相關(guān)理論的正確性將被驗(yàn)證.

      圖2 8086CPU的內(nèi)存推移系統(tǒng)Fig.2 Memory space move unit of 8086CPU

      2.2 不可閉窗的設(shè)置和應(yīng)用

      任何計(jì)算機(jī)系統(tǒng)在上電時(shí)執(zhí)行的第一條指令和以這條指令為入口的初始化程序都必須始終處于內(nèi)存空間中,否則計(jì)算機(jī)無法在上電后自動(dòng)開始運(yùn)行.為此,目前的計(jì)算機(jī)系統(tǒng)總是把第一條指令和初始程序放置在只讀存儲(chǔ)器中,并將第一條指令的地址設(shè)定為系統(tǒng)初始化后給出的第一個(gè)取指令地址.在以雙空間存儲(chǔ)器為基礎(chǔ)的系統(tǒng)中,第一條指令和初始化程序也必須位于CPU可隨時(shí)訪問的隨機(jī)存儲(chǔ)器中,且保證第一條指令位于系統(tǒng)的第一個(gè)取指令地址上.由于雙空間存儲(chǔ)器具有非易失性,因此這種系統(tǒng)中不再需要只讀存儲(chǔ)器,而是將第一條指令和初始化程序放置在不可閉窗中即可.

      Intel公司設(shè)定8086芯片第一條指令的地址為0FFFF0H,即上電后8086CPU送出的第一個(gè)取指地址為0FFFF0H,這個(gè)地址的高4位為1111,于是AB19~16選中第15號(hào)推移鎖存器.因此,本工作將第15號(hào)推移鎖存器設(shè)定為不可修改,則15號(hào)窗框成為不可推移的.設(shè)計(jì)255號(hào)窗壁為不可閉窗,于是給15號(hào)推移鎖存器置入固定值0FFH,則15號(hào)窗框被設(shè)定在255號(hào)窗壁上,如圖3所示,其中的U2,U3和U4之含義同圖2,則255號(hào)窗壁上的程序和數(shù)據(jù)在任意時(shí)刻都能被8086CPU隨機(jī)訪問.再考慮到第一條指令地址的低16位為0FFF0H,于是將第一條指令放置在255號(hào)窗內(nèi)偏移量為0FFF0H處,如圖4(b)所示.

      圖3 不可閉窗Fig.3 Unclosed window

      圖4 不可閉窗應(yīng)用Fig.4 Application of unclosed window

      第一條指令往往是轉(zhuǎn)移到初始化程序的無條件長(zhǎng)跳轉(zhuǎn)指令,本實(shí)驗(yàn)將系統(tǒng)初始化程序放置在255號(hào)窗壁中偏移量為0000H處,于是位于OFFF0H的第一條長(zhǎng)跳轉(zhuǎn)指令是一個(gè)5字節(jié)指令:EA000000F0H,其中第一個(gè)字節(jié)EAH是長(zhǎng)跳轉(zhuǎn)指令的操作碼,第二和三字節(jié)0000H是執(zhí)行指令后IP寄存器的值,第四和五字節(jié)00F0H是執(zhí)行指令后CS寄存器的值.當(dāng)8086CPU啟動(dòng)執(zhí)行第一條指令后CS為F000H,IP為0000H,即可跳轉(zhuǎn)到設(shè)定的初始化程序繼續(xù)運(yùn)行.如圖4(b)所示.

      Intel公司還設(shè)定8086CPU的中斷矢量表位于內(nèi)存的00000H~3FFH區(qū)段(1 kB).由于中斷發(fā)生的偶然性,中斷矢量表也必須能夠隨時(shí)被CPU隨機(jī)訪問,因此現(xiàn)有的電子計(jì)算機(jī)系統(tǒng)中往往將中斷矢量表駐留在內(nèi)存中.本工作將中斷矢量表安置在不可閉的254號(hào)窗壁上.由于8086CPU訪問中斷矢量表時(shí)給出的地址在00000H~003FFH區(qū)段,其高4位總是0000,于是AB19~16將選中第0號(hào)推移鎖存器.鑒于此,本工作給0號(hào)推移鎖存器也置入固定值0FEH,則0號(hào)窗框被固定在254號(hào)窗壁,如圖3所示.考慮到中斷矢量表的低16位為0000H~03FFH,本工作將中斷矢量表安置在254號(hào)窗壁的開始位置,如圖4(a)所示.

      2.3 推移命令設(shè)計(jì)

      圖4(a)中,在254號(hào)窗壁的400H~4FFH地址范圍內(nèi)留了256個(gè)地址的推移向量表區(qū)域,該區(qū)域內(nèi)的每一個(gè)地址都可以設(shè)置為一個(gè)推移鎖存器的寫入端口,稱為推移鎖存器寫入端地址.給一個(gè)推移鎖存器寫入一個(gè)值,就將對(duì)應(yīng)的窗框推移到新指定的窗壁上.因此,寫推移鎖存器的命令就是推移命令.

      本實(shí)驗(yàn)系統(tǒng)僅設(shè)計(jì)了16個(gè)推移鎖存器,因此只需要占用圖4(a)中推移向量表區(qū)域的16個(gè)地址,具體占用的地址由推移鎖存器寫入端地址的布線決定.推移鎖存器寫入端地址的布線如圖5所示,它決定了本實(shí)驗(yàn)系統(tǒng)的推移鎖存器寫入地址(見表1).由于圖4中沒有CAB0線,因此每個(gè)偶數(shù)地址和大于1的奇數(shù)地址訪問同一個(gè)推移鎖存器寫入端.又由于各推移鎖存器的寫入數(shù)據(jù)線DI7~0連接系統(tǒng)數(shù)據(jù)線的D7~0,必須用字命令來寫推移命令,且將推移鎖存器的修改值放在低8位上,數(shù)據(jù)的高8位沒有意義.由此可知,一個(gè)系統(tǒng)的推移命令可以有多種形式.本實(shí)驗(yàn)只采用如下形式:

      其中?為十六進(jìn)制數(shù).圖5所示推移鎖存寫入端地址中的U3之含義同圖2.

      表1 推移鎖存器寫入端地址Table 1 Address of write in ports of the move latches

      顯然,主板制造商可以使各個(gè)主板產(chǎn)品具有不同的推移鎖存器寫入端地址,并使各個(gè)主板的初始化程序中包含相應(yīng)的推移命令,而所有的推移操作必須調(diào)用這組推移命令,從而提高了主板的安全性.

      2.4 系統(tǒng)的線路連接結(jié)構(gòu)

      結(jié)合圖2,3和5,并選擇74LS373芯片用作各類鎖存器,74LS245芯片為數(shù)據(jù)傳輸方向控制器,74HC154芯片為4-16譯碼器,27C256,62256芯片構(gòu)成雙空間存儲(chǔ)器芯片,則形成本工作的線路連接原理圖,如圖6所示.圖6中U1,U2,U3和U4之含義同圖2.

      圖5 推移鎖存器寫入端地址總線Fig.5 Address bus of write in ports of the move latches

      圖6 實(shí)驗(yàn)系統(tǒng)電路原理圖Fig.6 Electric schematic diagram of experiment system

      需要說明的是,本工作沒有使用NVRAM型存儲(chǔ)芯片來構(gòu)造雙空間存儲(chǔ)器,原因有二:一是Proteus軟件中沒有NVRAM芯片的模擬器;二是本實(shí)驗(yàn)的核心目標(biāo)是驗(yàn)證內(nèi)存空間在雙空間存儲(chǔ)器上進(jìn)行推移的機(jī)制和技術(shù),著重點(diǎn)并不在于雙空間存儲(chǔ)器的非易失性,因此用普通的隨機(jī)存儲(chǔ)芯片構(gòu)造一個(gè)大于內(nèi)存空間的可隨機(jī)訪問存儲(chǔ)器就足以達(dá)到實(shí)驗(yàn)?zāi)繕?biāo).對(duì)于系統(tǒng)中依靠雙空間存儲(chǔ)器的非易失性工作的部分,則用在目標(biāo)系統(tǒng)啟動(dòng)前給相應(yīng)窗壁先賦指定值的方法來模擬,如對(duì)不可閉窗255號(hào)窗壁中的8086CPU的初始化程序和首指令就采用這種模擬方式.因此,雙空間存儲(chǔ)器255窗壁用兩片27C256(32 k×8 bit)ROM芯片實(shí)現(xiàn),以便在系統(tǒng)啟動(dòng)之前就可以將初始化程序和首指令燒寫到ROM中運(yùn)行,其他窗壁用62256(32 k×8 bit)SRAM實(shí)現(xiàn).

      2.5 實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)過程設(shè)計(jì)

      內(nèi)存推移理論的核心技術(shù)有如下5個(gè)方面:①用非易失性隨機(jī)存儲(chǔ)器構(gòu)造大容量的雙空間存儲(chǔ)器;②構(gòu)造推移鎖存器;③用推移命令在雙空間存儲(chǔ)器上移動(dòng)窗框;④CPU透過映射窗隨機(jī)訪問窗壁的字單元;⑤不可閉窗的設(shè)置和應(yīng)用.①和②兩項(xiàng)技術(shù)是系統(tǒng)構(gòu)造,它們的正確性體現(xiàn)在圖5中,如果按圖5構(gòu)建的系統(tǒng)能夠正常運(yùn)行并可實(shí)現(xiàn)其余3項(xiàng)技術(shù),則這兩項(xiàng)技術(shù)的正確性被證實(shí).③,④和⑤三項(xiàng)技術(shù)是操作,必須通過實(shí)施特定的操作才能證明其正確性和有效性,為此設(shè)計(jì)如下實(shí)驗(yàn)操作方案.

      (1)繪制目標(biāo)系統(tǒng)電路.啟動(dòng)Proteus 8.0,新建工程,根據(jù)圖6編輯完成實(shí)驗(yàn)?zāi)繕?biāo)系統(tǒng)的電路并保存工程名為BispaceSimulation.DSN,該電路所需要的元件和圖6一致.按圖6構(gòu)造實(shí)驗(yàn)?zāi)繕?biāo)系統(tǒng).鑒于相應(yīng)的工程圖太大,此處省略.

      (2)設(shè)置目標(biāo)系統(tǒng)的初始化程序和首指令.將255號(hào)窗壁中的內(nèi)容按圖4(b)的要求設(shè)置.本過程將完成系統(tǒng)啟動(dòng)跳轉(zhuǎn)首指令、初始化程序指令燒寫到255窗壁的27C256 ROM芯片中.首先編寫完成上述功能的匯編程序;然后將匯編程序編譯成bin文件,之后將bin文件轉(zhuǎn)換成能燒寫到27C256芯片中的hex文件[22],命名為jvi.hex;最后在Proteus中分別雙擊255窗壁的兩片27C256芯片配置其鏡像文件(image file)為jvi.hex,注意偶(奇)體27C256即接低(高)8位數(shù)據(jù)線D7~0(D15~8)的芯片將其鏡像文件基地址設(shè)成0(1),文件地址偏移都設(shè)成1.這樣在本仿真系統(tǒng)啟動(dòng)時(shí),255號(hào)窗壁中ROM芯片就保存如圖4(b)所要求的程序.判定:若系統(tǒng)啟動(dòng)時(shí),255號(hào)窗壁中ROM芯片保存了所要求的程序,則證明系統(tǒng)的初始化程序和首指令設(shè)置成功.

      (3)模擬8086CPU啟動(dòng)過程.目的:檢驗(yàn)?zāi)繕?biāo)系統(tǒng)啟動(dòng)后是否正確地執(zhí)行第一條指令.操作設(shè)計(jì):將第一條指令設(shè)計(jì)為跳轉(zhuǎn)到初始化模擬程序設(shè)定的入口地址0FF 0000H.判定:若系統(tǒng)啟動(dòng)后跳轉(zhuǎn)到初始化程序處執(zhí)行,則證明第一條指令被正確執(zhí)行并完成跳轉(zhuǎn).

      (4)執(zhí)行目標(biāo)系統(tǒng)初始化推移矢量表模擬實(shí)驗(yàn).目的:檢驗(yàn)初始化推移矢量表是否被自動(dòng)執(zhí)行.操作設(shè)計(jì):將8086CPU的初始化程序開始一段設(shè)計(jì)為給1~14號(hào)推移鎖存器分別賦值01H~0EH的指令,通過考察254號(hào)窗壁推移向量表中相應(yīng)單元值的變化來判斷該初始化程序被執(zhí)行的情況.判定:若各個(gè)推移鎖存器具有了預(yù)設(shè)的值,證明初始化程序運(yùn)行成功.

      (5)透過映射窗訪問雙空間存儲(chǔ)器字空間實(shí)驗(yàn).目標(biāo):驗(yàn)證CPU對(duì)內(nèi)存的訪問被推移系統(tǒng)透過映射窗落實(shí)為對(duì)字空間的訪問.操作設(shè)計(jì):先將1號(hào)、2號(hào)推移鎖存器的值設(shè)為01H和02H,即分別指定1號(hào)和2號(hào)窗壁;然后將數(shù)值45H寫入0100FFH地址、將數(shù)值67H寫入0200AAH地址;再執(zhí)行讀出0100FFH地址的內(nèi)容,并將讀出值送入0200ABH地址.判定:若1號(hào)推移鎖存器所指向窗壁中,偏移地址為00FFH的存儲(chǔ)單元中有值45H,在2號(hào)推移鎖存器所指向的窗壁中,偏移地址為00AAH的存儲(chǔ)單元中有值67H,偏移地址為00ABH的存儲(chǔ)單元中有值45H,則證明達(dá)到實(shí)驗(yàn)?zāi)繕?biāo).

      (6)修改推移鎖存器實(shí)驗(yàn).目的:驗(yàn)證推移指令的正確性.操作設(shè)計(jì):執(zhí)行2.3節(jié)給出的推移命令,實(shí)現(xiàn)給指定的推移鎖存器賦值.考慮到本實(shí)驗(yàn)設(shè)計(jì)的8086初始化程序是由給1~15號(hào)推移鎖存器分別賦值的指令組成,因此如果方案(4)和(5)的實(shí)驗(yàn)成功,則本方案的實(shí)驗(yàn)就同時(shí)成功.但為了更好地驗(yàn)證推移操作,實(shí)驗(yàn)中執(zhí)行燒寫在ROM中的初始化程序的推移指令代碼部分,給3號(hào)推移鎖存器賦值2AH,給5號(hào)推移鎖存器賦值55H,給14號(hào)推移鎖存器賦值F3H.判定:若初始化程序執(zhí)行完推移指令代碼部分后各推移鎖存器的值均正確,證明推移命令正確,即3,5和14號(hào)推移鎖存器的值分別為2AH,55H和F3H,則修改推移鎖存器成功.

      (7)移動(dòng)映射窗實(shí)驗(yàn).目標(biāo):證明若改變一個(gè)推移鎖存器的值,則對(duì)同一個(gè)內(nèi)存地址的訪問會(huì)落實(shí)到不同的窗壁上.設(shè)計(jì):用方案(6)證實(shí)的技術(shù)修改1號(hào)和2號(hào)推移鎖存器,然后再次執(zhí)行方案(5).判定:若在1號(hào)和2號(hào)推移鎖存器指向的新窗壁上方案(5)成功,則達(dá)到實(shí)驗(yàn)?zāi)繕?biāo).

      (8)中斷系統(tǒng)實(shí)驗(yàn).目標(biāo):驗(yàn)證CPU響應(yīng)中斷時(shí)能夠從中斷矢量號(hào)找到保存254號(hào)不可閉窗的中斷矢量,并將中斷矢量值正確地送入CS和IP寄存器.操作設(shè)計(jì):給254號(hào)窗壁中30H號(hào)中斷矢量的位置賦任意值,本工作中賦值為360050F0H,然后在IP為任意地址時(shí)執(zhí)行中斷指令I(lǐng)NT 30H.判定:若執(zhí)行INT 30 H指令后,CS為F050H,IP為0036H,則達(dá)到實(shí)驗(yàn)?zāi)康?本工作還同時(shí)驗(yàn)證了CPU可隨時(shí)訪問不可閉窗中的單元.

      3 實(shí)驗(yàn)操作及結(jié)果分析

      根據(jù)第2節(jié)的實(shí)驗(yàn)設(shè)計(jì),實(shí)驗(yàn)操作可分為對(duì)硬件模擬軟件的操作和對(duì)推移技術(shù)的驗(yàn)證操作兩部分:前一部分是啟動(dòng)Proteus 8.0硬件仿真系統(tǒng),并在仿真環(huán)境中建立目標(biāo)系統(tǒng),這部分的實(shí)驗(yàn)?zāi)康暮筒僮髟O(shè)計(jì)見2.5節(jié)的方案(1)和(2);后一部分是在目標(biāo)系統(tǒng)的仿真系統(tǒng)中驗(yàn)證雙空間存儲(chǔ)器理論的核心技術(shù),其實(shí)驗(yàn)?zāi)康暮筒僮髟O(shè)計(jì)見2.5節(jié)的方案(3)~(8).

      3.1 建立目標(biāo)系統(tǒng)仿真環(huán)境

      仿真環(huán)境如下:CPU為Intel奔騰雙核T3200,操作系統(tǒng)為Windows 7,仿真軟件為Proteus 8.0.

      操作一繪制目標(biāo)仿真系統(tǒng)電路.

      步驟(一)啟動(dòng)Proteus 8.0軟件,進(jìn)入建立工程界面.

      步驟(二)按2.4節(jié)的設(shè)計(jì),選擇目標(biāo)系統(tǒng)的各種芯片,并連線繪制成目標(biāo)系統(tǒng),如圖7所示.

      圖7 仿真系統(tǒng)線路圖Fig.7 Circuit diagram of the simulation system

      步驟(三)將繪制完成的目標(biāo)系統(tǒng)存盤,文件名為BispaceSimulation.DSN.

      說明:如果將仿真系統(tǒng)在Proteus一張圖紙上完成,繪制的圖會(huì)非常大.因?yàn)镻roteus支持模塊化、多層次、多圖紙的設(shè)計(jì),所以圖7所示的BispaceSimulation.DSN工程是將仿真系統(tǒng)按圖2分成的4個(gè)模塊U1~U4分別繪制然后再組合而成.U1是8086CPU,U2~U4模塊的內(nèi)部細(xì)節(jié)可參見圖6.將U4中雙空間存儲(chǔ)器每個(gè)窗壁中的偶、奇存儲(chǔ)體分別命名為M?.M0和M?.M1,其中?代表窗壁號(hào).系統(tǒng)運(yùn)行時(shí)如果想查看某一個(gè)窗壁存儲(chǔ)器的內(nèi)容,只需要選擇“Debug”菜單下“Memory Contents-M?.M?”即可(見圖8).另外,從圖8中可以看出,在Proteus對(duì)目標(biāo)系統(tǒng)模擬時(shí),可以通過“Debug”對(duì)程序調(diào)試進(jìn)行控制,并且可查看目標(biāo)系統(tǒng)中8086CPU各寄存器狀態(tài)和當(dāng)前執(zhí)行指令等操作.

      圖8 “Debug”菜單項(xiàng)Fig.8 Menu bar of“Debug”

      操作二燒寫目標(biāo)仿真系統(tǒng)的實(shí)驗(yàn)程序.

      步驟(一)編寫系統(tǒng)首指令、初始化程序和30H中斷服務(wù)子程序的匯編程序.

      步驟(二)將匯編程序編譯成可執(zhí)行bin文件,然后利用bin2hex工具轉(zhuǎn)換成能夠燒寫到ROM芯片的hex文件jvi.hex.

      步驟(三)建立只讀目標(biāo)系統(tǒng)初始化程序和首指令的hex文件jvi.hex,將jvi.hex文件燒寫到255號(hào)窗壁中.

      實(shí)驗(yàn)結(jié)果:單擊Proteus中“Debug”菜單下的“Start/Restart Debugging”選項(xiàng)啟動(dòng)仿真系統(tǒng)(見圖8),這時(shí)再依次選擇“Debug”菜單下的“Memory Contents M255-M0”和“MemoryContents M255-M1”查看芯片內(nèi)容.這兩個(gè)存儲(chǔ)芯片在雙空間存儲(chǔ)器中的地址為00FF 0000~00FF FFFF(255號(hào)窗壁),M25-5M0為偶存儲(chǔ)體,M25-5M1為奇存儲(chǔ)體,該窗壁的0000位置開始為8086CPU初始化程序的機(jī)器指令代碼,FFF0H位置為跳轉(zhuǎn)指令EA000000F0H代碼, 0536H位置為30H中斷服務(wù)子程序的指令代碼.因?yàn)檫@3個(gè)程序的偏移位置間隔太大,所以此處不再給出255窗壁的內(nèi)容截圖,但通過下節(jié)操作三到操作八的正確性可判斷本操作二成功與否.

      3.2 驗(yàn)證雙空間存儲(chǔ)器理論的核心技術(shù)

      操作三模擬8086CPU啟動(dòng)過程.

      步驟(一)在圖8所示界面上點(diǎn)擊“Start/Restart Debugging”復(fù)位啟動(dòng)系統(tǒng),使系統(tǒng)恢復(fù)到上電狀態(tài).

      可觀察到各寄存器的內(nèi)容(見圖9)如下:AX=0000H,BX=0000H,CX=0000H,DX=0000H, SI=0000H,DI=0000H,SP=0000H,BP=0000H,CS=FFFFH,DS=FFFFH,ES=FFFFH,SS= FFFFH,IP=0000H.

      圖9 系統(tǒng)復(fù)位后8086CPU狀態(tài)Fig.9 Original state of 8086CPU after reseting system

      圖9中Op:EA000000F0H和Pc:jmp F000:0000表明了系統(tǒng)復(fù)位后要在0FFFF0H執(zhí)行的第一條長(zhǎng)跳轉(zhuǎn)指令.

      內(nèi)存區(qū)域:0~254號(hào)窗壁(00 0000H~FF 0000H)上的存儲(chǔ)單元的值均為00H;255號(hào)窗壁的ROM芯片除燒寫的跳轉(zhuǎn)指令、初始化程序和中斷服務(wù)子程序外,其他存儲(chǔ)單元的值均為FFH.通過圖8所示界面上的“Debug”菜單,從下拉菜單中選擇任意窗壁上的“Memory Contents M?.M?”芯片可以查看其內(nèi)容.

      步驟(二)基于步驟(一),在“Debug”菜單下選“Step Over”或按“F10”快捷鍵使處理器單步執(zhí)行第一條指令.

      可觀察到各寄存器的內(nèi)容(見圖10)如下:AX=0000H,BX=0000H,CX=0000H,DX= 0000H,SI=0000H,DI=0000H,SP=0000H,BP=0000H,CS=F000H,DS=FFFFH,ES= FFFFH,SS=FFFFH,IP=0000H.

      圖10中Op:B80000H和Pc:mov ax,0000表明了系統(tǒng)復(fù)位后成功跳轉(zhuǎn)到FF0000H處要執(zhí)行的初始化程序的第一條指令.

      實(shí)驗(yàn)結(jié)論:目標(biāo)系統(tǒng)復(fù)位成功;目標(biāo)系統(tǒng)利用15號(hào)推移矢量成功跳轉(zhuǎn)到初始化程序位置上執(zhí)行.

      操作四執(zhí)行目標(biāo)系統(tǒng)初始化推移矢量表實(shí)驗(yàn).

      按“F10”鍵使處理器單步執(zhí)行2.5節(jié)方案(4),該操作指令已經(jīng)被燒寫到ROM中.

      執(zhí)行結(jié)果:雙空間存儲(chǔ)器區(qū)域FE0400H~FE04FFH的值為設(shè)定的窗壁地址,其余地址的存儲(chǔ)單元值均為00H.通過“Debug”菜單查看254不可閉窗壁上0400H~041EH推移矢量表的內(nèi)容(見圖11),僅看偶存儲(chǔ)體“Memory Contents-M254-M0”,因?yàn)樗O(shè)計(jì)的電路圖可以保證推移鎖存器與推移矢量表內(nèi)容同步,所以0~15推移鎖存器的值依次初始化為FEH, 01H~0EH和FFH.需要說明的是,因?yàn)?54號(hào)窗壁是由雙8位存儲(chǔ)體組成,所以圖11中紅色框的偏移地址0200H都需要乘以2.例如,圖11左邊0200H位置其實(shí)對(duì)應(yīng)的254號(hào)窗壁的偏移地址中的0400H(低8位),右邊0200H對(duì)應(yīng)254號(hào)窗壁的偏移地址中的0401H(高8位).下面所述存儲(chǔ)器的讀法與此相同.

      圖10 系統(tǒng)正確啟動(dòng)狀態(tài)Fig.10 Normal state after starting system

      圖11 推移鎖存器初始化矢量Fig.11 Initial values of the move latches

      實(shí)驗(yàn)結(jié)論:初始化程序執(zhí)行后雙空間存儲(chǔ)器的FE0400~FE04FF的值與設(shè)定值相同.初始化程序正常執(zhí)行,且推移矢量表初始化設(shè)置完成.

      操作五透過映射窗訪問雙空間存儲(chǔ)器字空間實(shí)驗(yàn).

      按“F10”鍵使處理器依次單步執(zhí)行2.5節(jié)方案(5),執(zhí)行結(jié)果如圖12所示.圖13是操作過程中將0100FFH地址的內(nèi)容讀取到AL中的處理器時(shí)各寄存器的狀態(tài).

      圖12 操作五后對(duì)應(yīng)映射窗內(nèi)容Fig.12 Digits in map window after operating by No.5

      實(shí)驗(yàn)結(jié)論:圖13是在DS=1000H,BX=00FFH時(shí)執(zhí)行MOV AL,[BX]指令后的狀態(tài).可以看出,通過寄存器間接尋址,可成功讀出1號(hào)窗壁的FFH位置的45H值到AL寄存器中.圖12證明了整個(gè)操作過程的成功,即8086CPU成功訪問到雙空間存儲(chǔ)器指定地址.

      圖13 讀取0100FFH地址Fig.13 Reading out digit from 0100FFH address

      操作六修改推移鎖存器實(shí)驗(yàn).

      按“F10”鍵使處理器依次單步執(zhí)行2.5節(jié)方案(6),執(zhí)行結(jié)果如圖14所示(僅給出有意義的低8位).執(zhí)行后推移鎖存器后3,5和14號(hào)推移鎖存器的值分別更新為2AH,55HV和F3H.

      圖14 操作六結(jié)果Fig.14 Results after operating by No.6

      實(shí)驗(yàn)結(jié)論:成功修改推移鎖存器.

      操作七修改推移鎖存器及移動(dòng)映射窗實(shí)驗(yàn).

      首先按2.5節(jié)方案(6)將V1,2V號(hào)推移矢量分別指向3號(hào)和253號(hào)窗壁,即推移鎖存器分別更新為03H和FDH,然后執(zhí)行與方案(5)相同偏移地址上的操作.

      執(zhí)行結(jié)果:修改推移鎖存器結(jié)果如圖15所示,移動(dòng)映射窗如圖16所示.

      圖15 修改推移鎖存器Fig.15 Rewriting the move latches

      圖16 操作七后對(duì)應(yīng)映射窗內(nèi)容Fig.16 Digits in map window after operating by No.7

      實(shí)驗(yàn)結(jié)論:圖15說明成功修改推移鎖存器,圖12與16的對(duì)比說明已正確移動(dòng)映射窗.另外,雖然Proteus 8.0沒有提供直接查看鎖存器當(dāng)前鎖存值的功能,通過操作六和七可以證明執(zhí)行推移指令時(shí)會(huì)將推移鎖存器和254號(hào)窗壁中推移矢量表中的值保持同步.

      操作八中斷系統(tǒng)實(shí)驗(yàn).

      按“F10”鍵執(zhí)行2.5節(jié)方案(8),即“INT 30H”指令(見圖17),執(zhí)行結(jié)果如圖18所示.

      圖17 即將執(zhí)行INT 30H前8086CPU狀態(tài)Fig.17 8086CPU statebeforeexecutingin struct INT 30H

      圖18 執(zhí)行中斷服務(wù)程序Fig.18 Running interrupt service routine

      實(shí)驗(yàn)結(jié)論:此時(shí)CS:F050H,IP:0036H可以驗(yàn)證處理器正確響應(yīng)設(shè)置在254號(hào)不可閉窗的30H中斷服務(wù)子程序的地址并執(zhí)行該子程序.

      對(duì)上述實(shí)驗(yàn)重復(fù)多次,每次給出不同的參數(shù),均達(dá)到實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)結(jié)果證明內(nèi)存空間推移理論和技術(shù)的核心內(nèi)容的正確性.

      4 結(jié)束語

      基于Proteus 8.0硬件仿真系統(tǒng)完成的實(shí)驗(yàn)證實(shí)了內(nèi)存空間在雙空間存儲(chǔ)器上推移的理論和核心技術(shù).實(shí)驗(yàn)中8086CPU的1 MB內(nèi)存空間依靠16個(gè)推移鎖存器被分時(shí)映射到16 MB的雙空間存儲(chǔ)器的任意位置,從而使8086CPU對(duì)其1 MB內(nèi)存空間的隨機(jī)訪問自動(dòng)落實(shí)為對(duì)16 MB雙空間存儲(chǔ)器指定位置的隨機(jī)實(shí)時(shí)訪問.本工作通過設(shè)置不可閉窗,保證了CPU的正確啟動(dòng)過程、執(zhí)行初始化程序和執(zhí)行中斷命令.本工作對(duì)推移鎖存器進(jìn)行了方便靈活的改寫,并以此實(shí)現(xiàn)了內(nèi)存空間在雙空間存儲(chǔ)器上的推移操作.

      本工作的成功為雙空間存儲(chǔ)器理論和內(nèi)存空間推移技術(shù)奠定了可靠基礎(chǔ),為研制基于雙空間存儲(chǔ)器的新型計(jì)算機(jī)系統(tǒng)勾勒出了設(shè)計(jì)思想.并可從實(shí)驗(yàn)結(jié)果推測(cè)出,未來的計(jì)算機(jī)系統(tǒng)中可以用一個(gè)大容量的雙空間存儲(chǔ)器來取代其內(nèi)存儲(chǔ)器和外存存儲(chǔ)器,使CPU能實(shí)時(shí)隨機(jī)訪問的存儲(chǔ)器范圍達(dá)到雙空間存儲(chǔ)器的整個(gè)空間,不再存在內(nèi)存和外存間的數(shù)據(jù)拷貝問題.

      [1]JIN Y,HE H C,L¨U Y T.Ternary optical computer architecture[J].Physica Scripta,2005, T118:98-101.

      [2]金翊.走近光學(xué)計(jì)算機(jī)[J].上海大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,17(4):401-411.

      [3]金翊,王宏健,歐陽山,等.可重構(gòu)三值光學(xué)處理器的原理、基本結(jié)構(gòu)和實(shí)現(xiàn)[J].中國(guó)科學(xué):信息科學(xué),2012,42(6):778-788.

      [4]諶章義.千位三值光學(xué)處理器理論、結(jié)構(gòu)和實(shí)現(xiàn)[D].上海:上海大學(xué),2010.

      [5]金翊.三值光計(jì)算機(jī)高數(shù)據(jù)寬度的管理策略[J].上海大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,13(5):519-523.

      [6]李梅,金翊,何華燦,等.基于三值邏輯光學(xué)處理器實(shí)現(xiàn)向量矩陣乘法[J].計(jì)算機(jī)應(yīng)用研究,2009, 26(8):2839-2841.

      [7]WANG,X C,PENG J J,JIN Y,et al.Vector-matrix multiplication based on a ternary optical computer[M]//High performance computing and applications.Berlin:Springer-Verlag,2009: 426-432.

      [8]SIMPSON R E,FONS P,KOLOBOV A V,et al.Interfacial phase-change memory[J].Nature Nanotechnology,2011,6(8):501-505.

      [9]WONG H S P,RAOUx S,KIM S B,et al.Phase change memory[J].Proceedings of the IEEE, 2010,98(12):2201-2227.

      [10]LAI S.Current status of the phase change memory and its future[C]//Electron Devices Meeting. 2003,DOI:10.1109/IEDM.2003.1269271.

      [11]TAKASHIMAD,KUNISHIMAI.High-density chain ferroelectric random access memory (CFRAM)[J].IEEE Journal of Solid-State Circuits,1998,33(5):787-792.

      [12]EVANS J,MONTROSS N,SALAZAR G,et al.A discrete ferroelectric memory[C]//Non-Volatile Memory Technology Symposium.2012,DOI:10.1109/NVMTS.2013.6632857.

      [13]TEHRANI S,SLAUGHTER J M,CHEN E,et al.Progress and outlook for MRAM technology[J]. IEEE Transactions on Magnetics,1999,35(5):2814-2819.

      [14]YODA H,FUjITA S,SHIMOMURA N,et al.Progress of STT-MRAM technology and the effect on normally-off computing systems[C]//Electron Devices Meeting.2012,DOI: 10.1109/IEDM.2012.6479023.

      [15]ZHUANG W W,PAN W,ULRICH B D,et al.Novel colossal magnetoresistive thin film nonvolatile resistance random access memory(RRAM)[C]//International Electron Devices Meeting.2002, DOI:10.1109/IEDM.2002.1175811.

      [16]CHENY C,CHENC F,CHENC T,et al.An access-transistor-free(0T/1R)nonvolatile resistance random access memory(RRAM)using a novel threshold switching,selfrectifying chalcogenide device[C]//IEEE International Electron Devices Meeting.2004,DOI: 10.1109/IEDM.2003.1269425.

      [17]Jedec.DDR4 SDRAM standard[EB/OL].(2015-03-20)[2017-01-15].http://www.jedec. org/standards-documents/docs/jesd79-4a.

      [18]Agiga.AGIGARAM?DDR4 NVDIMM[EB/OL].(2015-05-20)[2017-01-15].http://www. agigatech.com/ddr4.php.

      [19]金翊,歐陽山,沈云付,等.一種計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)讀寫方法:201410199434.9[P].2012-04-05.

      [20]顧暉,梁惺彥.微機(jī)原理與接口技術(shù)——基于8086和Proteus仿真[M].北京:電子工業(yè)出版社, 2011:177-288.

      [21]BREY B B.Intel微處理器[M].金惠華,艾明晶,尚利宏,等譯.北京:機(jī)械工業(yè)出版社,2010: 287-309.

      [22]Intel.Hexadecimal object file format specification[EB/OL].(2015-01-18)[2017-01-15].http:// microsym.com/editor/assets/intelhex.pdf.

      本文彩色版可登陸本刊網(wǎng)站查詢:http://www.journal.shu.edu.cn

      Experiment of memory space move technique for double-space storage

      ZHAN Haojun,JIN Yi,OUYANG Shan,SHI Yeqiang
      (School of Computer Engineering and Science,Shanghai University,Shanghai 200444,China)

      This work presents an emulation experiment for double-space storage principle and the memory space move technique.The experiment validate feasibility of using nonvolatile random access memory(NVRAM)to build a double-space storage and correctness of the memory space movement technique.The experiment system consists of an 8086CPU, 16 MB double-space storage,and sixteen 8-bit move latches.Two unmovable and fourteen movable window frames are set up.The first instruction and initial program are set in the 255th window that cannot be closed.An interrupt vector table and a move vector table are set in the 254th unclosed window.It has been make sure that the 8086CPU is booted properly,and the initial program,interrupt service routine,read and write memory instruction are executed correctly.Further,access to the 8086CPU’s 1 MB memory can be automatically transformed to the 16 MB double-space memory unit,and the move latches can be modified to map the window frame into a new window wall of the double-spacestorage.The experimental results lay a foundation for the double-space memory principle and its memory space move technique.

      double-space storage;non-volatile random access memory(NVRAM);memory space move

      TP 333

      A

      1007-2861(2017)02-0201-15

      10.3969/j.issn.1007-2861.2015.01.017

      2015-04-18

      國(guó)家自然科學(xué)基金青年科學(xué)基金資助項(xiàng)目(61103054);上海市自然科學(xué)基金資助項(xiàng)目(15ZR1415400, 13ZR1416000);上海市教委科研創(chuàng)新資助項(xiàng)目(13ZZ074,13YZ005)

      金翊(1957—),男,教授,博士生導(dǎo)師,博士,研究方向?yàn)槿倒鈱W(xué)計(jì)算機(jī).E-mail:yijin@shu.edu.cn

      猜你喜歡
      存器窗框存儲(chǔ)器
      低面積與低延遲開銷的三節(jié)點(diǎn)翻轉(zhuǎn)容忍鎖存器設(shè)計(jì)
      一種低成本的四節(jié)點(diǎn)翻轉(zhuǎn)自恢復(fù)鎖存器設(shè)計(jì)
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      參考答案
      快樂語文(2020年35期)2021-01-06 01:44:26
      一種低功耗的容軟錯(cuò)誤鎖存器設(shè)計(jì)
      一種可排水的外開窗
      存儲(chǔ)器——安格爾(墨西哥)▲
      Grain型級(jí)聯(lián)反饋移存器的非奇異性判定
      基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
      晋中市| 张家川| 四会市| 射洪县| 济阳县| 陕西省| 溧阳市| 鹤壁市| 拉萨市| 丰镇市| 临汾市| 苏尼特左旗| 鲁山县| 昌江| 佛坪县| 同仁县| 黄龙县| 镇安县| 个旧市| 赤水市| 年辖:市辖区| 西城区| 兴仁县| 利川市| 衡南县| 普格县| 保定市| 个旧市| 洪洞县| 昭觉县| 芜湖县| 普洱| 合山市| 安福县| 屯门区| 电白县| 腾冲县| 武义县| 深水埗区| 新安县| 都昌县|