操作系统精髓与设计原理笔记——计算机系统概述
关键术语
寄存器(Register ):寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令,数据和地址。
地址寄存器(Command Register MR):用来保存当前 CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。存储器地址寄存器(Memory Address Register MAR),用于下一次读/写的存储器地址;I/O地址寄存器(I/O Address Register I/O AR),用于确定一个特定的输入输出设备。
指令寄存器(Instruction Register IR):将从地址寄存器取出的指令放在处理器的一个寄存器中,该放置指令的寄存器寄存器称为指令寄存器。
数据寄存器:用来暂时存放计算过程中所用到的操作数、结果和信息。
辅助存储器:又称二级存储器,主要表现为非易失性,主要存储程序和数据文件,其表现形式是程序员可以看到的文件和记录,而不是单个字节或字。
中断(Interrupt):用于提高处理器效率的一种手段,中断整体可以分为4大类
程序中断 | 在某些条件下由指令执行的结果产生,如算术溢出、除数为0、试图执行一条非法机器指令及访问用户不允许的存储器位置 |
时钟中断 | 由处理器的计时器产生,允许操作系统以一定的规律执行函数 |
I/O中断 | 由I/O控制器产生,用于发信号通知一个操作的正常完成或各种错误条件 |
硬件失效中断 | 由诸如掉电或存储器奇偶校验错之类的故障产生 |
中断驱动I/O:由处理器给I/O模块发送I/O命令,然后处理器继续做其他一些有用的工作。当I/O模块准备好与处理器交换数据时,他将打断处理器的执行并请求服务。
计算机的基本构成
-----------------------------------------------------------------------------------------------------------------------------------
处理器:控制计算机的操作,执行数据处理功能
内存:存储数据和程序。此类存储器通常是易失性的,既当计算机关机时,存储器的内容会丢失
I/O模块:在计算机和外部存取器之间移动数据。外部环境由各种外部设备组成,包括辅助存储器设备(如硬盘)、通信设备和终端。
系统总线:在处理器、内存和I/O模块间提供通信的设施
中央处理单元(CPU):当计算机只有有个处理器时,通常此处理器称为中央处理器,也称为中央处理单元
---------------------------------------------------------------------------------------------------------------------------------------------
高速缓存:高速缓存是用来协调CPU与主存之间存取速度的差异而设置的。一般情况下,CPU的工作速度高,但内存的工作速度相对较低,为了解决这个问题,通常使用高速缓存,高速缓存的存取速度介于CPU和主存之间。系统将一些CPU在近几个时间段经常访问的内容存入高速缓冲,当CPU需要使用数据时,先在高速缓存中找,如果找到,就不必访问内存了,找不到时,再找内存,这样就在一定程度上缓解了由于主存速度低造成的CPU“停工待料”的情况。
可编程I/O:当处理器正在执行程序并遇到一个与I/O相关的指令时,他会通过给相应的I/O模块发命令来执行这个指令。
分级存储体系:分级存储是将数据采取不同的存储方式分别存储在不同性能的存储设备上,减少非重要性数据在一级本地磁盘所占用的空间,还可加快整个系统的存储性能。
直接内存读取(Direct Memory Access DMA):是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
命中率:终端用户访问加速节点时,如果该节点有缓存住了要被访问的数据时就叫做命中,如果没有的话需要回原服务器取,就是没有命中。取数据的过程与用户访问是同步进行的,所以即使是重新取的新数据,用户也不会感觉到有延时。 命中率=命中数/(命中数+没有命中数), 缓存命中率是判断加速效果好坏的重要因素之一
程序计数器(Program Counter):保存下一次要读取的指令地址,除非出现特殊情况,否则处理器在每次取指令后总是递增PC,以便能按顺序取下一条指令
指令:处理器执行的程序是由一组保存在存储器中的指令组成的。最简单的指令处理包括两步:处理器从存储器一次读取一条指令,然后执行每条指令
指令周期:单个指令所需要的处理称为一个指令周期
多核:多核是指在一枚处理器中集成两个或多个完整的计算引擎
多处理器:在一枚处理器中集成两个或多个完整的计算引擎,此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号
芯片多处理器:将两个或多个处理器组装在同一块硅上的计算机
局部性:在执行程序期间,处理器的指令访存和数据访存呈“簇”(指一组数据集合)状。
空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。
时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。
栈:又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。
堆栈结构:向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
栈指针:在栈操作过程中,指出栈顶元素所在的位置
复习题
1.1 指出并简要定义计算机的4个基本组成部分?
处理器:控制计算机的操作,执行数据处理功能
内存:存储数据和程序。此类存储器通常是易失性的,既当计算机关机时,存储器的内容会丢失
I/O模块:在计算机和外部存取器之间移动数据。外部环境由各种外部设备组成,包括辅助存储器设备(如硬盘)、通信设备和终端。
系统总线:在处理器、内存和I/O模块间提供通信的设施
1.2 定义处理器寄存器的两种主要类别?
存储器地址寄存器(Memory Address Register MAR),用于下一次读/写的存储器地址;
I/O地址寄存器(I/O Address Register I/O AR),用于确定一个特定的输入输出设备。
1.3 一般而言,一条机器指令能指令的4种不同操作是什么?
处理器-存储器:数据可以从处理器传送到存储器,或从存储器传送到处理器
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或从外部设备向处理器输入数据。
数据处理:处理器可以执行很多与数据相关的算术操作和逻辑操作
控制:某些指令可以改变执行顺序。例如:处理器从地址为149的存储单元中取出一条指令,该指令指定下一条指令应该从地址为182的存储单元中取,这样处理器就会把PC置为182.因此在下一个取址阶段,将从地址为182的存储单元而非150的存储单元获取指令。
指令的执行可能涉及这些动作的组合。
1.4 什么是中断?
1.5 多个中断的处理方式是什么?
处理方式 | 优点 | 缺点 |
在处理一个中断时,禁止再发生中断 | 实现简单,所有中断都严格按照顺序处理 | 未考虑相对优先级和时间限制的要求,有可能由于I/O设备的缓冲区装满或溢出而丢失数据 |
定义中断优先级,允许高优先级中断打断低优先级中断的运行 |
1.6 内存层次各个元素间的特征是什么?
每”位“的价格递减;容量递增;存取时间递增;处理器访问存储器的频率递减
1.7 什么是高速缓存?
利用局部性原理,在处理器和内存之间提供一个容量小且速度快的存储器,称为高速缓存。
1.8 多处理器系统和多核系统的区别是什么?
1.9 空间局部性和时间局部性的区别是什么?
空间局部性指涉及多簇存储器单元的执行趋势,反映了处理器顺序访问指令的倾向,同时也反映了程序顺序访问数据单元的倾向,如处理数据表;
时间局部性指处理器访问最近使用过的存储器单元的趋势,例如在执行一个循环时,处理器重复执行相同的指令集合
1.10 开发空间局部性和时间局部性的策略是什么?
时间局部性是通过将近来使用的指令和数据保存到高速缓存中并使用高速缓存的层次结构实现的;
空间局部性通常是使用较大的高速缓存并将预取机制集成到高速缓存控制逻辑中实现。