《计算机组成原理》是唐朔飞编著的一本教材,本书的答案完整版提供了对课后习题的全面解析与解答,帮助学生深入理解计算机硬件系统的构造和工作原理。
计算机系统由硬件和软件两部分组成。硬件指的是电子线路与物理装置;而软件则是运行程序及相关资料的集合体。
冯·诺依曼型计算机的特点包括:它包含运算器、控制器、存储器、输入设备及输出设备五大组成部分,指令与数据同等地存放在内存中,并能通过地址访问它们;使用二进制形式表示所有信息和命令;每个指令由操作码(指示动作类型)和地址码(指定执行地点)组成。此外,在没有特殊情况下,计算机自动按顺序读取并执行存储器中的指令。
主机是硬件的主要部分,包括CPU与主存两大部分。而中央处理器进一步细分为运算器及控制器两大模块;现今的CPU中除了上述两个组件外还集成了高速缓存(Cache)以提高性能。
- 主存:用于存放正在运行的应用程序和数据;
- 存储单元可以存储一个机器字并具有特定地址;
- 存储元件是存储一位二进制信息的基本物理单位,也称为“基元”或“元”,它们不能单独被访问;
- 一个完整的信息段被称为存储字;
- 每个存储单元的位数即为该计算机系统的数据宽度(通常与CPU寄存器大小一致)。
此外还有机器字长和指令长度两个概念,前者表示一次可以处理的最大二进制数量,后者则是单条命令所需的二进制代码量。
英文缩写解释如下:
- CPU:中央处理器;
- PC:程序计数器;
- IR:指令寄存器;
- CU:控制单元;
- ALU:算术逻辑运算部件;
- ACC、MQ分别是累加器和乘商寄存器,用于存储操作数值或结果数据的特定内存位置。
其余还有:
MAR(地址缓冲寄存器)、MDR(数据缓冲寄存器)以及I/O设备等术语均指代计算机内部不同组件的功能及作用。
在执行“STA M”与ADD M(M为某主存地址)指令时,信息流依次经过PC、MAR、MM、IR和CU;对于前者来说还需要ACC到MDR再到MM的过程,并通过写入操作完成。而对于后者则需要额外进行读取操作并利用ALU执行加法运算。
假设内存容量为256M*32位,在指令长度等于存储字长以及机器字长的情况下,寄存器的宽度如下:
- ACC、X(表示任意工作寄存器)、IR和MDR均为32比特;
- PC及MAR则各需占用28个比特。
计算机如何区分内存中的数据与代码?答案是通过不同的时间点来判断:在取指令阶段读出的是命令,而在执行过程中从相同地址获取的则是作为操作数的数据。另外一种方法就是根据访问地址来源的不同来进行识别——由程序计数器(PC)提供的通常是指令;而如果是由当前正在处理的那条指令本身指定,则其指向的内容即为所需的操作数据。