计算机硬件基础 第3章(组成原理)_第1页
计算机硬件基础 第3章(组成原理)_第2页
计算机硬件基础 第3章(组成原理)_第3页
计算机硬件基础 第3章(组成原理)_第4页
计算机硬件基础 第3章(组成原理)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章计算机硬件组成及工作原理 1学时 计算机硬件组成处理器工作原理处理器组成及各部分的功能指令及指令周期处理器工作过程指令系统RISC和CISC体系 指令的编码构成寻址方式 立即数 寄存器数和存储器数传送 算数 逻辑运算 转移和输入 输出指令距离汇编语言汇编语言DEBUG演示 3 1计算机的硬件组成 冯 诺依曼体系结构 计算机的构成 控制信号 数据 控制器 控制中心 CPU的主要部分 控制各部件协调工作 运算器 ALU 运算部件 实现算数 逻辑运算 存储器 存放运行时的数据 程序 外部设备 信息输入 输出 存储 3 1计算机的硬件组成 总线连接 计算机总线CPU通过总线连接存储器和各种外部设备 总线是数据总线 控制总线和地址总线的集合 简化的总线结构如图 3 2CPU的组成和工作原理 CPU构成 处理器构成一个典型的处理器主要由操作控制器 运算器 寄存器 译码器等部分组成 操作控制器 根据译码器产生的微操作 产生控制各个部件的信号 控制各个部件完成指令的功能 译码器 根据二进制的机器指令产生完成指令功能的微操作指令 寄存器组 用来保存参加运算的操作数和运算的中间结果 PC ProgramCounter 程序计数器 取指令的地址 存放下面要执行的指令的地址 取指令后自动更新指向下一条指令 ALU ArithmeticandLogicUnit 运算器 主要完成对二进制数据的算术运算 逻辑运算和各种移位操作 3 2CPU的组成和工作原理 处理器工作过程 将PC指向的存储器单元所存储的指令传送到指令寄存器 1 将PC的值作为地址送出 2 存储器读命令送出到控制总线 3 从数据总线读取指令代码 处理器的典型工作过程 取指令 3 2CPU的组成和工作原理 处理器工作过程 将指令寄存器中的指令代码转换成实现指令功能的各种微指令 并通过控制器实现对各部件的控制 1 传送到译码器 处理器的典型工作过程 指令译码 2 译码成微控制指令 3 2CPU的组成和工作原理 处理器工作过程 如果指令的执行需要存储器中的数据 要产生一个存储器读周期 处理器的典型工作过程 取数据 1 假设存储器地址在一个寄存器中 将地址输出到地址总线 2 存储器读命令送出到控制总线 3 从数据总线读取存储器数据 3 2CPU的组成和工作原理 处理器工作过程 根据指令的功能 执行指令 处理器的典型工作过程 执行 1 假设是运算指令 将操作数传送到运算器 根据运算要求实现运算 2 运算结果存放在累加器中 3 运算结果特征存放在标志寄存器中 3 2CPU的组成和工作原理 Intelx86的寄存器 通用寄存器Intelx86的32位模式下通用寄存器 8位 AH AL BH BL CH CL DH DL16位 AX BX CX DX SI DI 32位 EAX EBX ECX EDX 通用寄存器的专用性AX 乘除专用寄存器BX 基地址寄存器CX 循环专用寄存器 3 2CPU的组成和工作原理 Intelx86的寄存器 标志寄存器标志寄存器用于记录运算结果的特征或CPU的工作状态 Intelx86的16位模式下标志寄存器为一个16位专用寄存器 其中包括用于运算和用于控制的标志 溢出 方向 中断 单步 符号 零 辅助进位 奇偶 进位借位 当有符号运算结果产生溢出时置1 否则置0 运算结果的最高位 1表示结果为负 0表示为正 当运算结果为0时置1 否则置0 当加 减运算中产生进位 借位时时置1 否则置0 3 2CPU的组成和工作原理 指令周期 处理器主频 驱动处理器工作的周期性时钟脉冲信号的频率 又称为时钟频率或内核时钟频率 是处理器内核电路的实际工作频率 时钟频率的倒数是时钟周期 机器周期 由多个时钟周期组成 是一个处理器基本操作需要的时间 如取指令 取存储器操作数等 指令周期 处理器完成一条指令的时间 由一个或多个机器周期组成 3 3指令系统 指令构成 指令系统 是一个CPU所能够处理的全部指令的集合 是一个CPU的根本属性 指令的构成指令由操作码字段 OP 指明指令功能 和地址码字段 A 或称操作数字段 指明操作数 两部分构成 操作码 指明操作 如加 减 与 或 移位 转移等 地址码 指明操作数存放位置 如CPU的某个寄存器 存储器的某个单元等 部分指令无地址码字段 3 3指令系统 指令编码例 例如 Intelx86CPU加法指令ADDAX BX将寄存器AX和寄存器BX的内容相加 并将和送到AX寄存器 AX BX AX 该指令由两个字节构成 16位二进制的十六进制为 01D8H01D8H 0000000111011000其中000000 ADD 指令操作码0 源为寄存器 指明源操作数1 字 16位 运算 区分字节 字运算11 寄存器方式 指明操作数类型011 BX 寄存器编号000 AX 寄存器编号 3 3指令系统 指令功能分类 指令操作码确定指令功能 指令按照功能通常可以分为以下几类 数据传送类指令实现寄存器与寄存器之间 寄存器与存储器之间的数据传送 运算类指令包括算术运算 加 减 乘 除等 逻辑运算 与 或 非 异或等 位移运算等 程序控制类指令包括转移控制 循环控制 子程序 中断控制指令等 输入 输出类指令实现主机与外部设备之间的信息交换 处理器控制指令实现CPU的特殊控制 3 3指令系统 寻址方式 寻址方式指令获得操作数的方式 分为三种类型 在指令中 在寄存器中 在存储器中 在指令中 立即寻址可以看作指令中的常数 在汇编中可以以不同进制给出 二进制 后缀B 例如 01010010B 十进制 后缀D或缺省 例如 20D或20 十六进制 后缀H 例如 1000H 例如 MOVAX 300H 立即数 0 AL 30H AHANDAL 120 立即数 AL的8位 与 01111000B 3 3指令系统 寻址方式 寻址方式 续 在CPU的寄存器中 寄存器寻址 指明寄存器不同的CPU有不同的寄存器 寄存器有确定的位宽 同时寄存器的使用可能有限制 具体限制因指令的不同而异 例如 AL 8位寄存器 AX的低8位BX 16位寄存器CH 8位寄存器 CX的高8位例如 ADDAX BX 寄存器数 AX BX AX 16位加ORAL AH 寄存器数 AL AH AL 8位或 3 3指令系统 寻址方式 寻址方式 续 在存储器中 存储器寻址 根据地址的存在方式不同 可细分为多种具体的寻址方式 主要包括 指令中存在存储器地址 直接寻址依照在Intelx86汇编中的写法 地址值可以写成二进制 十进制或十六进制 例如 100H 230D 等 存储器地址在寄存器中 间接寻址可以用于存放地址的寄存器有BX BP SI和DI 例如 BX SI 等 由在寄存器和指令中的多部分合成例如 BX 1000H SI 180 3 3指令系统 x86指令举例 数据传送指令MOVdest src src dest dest可以是寄存器或存储器类型字节或字 src可以是寄存器 存储器或立即数类型字节或字例如 MOV 1000H CX将CX寄存器的值复制到地址为1000H的存储器单元 加减算术指令ADDdest src dest src dest 加运算SUBdest src dest src dest 减运算 dest和src同MOV指令例如 ADDAX 1000D将寄存器AX的值与十进制1000数求和 结果存放到AX 3 3指令系统 x86指令举例 无符号乘除算术指令MULr8 AL r8 AX 无符号字节乘MULr16 AX r16 DX AX 无符号字乘DIVr8 AX r8 商 AL 余数 AH 无符号字节除DIVr16 DX AX r16 商 AX 余数 DX 无符号字除 r8为8位寄存器 r16为16位寄存器 例如 计算12345678H 5000H 商 3A41H 余数 678HMOVDX 1234HMOVAX 5678HMOVBX 5000HDIVBX 12345678H 5000H 商 AX 3A41H 余数 DX 678H 3 3指令系统 x86指令举例 逻辑运算指令 NOTdest dest dest 逻辑非ANDdest src dest src dest 逻辑与ORdest src dest src dest 逻辑或 dest和src同MOV指令例如 NOTCX 将CX寄存器的值逐位求反例如 ANDAX 00FFH 将AX寄存器的值与00FFH AX的高8位被强行置为0例如 ORBX 000FH 将BX寄存器的值或000FH 将BX寄存器最低4位强行置为1 3 3指令系统 x86指令举例 逻辑位移指令SHLdest CL dest 逻辑左移 CL 位 dest SHRdest CL dest 逻辑右移 CL 位 dest 移入位为0 CL寄存器存放移位位数 也可以是1 dest可以是寄存器或存储器类型字或字节SHLSHR 3 3指令系统 x86指令举例 循环位移指令ROLdest CL dest 循环左移 CL 位 dest RORdest CL dest 循环右移 CL 位 dest 移出位进入移入位 CL寄存器存放移位位数 也可以是1 dest可以是寄存器或存储器类型字或字节ROLROR 3 3指令系统 x86指令举例 例如 Intelx86处理器指令 汇编格式 MOVAX 1000H 字传送指令 将地址为十六进制1000H的两个字节数传送到AX寄存器 其中AX 寄存器寻址 1000H 存储器数 直接寻址ADDAX 500 字加法指令 将AX寄存器加500 其中AX 寄存器寻址500 立即寻址 十进制500ORCX BX 字或运算指令 将CX寄存器或以BX寄存器为地址的存储器数 其中CX 寄存器寻址 BX 寄存器间接寻址 3 3指令系统 执行过程例 第1步 取指令指令操作 AX 3000H AX 指令的二进制代码 03060300H 执行指令 ADDAX 3000H 将PC的值作为地址送出 存储器读命令送出到控制总线 从数据总线读取指令代码 03060300 3 3指令系统 执行过程例 第2步 译码 执行指令 ADDAX 3000H 传送到译码器 译码成微控制指令 03060300 AX当前值传送累加器 3 3指令系统 执行过程例 第3步 取操作数 执行指令 ADDAX 3000H 03060300 将指令中的存储器地址3000H通过地址总线送出 存储器读命令送出到控制总线 从数据总线读取存储器3000H单元数据到暂存器 3 3指令系统 执行过程例 第4步 执行ADD 执行指令 ADDAX 3000H 03060300 将操作数传送到运算器 根据运算要求实现运算 运算结果存放在累加器中 运算结果特征存放在标志寄存器中 3 3指令系统 执行过程例 第5步 存运算结果 执行指令 ADDAX 3000H 03060300 将累加器中的运算结果传送到AX寄存器 3 3指令系统 特征和发展 RISC和CSICCISC ComplexInstructionSetComputer 复杂指令系统计算机RISC ReducedInstructionSetComputer 精简指令系统计算机CISC的特点 指令结构复杂 指令数量多 具有多种复杂的寻址方式 单条指令功能强 执行一条指令需要多个机器周期 RISC的特点 指令结构简单 指令数量少 一般不超过100条 单条指令功能单一 寻址方式简单 指令格式统一 所有或绝大多数指令在单个机器周期内完成 3 4汇编语言 DEBUG演示 DEBUG演示 进入DEBUG在Windows下 通过 开始 运行 键入 CMD 回车 键入 debug 回车 启动DEBUG 键入 回车显示全部命令 命令名称 命令格式 A命令 用于输入汇编程序 D命令 用于显示存储器内容 E命令 用于写存储器内容 G命令 用于执行一段程序 P命令 多用于单步执行 Q命令 退出DEBUG R命令 显示 写寄存器内容 U命令 将机器指令转换成汇编 3 4汇编语言 DEBUG演示 DEBUG演示 键入程序在DEBUG下用DIV指令计算12345678H 5000HDIVr16 DX AX r16 商 AX 余数 DX DEBUG下数值只能输入十六进制并不带后缀H 进入DEBUG A命令 输入汇编程序到内存地址100处开始 逐条输入汇编程序 回车 完毕按Ctrl C结束 U10010A命令转换机器指令为汇编 地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论