- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 CPU与指令系统 2.1 基本概念 2.2 指令周期 2.3 指令的执行过程 2.4 指令的流水执行 2.5 指令和数据的寻址方式 2.6 指令系统分类 2.1 CPU基本概念 2.1 CPU基本概念 CPU的基本构成: 控制器,运算器,寄存器, [cache、MMU] 寄存器:用于(临时)存放各种信息。 指令寄存器(IR):存放当前执行的指令,为指令译码器提供指令信息。 程序计数器(PC):存放指令的地址,从存储器取指令时根据PC值进行。 数据寄存器(DR):存放操作数和运算结果,以减少访问存储器的次数。 地址寄存器(AR):存放操作数的地址。 状态寄存器(SR):存储运算中的状态,作为控制程序的条件。 数据通路:寄存器与ALU之间传递信息的线路。通常有2种建立方法: 用数据总线(单总线,双总线,多总线) 用专用通路(如MIPS) 数据总线结构 在各寄存器以及ALU之间建立一条或几条公共的数据总线,寄存器间的数据传输通过这些总线完成。 一条总线可以连接多个部件,总线连接方式可以减少线路的数量。 总线上可以有多个部件同时接收数据,但任一时刻只能有一个部件向同一条总线发送数据。 常用的是单总线结构,即数据通路只用一条总线构成,一次传输一个数据。 专用通路结构 在各寄存器与ALU之间根据指令执行过程中的操作和数据流向来安排功能部件并建立相应的数据传输通路。 每条数据传输通路都是专用的,不共享使用。 在数据传输和操作中可以做到互不相关,控制比较简单,各寄存器之间的数据传输可以并行进行,从而达到较高的性能。 时间概念 指令周期 是从一条指令的启动到下一条指令的启动的时间间隔。 机器周期 指令周期中包含若干个基本操作步骤,如访问存储器和运算等。每个基本操作的时间称为机器周期。 时钟周期 是计算机时钟主频的周期。 一个机器周期可以包含若干个时钟周期 2.2 指令的执行过程例:运算指令的执行过程 采用专用通路结构:如add $1, $2, $3 (1) 取指令。IR = Memory[PC] instruction fetch PC = PC + 4 一、运算指令的执行过程 专用通路结构:如add $1, $2, $3 (2) 指令译码及读取操作数。A = R[IR[25:21]] B = R[IR[20:16]] 一、运算指令的执行过程 专用通路结构:如add $1, $2, $3 (3) 执行。ALUoutput = A + B execution 一、运算指令的执行过程 专用通路结构:如add $1, $2, $3 (4) 写回。R[IR[15:11]] = ALUoutput write back 一、运算指令的执行过程 采用单总线结构: 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC 一、运算指令的执行过程 单总线结构: 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR 一、运算指令的执行过程 单总线结构: 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y 一、运算指令的执行过程 单总线结构: 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y (6) R2 + Y→Z 一、运算指令的执行过程 单总线结构: 如ADD R3, R1, R2 (1) PC→MAR (2) PC+1→PC (3) DBUS→MDR (4) MDR→IR (5) R1→Y (6) R2 + Y→Z (7) Z→R3 2.4 指令的流水执行 流水技术用于提高指令的执行速度和数据运算速度。 流水工作方式 将一个计算任务细分成若干个子任务 每个子任务由专门的部件处理 多个计算任务依次进行并行处理 2.4 指令的流水执行 计算机流水线中的计算任务可以是可以是一个算术逻辑运算操作,也可以是一条指令的执行。 指令级流水线是把一条指令的执行过程分成多个子过程,由各个部件进行轮流处理后完成执行过程。 不必等到上一条指令的完成就可以开始下一条指令的执行。 指令的流水线在高性能的微处理器中被普遍采用。 指令的流水线 指令流水线由一系列串联的流水段组成。 每个流水段完成指令执行的一个操作步骤。 各个流水段之间设有缓冲寄存器(流水寄存器),以暂时保存上一个流水段对指令处理的结果。 流水线中的每个流水段构成流水线的一级。 在专用通路结构的CPU中,通常采用5个流水段 (5级流水) 取指(IF)--Instruction Fetch 译码(ID)--Ins
文档评论(0)