我们知道,比如我们要计算2*2的结果。INTEL CPU是通过对2个寄存器付值,将2个寄存器的值进行二次相加得出最后结果。而SUN的CPU则直接提供乘法,那么,就可以直接对2个寄存器相乘就可以了。这个数值的比较,实际上是INTEL的CPU获胜了,因为毕竟乘法所需要花费的CPU时间比加法要多。但是,如果计算的数值很大呢?必须1000*1000。那么,INTEL的CPU,因为是复杂指令,所以是通过一个总值为1000的计数器对一个寄存器进行1000次的累加。假设对10进制数值进行二进制转换每种CPU的用时都是相等的,那么,INTEL的CPU至少需要1000*n(就是完成1次加法所需的时间)这么多时间来计算。那么SUN的CPU呢,因为本身有乘法的指令,因为乘法指令是动态的,所以,耗时相对会提高。那么SUN的CPU的相对时间,也只是比2*2多增加了很少的时间而已。这样,相对于INTEL的CPU,他就快的多了,因为计算量小,他也稳定的多了。这我想就是CISC比RISC慢的主要原因。也就是说,在越大型的服务上,就越能体现RISC的实力,而在小的服务上,当然还是INTEL的要快些,但是INTEL的计算量大。我们知道,计算量大代表两个不可逾越的问题,就是计算错误和死循环。一旦出现就是死机。这也是INTEL的机器爱死机的主要原因。
[/quote]
不是这样的。RISC与CISC的区别不在此,INTEL的机器爱死机也不是上述原因。
不是这样的。RISC与CISC的区别不在此,INTEL的机器爱死机也不是上述原因。
[/quote]
我理解有错误吗?望老师指正RISC和CISC的区别。这是我整个计算机个人理论的基础。
我理解有错误吗?望老师指正RISC和CISC的区别。这是我整个计算机个人理论的基础。
[/quote]
实际上x86有乘除法指令:MUL、IMUL、DIV、IDIV,并且指令周期都很短,以386为例,9个时钟周期就可执行完一次乘法,越往后的CPU,这个时钟周期会越短。在P4上执行一次乘法估计用1、2个时钟周期就可以了。
如果乘除法都通过加减法来代替,那就很可怕了。
而Intel的机器死机,要归功于Bill Gates。
如果拿Intel来跑unix,也是很稳定的,比如FreeBSD。
RISC的技术特点
RISC概念是IBM在70年代提出的。RISC技术大幅度减少指令的数量,用简单指令组合代替过去的复杂指令,通过优化指令系统来提高运行速度。RISC技术采用了更加简单和统一的指令格式、固定的指令长度以及优化的寻址方式,使整个计算机体系更加合理。指令系统的简化使得系统指令译码器的设计复杂程度也大大简化了,并使完全由硬件逻辑实现指令译码成为可能,而尽量减少使用内嵌微代码来完成译码操作,大大提高了指令的执行速度。RISC处理器比同等的CISC处理器性能提高50%~75%。
CISC的技术特点
CISC技术从1964年IBM360系统开始,包括后来的X86系列处理器都属于这种结构。其特点是指令系统复杂,通常具有100条以上的指令(有的达到500条)和多种寻址方式,多数指令是多周期指令。CISC系统追求的目标是机器指令设计尽力接近高级语言的语句使编译过程简单。复杂的指令结构和大量的寻址方式使得编译程序每运行一步都面临大量需要选择的指令和寻址方式,编译过程非常复杂。同时大量的指令使指令控制器的设计复杂化,占用芯片的面积增大,不利于大规模集成电路的设计,系统的性能提高受到限制。
(RISC的创始人一个搞了MIPS,另一个搞了SPARC。
他们出的书成了设计MIPS CPU的BIBLE,国内2本共定价150元不到 :)
现在买3万元左右的FPGA,代理商就可以送RISC的内核和编译软件
任何人可以把后续功夫作了拿去投片出CPU。
所以SUN的以前的技术优势在这点被大幅降低。
还有就是尽管SUN现在推出了1G CPU,还没机会去拆来看,估计又是外置的CACHE。
本来RISC的晶体管就少,明显看出这和AMD INTEL 之类内置CACHE在技术上和速度上不是一个档次的。
但是对于一些比较特殊的指令,复杂指令系统只要一条指令就能搞定,而RISC必须
用几条组合指令来完成相等功能,相对机器时间又会延长,效率高不高完全取决于指
令的使用概率。因此,在特殊应用领域,如科学计算、商业应用等等,CISC会表现得
更好。
所以对于大陆目前发布的某款cpu,有业界人说,没有操作系统厂家的支持,不可能成功。
ibm、sun之类的服务器,较之pc的优势主要在于稳定性、磁盘io,及多cpu的支持。多cpu可以使服务器批量处理大型任务而不受中断的干扰。众所周之,intel在cpu性能方面,最头疼的就是中断的处理。一个中断将会造成整个流水线作废,cpu性能急剧下降。freebsd4.7中,就专门为此做出优化,以避免因中断服务过多造成假死机现象。通常的数据库处理,对于浮点的运算要求不高。其IO速度成为瓶颈。而稳定性方面,对于关键业务特别重要,所以银行里常有停机1秒钟,损失多少万元的说法。
比如SUN的SPARC,就是RISC的CPU,而且已经支持到128个CPU,而INTEL,也只支持到8个CPU而已,而且也不是非常的稳定。
如果说INTEL的CPU容易死机或者有其他什么问题主要归功于MS,那么为什么其他的高端服务器厂商,不肯选用INTEL的CPU呢?甚至motorola的CPU在高端的工作站和服务器上都有应用,INTEL的却不行?
事实可以说话,据我所知,IA架构的系统,不管他的速度如何,都停留在部门级服务器这个档次上,在大的电信级应用中,全省的计算中心,都没有应用INTEL的CPU啊
本文关键:sun 跑mysql 性能惨不忍睹