计算机组成结构
硬件组成
中央处理器
计算机硬件组成:运算器、控制器、存储器、输入设备、输出设备
存储器:内部存储器、外部储存器
主机:CPU + 主存储器
中央处理单元(CPU)组成:运算器、控制器、寄存器组、内部总线
中央处理单元(CPU)功能:实现程序控制、操作控制、时间控制、数据处理功能
运算器
运算器组成:
-
1. 算术逻辑单元(ALU - Arithmetic Logical Unit)——实现对数据的运算和逻辑运算;完成加减乘除、与或非异或、位移等运算
-
2. 累加寄存器(AC - Accumulator)——运算结果或源操作数的存放区;当运算器的算术逻辑单元执行算术或逻辑运算时,
为ALU提供一个工作区
,暂存运算结果的地方。 -
3. 数据缓冲寄存器(DR - Data Register)——暂时存放内存的指令或数据;
-
- 状态条件寄存器(PSW - Program Status Word)——保存指令运行结果的条件码内容,如运算结果进位标志©,溢出标志(V),为零标志(Z),为负标志(N),中断标志(I),方向标志(D)和单步标志
运算器功能:执行所有的算术运算和逻辑运算
ACC + X = ACC --> 被加数 + 加上 = 和
ACC - X = ACC --> 被减数 - 减数 = 差
X × MQ = ACC_MQ --> 被乘数 × 乘数 = 乘积高位_乘积地位,乘法会导致进位
ACC ÷ X = MQ…ACC --> 被除数 ÷ 除数 = 商…余数
img
控制器
控制器组成:
-
- 指令寄存器(IR - Instruction Register)——暂存CPU执行指令,存放内容来自DR
-
- 程序计数器(PC - Program Counter)——存放下一条要执行的指令地址
-
- 地址寄存器(AR - Address Register)——保存==当前CPU所访问的内存地址
-
- 指令译码器(ID - Instruction Decoder)——分析指令操作码
控制器功能:控制整个CPU的工作,保存程序控制、时序控制
指令,由操作码和地址码组成。操作码表示计算机要执行的某种操作的性质,地址码是操作码执行时的操作对象地址,也叫操作数。
指令的基本概念
指令就是机器语言的一个语句,它是一组具有意义的二进制代码:
image-20211119150505656
操作码部分指出计算机要执行什么性质的操作(加、减、取数、存数等),地址码字段需要包含各个操作数的地址及操作结果的存放地址
image-20211119150514365
寻址方式
寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。
指令寻址
顺序寻址方式:指令在内存中按顺序排放,依次取出必须使用程序计数器(又称指令计数器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。
跳跃寻址方式:当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。
注意,程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。采用指令跳跃寻址方式,可以实现程序转移或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。
操作数寻址
**立即寻址:**指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为立即寻址。特点是指令执行时间很短,但是灵活性差
image-20211119152628651
**隐含寻址:**这种类型的指令,不是明显地给出操作数的地址。而是在指令中隐含着操作数的地址。累加寄存器AC对单地址指令格式来说是隐含地址
**直接寻址:**指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。直接寻址方式常用于处理内存单元的数据,其操作数是内存变量的值,该寻址方式可在64K字节的段内进行寻址。
image-20211119152708453
**间接寻址:**指令地址字段中的形式地址不是操作数的真正地址,而是操作数地址的指示器,或者说此形式地址单元的内容才是操作数的有效地址。
image-20211119152730435
**寄存器寻址方式和寄存器间接寻址:**当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。
image-20211119152822143
指令系统
指令系统是计算机硬件的语言系统,也叫机器语言,它是软件和硬件的主要界面,从系统结构的角度看,它是系统程序员看到的计算机的主要属性。
CISC(Complex Instruction Set Computer)复杂指令集计算机:
-
1. 形成原因:
-
- 早期计算机部件昂贵,主频低,运算慢
-
- 为提高速度,将越来越多的复杂指令加入到指令系统中
-
2. 特点:
-
- 指令系统庞大,指令功能丰富
-
- 指令格式和寻址方式较多,多数指令需多个指令周期完成
-
- 各种指令都可以访问存储器,少量的专用寄存器
-
- 通过复杂化硬件来简化软件实现