微型计算机原理与应用第3章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工作过程 先将指令或数据及后面连续的一组传递到高速缓存器中 CPU在取下一条指令或向操作数发出一个地址时,先看看所需的数据是否就在高速缓存器里 如果在高速缓存器内,就立即传送给CPU; 如果不在缓存器中,就要做一次常规的存储器访问。 数据块顺序存放和相邻 一般情况,CPU在高速缓存器中存取的命中率可以高达90%以上。 高速缓存器及其控制线路均是由计算器的硬件实现,因而用户或程序员就无需访问或控制操作高速缓存器,它就能大大提高CPU对存储器的存取速度,而花费的代价是较低的。 3.9.3 虚拟存储器 确定数量的主存储器 采用半导体RAM 程序和数据最初都存放在某个大容量的软磁盘和硬磁盘中,当需要时才把它们从磁盘传送到RAM中去,然后执行 有时,一个程序及数据要比主存储器RAM的容量还大,这就无法运行。 解决方法 采用硬件和软件的综合技术——虚拟存储器,它允许建立一个存储容量比实际物理上主存储器的容量更大。 存放在虚拟存储器中的数据或程序只有其中一部分放在物理存储器 若所执行的指令地址不在这部分存储器里时,管理计算机的软件(计算机操作系统)能察觉出来,知道要找的地址不在RAM中而在一个外部磁盘里。 自动启动磁盘,把包括所需地址的存储区域调入物理存储器,覆盖原先存在的部分后继续运行。 虚拟存储器像是一个很大的,并具有相连存储单元的假想存储器。在虚拟存储计算机里,虚拟存储器划分成固定长度的相连区段,并有一个专门的逻辑地址寄存器来管理。大多数16/32位微处理器都没有片内虚拟存储器,而是用辅助芯片来实现。 课后作业 3.3 3.6 3.8 3.10 * * * * * * * * * * * * * * * * * * * 第1次执行结果: R0 LDX 5H (X)=(R5)=3(10)   R1 DEX   (X)=3-1=2(10)   R2 JIZ  4H 因为(X)≠0,所以不转至R4   R3 JMP 1H 无条件转回R1 第2次执行结果: R1 DEX   (X)=2-1=1(10)   R2 JIZ  4H 因为(X)≠0,所以不转至R4 R3 JMP 1H 无条件转回R1 第3次执行结果: R1 DEX  (X)=1-1=0   R2 JIZ  因为(X)=0,所以转至R4   R4 HLT  停机 由此例可见,DEX至JIZ这两条指令之间要执行由“LDX R5”中所规定的次数(R5的内容就是次数)。 此例R5=3(10),所以执行3次。如R5=10(10),则将进行10次,R5=100(10),则将进行100次。 这个循环程序可以图3.9的流程图(见教材60页)来领会其执行过程。 如果在DEX和JIZ之间还有别的指令语句,则同样也得执行3次。在DEX和JIZ之间的内容称为循环体。 例3.3 乘法计算的程序 利用循环程序可作乘法计算,例如要求12(10)×8(10),就是要求将12(10)连加8次。这就可以利用循环程序,让它进行8次循环。 程序如下:  R0 NOP     R1 LDX  AH    R2 CLA   R3 DEX  R4 ADD  9H  7次返回  R5 JIZ   7H  R6 JMP   3H  R7 OUT     转出循环 R8 HLT    R9 12(10)    RA 8(10) 例3.3 NOP为空操作指令,即不做什么动作。 执行LDX AH时,把(RA)=8(10)装入变址器X。 执行CLA时,使累加器A清零。 执行DEX时,开始循环,并在第1次通过时把(X)减1而成为(X)=7(10)。 执行ADD 9H时,把12(10)与累加器A的内容相加。 JIZ 7H的指令,在第1次循环时不起作用。执行JMP 3H时,使程序回到DEX语句。 因为存储单元RA装入的是8(10),即在变址寄存器中的整数是8(10),所以循环要执行8次。而ADD 9H(R9中装的是12(10))处于DEX和JIZ之间(ADD 9H就是循环体),所以也要执行8次,即12(10)这个数要在ALU中与A的内容连加8次后存在累加器A中。 例3.3 当执行8次循环之后,再执行JIZ 7H时,程序就转至OUT,于是答案96(10)就被存入输出寄存器O中,然后执行程序HLT——停机。程序至此执行结束。 此例中的变址寄存器X的内容是由存储单元RA装入的。要知道RA的内容是由输入寄存器N由外部设备输入的。其实可以直接由外部设备通过输入寄存器N装入累加器A再装入变址寄存器,而不必经过存储器的单元RA。这只要将上例中的头两条指令改成下面的样子即可:   R0 INP    ;将外部数据装入A     R1 XCH   ;将(A)和(X)互换 其他各条

文档评论(0)

精品家园 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档