一、计算机系统层次结构
1.1 计算机系统的组成
计算机系统 = 硬件系统+软件系统
硬件:有形的物理设备,是计算机系统中实际物理装置的总称
软件:在硬件上运行的程序和相关的数据及文档
对某一功能来说,若其既可用软件实现,又可用硬件实现,则称为“软/硬件在逻辑功能上是等价的”
1.2 计算机硬件
1.2.1 冯·诺依曼机基本思想
冯·诺依曼在研究 EDVAC 时提出了“存储程序”的概念,其思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机统称冯·诺依曼机。
基本思想:将事先编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束。
特点:
- 采用“存储程序”的工作方式。
- 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备这 5 大部件组成。
- 指令和数据以同等地位存储在存储器中,形式上没有区别,但计算机应能区分它们。
- 指令和数据均用二进制代码表示。
- 指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作的地址。
1.2.2 计算机的功能部件
- 输入设备:主要功能是将程序和数据以机器所能识别和接受的信息形式输入计算机。最常用也最基本的输入设备是键盘,此外还有鼠标、扫描仪、摄像机等。
- 输出设备:任务是将计算机处理的结果以人们所能接受的形式或其他系统要求的信息形式输出。最常用、最基本的输出设备是显示器、打印机。
输入/输出设备(简称 I/O 设备)是计算机与外界联系的桥梁,是计算机中不可缺少的重要组成部分。
- 存储器:分为主存储器(也称内存储器或主存器)和辅助存储器。CPU 能够直接访问的存储器是主存储器。辅助存储器用于帮助主存储器记忆更多的信息,辅助存储器中的信息必须调入主存储器后,才能被 CPU 所访问。主存储器的工作方式是按存储单元的地址进行存取,这种存取方式成为按地址存取方式。
主存储器的基本组成如图 1.1 所示。存储体存放二进制信息,存储器地址寄存器(MAR)存放访存地址,经过地址译码后找到所选的存储单元。存储器数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。

存储体:由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位二进制代码“0”或“1”。因此存储单元可存储一串二进制代码,称这串代码为存储字,称这串代码的位数称为存储字长,存储字长可以是 1B(8bit)或是字节的偶数倍。 MAR:用于寻址,其位数反映最多可寻址的存储单元的个数,如 MAR 为 10 位,则最多有 210=1024 个存储单元,记为 1K。MAR 的长度与 PC 的长度相等。 MDR:位数通常等于存储字长,一般为字节的 2 次幂的整数倍。
提示
MAR 与 MDR 虽然是存储器的一部分,但在现代计算机中却是存在于 CPU 中的;另外,后文提到的告诉缓存(Cache)也存在于 CPU 中。
运算器:计算机的执行部件,用于进行算术运算和逻辑运算。算术运算是按算术运算规则进行的运算,如加、减、乘、除;逻辑运算包括与、或、非、异或、比较、移位等运算。运算器的核心是算术逻辑单元(ALU)。运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等,其中前三个寄存器是必须具备的。运算器内还有程序状态寄存器(PSW),也称标志寄存器,用于存放 ALU 运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或借位、结果是否为负等。
控制器:计算机的指挥中心,由其“指挥”各部件自动协调地进行工作。控制器由程序计数器(PC)、指令寄存器(IR)、和控制单元(CU)组成。
PC:存放当前欲执行指令的地址,具有自动加“1”(一条指令的长度)的功能,即可自动形成下一条指令的地址,它与主存储器的 MAR 之间有一条直接通路。
IR:存放当前的指令,其内容来自主存储器的 MDR。指令中的操作码 OP(IR)送至 CU,用以分析指令并发出各种微操作命令序列;而地址码 Ad(IR)送往 MAR,用以取操作数。
一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。CPU 和主存储器共同构成主机,而除主机外的其他硬件装置(外存、I/O 设备等)统称外部设备,简称外设。
冯·诺依曼结构的模型机如图 1.2 所示。CPU 包含 ALU、通用寄存器组(GPRs)、标志寄存器(PSW)、控制器、指令寄存器(IR)、程序计数器(PC)、存储器地址寄存器(MAR)和存储器数据寄存器(MDR)。

