计算机系统概论

1.1:基本结构

从顶层看来,一台计算机由处理器,存储器和输入输出设备组成,每类部件有一个或者多个模块,这些部件以某种方式进行互联,计算机有四种主要的结构化部件:

  1:处理器(Processor),控制计算机的操作,执行数据处理功能,当只有一个处理器时候,它通常指CPU

2:内存(main Memory):储存数据和程序,此类存储器通常是易失性的;当计算机关机时,存储器的内容会丢失

  3:输入输出设备:在计算机和外部数据之间进行移动数据,外部环境由各种外部设备组成,包括硬盘,通信设备和终端

4:系统总线:为处理器,输入/输出设备,内存提供通信的设备如下图:

 计算机系统概论_第1张图片

处理器的功能是和存储器交换数据,为此它通常使用两个部件:

1:存储器地址寄存器(MAR Memory Address Register):存储器地址寄存器确定下一次读写的存储器地址;

2:存储器缓冲寄存器(MBR Memory Buffer Register):存储器缓冲寄存器存储写入存储器的数据或者从存储器中读取的数据

同理I/O地址寄存器确定一个特定的I/O设备,I/O缓冲寄存器用于在输出模块和处理器之间交换数据

内存模块由顺序编号的地址定义,每个单元包含一个二进制数,可以理解为一个指令和数据。

输入输出模块是在外部设备与处理器和存储器之间传送数据,输入输出模块包含内存缓冲区,用于临时保存数据,直到他们被发送出去,这就对应各种编程语言在输入模块的时候可以一次读取很多数据即使键盘停止输入了,其实是把输入的内容存储到了内存缓冲区中了

1.2:处理器寄存器

处理器里面有一组寄存器;用于存储数据,它的访问速度比内存等其他存储设备都要快速,但是比内存的容量小它们的功能有以下两项:

  • 用户可见寄存器:优先使用该寄存器减少程序员对内存方法的次数,对高级语言而言,由优化编译器负责决定哪些变量应该分配到寄存器,哪些变量应该分配给内存,C语言是建议编译器将哪些变量保存到寄存器中
  • 控制和状态寄存器:控制处理器的操作,可以改变执行顺序例如,处理器从地址为149的存储单元中取出一条指令,该指令制定下一条指令应该从地址为182的存储单元中取值,这样处理器要把程序计数器设置为182,因此在下一个取值阶段,将从地址为182的存储单元而不是地址为150的存储单元中取值
1.2.1:用户可见寄存器

数据寄存器:数据存放的寄存器分为浮点数寄存器,对整数运算使用其他寄存器

    地址寄存器:存放数据和指令的内存地址

1.2.2:控制和状态寄存器(指令执行所必须的)

程序计数器:包含将取指令的地址

指令寄存器:包含最近取得指令内容(用户看不见)

所用的处理器设计还包含状态字寄存器:通常称为状态字(Program Status Word,PSW),它包含状态信息,PSW通常包含条件码和其他状态信息,如中断允许/禁止位和内核/用户态位

下面来看看3 + 2的简单执行过程:

1:首先处理器从存储器中取出指令:分为指令阶段和执行阶段

计算机系统概论_第2张图片

2:IR 中的前四位表示要AC(累加器):从存储器中300中取出指令,它的指令意思是从地址940中取一个值放到AC中去,

3:接着PC加一读到了指令地址为941,从地址为941中读取值2将其和存储在AC中的3相加然后将相加的结果放到AC中去

如图:

计算机系统概论_第3张图片

4:接着PC增一,读取2941指令地址,将AC中的内容存储到941的存储单元

计算机系统概论_第4张图片

执行上述过程总共需要三个指令周期,每一个指令周期包含取指阶段和执行阶段








你可能感兴趣的:(操作系统)