计算机系统概述 - youngperson/study-100 GitHub Wiki
一、计算机系统概述
-
基本组成
- 1.处理器:控制计算机的操作,执行数据处理功能。当只有一个处理器时,它通常指中央处理单元(cpu)。
- 2.内存:存储数据和程序。此类存储器通常是易失性的,即当计算机估计时,内存器的内容会丢失。相反,磁盘存储器的内容不会丢失。内存通常也称为实存储器或主存储器。
- 3**.输入/输出模块**:在计算机和外部环境之间移动数据。外部环境由各种外部设备组成,包括辅助存储器设备(硬盘)、通讯设备和终端。
- 4.系统总线:为处理器、内存和输入/输出模块之间提供通信的设施。
-
处理器寄存器
- 处理器包含一组寄存器,它们提供一定的存储能力,比内存访问速度快,但比内存的容量小。
- 用户可见寄存器
- 优先使用这些寄存器,可以减少使用机器语言或汇编语言的程序员对内存的访问次数。对高级语言而言,由优化编译器负责决定哪些变量应该分配给寄存器,哪些变量应该分配给内存。
- 控制和状态寄存器
- 用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
-
指令的执行
- 指令的处理包括两个步骤:处理器从存储器中一次读(取)一条指令,然后执行每条指令。程序执行是由不断重复的取指令和执行指令的过程组成的。指令执行可能涉及很多操作,这取决于指令自身。
- 取指令和执行指令
- 取到的指令被放置在处理器的一个寄存器中,这个寄存器称作指令寄存器。指令中包含确定处理器将要执行的操作的位,处理器解释指令并执行对应的操作。
-
I/O函数
- I/O模块可以直接与处理器交换数据。I/O模块对存储器发出读命令或写命令,从而免去了处理器负责数据交换的任务。这个操作成为直接内存存取(Direct Memory Access,DMA)
-
中断
- 事实上所有计算机都提供了允许其他模块(I/O、存储器)中断处理器正常处理过程的机制。
- 程序中断:在某些条件下由指令执行的结果产生,列如算术溢出、除数为0、视图执行一条非法的机器指令以及访问到用户不允许的存储器位置。
- 时钟中断:由处理器内部的计时器产生,允许操作系统以一定规律执行函数
- I/O中断:由I/O控制器产生,用于发信号通知一个操作的正常完成或各种错误条件
- 硬件故障中断:掉电或存储器奇偶错误之类的故障产生
-
中断和指令周期
- 在中断处理程序中必须执行额外的指令以确定中断的性质,并决定采用适当的操作。然而,如果简单地等待I/O操作的完成将花费更多的诗句,因此使用中断能够有效地使用处理器。
-
中断处理
- 中断激活了很多事件,包括处理器硬件中的事件以及软件中的事件。
-
多个中断
- 处理多个中断有两种方法。第一种方法是当正在处理一个中断时,禁止再次发生中断。但是这个没有考虑相对优先级和时间限制的要求。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理程序的运行。
-
多道程序设计
- 即使使用了中断,处理器仍有可能未得到有效的利用,如果完成I/O操作的时间远远大于I/O调用期间用户代码的执行时间,则在大部分时间处理器是空闲的。解决这个问题的方法是允许多道用户程序处于活动状态。
-
存储器的层次结构
- 存取时间越快,每一个位的价格越高
- 容量越大,每一个位的价格越低
- 容量越大,存取速度越慢