操作系统学习笔记(一):计算机系统概述

1.计算机系统主要由四个基础部分组成:处理器、存储器、输入输出(IO)模块和系统总线。

处理器:控制计算机的操作,执行数据的处理,通常指CPU。在处理中含有寄存器,寄存器相对内存来说容量很小,但存取速度相当快,可以用来暂存指令和数据等。寄存器有多种不同的分类。如地址寄存器和指令寄存器等。地址寄存器存放下一步需要从存储器中读取的存储器地址,指令寄存器存取当前正在执行的程序指令。

存储器:分为内存和外存。主要用于存储数据和程序,通常都是易失的(计算机关机后数据丢失),因此也是数据临时性的存放场所。

输入输出模块:在计算机和外部环境之间移动数据,外部环境包括各种设备(如硬盘、磁盘和各种终端等)。输入模块是把人们所熟悉的某种信息形式变换为及其内部所能接收和识别的二进制信息形式。输出设备把计算机处理结果变化为人和其他机器设备所能接收和识别的信息形式。注意:IO模块也可以直接和处理器交换数据。也可以直接与内存交换数据,此时,IO模块对存储器发出读命令或写命令,从而免去了处理器负责数据交换的任务。这种操作叫做直接内存存储(DMA)。

系统总线:是计算机系统各部件之间进行数据传送的公共通路。

2.指令的执行

在不考虑中断的情况下,指令的执行包括两个阶段:处理器从存储器中取指令阶段和处理器执行指令阶段。去取指令阶段和执行指令阶段构成一个指令周期。寄存器中的程序计算器保存下一次要取的指令地址,每次取到的指令放在指令寄存器,处理器解释指令并执行对应的操作。

中断:中断是处理器中断当前正在执行的程序指令,是其他模块(IO模块、存储器)中断处理器正常处理过程的机制。主要目的是提高处理器的效率。原因是因为其他模块在执行过程中比处理器慢很多,导致在处理器在执行过程中如果遇到与其他的模块进行交互(因为其他模块可能需要进行自己的特有某些操作,如打印机打印操作过程中,此时是不需要处理器在一直处理等待状态的...),有很长时间实际上是处于等待状态而未得到充分利用。

中断请求:是其他模块向处理器发送的用于希望处理器中断当前处理器正在执行的指令,转而执行此外部模块的中断程序,并且处理器负责将正在执行的程序挂起。当中断处理完成后,处理器恢复执行。

考虑到中断阶段,指令的执行周期变为了取指令阶段、执行阶段和中断阶段。

3. 中断处理流程:

其他模块设别控制器或其他系统硬件产生一个中断信号给处理器 >> 处理器结束当前指令的执行 >> 处理器发送中断应答信号 >> 处理器将程序状态字和程序计数器压入控制栈 >> 根据中断,处理器加载新的程序计数器 >> 保存剩余的处理状态信息 >> 处理器处理中断程序 >> 中断处理完成后,处理器恢复处理状态信息 >> 处理器恢复老的程序状态字和程序计算器 >> 处理器继续执行原来的程序指令

4. 存储器的存储结构

存储器的设计主要要在三个方面做出协调:容量、速度和价格。存储器的层次结构是依据局部性原理:处理器访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续单元中。也就是说位于被访问字附件的数据在近期被访问到的概率比较大。局部性又包括三种不同的类型:时间局部性——如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。空间局部性——在最近和将来用到的信息很可能与现在使用的信息在空间商地址上是临近的。顺序局部性——在典型程序中,除转移类指令外,大部分指令是顺序执行的。

典型的存储器的层次结构如下图:

 二级存储器:与一级存储器相对,二级存储器是外部的非易失性,外部的或可移动的。二级存储设备容量上更大,读取更慢但相对更便宜。

高速缓存:介于处理器和内存中间的高速小容量的存储器,和内存一起构成一级存储器。高速缓存存储器和内存之间的信息调度和传送是由硬件自动进行的。高速缓存有时也分为一级高速缓存、二级高速缓存...每级高速缓存都比前一级存取速度慢但容量大。高速缓存是为了解决处理器处理速度远快于内存的速度而出现的,其基本原理还是局部性原理。高速缓存包含一部分内存数据的副本,此后处理器读取数据时,首先从高速缓存中判断是否存在,若有则直接从高速缓存中传送过去,若没有则从内存中以一定长度的块数据先读入高速缓存,然后再从高速缓存中传到处理器。

 

posted @ 2012-11-27 14:55  HappyCorn  阅读(2357)  评论(0编辑  收藏  举报