Linux是一种开源的操作系统,拥有庞大的用户群体。而CPU指令集(Instruction Set)则是CPU的核心组成部分,是实现计算机指令的重要基础。在这篇文章中,我们将讨论Linux CPU指令集的简介。
1.Linux CPU指令集是什么?
CPU指令集又被称为指令系统或指令集架构,是CPU执行的指令。Linux是一种多用户、多任务、支持多种硬件平台的操作系统,因此支持多种CPU指令集。不同的CPU指令集不同,也会影响到程序的效率和质量。
2.主要的Linux CPU指令集
目前市场上存在着多种不同的CPU指令集。其中最主要的有以下几种。
2.1 x86指令集
x86是一种基于复杂指令集计算机(CISC)架构的指令集。它广泛应用于个人电脑、 服务器 、工作站、超级计算机等领域。x86指令集在Linux操作系统中应用广泛,Linux操作系统也是x86架构中应用最广泛的操作系统之一。
2.2 ARM指令集
ARM是一种基于精简指令集计算机(RISC)的指令集。ARM架构主要应用于嵌入式系统领域,如智能手机、平板电脑、智能家居等等。在嵌入式系统领域中,ARM指令集占据了绝对主导地位。
2.3 MIPS指令集
MIPS是一种RISC架构的指令集,主要应用于工业控制、图像处理、网络路由器等领域。在三种CPU指令集中,MIPS应用的场景较为专业,且市场份额相对较小。
3.Linux CPU指令集的优势
3.1 跨平台
Linux CPU指令集支持多种硬件平台,这也是Linux广泛应用的重要原因之一。不同的硬件平台需要编写不同的代码才能执行软件,而Linux CPU指令集可以轻松解决这一问题。
3.2 移植性强

