- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郑州大学·计算机组成原理 第5章 中央处理器 计算机组成原理 沈阳理工大学 马玉峰 第一章 计算机系统概论 第二章 运算方法和运算器 第三章 内部存储器 第四章 指令系统 第五章 中央处理机 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 操作系统支持 计算机组成原理 第5章 中央处理机 5.1 CPU的功能和组成 当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序、程序控制”思想。 ??? 程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等。 ? 中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(Central Processing Unit)。 5.1.1 CPU的功能 ★ 指令控制 保证机器按程序规定的顺序取出执行 5.1.2 CPU的基本组成 运算器 组成:算术逻辑单元(ALU)、通用寄存器、数据缓冲寄存器(DR)和状态条件寄存器(PSW)。 作用:是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥?。 (1)执行所有的算术运算; (2)执行所有的逻辑运算,并进行逻辑测试 5.1.3 CPU中的主要寄存器 (1)数据缓冲寄存器(DR) 暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。 作用: ①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲; ②补偿CPU和内存、外围设备之间在操作速度上的差别。 5.1.3 CPU中的主要寄存器 (2)指令寄存器(IR) 保存当前正在执行的一条指令 指令寄存器用来存放从存储器中取出的待执行的指令。 在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。 指令译码器ID(Instruction Decoder) ?? 暂存在指令寄存器中的指令只有在其操作码部分经译码后才能识别出是一条什么样的指令。 译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。 5.1.3 CPU中的主要寄存器 (3)程序(指令)计数器(PC) 用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。 顺序执行时,每执行一条指令,PC的值应加1 要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC ,可实现程序的转移。 5.1.3 CPU中的主要寄存器 (4)数据地址寄存器(AR) 用来保存当前CPU所访问的数据cache存储器中(简称数存)单元的地址。 使用单纯的寄存器结构 信息存入一般采用电位-脉冲方式 即电位输入端对应数据信息位 脉冲输入端对应控制信号 在控制信号作用下,瞬时地将信息打入寄存器。 5.1.3 CPU中的主要寄存器 (5)通用寄存器(R0~R3) 累加寄存器AC通常简称为累加器,它是一个通用寄存器。 其功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。 目前CPU中的通用寄存器,多达64个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。 通用寄存器还用于作地址指示器、变址寄存器、堆栈指示器等。 16位通用寄存器 8086有14个16位寄存器:8个通用寄存器、1个指令指针寄存器、1个标志寄存器和4个段寄存器。它们都有名称,编程时使用其名称代表其保存的内容。 16位通用寄存器 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:指向当前的附加段,通常用来
原创力文档


文档评论(0)