指令集与操作系统的关系.docx

上传人:太** 文档编号:86420273 上传时间:2023-04-14 格式:DOCX 页数:4 大小:12.40KB
返回 下载 相关 举报
指令集与操作系统的关系.docx_第1页
第1页 / 共4页
指令集与操作系统的关系.docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《指令集与操作系统的关系.docx》由会员分享,可在线阅读,更多相关《指令集与操作系统的关系.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、指令集与操作系统的关系1、首先讨论各种单片机与操作系统的关系说到单片机,大家第一时间想到的应该是51单片机,对吧。不错,更高级一点 的AVR,把他称为单片机,我们也还觉得可以接受。那么再高级一点的ARM7, 8086, 80386, Core i3, Athlon等等我们更习惯称他们为CPU,因为学习计算 机原理的时候都是这么叫的,但按照单片机的定义,他们也是归属于单片机。 这也不怪大家,中国的教育都是这样,只注重告诉你是什么,而不告诉你他们 之间的联系。上述几种单片机或者芯片(如果你还是觉得把core i3叫做单片 机你不习惯的话)在原理上都是一样,即都是有运算器控制器寄存器构成的, 不同之

2、处在于它们的硬件电路实现不同,个数不同,功耗不同,计算能力不同, 但都提供相同的基本功。0K,终于让cpu找到了组织,那么就介绍为什么有的 单片机要操作系统,有的在我们学习的过程中压根就跟操作系统不挨边。51/AVR单片机在学习他们的时候,都是先介绍它们有哪些资源一一有几个寄 存器,有几个时钟等,然后就是怎么用汇编,用C或者是C与汇编混合编程。 这里我们用的语言都是可以直接操作硬件资源的,因此我们可以自己决定什么 时候使用哪个寄存器,什么时候将寄存器内容写到辅存储器中。ARM单片机在学习它的时候,我们可以给他搭载操作系统,如MicroC/OS, iOS X, Android或者其他定制的lin

3、ux操作系统,但有时我们也经常不让它搭载操 作系统,而是直接像使用51单片机那样来操作它。Core i3 / Athlon单片机(或者CPU,如果你还是不喜欢用单片机来形容这么 牛逼的硬件)你几乎没有听说过身边谁会在这种单片机上开发应用(如果有, 一定要引荐我认识一下哦)。因为在这种单片机上开发的应用有一个很牛逼的 名字一一操作系统!由于这种单片机提供的资源太多,能干的活太多,我们需 要有一个专门的程序来负责管理它,从而防止对相同的功能重复开发。这样我 们就可以从对硬件编程中解放出来,更专注于应用层面的开发。从某种意义上 来说,操作系统也就是一个应用程序而己,只不过他有点特别。一般这种情况下,

4、打个比方会比拟好一一单车和汽车。单车很简单,我们对它 的构成及零部件也很熟悉,链条掉了,我们也完全能够应付。这就好比51单片 机,资源不多,我们完全能够hold住。相较而言,汽车那么复杂很多,有减速系 统,刹车系统,电子系统,空调系统等等,但是我们并不需要清楚他们的硬件 工作原理,我们之需要知道按那个开关,踩那个踏板就好了。这就好比单片机 上的操作系统,它不需要我们清楚硬件的构造,想要实现功能,直接调用系统 提供的API就可以了。在我们双脚不停的蹬着踏板,自行车就前进这个动作中, 我们是清楚的知道这其中各个部件的运行原理过程的;但如果你是踏着油门, 汽车就跑起来,我觉得大局部人都不了解其中涉及

5、到了哪些部件,以及各个部 件的原理的。但这不阻碍我们使用,不是吗。2、cpu与指令集的关系CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一些列与其硬件 电路相配合的指令系统,或者说某款cpu的硬件设计其实就是针对某个指令集 的一种硬件实现。指令集也就是所谓的目标代码(或称为机器代码,是可以直 接在CPU上运行的代码)可以看作是要求CPU对外提供的功能,某款CPU的设 计肯定是朝着某个指令集来的。所以,不同的cpu架构,也表示这他的指令集 要么较之前的指令集有所拓展或者就是实现了一种全新的指令集。指令集中的 一条指令,就是让cpu完成一系列的动作,而该动作的完成那么说明了某种运算 的

6、完成。一个功能可能需要一条或几条指令来实现。比方汇编的MOV或者LD语 句就可能对应着几条cpu指令。下面介绍几种常见的CPU架构与指令集的对应关系(所谓架构是指硬件电路的 实现):intel X86架构CPU可能实现了多个指令集x8令x86-64, MMX, SSE, SSE2, SSE3, SSSE3 ,而这些指令集中的指令让cpu完成的动作都比拟复杂,所以也 称为CISCAMD amd64架构的cpu兼容了 x86指令集还拓增了 3D-Now!指令集,用于加强 对3D显示的支持。ARM ARMvTARMv7架构的cpu实现了 Thumb指令集和ARM指令集。这些指令集 中的一条指令让cp

7、u完成的动作都比拟简单,所以也称为RISC指令集3、指令集与操作系统的关系这里要重新提及一下之前讲到的两个概念:指令集一一就是机器代码;操作系 统一一就是应用程序首先我们要知道计算机之父冯-诺伊曼说计算机只能运行在二进制上。所以不管 是操作系统还是普通的应用程序最终都得转化到二进制代码才能够被CPU所处 理。而用高级语言编写的普通应用程序都必须经过编译器编译后成为二进制代 码(指令)才能运行。而不同的CPU所实现的指令集不同,所以不同的指令集 对应的编译器也不尽相同,编译器不同,相同的高级语言程序经过编译后所得 到的二进制代码也不同。这就引出了 “移植”和“跨平台”两个概念。0K,重 新捋一下

8、:cpu架构-指令集-编译器-程序环环相扣,紧密联系。所以你就会 听到说Windows操作系统只能够运行在X86架构的CPU上,不能运行在Power 或ARM上,因为指令集不同,又所以就有了 “Wintel”联盟。所以你也可以看 到有的编译器是有硬件厂家提供的,比方Intel就提供C和C+的编译器,这 样编译出来的程序就能更好的利用硬件的性能。那为什么又会听到linux可以 运行在不同架构的CPU上呢?那是因为linux是开源的,因此就可以将它移植 到不同的CPU平台上,然后在用相应的编译器编译,就得到了可以在该CPU上 运行的二进制代码了。而Windows是封闭的,得不到源代码,而MS自己乂没有 移植到别的CPU平台上的打算,所以当然就只能在X86上运行了。(BTW, X86 也是性能最好的CPU之一,而Windows对性能要求较高,所以MS当然也就不愿 意移植了)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