王钰微型计算机,《微型计算机原理》(王忠民版)PPT电子课件教案-第1章 微型计算机系统导论参考.ppt...

《微型计算机原理》(王忠民版)PPT电子课件教案-第1章 微型计算机系统导论参考

(2).指令译码器ID(Instruction Decoder):用来对指令寄存器IR中的指令操作码字段(指令中用来说明指令功能的字段)进行译码,以确定该指令应执行什么操作。 (3) 可编程逻辑阵列PLA(Programmable Logic Array):用来产生取指令和执行指令所需要的各种微操作控制信号,并经过控制总线CB送往有关部件,从而使计算机完成相应的操作。 3. 内部寄存器阵列 1) 程序计数器PC(Program Counter) 程序计数器有时也被称为指令指针IP(Instruction Pointer)。它被用来存放下一条要执行指令所在存储单元的地址。在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的存储单元地址送入PC。当执行指令时,CPU将自动修改PC内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令是按顺序执行的,所以修改的办法通常只是简单地对PC加1。但遇到跳转等改变程序执行顺序的指令时,后继指令的地址(即PC的内容)将从指令寄存器IR中的地址字段得到。 2) 地址寄存器AR(Address Register): 地址寄存器用来存放正要取出的指令的地址或操作数的地址。由于在内存单元和CPU之间存在着操作速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。 在取指令时,PC中存放的指令地址送到AR,根据此地址从存储器中取出指令。 在取操作数时,将操作数地址通过内部数据总线送到AR,再根据此地址从存储器中取出操作数;在向存储器存入数据时,也要先将待写入数据的地址送到AR,再根据此地址向存储器写入数据。 3) 数据缓冲寄存器DR(Data Register) 数据缓冲寄存器用来暂时存放指令或数据。从存储器读出时,若读出的是指令,经DR暂存的指令经过内部数据总线送到指令寄存器IR;若读出的是数据,则通过内部数据总线送到运算器或有关的寄存器。同样,当向存储器写入数据时,也首先将其存放在数据缓冲寄存器DR中,然后再经数据总线送入存储器。 可以看出,数据缓冲寄存器DR是CPU和内存、外部设备之间信息传送的中转站,用来补偿CPU和内存、外围设备之间在操作速度上存在的差异。 4) 指令寄存器IR(Instruction Register) 指令寄存器用来保存从存储器取出的将要执行的指令码,以便指令译码器对其操作码字段进行译码,产生执行该指令所需的微操作命令。 5) 累加器A(Accumulator) 累加器是使用最频繁的一个寄存器。在执行算术逻辑运算时,它用来存放一个操作数,而运算结果通常又放回累加器,其中原有信息随即被破坏。所以,顾名思义,累加器是用来暂时存放ALU运算结果的。显然,CPU中至少应有一个累加器。目前CPU中通常有很多个累加器。当使用多个累加器时,就变成了通用寄存器堆结构,其中任何一个既可存放目的操作数,也可以放源操作数。例如本书介绍的80x86系列CPU就采用了这种累加器结构。 6) 标志寄存器FLAGS(Flag Register) 标志寄存器有时也称为程序状态字PSW(Program Status Word)。它用来存放执行算术运算指令、逻辑运算指令或测试指令后建立的各种状态码内容以及对CPU操作进行控制的控制信息。标志位的具体设置及功能随微处理器型号的不同而不同。编写程序时,可以通过测试有关标志位的状态(0或1)来决定程序的流向。 1.4.3 存储器 这里介绍的存储器是指内存储器(又称为主存或内存)。它是微型计算机的存储和记忆装置,用来存放指令、原始数据、中间结果和最终结果。 在计算机内部,程序和数据都以二进制形式表示,8位二进制代码作为一个字节。为了便于对存储器进行访问,存储器通常被划分为许多单元,每个存储单元存放一个字节的二进制信息,每个存储单元分别赋予一个编号,称为地址。如图1.5所示,地址为4005H的存储单元中存放了一个八位二进制信。 计算机在执行程序时,CPU会自动而连续地从内存储器中取出要执行的指令,并执行指令规定的操作。这就是说,计算机每完成一条指令,至少有一次为取指令而访问内存储器的操作。内存储器是计算机主机的一部分,一般把具有一定容量且速度较高的存储器作为内存储器,CPU可直接用指令对内存储器进行读写。在微型计算机中,通常用半导体存储器作为内存储器。 E7H 34

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第二 1. 将下列十进制数转换成二进制和十六进制 (1)129.75 = 100000001.11B = 81.CH (2)218.8125 = 1101 1010.1101B = DA.DH (3) 15.625 = 1111.101B = F.AH (4)47.15625 = 101111.00101B = 2F.28H 2. 将下列二进制数转换成十进制和十六进制 (1)111010B = 58 = 3AH (2)10111100.11B = 188.875 = BC.E H (3) 0.11011B = 0.84375 = 0.D8 H (4)11110.01B = 30.25 = 1E.4H 4、完成下列16进制的加减法运算。 (1)0D14B H (2) 9C28.E H (3) 1678 .FC H (4) -80D7 H 5. 计算下列表达式的值 (1)128.8125+10110101.1011B+1F.2H = ( 101010101.101 ) B (2)287.68-10101010.11B+8E.EH =( 103.CE ) H (3) 18.9+1010.1101B+12.6H-1011.1001B = ( 36.525 ) D 7. 写出下列以补码表示的二进制数的真值: 1)[X]补= 1000 0000 0000 0000 ?X = - 1000 0000 0000 0000 = - 215 = - 32768 (2)[Y]补= 0000 0001 0000 0001 ?Y = + 0000 0001 0000 0001 = +257 (3)[Z]补= 1111 1110 1010 0101 ?X = - 000 0001 0101 1011 = - 347 (4)[A]补= 0000 0010 0101 0111 ?X = + 0000 0010 0101 0111 = +599 9、设有变量…….. X+Y = 1B8 H Y+Z =161 H Y+Z=13B H Z+V=0CC H (1) 不正确 不正确 不正确 正确 (2)正确 正确 正确 溢出 12. 试计算下列二进制数为无符号数、原码、反码、补码、8421BCD码时分别代表的数值大小。若为非8421BCD数时请指出。 (1)10001000B 无符号数:27+23= 136 原码: - 000 1000 = - 8 反码: - 111 0111 = - 119 补码: - 111 1000 = - 120 8421BCD码: 88 2)00101001B 无符号数:25+23+ 20 = 41 原码: 41 反码: 41 补码: 41 8421BCD码: 29 3)11001001B 无符号数:27+26+ 23+20 = 201 原码: - 100 1001 = - 73 反码: - 011 0110 = - 54 补码: - 011 0111 = - 55 8421BCD码: 非8421BCD码 (4)10010011B 无符号数:27+24+ 21+20 = 147 原码: - 001 0011 = - 19 反码: - 110 1100 = - 108 补码: - 110 1101 = - 109 8421BCD码: 93

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值