• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    運(yùn)算-數(shù)據(jù)文件
    ——應(yīng)用三值光學(xué)計(jì)算機(jī)的關(guān)鍵技術(shù)

    2019-06-05 01:51:56張素蘭沈云付歐陽山彭俊杰
    關(guān)鍵詞:原始數(shù)據(jù)應(yīng)用程序指令

    金 翊,張素蘭,李 雙,沈云付,歐陽山,彭俊杰

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

    隨著人們處理的問題越來越復(fù)雜,新型計(jì)算機(jī)不斷出現(xiàn),如DNA計(jì)算機(jī),量子計(jì)算機(jī)等[1].2000年出現(xiàn)了用偏振方向相互正交的2個(gè)偏振光狀態(tài)(如垂直偏振光與水平偏振光)和無光態(tài)來表示信息的三值光學(xué)計(jì)算機(jī)(TOC)理論和體系結(jié)構(gòu)[2-3].2017年11月7~11日TOC原型機(jī)SD16在第十九屆中國(guó)國(guó)際工業(yè)博覽會(huì)上展出.隨著SD16問世,TOC的應(yīng)用研究成為關(guān)注焦點(diǎn),如何編制TOC的應(yīng)用程序成為亟待解決的問題.

    為盡快開展對(duì)TOC的應(yīng)用研究,2010年作者就開始研究如何編制TOC的應(yīng)用程序.考慮到這種應(yīng)用程序既要充分發(fā)揮TOC的優(yōu)勢(shì),又要盡量保持傳統(tǒng)的編程習(xí)慣,使程序員容易接受和方便使用,作者采取了將這種計(jì)算機(jī)的應(yīng)用特征包含在運(yùn)算-數(shù)據(jù)文件(簡(jiǎn)稱SZG文件)中,在應(yīng)用程序中將這種文件送三值光學(xué)處理器(TOP)去計(jì)算的策略來構(gòu)建TOC編程平臺(tái).這個(gè)策略包含兩方面:一是構(gòu)建SZG文件;二是對(duì)現(xiàn)有編程語言擴(kuò)充必要的新指令,這些新指令包括將SZG文件送TOP的指令、查詢這種文件在TOC上處理情況的指令和等待TOC回送結(jié)果文件的指令.本文將全面總結(jié)這方面的研究成果并歸納出編制TOC應(yīng)用程序的基本理論和技術(shù).

    1 研究背景

    隨著TOC理論、結(jié)構(gòu)和實(shí)驗(yàn)系統(tǒng)日益豐富,它在計(jì)算能力方面的特性被逐步認(rèn)知,其主要優(yōu)勢(shì)被歸結(jié)為三大特征:數(shù)據(jù)位數(shù)眾多、數(shù)據(jù)位可分配和每個(gè)數(shù)據(jù)位的計(jì)算功能可在運(yùn)行時(shí)重構(gòu)[4-7].眾所周知,電子計(jì)算機(jī)的數(shù)據(jù)位數(shù)基本固定、數(shù)據(jù)位不能拆分給不同的用戶使用、處理器的計(jì)算功能不可改變.顯然,在完全基于電子處理器特點(diǎn)而設(shè)計(jì)的常見編程環(huán)境中無法編制出發(fā)揮TOC優(yōu)勢(shì)的應(yīng)用程序,電子計(jì)算機(jī)的編程方法和程序中使用的管理數(shù)據(jù)的方法也不宜直接使用在TOC上.

    金翊等[8]認(rèn)為:解決這個(gè)問題需要2個(gè)層面上的努力,首先要在概念上使用戶清晰地認(rèn)識(shí)到TOC和電子計(jì)算機(jī)在計(jì)算能力方面能夠一脈相承、相互補(bǔ)充、協(xié)同工作.其次要在編程技術(shù)上使用戶保持習(xí)慣的思維方式,并以升級(jí)編程平臺(tái)的形式實(shí)現(xiàn)TOC的編程環(huán)境.于是提出了TOC是簡(jiǎn)單結(jié)構(gòu)量計(jì)算機(jī)之概念,而簡(jiǎn)單結(jié)構(gòu)量是指其所有分項(xiàng)都為邏輯型或數(shù)值型數(shù)據(jù)的結(jié)構(gòu)量.簡(jiǎn)單結(jié)構(gòu)量計(jì)算機(jī)概括了TOC的應(yīng)用特征,在計(jì)算能力上,使得TOC成為電子計(jì)算機(jī)的延續(xù)和擴(kuò)展.完成了在概念上將2種計(jì)算機(jī)協(xié)調(diào)一致的任務(wù).

    另一方面,簡(jiǎn)單結(jié)構(gòu)量包含了向量和標(biāo)量,因此當(dāng)TOP能夠被重構(gòu)成簡(jiǎn)單結(jié)構(gòu)量運(yùn)算器時(shí),也必然能被重構(gòu)成多個(gè)向量運(yùn)算器和多個(gè)標(biāo)量運(yùn)算器,下文稱其為復(fù)合運(yùn)算器.將TOP重構(gòu)成復(fù)合運(yùn)算器必須解決兩個(gè)問題:一是如何將復(fù)合運(yùn)算器的構(gòu)造參數(shù)在開始計(jì)算前送給TOP;二是程序中用何種簡(jiǎn)單方法將大量的原始數(shù)據(jù)送入TOP.這兩個(gè)問題有密切關(guān)聯(lián).作者采取將復(fù)合運(yùn)算器的構(gòu)造參數(shù)和原始數(shù)據(jù)組織在一個(gè)專門文件——SZG文件中、在程序中將SZG文件適時(shí)送TOC進(jìn)行處理、并等待運(yùn)算結(jié)果返回的策略,一舉解決了這兩個(gè)問題.

    2012年宋凱[9]建立了SZG文件的第一個(gè)版本,其主要貢獻(xiàn)有:① 確立SZG文件分為記錄整體信息的頭部和記錄原始數(shù)據(jù)的數(shù)據(jù)區(qū)2個(gè)部分;② 確立TOC運(yùn)算-數(shù)據(jù)文件的表達(dá)形式為*.SZG,相應(yīng)的結(jié)果文件表達(dá)形式為*_R.SZG,通配符*是用戶給出的文件名全稱,包括存儲(chǔ)路徑;③ 基于該版本完成了對(duì)C語言和MPI語句的基本擴(kuò)充命令[10-11],從而在理論和實(shí)驗(yàn)上證明了以SZG文件為基礎(chǔ),對(duì)現(xiàn)有編程語言做少量擴(kuò)充后,即可形成TOC的應(yīng)用程序編制平臺(tái),并能實(shí)現(xiàn)2種計(jì)算機(jī)在一個(gè)應(yīng)用程序中協(xié)同工作.

    2013年金翊等[8]建立了SZG文件的第2版,這一版仔細(xì)地定義了SZG文件頭部的格式,給出了文件頭部包含的各個(gè)項(xiàng)的名稱、功用和位數(shù),給出了預(yù)留位的多少和位置.這一版不僅使SZG文件有了基本的實(shí)用價(jià)值,還為構(gòu)建TOC的任務(wù)管理軟件、數(shù)據(jù)位分配軟件、處理器重構(gòu)軟件等底層核心軟件奠定了基礎(chǔ).

    2014年以來,隨著TOC底層軟件研究的進(jìn)展,要求對(duì)SZG文件頭部各個(gè)項(xiàng)給出更詳盡的定義,以確保TOC的底層核心軟件能夠無歧義地理解用戶在SZG文件中表達(dá)的意圖.隨著TOC的40位乘法運(yùn)算例程[12]、除法運(yùn)算例程[13]、FFT和DFT算法例程的建立[14-15],又要求SZG文件能夠表達(dá)更加復(fù)雜的運(yùn)算請(qǐng)求,并為第三方開發(fā)更多的數(shù)學(xué)運(yùn)算例程和常用算法例程創(chuàng)造條件.隨著對(duì)TOC潛在應(yīng)用場(chǎng)景的探索不斷深入,還要求能方便地從已有SZG文件或其結(jié)果文件中提取原始數(shù)據(jù)或運(yùn)算結(jié)果來生成新的SZG文件——形成SZG文件鏈.因此,在2015年建立了SZG文件格式的第3個(gè)版本.下文將對(duì)這個(gè)版本做簡(jiǎn)要介紹.

    2 SZG文件的作用

    包含電子處理器和TOP 2個(gè)計(jì)算核心的系統(tǒng)可以用圖1所示的多心洋蔥結(jié)構(gòu)來表述.圖中:每個(gè)核心有自己的底層軟件——操作系統(tǒng),以這2個(gè)操作系統(tǒng)為基礎(chǔ),加上擴(kuò)充了SZG文件傳送指令的程序語言、構(gòu)造SZG文件鏈的指令和初始SZG文件生成軟件就形成了完整的編程平臺(tái).在該編程平臺(tái)上,程序員只需熟悉SZG文件生成技術(shù)和擴(kuò)充后的程序語言,即可編制各種應(yīng)用程序,不必關(guān)心2種計(jì)算核的特點(diǎn)和它們之間的關(guān)聯(lián)性和通信過程.

    圖1 計(jì)算機(jī)系統(tǒng)的多核心結(jié)構(gòu)及SZG文件的功用示意圖Fig.1 Multi-centre architecture of computer system and the functions of SZG file

    與僅有電子處理器可用的應(yīng)用程序相比,在圖1所示編程平臺(tái)上完成的應(yīng)用程序伴有多個(gè)SZG文件,每個(gè)SZG文件中整合了大量的原始數(shù)據(jù)和相應(yīng)的運(yùn)算器規(guī)則.如圖1所示,TOP中包含了一個(gè)輔助處理器,用于完成各種事務(wù)性工作,如管理存儲(chǔ)器、管理運(yùn)算任務(wù)、管理I/O操作、管理SZG文件的傳送和管理TOP的重構(gòu)規(guī)劃等,鑒于這些工作中的大部分與電子計(jì)算機(jī)的事務(wù)性工作相同,而電子計(jì)算機(jī)的操作系統(tǒng)已經(jīng)完善了這些方面的技術(shù),故目前用一個(gè)電子處理器來?yè)?dān)當(dāng)輔助處理器,其上運(yùn)行流行的操作系統(tǒng),再加上研究團(tuán)隊(duì)開發(fā)的TOC任務(wù)管理軟件、處理器重構(gòu)軟件和SZG文件傳輸軟件,構(gòu)成了TOC的底層軟件系統(tǒng).這個(gè)輔助處理器使得TOP充分利用了計(jì)算機(jī)科學(xué)和技術(shù)已取得的各種成果.

    在概念上,以2個(gè)計(jì)算核心的底層軟件為基礎(chǔ),安裝常見的程序語言,如C、C++等,再補(bǔ)充上研究團(tuán)隊(duì)開發(fā)的SZG文件傳送擴(kuò)充指令和生成SZG文件的軟件,就形成了這個(gè)多計(jì)算中心系統(tǒng)的編程平臺(tái).在實(shí)施上,這個(gè)編程平臺(tái)運(yùn)行在程序員手邊的計(jì)算機(jī)上,編制的應(yīng)用程序和多個(gè)SZG文件都保存在電子處理器的非易失性存儲(chǔ)器中.應(yīng)用軟件工作時(shí),在電子處理器上運(yùn)行應(yīng)用程序,由應(yīng)用程序在運(yùn)行時(shí)將SZG文件送到TOP去進(jìn)行計(jì)算,并等待TOP回送結(jié)果文件.

    當(dāng)電子處理器和TOP地理距離較遠(yuǎn)時(shí),兩者通過網(wǎng)絡(luò)連接,這時(shí)圖1中2個(gè)操作系統(tǒng)共用的虛線段為網(wǎng)絡(luò)通信鏈路.當(dāng)2個(gè)計(jì)算核心地理距離臨近時(shí),兩者可以通過USB連接,這時(shí)2個(gè)操作系統(tǒng)共用的虛線段為USB鏈路.當(dāng)2個(gè)計(jì)算核心在一個(gè)機(jī)箱中時(shí),電子處理器可以同時(shí)承擔(dān)TOP的輔助處理器.當(dāng)TOP作為一個(gè)計(jì)算結(jié)點(diǎn)而位于超級(jí)計(jì)算機(jī)系統(tǒng)中時(shí),圖1中的電子處理器代表一個(gè)或多個(gè)電子計(jì)算機(jī)結(jié)點(diǎn),它們之間通過超級(jí)計(jì)算機(jī)的內(nèi)網(wǎng)相互連接.無論兩個(gè)計(jì)算核心之間如何連接,程序員只看到完全一致的編程平臺(tái).

    SZG文件為用戶編寫應(yīng)用程序提供了TOC的一個(gè)簡(jiǎn)潔虛擬機(jī),遮蔽了TOC硬件和底層軟件的細(xì)節(jié),成功地協(xié)調(diào)了電子計(jì)算機(jī)和TOC在應(yīng)用特性上的差異.SZG文件傳送機(jī)制為用戶遮蔽了2種處理器的連接關(guān)系,從而實(shí)現(xiàn)了電子計(jì)算機(jī)和TOC在一個(gè)應(yīng)用程序中協(xié)調(diào)工作.因此,SZG文件成為編程應(yīng)用TOC的必需技術(shù).經(jīng)過對(duì)SZG文件的反復(fù)試驗(yàn)、試用、分析、修正和補(bǔ)充,目前可以確定它具有以下優(yōu)勢(shì):

    (1)保持編程習(xí)慣.采用SZG文件后,程序員可以保持編制應(yīng)用程序的基本習(xí)慣.一般而言,編制應(yīng)用程序時(shí)會(huì)沿用以下步驟和習(xí)慣:

    ① 對(duì)應(yīng)用問題進(jìn)行數(shù)學(xué)描述,也就是建模.

    ② 按建立的數(shù)學(xué)模型組織數(shù)據(jù),包括:確定各類操作數(shù)和相應(yīng)的運(yùn)算規(guī)則等.

    ③ 構(gòu)造出解決問題的各種流程圖,如數(shù)據(jù)流圖、控制流圖、偽碼程序等.

    ④ 按照程序流程圖寫出指令序列.

    ⑤ 在程序的前部設(shè)置運(yùn)行環(huán)境、變量、常量、初始化系統(tǒng)等.

    ⑥ 在程序的適當(dāng)位置寫出運(yùn)算指令.

    ⑦ 判斷運(yùn)算結(jié)果,確定程序轉(zhuǎn)移或結(jié)束.

    應(yīng)用SZG文件編制TOC的應(yīng)用程序時(shí),仍然保持了上述7個(gè)基本步驟和習(xí)慣,僅是在①中要考慮到有了一個(gè)新的計(jì)算工具——復(fù)合運(yùn)算器或簡(jiǎn)單結(jié)構(gòu)量計(jì)算機(jī),故要考慮哪些量用TOC計(jì)算更有效.在②中要考慮將適合TOC計(jì)算的數(shù)據(jù)和相應(yīng)的運(yùn)算器構(gòu)造參數(shù)組織成SZG文件.在⑥中要使用擴(kuò)充的操作指令將SZG文件送TOC,然后根據(jù)具體情況使程序執(zhí)行其它任務(wù)或等待TOC返回運(yùn)算結(jié)果.新增的工作是生成SZG文件,這可以與寫程序的過程分開,由不同的人分別完成,從而使這2個(gè)繁瑣工作同時(shí)進(jìn)行,且互不干擾.TOC更新后只需升級(jí)SZG文件,無需經(jīng)常增加編程指令.

    (2)多用戶共享TOP.多個(gè)用戶可以分別將自己的SZG文件送入同一個(gè)TOC,并等待各自的運(yùn)算結(jié)果返回.如果幾個(gè)用戶的SZG文件對(duì)TOP而言不產(chǎn)生矛盾,TOC就會(huì)將這幾個(gè)SZG文件合并處理,使它們共享一個(gè)TOP.對(duì)于熟知SZG文件和TOC的程序員,也可以將多個(gè)任務(wù)的SZG文件合并成一個(gè)SZG文件,實(shí)現(xiàn)多任務(wù)共享TOP的應(yīng)用程序,或?qū)⒁粋€(gè)任務(wù)中可以并行計(jì)算的部分組織在一個(gè)SZG文件中,實(shí)現(xiàn)一種新的并行計(jì)算技術(shù).

    (3)提高系統(tǒng)效率.當(dāng)TOC接收到多個(gè)SZG文件后,就能知道各個(gè)SZG文件的運(yùn)算要求、數(shù)據(jù)位要求和總的計(jì)算工作量,于是可以根據(jù)自身的當(dāng)前狀況,如有多少可用數(shù)據(jù)位、已構(gòu)成了什么樣的運(yùn)算器等,來統(tǒng)籌安排各個(gè)SZG文件的數(shù)據(jù)位和計(jì)算時(shí)機(jī),并適度合并幾個(gè)SZG文件等,使整個(gè)系統(tǒng)的效率得以提高.另外,SZG文件和SZG結(jié)果文件都是用一條指令來傳送一個(gè)文件,而這2個(gè)文件都包含了大量的數(shù)據(jù),其通信效率遠(yuǎn)遠(yuǎn)高于每個(gè)指令傳送一個(gè)數(shù)據(jù)的通信方式,從而有效減輕了通信壓力,進(jìn)一步提高了系統(tǒng)的整體效率.

    (4)電子處理器與TOP協(xié)同工作.從方便用戶編程和保持運(yùn)行應(yīng)用程序的習(xí)慣考慮,設(shè)計(jì)SZG文件的工作方式時(shí),將應(yīng)用程序運(yùn)行在電子計(jì)算機(jī)上,未運(yùn)行的SZG文件和結(jié)果文件也存儲(chǔ)在用戶端的外存中,只是當(dāng)應(yīng)用程序運(yùn)行到適當(dāng)?shù)臅r(shí)機(jī)才將SZG文件送TOC.雖然TOC計(jì)算SZG文件中的數(shù)據(jù)比電子計(jì)算機(jī)快很多,但仍需一個(gè)較長(zhǎng)的時(shí)間,有經(jīng)驗(yàn)的程序員可以在把SZG文件送TOC后讓電子計(jì)算機(jī)運(yùn)行其它工作,只是在一段時(shí)間后檢查一下結(jié)果文件是否返回即可,利用這種工作模式可以實(shí)現(xiàn)2種計(jì)算機(jī)為一個(gè)任務(wù)服務(wù).顯然,在這個(gè)情景中可以把TOP視為電子計(jì)算機(jī)的協(xié)處理器,但在以SZG文件計(jì)算為核心的程序中又可把電子計(jì)算機(jī)視為TOC的數(shù)據(jù)預(yù)處理機(jī).因而視2種計(jì)算機(jī)是完成同一個(gè)任務(wù)的協(xié)同工作機(jī),更為合適.

    3 SZG文件

    目前,SZG文件是TOC獲知用戶運(yùn)算意圖的惟一途徑,SZG文件由文件頭和操作數(shù)據(jù)(文件體)2部分組成.文件頭記錄用戶需要的各個(gè)運(yùn)算器的構(gòu)造參數(shù)和操作數(shù)據(jù)的整體參數(shù),文件頭中的信息主要是為重構(gòu)光學(xué)處理器提供參數(shù),數(shù)據(jù)區(qū)是用戶輸入的操作數(shù),包含操作數(shù)b和操作數(shù)a.為確保對(duì)用戶意圖的無歧義理解,用戶構(gòu)造SZG文件和TOC識(shí)讀SZG文件必須是完全一致的格式.因此,SZG文件格式定義是這項(xiàng)技術(shù)的核心.

    3.1 SZG文件格式

    在設(shè)計(jì)SZG文件格式時(shí),研究團(tuán)隊(duì)采用的原則有:

    (1)文件頭包含任務(wù)的整體信息和用戶要求的運(yùn)算器.TOP的按位可重構(gòu)和按位可分配之特點(diǎn)決定了要先重構(gòu)好運(yùn)算器,才能計(jì)算用戶的數(shù)據(jù),故文件頭要包含重構(gòu)處理器的全部信息.另外,TOC的任務(wù)管理軟件要選擇針對(duì)該任務(wù)的調(diào)度策略,所以文件頭中還要包括用戶的優(yōu)先級(jí)、數(shù)據(jù)總量和數(shù)據(jù)位數(shù)等信息.

    (2)便于解析.由于TOC的任務(wù)管理軟件運(yùn)行在一個(gè)輔助PC上,該P(yáng)C在解析SZG文件時(shí)以32位或64位的二值數(shù)據(jù)為單位,故SZG文件頭的設(shè)計(jì)也要同時(shí)以32位和64位二值數(shù)據(jù)為基本單位,以方便輔助PC對(duì)文件頭的解析.

    (3)避免冗余信息.文件頭中包含的冗余信息會(huì)占用存儲(chǔ)空間和浪費(fèi)通信帶寬,必須被清除.

    (4)預(yù)留必要的擴(kuò)展位.隨著TOC解決問題的能力越來越強(qiáng),SZG文件的功能和內(nèi)容也會(huì)不斷豐富和變化,為了適應(yīng)這種發(fā)展,必須在SZG文件頭的合適位置預(yù)留一些位數(shù),以便SZG文件版本升級(jí).另外,為了便于解析,預(yù)留的擴(kuò)展位也起到使關(guān)鍵信息的字段同時(shí)湊成32位和64位數(shù)據(jù)的作用.

    遵循上述原則,最新設(shè)計(jì)的SZG文件格式第3版(SZGSJWJGS-JY-ZHSL2015)如圖2所示.圖2(a)為SZG文件的總體格式;(b)為針對(duì)簡(jiǎn)單數(shù)據(jù)類型SZG文件的運(yùn)算標(biāo)示格式;(c)為針對(duì)結(jié)構(gòu)數(shù)據(jù)類型SZG文件的運(yùn)算標(biāo)示格式;數(shù)字序號(hào)1)~10)為字段編號(hào),而10-i)(i=1,2,…,17)表示字段10)中的分字段編號(hào);每個(gè)字段名稱后面的括號(hào)中的數(shù)字表示該字段所占用的位數(shù),每個(gè)計(jì)算標(biāo)示可描述1種運(yùn)算,1個(gè)SZG文件最多可描述 1 280 個(gè)不同的運(yùn)算.

    圖2 三值光學(xué)計(jì)算機(jī)運(yùn)算-數(shù)據(jù)文件格式SZGSJWJGS-JY-ZHSL2015版Fig.2 Computing-data file format of SZGSJWJGS-JY-ZHSL2015

    3.2 SZG文件生成方式

    遵守SZG文件格式,可以用任何文字編輯軟件生成具體的*.SZG文件,但對(duì)一般用戶而言,用這種方法寫出正確的SZG文件很困難.為減輕使用TOC的難度,研究團(tuán)隊(duì)提供了初始SZG文件的生成軟件[10],以及從已有的SZG文件和SZG結(jié)果文件中生成新的SZG文件的指令集.本文論述的核心是SZG文件本身的功用和結(jié)構(gòu),故文中僅介紹生成簡(jiǎn)單數(shù)據(jù)類型的初始SZG文件的方法,并以這種SZG文件來展現(xiàn)本文的核心內(nèi)容.

    圖3 簡(jiǎn)單數(shù)據(jù)類型SZG文件的輸入界面Fig.3 Input interface for simply data type SZG file

    隨著SZG文件格式的更新,生成初始SZG文件的軟件也在逐步升級(jí).該軟件為用戶提供一個(gè)輸入界面,圖3所示是該軟件的最新版本(SZGSRRJ-LS2015)生成簡(jiǎn)單數(shù)據(jù)類型SZG文件的輸入界面[16],它與圖2(a)和(b)所示的簡(jiǎn)單數(shù)據(jù)類型SZG文件格式配套.用戶只需在這個(gè)界面上輸入所需的各個(gè)運(yùn)算規(guī)則和對(duì)應(yīng)的原始數(shù)據(jù),點(diǎn)擊“生成SZG文件”按鈕,該軟件自動(dòng)將界面上輸入的各類信息生成SZG文件,并按用戶給出的存儲(chǔ)路徑和文件名保存之.

    軟件SZGSRRJ-LS2015包含3個(gè)主要功能模塊:

    (1)信息輸入模塊.該模塊的任務(wù)是協(xié)助用戶輸入構(gòu)成SZG文件的各種信息,并對(duì)輸入的信息進(jìn)行格式和匹配性檢查.

    (2)SZG文件生成模塊.該模塊的功能是將由輸入界面送入的信息組織成本地非易失存儲(chǔ)器上的SZG文件.

    (3)運(yùn)算結(jié)果顯示模塊.該模塊的功能是將SZG結(jié)果文件中的運(yùn)算結(jié)果顯示在用戶輸入界面的最右邊列.

    具體輸入過程及圖3中各輸入信息的含義將在下文的實(shí)驗(yàn)部分介紹.

    3.3 SZG文件的處理過程及使用方式

    當(dāng)SZG文件被高級(jí)語言的擴(kuò)充語句送入TOC后,處理過程可分為4大步驟:

    (1)接收SZG文件并將其分類;

    (2)解析SZG文件獲得重構(gòu)信息,并重構(gòu)TOP;

    (3)從SZG文件中取出數(shù)據(jù)、整理數(shù)據(jù)并計(jì)算;

    (4)收集計(jì)算結(jié)果生成結(jié)果文件,并把結(jié)果文件返回用戶程序[17-18].

    對(duì)任何程序語言增添少量擴(kuò)充指令后,都能在其應(yīng)用程序中使用SZG文件,目前已經(jīng)完成了對(duì)C語言的擴(kuò)充指令和對(duì)MPI的擴(kuò)充指令[10-11].C語言擴(kuò)充指令的后臺(tái)支持包含在插件SZGX中,在C語言平臺(tái)安裝這個(gè)插件后,在應(yīng)用程序中能使用的擴(kuò)充指令有:

    (1)void SZG_Init().建立針對(duì)SZG文件的擴(kuò)充指令環(huán)境.它必須是程序中出現(xiàn)的第一條擴(kuò)充指令,且只允許出現(xiàn)一次.

    (2)int SZG(char *path).將path所指的SZG文件發(fā)送到TOP.

    (3)int SZG_SearchResult(char *path).查詢path所指的SZG文件在TOP上的運(yùn)行狀態(tài).

    (4)void SZG_Suspend().掛起本程序,直到對(duì)應(yīng)的結(jié)果文件返回時(shí)被喚醒.

    另外,在應(yīng)用程序的頭部還必須加上頭文件#SZG.h.對(duì)于其它程序語言的擴(kuò)充與此類似,不再贅述.

    4 SZG文件有效性實(shí)驗(yàn)

    文獻(xiàn)[10]中對(duì)SZG文件第1版的有效性進(jìn)行了嚴(yán)格的實(shí)驗(yàn),文獻(xiàn)[11]中對(duì)SZG文件傳送機(jī)制進(jìn)行了嚴(yán)格的實(shí)驗(yàn),因此本文僅對(duì)圖2給出的SZG文件第3版的有效性進(jìn)行實(shí)驗(yàn),對(duì)仍然保持原有技術(shù)的其余部分不重復(fù)實(shí)驗(yàn).

    4.1 實(shí)驗(yàn)規(guī)劃

    考慮到SZG文件的功用在于為應(yīng)用程序員屏蔽掉TOC的硬件特征,其作用范圍在應(yīng)用程序和TOC任務(wù)管理軟件之間[18],而任務(wù)管理軟件是運(yùn)行在輔助處理器上的一個(gè) C++ 程序,故本實(shí)驗(yàn)可以在由多臺(tái)電子計(jì)算機(jī)構(gòu)成的TOC軟件模擬實(shí)驗(yàn)環(huán)境中進(jìn)行,該模擬實(shí)驗(yàn)環(huán)境中的計(jì)算機(jī)通過局域網(wǎng)相互連接.對(duì)應(yīng)于圖1所示的多核心計(jì)算機(jī)系統(tǒng),在該實(shí)驗(yàn)環(huán)境中用一臺(tái)電子計(jì)算機(jī)模擬TOP的輔助處理器,其上運(yùn)行TOC的底層軟件,稱為后臺(tái)機(jī);在另一臺(tái)電子計(jì)算機(jī)上運(yùn)行圖1中的編程平臺(tái),形成完整的程序員手邊計(jì)算機(jī),稱為前臺(tái)機(jī).鑒于本實(shí)驗(yàn)的目標(biāo)是驗(yàn)證SZG文件新版格式的有效性,設(shè)計(jì)實(shí)驗(yàn)步驟為:

    (1)在前臺(tái)機(jī)上分別生成SZG文件和應(yīng)用程序.

    (2)在前臺(tái)機(jī)上運(yùn)行應(yīng)用程序.該應(yīng)用程序中包含將SZG文件送TOP的擴(kuò)充指令.

    (3)在后臺(tái)機(jī)查看收到的SZG文件內(nèi)容.

    如果該SZG文件的內(nèi)容符合圖2給出的新版格式,則本SZG文件新版的有效性得到證實(shí),否則該新版格式失效.

    實(shí)驗(yàn)用例:程序中包含4個(gè)簡(jiǎn)單數(shù)據(jù)類型的計(jì)算,分別是f1=a+b,f2=c-d,f3=e∧g和 f4=h∨i.其中自變量a和b為8位十進(jìn)制數(shù),共有20萬對(duì)原始數(shù)據(jù);c和d為5位十進(jìn)制數(shù),共有10萬對(duì)原始數(shù)據(jù);e和g為5位三值數(shù)據(jù),值域?yàn)閧X,Y,Z},共有10萬對(duì)原始數(shù)據(jù);h和i為7位三值數(shù)據(jù),值域?yàn)閧M,N,P},也有10萬對(duì)原始數(shù)據(jù).

    圖4 SZG文件起始部分的內(nèi)容Fig.4 The contents in the beganing section of SZG file

    4.2 實(shí)驗(yàn)過程

    4.2.1生成SZG文件 運(yùn)行生成初始SZG文件的軟件(如SZGSRRJ-LS2015),在圖3所示界面上的“文件名”欄輸入jy,即設(shè)定該SZG文件的名稱為jy.SZG,存儲(chǔ)在當(dāng)前目錄下;在“運(yùn)算器名”欄輸入s1,即定名第一個(gè)運(yùn)算器為s1;在“數(shù)據(jù)位數(shù)”欄填入8,則在10-1)和10-2)字段都記入8H;“運(yùn)算結(jié)果位數(shù)”欄輸入9,因?yàn)閒1的原始數(shù)據(jù)為8位十進(jìn)制數(shù),考慮到可能有進(jìn)位,故運(yùn)算結(jié)果的位數(shù)取9位十進(jìn)制數(shù),于是在SZG文件頭的10-4)字段記入9H;在“運(yùn)算規(guī)則”區(qū)選擇“+”;將20萬對(duì)原始數(shù)據(jù)逐對(duì)從“操作數(shù)A”和“操作數(shù)B”欄送入;送入過程中如果某個(gè)數(shù)據(jù)不足8位十進(jìn)制數(shù),可點(diǎn)擊“確定”,來開始下一個(gè)數(shù)據(jù)的輸入.圖3給出了輸入完f1運(yùn)算的第32個(gè)原始數(shù)據(jù)后,在左側(cè)查看已輸入數(shù)據(jù)(前21個(gè))情況的屏幕截圖.當(dāng)f1的所有原始數(shù)據(jù)輸入完畢,點(diǎn)擊“下一運(yùn)算器”,則“運(yùn)算器名”后的“1”自動(dòng)變?yōu)椤?”,然后在其后的欄內(nèi)鍵入s2;在“運(yùn)算結(jié)果位數(shù)”欄輸入5;在“運(yùn)算規(guī)則”區(qū)選擇“-”;“數(shù)據(jù)位數(shù)”欄填入5;將10萬對(duì)原始數(shù)據(jù)逐對(duì)從“操作數(shù)A”和“操作數(shù)B”欄送入.點(diǎn)擊“下一運(yùn)算器”,在“運(yùn)算器名”欄輸入L1;在“運(yùn)算結(jié)果位數(shù)”欄輸入5;在“邏輯運(yùn)算變量字符A、B和C”的欄中分別送入X、Y和Z;在“邏輯運(yùn)算真值表”欄送入三值合取(∧)運(yùn)算的真值表;“數(shù)據(jù)位數(shù)”欄填入5;將10萬對(duì)原始數(shù)據(jù)逐對(duì)從“操作數(shù)A”和“操作數(shù)B”欄送入.點(diǎn)擊“下一運(yùn)算器”,在“運(yùn)算器名”欄輸入L2;在“運(yùn)算結(jié)果位數(shù)”欄輸入7;在“邏輯運(yùn)算變量字符A、B和C”的欄中分別送入M、N和P;在“邏輯運(yùn)算真值表”欄送入三值析取(∨)運(yùn)算的真值表;“數(shù)據(jù)位數(shù)”欄填入7;將10萬對(duì)原始數(shù)據(jù)逐對(duì)從“操作數(shù)A”和“操作數(shù)B”欄送入.點(diǎn)擊“檢查/修改”對(duì)所有輸入內(nèi)容進(jìn)行檢查和修正.檢查無誤后,點(diǎn)擊“生成SZG文件”.檢查當(dāng)前文件夾看到j(luò)y.SZG 文件已經(jīng)存在.

    4.2.2編制應(yīng)用程序 應(yīng)用程序的名稱為 xbSZG,在該程序中加入頭文件#SZG.h.程序中使用擴(kuò)充語句送d:szgjy.szg到后臺(tái)機(jī).

    4.2.3在前臺(tái)機(jī)上運(yùn)行應(yīng)用程序xbSZG 本實(shí)驗(yàn)仿照實(shí)際情況將應(yīng)用程序運(yùn)行在前臺(tái)機(jī)中,在運(yùn)行時(shí),應(yīng)用程序包含的擴(kuò)充指令將SZG文件送入后臺(tái)機(jī).

    4.2.4在后臺(tái)機(jī)上查看SZG文件的有效性 在后臺(tái)機(jī)上查看磁盤文件,找到了jy.SZG文件,說明實(shí)驗(yàn)中的應(yīng)用程序xbSZG已經(jīng)通過SZG文件傳送機(jī)制將正確的SZG文件送達(dá)TOP.

    進(jìn)一步用UltraEdit文本編輯器顯示后臺(tái)機(jī)磁盤上jy.SZG文件的二進(jìn)制內(nèi)容,圖4所示是SZG文件起始地址部分內(nèi)容的截圖.圖中:最前面的2個(gè)字節(jié)給出了這個(gè)SZG文件所依據(jù)格式的版本號(hào)0300H;隨后在綠色框中的30個(gè)字節(jié)給出了這個(gè)文件的名稱jy的ASCII碼6A和79;隨后的紅框中給出的是所用計(jì)算機(jī)的IP地址:192.168.10.1;黃色框中的 4表示本SZG文件包含4個(gè)運(yùn)算標(biāo)示;4個(gè)藍(lán)色框中前兩個(gè)字節(jié)順序給出本例中4個(gè)運(yùn)算標(biāo)示的名稱s1、s2、L1和L2,后3個(gè)字節(jié)給出各運(yùn)算器使用的字符,其中 00 00 00 表示該運(yùn)算為數(shù)值計(jì)算.

    圖5所示是SZG文件頭部中前幾個(gè)運(yùn)算標(biāo)示的截圖.圖中:紅、藍(lán)、黃、綠4個(gè)色框中順序是4個(gè)運(yùn)算器s1、s2、L1和L2的運(yùn)算標(biāo)示,紅框位于1928H-1937H地址,與圖2的設(shè)計(jì)一致,其中前2個(gè)字節(jié)的內(nèi)容為 08 08,記錄了s1的2個(gè)輸入數(shù)據(jù)都是8位十進(jìn)制數(shù);隨后的4個(gè)字節(jié)記錄了s1的原始數(shù)據(jù)個(gè)數(shù),在本例中為20萬個(gè)數(shù)據(jù),十六進(jìn)制表示為 03 0D 40;隨后一個(gè)字節(jié)中的9記錄了該運(yùn)算器輸出的計(jì)算結(jié)果的十進(jìn)制位數(shù);隨后的一個(gè)字節(jié)為預(yù)留,取值00;再后的3個(gè)字節(jié)給出s1的運(yùn)算規(guī)則,加法的編碼為 04 00 00;最后的5個(gè)字節(jié)給出s1運(yùn)算器的原始數(shù)據(jù)在該SZG文件數(shù)據(jù)區(qū)中的偏移地址,由于s1是第一個(gè)運(yùn)算器,所以這個(gè)偏移地址為0,其對(duì)應(yīng)的物理地址為5000H.其余3個(gè)運(yùn)算標(biāo)示的含義與此類似,不再贅述.(f2數(shù)據(jù)從18BA00H開始,偏移地址為186A00H.f3數(shù)據(jù)從21E1C0開始,偏移地址為2191C0.f4數(shù)據(jù)從27FC40開始,偏移地址為27AC40).

    圖6所示是該SZG文件數(shù)據(jù)區(qū)的截圖.圖中:藍(lán)色框中是s1運(yùn)算器b的操作數(shù)的前21個(gè)數(shù)據(jù).

    圖5 SZG文件中間部分的內(nèi)容Fig.5 The contents in the middle section of SZG file

    圖6 SZG文件數(shù)據(jù)區(qū)的內(nèi)容Fig.6 The contents in the data section of SZG file

    4.3 實(shí)驗(yàn)結(jié)果

    圖4~6表明,后臺(tái)機(jī)收到的SZG文件完全符合圖2給出的SZG文件第3版格式,并且該SZG文件送達(dá)三值光學(xué)計(jì)算機(jī)后,能夠被TOC的底層軟件正確解讀.完成解讀后,TOC底層軟件就能正確獲得用戶在SZG文件中給出的運(yùn)算和數(shù)據(jù)信息,從而得到構(gòu)造各個(gè)運(yùn)算器的必要參數(shù)和所有原始數(shù)據(jù),進(jìn)而完成計(jì)算任務(wù).這個(gè)測(cè)試說明,圖2給出的SZG文件格式功能有效.

    5 結(jié)語

    三值光學(xué)計(jì)算機(jī)的眾多數(shù)據(jù)位數(shù),這些數(shù)據(jù)位可以被任意分組,并分配給不同的用戶使用,每個(gè)數(shù)據(jù)位的計(jì)算功能可以在運(yùn)行時(shí)重構(gòu)的特點(diǎn)是電子計(jì)算機(jī)所沒有的特性,這些特性帶來了新的并行計(jì)算能力,同時(shí)也強(qiáng)烈沖擊著傳統(tǒng)的編程技術(shù).TOC研究團(tuán)隊(duì)創(chuàng)立的SZG文件將TOC的特征包含在一種特定格式的文件中,并以SZG文件作為擴(kuò)充指令的操作對(duì)象,實(shí)現(xiàn)了在保持傳統(tǒng)編程思想和編程技術(shù)的前提下,充分發(fā)揮TOC優(yōu)勢(shì)的編程技術(shù).數(shù)年的研究成果及模擬實(shí)驗(yàn)表明SZG文件是將TOC的優(yōu)勢(shì)融合于傳統(tǒng)編程技術(shù)的有效途徑,這一途徑不僅為TOC的應(yīng)用提供了有效的技術(shù),還實(shí)現(xiàn)了電子計(jì)算機(jī)與TOP的協(xié)同工作方式.顯然,這種工作方式很容易移植到其它種類的處理器,使用每種處理器各自的運(yùn)算-數(shù)據(jù)文件和對(duì)程序語言的相應(yīng)擴(kuò)充指令,就可實(shí)現(xiàn)多種不同體系結(jié)構(gòu)的處理器協(xié)同工作,對(duì)于高性能計(jì)算和超級(jí)計(jì)算機(jī)系統(tǒng),這是很有意義的并行工作方式.

    猜你喜歡
    原始數(shù)據(jù)應(yīng)用程序指令
    聽我指令:大催眠術(shù)
    GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
    受特定變化趨勢(shì)限制的傳感器數(shù)據(jù)處理方法研究
    刪除Win10中自帶的應(yīng)用程序
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    全新Mentor DRS360 平臺(tái)借助集中式原始數(shù)據(jù)融合及直接實(shí)時(shí)傳感技術(shù)實(shí)現(xiàn)5 級(jí)自動(dòng)駕駛
    汽車零部件(2017年4期)2017-07-12 17:05:53
    坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
    世界經(jīng)濟(jì)趨勢(shì)
    關(guān)閉應(yīng)用程序更新提醒
    電腦迷(2012年15期)2012-04-29 17:09:47
    临夏县| 铜梁县| 昌图县| 莱州市| 福贡县| 广平县| 罗田县| 德阳市| 金堂县| 原平市| 榆社县| 平武县| 武鸣县| 和平区| 库尔勒市| 武清区| 江陵县| 武邑县| 德化县| 西充县| 仪陇县| 武义县| 大同市| 莒南县| 珲春市| 兴义市| 陈巴尔虎旗| 修文县| 永州市| 佛学| 无极县| 浠水县| 高密市| 龙南县| 兴仁县| 武川县| 南汇区| 盐津县| 庆云县| 安泽县| 彰武县|