×

中央处理单元(CPU)主要组成部分和CPU功能介绍及ARM和X86的介绍

消耗积分:0 | 格式:rar | 大小:0.52 MB | 2017-09-13

分享资料个

   
       重温下 CPU 是什么鬼

  中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面

  意思看运算器就是起着运算的作用,控制器就是负责发出 CPU 每条指令所需要

  的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速

  度。

  CPU 有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来

  说,CPU 就像我们的大脑,帮我们完成各种各样的生理活动。因此如果没有 CPU,

  那么电脑就是一堆废物,无法工作。移动设备其实很复杂,这些 CPU 需要执行

  数以百万计的指示,才能使它向我们期待的方向运行,而 CPU 的速度和功率效

  率是至关重要的。速度影响用户体验,而效率影响电池寿命。最完美的移动设备

  是高性能和低功耗相结合

  要了解 X86 和 ARM,就得先了解复杂指令集(CISC)和精简指令集(RISC)

  从 CPU 发明到现在,有非常多种架构,从我们熟悉的 X86,ARM,到不太熟

  悉的 MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来

  分类的话,它们可以被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,

  也就是经常看到的“CISC”与“RISC”。 Intel 和 ARM 处理器的第一个区别是,前者

  使用复杂指令集(CISC),而后者使用精简指令集(RISC)。属于这两种类中的各

  种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。

  我们可以继续举个例子,比如说我们要命令一个人吃饭,那么我们应该怎么

  命令呢?我们可以直接对他下达“吃饭”的命令,也可以命令他“先拿勺子,然后

  舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去”。从这里可以看到,对于

  命令别人做事这样一件事情,不同的人有不同的理解,有人认为,如果我首先给

  接受命令的人以足够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复

  杂功能),那么以后就可以用非常简单的命令让他去做很复杂的事情——比如只

  要说一句“吃饭”,他就会吃饭。但是也有人认为这样会让事情变的太复杂,毕竟

  接受命令的人要做的事情很复杂,如果你这时候想让他吃菜怎么办?难道继续训

  练他吃菜的方法?我们为什么不可以把事情分为许多非常基本的步骤,这样只需

  要接受命令的人懂得很少的基本技能,就可以完成同样的工作,无非是下达命令

  的人稍微累一点——比如现在我要他吃菜,只需要把刚刚吃饭命令里的“舀起一

  勺饭”改成“舀起一勺菜”,问题就解决了,多么简单。这就是“复杂指令集”和“精

  简指令集”的逻辑区别。

  从几个方面比较 ARM 与 X86 架构

  Intel 和 ARM 的处理器除了最本质的复杂指令集(CISC)和精简指令集(RISC)

  的区别之外,下面我们再从以下几个方面对比下 ARM 和 X86 架构。

  一、制造工艺

  ARM 和 Intel 处理器的一大区别是 ARM 从来只是设计低功耗处理器,Intel

  的强项是设计超高性能的台式机和服务器处理器。

  一直以来,Intel 都是台式机的服务器行业的老大。然而进入移动行业时,Intel

  依然使用和台式机同样的复杂指令集架构,试图将其硬塞入给移动设备使用的体

  积较小的处理器中。但是 Intel i7 处理器平均发热率为 45 瓦。基于 ARM 的片上

  系统(其中包括图形处理器)的发热率最大瞬间峰值大约是 3 瓦,约为 Intel i7

  处理器的 1/15。其最新的 Atom 系列处理器采用了跟 ARM 处理器类似的温度控

  制设计,为此 Intel 必须使用最新的 22 纳米制造工艺。一般而言,制造工艺的纳

  米数越小,能量的使用效率越高。ARM 处理器使用更低的制造工艺,拥有类似

  的温控效果。比如,高通晓龙 805 处理器使用 28 纳米制造工艺。

  二、64 位计算

  对于 64 位计算,ARM 和 Intel 也有一些显著区别。Intel 并没有开发 64 位版

  本的 x86 指令集。64 位的指令集名为 x86-64(有时简称为 x64),实际上是 AMD

  设计开发的。Intel 想做 64 位计算,它知道如果从自己的 32 位 x86 架构进化出

  64 位架构,新架构效率会很低,于是它搞了一个新 64 位处理器项目名为 IA64。

  由此制造出了 Itanium 系列处理器。

  同时 AMD 知道自己造不出能与 IA64 兼容的处理器,于是它把 x86 扩展一下,

  加入了 64 位寻址和 64 位寄存器。最终出来的架构,就是 AMD64,成为了 64

  位版本的 x86 处理器的标准。IA64 项目并不算得上成功,现如今基本被放弃了。

  Intel 最终采用了 AMD64。Intel 当前给出的移动方案,是采用了 AMD 开发的 64

  位指令集(有些许差别)的 64 位处理器。

  而 ARM 在看到移动设备对 64 位计算的需求后,于 2011 年发布了 ARMv8 64

  位架构,这是为了下一代 ARM 指令集架构工作若干年后的结晶。为了基于原有

  的原则和指令集,开发一个简明的 64 位架构,ARMv8 使用了两种执行模式,

  AArch32 和 AArch64。顾名思义,一个运行 32 位代码,一个运行 64 位代码。ARM

  设计的巧妙之处,是处理器在运行中可以无缝地在两种模式间切换。这意味着

  64 位指令的解码器是全新设计的,不用兼顾 32 位指令,而处理器依然可以向后

  兼容。

  三、异构计算

  ARM 的 big.LITTLE 架构是一项 Intel 一时无法复制的创新。在 big.LITTLE 架构

  里,处理器可以是不同类型的。传统的双核或者四核处理器中包含同样的 2 个核

  或者 4 个核。一个双核 Atom 处理器中有两个一模一样的核,提供一样的性能,

  拥有相同的功耗。ARM 通过 big.LITTLE 向移动设备推出了异构计算。这意味着处

  理器中的核可以有不同的性能和功耗。当设备正常运行时,使用低功耗核,而当

  你运行一款复杂的游戏时,使用的是高性能的核

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'中央处理单元(CPU)主要组成部分和CPU功能介绍及ARM和X86的介绍',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);