作者簡介:王哲河(1980-),男,海南澄邁人,講師,博士研究生,主要研究方向為三值光學計算機、存儲體系結構、文件系統以及嵌入式系統等;沈云付(1960-),男(通信作者),浙江平湖人,教授,碩導,博士,主要研究方向為軟件形式化、模型檢驗、計算技術、三值光學計算機及其可靠性(yfshen@mail.shu.edu.cn);李雙(1988-),女,山東濟南人,講師,博士,主要研究方向為并行算法、人工智能、三值光學計算機;張紅紅(1979-),女,河南濟源人,副教授,博士研究生,主要研究方向為三值光學計算機、嵌入式系統;江家寶(1968-),男,安徽無為人,副教授,博士研究生,主要研究方向為三值光學計算機、嵌入式系統;王春騰(1975-),男,海南萬寧人,副教授,碩士,主要研究方向為三值光學計算機、嵌入式系統.
摘 要:三值光學計算機(ternary optical computer,TOC)作為一種新體系結構的計算機,具有處理器位數眾多且易擴展、位功能可重構、位可分組使用等特點,在海量或復雜數據的快速處理方面有很大潛力,但它的應用開發探索尚處于初期。為了擴展其應用范圍,提出了一種基于三值光學計算機體系架構的模擬器TOCSim設計方案。該方案通過軟件形式模擬TOC的運行過程,并在普通PC機上實現其雛形。TOCSim主要模擬TOC處理器的重構策略、處理器位的分配策略、中間結果解碼以及運算效果模擬等過程。通過本模擬器的模擬效果圖與TOC原型機上的運行結果光圖進行對比,表明該模擬器的設計方案是正確的、可行的。
關鍵詞:三值光學計算機;MSD加法器;模擬器
中圖分類號:TP391.9 文獻標志碼:A
文章編號:1001-3695(2023)04-028-1137-05
Abstract:Ternary optical computer(TOC) is a new architecture computer with a large number of processor bits and the characteristics of easily scaling,reconfigurable bit functions,and groupable bits.It has great potential for fast processing of massive or complex data.However,it is still in the early stage of application development exploration.To expand its application,this paper proposed a TOCSim design scheme for a simulator based on a ternary optical computer architecture.It simulated the TOC operation process in the form of software and implemented its prototype on an ordinary PC.These operation processes mainly included the TOC processor reconfiguration strategy,processor bit allocation strategy,intermediate result decoding,and computing effect simulation.A comparison of the simulation effect graphs derived from the proposed simulator between the light graphs of the operation results on the TOC prototype shows that the design scheme of the simulator is correct and feasible.
Key words:ternary optical computer;MSD(modified signed digital) adder;simulator
三值光學計算機是上海大學金翊教授[1]于2002年提出的一種新型電控制、光運算的光電混合計算機。TOC基于可修改符號數字(modified signed digit,MSD)系統實現無進位并行加法和位級流水線操作[2,3]。同時,TOC具有功耗低、處理器位數多且易擴展、可按位分配和功能定義等特點,這使得它非常適用于大量復雜數據的快速處理[4,5]。2017年,上海大學TOC團隊成功研發出一臺可供驗證實驗的原型機SD16(Shang Da 2016),并建立了獨立的硬件系統和底層軟件系統[6,7]。近年來,團隊在TOC的相關應用研究方面也取得了許多重要研究成果[8~13],為TOC應用推廣奠定了良好基礎。
鑒于TOC的市場應用還有一段路要走,開發一種簡單快捷的可視化TOC模擬器是TOC應用推廣的重要途徑之一。本文提出一種基于三值光學計算機體系架構的模擬器(簡稱為TOCSim),該模擬器完全運行在普通PC機上,主要模擬TOC處理器的重構策略、處理器位的分配策略、中間結果解碼以及運算效果模擬等過程。
1 TOC的相關研究
基于TOC的應用開發過程,主要包括以下五個步聚:
a)解析用戶計算需求。根據用戶提交的計算需求和當前TOC處理器的位資源,確定所需運算器的類型、個數、位數、起始位及其運算規則。
b)重構運算器。根據步驟a)所確定的運算器類型、個數、位數、起始位及其運算規則,構建相應的運算器,并生成重構指令,接著將其送至重構鎖存器。各類運算器的運算規則由用戶或系統設定,如表1所示的五個三值邏輯變換確定一種加法規則。
c)傳送運算數。將運算數A、B(包括中間結果)送至步驟b)中所構建的運算器對應的數據鎖存器。
d)液晶陣列(liquid crystal display,LCD)信息解碼。對攝像頭或感光陣列采集到的LCD信息進行解碼。
e)重復上述四個步驟,直到所有運算結束。最后將計算結果回饋給上位機(PC)。
這里需要強調的是,如果整個運算過程中不需要修改運算器的類型、個數、位數、起始位及其運算規則,則步驟b)只需執行一次即可。
2.1 TOCSim體系架構設計
通過對TOC的應用開發過程的五個關鍵步驟進行抽象和簡化,形成了TOCSim的體系架構(圖3)。 TOCSim架構由用戶提交計算任務、分析用戶提交的計算信息、生成運算規則(重構)、分離運算數并生成多組運算數、LCD動態模擬效果圖、解碼等模塊組成。圖3中的虛線框表示該模塊在TOC原型機上是由底層控制系統自動完成。
TOCSim架構的主要工作流程包括:
a)提取運算數A、B(包括中間結果)。此步驟對應圖3中的模塊①②。根據用戶提交的計算需求,分析和確定相應的加法運算組數或邏輯運算組數,并存入運算數源文件(OperAB.in),內容格式如表2所示。每行有兩個運算數A、B,它們之間用空格隔開。此步驟操作可手工輸入或由程序自動生成。
b)讀取各類運算器的運算規則(三值邏輯變換表)。此步驟對應圖3中的模塊③④。根據TOC處理器位的分配原則和邏輯變換規則,生成相應邏輯變換的結果,存入可視化數據源文件。運算器運算規則由9個字符組成,按照九宮格格式以行優先順序拼接,運算規則文件(OperRules.in)內容格式如表3所示。若運算器只有一個變換規則,則只在T變換規則處填寫變換規則,其余規則均置空。可視化數據源文件的內容格式如表4所示,每一行代表一個運算器,包括它的名稱、類型、起始位、運算數、運算結果(含中間結果)、結果符號位標識等。加法經過T、W、T1、W1、T2五個變換后得到結果[17],其他邏輯運算器只經過T變換(本文約定)即可得到其運算結果,其余規則處可置空。若運算過程中需要判別s的符號(0為正、1為負),則由 s_sign來標識(默認為置空)。此步驟操作由C語言編寫的TOCSim程序自動生成。
c)生成模擬LCD效果圖。此步驟對應圖3中的模塊⑤⑥。根據TOC液晶陣列的像素布局,利用Excel的576個單元格來完全模擬它的像素布局(圖4),分為左半部與右半部,由紅線從中間隔開。左半部像素位的編號自底向上,由右及左;右半部像素位的編號自頂向下,由左及右。其中,淺綠色表示水平偏振光(H光),白色表示垂直偏振光(V光),黑色表示無光(W光);0~191表示TOC的處理器位序號,三個相鄰像素表示一個處理器位。例如,0號處理器位由0、1、2號像素位構成,如圖中黃色矩形框所示(見電子版)。通過VBA程序讀取第二步中產生的可視化數據源(Excel_Result.txt),動態生成LCD效果圖,然后通過可視化提示步驟,逐屏模擬三值光學處理器的運算過程。此步操作由帶宏的Excel理論效果圖.xlsm完成。
2.2 運算器重構和LCD解碼過程設計
重構和解碼兩個模塊是TOC系統的核心,模擬器以查表的方式實現這兩個模塊。重構過程是通過匹配用戶或系統提供的運算規則實現的。另外,根據TOC的設計原理,表示某一個處理器位的三個像素塊不允許同時出現兩種或兩種以上的V或H光,于是,解碼可通過Excel單元格的底紋顏色來判斷其究竟是哪種光。其中淺藍色表示H光,對應u;白色表示V光,對應1;黑色表示W光,對應0。然后按照處理器位由高到低拼接形成運算結果(MSD數形式)。但在實際TOC系統中,這兩個模塊均由TOC底層控制系統自動完成,用戶可以忽略它們的實現細節和工作原理。因此,在TOCSim的體系架構示意圖中用虛線框表示這兩個模塊。
3 驗證與評估
3.1 實驗平臺
本驗證實驗在三值光學計算機系統原型SD16(圖5)的第8個基本運算模塊(SD168)上完成。SD168由576個像素構成的液晶陣列表示,它被看做三值光學處理器的可拼接或擴展模塊。每個模塊的像素位布局如圖6所示,液晶陣列被分為左半部和右半部兩部分,左半部處理器位或像素位的編號順序自底向上、由右及左,而右半部則自頂向下、由左及右。在同一行中相鄰的三個像素(頂行中對應的W、V、H列)構成一個處理器位,圖中藍框中相鄰的三個像素代表第0號處理器位。例如,最底部一行有24個像素,其左半部的12個像素從右到左分為四個部分,構成了四個處理器位,編號為0、1、2、3;右半部的12個像素從左到右也分為四個部分,也構成了四個處理器位,編號為188、189、190、191。其他處理器位也是類似編號。SD168共有192位,處理器位的編號為0~191。這些處理器位可以根據用戶的需求來任意分成許多部分,每一部分可以獨立用于不同的程序;每個處理器位可以根據用戶的需求隨時改變其計算功能。根據SD16的設計原理,表示一個處理器位的三個相鄰像素,只有一個輸出(W、V或H)光,不能同時有V和H光兩個輸出。
3.2 處理器位的分配原則
一般來說,當TOC處理器位數充足時,它完全可以根據用戶的需求動態重構相應數量的運算器。但鑒于SD168的處理器位數只有192位,所選驗證用例的取值范圍必須在其允許的運算范圍之內。為了便于描述,假設本驗證實驗需構造兩個位數分別為Nd1、Nd2的TW加法器adder1、adder2;三個位數分別為Ne、Nf、Ng的邏輯運算器logicE、logicF、logicG;剩余空閑處理器位數為192-(Nd1×5+Nd2×5+Ne+Nf+Ng+8)≥0。每一個運算器(加法器、邏輯運算器)的起止處理器位、所占用處理器位數等分配情況如表5所示。
3.3 驗證用例設計
假定上述五個運算器的相關參數如表6所示,它們的運算規則是以行優先,且行首由左及右、列首自上而下的符號順序均為01u。根據TOCSim的設計原理和工作流程,五個運算器可以并行執行,其運算結果稱之為一屏數據。接下來,隨機選取六組驗證用例(表7),其中AX、BX表示兩個運算數,CX表示AX+BX之和,x=d1,d2,e,f,g分別對應上述五種運算器可允許運算數的最大長度。從表6中可知,d1=8,d2=10,e=15,f=20,g=25,則空閑處理器位數為192-(Nd1×5+Nd2×5+Ne+Nf+Ng+8)=192-(8×5+10×5+15+20+25+8)=192-158=34gt;0。
3.4 驗證結果分析
根據2.1節TOCSim的工作流程和3.3節驗證用例,依序生成運算數源文件、運算規則源文件以及可視化數據源文件,最后讀取可視化數據源文件,生成每一組運算結果的模擬效果圖,TOCSim的運行界面如圖7所示。圖8為第1組驗證用例的模擬效果圖(a)和光學處理器的運行結果光圖(b)。在運行結果光圖中,白色光被解碼為V光,表示垂直偏振光;深綠色光被解碼為H光,表示水平偏振光;偏藍或其他顏色的光均被解碼為W光,表示無光。經過對比,第1組驗證例的模擬效果與實際結果光圖是一致的。其余用例組的對比結果已列在表8中,因篇幅有限,在此省略它們的對比圖。從六組驗證實驗結果來看,模擬器的模擬效果與TOC的運行結果光圖完全一致,結果光圖解碼后的結果也與理論結果一致。
4 結束語
TOC自概念模型提出至今,已走過22年的發展歷程,經歷了多次體系結構的迭代優化后,研發出首臺可做驗證實驗的原型機SD16,并在相關應用領域進行了探索,也取得了一些研究成果。但TOC的推廣與應用遇到了瓶頸。針對此問題,本文提出TOC模擬器TOCSim的體系架構,經理論推導和在SD16原型機上驗證,結果表明該模擬器的設計方案是正確的、可行的。TOCSim能夠幫助更多的研究人員深入了解TOC的工作原理和開發步驟,使他們可以利用TOC的處理器位易擴展、可分組使用、高并行、可重構等特點來開展相關領域的應用研究。目前,本文給出的TOCSim只是一個雛形,它僅能夠模擬TOC的一些基本運算過程。接下來,將進一步完善TOCSim的功能,提高其可移植性、易用性、集成度,并仿真更多的典型應用案例,以吸引更多人參與到TOC的應用研究當中,這也是本研究下一階段的研究重點。
致謝 感謝上海大學三值光學計算機研究中心金翊教授、歐陽山博士以及所有博士研究生和碩士研究生在論文準備過程中的熱心幫助和寶貴建議。
參考文獻:
[1]金翊.三值光計算機原理和結構[D].西安:西北工業大學,2002.(Jin Yi.Ternary optical computer principle and architecture[D].Xi’an:Northwestern Polytechnical University,2002.)
[2]金翊,沈云付,彭俊杰,等.三值光學計算機中MSD加法器的理論和結構[J].中國科學:信息科學,2011,41(5):541-551.(Jin Yi,Shen Yunfu,Peng Junjie,et al.Principles and construction of MSD adder in ternary optical computer[J].Scientia Sinica Informationis,2011,41(5):541-551.)
[3]江家寶,張曉峰,沈云付,等.三值光學計算機中SJMSD加法器的設計與實現[J].電子學報,2021,49(2):275-285.(Jiang Jiabao,Zhang Xiaofeng,Shen Yunfu,et al.Design and implementation of SJMSD adder in ternary optical computer[J].Acta Electronica Sinica,2021,49(2):275-285.)
[4]Jiang Jiabao,Shen Yunfu,Ouyang Shan,et al.The application of SJMSD adder to mean value filtering processing[J].Optik,2020,206:164271.
[5]彭俊杰,魏鑫燏,張曉峰,等.基于三值光學計算機的并行快速Fourier算法實現[J].中國科學:信息科學,2017,47(7):846-862.(Peng Junjie,Wei Xinyu,Zhang Xiaofeng,et al.Implementation of parallel FFT algorithm on a ternary optical computer[J].Scientia Sinica Informationis,2017,47(7):846-862.)
[6]Zhang Sulan,Peng Junjie,Shen Yufun,et al.Programming model and implementation mechanism for ternary optical computer[J].Optics Communications,2018,428:26-34.
[7]Li Shuang,Wang Zhehe,Wang Shuxin,et al.Theoretical basis and implementation mechanism of the programming platform for ternary optical computer[J].IEEE Access,2022,10:5585-5594.
[8]Peng Junjie,Fu Youyi,Zhang Xiaofeng,et al.Implementation of DFT application on ternary optical computer[J].Optics Communications,2018,410:424-430.
[9]Zhang Sulan,Shen Yunfu,Zhao Zheyu.Design and implementation of a threelane CA traffic flow model on ternary optical computer[J].Optics Communications,2020,470:125750.
[10]Shen Yunfu,Zhang Sulan,Wang Zhehe,et al.Design and implementation of parallel radix4 MSD iterative division of ternary optical computer[J].Optics Communications,2021,501:127360.
[11]Wang Zhehe,Shen Yunfu.Design and implementation of the WalshHadamard transform on a ternary optical computer[J].Applied Optics,2021,60(31):9254-9262.
[12]Wang Zhehe,Shen Yunfu.Design and implementation of bitwise parallel MSD square rooting in ternary optical computer[J].Optical Engineering,2021,60(8):085107 .
[13]Li Shuang,Li Wenjing,Wang Zhehe,et al.Research and implementation of parallel artificial bee colony algorithm based on ternary optical computer[J].Automatika,2019,60(4):422-431.
[14]Avizienis A.Signeddigit number representations for fast parallel arithmetic[J].IRE Trans on Electronic Computers,1961,10(3):389-400.
[15]Bocker R P,Drake B L,Lasher M E,et al.Modified signeddigit addition and subtraction using optical symbolic substitution[J].Applied Optics,1986,25(15):2456-2457.
[16]Drake B L,Bocker R P,Lasher M E,et al.Photonic computing using the modified signeddigit number representation[J].Optical Engineering,1986,25(1):38-43.
[17]Shen Yunfu,Wang Zhehe,Peng Junjie,et al.Characteristics of parallel carryfree threestep MSD additions[J].IEEE Access,2021,9:49601-49613.
[18]嚴軍勇.降值設計理論[D].上海:上海大學,2009.(Yan Junyong.Decreaseradix design principle[D].Shanghai:Shanghai University,2009.)