為什么要自己開發(fā)BIOS? . X86的BIOS程序,目前主要是美國的AMI和鳳凰公司生產(chǎn),然后有償授權給國內(nèi)廠家使用,386EX則由INTEL公司銷售全套開發(fā)包,但是其中的BIOS、電子盤、ROM-DOS均為幾家小公司所有,不是免費的。 RDC公司生產(chǎn)的系列X86兼容CPU,性能高,同等主頻下,比186性能高,但是沒有大公司為其開發(fā)BIOS,直接移植其他公司的BIOS會有版權糾紛,而且通用的BIOS并不適合嵌入式應用的需要,比如需要人工設置、啟動速度慢等。 . 藍宇公司依靠自己在X86上10余年的技術積累,使用純凈室技術(CLEAN ROOM)自主開發(fā)了完整的BIOS程序,從而打破了國外廠商的壟斷,而且還把我公司的虛擬顯示技術、大容量電子盤技術、大內(nèi)存技術集成到BIOS內(nèi)部,免設置,快速啟動,用戶還可以自由選擇免費的DOS操作系統(tǒng),為用戶系統(tǒng)節(jié)約了成本,也沒有版權糾紛。
與51、ARM7相比有什么優(yōu)勢? 對于網(wǎng)絡應用來說,51方案以及其他8位單片機方案由于運算能力、尋址范圍的限制,一般不會實現(xiàn)完整的協(xié)議棧,尤其是TCP協(xié)議系統(tǒng)開銷很大,一般不能同時支持多個連接,對快速以太網(wǎng)的支持就更談不上了。而ARM7對于網(wǎng)絡應用還是比較合適的,但是由于要自己從頭做到尾,僅僅適合批量大的應用,對于小批量的應用,比如工程應用來說并不合適,工期要求很難滿足。ARM7的問題在于不存在一個標準的硬件平臺。另外,ARM7不能靈活尋址所有字長,比如半字數(shù)據(jù)(16BIT),要求必須字對齊,也就是偶地址對齊,但是在網(wǎng)絡數(shù)據(jù)報文中,一般C語言使用結(jié)構(gòu)體和指針處理報文頭部效率最高,這對X86系列不是問題,但是ARM7就需要進行特殊的處理,也就是制定自己的報文格式時要進行字對齊。 對于漢字應用來說,8位單片機一般使用小字庫技術,或者對地址進行擴展,編程極為繁瑣。BBPC4X86的優(yōu)勢在于提供一個標準的軟硬件平臺,它的電子盤尺寸-內(nèi)嵌漢字庫-內(nèi)存大小-運算速度的比例很匹配,對大部分應用來說不需要擴展什么東西,用戶專注于應用開發(fā),從總體上降低了成本。 實際上BBPC4X86的CPU內(nèi)部和ARM7類似,也是32位RISC結(jié)構(gòu),但5級流水線設計以及X86指令較短,無尋址模式限制,使得其執(zhí)行效率更高。
RISC一定比CISC好嗎? 一般的宣傳都說RISC好,但是實際上,很多宣稱RISC的芯片都缺少了重要的RISC特征:分離的程序和數(shù)據(jù)總線、大量的寄存器(上百個以上)、多級流水線、多發(fā)射結(jié)構(gòu)、高性能的編譯器(非常難作,效果一般都不理想),如果片內(nèi)的寄存器不夠多(例如ARM7只有37個寄存器),需要經(jīng)常訪問存儲器的時候,就需要用多條指令才能實現(xiàn)。 例如以下字節(jié)操作,在流處理中經(jīng)常使用(假設高速緩存命中,流水線已經(jīng)填滿): R1610C:1個周期,1條指令,3字節(jié) ARM7:3個周期,3條指令,12字節(jié) AND BYTE PTR [DI],01H LDRB R1,[R2] 取字節(jié)數(shù)據(jù) 1CLK ANDS R1,R1,#X01 1CLK STRB R1,[R2] 寫字節(jié)數(shù)據(jù) 1CLK 對于16位操作來說,由于ARM7沒有16位立即數(shù),以及必須偶地址對齊等,比R1610C要消耗更多的指令,更多的指令會占據(jù)很多高速緩存空間,造成命中率下降,也就降低了實際的性能。 因此實際上對于一般的數(shù)據(jù)處理,R1610C的性能更高。 ARM7的優(yōu)勢在于支持大的內(nèi)存容量,適用于大內(nèi)存需求,但是大內(nèi)存又需要高性能來進行操作,也就是說ARM7的尋址能力和速度并不匹配。
|