当前位置: 首页 > news >正文

学做网站要学哪些wordpress实现说说

学做网站要学哪些,wordpress实现说说,烟台福山建设工程监测网站,温岭市溪建设局网站点关注不迷路哟。你的点赞、收藏#xff0c;一键三连#xff0c;是我持续更新的动力哟#xff01;#xff01;#xff01; 持续关注我~~~主页#xff0c;查看更多内容哟#xff08;希望你能在这里有所收获#x1f92d;#xff09;。点关注#xff0c;不迷路#xf… 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 持续关注我~~~主页查看更多内容哟希望你能在这里有所收获。点关注不迷路哈哈哈~~~ 主页 一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?typelately专栏 微机原理与接口技术_一位搞嵌入式的 genius的博客-CSDN博客 微机原理与接口技术 1. 微处理器技术 1.1 主要学习内容 8088/8086微处理器 特点 主要引线功能和内部结构 内部寄存器 实地址模式下的存储器寻址 总线时序 1.2 微处理器 微处理器运算器、控制器、内部寄存器 程序和指令 具有一定功能的指令的有序集合 人发给计算机计算机能够识别的命令 指令执行过程 取指→译码→读操作数→执行指令→存放结果 1.3 8088/8086CPU特点 采用并行流水线工作方式内存空间的分段4段实现16bit体系对于1MB空间的寻址管理支持多处理器系统 1.3.1 顺序执行和并行流水线 顺序执行部件交替工作顺序执行指令 并行流水线各个部件并行工作 1.3.2 内存空间分段管理4段 内存空间分成多个逻辑段每个逻辑段占64K个单元 每个内存单元地址段地址偏移地址 1.3.3 支持多处理器 8088有两种工作模式 最小模式单处理器模式→注意控制信号都是由微处理器产生。 最大模式多处理器模式→注意部分控制信号由外部总线控制器产生 两种工作模式的选择方式 由引线状态决定MN/MX取反 MN/MX取反 0→工作在最大模式 MN/MX取反 1→工作在最小模式 记忆口诀 ”模式选择MNMX0大1小数字比较相反大小“ 1.4 8088/8086的引线及功能 1.4.1 8088 CPU最小模式下的主要引脚信号 分为4组 主要信号访问内存或接口 控制信号目的→与外部同步 中断请求和响应信号 总线保持和响应信号 1.4.2 微处理器读1条指令的过程 PC端将“内存单元地址”发送到地址寄存器 通过地址总线将地址发送给存储器 通过“读存储器”的命令 将对应内存存储单元的内容通过数据总线发送出去 最后进行“指令译码” 1.4.3 CPU访问一次内存或接口的主要信号 地址信号内存地址、接口地址 数据信号8位数据线 控制信号读、写、读写允许、收发器方向控制地址锁存访存/访接口控制 1.4.4 主要引线 1. 地址线 8086和8088都是20位也就是说有20根地址线 具体引线编号 AD0—AD7低8位地址和低8位数据信号分时复用。在传送地址信号时为单向传送数据信号时为双向。先地址后数据。 A8—A15 8位地址信号 独用 A16--A19高4位地址信号与状态信号分时复用不同时但共用。 值得注意的是有20位那么相应的就可以产生2的20次方个编码也就是1M个编码。2的10次方是1K 8位数据信号就是可以同时传输8位二进制编码 2. 数据线 1.4.5 主要的控制和状态信号——最小模式下的8088引线 WR 写信号→Write RD 读信号→Read IO/M为“0”表示访问内存为“1”表示访问接口 DEN 低电平有效时允许进行读/写操作 DT/R数据收发器的传送方向控制 ALE地址锁存信号 RESET复位信号。 例题 WR非1 RD非0IO/ M非 0表示正在做什么操作 CPU当前正在进行读存储器操作 WR非1 RD非1 既不执行写操作也不执行读操作 与外部同步控制信号------READY信号 几个周期 时钟周期CPU的晶振频率的倒数的。也是系统主时钟一个周期信号所持续的时间(T); 总线周期通常把CPU通过总线对微处理器外部存贮器或I/O接口进行一次访问所需时间称为一个总线周期。 8088/8086一个总线周期一般包含4个时钟周期这4个时钟周期分别称4个状态即T1状态、T2状态、T3状态和 T4状态。 1.4.6 中断请求和响应信号 INTR可屏蔽中断请求输入端 NMI 非屏蔽中断请求输入端比之于INTR优先级更高 INTA中断响应输出端 1.4.7 总线保持信号 HOLD 总线保持请求信号输入端。当CPU以外的其他设备要求占用总线时通过该引脚向CPU发出请求。 HLDA 总线保持响应信号输出端。CPU对HOLD信号的响应信号。 1.4.8 8088和8086CPU引线功能比较 数据总线宽度不同 8088是8位 8086是16位 记忆有6是16位另外一个就是8位 访问存储器和输入输出控制信号含义不同 8088——IO/M0表示访问内存 8086——IO/M1表示访问内存。 总结 8088是8位数据线IO/M0访问内存 8086是16位数据线IO/M1访问内存 1.5 8088/8086的内部结构 1.5.1 8088组成逻辑上功能划分为EU BIU EUExecution Unit执行单元 构成 运算器、8个通用寄存器、1个标志寄存器、EU部分控制电路 功能→指令的执行 指令译码、指令执行ALU中完成、暂存中间计算结果通用寄存器中完成、保存运算结果特征标志寄存器FLAGS中完成 BIU Bus Interface Unit 总线接口单元 功能 从内存中取指令到指令预取队列 负责与内存或输入/输出接口之间的数据传送 在执行转移程序时BIU使指令预取队列复位从指定的新地址取指令并立即传给执行单元执行。 1.5.2 结论 指令预取队列的存在使EU和BIU两个部分可同时进行工作即 实现指令的并行执行 BIU取指令时EU可以同时指令译码和指令执行。 目的 提高CPU效率 降低成本的同时还降低了对存储器存取速度的要求 1.6 内部寄存器 有14个16bit的寄存器按照功能分类 8个通用寄存器 数据寄存器AXBXCXDX 地址寄存器SPBP 变址寄存器SIDI 4个段寄存器 2个控制寄存器 1.6.1 数据寄存器 8088/8086含4个16位数据寄存器它们又可分为8个8位寄存器即 [解释xH和xL​]  高八位和低八位 AXAdd加 累加器。所有I/O指令都通过AX与接口传送信息中间运算结果也多放于AX中 BXBase基址 基址寄存器。在间接寻址中用于存放基地址 CXCount计数 计数寄存器。用于在循环或串操作指令中存放计数值 DXData数据 数据寄存器。在间接寻址的I/O指令中存放I/O端口地址在32位乘除法运算时存放高16位数。 1.6.2 地址指针寄存器 SPStack堆 堆栈指针寄存器其内容为栈顶的偏移地址 BPBase基址 基址指针寄存器常用于在访问内存时存放内存单元的偏移地址。 注意这两个寄存器的共同点是默认指向堆栈区、多数情况用于存放地址 [解释图片​]  绿色部分是SP指向BP可以指向堆栈的任意位置 BX与BP在应用上的区别 作为通用寄存器二者均可用于存放数据 作为基址寄存器用BX表示所寻找的数据在数据段用BP则表示数据在堆栈段。 1.6.3 变址寄存器 SI 源变址寄存器 DI 目标变址寄存器 变址寄存器在指令中常用于存放数据在内存中的地址。 1.6.4 通用寄存器小结 1.6.5 控制寄存器 IP 指令指针寄存器其内容为下一条要取的指令的偏移地址。 FLAGS 标志寄存器存放运算结果的特征 6个状态标志位CFSFAFPFOFZF CFCarry Flag 进位标志位。加(减)法运算时若最高位有进(借)位则CF1 OFOverflow Flag 溢出标志位。当算术运算的结果超出了有符号数的可表达范围时OFl ZFZero Flag 零标志位。当运算结果为零时ZF1 SFSign Flag 符号标志位。当运算结果的最高位为1时SFl PFParity Flag 奇偶标志位。运算结果的低8位中“1”的个数为偶数时PFl AFAuxiliary Carry Flag 辅助进位标志位。加(减)操作中若Bit3向Bit4有进位(借位)AF1 注意PF和AF只针对低8位 3个控制标志位IFTFDF TFTrap Flag 陷井标志位也叫跟踪标志位。TF1时使CPU处于单步执行指令的工作方式。 IFInterrupt Enable Flag 中断允许标志位。IF1使CPU可以响应可屏蔽中断请求。 DFDirection Flag 方向标志位。在数据串操作时确定操作的方向。 1.6.6 段寄存器 作用:用于存放相应逻辑段的段基地址 8086/8088内存中逻辑段的类型: CSCode Segment  代码段寄存器存放代码段的段基地址。 DSData Segment  数据段寄存器 存放数据段的段基地址。 ESExtra Segment  附加段寄存器存放数据段的段基地址。 SSStack Segment  堆栈段寄存器 存放堆栈段的段基地址 段寄存器的值表明相应逻辑段在内存存储中的位置 一个程序模块中每个段最多有一个最多四个段。 1.6.7 存储器寻址 主要内容 内存分段管理思想 实模式下的内存地址变换 段寄存器的应用 堆栈的概念 1.6.7.1 内存储器管理 8088 CPU是16位体系结构的微处理器 可以同时产生16位二进制码 可以直接产生64K个编码 8088 CPU需要管理1MB内存 需要能够产生1M个地址编码 8088对内存采用分段管理方式 1.6.7.2 内存地址变换 欲实现对1MB内存空间的正确访问每个内存单元在整个内存空间中必须具备惟一地址→这个地址就是物理地址物理地址唯一但是逻辑地址可以有多个 内存单元的编址 段基地址表示处于内存空间中的哪个区域 段内地址偏移地址/相对地址表示在哪个段中的相对位置 8088是16位所以他对应的段地址和偏移地址都是16位 存储器的编址 段基地址 决定存储单元在内存中的位置 相对地址偏移地址 该存储单元相对段内第一个单元的距离 逻辑段的起始地址称为段首 每个逻辑段内的第一个单元 实地址模式下的存储器地址变换: 计算公式 物理地址段地址偏移地址 例题设某操作数存放在数据段DS250AH数据所在单元的偏移地址0204H。则该操作数所在单元的物理地址为 逻辑段与逻辑地址 逻辑段是:大小、位置都可改变的“段”和每个内存单元的段地址和偏移地址都可变 重要所以可以有多个逻辑地址但物理地址是唯一的。 内存的分段是逻辑分段不是物理段。各个逻辑段在地址上可以不相连、可以部分重合也可以完全重合 每个内存单元具有惟一物理地址但可能具有多个逻辑地址。 一个逻辑段的默认容量为64KB16bit 计算机 例题 已知: CS1055H DS250AH ES2EF0H SS8FF0H 画出各段在内存中的分布。 解答 CS1055H 段首地址10550H 默认段尾地址2054FH通过在段首地址基础上64KB即FFFFH也就相当于是偏移地址得到的 DS250AH 段首地址250A0H 默认段尾地址3509FH ES2EF0H SS8FF0H 1.6.7.3 存储器的保护模式 保护模式 支持多任务的工作模式提供了多任务保护机制 内存段的访问受到限制不能再随意存取数据段。 保护模式下的内存访问 不再直接从段寄存器中获得段基地址段基地址存放在内存的段描述符表中由段描述符寄存器给出段描述符表的基地址段寄存器中仅存放段选择符。 保护模式下的存储器地址变换 堆栈及堆栈段的使用 堆栈 内存中存放临时数据或不需要保护的数据 常用于响应中断或子程序调用 例题 栈底偏移地址 栈底物理地址 - 堆栈段首地址 本质是偏移地址的基础定义物理地址 段首地址 偏移地址 的逆运算 1.7 总线时序 1.7.1 时序 时序 CPU各引脚信号在时间上的关系 总线周期 CPU完成一次访问内存或接口操作所需要的时间。 一个总线周期至少包括4个时钟周期T1到T4。 1.8 8088系统总线 1.8.1 主要内容 总线的基本概念和分类 总线的工作方式 常用系统总线标准。 1.8.2 概述 总线是计算机系统各部件之间传输地址、数据和控制信息的通道。{地址总线、数据总线、控制总线} 分类 1.8.3 总线的系统结构 单总线结构 多总线结构 1.8.4 总线的基本功能 数据传送 仲裁控制 出错处理 总线驱动 1.8.5 总线的主要性能指标 总线带宽B/S 单位时间内总线上可传送的数据量 总线位宽bit 能同时传送的数据位数 总线的工作频率MHz 总线带宽位宽/8工作频率/每个存取周期的时钟数 1.8.6 常用系统总线和外设总线 ISA8/16位 PCI32/64位 AGP加速图形端口用于提高图形处理能力 PCI-EPCI Express 目前最新的系统总线标准采用串行方式传输数据依靠高频率来获得高性能。 USB 1.8.7 两种工作模式下的总线连接 8088可工作于两种模式下 最小模式为单处理器模式控制信号较少一般可不必接总线控制器。 最大模式为多处理器模式控制信号较多须通过总线控制器与总线相连。 1.9 微处理器总结 1.10 重点习题讲解 接续上文微机原理与接口技术期末冲刺复习资料一-CSDN博客 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 关注我~~~主页查看更多内容哟希望你能在这里有所收获。 目录 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 2. 指令集 2.1 主要内容 2.2 基本概念 2.2.1 了解 2.2.2 寻址方式 2.2.2.1 立即寻址适用于源操作数 2.2.2.2 寄存器寻址操作数放在通用寄存器中 2.2.2.3 存放于存储器中的寻址方式 2.2.2.3.1 直接寻址 2.2.2.3.2 寄存器间接寻址 2.2.2.3.3 寄存器相对寻址 2.2.2.3.4 基址-变址寻址 2.2.2.3.5 基址-变址-相对寻址 2.2.2.4 隐含给出方式 2.2.2.5 汇总 2.3 8086指令系统 2.3.1 数据传送指令 2.3.1.1 通用数据传送 2.3.2 输入输出指令 2.3.2.1 指令寻址方式 2.3.3 地址传送指令 2.3.4 标志位操作指令 2.3.5 算数运算类指令 2.3.5.1 加法运算指令 2.3.5.2 减法运算指令 2.3.5.3 乘法指令 2.3.5.4 除法指令 2.3.5.5 算数运算指令小结 2.3.6 逻辑运算和移位指令 2.3.7 串操作指令 2.3.8 程序控制指令 2.3.8.1 转移指令 2.3.8.2 条件转移指令 2.3.8.3 循环控制指令 2.3.8.4 过程调用和返回 2.3.9 中断指令 2.3.10 处理器控制指令 2.3.11 重要题型注解 2. 指令集 2.1 主要内容 基本概念 对操作数的寻址方式 六大类指令的操作原理 操作码的含义 指令对操作数的要求 指令执行的结果 2.2 基本概念 2.2.1 了解 指令及指令系统 指令控制计算机完成某操作的命令 指令系统指令集处理器所能识别的所有指令的集合 指令的兼容性判断题同一系列机的指令都是兼容的。 指令的格式 包含信息数据来源结果去向执行操作 操作码 [操作数1][操作数2源操作数] { 解释 操作码就是执行的操作 操作数1就是目标操作数 操作数2就是源操作数 } 记忆先有“目标”再去追溯“源头” 零操作数指令 操作码 单操作数指令 操作码 操作数 双操作数指令 操作码 操作数操作数 多操作数指令 三操作数及以上 指令中的操作数立即数操作数据本身、寄存器和存储器表征数据存放地址 立即操作数8位或16位只能作为’源操作数‘ 举例 MOV AX1234H MOV BL22H 寄存器操作数参与运算的数据存放进寄存器中8位或16位 举例 MOV AXBX MOV DLCH 存储器操作数参加运算的数存放在存储器的某一个或某两个单元中 表现形式[ ] [ ]的出现表明寻址的数在内存中 举例 疑问为什么AX1122H 回答 执行 MOV AX, [1200H] 后 AX 寄存器的值为 1122H 其中 AL 22H AH 11H 因此AX 的值为 1122H 是因为该指令从内存地址 1200H 开始读取了一个字两个字节按照小端序规则x86架构低位字节 22H 被加载到 AL高位字节 11H 被加载到 AH。 三种类型操作数的比较 指令字长与机器字长 2.2.2 寻址方式 定义寻找操作数所在地址的方法 寻找操作数所在地址的方法可以有三种大类型 指令直接给出的方式 存放于寄存器中的寻址方式 存放于存储器中的寻址方式 隐含给出方式 2.2.2.1 立即寻址适用于源操作数 例如MOV AX1200H 2.2.2.2 寄存器寻址操作数放在通用寄存器中 例如MOV AXBX 2.2.2.3 存放于存储器中的寻址方式 2.2.2.3.1 直接寻址 直接寻址方式下操作数默认为在数据段但允许段重设即由指令给出所在逻辑段。 例 MOV AXES[1200H] 2.2.2.3.2 寄存器间接寻址 操作数存放在内存中其偏移地址为方括号中通用寄存器的内容。 [ 间址寄存器 ]→BXBPSIDI 由寄存器间接给出操作数的偏移地址 存放偏移地址的寄存器称为间址寄存器它们是BXSIDIBP只有BP默认在堆栈段其它的都在数据段 操作数的段地址数据处于哪个段取决于选择哪一个间址寄存器 例 MOV BX1200H MOV AX[BX] 基址寻址其中的间址寄存器是BP和BX 变址寻址其中的变址寄存器是SI和DI 2.2.2.3.3 寄存器相对寻址 操作数的偏移地址为寄存器的内容加上一个位移量 常将位移量作为“表头”地址间址寄存器的值作为表内相对地址 MOV AX[BXDATA]{ 注意DATA是任意8bit或者16bit的常数 } 例 MOV AX2000H MOV DSAX MOV BX1200H MOV AL[BX]5 [BX]5相当于[BX5] 2.2.2.3.4 基址-变址寻址 操作数的偏移地址为 一个基址寄存器的内容 一个变址寄存器的内容 操作数的段地址由选择的基址寄存器决定 基址寄存器为BX默认在数据段 基址寄存器为BP默认在堆栈段 基址变址寻址方式与相对寻址方式一样主要用于一维数组操作。 2.2.2.3.5 基址-变址-相对寻址 操作数的偏移地址为 基址寄存器内容变址寄存器内容位移量 操作数的段地址由选择的基址寄存器决定。 基址变址相对寻址方式主要用于二维表格操作。 例如 MOV DI1100H MOV BPDI MOV AL【BP】【DI】5 【BP】【DI】5→相当于[BPDI5] 2.2.2.4 隐含给出方式 指令中隐含了一个或两个操作数的地址即操作数在默认的地址中 例 MUL BL 指令执行 AL×BL → AX 2.2.2.5 汇总 2.3 8086指令系统 要求掌握 指令码的含义 指令对操作数的要求 指令的对标志位的影响 指令的功能 功能上划分 数据传送 算术运算 逻辑运算和移位 串操作 程序控制 处理器控制 2.3.1 数据传送指令 1.通用数据传送 2.输入输出 3.地址传送 4.标志位操作 2.3.1.1 通用数据传送 一般数据传送指令MOV 例 MOV ALBL 注意点判断题 两操作数字长必须相同 两操作数不允许同时为存储器操作数 两操作数不允许同时为段寄存器 在源操作数是立即数时目标操作数不能是段寄存器 IP和CS不作为目标操作数FLAGS一般也不作为操作数在指令中出现。 堆栈操作指令 压栈指令 格式: PUSH OPRD 出栈指令 格式: POP OPRD 注意的是 指令的操作数必须是16位 操作数可以是寄存器或存储器两单元但不能是立即数 不能从栈顶弹出一个字给CS PUSH和POP指令在程序中一般成对出现 PUSH指令的操作方向是从高地址向低地址而POP指令的操作正好相反。 交换与查表指令 格式 XCHG REGMEM/REG 注 两操作数必须有一个是寄存器操作数 不允许使用段寄存器。 例 XCHG AXBX XCHG [2000]CL 字位扩展指令 将符号数的符号位扩展到高位 指令为零操作数指令采用隐含寻址隐含的操作数为AX及AXDX 无符号数的扩展规则为在高位补0 字节到字的扩展指令 格式 CBW 操作 将AL内容扩展到AX 规则 若最高位1则执行后AHFFH 若最高位0则执行后AH00H 字到双字的扩展指令 格式 CWD 操作 将AX内容扩展到DX AX 规则 若最高位1则执行后DXFFFFH 若最高位0则执行后DX0000H 2.3.2 输入输出指令 指令的格式及操作 指令的两种寻址方式 指令对操作数的要求 专门面向I/O端口操作的指令 指令格式 输入指令 IN accPORT 输出指令 OUT PORTacc PORT是端口地址 2.3.2.1 指令寻址方式 直接寻址 端口地址为8位时指令中直接给出8位端口地址 寻址256个端口2的8次方计算得来。 间接寻址 端口地址为16位时指令中的端口地址必须由DX指定 可寻址64K个端口。 注意点端口地址越长就越需要注意“风险”所以采用间接方式最好 2.3.3 地址传送指令 取偏移地址指令LEA *LDS指令 *LES指令 LEA 操作 将变量的16位偏移地址取出送目标寄存器 当程序中用符号表示内存偏移地址时须使用该指令。 格式 LEA REGMEM 指令要求 源操作数必须是一个存储器操作数目标操作数通常是间址寄存器。 LDS、LES指令 LDS和LES均用于将一个32位的远地址指针写入目标寄存器。 LDS(Load pointer usingDS)的一般格式 LDS 通用寄存器存储器操作数 //把源操作数的偏移地址送目标寄存器段地址送DS LES(Load pointer usingES)的一般格式 LES 通用寄存器存储器操作数 //把源操作数的偏移地址送目标寄存器段地址送ES 2.3.4 标志位操作指令 2.3.5 算数运算类指令 加法运算指令 减法运算指令 乘法指令 除法指令 注意算术运算指令的执行大多对状态标志位会产生影响 2.3.5.1 加法运算指令 普通加法指令ADD 格式 ADD OPRD1OPRD2 操作 OPRD1OPRD2 → OPRD1 ADD指令的执行对全部6个状态标志位都产生影响 带进位位的加法指令ADC 指令格式、对操作数的要求、对标志位的影响与ADD指令完全一样 指令的操作 OPRD1OPRD2CF → OPRD1 注意ADC指令多用于多字节数相加使用前要先将CF清零。 加1指令INC 格式INC OPRD不能是段寄存器或立即数 操作OPRD1 → OPRD 注意 INC指令的执行不影响CF 常用于在程序中修改地址指针 2.3.5.2 减法运算指令 普通减法指令SUB 格式 SUB OPRD1OPRD2 操作 OPRD1- OPRD2 → OPRD1 考虑借位的减法指令SBB SBB指令多用于两个多字节数的相减运算 指令格式、对操作数的要求、对标志位的影响与SUB指令完全一样 指令的操作 OPRD1- OPRD2- CF → OPRD1 减1指令DEC 格式 DEC OPRD 操作 OPRD - 1 → OPRD 比较指令CMP 格式 CMP OPRD1OPRD2 操作 OPRD1- OPRD2 目标操作数-源操作数 指令执行的结果不影响目标操作数仅影响标志位 用途 用于比较两个数的大小可作为条件转移指令转移的条件 两个无符号数的比较 CMP AXBX 若 AX ≥ BX CF 0 表明没有进位或借位 若 AX BX CF 1 若 AXBX CF 0ZF 1 两个带符号数的比较 CMP AXBX 两个数的大小由OF和SF共同决定 OF和SF状态相同 AX ≥BX OF和SF状态不同 AX BX 求补指令NEG 格式 NEG OPRD 操作 0 - OPRD → OPRD 注意用0减去操作数相当于对该操作数求补码 2.3.5.3 乘法指令 无符号的乘法指令MUL 格式 MUL OPRD OPRD不能是立即数 带符号的乘法指令IMUL 格式 IMUL OPRD 指令格式及对操作数的要求与MUL指令相同。 指令执行原理 将两个操作数取补码对负数按位取反加1正数不变 做乘法运算 将乘积按位取反加1。 注意 乘法指令采用隐含寻址隐含的是存放被乘数的累加器AL或AX及存放结果的AXDX 2.3.5.4 除法指令 无符号除法指令 格式 DIV OPRD 有符号除法指令 格式 IDIV OPRD 若OPRD是字节数 执行AX/OPRD 结果 AL商 AH余数 若OPRD是双字节数 执行 DXAX/OPRD 结果 AX商 DX余数 2.3.5.5 算数运算指令小结 指令执行影响状态标志位 乘法指令执行结果为相乘数的双倍字长 除法指令要求被除数是除数的双倍字长。 2.3.6 逻辑运算和移位指令 逻辑运算 与或非异或 注意“非”运算指令要求操作数不能是立即数 除“非”运算指令外 其余指令的执行都会影响除AF 外的5个状态标志 无论执行结果任何都会使标志位OFCF0。 与指令 格式 AND OPRD1OPRD2 操作 两操作数相“与”结果送目标地址。 应用 实现两操作数按位相与的运算 AND BL[SI] 使目标操作数的某些位不变某些位清零 AND AL0FH 在操作数不变的 情况下使CF和OF清零 AND AXAX 或指令 格式 OR OPRD1OPRD2 操作 两操作数相“或”结果送目标地址OPRD1 应用 实现两操作数 相 “或”的 运算 OR AX[DI] 使某些位不变某些位置“1” OR CL0FH 在不改变操作数的 情况下使OFCF0 OR AXAX 非指令 格式 NOT OPRD 操作 操作数按位取反再送回原地址 注 指令的执行对标志位无影响 例 NOT BYTE PTR[BX] 异或指令 格式 XOR OPRD1OPRD2 操作 两操作数相“异或”结果送目标地址 例 XOR BL80H XOR AXAX 测试指令 格式 TEST OPRD1OPRD2 操作 执行“与”运算但运算的结果不送回目标地址。 应用 常用于测试某些位的状态 移位指令 非循环移位循环移位 值得注意的是 移动一位时由指令直接给出 移动两位及以上则移位次数由CL指定。 非循环移位指令 逻辑左移 无符号数 SHL OPRD1 SHL OPRDCL 算术左移 有符号数 SAL OPRD1 SAL OPRDCL 逻辑右移 无符号数 SHR OPRD1 SHR OPRDCL 举例 算术右移有符号数 SAR OPRD1 SAR OPRDCL 非循环移位指令的应用 左移可实现乘法运算 右移可实现除法运算 循环移位指令 应用 用于对某些位状态的测试 高位部分和低位部分的交换 与非循环移位指令一起组成32位或更长字长数的移位。 2.3.7 串操作指令 实现两个字符串或数据块的操作 源操作数称为源串目标操作数称为目标串 串操作指令要求 目标操作数必须在附加段源操作数默认在数据段允许段重设。 源串和目标串指针分别为SI和DI 串长度值必须由CX给出 需要设置数据的操作方向 确定DF的状态 串操作指令前可以加重复前缀。使用时应注意 传送类指令前加无条件重复前缀 串比较类指令前加条件重复前缀但前缀不影响ZF状态 串操作指令流程 串传送指令 格式 MOVS OPRD1OPRD2 MOVSB MOVSW 串比较指令 格式 CMPS OPRD1OPRD2 CMPSB CMPSW 串扫描指令 格式 SCAS OPRD SCASB SCASW 注意这里的源 操作数是AX或AL 应用用于在指定存储区域中寻找某个关键字。 串装入指令 格式 LODS OPRD LODSB LODSW 操作 对字节[DS:SI] → AL 对 字 [DS:SI] → AX 串存储指令 格式 STOS OPRD STOSB STOSW 操作 对字节AL → [ES:DI] 对 字 AX → [ES:DI] 应用 常用于将内存某个区域置同样的值 此时 将待送存的数据放入AL字节数或AX字数据 确定操作方向增地址/减地址和区域大小串长度值 使用串存储指令无条件重复前缀实现数据传送。 注意事项 需要定义附加段 目标操作数必须在附加段 需要设置数据的操作方向 确定DF的状态 源串和目标串指针分别为SI和DI 串长度值必须由CX给出 注意重复前缀的使用方法 传送类指令前加无条件重复前缀 串比较类指令前加条件重复前缀但前缀不影响ZF状态 2.3.8 程序控制指令 转移指令 循环控制 过程调用 中断控制 程序的执行方向 程序控制类指令的本质是 控制程序的执行方向 决定程序执行方向的因素 CSIP指令指针寄存器 控制程序执行方向的方法 3.1 仅修改IP则程序将改变当前的执行顺序转向本代码段内其它某处执行 3.2 修改CS 和IP 则程序转向另一个代码段执行。 2.3.8.1 转移指令 通过修改指令的偏移地址或段地址及偏移地址 实现程序的转移 无条件转移指令 格式 值得注意的一点是原则上是可以在内存空间中任意转移到任意位置的 有条件转移指令 转移的目标地址在当前代码段内段地址不改变。 段内直接转移 格式 JMP Label近地址标号 段内间接转移 转移的目标地址存放在某个16位寄存器或存储器的某两个单元中 例 MOV BX1200H JMP BX 无条件段间转移 转移的目标地址不在当前代码段内。 段间直接转移转移的目标地址由指令直接给出 格式 JMP FAR Label 段间间接寻址 转移的目标地址由指令中的32位操作数给出 32位目标地址须存放于内存中 例 JMP DWORD PTR[BX] 2.3.8.2 条件转移指令 在满足一定条件下程序转移到目标地址继续执行 条件转移指令均为段内短转移即转移 范围为 -128------127 2.3.8.3 循环控制指令 无条件循环指令 格式 LOOP LABEL 循环条件 CX ≠ 0 2.3.8.4 过程调用和返回 过程调用指令 用于调用一个子过程 与转移指令的比较 子过程执行结束后要返回原调用处 注意注意注意一定一定要保护返回地址 调用指令的执行过程 保护断点 获取子程序的入口地址 执行子过程含有相应参数保护及恢复 恢复断点返回原来程序 过程调用 段内调用CALL NEAR PROCC近过程名 实例 1CALL TIMRE —— 直接调用 2CALL WORD PTR[SI] —— 间接调用 段间调用 注意在这个过程中调用前需保护断点的段基地址和偏移地址 CALL FAR PROCC 返回指令 功能 从堆栈中弹出断点地址返回原程序 格式 RET子程序的最后一条指令必须是RET 2.3.9 中断指令 中断 中断源 中断的类型 中断指令 引起CPU产生一次中断的指令 辨析中断与过程调用 中断是随机事件或异常事件引起调用则是事先已在程序中安排好 响应中断请求不仅要保护断点地址还要保护FLAGS内容 调用指令在指令中直接给出子程序入口地址中断指令只给出中断向量码入口地址则在向量码指向的内存单元中。 中断指令 执行过程 将FLAGS压入堆栈 将INT指令的下一条指令的CS、IP压栈 由n×4得到存放中断向量的地址 将中断向量中断服务程序入口地址送CS和IP寄存器 转入中断服务程序。 中断返回指令 格式 IRET 是中断服务程序的最后执行指令目的是返回原程序 2.3.10 处理器控制指令 1. 对标志位的操作 2. 与外部设备的同步 2.3.11 重要题型注解 1. 指令系统与指令兼容性 **考点**什么是指令系统兼容性判别条件 **题1**  判断题同一系列的 x86 处理器的指令一定是兼容的。  **答案**√因为同一系列的处理器采用相同指令集可向后兼容 **题2**  简答题为什么说“指令系统”是处理器的基础  **解析**指令系统定义了处理器能识别和执行的所有操作每条程序都由这些指令组成决定了处理器能力和编程接口。 ------ **2. 指令格式操作码与操作数** **考点**指令组成结构目标与源操作数 **题1**  选择题在 MOV AX, BX 中哪个是源操作数  A. AX  B. BX  C. MOV  **答案**B**解析**AX 是目标寄存器BX 是源。 **题2**  填空题双操作数指令由**操作码 操作数1, 操作数2**构成其中操作数1为____操作数2为____。  **答案**目标操作数源操作数 ------ **3. 操作数类型立即数、寄存器、存储器** **考点**区别三种操作数立即数为何仅用作源 **题1**  判断题立即数只能作为源操作数。  **答案**√解析立即数无法写回目标位置。 **题2**  简答题MOV AX, [1200H] 将内存内容加载到 AX这里的操作数类型分别是什么  **答案**目标是寄存器操作数源是存储器操作数。 ------ **4. 寻址方式概念** **考点**立即、寄存器、直接、间接、变址等寻址方式 **题1**  简答题简述基址变址位移寻址的构成。  **答案**偏移地址 基址寄存器 变址寄存器 固定位移量数据段由基址寄存器决定。 **题2**  判断题MOV AX, [BX5] 是寄存器相对寻址。  **答案**√解析使用寄存器内容加偏移。 ------ **5. 隐含寻址隐式操作数** **考点**乘法除法等使用隐含寄存器 **题1**  填空题MUL BL 隐含使用 ____ 作为被乘数结果放在 ____。  **答案**ALAX **题2**  判断题IMUL 只能用于无符号乘法。  **答案**×IMUL 用于有符号。 ------ **6. 堆栈操作PUSH/POP** **考点**堆栈指令使用限制 **题1**  判断题PUSH 可以将立即数压入堆栈。  **答案**×只能压寄存器或存储器。 **题2**  简答题说明 PUSH/POP 操作是怎样改变栈指针 SP 的。  **答案**PUSH 先减 SP 再写入数据POP 先读出数据再加 SP。 ------ **7. 地址传送指令LEA、LDS、LES** **考点**LEA 与 LDS/LES 的区别 **题1**  选择题LEA BX, VAR 的用途是  A. 将数据装入 BX  B. 将 VAR 地址装入 BX  C. 将 VAR 的 DS 段地址装入 DS 寄存器  **答案**B **题2**  判断题LDS 可以同时加载偏移和段地址。  **答案**√解析将偏移送通用寄存器段基加载到 DS。 ------ **8. 算术指令加减乘除及标志位** **考点**ADD/ADC/SUB/SBB/CMP/INC/DEC以及 MUL/DIV 影响 **题1**  简答题CMP AX, BX 执行后 AX 是否改变标志位  **答案**AX 不变更新 CF、ZF、SF、OF。 **题2**  判断题DIV 指令要求被除数为双字长。  **答案**√例操作时 AX 为被除数或 DX:AX 为被除数。 ------ **9. 逻辑与移位操作** **考点**AND/OR/XOR/NOT/TESTSHL/SHR/SAL/SAR 和循环移位 **题1**  判断题XOR AX, AX 可用于清零 AX 并将 OF、CF 置 0。  **答案**√清零并重置标志位。 **题2**  简答题SHL 可用于实现什么算术操作而 SAR 用于何  **答案**SHL 是逻辑左移实现乘以2SAR 是算术右移实现带符号除2。 ------ **10. 程序控制指令转移、循环、调用与中断** **考点**JMP、条件转移、CALL/RET、INT/IRET 和堆栈保护 **题1**  简答题区分 CALL 与 INT 指令的主要差异。  **答案**CALL 是程序内或段间调用返回地址压栈INT 是中断调用还需压 FLAGS入口由中断向量表决定。 **题2**  判断题LOOP LABEL 指令每次都会更新 CX 并跳转直到 CX 0 为止。  **答案**√解析先将 CX 减1若不为 0 则跳转。 接续上文微机原理与接口技术期末冲刺复习资料二-CSDN博客 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 持续关注我~~~主页查看更多内容哟希望你能在这里有所收获。点关注不迷路哈哈哈~~~ 主页一位搞嵌入式的 genius-CSDN博客 目录 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 4. 汇编语言程序设计 4.1 汇编语言源程序 4.1.1 汇编语言源程序的结构 4.1.2 汇编语言语句类型及格式 4.2 伪指令 4.2.1 数据定义伪指令 4.2.2 符号定义伪指令 4.2.3 段定义伪指令 4.2.4 结束伪指令 4.2.5 过程定义伪指令 4.2.6 宏命令伪指令 4.2.7 调整偏移量伪指令 4.2.8 设定段寄存器伪指令 4.2.9 汇编语言源程序结构 4.3 系统功能调用 4.3.1 DOS调用和BIOS调用的基本步骤 4.4 汇编语言程序设计 4.5 重点考点题型 4. 汇编语言程序设计 主要需要掌握内容如下 汇编语言源程序的结构 汇编语言语句格式 伪指令 功能调用 汇编语言程序设计 4.1 汇编语言源程序 了解 汇编语言源程序的结构 汇编语言语句类型及格式 4.1.1 汇编语言源程序的结构 首先我们需要区分汇编语言源程序和汇编程序 汇编语言源程序助记符编写 汇编程序源程序的编译程序 汇编语言程序设计与执行过程 输入汇编源程序产生ASM文件汇编产生目标文件.OBJ链接产生可执行文件.EXE调试最终程序 4.1.2 汇编语言语句类型及格式 汇编语言语句类型 指令性CPU执行生成目标代码 指示性CPU不执行由汇编程序执行不生成目标代码 格式 注意 标号后面有冒号名字后面没有 二者均在指示性语句前 操作数 寄存器 存储器单元 常量数字常量字符串常量单引号引起的 变量或标号 变量 代表内存中的数据区程序中视为存储器操作数。 标号 表达式 算术运算 逻辑运算 关系运算 取值运算和属性运算 示例 MOV AXSEG DATA MOV DSAX MOV BXOFFSET DATA 其中OFFSET DATA等价于LEA BXDATA 其它运算 方括号 [ ] → 方括号中内容为操作数的偏移地址 段重设符 段寄存器名[ ] → 用于修改默认的段基地址 4.2 伪指令 掌握伪指令的格式、操作及应用 由汇编程序执行的“指令系统” 作用 定义变量 分配存储区 定义逻辑段 指示程序开始和结束 定义过程等。 常用伪指令 数据定义伪指令 符号定义伪指令 段定义伪指令 结束伪指令 过程定义伪指令 宏命令伪指令 4.2.1 数据定义伪指令 用处定义数据区中的变量大小和类型 格式 注意变量的类型及其操作数的个数决定了该变量所在内存空间的大小 数据定义伪指令助记符 DB 定义的变量为字节型 DW 定义的变量为字类型双字节 DD 定义的变量为双字型4字节 DQ 定义的变量为4字型8字节 DT 定义的变量为10字节型 举例 DATA1 DB 11H22H33H44H DATA2 DW 11H22H3344H DATA3 DD 11H*222H33445566H 以上事例在内存中的分布 说明 伪指令的性质决定了变量的类型 定义字符串不需要DB伪指令 重复操作符 作用 为一个数据区的各单元设置相同的初值 目的 常用于声明一个数据区 格式 [变量名] 伪指令助记符 n DUP初值… n是重复次数 的作用 表示随机值用于预留存储空间 随机数占1个字节单元 4.2.2 符号定义伪指令 将表达式的值赋给一个名字。当源程序中需多次引用某一表达式时可以利用EQU伪指令用一个符号代替表达式以便于程序维护。 格式 符号名 EQU 表达式 操作 用符号名取代后边的表达式不可重新定义 例 CONSTANT EQU 100 VAR EQU 30H99H 注意 EQU说明的表达式不占用内存空间 4.2.3 段定义伪指令 说明逻辑段的起始和结束 说明不同程序模块中同类逻辑段之间的联系形态 定位类型 PARA 段的起点从节边界开始 16个字节为1节 PAGE 段的起点从页边界开始 256个字节为1页 BYTE 段的起点从存储器任何地址开始 WORD段的起点从偶地址开始 组合类型 与其它模块中的同名段在满足定位类型的前提 下具有的组合方式 NONE 不组合 PUBLIC 依次连接顺序由LINK程序确定 COMMON 覆盖连接 STACK 堆栈段的依次连接 AT 表达式段定义在表达式值为段基的节边界 MEMORY 相应段在同名段的最高地址处。 4.2.4 结束伪指令 表示源程序结束 格式 END [标号] 4.2.5 过程定义伪指令 用于定义一个过程体 格式 过程名 PROC [ NEAR / FAR ] ┇ RET 过程名 ENDP 过程名过程入口的符号地址 4.2.6 宏命令伪指令 当 源程序中需要多次使用同一个程序段时可以将该程序段定义为一个宏 格式 宏命令名 MACRO 形式参数 ┇ ┇宏体 ENDM 示例 4.2.7 调整偏移量伪指令 用处规定程序或变量在逻辑段中的起始地址 默认情况下偏移地址为0 利用ORG指令可以改变起始偏移地址 格式 ORG 表达式非负常数 例 DATA SEGMENT ORG 1200H BUFF DB 1,2 DATA ENDS 以上代码表示的是变量BUFF的偏 移地址1200H 4.2.8 设定段寄存器伪指令 说明所定义逻辑段的性质 格式 ASSUME 段寄存器名:段名[段寄存器名:段名…] 4.2.9 汇编语言源程序结构 4.3 系统功能调用 DOS中断包括 设备管理目录管理文件管理其它 在某些情况下同样的功能既可选择DOS中断也可选择BIOS中断 4.3.1 DOS调用和BIOS调用的基本步骤 将功能号装入AH 将调用参数装入指定的寄存器 按中断类型号调用DOS或BIOS中断(DOS:21H, BIOS:10H/13H/16H) 检查返回参数是否正确。 一、DOS功能调用 说明 DOS中断是包含多个子功能的功能包 各子功能用功能号区分 用软中断指令调用中断类型码固定为21H。 调用格式 MOV AH功能号 置相应参数 INT 21 键盘输入-单字符输入1号 通过调用字符输入子功能可接收从键盘上输入的字符并以对应的ASCII码形式存放。 调用方法 MOV AH01 INT 21H 输入的字符存放在AL中 键盘输入-字符串输入10号 调用格式 用户自定义缓冲区格式 显示输出-单字符2号 输出显示-字符串9号 注意点 被显示的字符串必须以‘$’结束 所显示的内容不应出现非可见的ASCII码 若考虑输出格式需要在定义字符串后加上回车符和换行符。 返回操作系统DOS功能 功能号 4CH 调用格式 MOV AH4CH INT 21H 功能 程序执行完该2条语句后能正常返回OS 常位于程序结尾处。 二、BIOS功能调用 通过中断指令调用相应的BIOS中断服务程序 BIOS中断服务程序实际上是一些对端口的输入输出操作是微机系统中软件与硬件之间的一个可编程接口。 三、总结 均通过中断指令调用。1个中断类型码对应1个功能程序包 每个程序包中的子功能通过功能号区分调用时功能号须送AH 部分功能既可用DOS中断也可以用BIOS中断 注意不同子功能的入口/出口参数要求 DOS和BIOS中断均可能影响AX。 4.4 汇编语言程序设计 设计步骤 根据实际问题抽象出数学模型 确定算法 画程序流程图 分配内存工作单元和寄存器 程序编码 调试 汇编语言程序控制结构的设计 4.5 重点考点题型 一、汇编语言源程序结构、语句、执行流程 重点知识 区分汇编语言源程序与汇编程序 熟悉汇编程序从 .ASM 到 .EXE 的编译链接调试全过程 掌握指令语句格式如 MOV AX, BX 区分汇编语句类型指令、伪指令、注释。 常见题型 选择题/判断题汇编语言源程序经过哪些处理步骤才能执行 填空题源程序编译后会生成哪个中间文件答案.OBJ。 简答题汇编语言的三类语句及其作用是什么 二、伪指令重点考点 伪指令是考试高频点理解其不生成机器代码但指导编译器工作的本质是答题关键。 考试高频伪指令及考法 数据定义类如 DB, DW, DD 题型填空/选择/编程题中使用初始化变量或数组。 示例题DATA DB 10H, 20H 定义了几个字节答案2 符号定义EQU 题型填空/选择题理解 EQU 不占内存。 示例题VAR EQU 30H10HVAR 值是多少是否占内存答案40H不占内存 段定义伪指令SEGMENT/ENDS 题型解释段的结构或编写段定义。 要求明确段的组合方式PUBLIC、COMMON及定位方式PARA、PAGE、BYTE ORG偏移调整 题型编程题考你定义特定偏移位置的变量。 示例ORG 100H 表示从哪儿开始布局变量 ASSUME段寄存器设定 题型选择/填空题要求写出正确的段寄存器与段名对应关系。 示例题为何程序执行前要使用 ASSUME CS:CODE, DS:DATA 过程定义与调用PROC/ENDP 题型编程题判断 CALL 使用的是 NEAR 还是 FAR 调用。 示例写一个带过程调用的完整汇编程序。 宏定义MACRO/ENDM 题型简答题或程序重构题考查宏命令重复使用逻辑。 要求你将一段重复程序段改写成宏。 三、系统功能调用DOS与BIOS中断 这一部分是汇编与系统编程的交汇点也是考试中常出简答题、填空题和编程题的核心内容。 考点汇总 DOS中断 INT 21H 调用流程 设置功能号到 AH 根据功能号设置参数 使用 INT 21H 调用 常见 DOS 功能号 AH01H输入一个字符 AH02H输出一个字符DL 中 AH09H显示字符串以 $ 结尾 AH4CH程序正常返回 BIOS 中断如 INT 10H 操作显示器、键盘等硬件。 常用于字符/光标控制。 常见题型 选择题INT 21H 实现哪个功能时需设置 AH4CH答案程序返回 填空题AH09H 功能需要将字符串以哪种符号结尾答案$ 编程题编写程序输出一串字符并等待按键退出。 四、汇编程序设计思路与结构控制 重点内容 设计流程需求→算法→流程图→内存与寄存器分配→编码调试 程序控制结构条件判断CMP, JZ, JNZ、循环LOOP, DEC/JNZ、过程调用 数据结构数组、变量定义 寄存器使用AX/BX/CX/DX、SP、BP 以及段寄存器。 常见题型 简答题简述汇编程序的设计流程。 程序分析题给一段含 CMP, JZ, LOOP 的程序问其执行逻辑。 程序设计题如 编写程序比较两个数的大小 输出一个字符串 实现循环累加功能 使用 INT 21H 实现用户交互。 五、考题类型分布预测 题型占比典型内容判断/选择题30%概念识别、指令功能、伪指令用途、DOS功能号、指令结构填空题20%段定义/偏移、寄存器对应、参数设置简答题20%设计流程、伪指令解释、BIOS与DOS中断区别程序阅读题10%分析代码逻辑、寄存器变化、内存地址使用情况程序设计/编程题20%基于伪指令、调用过程、中断编写简易功能程序如字符输出、数组求和、条件判断等 总结与备考建议 牢固理解伪指令的语义和用法这是填空与编程题的基础 熟记 DOS 常用功能号与中断号调用方式 多做程序设计题熟悉 AX、BX、CX 等寄存器用途和中断输入输出规则 掌握段与偏移、堆栈、过程调用的配套关系 最后强化调试思维理解从 .ASM 到 .EXE 的全过程掌握调试思路如单步执行、观察寄存器变化等。 接续上文微机原理与接口技术期末冲刺复习资料三-CSDN博客 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 持续关注我~~~主页查看更多内容哟希望你能在这里有所收获。点关注不迷路哈哈哈~~~ 主页一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?spm1000.2115.3001.5343 目录 接续上文微机原理与接口技术期末冲刺复习资料三-CSDN博客 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 5. 半导体存储器 5.1 概述 5.1.1 存储器系统 5.1.2 半导体存储器 5.1.3 主要技术指标 5.2 随机存取存储器 5.2.1 静态存储器SRAM 5.2.2 动态随机存储器DRAM 5.3 只读存储器ROM 5.3.1 EPROM 5.3.2 EEPROM 5.3.2.1 闪速存储器Flash 5.4 存储器扩展技术内存储器设计 5.5 高速缓存了解 5.5.1 Cache 的基本概念 5.5.2 设置 Cache 的理由 5.5. 3 程序的局部性原理 5.5.4 Cache 的工作原理 5.5. 5 Cache 的命中率与平均存取速度 5.5.6 Cache 的读写策略 1. 读操作策略 2. 写操作策略 5.5.7 Cache 的分级体系结构 1. 一级缓存L1 Cache 2. 二级缓存L2 Cache 3. 三级缓存L3 Cache部分高性能处理器中有 5.6 主要掌握知识点 5. 半导体存储器 主要内容 存储器系统 半导体存储器的分类及其特点 半导体存储芯片的外部特性及其与系统的连接 存储器接口设计存储器扩展技术 高速缓存 5.1 概述 主要内容 存储器系统 半导体存储器的分类及特点 两类半导体存储器的主要区别 5.1.1 存储器系统 微型机中的存储器总体上包括内存和外存 二者在速度、容量、材料等有所差别 内 存外 存速度快慢容量小大单位容量价格高低制造材料半导体磁性材料 存储器分类 内存主存、高速缓冲存储器 外存联机外存、脱机外存 虚拟存储器 具体内容 微型计算机中的存储系统主要有 Cache存储器系统 虚拟存储器系统 Cache存储器系统 由高速缓冲存储器Cache和主内存一起构成来管理硬件系统 设计目标提高CPU访问内存的存取速度 Cache 虚拟存储系统 主内存和部分硬磁盘构成由操作系统管理 设计目标扩大存储容量 系统存取时间 命中率Cache存取时间不命中率主存存取时间 THT11-HT2 主要性能指标 存储容量S 存取时间T与系统命中率有关 命中率H THT11-HT2 单位容量价格C 访问效率e 5.1.2 半导体存储器 若干存储元能存放1位二进制数的半导体器件构成1个存储单元 分类 内存 随机存储器RAM 静态存储器SRAM 动态存储器DRAM 同步动态随机存取内存器SDRAM 只读存储器ROM EPROM EEPROM 一次性可写ROM 掩模ROM只有这个是不可以写入的 8088总线信号 5.1.3 主要技术指标 存储容量 存储单元个数×每单元的二进制数位数 存取时间 实现一次读/写所需要的时间 存取周期 连续启动两次独立的存储器操作所需间隔的最小时间 可靠性 功耗 5.2 随机存取存储器 掌握 SRAM和DRAM的特点 集中常用存储芯片与系统的连接 存储器扩展技术 特点 可以随机读或写操作 掉电后存储内容即丢失 类型 静态存储器SRAM 动态存储器DRAM 5.2.1 静态存储器SRAM 特点由双稳电路构成存储信息稳定 典型SRAM芯片 SRAM6264 容量8K * 8b 8K * 1B 主要引线28根 地址线A0------A12 数据线D0------D7 输出允许信号OE 写允许信号WE 片选信号CS1CS2。同时满足条件才能让芯片工作。 工作过程 6264芯片与系统连接 存储器芯片与系统的连接分为两部分 确定要访问的存储芯片 系统中可能存在多片存储器芯片要访问的单元只能存在于某一片芯片上。 找到芯片后寻找该芯片上要访问的单元。 6264芯片上有8K个单元每个单元在该芯片上有惟一的13位地址码。 每片6264芯片上第一个单元在该芯片上的地址0 每片6264芯片上最后一个单元在该芯片上的地址8191 用芯片的13位地址码A0-A12寻址片内的每个单元 存储器地址 6264与系统的连接框架图 6264芯片的编址 译码电路 将输入的高位地址信号变换成一个有效输出信号来选择某个存储器芯片来确定该存储器芯片在内存中的地址范围 译码方式 全地址译码 用全部的高位地址信号作为译码信号使得存储器芯片的每一个单元都占据一个唯一的内存地址。 它保证了该芯片在整个空间中具有唯一的地址范围。 好处任何地址资源 不足用到的地址“资源”多导致了电路复杂 全地址译码实例 大于等于1表示的就是或运算 例 已知某SRAM 6264芯片在内存中的地址为3E000H3FFFFH。试画出将该芯片连接到系统的译码电路。 设计步骤 写出地址范围的二进制表示 确定各高位地址状态 设计译码器。 高位地址0011111 部分地址译码 用部分高位地址信号而不是全部作为译码 信号使得被选中存储器芯片占有几组不同 的地址范围。 如下图所示 [解释上图]  分析图片内容可知缺少A18线所以就存在两个地址分别为0或1的时候对应的段尾地址 例题 用SRAM 6264芯片构成容量为32KB的存储器。要求存储器的地址范围为 20000H27FFFH 解答 因为6264芯片大小为8K * 1B又因为存储器容量为32KB所以需要4片6264芯片。 采用基本逻辑门电路设计 74LS138译码器 图中红圈的3个引脚均有效的时候才能使得74LS138工作 译码器主要功能 根据输入的不同编码组合确保其控制的各电路芯片在任一时刻只有一路1个芯片处于工作状态。 输出控制的某个Yx非。 例如 小结 当仅需要将一片存储器芯片连接到系统中时只需要简单的译码电路。 根据设定地址确定电路设计由基本逻辑门实现 此时高位地址为一个确定值 当系统中的存储器由多片存储器芯片构成时 此时高位地址为一个地址范围 为简化设计可借助专用译码器 5.2.2 动态随机存储器DRAM 特点电容组成存储元需要定时刷新 典型DRAM芯片 2164A 大小64K×1bit 以256×256的矩阵形式排列 采用行地址和列地址来确定一个单元 行列地址分时传送共用一组地址信号线 地址信号线的数量仅为同等容量SRAM芯片的一半。 主要引线 地址总线上先送行后送列地址。 工作原理 数据读出 数据写入 刷新将存放于每位中的信息重新读出来后又写入原位置中 2164A在系统中的连接 DRAM 2164A与系统连接的几点说明 芯片上的每个单元中只存放1位二进制码每字节数据分别存放在8片芯片中 系统的每一次访存操作需同时访问8片2164A芯片该8片芯片必须具有完全相同的地址 芯片的地址选择是按行、列分时传送由系统的低8位送出行地址高8位送出列地址。 结论 每8片2164A构成一个存储体单独一片则无意义 每个存储体内的所有芯片具有相同的地址片内地址应同时被选中仅有数据信号由各片分别引出。 5.3 只读存储器ROM EPROM紫外线擦除、EEPROM电擦除、Flash 5.3.1 EPROM 特点可多次编程写入掉点后内容不丢失内容擦除需要“紫外线” 典型芯片EPROM 2764 8K×8bit芯片 地址信号A0 —— A12 数据信号D0 —— D7 输出信号OE非 片选信号CE非 编程脉冲输入PGM非 其引脚与SRAM 6264完全兼容. 2764的工作方式 EPROM 2764的应用 5.3.2 EEPROM 特点可在线编程写入掉点后内容不丢失电擦除 工作方式 数据读出#CE0、#OE0、#WE1 编程写入 字节写入每一次BUSY正脉冲写入1B 自动页写入每一次BUSY正脉冲写入 32B 擦除 字节擦除一次擦除一个字节写入FFH 片擦除一次擦除整片保持10ms 典型芯片 EEPROM 98C64 8K×8bit芯片 13根地址线A0 —— A12 8位数据线D0 —— D7 输出允许信号OE 写允许信号WE 选片信号CE 状态输出端READY / BUSY。 EEPROM 的应用 可通过程序实现对芯片的读写  仅当READY / BUSY1时才能进行“写”操作  “写”操作的方法 ① 根据参数定时延时写入。100微秒为均值一般120%。 ② 通过判断查询READY / BUSY端的状态进行写入  仅当该端为高电平时才可写入下一个字节。 ③ 中断控制方式  当READY / BUSY端为高电平时该高电平可作为中断请求信号 例题 将一片98C64A接到系统总线上使其地址范围在3E000H 3FFFFH之间。并编程序将芯片的所有存储单元写入66H。 硬件设计 软件设计 定时方式进行写入 STARTMOV AX3E00H MOV DSAX MOV SI0000H MOV CX8192 AGAINMOV AL66H MOV [SI]AL CALL TDELAY INC SI LOOP AGAIN HLT 5.3.2.1 闪速存储器Flash 特点属于EEPROM类型芯片 通过写入命令的方式来控制芯片的工作方式 通过读状态寄存器的值获取芯片的当前工作状态 与SRAM的区别 在进行写入和擦除的时候需要12V编程电压 与普通的EEPROM相比的区别 通过读状态寄存器的内容确定是否可以继续写入 提高命令字的方式控制芯片处于何种工作模式 工作方式 5.4 存储器扩展技术内存储器设计 存储器扩展 多片存储芯片拼在一起构成一个我们要求的内存空间。 各存储芯片在整个内存中占据不同地址范围。 任一时刻仅有1片或1组被选中 存储器芯片的存储容量等于 单元数字节数×每单元的位数字长 存储器扩展方法 位扩展扩展字长 字扩展扩展单元数 字位扩展既扩展字长又扩展单元数 解释 位扩展每单元字长的扩展 实例 DRAM 2164A 64K×1bit 采用行地址和列地址来确定一 个单元  行列地址分时传送共用一组 地址信号线  地址信号线的数量仅为同等容量 SRAM芯片的一半。 使用:8片2164A构成64KB存储体 这里的8片2164A必须具有完全相同的地址必须同时被选中或同时不被选中 方法 位扩展的连线特点 将每片的地址线、控制线并联数据线分别引出。 效果 存储器的单元数不变位数增加。 注意确保所有芯片具有完全相同的地址范围。 字扩展 芯片中每个单元的字长满足但单元数不满足 原则 每个芯片的地址线、数据线、控制线并联 片选端分别引出使得每个芯片有不同的地址范围。 注意确保所有芯片具有完全不同的地址范围 例题 用SRAM 62648K*8bit芯片构成容量为32KB的存储器 存储器的地址范围为 20000H27FFFH 设计 由地址范围得 需4片6264芯片 存储器地址范围 00100000000000000000~00100111111111111111 字位扩展 单元数及每单元字长均不满足要求 设计过程 根据内存容量及芯片容量确定所需存储芯片数 进行位扩展以满足字长要求 进行字扩展以满足容量要求。 若已有存储芯片的容量为L×K要构成容量为M ×N的存储器需要的芯片数为 M / L ×N / K 例题 首先进行位扩展 用8片芯片构成32KB存储体 利用A0~A14寻址存储体内32K个单元 所有控制信号线和地址信号线并联引出 再进行字扩展 用8个32KB存储体构成256KB存储器 寻址8个存储体至少需要3位高位地址信号 5.5 高速缓存了解 5.5.1 Cache 的基本概念 Cache高速缓存是一种位于 CPU 与主存RAM之间的高速存储器专门用来缓解两者之间访问速度差异的问题。它保存了CPU 最近访问或即将访问的数据块以减少访问主存的次数从而提高系统整体性能。 5.5.2 设置 Cache 的理由 CPU 与主存速度差距大 当前 CPU 的处理速度远高于内存访问速度若每次都访问主存将极大浪费 CPU 运算能力。 高速存储器价格昂贵 将高速存储器设置为主存会极大提高成本因此采用容量小、速度快的 Cache 是权衡成本与性能的优化方案。 5.5. 3 程序的局部性原理 Cache 的设置基于程序执行时的局部性原理分为以下两种类型 时间局部性Temporal Locality 最近访问的数据项可能在不久的将来被再次访问。 如循环体内变量、多次调用的函数等。 空间局部性Spatial Locality 被访问的数据项其邻近地址的数据很可能在短时间内也会被访问。 如数组访问、顺序执行指令等。 5.5.4 Cache 的工作原理 主存与 Cache 区划分 主存与 Cache 被划分为固定大小的块Block如每块 64 字节 块与块之间存在映射关系。 访问流程 当 CPU 请求某地址的数据时优先查询 Cache 若 Cache 中命中Hit直接返回 若 未命中Miss则访问主存并将对应数据块调入 Cache 如果 Cache 满了则按某种替换策略如 LRU、FIFO淘汰某一块腾出空间。 地址映射方式 直接映射Direct Mapping 全相联映射Fully Associative Mapping 组相联映射Set-Associative Mapping 5.5. 5 Cache 的命中率与平均存取速度 命中率Hit RatioCPU 所有访问中访问命中的 Cache 次数所占比例。 命中率命中次数总访问次数 平均存取时间T_avg 命中率主存命中率 其中 TCacheCache 存取时间 T主存主存RAM存取时间 Cache与主存容量比 通常为 1 : 128即主存是 Cache 的 128 倍 5.5.6 Cache 的读写策略 Cache 的读写策略会直接影响数据一致性和性能常见策略包括 1. 读操作策略 贯穿读出式Look-through Read CPU 读数据时先访问 Cache若未命中则继续访问主存。 旁路读出式Look-aside Read CPU 并行查询 Cache 和主存哪个先返回就使用哪个。 2. 写操作策略 写穿式Write-through 数据同时写入 Cache 和主存保持一致性但写入速度慢。 回写式Write-back 仅写入 Cache延迟写入主存只有当该块被替换时才更新主存效率高但一致性较难维护。 5.5.7 Cache 的分级体系结构 为了进一步提升访问速度与系统性能现代计算机通常设置多级 Cache。 1. 一级缓存L1 Cache 位于 CPU 内部直接与运算核心相连 访问速度最快但容量较小如 32KB128KB 通常分为指令缓存L1I*和*数据缓存L1D。 2. 二级缓存L2 Cache 可位于 CPU 内部或外部容量较 L1 大如 256KB1MB 比 L1 慢但比主存快 作为 L1 的后备缓存。 3. 三级缓存L3 Cache部分高性能处理器中有 共享于多个内核之间 容量较大数 MB 到几十 MB速度低于 L2 提高多核协同效率。 5.6 主要掌握知识点 译码电路设计 半导体存储器系统设计 SRAM存储器系统设计 EPROM和EEPROM与系统的连接及其读操作或读、写操作。 注意 5.7 重点题型 接续上文微机原理与接口技术期末冲刺复习资料五-CSDN博客 点关注不迷路哟。你的点赞、收藏一键三连是我持续更新的动力哟 持续关注我~~~主页查看更多内容哟希望你能在这里有所收获。点关注不迷路哈哈哈~~~ 主页一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?spm1011.2415.3001.5343 目录 7. 串行并行数字接口 7.1 并行通信与串行通信 7.1.1 并行通信 7.1.2 串行通信 7.2 可编程定时器8253 7.3 可编程并行接口8255 7.4 章末小结 8.模拟量的输入输出 8.1 模拟量的输入输出通道 8.1.1 模拟量的输入通道 8.1.2 模拟量的输出通道 8.2 数/模D/A变换器 8.2.1 D/A变换器的工作原理 8.2.2 主要技术指标 8.2.3 典型D/A转换器DAC0832 8.2.4 D/A转换器的应用 8.3 模/数A/D转换器 8.3.1 A/D转换器类型 8.3.2 典型的A/D转换器芯片ADC0809 7. 串行并行数字接口 主要内容 了解并行通信和串行通信的一般概念 掌握两种可编程并行接口芯片的应用 接口电路的分类输入、输出并行、串行数字、模拟。 接口芯片内部包括总线的连接、设备的连接。 数据、控制、地址信号线 7.1 并行通信与串行通信 7.1.1 并行通信 1. 特点 两设备之间有多个数据位传输以字节或字 主要适用于近距离通信计算机内的总线结构 传输速度快处理简单适合近距离传送传送的信息没有固定格式的要求 7.1.2 串行通信 串行数据传送方式:1位1位的通过同一条通信线传送 先由发送设备将几位并行数据经并--串转换硬件转换成串行方式再逐位传输到接收设备并在接收端将数据从串行方式重新转换成并行方式。 数据传送方式双工、半双工、单工 通信方式同步通信和异步通信 数据校验 调制与解调 同步通信和异步通信 串行通信的数据校验 串行通信的接口标准 7.2 可编程定时器8253 掌握 引线功能及计数启动方法 6种工作方式及其输出波形 应用: 芯片与系统的连接 芯片的初始化编程 计数和定时 时钟脉冲是他的工作基准 计数加法和减法计数 定时计数脉冲为周期恒定时定时的时间长度取决于时钟脉冲的周期及脉冲数 8253芯片特点 可编程的逻辑器件 非通道型的接口具有特定功能 可实现计数和定时 工作方式 减法计数 计数值减为0时输出相应控制信号 输出控制信号的形式可通过软件设置 1.外部引线及内部设备: 由上图可知内部样有3个定时器和计数器 内部结构特点 四个端口地址的编码是 A1 A0 0 0 CNT0 0 1 CNT1 1 0 CNT2 1 1 控制寄存器 结构特点 内部的3个计数器均为减法计数器。 每个计数器含有16位的计数寄存器和16位的初值寄存器这两个寄存器都含有相同的端口地址。 控制寄存器8位而且只能写入不能读出存放控制命令字 2.计数启动方式: 由GATE端口的信号形式决定 高电平——软件启动方式 上升沿——硬件启动方式 3.工作方式 8253有6种工作方式不同方式有不同的计数启动方式和输出波形 方式0 软件启动不自动重复计数计数结束后输出高电平 注意 整个计数过程中 GATE信号保持高电平若GATE变低则停止计数直到GATE变高后继续。 若计数过程中修改计数初值新的初值立即生效。 方式1 硬件启动不自动重复计数计数开始输出低电平结束后又变成高电平。 注意 ① 计数一旦启动GATE端既使变低也不会影响计数。 ② 可重复触发。当计数到0后不用再次写入计数初值只要再次出现GATE上升沿即可产生一个同样宽度的负脉冲 ③ 写入新的初值由GATE上升沿触发新的计数 方式2分频器 软、硬件启动自动重复计数计数到最后一个脉冲时输出低电平 注意 ①可输出频率为1/NCLK 脉冲频率的连续方波信号 ②每1个OUT端脉冲包含N-1*CLK的正脉冲1CLK的负脉冲 ③计数过程中若GATE变低则计数停止持续输出高电平等到GATE变高后重新触发从初值计数 ④新的初值下一轮有效 方式3方波发生器 软、硬件启动自动重复计数。输出对称方波 注意 ① 若N为偶数输出频率为1/NCLK频率的连续对称方波信号。 ② 若N为奇数输出波形为 (Nl)/2CLK 周期正脉冲(N-1)/2CLK 负脉冲。 方式4软件触发选通 软件启动不自动重复计数。计数结束输出一个CLK宽度的低电平。 方式5硬件触发选通 硬件启动不自动重复计数。波形与方式4相同。 8253工作方式小结 (1) 方式2(分频器)、方式4(软件触发选通)和方式5(硬件触发选通)它们的输出波形相同都是宽度为1个CLK周期的负脉冲。区别是方式2是自动重复工作的而方式4需由软件(设置计数值)触发启动方式5需由门控GATE信号触发启动。 (2) 方式5(硬件触发选通)与方式1(硬件触发单稳)触发信号相同但输出波形不同——方式1输出为宽度是N个CLK周期的负脉冲(计数过程中输出为低)而方式5输出为宽度是1个CLK周期的负脉冲(计数过程中输出为高)。 (3) 6种工作方式中的任一种方式只有在写入计数初值后才能开始计数。方式0、2、3、4都是写入计数初值后计数过程就开始了。而方式1和方式5在写入计数初值后需由外部GATE信号的触发启动才能开始计数过程。 (4) 6种工作方式中只有方式2(分频器)和方式3(方波发生器)为自动重复工作方式其他4种方式都是一次性计数要继续工作需要重新启动。 一般来说方式0、1、4、5选作计数器用输出1个电平或1个脉冲方式2、3选作定时器用输出周期脉冲或周期方波。 4. 8253初始化 需要两个写脉冲——意味着是两条OUT指令 第一个写脉冲是写入控制字 第二个写脉冲是写入计数初值 向可编程芯片内写入控制字和计数初值的工作称为对可编程芯片的初始化 8253 控制字格式 5. 8253的应用 硬件设计 与系统的连接 软件设计 初始化程序设计 写入控制字 置计数初值 与系统的连接 注意点 每一次启动计数需有两次写操作 写控制字 写计数器初值 如果初值为8位字长则一次写入若初值为16位字长则需两次写入每次都是用AL。 每个计数器的控制命令字均送入控制寄存器。 各计数器的计数初值送到该计数器的计数寄存器及初值寄存器。 初始化程序流程 当有两个以上计数器被应用时的初始化程序设计流程 方法一以计数器为单位逐个进行初始化。单个一起 方法二先写所有计数器的方式字再装计数值。分开写入 6. 8253接口小结  可编程8bit并行接口  通过软件初始化控制其工作方式和计数/ 定时时长  实现对外部设备的定时/计数控制  减法计数器 7.3 可编程并行接口8255 特点 通道型接口 主要用于数据的输入或输出 含3个独立的8位并行输入/输出端口 2个为8位端口PAPB 1个可拆分为两个4位端口PC口 各端口均具有数据的控制和锁存能力 既可作为输入端口也可以作输出端口。 可通过编程设置各端口工作在某一确定状态下。 引线 连接系统端的主要引线 连接外设端的引脚 8255和系统的连接示意图 工作方式 基本输入、输出方式方式0 选通方式方式1 双向传送方式方式2 方式0 相当于三个独立的8位简单接口 各端口既可设置为输入口也可设置为输出口但不能同时实现输入及输出 C端口可以是一个8位的简单接口也可以分为两个独立的4位端口 常用于连接简单外设适于无条件或查询方式无需联络信号 应用 习惯上 A端口和B端口作为8位数据的输入或输出口 C口的某些位作为状态输入 注 若使C端口低4位中某一位作为输入口则低4位中其他位都应作为输入口。同时可设高4位作为输出。 方式0与8255的连接示意图 方式1选通方式 利用一组选通控制信号控制A端口和B端口的数据输入输出 A口、B口作输入或输出口C口的部分位用作选通控制信号 A口、B口在作为输入和输出时的选通信号不同 PA,PB端口工作方式1做输出口 #OBF、#ACK、INTR、INTE PA,PB端口工作方式1做输入口 #STB、IBF、INTR、INTE 应用 方式1主要用于中断控制方式下的输入输出 仅A端口和B端口可工作于方式1 C口的8位除用作选通信号外其余位可工作于方式0下作为输入或输出口。 方式2不需要通过软件命令 双向输入输出方式 可以既作为输入口又作为输出口。 只有A端口可工作在方式2下。C端口的5位作为选通端 应用 可使A端口作为双向端口所有 用于中断控制方式 当A口工作于方式2时 B口可工作于方式1 此时C口的所有位都用作选通控制信号的输入输出 B口也可工作于方式0 此时C口的剩余3位也可工作于方式0 8255三种工作方式小结 A、B、C三个端口都可以工作于方式0以查询或无条件传送方式实现数据的输入/输出 A、B端口可以工作于方式1以中断控制方式实现数据的输入/输出 A端口可以工作于方式2以中断控制方式并通过时序控制数据的输入/输出。 方式控制字及位控制字 方式控制字 用于确定3个端口的工作方式及数据传送方向 位控制字 仅用于C端口 可设置C口某位的初始状态为高电平或低电平 当其工作于方式0下且作为输出口时一般需要对作为输出的位设置初始状态即初始化 8255的方式控制字和位控制字 8255芯片的应用 8255应用要求 主要引线功能及结构 3种工作方式及其特点 应用: 芯片与系统的连接 芯片的初始化编程 数据输入/输出控制程序设计 7.4 章末小结 了解什么是可编程 可编程定时/计数器 启动方式 不同工作方式下的输出波形特点 初始化编程 与系统的连接 1到4需要选择相应的工作方式 可编程并行数字接口 不同工作方式的适应场合 与系统的连接 初始化编程 相关控制程序 最终要求就是利用可编程定时计数器8253和可编程并行接口8255设计需要的I/O接口控制系统。 8.模拟量的输入输出 主要内容 模拟量输入输出通道的组成 D/A转换器的工作原理、连接及编程 A/D转换器的工作原理、连接及编程 8.1 模拟量的输入输出通道 8.1.1 模拟量的输入通道 传感器Transducer 非电量→电压、电流 现在集成更多器件可以直接输出数字信号 变送器Transformer 转换成标准、统一的电信号 信号处理Signal Processing 放大、整形、滤波 多路转换开关Multiplexer 多选一多路模拟开关 采样保持电路Sample HolderS/H 保证变换时信号恒定不变 A/D变换器A/D Converter 模拟量转换为数字量是模拟量输入通道的中心环节 8.1.2 模拟量的输出通道 D/A变换器D/A Converter 数字量转换为模拟量核心部件。 要保证转换过程中数字量保持不变所以在系统和D/A之间加上锁存器保持数字量稳定。 低通滤波 平滑输出波形 放大驱动 提供足够的驱动电压电流 8.2 数/模D/A变换器 掌握 D/A变换器的工作原理 D/A变换器的主要技术指标 DAC0832的三种工作模式 DAC0832的应用 8.2.1 D/A变换器的工作原理 组成 模拟开关 电阻网络 运算放大器 基本变换原理 1.当运放的放大倍数足够大时输出电压VO与输入电压Vin的关系为 2.若输入端有n个支路, 则输出电压VO与输入电压Vi的关系为 n8的权电阻网络 设Si1表示Si合上Si0表示Si断开则 实际的D/A转换器——R-2R梯形电阻网络 基本变换原理 如果用8位二进制代码来控制图中的S1S8(Di1时Si闭合Di0时Si断开)则不同的二进制代码就对应不同输出电压VO 当代码在0FFH之间变化时VO相应地 在0(255/256)Vref之间变化 为控制电阻网络各支路电阻值的精度实际的D/A转换器采用R-2R梯形电阻网络它只用两种阻值的电阻(R和2R)。 例题 某8位D/A转换器输出电压为0V--5V。当输入的数字量为40H时 其对应的输出电压分别是多少? 解当输出电压为0V时对应的数字量输入为00H;输出为5V时输入为FFH。 所以当输入的数字量为40H时其对应的输出电压分别约为2的6次方*(5/255)1.255V。 注意为什么是2的6次方 其实就是单纯用这个表示的40H对应的10进制的数值。 8.2.2 主要技术指标 分辨率Resolution 输入的二进制数每±1个最低有效位 (LSB)使输出变化的程度。 分辨率表示方法 可用输入数字量的位数来表示如8位、10位等 也可用一个LSB Least Significant Bit使输出变化的程度来表示。 举例 一个满量程为5V的10位D/A变换器±1 LSB的变化所引起输出模拟量的变化为 5/(2的10次方-1) 5/1023 0.004888V 4.888mV 转换精度误差 实际输出值与理论值之间的最大偏差 影响因素 分辩率 电源波动 温度变化等等。 8.2.3 典型D/A转换器DAC0832 特点 8位电流输出型D/A转换器 T型电阻网络 差动输出 主要引脚功能 DAC0832的内部结构 工作模式 单缓冲模式 使输入锁存器或DAC寄存器二者之一处于直通即芯片只占用一个端口地址。 CPU只需一次写入即开始转换。写入数据的程序为 MOV DXPORT MOV ALDATA OUT DXAL 单缓冲模式例 端口地址0278H 最大输出值5V对应数字量FFH 最小输出值0V对应数字量00H 双缓冲模式(标准模式) 输入寄存器和DAC寄存器均需控制。 当输入寄存器控制信号有效时数据写入输入寄存器中并同时位于DAC寄存器的输入端 在DAC寄存器控制信号有效时数据写入DAC寄存器并启动变换。 此时芯片占用两个端口地址。 优点 数据接收与D/A转换可异步进行 可实现多个DAC同步转换输出。 分时写入、同步转换 双缓冲模式分时输入同步转换例 双缓冲模式的数据写入程序 无缓冲模式 使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接需外加并行接口(如74LS373、8255等)。 8.2.4 D/A转换器的应用 8.3 模/数A/D转换器 要点 A/D转换器的一般工作原理 A/D转换器的主要技术指标 A/D转换器的应用 与系统的连接 数据采集程序的编写 定义将连续变换的模拟信号转化成数字信号的装置 8.3.1 A/D转换器类型 计数型A/D转换器 ----速度慢、价格低适用于慢速系统 双积分型A/D转换器 ----分辩率高、抗干扰性好、转换速度慢适用于中速系统 逐位反馈型A/D转换器 ----转换精度高、速度快、抗干扰性差。应用范围更广。 A/D转换器的工作原理: 逐位反馈型A/D转换器 类似天平称重量时的尝试法逐步用砝码的累积重量去逼近被称物体 例 主要技术指标 转换精度 量化误差分辨率 非线性误差 其它误差 量化间隔 量化误差分辨率 绝对量化误差 绝对量化误差1/2 △ 相对量化误差 相对量化误差1/2× △ × 1% 例 设满量程电压10VA/D变换器位数10位则 绝对量化误差 1/2*10/(2的10次方-1≈ 10/2的11次方 4.88mV 相对量化误差 ≈ 10/2的11次方 *1% 0.049% 其他指标 转换时间 实现一次转换需要的时间。精度越高字长越长转换速度越慢。 动态范围量程 允许转换的电压范围 如0V---5V -5V---5V 动态范围5V 10V 8.3.2 典型的A/D转换器芯片ADC0809 特点 8通道8路输入 8位字长 逐位逼近型 转换时间100μs 内置三态输出缓冲器 主要引脚功能 D7D0输出数据线三态 IN0IN78通道路模拟输入 ADDA、ADDB、ADDC通道地址 ALE通道地址锁存 START启动转换 EOC转换结束状态输出 OE输出允许打开输出三态门 CLK时钟输入10KHz1.2MHz 内部结构 工作时序 ADC0809的工作过程 由时序图知ADC0809的工作过程如下 送通道地址以选择要转换的模拟输入 锁存通道地址到内部地址锁存器 启动A/D变换 判断转换是否结束 读转换结果 判断转换结束的方法 软件延时等待比如延时120us 此时不用EOC信号CPU效率最低 软件查询EOC状态。 把EOC作为中断申请信号接到中断控制器的IN端。 在中断服务程序中读入转换结果效率较高 ADC0809的应用 硬件连接 通常情况下A/D转换器需要经数字接口与系统连接 数据采集程序设计 从数据采集到存储 ADC0809与系统的连接 一般需通过数字接口与系统连接 获取转换结果及状态信息EOC需通过输入接口 选择通道地址、输出地址锁存ALE及启动变换START信号需通过输出接口 由于ALE和START信号的特点通常将两者并联后连接到数字输出接口。 当仅采集单路模拟量时 此时通道可由硬件确定系统无须输出通道地址则也无须地址锁存。 当循环采集多路模拟量时 系统须通过软件方式循环输出不同的通道地址及相应的地址锁存信号。 例 单路模拟量输入 多路模拟量输入
http://www.hkea.cn/news/14348880/

