阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第一章:计算机系统概述

1. 基本构成
  • 计算机主要由4个部分构成
    • 处理器:数据处理。
    • 存储器:一般指的是内存。
    • 输入输出模块:各种外设,如硬盘。
    • 系统总线:在处理器、存储器、输入输出设备之间提供通信。

3. 指令的执行
  • 最基本的包括两步:取指令 + 执行指令 = 指令周期
  • 程序计数器(Program Counter PC) 中保存下一条指令的位置,取到的指令放在指令寄存器(Instruction Register IR) 中。

4. 中断
  • 可以分为四种:(这个分类有点奇怪…)

    • 程序中断:程序执行的结果产生,例如出现算术溢出、除0等操作。
    • 时钟中断:由CPU内部的计时器发出。
    • I/O中断:由I/O控制器发出硬件信号。
    • 硬件失效中断:掉电或奇偶校验错误之类的故障产生。
  • 有了中断机制,则需要在指令周期中加一个中断阶段来检查是否出现中断。

  • 具体来讲,一个外部中断会发生以下事件

    1. 设备给处理器发送一个硬件中断信号。
    2. 处理器在指令周期中检查到中断。
    3. 处理器给提交中断的设备发送确认信号,允许该设备取消中断信号。
    4. 处理器把操作权交给中断服务程序:先保存当前程序的信息,最少需要保存程序状态寄存器和PC寄存器,压入系统控制栈。
    5. 处理器把响应中断的中断程序的入口地址装入PC。这里可能每一类中断有一个程序,也可能每个设备的每一类中断各有一个程序。处理器要能决定调用哪一个中断处理程序。
    6. 之前只保存了状态寄存器PSW和PC,一般在中断处理程序的开始,会将其他寄存器的值也保存到栈中,因为他们有可能用到这些寄存器。
    7. 中断处理程序处理中断。
    8. 恢复保存的寄存器的值。
    9. 恢复PSW和PC的值,下一条程序则会执行中断断点处的下一条程序。
  • 多个中断可以使用中断优先级来解决先后问题。


5. 存储器的层次结构
  • 存储器有三个问题:速度,容量,价格。有一定的制约关系。
  • 更快的速度,更大的容量以及更低的价格,所以设计时采用了层次结构。
  • 局部性原理:CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

6. 高速缓存
  • 高速缓存包含一部分内存的数据,处理器试图读取一个字节时,先检查是否在高速缓存中。如果在,则直接传递给处理器;如果不在,那么则将包含这个数据的一块内存读入高速缓存。

7. 直接内存读取(DMA)
  • I/O操作有三种方式:程序查询I/O操作、中断驱动I/O操作,直接内存读取。
  • 程序查询I/O操作:需要处理器在执行I/O操作后,定期查询I/O状态。效率很低
  • 中断驱动I/O操作:I/O模块以中断的方式通知处理器,而不是定期查询,大大节约了时间。但任何数据传送必须要完全通过处理器。
  • DMA:由一个单独的模块来完成,处理器告诉模块:读或者写、I/O设备地址、读或者写的存储单元、字节个数等信息,DMA模块自动传送,占用系统总线,但不经过处理器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值