计算机硬件简介CPU
接上文:现代计算机系统
操作系统与运行操作系统的内核硬件关系密切。操作系统扩展了计算机指令集并管理计算机的资源。因此,操作系统因此必须足够了解硬件的运行,这里我们先简要介绍一下现代计算机中的计算机硬件。简单个人计算机的组件
从概念上来看,一台简单的个人电脑可以被抽象为上面这种相似的模型,CPU、内存、V/O 设备都和总线串联起来并通过总线与其他设备进行通信。CPU
CPU 是计算机的大脑,它主要和内存进行交互,从内存中提取指令并执行它。
一个 CPU 的执行周期是从内存中提取第一条指令、解码并决定它的类型和操作数,执行,然后再提取、解码执行后续的指令,重复该循环直到程序运行完毕。
每个 CPU 都有一组可以执行的特定指令集。因此,x86 的 CPU 不能执行 ARM 的程序并且 ARM 的 CPU 也不能执行 x86 的程序。
由于访问内存获取执行或数据要比执行指令花费的时间长,因此所有的 CPU 内部都会包含一些寄存器来保存关键变量和临时结果。因此,在指令集中通常会有一些指令用于把关键字从内存中加载到寄存器中,以及把关键字从寄存器存入到内存中。还有一些其他的指令会把来自寄存器和内存的操作数进行组合,例如 add 操作就会把两个操作数相加并把结果保存到内存中。
除了用于保存变量和临时结果的通用寄存器外,大多数计算机还具有几个特殊的寄存器,这些寄存器对于程序员是可见的。其中之一就是程序计数器(program counter),程序计数器会指示下一条需要从内存提取指令的地址。提取指令后,程序计数器将更新为下一条需要提取的地址。
另一个寄存器是堆栈指针(stack pointer),它指向内存中当前栈的顶端。堆栈指针会包含输入过程中的有关参数、局部变量以及没有保存在寄存器中的临时变量。
还有一个寄存器是 PSWProgram Status Word)程序状态字寄存器,这个寄存器是由操作系统维护的8个字节(64位) long 类型的数据集合。它会跟踪当前系统的状态。除非发生系统结束,否则我们可以忽略 PSW。用户程序通常可以读取整个PSW,但通常只能写入其某些字段。PSW 在系统调用和1/0 中起着重要作用。
操作系统必须了解所有的寄存器。在时间多路复用(time multiplexing)的 CPU 中,操作系统往往停止运行一个程序转而运行另外一个。每次当操作系统停止运行一个程序时,操作系统会保存所有寄存器的值,以便于后续重新运行该程序。
为了提升性能,CPU 设计人员早就放弃了同时去读取、解码和执行一条简单的指令。许多现代的 CPU 都具有同时读取多条指令的机制。
例如,一个 CPU 可能会有单独访问、解码和执行单元,所以,当 CPU 执行第 N 条指令时,还可以对N+1条指令解码,还可以读取 N+2 条指令。像这样的组织形式被称为流水线(pipeline):
比流水线更先进的设计是超标量(superscalar)CPu,下面是超标量 CPU的设计
在上面这个设计中,存在多个执行单元,例如,一个用来进行整数运算、一个用来浮点数运算、一个用来布尔运算。两个或者更多的指令被一次性取出、解码并放入缓冲区中,直至它们执行完毕。只要一个执行单元空闲,就会去检查缓冲区是否有可以执行的指令。如果有,就把指令从缓冲区中取出并执行。
这种设计的含义是应用程序通常是无序执行的。在大多数情况下,硬件负责保证这种运算的结果与顺序执行指令时的结果相同。
除了用在嵌入式系统中非常简单的 CPU 之外,多数 CPU 都有两种模式,即前面已经提到的内核态和用户态 。
通常情况下,PSW 寄存器中的一个二进制位会控制当前状态是内核态还是用户态。当运行在内核态时,CPU 能够执行任何指令集中的指令并且能够使用硬件的功能。在台式机和服务器上,操作系统通常以内核模式运行,从而可以访问完整的硬件。在大多数嵌入式系统中,一部分运行在内核态下,剩下的一部分运行在用户态下。
用户应用程序通常运行在用户态下,在用户态下,CPU 只能执行指令集中的一部分并且只能访问硬件的一部分功能。一般情况下,在用户态下,有关 V/O 和内存保护的所有指令是禁止执行的。当然,设置 PSW 模式的二进制位为内核态也是禁止的。
为了获取操作系统的服务,用户程序必须使用系统调用(system call),系统调用会转换为内核态并且调用操作系统。TRAP 指令用于把用户态切换为内核态并启用操作系统。当有关工作完成之后,在系统调用后面的指令会把控制权交给用户程序。我们会在后面探讨操作系统的调用细节。
足球报介绍国足新教练组两名扬科维奇老搭档3名中方教练直播吧2月27日讯在扬科维奇正式挂帅国足后,足球报发文介绍了新一届国足教练班子的人员构成以及分工。扬科维奇的教练组人选基本确定,他在亚运队时的助手佩洛维奇和守门员教练马克西莫维奇将
米切尔三节砍35分骑士大胜猛龙骑士11893大胜猛龙结束三连败,猛龙止步四连胜。加兰德米切尔在首节各中2记三分,两人合砍18分,贾雷特阿伦4投4中得到11分,骑士首节3428领先。米切尔在第二节再中3记三分,半
27分逆转!联盟独一份,一人锁死东契奇,湖人捡到宝,詹姆斯笑了独行侠与湖人,是本赛季交易截止日之前最受关注的两支队伍,独行侠豪赌了一把,拿下了欧文,终于给东契奇找来了一位当打之年而且非常健康的全明星帮手。湖人则在三方大交易中送走了威少,并且拿
米切尔我妈告诉我纪录被追平得拿72分了北京时间2月27日,火箭客场挑战开拓者。全场战罢,开拓者以131114大胜火箭。此役,开拓者后卫达米恩利拉德出战39分钟,投篮38中22,三分球22中13,罚球14罚全中,得到71
潮评丨我的手机,到底谁做主?自己的手机,真能自己做主?摇一摇模式下,手机稍有晃动就是满屏广告不征求机主意见,就悄悄下载更新APP默认勾选自动续费,不知不觉中连续扣钱小小的APP中,藏着不少坑,有些说是消费陷阱
WindowsMac下好用免费的翻译软件TTime由于在Windows上一直没有找到一款好用的截图翻译软件,我曾经尝试过有道翻译客户端百度翻译网页版以及其他工具插件,但效果外观或便捷性总是不能完全满足我的预期和要求。因此,我自己经
HMDGlobal诺基亚手机仍使用旧LogoIT之家2月27日消息,诺基亚昨日宣布,计划在近60年来首次更改其品牌标志Logo,使用全新标志,从而匹配公司专注于积极增长的目标。诺基亚新Logo据爱范儿报道,HMDGlobal
努比亚nubiaPad3D预热采用AI引擎超级仿生眼技术,前后摄3D影像不久前,努比亚官方宣布nubiaPad3D将于2月28日的MWC2023大会上亮相。官方介绍,该平板是全球首款由AI引擎驱动的3D平板,能够实现全场景3D应用,支持3D视讯3D摄录
等你老了,尽量少穿得花里胡哨!学三木妈妈这样打扮,多优雅对于任何一位女性而言,好像年龄的走向和过度都属于在自身的形象展现方面会造成非常大的影响,尤其是在50或者60岁之后的年龄阶段,对于自身的穿衣打扮就有了很多的顾忌之处。而如今不少的中
秦始皇从故事的典型环境和人物描述中可见,周时连工匠老百姓都能在京畿内议论政治。春秋战国时普通官吏士市民均可大胆向国王提意见,如著名的颍谷封人颍考叔帮助郑武公与其母骨肉重新团聚曹刿论战触龙
郑成功的势力到底多大?郑成功的势力到底有多大郑芝龙降清后,郑成功并没有跟着老爹北上,而是坚持抗清,于是跟老爹分道扬镳,当时跟着他的只有300多人,一条船都有不起。最初的两年,他曾出兵攻打过泉州海澄同安。