操作系统简单总结之计算机简介

操作系统简单总结——计算机简介

  • 基本构成
  • 微处理器发展演化
  • 指令执行
  • 中断
  • 存储器的层次结构
  • 高速缓存
  • 直接内存存取

计算机的基本构成主要是分四块。

其中在每个I/O模块的控制器中都会有专门的寄存器组用来与CPU实现数据交流和被CPU控制。


微处理器的发展史

微处理器发展主要是单核到多核的转变。

在一些CPU里,会有遇到双核4线程之类的,其实他不是真正的4核。只是在每个CPU内部,都会多出一个寄存器组,能够执行两个独立的线程代码流。操作系统以为有四个CPU。


指令执行

计算机内部一共有四类指令。

  • 处理器到存储器:寄存器和内存单元间传送数据
  • 处理器和I/O:处理器和I/O设备间传送数据
  • 数据运算:算术/逻辑运算
  • 控制转移:设置PC值,改变执行顺序


中断

中断时指暂停当前程序转而执行相应事件的中断处理程序,待中断处理程序执行完再继续刚才的程序。

中断分类:

  • 程序中断:程序执行过程发生错误
  • 时钟中断:CPU内部的定时器产生
  • I/O中断:I/O控制器产生,读写操作完成
  • 硬件失效中断:掉电之类的

中断的出现,提高了CPU处理的效率,比如可以让I/O设备在读的过程中去忙其他事,而不是干等。CPU在执行完每条指令后都会先去检查是否有中断请求,有就相应,没有就继续当前指令流。当然,可以设置中断位,让CPU允不允许接受中断。

中断的硬件实现:

CPU和中断控制器之间用总线上的中断请求线连接。

软件实现:

每个中断都有中断向量号,所有的中断向量都会放到一张中断向量表中。一般开机的时候,就会把中断向量表加载进内存(开头的1K左右空间)。
然后中断向量其实就是个地址,该地址指向了中断处理程序(其实可以理解为函数)所在地。

处理中断的详细过程最重要就是保存现场,把当前程序的相关记录(PSW和PC)压栈,便于恢复。


存储器的层次结构和高速缓存

存储器的层次主要是CPU内的高速缓存(cache)内存和硬盘。

内存是CPU能唯一直接访问的大型存储介质。为了扩充内存容量,用磁盘和内存实现虚拟内存。为了提高CPU和内存的访问速度,引进了cache.(cache的可行主要是程序的局部性原理,时间空间局部性)

当然cache可以有多层。


直接内存存取

直接内存存取(DMA),以前的硬盘和内存的数据传送,每次都要经过CPU,比如磁盘传数据给内存,当磁盘的缓存满了,会发出I/O中断,然后CPU去取,把数据放到内存;每次读数据,缓存会满很多次,这样每次都要CPU来转手就影响了效率。因此,DMA就是只需要CPU告诉我们的磁盘开始和结束命令,DMA控制器(优先级最高)通过抢占总线周期,来直接把硬盘数据写进内存。