




已阅读5页,还剩93页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术 第1章微型计算机系统概述 教学重点 计算机中数的表示方法 微型计算机的系统组成 微型计算机的工作过程 H 表示16进制Q 表示8进制B 表示2进制D 或不加标识 10进制 1 1计算机中数的表示方法数的表示 计算机的数制 常用编码 数制之间的转换 整数 小数 书写 BCD码 ASCII码 汉字编码 1 1计算机中数的表示方法BCD码 组合BCD码 或压缩BCD码 未组合BCD码 或未压缩BCD码 十进制数和8421BCD码的对应关系 BCD码的运算 4 3 0100 00110111 4 8 0100 10001100 十进制调整 十进制调整规则 若两个BCD数相加 结果大于1001 则在本位做加0110调整 若两个BCD数相加 结果在本位上并不大于1001 但低四位向高位产生了进位 也要做加0110调整 两个BCD数相减 若低4位向高位有借位 在低4位要做减0110调整 调整举例 4 8 0100 10001100 011000010010 54 48 01010100 0100100010011100 011010100010 0110000100000010 ASCII码 ASCII Americannationalstandardcodeforinformationinterchange 7位二进制数表示 第8位常用作奇偶校验位 汉字编码 带符号数的表示 计算机如何表示数的正负号 习惯上约定最高位是符号位 0表示正数 1表示负数 其余位称为数值位 机器数与真值 原码 反码 补码 对于同一个机器数 如果编码方式不同 则对应的真值可能不同 关于原码 反码 补码的说明 带符号数的表示 都是针对特定字长的 如8位二进制原码 16位二进制补码 带符号数的表示都是有确定范围的 超出范围叫溢出 大多数计算机采用补码来表示带符号数 如8086 8088 1 2微型计算机的系统组成重要里程碑 1971年 Intel公司设计了世界上第一个微处理器芯片Intel4004 1946年 世界上出现第一台数字式电子计算机ENIAC 人类第一台计算机ENIAC Intel4004和计算器 发展历程 苹果电脑 Apple I Apple II IBMPC系列机 8088CPU IBMPC机 IBMPC AT机 IBMPC XT机 Intel系列处理器 80386 Pentium 基本概念 基本概念 计算机系统层次结构 微机系统的启动和操作系统的装载 相关的两个概念系统BIOS BIOS是直接与硬件打交道的底层代码 它为操作系统提供了控制硬件设备的基本功能 BIOS一般被存放在ROM之中 占用的地址空间为F0000H FFFFFH 复位地址 FFFF0H 1 1 4 启动过程第一步 当我们按下电源开关时 CPU得到的启动地址为FFFF0H CPU就会从FFFF0H处开始取指令 执行指令 系统BIOS放在这里的只是一条跳转指令 跳到系统BIOS中真正的启动程序处 第二步 系统BIOS的启动程序首先要做的事情就是进行加电后自检 Power OnSelfTest POST 第三步 系统BIOS的启动程序进行的最后一项工作 即根据用户指定的启动顺序从软盘 硬盘或光驱装载操作系统 微型计算机系统的三个层次 计算机系统组成 微型计算机组成框图 微处理器 存储器 总线 输入输出设备 接口 微处理器组成 运算器 控制器 寄存器组 用来进行算术逻辑运算和位移 循环等操作 又称算术逻辑单元ALU 核心是累加器 参加运算的操作数来自累加器和内部数据总线 控制器是整个计算机的控制 指挥中心 主要功能是控制指令执行的过程与顺序 主要由程序计数器PC 指令寄存器IR 指令译码器ID和控制逻辑PLA等部件组成 通常由多个寄存器组成 主要用来暂存CPU执行程序时的常用数据或地址 控制器 程序计数器PC 控制器 指令寄存器IR 指令译码器ID 控制逻辑部件PLA 时序电路 地址寄存器AR 数据寄存器DR 微处理器 AR DR PC 256字节RAM RA PLA ID IR AL F 标志寄存器 程序指针 累加器 地址寄存器 地址总线AB 内存 寄存器组 运算器 控制逻辑 指令译码器 指令寄存器 数据寄存器 数据总线DB 系统总线 总线 bus 总线是指传递信息的一组公用导线 总线是传送信息的公共通道 微机系统采用总线连接系统功能部件 总线信号可分成三组 地址总线AB 传送地址信息数据总线DB 传送数据信息控制总线CB 传送控制信息总线还有电源 地线等其他辅助信号 系统总线 总线信号 地址总线AB addressbus 用于传送CPU输出将要访问的内存单元或I O端口的地址地址线的多少决定系统直接寻址存储器的范围数据总线DB databus CPU读操作时 外部数据通过数据总线送往CPUCPU写操作时 CPU数据通过数据总线送往外部数据线的多少决定一次能够传送数据的位数控制总线CB controlbus 协调系统中各部件的操作 用于传送自CPU发出的控制信息或送到CPU的状态信息 控制总线决定了系统总线的特点 例如功能 适应性等 注意 通常将数据总线位数小于字长的计算机 如8088 称为准字长计算机 注意 数据总线的位数通常和CPU中运算器的位数 即字长 相一致 但有时也不一致 数据总线 16位8086地址总线 20位16位字长数据总线 8位8088地址总线 20位 总线的特点 在某一时刻 只能由一个总线主控设备 例如CPU 来控制总线 在连接系统总线的各个设备中 某时刻只能有一个发送者向总线发送信号 但可以有多个设备从总线上同时获取信号 优点可以减少机器中的信息传送线的根数 从而简化了系统结构 提高了机器的可靠性 可以方便地对存储器芯片及I O接口芯片进行扩充 存储器 遵循冯 诺依曼体系结构存储程序 即将程序和数据事先写入存储器中程序控制 即由计算机按照程序的要求自动进行工作存储器作用 用来存放程序和数据的分类内存 主存 简称为存储器 外存 辅存 RAM ROMCPU对存储器的访问约占CPU时间的70 左右 所以存储器对微机的工作效率影响很大 输入输出接口及外部设备 输入设备键盘 鼠标 扫描仪 摄像机 触摸屏等输出设备显示器 打印机 绘图仪 音响设备等 软件系统的组成 操作系统MS DOS Windows Linux Unix计算机语言及其编译处理系统机器语言 汇编语言 高级语言汇编程序 解释程序 编译程序应用软件和工具软件科学计算 财会软件 绘图 办公 网络等 指令的工作过程 基本思想存储程序 程序控制指令是指定计算机完成某一特定操作的命令 由二进制编码组成 机器码为方便记忆 常用英文缩写为指令的助记符号 汇编指令过程读取指令 取指执行指令 执指 模拟机存储结构 存储单元内容 指令 数据 地址 从0开始的无符号整数 02H单元存放有一个数据34H 表示为 02H 34H 两个完全不同的概念 准备 举例 7 10 准备工作编写汇编源程序 翻译 汇编 成机器语言指令 将数据和程序通过输入设备送至存储器中 程序一共3条指令 5个字节 假设它们存放在从00H单元开始的连续5个存储单元中 第1条指令的取指过程 第1条指令的执行过程 第2条指令的取指过程 第2条指令的执行过程 8086 8088微处理器内部结构 8086CPU由两个独立的处理部件组成 执行部件EU ExecutionUnit 总线接口部件BIU BusInterfaceUnit 8086 8088微处理器内部结构 负责指令的译码 执行和数据的运算EU负责全部指令的执行 向BIU输出数据 操作结果 对寄存器和标志寄存器进行管理 16位运算 数据运算和操作数偏移地址的运算 数据传送和处理 EU的作用 8086 8088微处理器内部结构 BIU负责执行所有的 外部总线 周期 提供系统总线控制信号 根据EU计算出来的16位地址和16位段地址计算20位物理地址 负责访问内存或输入 输出接口 取出数据送指令队列 供EU执行 将EU的结果送到指定位置 BIU的作用 8086 8088微处理器内部结构 EU和BIU两个单元在大多数情况下独立操作 还可以并行执行 实现指令预取 指令读取和执行的流水线操作 8088的指令执行过程 1 2 2寄存器介绍 通用寄存器控制寄存器段寄存器 寄存器介绍 1 2 2 1通用寄存器 8088有8个通用的16位寄存器 1 数据寄存器 AXBXCXDX 2 变址寄存器 SIDI 3 指针寄存器 BPSP4个数据寄存器还可以分成高8位和低8位两个独立的寄存器 这样又形成8个通用的8位寄存器AX AHALBX BHBLCX CHCLDX DHDL 1 数据寄存器 AX称为累加器 Accumulator 使用频度最高 用于算术 逻辑运算以及与外设传送信息等BX称为基址寄存器 BaseaddressRegister 常用做存放存储器地址CX称为计数器 Counter 作为循环和串操作等指令中的隐含计数器DX称为数据寄存器 Dataregister 常用来存放双字长数据的高16位 或存放外设端口地址 数据寄存器 2 指针寄存器 指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器 StackPointer 指示堆栈段栈顶的位置 偏移地址 BP为基址指针寄存器 BasePointer 表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址 指针寄存器 堆栈 Stack 是主存中一个特殊的区域 采用 先进后出 或 后进先出 存取操作方式 用8088 8086形成的微机系统中 堆栈区域被称为堆栈段 3 变址寄存器 16位变址寄存器SI和DI常用于存储器变址寻址方式时提供地址SI是源地址寄存器 SourceIndex DI是目的地址寄存器 DestinationIndex 在串操作类指令中 SI DI还有较特殊的用法 变址寄存器 1 2 2 2控制寄存器 1 指令指针寄存器IP IP InstructionPointer 为指令指针寄存器 指示主存储器指令的位置随着指令的执行 IP将自动修改以指示下一条指令所在的存储器位置IP寄存器是一个专用寄存器IP寄存器与CS段寄存器联合使用以确定下一条指令的存储单元地址 控制寄存器 IP 1 2 2 2控制寄存器 2 标志寄存器FR FR是16位程序状态标志寄存器 程序状态字PSW 存放8086 8088CPU工作过程中的状态 用于反映指令执行结果或控制指令执行形式 程序设计需要利用标志的状态 控制寄存器 FR 2 标志寄存器FR 状态标志 用来记录程序运行结果的状态信息 许多指令的执行都将相应地设置它CFZFSFPFOFAF控制标志 可由程序根据需要用指令设置 用于控制处理器执行指令的方式DFIFTF 控制寄存器 FR标志位介绍 进位标志CF CarryFlag 当运算结果的最高有效位有进位 加法 或借位 减法 时 进位标志置1 即CF 1 否则CF 0 3AH 7CH B6H 没有进位 CF 0AAH 7CH 1 26H 有进位 CF 1 进位标志CF CarryFlag 零标志ZF ZeroFlag 若运算结果为0 则ZF 1 否则ZF 0 3AH 7CH B6H 结果不是零 ZF 084H 7CH 1 00H 结果是零 ZF 1 注意 ZF为1表示的结果是0 零标志ZF ZeroFlag 符号标志SF SignFlag 运算结果最高位为1 则SF 1 否则SF 0 3AH 7CH B6H 最高位D7 1 SF 184H 7CH 1 00H 最高位D7 0 SF 0 有符号数据用最高有效位表示数据的符号所以 最高有效位就是符号标志的状态 符号标志SF SignFlag 奇偶标志PF ParityFlag 当运算结果最低字节中 1 的个数为零或偶数时 PF 1 否则PF 0 3AH 7CH B6H 10110110B结果中有5个 1 是奇数 PF 0 PF标志仅反映最低8位中 1 的个数是偶或奇 即使是进行16位字操作 奇偶标志PF ParityFlag 溢出标志OF OverflowFlag 若算术运算的结果有溢出 则OF 1 否则OF 0 3AH 7CH B6H 产生溢出 OF 1AAH 7CH 1 26H 没有溢出 OF 0 溢出标志OF OverflowFlag 什么是溢出 处理器内部以补码表示有符号数8位表达的整数范围是 127 12816位表达的范围是 32767 32768如果运算结果超出这个范围 就产生了溢出有溢出 说明有符号数的运算结果不正确 3AH 7CH B6H 就是58 124 182 已经超出 128 127 产生溢出 故OF 1补码B6H表达真值是 74 显然运算结果也不正确 什么是溢出 溢出和进位的区别 溢出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围 运算结果仍然正确溢出标志表示有符号数运算结果是否超出范围 运算结果已经不正确 溢出与进位的区别 溢出和进位的对比 例1 3AH 7CH B6H无符号数运算 58 124 182范围内 无进位有符号数运算 58 124 182范围外 有溢出 例2 AAH 7CH 1 26H无符号数运算 170 124 294范围外 有进位有符号数运算 86 124 38范围内 无溢出 溢出与进位的对比 溢出和进位的应用场合 应该利用哪个标志 则由程序员来决定 也就是说 如果将参加运算的操作数认为是无符号数 就应该关心进位 认为是有符号数 则要注意是否溢出 溢出与进位的应用场合 例1 3AH 7CH B6H例2 AAH 7CH 26H例3 3AH 7CH BEH例4 AAH 7CH 2EH 溢出的判断 判断运算结果是否溢出有一个简单的规则 当两个相同符号数相加 而运算结果的符号与加数 被加数的符号不同时 产生溢出 当两个异号数相减 运算结果若与被减数符号不同 则产生溢出 其它情况下 则不会产生溢出 溢出 溢出 溢出的判断 无溢出 无溢出 辅助进位标志AF AuxiliaryCarryFlag 3AH 7CH B6H D3有进位 AF 1 运算时D3位 低半字节 有进位或借位时 AF 1 否则AF 0 这个标志主要由处理器内部使用 用于十进制算术运算调整指令中 用户一般不必关心 辅助进位标志AF AuxiliarycarryFlag 方向标志DF DirectionFlag 用于串操作指令中 控制地址的变化方向 设置DF 0 存储器地址自动增加 设置DF 1 存储器地址自动减少 CLD指令复位方向标志 DF 0STD指令置位方向标志 DF 1 方向标志DF DirectionFlag 中断允许标志IF Interrupt enableFlag 控制可屏蔽中断是否可以被处理器响应 设置IF 1 则允许中断 设置IF 0 则禁止中断 CLI指令复位中断标志 IF 0STI指令置位中断标志 IF 1 中断允许标志IF Interrupt enableFlag 陷阱标志TF TrapFlag 用于控制处理器进入单步操作方式 设置TF 0 处理器正常工作 设置TF 1 处理器单步执行指令 单步执行指令 处理器在每条指令执行结束时 便产生一个编号为1的内部中断这种内部中断称为单步中断所以TF也称为单步标志利用单步中断可对程序进行逐条指令的调试这种逐条指令调试程序的方法就是单步调试 陷进标志TF TrapFlag 1 2 2 3段寄存器 8086 8088有4个16位段寄存器 代码段寄存器CS CodeSegment 数据段寄存器DS DataSegment 堆栈段寄存器SS StackSegment 附加数据段寄存器ES ExtraSegment 为什么需要设置段寄存器 存储器寻址机制 8086 20位地址信息 lMB字节 但内部只能进行16位运算 这就是说它能处理的地址信息仅16位 为解决这一矛盾 把存储器划分为 段 每个段的实际长度 64KB 表示不同段的段起始地址即段基地址 分别存放于四个段寄存器 CS DS SS ES 中 为什么必须对存储器分段管理 1 2 3存储器寻址机制 存储器是计算机存储信息的地方 掌握数据存储格式 以及存储器的分段管理对以后的汇编程序设计非常重要你能区别寄存器 存储器 主存 外存 包括硬盘 光盘 磁带等存储介质 吗 寄存器 存储器和外存的区别 寄存器是微处理器 CPU 内部暂存数据的存储单元 以名称表示 例如 AX BX 等 存储器也就是平时所说的主存 也叫内存 可直接与CPU进行数据交换 主存利用地址区别 外存主要指用来长久保存数据的外部存储介质 常见的有硬盘 光盘 磁带 U盘等 外存的数据只能通过主存间接地与CPU交换数据 程序及其数据可以长久存放在外存 在运行需要时才进入主存 存储单元及其存储内容 每个存储单元都有一个编号 被称为存储器地址每个存储单元存放一个字节的内容 00002H单元存放有一个数据34H表达为 00002H 34H 多字节数据存放方式 多字节数据在存储器中占连续的多个存储单元 存放时 低字节存入低地址 高字节存入高地址 表达时 用它的低地址表示多字节数据占据的地址空间 图中00002H 字节 单元的内容为 00002H 34H00002H 字 单元的内容为 00002H 1234H00002H号 双字 单元的内容为 00002H 78561234H 在计算机的内存中存放着三类信息 代码 即指令操作码 指出CPU执行什么操作 数据 即数值和字符等 程序加工对象 堆栈 即临时保存的返回地址和中间结果 为了避免混淆 这三类信息分别存放在各自的存储区域内 段寄存器指示这些存储区域的起始地址或称段基地址 物理地址和逻辑地址 物理地址是指1MB存储区域中的某一单元的实际地址 地址信息是20位的二进制代码 以16进制表示是00000H FFFFFH中的一个单元 CPU访问存储器时 地址总线上送出的是物理地址 PA 段地址 10H 偏移地址编制程序时 则采用逻辑地址 逻辑地址由段基地址和偏移地址 偏移量 组成 逻辑地址 段基址 偏移地址 逻辑地址 段基地址说明逻辑段在主存中的起始位置8088规定段基地址必须是16的整数倍 xxxx0H省略低4位0000B 段地址就可以用16位数据表示 就能用16位段寄存器表达段地址偏移地址说明主存单元距离段起始位置的偏移量每段不超过64KB 偏移地址也可用16位数据表示 物理地址和逻辑地址之间的转换关系 已知一个存储单元的逻辑地址为 1380H 0F00H 请计算其物理地址 将逻辑地址中的段地址左移4位 加上偏移地址就得到20位物理地址 E g 物理地址14700H逻辑地址1460H 100H 物理地址和逻辑地址 E g 物理地址14700H逻辑地址1450H 200H 一个物理地址可以有多个逻辑地址 段寄存器 8088有4个16位段寄存器CS 代码段 指明当前代码段的起始地址SS 堆栈段 指明当前堆栈段的起始地址DS 数据段 指明当前数据段的起始地址ES 附加段 指明当前附加段的起始地址每个段寄存器用来确定一个逻辑段的起始地址 每种逻辑段均有各自的用途 代码段寄存器CS CodeSegment 代码段用来存放程序的指令序列代码段寄存器CS存放代码段的段地址指令指针寄存器IP指示下条指令的偏移地址处理器利用CS IP取得下一条要执行的指令 代码段寄存器CS CodeSegment 堆栈段寄存器SS StackSegment 堆栈段确定堆栈所在的主存区域堆栈段寄存器SS存放堆栈段的段地址堆栈指针寄存器SP指示堆栈栈顶的偏移地址处理器利用SS SP操作堆栈顶的数据 堆栈段寄存器SS StackSegment 数据段寄存器DS DataSegment 数据段存放运行程序所用的数据数据段寄存器DS存放数据段的段地址各种主存寻址方式 有效地址EA 得到存储器中操作数的偏移地址处理器利用DS EA存取数据段中的数据 数据段寄存器DS DataSegm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6 我和动物交朋友教学设计-2025-2026学年小学美术广西版一年级下册-广西版
- 2025律师律师聘用合同模板
- 12 古诗三首《示儿》( 教学设计)-2024-2025学年统编版语文四五年级上册
- 2025技术升级借款合同书
- 2025电气设备维护保养合同书
- 培训委托合作协议
- 农副产品购销结合合同
- 桥改建工程施工组织设计x
- 企业借款合同范本下载
- 汽车租赁业务合作协议
- 飞书使用教程培训
- 商务礼仪仪容仪表培训
- 无导线起搏器护理
- “七一”党课:从《党章》中汲取奋进力量把全面从严治党进行到底
- 抖音达人签约合同范本
- 铁路交跨协议书
- 2025年网络安全基础知识考试试题及答案
- 医疗卫生行业从业人员资格及工作经历证明(6篇)
- 航拍无人机转让协议合同
- 电影院转让协议合同
- 2025-2031年中国第三方认证行业发展前景预测及投资方向研究报告
评论
0/150
提交评论