




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微处理器系统原理与嵌入式系统设计微处理器系统原理与嵌入式系统设计 第一章习题解答第一章习题解答 1 1 什什么么是是程程序序存存储储式式计计算算机机 程序存储式计算机 指采用存储程序原理工作的计算机 存储程序原理又称 冯 诺依曼原理 其核心思想包括 程序由指令组成 并和数据一起存放在存储器中 计算机启动后 能自动地按照程序指令的逻辑顺序逐条把指令从存储器中读 出来 自动完成由程序所描述的处理工作 1 2 通通用用计计算算机机的的几几个个主主要要部部件件是是什什么么 主机 CPU 主板 内存 外设 硬盘 光驱 显示器 显卡 键盘 鼠标 声卡 音箱 1 3 以以集集成成电电路路级级别别而而言言 计计算算机机系系统统的的三三个个主主要要组组成成部部分分是是什什么么 中央处理器 存储器芯片 总线接口芯片 1 4 阐阐述述摩摩尔尔定定律律 每 18 个月 芯片的晶体管密度提高一倍 运算性能提高一倍 而价格下降一半 1 5 讨讨论论 摩摩尔尔定定律律有有什什么么限限制制 可可以以使使用用哪哪些些方方式式克克服服这这些些限限制制 摩摩尔尔定定 律律还还会会持持续续多多久久 在在摩摩尔尔定定律律之之后后电电路路将将如如何何演演化化 摩尔定律不能逾越的四个鸿沟 基本大小的限制 散热 电流泄露 热噪 具体 问题如 晶体管体积继续缩小的物理极 限 高主频导致的高温 解决办法 采用纳米材料 变相材料等取代硅 光学互联 3D 加速器技术 多 内核 为了降低功耗与制造成本 深度集成仍是目前半导体行业努力的方向 但这不 可能永无止 因为工艺再先进也不可能将 半导体做的比原子更小 用作绝缘材料的二 氧化硅 已逼近极限 如继续缩小将导致漏电 散热等物理瓶颈 数量集成趋势终有 终结的一天 一旦芯片上线条宽度达到纳米数量级时 相当于只有几个分子的大小 这 种情况下材料的物理 化学性能将发生质的变化 致使采用现行工艺的半导体器件不能 正常工作 摩尔定律也就要走到它的尽头了 业界专家预计 芯片性能的增长速度将在 今后几年趋缓 一般认为摩尔定律能再适用 10 年左右 其制约的因素一是技术 二是 经济 1 6 试试以以实实例例说说明明计计算算机机系系统统结结构构 计计算算机机组组成成与与计计算算机机实实现现之之间间的的相相互互关关 系系与与相相互互影影响响 计算机系统结构主要是指程序员关心的计算机概念结构与功能特性 而计算机组成 原理则偏重从硬件角度关注物理机器的组织 更底层的器件技术和微组装技术则称为计 算机实现 例如 确定指令集中是否有乘法指令属于计算机体系结构的内容 而乘法指 令是由专门的乘法器实现还是用加法器实现则属于计算机组成原理的内容 乘法 加法 器底层的物理器件类型及微组装技术则属于计算机实现的内容 同一计算机制造商提供的不同系列的计算机通常采用不同的结构 而同系列的计算 机则具有相同的结构和不同的组织 因此同一系列的不同型号计算机价格和性能特点也 不相同 如某系列机都支持相同的指令系统 但其中的低档机可采用顺序方式对指令进 行分析 处理 而高档机则可采用流水或其它并行处理方式 或某系列机都支持相同的 数据形式 如 16 32 位的定点数 32 64 128 位的浮点数 但其中的低档机可采用采 用较窄的数据通路宽度 8 位或 16 位 而高档机则可采用较宽的数据通路宽度 32 位 另一方面 显然计算机现阶段能达到的实现技术会直接制约其可采用的系统结构和 组成方法 1 7 区区分分微微处处理理器器的的关关键键特特征征是是什什么么 微处理器可通过以下两个基本特征 来区分 字长 表示 CPU 一次传送或处理数据的最大二进制位数 通常与CPU 的 数据总线宽度 寄存器宽度以及 ALU 宽度一致 主频 通常以 MHz 表示 决定 CPU 内的最小时钟速率 从而决定处理器 每秒可执行的指令数目 1 8 某某测测试试程程序序在在一一个个 40 MHz 处处理理器器上上运运行行 其其目目标标代代码码有有 100 000 条条 指指令令 由由如如下下各各类类指指令令及及其其时时钟钟周周期期计计数数混混合合组组成成 试试确确定定这这个个程程序序的的有有效效C PI MIPS 的的值值和和执执行行时时间间 指 令 类 型指 令 计 数时钟周期计数 整数算术45 0001 数据传送32 0002 浮点数15 0002 控制传送80002 1 Cycles Per Instruction CPI 45000 100000 1 32000 100000 2 15000 100000 2 8000 100000 2 0 45 1 0 32 2 0 15 2 0 08 2 1 55 2 Million Instructions Per Second MIPS 40 1 55 25 8 3 执行时间执行时间 T 100000 1 55 1 40 106 15 5 4 10 3 3 875 10 3 s 3 875ms 1 9 存存储储器器分分层层结结构构是是如如何何提提高高性性能能的的 常用的存储设备或技术有很多 通常来说速度越快则每位价格越高 因此现代计算 机系统通常把不同容量 不同速度的存储设备按一定的层次结构组织起来 形成一个统 一的存储系统 以解决存储容量 存取速度和价格之间的矛盾 多层次存储系统要达到的目标是 整个存储系统速度接近M1 最靠近 CPU 的存 储层 而价格和容量接近 Mn 最远离 CPU 的存储层 这就要求越靠近 CPU 的存储 设备速度越快 当然每位价格也就越高 容量也就越小 由于绝大多数程序访问具有局 部性原理 因此可以把近期 CPU 需要使用的程序和数据放在尽可能靠近 CPU 的存储 器中 CPU 访问存储器时 首先是访问 M1 若 M1 命中 则直接存取 若 M1 失 效 则将 M2 中包含所需数据的块或页调入 M1 若在 M2 中也找不到 就访问 M3 依此类推 这样 CPU 对存储器的大部分访问操作都可以针对速度较快的存储层完成 整个系统的性能也就得到了提高 1 10 说说明明 RISC 架架构构与与 CISC 架架构构之之间间的的区区别别 RISC CISC 的一些看法误区 RISC 指指令令都都是是简简单单指指令令 LDREQ R0 R1 R2 LSR 16 指令的强大 一般的 CISC 处理器望尘莫及 RISC 的 简单 是指指令集的执行时间 指令长度 指令格式整齐划一 CISC 的的复复杂杂指指令令速速度度慢慢 执执行行效效率率很很低低 现代 CISC 处理器具有非常长的流水线 PIII 采用了 25 级的流水线 执行速度 快 但老的 CPU 执行速度可能较慢 但 RISC 不管是老的 CPU 还是新的 CPU 指令执行时间都是相同的 不需要在 对指令执行作出优化 RISCCISC 设计重点 降低指令执行的硬件复杂度 但对编译器有 更高的要求 侧重指令执行的硬件功能性 控制 器的硬件设计复杂 指令集 指令种类少 长度固定 且执行简单 可在 单时钟周期完成 指令复杂 长度通常不固定 执行 也需要多个周期 流水线 指令处理过程可被拆分成能够被流水线并行 执行的规则步骤 指令执行通常需要调用微程序 寄存器有更多的通用寄存器专用寄存器较多 load store 结构 为避免耗时的访存操作 把访存与数据处理 分开 处理器能够直接处理内存中的数据 RISC 处处理理器器比比 CISC 处处理理器器需需要要更更多多的的寄寄存存器器 这不是一个需求问题 而是一个实现问题 所以有的CISC 寄存器与 RISC 相当 一般情况 RISC 需要比较多的寄存器 RISC 都都有有流流水水线线 ARM2 没有采用流水线 微处理器系统原理与嵌入式系统设计 第三章习题解答 3 1 什什么么是是冯冯 诺诺伊伊曼曼计计算算机机结结构构 其其运运行行的的基基本本原原理理如如何何 冯 诺依曼计算机由运算器 控制器 存储器 输入设备和输出设备构成 采用二进制 表示信息 以存储器为中心 按存储程序原理工作 存储程序原理指编好的程序首先放入存储器 开始工作后 由控制器自动 高速依次 从存储器中取出指令并执行 3 2 微微处处理理器器的的体体系系结结构构可可以以分分为为几几种种 试试分分别别说说明明各各种种体体系系结结构构的的优优缺缺点点 类型优点缺点 随机逻辑针对指令硬件做了专门的优化 所用的逻 辑门数少 制造费用低 指令集设计与硬件电路设计紧密相 关 设计过程复杂 难以实现复杂 指令 设计难以重用 微码体系 结构 相比于硬件 微代码不容易出错 建立微 代码比较省时 改动微代码更为容易 CPU 版本升级简单 微代码的开销大于硬件实现 微控 制必须要比 CPU 运行速度更高 流水线体 系结构 并行的执行不同指令的不同阶段 提高了 指令的吞吐率 增强了处理器性能 处理器设计较为困难 在设计中需 要解决数多种冲突问题 超标量体 系结构 实现了真正的并行执行 让 MIPS 可以大 于时钟频率 更多的硬件资源 设计极其复杂 3 3 高高级级编编程程语语言言 汇汇编编语语言言以以及及机机器器语语言言之之间间有有哪哪些些不不同同 机器语言是直接用二进制代码表达的计算机语言 指令用 0 和 1 组成 并分成 若干段 各段的编码表示不同的含义 机器语言面向硬件 是唯一可以由硬件直接执行的 语言 汇编语言采用符号代替机器语言中的二进制码 用助记符 Mnemonic 代替操作码 用 地址符号 Symbol 或标号 Label 代替地址码 汇编语言与机器语言一一对应 因此不具有 移植性 但更易于读写和理解 汇编语言源程序需要汇编成机器语言才能交给硬件执行 高级编程语言语法和结构更类似普通英文 且由于远离对硬件的直接操作 因此移植 性较好 高级语言源程序需要编译 或解释 成机器语言才能交给硬件执行 3 5 什什么么是是计计算算功功能能指指令令 数数据据传传输输指指令令以以及及控控制制流流程程指指令令 计算功能指令 对数据进行处理完成算术运算或逻辑运算等的指令 数据传输指令 负责把数据 地址或立即数传送到寄存器 I O 端口或存储单元中 或者反方向传送的指令 控制流程指令 用来控制程序执行流程的指令 有测试 转移 跳转等子类 3 6 解解释释跳跳转转 分分支支 调调用用以以及及中中断断所所需需进进行行的的操操作作 跳转 根据 跳转 指令指计算目的地址 修改程序指针 分支 根据 分支 指令判断执行条件 计算跳转地址 修改程序指针 调用 保存断点 根据 调用 指令计算子程序入口地址 修改程序指针 执行完毕 后恢复断点 中断 保护断点及现场 查找中断向量表以确定中断程序入口地址 修改程序指针 执行完毕后恢复现场及断点 3 7 固固定定长长度度指指令令编编码码有有什什么么优优缺缺点点 可以简化硬件设计 减小指令译码的时间 但指令编码的效率不高 信息冗余度大 可扩展性差 3 8 在在处处理理器器工工作作频频率率 CPI 和和处处理理器器性性能能方方面面 哪哪些些因因素素会会增增加加流流水水线线深深度度 时钟周期越小 则要求组合电路的延迟越小 流水线级数越多 但过多的流水线无助 于处理器工作频率的提高 CPI 越大 为了提高运算效率则流水级数需求越多 处理器性能和流水线级数是一个动态平衡的关系 需要具体在设计流水线的同时考虑 冲突 3 9 一一个个时时钟钟频频率率为为 2 5 GHz 的的非非流流水水式式处处理理器器 其其平平均均 CPI 是是 4 此此处处理理器器的的升升级级 版版本本引引入入了了 5 级级流流水水 然然而而 由由于于如如锁锁存存延延迟迟这这样样的的流流水水线线内内部部延延迟迟 使使新新版版处处理理器器的的 时时钟钟频频率率必必须须降降低低到到 2 GHz 1 对对一一典典型型程程序序 新新版版所所实实现现的的加加速速比比是是多多少少 2 新新 旧旧两两版版处处理理器器的的 MIPS 各各是是多多少少 1 对于一个有 N 条指令的程序来说 非流水式处理器的总执行时间sNNT 99 0 106 1 105 2 4 5 级流水处理器的总执行时间sNNT 99 1 10 4 2 102 15 加速比 N 很大时加速比 3 2 4 2 3 1 0 N N T T 2 非流水式处理器 CPI 4 则其执行速度 2500MHz 4 625MIPS 5 级流水处理器 CPI 1 则其执行速度 2000 MHz 1 2000 MIPS 3 10 随随机机逻逻辑辑体体系系结结构构的的处处理理器器的的特特点点是是什什么么 详详细细说说明明各各部部件件的的作作用用 随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关 通过针对特定指令集进行 硬件的优化设计来得到逻辑门最小化的处理器 以此减小电路规模并降低制造费用 主要部件包括 产生程序地址的程序计数器 存储指令的指令寄存器 解释指令的控 制逻辑 存放数据的通用寄存器堆 以及执行指令的 ALU 等几个主要部分构成 3 11 分分别别详详细细说说明明采采用用可可变变时时钟钟周周期期与与多多时时钟钟周周期期改改进进随随机机逻逻辑辑体体系系结结构构的的原原理理 CPU 内部时序信号的定时方式可以分成同步控制 异步控制 联合控制三种方式 其中同步控制指在任何情况下 所有指令在执行时所需的机器周期数和时钟周期数都 固定不变 同步控制的一种实现方式就是可变时钟周期 指 CPU 根据当前指令的操作特性 调整时钟周期 将大多数指令操作安排在一个较短的机器周期内完成 对某些复杂操作 则采取延长机器周期的办法来解决 而异步控制的一种实现方式就是多时钟周期 指时钟周期不变 但 CPU 每条指令的 执行周期可由多少不等的机器周期数组成 3 12 什什么么是是微微代代码码体体系系结结构构 微微指指令令的的作作用用是是什什么么 在微码结构中 控制单元的输入和输出之间被视为一个内存系统 控制信号存放在一 个微程序内存中 指令执行过程中的每一个时钟周期 处理器从微程序内存中读取一个控 制字作为指令执行的控制信号并输出 微指令只实现必要的基本操作 可以直接被硬件执行 通过编写由微指令构成的微代 码 可以实现复杂的指令功能 微指令使处理器硬件设计与指令集设计相分离 有助于指 令集的修改与升级 并有助于实现复杂的指令 3 13 微微码码体体系系结结构构与与随随机机逻逻辑辑体体系系结结构构有有什什么么区区别别 1 指令集的改变导致不同的硬件设计开销 在设计随机逻辑结构时 指令集和硬件必须同步设计和优化 因此设计随机逻辑的结 构比设计微码结构复杂得多 而且硬件和指令集二者中任意一个变化 就会导致另外一个 变化 在微码结构中 指令设计通过为微码 ROM 编写微码程序来实现的 指令集的设计并 不直接影响现有的硬件设计 因此 一旦修改了指令集 并不需要重新设计新的硬件 2 从性能上比较 随机逻辑在指令集和硬件设计上都进行了优化 因此在二者采用相同指令集时随机逻 辑结构要更快一些 但微码结构可以实现更复杂指令集 因此可以用较少的指令完成复杂 的功能 尤其在存储器速度受限时 微码结构性能更优 3 14 说说明明流流水水线线体体系系结结构构中中的的 4 个个阶阶段段的的操操作作 能能否否把把流流水水线线结结构构分分为为 5 阶阶段段 如如果果 可可能能 试试给给出出你你的的方方案案 流水线若分为四个阶段应包括 取指 译码 执行 数据回写 流水线若分为五个阶段应包括 取指 译码 执行 存储器操作 数据回写 3 15 什什么么是是超超标标量量体体系系结结构构 超标量是通过内置多条流水线或多个流水部件以实现多条指令的同时执行 其实质是 以空间换取时间 而超流水线是通过细化流水 提高主频 使得在一个机器周期内完成一步甚至多步操 作 其实质是以时间换取空间 3 16 指指令令的的乱乱序序执执行行可可以以带带来来什什么么好好处处 通过将指令执行顺序重新排序 让满足执行条件的指令尽早地执行 从而提高处理器 性能 指令的乱序执行可以减少流水线冲突 减轻流水操作时由于数据等待 控制等待 资 源冲突等中断时 其他无关指令也必须等待的问题 从而提高了流水线的效率 3 17 讨讨论论 假假设设处处理理器器速速度度和和主主存存储储器器时时延延之之间间的的差差距距不不断断增增大大 计计算算机机性性能能是是否否可可 能能决决定定于于存存储储器器访访问问时时间间 在在这这种种情情况况下下 哪哪些些微微处处理理器器架架构构特特性性会会提提高高处处理理器器性性能能 哪哪些些不不会会 如如果果计计算算机机具具有有一一个个比比现现在在快快100 倍倍的的处处理理器器 但但是是存存储储器器速速度度仅仅仅仅是是现现 在在存存储储器器的的两两倍倍 这这样样的的计计算算机机和和当当前前计计算算机机在在设设计计方方法法上上有有什什么么区区别别 可能 如果出现这种情况 采用微码结构 流水线结构以及超标量结构 一次取多条指令 都可以提高处理器性能 尤其是微码结构 而随机逻辑结构则不合适 如果出现一个比现在速度快 100 倍的处理器 而存储器速度仅快两倍 则设计计算机 体系结构时首先应该考虑如何尽量减少访问存储器的次数 微处理器系统原理与嵌入式系统设计 第四章习题解答 4 1 地地址址映映像像方方法法有有哪哪几几种种 它它们们各各有有什什么么优优缺缺点点 1 内存地址映射指内存虚拟地址空间到物理地址空间的转换 分页技术 特点是页的大小固定 优点是程序不必连续存放 因此没有外碎片 每个 内碎片不超过页大小 缺点是增加了硬件成本 如需要地址变换机构 和系统开销 如需 要好的调页算法 分段技术 特点是段的大小可变 优点是每个段按内容独立 因此可以分别编写和编 译 可以针对不同类型的段采取不同的保护 可以按段为单位来进行共享 包括通过动态 链接进行代码共享 缺点是会导致碎片 2 I O 地址映射指系统中 I O 端口的编址方式 独立编址技术 优点是系统中存储单元和 I O 端口的数量可达到最大 缺点是需专门 信号来指示系统地址线上出现的是存储单元地址还是端口地址 I O 指令的功能比较弱 存储器映像编址技术 优点是对端口操作和存储器单元操作完全一样 因此系统简单 并且对端口操作的指令比较多 缺点是 CPU 对存储单元和 I O 单口的实际寻址空间都小于 其最大寻址空间 4 2 EPROM 存存储储器器芯芯片片在在没没有有写写入入信信息息时时 各各个个单单元元的的内内容容是是什什么么 某某 SRAM 单单元元中中存存放放有有一一个个数数据据 如如 5AH CPU 将将它它读读取取后后 该该单单元元的的内内 容容是是什什么么 EPROM 存储器芯片在没有写入信息时 各个单元的内容均为全 1 SRAM 为非破坏性读出 因此该单元的内容在读取后保持不变 4 4 下下列列 ROM 芯芯片片各各需需要要多多少少个个地地址址输输入入端端 多多少少个个数数据据输输出出端端 1 16 4 位位 2 32 8 位位 3 256 4 位位 4 512 8 位位 1 16 4 位 24 4bit 因此有 4 个地址输入端和 4 个数据输出端 2 32 8 位 25 4bit 因此有 5 个地址输入端 8 个数据输出端 3 256 4 28 4bit 因此有 8 个地址输入端 4 个数据输出端 4 512 8 29 4bit 因此有 9 个地址输入端 8 个数据输出端 4 7 某某计计算算机机系系统统中中 ROM 为为 6K 最最后后一一个个单单元元的的地地址址为为 9BFFH RAM 为为 3K 已已知知其其地地址址为为连连续续的的 且且 ROM 在在前前 RAM 在在后后 求求该该存存储储器器的的首首 地地址址和和末末地地址址 该存储器的首地址 第一个 ROM 单元地址 为 9BFFH 6K 1 9C00H 1800H 8400H 该存储器末地址 最后一个 RAM 单元地址 为 9BFFH 3K 9BFFH 0C00H 0A7FFH 4 8 若若某某系系统统有有 16 条条地地址址线线 现现用用 SRAM 2114 1K 4 存存储储芯芯片片组组成成存存储储系系 统统 试试问问采采用用线线选选译译码码时时 系系统统的的存存储储容容量量最最大大为为多多少少 需需要要多多少少个个2114 存存储储芯芯片片 每片 2114 需要 10 条地址线 剩余 6 条地址线进行线选译码最多可以区分 6 组 12 个 芯片 这时系统的存储容量最大为 1K 4bit 2 片 组 6 组 6KB 4 10 设设有有一一个个具具有有 24 位位地地址址和和 8 位位字字长长的的存存储储器器 问问 1 该该存存储储器器能能够够存存储储多多少少字字节节的的信信息息 2 如如果果该该存存储储器器由由 4 M 1 位位的的 RAM 芯芯片片组组成成 需需要要多多少少片片 3 在在此此条条件件下下 若若数数据据总总线线为为 8 位位 需需要要多多少少位位地地址址线线用用于于芯芯片片选选择择 1 该存储器的存储容量 224 16M 字节 2 需要 4M 1 的芯片数目 片32 14 816 M M 3 用于片内字选的地址线应满足 222 4M 即字选需要 22 根地址线 片选需要 2 根地址线 4 13 试试为为某某 8 位位计计算算机机系系统统设设计计一一个个具具有有 8KB ROM 和和 40KB RAM 的的存存 储储器器 要要求求 ROM 用用 EPROM 芯芯片片 2732 组组成成 从从 0000H 地地址址开开始始 RAM 用用 SRAM 芯芯片片 6264 组组成成 从从 4000H 地地址址开开始始 查阅资料可知 2732 容量为 4K 8 字选线 12 根 6264 容量为 8K 8 字选线 13 根 因此本系统中所需芯片数目及各芯片地址范围应如下表所示 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 0 00 00 00 000000000000第一片 地址范围 0000H 0FFFH0 00 00 00 011111111111 0 00 00 01 100000000000 共需 2 片 2732 构成系 统 ROM 红色为片选 第二片 地址范围 1000H 1FFFFH0 00 00 01 111111111111 0 01 10 0000000000000 第一片 地址范围 4000H 5FFFH 0 01 10 0111111111111 0 01 11 1000000000000第二片 地址范围 6000H 7FFFFH0 01 11 1111111111111 1 10 00 0000000000000第三片 地址范围 8000H 9FFFFH1 10 00 0111111111111 1 10 01 1000000000000 第四片 地址范围 0A000H 0BFFFFH1 10 01 1111111111111 1 11 10 0000000000000 共需 5 片 6264 构成系 统 RAM 红色为片选 第五片 地址范围 0C000H 0DFFFFH 1 11 10 0111111111111 硬件连线方式之一如下图所示 说明 8 位微机系统地址线一般为 16 位 采用全译码方式时 系统的 A0 A12直接与 6264 的 13 根地址线相连 系统的 A0 A11直接与 2732 的 12 根地址线相连 片选信号由 74LS138 译码器产生 系统的 A15 A13作为译码器的输入 各芯片的数据总线 D0 D7 直接与系统的数据总线相连 各芯片的控制信号线 RD WR 直接与系统的控制信号线相连 4 18 某某计计算算机机系系统统有有 8 个个 I O 接接口口芯芯片片 每每个个接接口口芯芯片片占占用用 8 个个端端口口地地址址 若若起起始始地地址址为为 9000H 8 个个接接口口芯芯片片的的地地址址连连续续分分布布 用用 74LS138 作作为为译译码码 器器 试试画画出出端端口口译译码码电电路路图图 并并说说明明每每个个芯芯片片的的端端口口地地址址范范围围 A5 A4 A3 接口 2 接口 8 接口 1 Y7 Y1 Y0 A2 A0 C B A EN A15 A14 A7 A6 接口编号A15 A6A5A4A3A2 A0地址空间 1000000 1119000H 9007H 2001000 1119008H 900FH 3010000 1119010H 9017H 4 1001000000 011000 1119018H 901FH A14 CS 6 EN C 2 B 1 A 0 A0 A11 RD WR D0 D7 AB CS 2732 WR D0 7 AB CS 2732 WR D0 7 AB CS 6264 RD WR D0 7 A12 A13 A15 38 译译 码码 器器 A0 A12 RD WR AB CS 6264 RD WR D0 7 未用 1215 5100000 1119020H 9027H 6101000 1119028H 902FH 7110000 1119030H 9037H 8111000 1119038H 903FH 4 19 试试完完成成下下面面的的 RAM 系系统统扩扩充充图图 假假设设系系统统已已占占用用 0000 27FFH 段段内内 存存地地址址空空间间 并并拟拟将将后后面面的的连连续续地地址址空空间间分分配配给给该该扩扩充充RAM 译码器输出A15 A14A13A12A11A10 A0地址空间 Q00000000H 07FFH Q10010800H 0FFFH Q20101000H 17FFH Q30111800H 1FFFH Q4100 0000000000 1 1111111111 2000H 27FFH 02800H 2BFFH Q5101 1 000000000 11111111112C00H 2FFFH Q6110 Q7 00 111 4 22 假假设设一一台台打打印印机机的的数数据据输输出出 I O 端端口口地地址址为为 378H 状状态态端端口口地地址址为为 37 9H 状状态态字字节节的的 D0 位位为为状状态态位位 D0 0 表表示示打打印印数数据据缓缓冲冲区区空空 CPU 可可 以以向向它它输输出出新新数数据据 D0 1 表表示示打打印印数数据据缓缓冲冲区区满满 试试用用查查询询方方式式从从内内 存存中中以以 BUF 为为首首址址的的单单元元处处开开始始 将将连连续续 1 KB 的的数数据据传传送送给给打打印印机机 每每 次次传传送送一一个个字字节节 给给出出接接口口的的硬硬件件结结构构 说说明明数数据据交交换换流流程程 系统系统 A11 A12 A13 A14 A15 A10 打 印 机 数据锁存器 输出端口 状态缓冲器 输入端口 Busy 1bit 5V R Q D ACK 状态端口读选通 数据端口选通 1 初始化内存指针为 BUF 2 CPU 从 379H 端口读入状态字 并判断 D0 位 Busy 若 D0 1 则重复 1 3 若 D0 0 则 CPU 向 378H 数据端口写数据 同时 Busy 会变为高电平 并通知 外设数据已经准备好 4 外设在适当时候取走数据 并发送 ACK 信号将 D 触发器清零 使 Busy 0 准备下一次数据传送 5 修改内存指针 加 1 重复 2 至 5 1000 次 4 23 试试用用无无条条件件传传输输方方式式完完成成下下列列功功能能 将将首首地地址址为为40000H 的的内内存存单单元元中中 1K 个个字字数数据据从从端端口口 Output 处处输输出出 然然后后从从端端口口 Input 处处输输入入 2KB 数数据据到到 首首地地址址为为 50000H 的的内内存存单单元元中中 给给出出接接口口的的硬硬件件结结构构 说说明明数数据据交交换换流流程程 1 初始化内存指针为 40000H 2 CPU 取一个字节数据输出到 Output 端口 并修改内存指针 加 1 3 重复 2 2000 次 完成 2K 个字节的传送 4 初始化内存指针为 50000H 5 CPU 从 Input 端口读入一个字节数据写入内存单元 并修改内存指针 加 1 6 重复 5 2000 次 完成 2K 个字节的传送 数据输入 缓冲器端口 数据输出 缓冲器端口 端口译 码器 DB AB RD WR 4 28 在在某某系系统统中中 要要求求采采用用中中断断方方式式把把一一个个长长 100 字字节节的的数数据据块块从从首首址址为为 AREA 的的存存储储区区传传送送到到端端口口地地址址为为 37FH 的的接接口口上上 每每次次中中断断只只传传送送一一个个字字 节节 试试给给出出数数据据交交换换流流程程 主程序 1 初始化内存指针为 AREA 全局变量 2 初始化传送次数为 100 全局变量 3 允许传送中断 4 启动传送 从内存取一个字节输出到 37FH 端口 并修改内存指针 加 1 5 等待中断或处理其他事情 中断服务程序 1 修改传送次数 减 1 并判断是否为 0 若为 0 退出中断 结束传送 2 若未传送完 则修改内存指针 加 1 3 从内存取一个字节输出到 37FH 端口 4 返回 4 31 用用 8255A 作作为为 CPU 与与打打印印机机的的接接口口 8255A 的的 A 端端口口工工作作于于方方式式 0 输输 出出 C 端端口口工工作作于于方方式式 0 8255A 与与打打印印机机及及 CPU 的的连连线线如如下下图图所所示示 试试给给 出出查查询询方方式式下下将将 100 个个数数据据送送打打印印机机打打印印的的数数据据交交换换流流程程 1 CPU 读 C 口并判断 PC0 BUSY 电平 若 PC0 BUSY 1 则重复 1 2 若 PC0 BUSY 0 表示打印机空闲 CPU 即可向 A 口输出一个数据 3 CPU 写 C 口令 PC6 0 延时后再令 PC6 1 通知打印机数据已准备好 4 打印机取走数据后令 BUSY 0 5 重复 1 4 100 次 4 39 若若某某 8 位位 A D 转转换换器器的的满满度度输输入入电电压压为为 10 V 则则其其量量化化误误差差为为多多少少 V0196 0 12 10 2 1 8 5 1 ARM 支持 7 种运行模式 1 用户模式 2 快速中断模式 3 外部中断模式 4 管理模式 5 终止模式 6 未定义模式 7 系统模式 运行模式的切换由 CPSR 低 8 位中 M4 M0 控制位决定 1 10000 2 10001 3 10010 4 10011 5 10111 6 11011 7 11111 5 4 1 ARM 状态 处理器执行 32 位字时齐的 ARM 指令 2 Thumb 状态 处理器执行 16 位的 半字对齐的 Thumb 指令 切换 进入 Thumb 1 当操作数寄存器的状态位 最低位 为 1 时执行 BX 指令 2 当在 Thumb 发生异常 在异常处理后自动返回 Thumb 进入 ARM 1 当操作数寄存器的状态位为 0 时 执行 BX 指令 2 当进行异常处理时 把程序计数器的 PC 的值放入异常模式链接寄存器中 从异常向量地址开始执行程序 自动进入 ARM 状态 5 7 1 寄存器寻址 2 寄存器寻址 立即寻址 3 寄存器寻址 寄存器间接寻址 4 寄存器寻址 基址变址寻址 5 多寄存器寻址 堆栈寻址 6 寄存器寻址 寄存器寻址 寄存器移位寻址 7 多寄存器寻址 8 相对寻址 5 9 1 改为 ADD R1 R2 4 2 对 3 不用 4 立即数 02F100 不符合规定 5 既不是立即数 也不是寄存器数 6 目的寄存器 R2 存放不能与操作数寄存器相同 7 不能将立即数直接给 CPSR 8 正确 5 10 1 比较 R0 与 R1 中的值 更新标志位 无符号数 R0 无符号数 R1 C 置位 Z 清零 R1 R1 1 2 比较 R1 与 R2 中的值 更新标志位 若 N 置位 即 R1 b a a b else b b a return a AREA Sub1 CODE READONLY EXPORT Sub1 CMP R0 R1 R0 a R1 b MOVEQ PC LR 相等则返回 SUBGT R0 R0 R1 带符号数大于条件码为 GT 无符号数为 HI SUBLT R1 R1 R0 带符号数小于条件码为 LT 无符号数为 LO LDR R2 a R2 指向 a STRR0 R2 更新变量 a MOV PC LR 返回 END 6 4 宏宏的的定定义义如如下下面面的的代代码码所所示示 MICRO aa example bb cc dd aa CMP cc 0 B dd bb MEND 若若在在汇汇编编程程序序中中需需要要调调用用上上面面定定义义的的宏宏 example 则则其其程程序序代代码码如如下下 试试写写出出下下面面程程序序被被汇汇编编后后 宏宏展展开开后后的的结结果果 lable example next R3 NE next 宏展开后的代码为 label CMP R3 0 BNE next 6 6 编编写写一一个个程程序序段段 判判断断寄寄存存器器 R5 中中数数据据是是否否为为 12 18 22 29 45 或或 6 7 如如果果是是则则将将 R0 中中数数据据加加 1 否否则则将将 R0 设设置置为为 0 xF 并并把把这这个个程程序序段段定定 义义成成一一个个代代码码段段 AREA Comp CODE READONLY ENTRY LDR R0 dat 寄存器 R0 指向 DataT 表中的数据列表 dat MOVR1 6 dat 表中的数据个数 MOVR2 0 标志寄存器 R2 0 则 R5 中数据不在 dat 表中 SUBR0 R0 4 调整比较指针 Loop SUBR1 R1 1 调整比较次数 BEQHandle CMP R5 R0 4 BNELoop MOVEQ R2 1 Handle CMPR2 0 ADDNE R0 R0 1 MOVEQ R0 0 xF Stop AREA DataT DATA READWRITE datDCD 12 18 22 29 45 67 需要比较的数据列表 END 6 8 试试编编写写一一个个循循环环程程序序 实实现现从从 0 开开始始 10 个个偶偶数数的的累累加加 AREA Foud CODE READONLY ENTRY MOV R0 0 存放累加和 MOV R1 0 存放加数 MOVR2 9 累加次数 Loop ADD R1 R1 2 ADD R0 R0 R1 SUBR1 R1 1 调整累加次数 BNE Loop Stop END 6 12 试试把把如如下下 C 函函数数改改写写成成汇汇编编语语言言函函数数 1 int SubXY int x int y return x y 2 void SubXY int x int y int z z x y 1 AREA SubXY CODE READONLY EXPORT SubXY SUB R0 R0 R1 结果通过 R0 返回 MOV PC LR 返回 END 2 AREA SubXY CODE READONLY EXPORT SubXY SUB R2 R0 R1 LDRR3 z R3 执行变量 z STR R2 R3 更新变量 z MOV PC LR 返回 END 6 14 把把如如下下汇汇编编语语言言函函数数改改写写成成 C 函函数数 CMP R0 1 CMPNE R1 1 ADDEQ R2 R3 R4 void mydo int a int b int c int d int e R0 a R1 b R2 c R3 d R4 e if a 1 if b 1 c d e 6 15 阅阅读读程程序序 说说明明如如下下程程序序完完成成的的功功能能 llsearch CMP R0 0 LDRNEB R2 R0 CMPNE R1 R2 LDRNE R0 R0 4 BNE llsearch MOV PC LR 若 R0 0 则将 R0 指向的字节数据读入 R2 若 R0 0 且 R1 R2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级信息技术下册 第一课社区信息知多少说课稿 华中师大版
- 活动三 设计未来校园教学设计-2025-2026学年小学综合实践活动六年级下册沪科黔科版
- 新能源汽车分缸线轻量化材料体系构建与成本效益动态平衡模型
- 新型离子液体溶剂体系在无极性反应中的相容性突破探索
- 2025年大学酶工程考试题及答案
- 数字孪生技术驱动分量板全生命周期碳排放优化
- 微通道结构清洗头防堵塞机理与流体动力学耦合分析
- 循环经济视角下产品全生命周期管理中回收再利用技术瓶颈
- 循环经济模式下共享型一次性卫生产品的法律属性界定
- 16、公顷与平方千米教学设计-2025-2026学年小学数学五年级上册浙教版
- 退休教师国庆节活动方案
- CA6140普通车床进给系统的数控化改造
- 施工企业消防培训方案(3篇)
- 低效林改造管理办法
- 中学生自我管理课件
- 院前急产护理
- 仪表联锁培训课件
- 燃气行业安全生产费用提取标准
- 2025初中人教版七年级历史上册全册教案
- 砌体结构工程施工课件
- 如何当好幼儿园班主任幼儿园班主任培训
评论
0/150
提交评论