八月六號。周三。楠書房。
林遠坐在西廂房的工位上,面前攤著孫鵬飛發來的申威測試數據。
申威的SM2點乘運算比ARM9慢20%——這是初步測試的結論。原因很清楚:申威的指令集是為通用計算設計的,不是為密碼運算設計的。分支預測不夠精準,流水線利用率低。
但林遠看到了優化的空間。
他在草稿紙上畫了申威的指令流水線圖。六個運算單元,理論上並行能力很強——但密碼運算的特點是數據依賴鏈長,很多指令必須串行執行。申威的分支預測器在這種場景下會頻繁誤判,導致流水線沖刷。
"問題不在運算單元數量,在分支預測。"林遠自言自語。
他的方案是:針對SM2點乘運算的核心循環,用彙編重寫,減少分支指令,改用條件傳送替代條件跳轉。同時,利用申威的六個運算單元,把可以並行的橢圓曲線點加運算拆成多路並行計算。
這是體力活。需要逐條指令手寫,不能靠編譯器自動優化。
但林遠不怕體力活。前世的底層開發經驗,加上腦子裡那套完整的架構藍圖,讓他對申威的指令集有清晰的認知。
上午九點開始寫。
第一版代碼寫了三個小時。中間孫鵬飛打了一次電話過來,問彙編優化的思路——林遠簡單說了說方向,孫鵬飛聽完沉默了幾秒:"這個方案……我沒在文獻里見過。"
"因為沒人用申威做過密碼運算優化。"林遠說,"你等我數據。"
中午十二點,核心循環的第一版彙編代碼寫完。林遠跑了三遍回歸測試,確認沒有引入計算誤差。
然後發給孫鵬飛:"跑一下SM2點乘的性能測試,和之前的C語言版本對比。"
四十分鐘後,孫鵬飛回了郵件。
"快了。"
只有兩個字。但林遠能感受到郵件那頭的震驚。
"SM2點乘運算時間從12.3毫秒降到了7.8毫秒——提升了36.6%。"孫鵬飛繼續寫,"不僅追平了ARM9,還反超了約10%。"
"另外,在SM4加密測試中,彙編優化版本也比C語言版本快了28%。"
"四個平台的完整對比數據我下午整理完髮你。"
林遠靠在椅背上。36.6%——比他預估的15%-20%高出一倍。原因是他額外做了大數乘法的並行拆分,把點乘運算中的標量乘法拆成四路並行,充分利用了申威的六個運算單元。
孫鵬飛又追加了一封郵件:"周老師那邊我已經匯報了。他很興奮——申威在密碼運算場景下反超ARM9,這個結論對863結題是重大加分。他讓我轉告你:完整報告不用等月底了,下周就可以開始寫。"
林遠回了兩個字:"收到。"
從ARM7到MIPS,到ARM9,再到申威——四個平台的完整性能對比數據一旦湊齊,這份報告的含金量就不是一般的高了。這不僅是學術成果,更是國產處理器在安全領域的一次能力驗證。
下午兩點。校內工作室。
清理模塊收尾了。
磁碟清理、註冊表清理、瀏覽器緩存清理、系統臨時文件清理——四個子模塊全部和體檢模塊的報告頁對接正常。清理引擎的核心邏輯也是從WatchGuard的底層復用過來的,做了一層輕量化適配。
"接下來是整合病毒引擎。"林遠對趙強說。
趙強點頭:"本地查殺功能已經跑通了。趨勢的SDK接口封裝好了,查殺引擎可以獨立運行。"
"跑一個完整流程。體檢→清理→查殺→報告。"
趙強打開Consumer的主程序。
圓圈動畫啟動——藍色,緩慢呼吸。點擊"體檢"。
圓圈變成黃色,開始旋轉。三秒後,體檢完成。報告頁面彈出:
"系統健康分數:62。發現5項問題。"
臨時文件3個殘留。註冊表冗餘項2條。瀏覽器緩存1個過期目錄。
林遠點了"一鍵修復"。
圓圈變綠。分數跳到89。
"清理沒問題。"林遠說,"現在加病毒引擎。"
趙強切換了模式。病毒引擎加載——一個獨立的查殺窗口彈出來,黑色界面,進度條緩慢推進。
十秒後,掃描完成。
"未發現威脅。"趙強說,"引擎工作正常。"
"放測試樣本進去。"
趙強從桌面上拖了五個EICAR測試文件——國際通用的殺毒引擎測試標準,不是真病毒,但所有殺毒引擎都會識別。
重新掃描。三秒。
"五個測試文件全部檢出。"趙強指著屏幕,"引擎準確率100%。查殺耗時三秒——對2003年的硬體來說,這個速度足夠了。"
王晨湊過來看了一眼,又看了看那個從黃變綠的大圓圈:"從打開程序到出報告,一共十三秒。用戶等得住。"
"現在缺什麼?"
"病毒庫在線更新。"林遠說,"本地查殺沒問題,但病毒庫不更新,一個月後就過時了。"
"趨勢授權呢?"
"蘇明遠下午應該回來了。"林遠看了看時間,"上海的事應該結了。"
下午四點。蘇明遠的電話打進來了。
"趨勢那邊有消息了。"
"說。"
"OEM授權,按年付費。"蘇明遠說,"基礎版——病毒查殺加本地病毒庫,年費五萬。完整版——加上在線病毒庫更新,年費八萬。"
"八萬。"林遠想了想,"覆蓋多少終端?"
"不限量。授權給Consumer這個產品,不按終端數算。"
這個價格比預想的合理。
"在線更新的技術方案確認了嗎?"
"確認了。"蘇明遠說,"趨勢提供一個API接口,每周推送一次病毒庫增量包。我們的客戶端自動下載更新。技術對接不難——趙強已經跑通了SDK,在線更新只是多一個下載模塊。"
"那就簽完整版。"林遠說,"八萬一年。"
"好。合同流程大概一周。"
"行。授權落地之後,第一時間接在線更新。"
掛了電話,林遠坐回工位。
Consumer的產品形態越來越清晰了——體檢、清理、病毒查殺、病毒庫在線更新。四塊功能湊齊,就是一個完整的電腦安全衛士。
按月收費,五塊錢一個月。
2003年的中國個人電腦用戶,需要的就是這種簡單、直觀、便宜的安全工具。
晚上。楠書房。
林遠翻開筆記本,更新進度:
"Consumer——清理模塊完成。病毒引擎整合完成。趨勢授權八萬一年,合同流程中。在線更新下周接。"
"SafeBackup——穩定性測試第二輪,八月中旬公測。"
"863——申威彙編優化完成,SM2性能反超ARM9約10%。完整報告月底出。"
"教輔——修訂框架張編輯已確認,英語大綱寫到第三章。"
他在Consumer後面加了一行:"目標——九月中旬內測。"
然後畫了一個圈。
申威的數據出來了。Consumer的引擎跑通了。趨勢授權落地了。
八月份,事情在加速。