一、计算机的硬件组成
1、计算机的构成(冯·诺依曼体系结构)
- 控制器——控制中心,CPU的主要部分,控制各部件协调工作;
- 运算器(ALU)——运算部件,实现算数、逻辑运算;
2、计算机总线
CPU通过总线连接存储器和各种外部设备。总线是数据总线、控制总线和地址总线的集合。简化的总线结构如图:
二、CPU的组成和工作原理
1、CPU构成
- 处理器构成:一个典型的处理器主要由操作控制器、运算器、寄存器、译码器等部分组成。
▶ 处理器的典型工作过程:取指令
将PC指向的存储器单元所存储的指令传送到指令寄存器。
▶ 处理器的典型工作过程:指令译码
将指令寄存器中的指令代码转换成实现指令功能的各种微指令,并通过控制器实现对各部件的控制。
▶ 处理器的典型工作过程:取数据
如果指令的实行需要存储器中的数据,要产生一个存储器读周期。
▶ 处理器的典型工作过程:实行
根据指令的功能,实行指令
2、Intel x86的寄存器
▶ 通用寄存器
Intel x86的32位模式下通用寄存器:
通用寄存器结构:
▶ 通用寄存器的专用性
AX:一般通过累加器进行的操作所花的时间最少。
BX:一般存放基地址,是数据寄存器中唯一可作为存储器指针使用的寄存器。
CX:计数寄存器,在进行循环操作时,用它记录循环的次数。
DX:数据寄存器
▶ 标志寄存器
标志寄存器用于记录运算结果的特征或CPU的工作状态。Intel x86的16位模式下标志寄存器为一个16位专用寄存器,其中包括用于运算和用于控制的标志。
指令周期
▶ 处理器主频:驱动处理器工作的周期性时钟脉冲信号的频率,又称为时钟频率或内核时钟频率,是处理器内核电路的实际工作频率。时钟频率的倒数是时钟周期。
▶ 机器周期:由多个时钟周期组成,是一个处理器基本操作需要的时间,如取指令、取存储器操作数等。
▶ 指令周期:处理器完成一条指令的时间,由一个或多个机器周期组成。
三、指令系统
指令构成
▶ 指令系统:是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。
▶ 指令的构成:指令由操作码字段(OP,指明指令功能)和地址码字段(A,或称操作数字段,指明操作数)两部分构成。
操作码(OP)——指明操作,如加、减、与、或、移位、转移等。
地址码(A)——指明操作数存放位置。如CPU的某个寄存器、存储器的某个单元等。部分指令无地址码字段。
2、指令编码列
例如:
Intel x86 CPU加法指令
ADD AX, BX
将寄存器AX和寄存器BX的内容相加,
并将和送到AX寄存器:
(AX) + (BX) → (AX)
该指令由两个字节构成,16位二进制的十六进制为:
01D8H 01D8H = 00000001 11011000
其中:
000000 = ADD,指令操作码
0 = 源为寄存器,指明源操作数
1 = 字(16位)运算,区分字节、字运算
11 = 寄存器方式,指明操作数类型
011 = BX,寄存器编号
000 = AX,寄存器编号
指令功能分类
▶ 指令操作码
确定指令功能,指令按照功能通常可以分为以下几类:
寻址方式
指令获得操作数的方式,分为三种类型:在指令中、在寄存器中、在存储器中。
① 在指令中——马上寻址
可以看作指令中的常数,在汇编中可以以不同进制给出。
二进制,后缀B。例如:01010010B;
十进制,后缀D或缺省。例如:20D或20;
十六进制,后缀H。例如:1000H。
② 在CPU的寄存器中——寄存器寻址
指明寄存器不同的CPU,有不同的寄存器。寄存器有确定的位宽,同时寄存器的使用可能有限制,具体限制因指令的不同而异。
例如:
AL:8位寄存器,AX的低8位
BX:16位寄存器
CH:8位寄存器,CX的高8位
③在存储器中——存储器寻址
根据地址的存在方式不同,可细分为多种具体的寻址方式,主要包括:
● 指令中存在存储器地址——直接寻址
依照在Intel x86汇编中的写法,地址值可以写成二进制、十进制或十六进制。
例如:[100H]、[230D]等;
● 存储器地址在寄存器中——间接寻址
可以用于存放地址的寄存器有BX、BP、SI和DI。
例如:[BX]、[SI]等;
● 由在寄存器和指令中的多部分合成
例如:[BX+1000H]、[SI+180]。
x86指令举例
数据传送指令
加减算术指令
无符号乘除算术指令
逻辑运算指令
逻辑位移指令
循环位移指令
例如:Intel x86处理器指令(汇编格式)
实行过程例
实行指令:ADD AX, [3000H]
第1步:取指令
指令操作:(AX)+[3000H]→(AX)
指令的二进制代码: 0306 0300H
第2步:译码
第3步:取操作数
第4步:实行ADD
第5步:存运算结果
特征和发展
RISC和CSIC
CISC——复杂指令系统计算机
RISC——精简指令系统计算机
CISC的特点:
指令结构复杂,指令数量多,具有多种复杂的寻址方式;
单条指令功能强,实行一条指令需要多个机器周期;
RISC的特点:
指令结构简单,指令数量少,一般不超过100条;
单条指令功能单一,寻址方式简单,指令格式统一;
所有或绝大多数指令在单个机器周期内完成;
四、汇编语言——DEBUG演示
在Windows下,通过 “开始” → “运行” →键入“CMD”回车 → 键入 “debug”回车,启动DEBUG。键入“?”回车显示全部命令。
在DEBUG下用DIV指令计算12345678H÷5000H
DIV r16
(DX.AX)÷(r16),商→(AX),余数→(DX)(DEBUG下数值只能输入十六进制并不带后缀H)
在DEBUG下键入“p”回车单步实行程序,每一次“p”命令实行一条语句。
12345678H÷5000H,商→AX (=3A41H) 余数→DX (=678H)
五、往期回顾
关注微信公众号“传知学院”即可观看
1、边缘计算专题:(二)别看只有0和1,数学不好的勿进!
2、边缘计算专题:(一)超级计算机领域,中国有多强!
3、2020年:月薪15K+,5G岗虚位以待!
4、云计算专题