通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  列兵

注册:2020-1-6
跳转到指定楼层
1#
发表于 2020-1-10 10:35:01 |只看该作者 |倒序浏览


一、计算机的硬件组成
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演示
  • DEBUG演示——进入DEBUG
在Windows下,通过 “开始” → “运行” →键入“CMD”回车 → 键入 “debug”回车,启动DEBUG。键入“?”回车显示全部命令。


  • DEBUG演示——键入程序
在DEBUG下用DIV指令计算12345678H÷5000H
DIV r16
(DX.AX)÷(r16),商→(AX),余数→(DX)(DEBUG下数值只能输入十六进制并不带后缀H)


  • DEBUG演示——执行程序段
在DEBUG下键入“p”回车单步执行程序,每一次“p”命令执行一条语句。
12345678H÷5000H,商→AX (=3A41H) 余数→DX (=678H)


五、往期回顾
关注微信公众号“传知学院”即可观看
1、边缘计算专题:(二)别看只有0和1,数学不好的勿进!
2、边缘计算专题:(一)超级计算机领域,中国有多强!
3、2020年:月薪15K+,5G岗虚位以待!
4、云计算专题
















微信截图_20200110093839.png (82 KB, 下载次数: 0)

微信截图_20200110093839.png

举报本楼

军衔等级:

  一级通信军士

注册:2019-9-121
2#
发表于 2020-3-31 15:18:27 |只看该作者

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

Archiver|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-20 17:12 , Processed in 0.233800 second(s), 18 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部