相关文章:

  • 社交网站开发难度公司域名是什么意思
  • 攀枝花做网站百度搜索引擎seo
  • 家装设计师网站单页面网站怎么做seo
  • 网站 刷流量短视频运营培训学校
  • 佛山做网站建设公司如何选择网站公司
  • 郑州网站优化seo怎么做游戏推广赚钱
  • 河池公司做网站html网页背景颜色代码
  • 一个网址建多个网站wordpress 报名
  • 织梦后台点击网站主页网页制作三剑客包括
  • 茗哥网站建设网站开发范例文档
  • 商场网站设计天眼查免费查询
  • 做公司网站成本长春网站制作教程
  • 有什么好黄页网站中山网站建设文化平台
  • 网站建设广金手指六六十四wordpress主页修改主页
  • 兰州做网站客户手机兼职赚钱平台一单一结
  • 一个服务器做多个网站天津建设工程信息网 塘沽一中
  • 江门移动网站建设多少钱网站建设计划表模板下载
  • 简述建设企业网站可信度的具体策略做网站卖机器怎么弄
  • 专业seo网站优化推广排名教程建一个网站素材哪里来
  • 婚礼网站怎么做网站英文版是怎么做的
  • 网站开发公司 杭州网站专题页是什么
  • e龙岩网站做课件好用的网站
  • 巢湖市网站建设优化广告营销平台
  • 上海网站设计公司联系方式精美旅游网站模板
  • 紫金优化网站制作wordpress导航栏编辑
  • 网站建设的意见征集遵义制作公司网站的公司
  • 招聘网站做招聘顾问房地产管理网站
  • 物流网站首页图片渑池县建设局网站
  • 网站设计常用软件2021好心人给个开车的网站
  • 连锁酒店的网站建设上海网站建设的企