嵌入式系统
BabyPC 技术问答
2013-03-25 17:18  浏览:110
为什么要自己开发BIOS? <BR> . X86的BIOS程序,目前主要是美国的AMI和凤凰公司生产,然后有偿授权给国内厂家使用,386EX则由INTEL公司销售全套开发包,但是其中的BIOS、电子盘、ROM-DOS均为几家小公司所有,不是免费的。<BR> RDC公司生产的系列X86兼容CPU,性能高,同等主频下,比186性能高,但是没有大公司为其开发BIOS,直接移植其他公司的BIOS会有版权纠纷,而且通用的BIOS并不适合嵌入式应用的需要,比如需要人工设置、启动速度慢等。<BR> . 蓝宇公司依靠自己在X86上10余年的技术积累,使用纯净室技术(CLEAN ROOM)自主开发了完整的BIOS程序,从而打破了国外厂商的垄断,而且还把我公司的虚拟显示技术、大容量电子盘技术、大内存技术集成到BIOS内部,免设置,快速启动,用户还可以自由选择免费的DOS操作系统,为用户系统节约了成本,也没有版权纠纷。<BR> </P><P> <BR> 与51、ARM7相比有什么优势? <BR> 对于网络应用来说,51方案以及其他8位单片机方案由于运算能力、寻址范围的限制,一般不会实现完整的协议栈,尤其是TCP协议系统开销很大,一般不能同时支持多个连接,对快速以太网的支持就更谈不上了。而ARM7对于网络应用还是比较合适的,但是由于要自己从头做到尾,仅仅适合批量大的应用,对于小批量的应用,比如工程应用来说并不合适,工期要求很难满足。ARM7的问题在于不存在一个标准的硬件平台。另外,ARM7不能灵活寻址所有字长,比如半字数据(16BIT),要求必须字对齐,也就是偶地址对齐,但是在网络数据报文中,一般C语言使用结构体和指针处理报文头部效率最高,这对X86系列不是问题,但是ARM7就需要进行特殊的处理,也就是制定自己的报文格式时要进行字对齐。<BR> 对于汉字应用来说,8位单片机一般使用小字库技术,或者对地址进行扩展,编程极为繁琐。BBPC4X86的优势在于提供一个标准的软硬件平台,它的电子盘尺寸-内嵌汉字库-内存大小-运算速度的比例很匹配,对大部分应用来说不需要扩展什么东西,用户专注于应用开发,从总体上降低了成本。<BR> 实际上BBPC4X86的CPU内部和ARM7类似,也是32位RISC结构,但5级流水线设计以及X86指令较短,无寻址模式限制,使得其执行效率更高。<BR> </P><P> <BR> RISC一定比CISC好吗? <BR> 一般的宣传都说RISC好,但是实际上,很多宣称RISC的芯片都缺少了重要的RISC特征:分离的程序和数据总线、大量的寄存器(上百个以上)、多级流水线、多发射结构、高性能的编译器(非常难作,效果一般都不理想),如果片内的寄存器不够多(例如ARM7只有37个寄存器),需要经常访问存储器的时候,就需要用多条指令才能实现。<BR> 例如以下字节操作,在流处理中经常使用(假设高速缓存命中,流水线已经填满):<BR> R1610C:1个周期,1条指令,3字节 ARM7:3个周期,3条指令,12字节<BR> AND BYTE PTR [DI],01H LDRB R1,[R2] 取字节数据 1CLK<BR> ANDS R1,R1,#X01 1CLK<BR> STRB R1,[R2] 写字节数据 1CLK<BR> 对于16位操作来说,由于ARM7没有16位立即数,以及必须偶地址对齐等,比R1610C要消耗更多的指令,更多的指令会占据很多高速缓存空间,造成命中率下降,也就降低了实际的性能。<BR> 因此实际上对于一般的数据处理,R1610C的性能更高。<BR> ARM7的优势在于支持大的内存容量,适用于大内存需求,但是大内存又需要高性能来进行操作,也就是说ARM7的寻址能力和速度并不匹配。<BR> <BR>
发表评论
0评