话说CPU(不谈硬件)

105915_Fc8m_3241202.png

话说CPU:

    当下的人类环境,计算机离我们有多近,可见一斑。上至眼睛老花的长者,下至1~2岁的“北鼻”,早上起床后到晚上睡觉前,都会忍禁不住喵一眼?。有人会说,你错了,你说的那是手机?。同志们呐,现在的手机不是一台计算机(电脑)吗?有些手机的价格比笔记本电脑还贵,内部配置比较台式机也不相上下。

    提及计算机,首先提到的就是CPU,(有些非“挨踢”行业童鞋们,可能对于内存空间和硬盘空间大小是混淆的,不过不影响使用就行),CPU这个名词连老人都不会弄错了,地球人都知道CPU越快越好.....这里对于硬件相关的制造工艺、针脚、硬件布线、频率、cache...在此我们都不做介绍,这些对消费者和使用者来说,也许是商家的营销标语或是区别不同代产品的标示,有兴趣的童鞋可以自行查阅一些相关资料。

大家或许听过这样的话:“做图,用苹果电脑最好....”,作为一个敬业的IT屌丝,我禁不住问,why?

多数人:“处理快,显示好,外观好看.....”

好吧,外观和显示问题,先不说了,这个不涉及计算机的处理,我们单说“处理快”。所谓处理快,字面理解那应该是一款软件处理图像的能力很强,效率很高吧,这些东西,统统都离不开CPU的处理,那就不得不说说CPU那点事了。

在这里我们着重说一下CPU的指令,为什么要说指令呢?隔壁老王都一直在说“频率快,有能力”呢?

因为跟我们生活和工作最密切相关的就是程序(操作系统其实也是一种程序),简单的理解程序有两个部分组成:

  1. 指令(软件处理图像的各种操作,后台就是发给CPU的一个个指令)
  2. 数据 (需要处理的图像)

这里我们先说指令,程序就是一组只读的指令组成,将这些指令交由CPU处理,就能得到我们想要的结果。其实这也是一系列指令转换的过程,比如,由高级语言(c语言)编写的一个程序,程序员在写程序时就使用了c语言的相关指令,但是这些指令cpu并不认识,需要层层转换为cpu可以运算的指令。

抽象的过程:

人类比较容易识别的指令(高级语言,c语言指令)-->半人类识别指令(低级语言,汇编指令)-->机器语言(硬件指令,比如cpu指令)

这里就说一下机器语言-cpu指令,从指令集说起:

CPU指令集(架构之分)

主要分为两种:

  1. RISC(Reduced Instruction Set Computing,精简指令集计算机)
  2. CISC(Complex Instruction Set Computer,复杂指令集计算机)

以上两种时当前CPU的两种架构,它们的区别在于不同的CPU设计理念和方法。大家不要以为先有的RISC,事实上先有的CISC。为什么叫做精简指令,因为是在复杂指令集的基础上,精简出一些必须用到,单个指令只能实现简单功能,但是多个指令的组合可以实际多种功能。

举个例子,作为强大的吃货,复杂指令就属于比较方便快捷的食品那种,拿北方面食为例,复杂指令集里面已经有了面条、包子、饺子、大饼、馒头...,貌似很方便提供的食物比较丰富,但是我们会发现,饺子或许一个月就吃几次,面条和馒头每天都在吃;饺子对应的指令,利用率很低,也有可能发现,现成的这些食物口味和口感并不是自己想要的,就算面条,可能每个地域的人喜欢的也都不一样,比如南方人喜欢碱水面,北方人可能喜欢拉面、刀削面、拉条子等等。

而作为精简指令集,可能就只提供面粉,至于怎么做,看个人的喜好,味道如何看自己的手艺;这样就能吃到妈妈的味道,在饭店永远也吃不到家里妈妈的味道,也是这个情况。

 CISC和RISC的区别详见下表:

指令系统                         复杂,庞大                     简单,精简  
指令数目                         一般大于200                  一般小于100  
指令格式                         一般大于4                      一般小于4  
寻址方式                         一般大于4                      一般小于4  
指令字长                         不固定                           等长  
可访存指令                      不加限制                        只有LOAD/STORE指令  
各种指令使用频率             相差很大                        相差不大  
各种指令执行时间             相差很大                        绝大多数在一个周期内完成  
优化编译实现                    很难                             较容易  
程序源代码长度                 较短                             较长  
控制器实现方式                 绝大多数为微程序控制     绝大多数为硬布线控制  
软件系统开发时间              较短                             较长

 

CISC和RISC对应的硬件:

一般来说RISC多数用在小型机主机上,IBM的 Power PC为RISC CPU的结构,HP的PA-RISC CPU,CISCO 的CPU也是RISC的结构。 


经常见到的PC中的CPU使用的大都是CISC,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6实际上是改进了的CISC,也可以说是结合了CISC和RISC的部分优点。

题外话:

早期Macintosh,Apple公司的主机使用的是RISC指令集,使用IBM-power pc CPU,算是桌面服务器比较特殊的,一直公认apple power系列处理图像等运算比普通pc好很多,原因也在与此。同样的频率下,使用RISC性能会优于CISC。

从侧面也说明,CPU性能按照业界公布出来的所谓频率....为主要指标,也是忽悠广大群众的,因为CISC的CPU研发周期相对短些,自然整出些指标来宣示自己的进步。大家是否发现,pc已经更新这么高的配置,微软的系统依然还是那样的速度,office依然还是卡顿,动不动还是会hung;

CPU指令(使用权限之分)

上面说了CPU指令集,这个是对硬件或事整体对外的情况,我们说一下指令使用方面的分类:

我们需要提及“环”(Ring)的概念,这个就像孙大圣保护唐僧画的一个圈圈⭕️,叫啥名字多个版本,也能算是个结界。CPU有四个环,0、1、2、3: 其中

环1、环2:保留不用

环0:这是特权环指令,直接由内核接管,也叫内核空间,负责与硬件相关的操作。

环3:这个是用户空间,主要是应用程序调用的普通指令。

x86的保护环

 

题外话:

    可以想象如果环0开放,分分钟黑客可以让全球的电子设备化为乌有......那就天下大同了。

转载于:https://my.oschina.net/xinghaitao/blog/988744

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值