第5节 中央处理机.docVIP

  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文档。上传文档
查看更多
第5章 中央处理机 5.1 CPU的功能和组成 当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序、程序控制”思想。 ??程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等。 ? 中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(Central Processing Unit)。 ★ 指令控制 保证机器按程序规定的顺序取出执行 ★ 操作控制 CPU产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作 时间控制 对各种操作的实施时间进行定时 ★ 数据加工 对数据进行算术运算和逻辑运算处理 5.1.2 CPU的基本组成 运算器 组成:算术逻辑单元(ALU)、通用寄存器、数据缓冲寄存器(DR)和状态条件寄存器(PSW)。 作用:是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥?。 (1)执行所有的算术运算; (2)执行所有的逻辑运算,并进行逻辑测试 5.1.3 CPU中的主要寄存器 (1)数据缓冲寄存器(DR) 暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。 作用: ①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲; ②补偿CPU和内存、外围设备之间在操作速度上的差别。 (2)指令寄存器(IR) 保存当前正在执行的一条指令 指令寄存器用来存放从存储器中取出的待执行的指令。 在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。 指令译码器ID(Instruction Decoder) ?? 暂存在指令寄存器中的指令只有在其操作码部分经译码后才能识别出是一条什么样的指令。 译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。 (3)程序(指令)计数器(PC) 用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。 顺序执行时,每执行一条指令,PC的值应加1 要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC ,可实现程序的转移。 (4)数据地址寄存器(AR) 用来保存当前CPU所访问的数据cache存储器中(简称数存)单元的地址。 使用单纯的寄存器结构 信息存入一般采用电位-脉冲方式 即电位输入端对应数据信息位 脉冲输入端对应控制信号 在控制信号作用下,瞬时地将信息打入寄存器。 (5)通用寄存器(R0~R3) 累加寄存器AC通常简称为累加器,它是一个通用寄存器。 其功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。 目前CPU中的通用寄存器,多达64个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。 通用寄存器还用于作地址指示器、变址寄存器、堆栈指示器等。 16位通用寄存器 8086有14个16位寄存器:8个通用寄存器、1个指令指针寄存器、1个标志寄存器和4个段寄存器。它们都有名称,编程时使用其名称代表其保存的内容。 AHAL=AX:累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数。另外,所有的I/O指令都使用这一寄存器与外界设备传送数据. BHBL=BX:基址寄存器,常用于地址索引; CHCL=CX:计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器。 DHDL=DX:数据寄存器,常用于数据传递。 这2组8位寄存器可以分别寻址,并单独使用。 另一组是指针寄存器和变址寄存器,包括: SP:堆栈指针,与SS配合使用,可指向目前的堆栈位置; BP:基址指针寄存器,可用作SS的一个相对基址位置; SI: 源变址寄存器可用来存放相对于DS段的源变址指针; DI:目的变址寄存器,可用来存放相对于 ES 段的目的变址指针。 代码段寄存器CS:指向当前的代码段,指令由此段取出。 堆栈段寄存器SS:指向当前的堆栈段,堆栈操作就是对该段存储单元的内容进行读写。 数据段寄存器DS:指向当前的数据段,通常用来存放程序变量、数据。 附加段寄存器ES:指向当前的附加段,通常用来存储数据。 32位通用寄存器 A、通用寄存器 EAX:通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器) EBX:通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。 E

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档