Linux作为一款开源的操作系统,支持在不同的硬件平台之间进行移植。这意味着,使用Linux CPU指令集开发的软件能够在多种硬件平台上进行运行,并且具有良好的可移植性。
3.3 高效性
Linux CPU指令集的设计目的是为了提高CPU的效率和性能。因此,Linux CPU指令集具有高效率和高性能的特点,可以使程序运行更加快速。
Linux CPU指令集是Linux操作系统中不可缺少的组成部分,它为Linux操作系统提供了跨平台、移植性强和高效性等优势。不同的CPU指令集适用于不同的场景,而Linux CPU指令集的应用范围广泛,其应用前景十分广阔。随着技术的不断发展,我们相信Linux CPU指令集将在未来的计算机领域中发挥更加重要的作用。
相关问题拓展阅读:
CPU的指令集和指令系统有什么不同?
我在电视台工作,专职非线橡拆悉编辑,我感觉楼上的几位有误区,intel有sse4,那amd就没有针对视频处理的指令了?3dnow是无用指令集梁乎吗,amd的u是不是就不能转码了?你们用过amd的u做过视频吗?不得不承认intel
i5做视频有优势,但如果拿core2与弈御租龙2比,我自己亲身体会q9300不及*4
945的能力和速度,当然按我个人工作经验来看,视频处理一看指令集二看二级缓存,类似q9300
q8200这类版(二缓被)的垃圾聪明的就不要考虑,core2架构更大的优势2缓大再被那它和奔腾也差不多了。要上就上q9550或i7
920是更佳选择,穷的话就amd的955
940都不错,起码我敢保证,他们百分之200比q82和q93快!(说点题外话:n卡做视频比a卡强!)
可以使用数学中的子集概念来理解。
CPU的指令集
是
指令系统
的一个真子集。
在数学中,子集:如果A的任意一个元素都是集耐清合B的元素(任意a∈A则a∈B),那么A称为B的子集。
真子集:如果A是B的子集,且A≠B,即B中至少有一个元素不属于A,那么A就是B的真子集,可记作:A⊊B。
指令系统是一个总称,代表目前昌枣前世界上所有的指令集的统称。
指令集则是具体的,某一个CPU所拥有的指令集。
指令系统是不断岩罩变化的,不断有新的内容添加的,而某一CPU的指令集则是在设计之初就已经完全固定的了,并且AMD和英特尔的CPU中,又有着另一家没有的独家的指令集,这就导致指令集永远只能是指令系统的真子集。
linux cpu指令集的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux cpu指令集,Linux CPU指令集简介,CPU的指令集和指令系统有什么不同?的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
cmd代码大全
ping -t -l ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。 例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。 同时使用参数/Q 可取消删除操作时的系统确认就直接删除。 (二个命令作用相同)move 盘符路径要移动的文件名 存放移动文件的路径移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖fc > 对比二个文件并把不同之处输出到文件中,> 和> > 是重定向命令at id号 开启已注册的某个计划任务at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止at id号 /delete 停止某个已注册的计划任务at 查看所有的计划任务at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机finger username @host 查看最近有哪些用户登陆telnet ip 端口 远和登陆服务器,默认端口为23open ip 连接到IP(属telnet登陆后的命令)telnet 在本机上直接键入telnet 将进入本机的telnetcopy 路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件copy ipadmin$ 复制本到对方的admin下copy /b+/a 将的内容藏身到中生成新的文件,注文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件copy ipadmin$ c: 或:copyipadmin$*.* 复制对方adMini$共享下的文件(所有文件)至本地C:xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件用参数/e才可连目录下的子目录一起复制到目标地址下。 tftp -i 自己IP(用肉机作跳板时这用肉机IP) get 登陆后,将“IP”的下载到目标主机 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送tftp -i 对方IP put 登陆后,上传本至主机ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。 bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interfacearp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。 arp -a将显示出全部信息start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令mem 查看cpu使用情况attrib 文件名(目录名) 查看某文件(目录)的属性attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间set 指定环境变量名称=要指派给变量的字符 设置环境变量set 显示当前所有的环境变量set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量pause 暂停批处理程序,并显示出:请按任意键继续 在批处理程序中执行条件处理(更多说明见if命令及变量)goto 标签 将导向到批处理程序中带标签的行(标签必须单独一行,且以冒号打头,例如:“:start”标签)call 路径批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)for 对一组文件中的每一个文件执行某个特定命令(更多说明见for命令及变量)echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置echo 信息 在屏幕上显示出信息echo 信息 >> 将信息保存到文件中findstr Hello 在文件中寻找字符串hellofind 文件名 查找某文件title 标题名字 更改CMD窗口标题名字color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白prompt 名称 更改的显示的命令提示符(把C:、D:统一改为:EntSky )ver 在DOS窗口下显示版本信息winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFSmd 目录名 创建目录replace 源文件 要替换文件的目录 替换文件ren 原文件名 新文件名 重命名文件名tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称type 文件名 显示文本文件的内容more 文件名 逐屏显示输出文件doskey 要锁定的命令=字符doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。 如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=taskmgr 调出任务管理器chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口exit 退出程序或目前,用参数/B则是退出当前批处理脚本而不是 路径可执行文件的文件名 为可执行文件设置一个路径。 cmd 启动一个win2K命令解释窗口。 参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;regedit /e 注册表文件名 导出注册表cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。 参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D: /D pub 设定d: 拒绝pub用户访问。 cacls 文件名 查看文件的访问用户权限列表REM 文本内容 在批处理文件中添加注解netsh 查看或更改本地网络配置情况
对CPU的正确认识与分析
CPU中文名又称为中央处理单元(Central Processing Unit)的缩写,它可以被简称做微处理器(Microprocessor),不过经常被人们直接称为处理器(processor)。 CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。 CPU的种类决定了操作系统和相应的软件。 CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC(个人电脑)主频主频也叫时钟频率,单位是MHz(或GHz),用来表示CPU的运算、处理数据的速度。 CPU的主频=外频×倍频系数。 很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。 至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel英特尔和AMD,在这点上也存在着很大的争议,从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。 像其他的处理器厂家,有人曾经拿过一块1G的全美达处理器来做比较,它的运行效率相当于2G的Intel处理器。 主频和实际的运算速度存在一定的关系,但并不是一个简单的线性关系. 所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。 在Intel的处理器产品中,也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz至强( Xeon)/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。 CPU的运算速度还要看CPU的流水线、总线等等各方面的性能指标。 主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。 外频外频是CPU的基准频率,单位是MHz。 CPU的外频决定着整块主板的运行速度。 通俗地说,在台式机中,所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。 但对于服务器CPU来讲,超频是绝对不允许的。 前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。 目前的绝大部分电脑系统中外频与主板前端总线不是同步速度的,而外频与前端总线(FSB)频率又很容易被混为一谈,下面的前端总线介绍谈谈两者的区别。 前端总线(FSB)频率前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。 有一条公式可以计算,即数据带宽=(总线频率×数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。 比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。 外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。 也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一亿次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8bit/Byte=800MB/s。 其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。 IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。 但随着处理器性能不断提高同时给系统架构带来了很多问题。 而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。 这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。 CPU的位和字长位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。 字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。 所以能处理字长为8位数据的CPU通常就叫8位的CPU。 同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。 字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。 字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。 8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。 倍频系数倍频系数是指CPU主频与外频之间的相对比例关系。 在相同的外频下,倍频越高CPU的频率也越高。 但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。 这是因为CPU与系统之间数据传输速度是有限的,一味追求高主频而得到高倍频的CPU就会出现明显的“瓶颈”效应—CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。 一般除了工程样版的Intel的CPU都是锁了倍频的,少量的如Inter 酷睿2 核心的奔腾双核E6500K和一些至尊版的CPU不锁倍频,而AMD之前都没有锁,现在AMD推出了黑盒版CPU(即不锁倍频版本,用户可以自由调节倍频,调节倍频的超频方式比调节外频稳定得多)。 缓存缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。 实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。 但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。 L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。 内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。 一般服务器CPU的L1缓存的容量通常在32—256KB。 L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。 内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。 L2高速缓存容量也会影响CPU的性能,原则是越大越好,以前家庭用CPU容量最大的是512KB,现在笔记本电脑中也可以达到2M,而服务器和工作站上用CPU的L2高速缓存更高,可以达到8M以上。 L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。 而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。 降低内存延迟和提升大数据量计算能力对游戏都很有帮助。 而在服务器领域增加L3缓存在性能方面仍然有显著的提升。 比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。 具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。 其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。 在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。 后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。 接着就是P4EE和至强MP。 Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。 但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。 CPU扩展指令集CPU依靠指令来自计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。 指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。 从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。 通常会把CPU的扩展指令集称为”CPU的指令集”。 SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。 目前SSE4也是最先进的指令集,英特尔酷睿系列处理器已经支持SSE4指令集,AMD会在未来双核心处理器当中加入对SSE4指令集的支持,全美达的处理器也将支持这一指令集。 CPU内核和I/O工作电压从586CPU开始,CPU的工作电压分为内核电压和I/O电压两种,通常CPU的核心电压小于等于I/O电压。 其中内核电压的大小是根据CPU的生产工艺而定,一般制作工艺越小,内核工作电压越低;I/O电压一般都在1.6~5V。 低电压能解决耗电过大和发热过高的问题。 制造工艺制造工艺的微米是指IC内电路与电路之间的距离。 制造工艺的趋势是向密集度愈高的方向发展。 密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。 现在主要的180nm、130nm、90nm、65nm、45纳米。 最近inter已经有32纳米的制造工艺的酷睿i3/i5系列了。 而AMD则表示、自己的产品将会直接跳过32nm工艺(2010年第三季度生产少许32nm产品、如Orochi、Llano)于2011年中期初发布28nm的产品(名称未定)指令集(1)CISC指令集 CISC指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。 在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。 顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。 其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。 即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。 要知道什么是指令集还要从当今的X86架构的CPU说起。 X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。 虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i、i直到过去的PII至强、PIII至强、Pentium 3,Pentium 4系列,最后到今天的酷睿2系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。 由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。 x86CPU目前主要有intel的服务器CPU和AMD的服务器CPU两类。 (2)RISC指令集 RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。 它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。 复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。 并且复杂指令需要复杂的操作,必然会降低计算机的速度。 基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。 RISC指令集是高性能CPU的发展方向。 它与传统的CISC(复杂指令集)相对。 相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。 当然处理速度就提高很多了。 目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。 RISC指令系统更加适合高档服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。 RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。
CPU是什么意思?
CPU是中央处理器,是英语“Central Processing Unit”的缩写,即CPU,CPU一般由逻辑运算单元、控制单元和存储单元组成。 在逻辑运算和控制单元中包括一些寄存器,这些寄存器用于CPU在处理数据过程中数据的暂时保存, 简单的讲是由控制器和运算器二部分组成。 CPU主要的性能指标有:○主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。 CPU的主频=外频×倍频系数。 很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。 至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel和AMD,在这点上也存在着很大的争议,我们从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。 像其他的处理器厂家,有人曾经拿过一块1G的全美达来做比较,它的运行效率相当于2G的Intel处理器。 所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。 在Intel的处理器产品中,我们也可以看到这样的例子:1 GHz Itanium芯片能够表现得差不多跟2.66 GHz Xeon/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。 CPU的运算速度还要看CPU的流水线的各方面的性能指标。 当然,主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。 ○外频 外频是CPU的基准频率,单位也是MHz。 CPU的外频决定着整块主板的运行速度。 说白了,在台式机中,我们所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。 但对于服务器CPU来讲,超频是绝对不允许的。 前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。 目前的绝大部分电脑系统中外频也是内存与主板之间的同步运行的速度,在这种方式下,可以理解为CPU的外频直接与内存相连通,实现两者间的同步运行状态。 外频与前端总线(FSB)频率很容易被混为一谈,下面的前端总线介绍我们谈谈两者的区别。 ○前端总线(FSB)频率 前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。 有一条公式可以计算,即数据带宽=(总线频率×数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。 比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。 外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。 也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一千万次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz×64bit÷8bit/Byte=800MB/s。 其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。 之前我们知道IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。 但随着处理器性能不断提高同时给系统架构带来了很多问题。 而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。 这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。 ○CPU的位和字长 位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。 字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。 所以能处理字长为8位数据的CPU通常就叫8位的CPU。 同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。 字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。 字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。 8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。 ○倍频系数 倍频系数是指CPU主频与外频之间的相对比例关系。 在相同的外频下,倍频越高CPU的频率也越高。 但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。 这是因为CPU与系统之间数据传输速度是有限的,一味追求高倍频而得到高主频的CPU就会出现明显的“瓶颈”效应—CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。 一般除了工程样版的Intel的CPU都是锁了倍频的,而AMD之前都没有锁。 ○缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。 实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。 但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。 L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。 内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。 一般服务器CPU的L1缓存的容量通常在32—256KB。 L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。 内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。 L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达256KB-1MB,有的高达2MB或者3MB。 L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。 而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。 降低内存延迟和提升大数据量计算能力对游戏都很有帮助。 而在服务器领域增加L3缓存在性能方面仍然有显著的提升。 比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。 具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。 其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。 在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。 后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。 接着就是P4EE和至强MP。 Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。 但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。 CPU扩展指令集CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。 指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。 从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。 我们通常会把CPU的扩展指令集称为”CPU的指令集”。 SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。 目前SSE3也是最先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。
发表评论