OS复习笔记ch1-1

本文回顾了计算机的基本组成,包括中央处理器、主存和外设,重点介绍了处理器寄存器(包括用户可见和不可见的)以及指令执行过程。区分了操作系统视角下的特权指令和非特权指令,并预告了后续将讨论中断概念。
摘要由CSDN通过智能技术生成

引言

本文是OS复习笔记系列的第一篇,按照老师上课的ppt自己整理的一些知识点,若有疏漏或错误之处,欢迎大家批评指正

计算机的基本组成

我们都知道计算机组成原理是操作系统的前置课程,那么复习前让我们回顾一下之前组成原理学习的知识:计算机有哪些基本的组成单元呢?


OS课堂上老师给的一个参考图
image.png
上述图片展示了计算机的三大基本组成(系统总线除外):

中央处理器(CPU)、主存(Main memory)、外设(I/O module)。

那就有小伙伴问了:组原课上不是说五大部件,这里怎么就只有三个?
实际上,组原的课程中我们还会细致地划分CPU的为控制器和运算器,主存会被包含存储器中,I/O模块也会分为输入和输出设备,具体可以参考下图。
image-20230914224142194

上图的第一列将计算机划分成了我们组原(Computer Organization,以下简称CO)熟知的运算器、控制器、存储器、输入设备和输出设备五大部件。
至于为啥OS和CO两个划分结果不同,原因在于研究的粒度不同,CO更贴近于底层硬件,所以划分会更细,而OS由于是承上启下的作用,所以更多从软件的角度出发,划分相对粗糙。

处理器寄存器

这里把处理器寄存器单独拉出来说,主要是有两个目的。
一个是回顾之前CO学习的知识,二是为了我们的后续课程做概念引入。

首先,处理器寄存器(Processor Registers),它是一个概念,处理器processor是register的名词定语,不要把它当成处理器和寄存器两个概念。

想想我们之前组原学习到的知识(可能会有一部分汇编知识在里面),处理器寄存器在哪里学习到过?


经过几秒钟的思考,相信你会想起计算机的存储层次图。
image.png

我们这里的处理器寄存器其实就是上图的金字塔塔尖的regs,也是距离CPU最近的,速度最快的存储器。

接下来,我们具体来看这个处理器寄存器(以下简称regs)的组成。

从程序员的角度出发,regs分为用户可见的和用户不可见的(这里的用户特指程序员)。

  • 用户可见的regs
    程序员可以通过编程实际操控的寄存器,比如8086的通用寄存器AX、BX等,当然这里的编程是类汇编代码,一般的高级语言很难直接操控regs。
  • 用户不可见的regs
    主要是控制&状态寄存器,他们归属于OS,用来控制和反应CPU的运行状态,不可以编程操控。

用户可见的regs,又分为数据寄存器,地址寄存器和条件码寄存器(只读)。
用户不可见regs,主要有以下几种:

  • PC:程序计数器,指向下一条指令执行的位置。
  • IR:指令寄存器,取指之后指令存储的地方。
  • PSW:程序状态字,记录程序的条件码、中断位等。
    • 条件码:只读,用不同的位表示不同的状态
    • 中断位:记录CPU的中断状态(中断后续会详谈)
      在8086汇编中,有一个标志寄存器的概念与条件码类似
      image.png
      这里,比如第六位ZF就是表示当前的运算结果是否为0,是0则该位会置一。
      其他位的信息感兴趣的小伙伴可以自行研究,我们不再赘述。

指令执行

image.png
我们先来回顾一下组原上课讲的指令的执行阶段,一般包括:取指→译码→执行→访存→写回。我们这里简化上述步骤,前两个视为取指,后三个视为执行。

PC保存当前要取的指令地址,处理器从存储器取出一条指令地址,然后递增PC,按顺序取下一条指令。取到的指令被放置在IR中,指令通常分为两部分,一部分是操作位,一部分是数据位。

image.png
机器指令的集合称指令系统。指令所执行的操作大体上可以分为四种:

  • 处理器-存储器:处理器和存储器之间的数据交换
  • 处理器-IO:处理器和IO设备间的数据交换
  • 数据处理:算数或逻辑操作
  • 控制:这种指令可以改变指令执行顺序。比如PC中的内容是149,IR中的指令是指定下一条指令从地址182处读取,这样PC的值会被设置成182。

此外,对于OS而言,我们的指令根据权限会分成特权指令和非特权指令。特权指令又称为内核指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、加载PSW等只能被OS内核执行;而非特权指令又称为用户指令,用于执行一般的用户任务,如算术、逻辑运算、数据传输、控制转移等操作。

而具体的指令执行流程属于组成原理中的知识,这里不再叙述。


以上就是本文的全部内容了,感兴趣的小伙伴可以关注我的专栏:OS复习笔记,下一节我们将介绍另一个熟悉又陌生的概念——“中断”。

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值