程序员在查看CPU的bob综合app下载说明书里,会告知软件程序员在编程时可以使用的指令有哪些,这些指令的集合也被称作指令集(Instruction Set),还会告知软件程序员可以使用的寄存器有哪些,可以访问的存储单元地址范围是什么,指令的寻址方式有哪些,如何访问I/O设备等等,CPU说明书里的这些内容可以统称为指令集体系结构或指令集架构(Instruction Set Architecture),简称ISA。
A厂家和B厂家制造的电视机的内部构造可能是不同的,但可以提供相同的使用方式,即电视上的按键和遥控器的功能都相同。这样我们在会使用A厂家的电视后,就可以毫不费力地操作B厂家的电视。类似的,A厂家和B厂家可以生产内部构造并不相同,但却拥有相同指令集体系结构的CPU。这样软件程序员在A厂家生产的CPU上编写的软件程序,可以很容易地就运行在B厂家生产的CPU上。很显然,指令集体系结构充当了一个中间人,硬件工程师遵照指令集体系结构的说明去设计硬件,软件工程师遵照指令集体系结构的说明去编写软件,硬件工程师和软件工程师并不需要直接沟通。
指令集体系结构是独立于CPU的具体电路实现而抽象出的一个概念,CPU的具体电路实现也被称作微体系结构。随着时代的变迁,陆续出现了不同的指令集体系结构,很多种指令集体系结构也湮没在历史的车轮里,下边我们介绍几种现在市面上还在流行的指令集体系结构:
x86Intel公司开发了一系列名称以86结尾的CPU,如8086、80286、80386等等,Intel公司生产的CPU所使用的指令集体系结构统称为x86(虽然后续研发的CPU的命名并不以86结尾,诸如奔腾系列、酷睿系列,但仍被称作x86系列)。时至今日,大部分个人电脑上装的都是使用x86体系结构的CPU。除Intel以外,其他一些公司也在生产x86体系结构的CPU,这里头最出名的就是AMD公司,大家现在在网上选购自己电脑的CPU时选用的最多的就是AMD公司或Intel公司家的x86体系结构CPU。
MIPSMIPS是John Hennessy教授和他的朋友们在20世纪八十年代在斯坦福大学首先提出的一种指令集体系结构,在游戏机、路由器、摄像头、电视机种有很多应用。值得一提的是,中国科学院计算所自主研发的CPU——龙芯,就是基于MIPS指令集体系结构进行研发的。
POWER这是一种由IBM公司设计研发的一种指令集体系结构,应用在很多IBM制作的计算机中。
SPARC这是一种有Sun公司设计研发的一种指令集体系结构。
ARM这是一种由ARM公司设计研发的一种指令集体系结构,ARM公司并不直接参与CPU的制造与销售,而是把指令集架构授权给别的公司。目前我们常用的手机CPU很多都是用的是ARM指令集体系结构,比方说我们常听说的高通、华为海思等等。
RISC-VRISC-V是美国加州大学伯克利分校于2010年开始设计的一款新的指令集体系结构,这是一种完全开放、免费使用的指令集体系结构。
这些指令集体系结构可以被分成两个大类:
复杂指令集,英文名:Complex Instruction Set Computer,简称CISC。精简指令集,英文名:Reduced Instruction Set Computer,简称RISC。上述指令集体系结构中,只有x86属于CISC,其余的都属于RISC。CISC提供更多的指令,其中包含很多完成复杂功能的指令,这些指令平时可能很少用到。相反,RISC只提供很少的一些简单指令,那些复杂的功能需要编写若干条简单指令才能去实现。对于软件程序员来说,CISC可以让软件程序员编写的程序的指令更少,而RISC可能需要使用更多的指令;但对于CPU设计人员来说,设计RISC的电路比CISC更简单一些,而且RISC由于结构简单,指令执行效率也更好一点。
还没有评论,来说两句吧...