6第六讲_中央处理器(1-4)_指令周期.ppt_第1页
6第六讲_中央处理器(1-4)_指令周期.ppt_第2页
6第六讲_中央处理器(1-4)_指令周期.ppt_第3页
6第六讲_中央处理器(1-4)_指令周期.ppt_第4页
6第六讲_中央处理器(1-4)_指令周期.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章中央处理器 CPU的功能和组成指令周期 CPU的功能和组成 什么是CPU 所谓中央处理器是控制计算机来自动完成取出指令和执行指令任务的部件 它是计算机的核心部件 通常简称为CPU CPU的基本组成中央处理器由两个主要部分 控制器运算器 控制器 包括 程序计数器 PC 指令寄存器 IR 指令译码器时序产生器操作控制器是发布命令的 决策机构 即完成协调和指挥整个计算机系统的操作 主要功能 从内存中取出一条指令 并指出下一条指令在内存中的位置 对指令进行译码或测试 并产生相应的控制信号 输出相应的控制信号 指挥并控制CPU 内存和I O之间的数据流动的方向 运算器包括 算术逻辑单位 ALU 累加寄存器 AC 数据缓冲寄存器 DR 状态条件寄存器 PSW 是数据加工处理部件 运算器接受控制器的命令而进行动作 即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的 所以它是执行部件 主要功能 执行所有的算术运算 执行所有的逻辑运算 并进行逻辑测试 CPU的功能和组成 CPU的主要寄存器 累加寄存器ACAC通常简称为累加器 功能是 当运算器的算术逻辑单元 ALU 执行全部算术和逻辑运算时 为ALU提供一个工作区 累加寄存器暂时存放ALU运算的结果信息 显然 运算器中至少要有一个累加寄存器 2 指令寄存器IR指令寄存器用来保存当前正在执行的一条指令 存放从内存中取出的指令 其中指令的操作码送到指令译码器 译码后输出控制信号 程序计数器PC程序计数器中存放的是下一条指令在内存中的地址 若程序顺序执行 PC PC 1 若程序有跳转 PC PC 偏移地址 状态条件寄存器PSW状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容 同时状态条件寄存器还保存中断和系统工作状态等信息 以便使CPU和系统能及时了解机器运行状态和程序运行状态 因此 状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器 O溢出D方向I中断允许T追踪S符号Z零A辅助进位P奇偶C进位 CPU的功能和组成 地址寄存器AR地址寄存器用来保存当前CPU所访问的内存单元的地址 由于在内存和CPU之间存在着操作速度上的差别 所以必须使用地址寄存器来保持地址信息 直到内存的读 写操作完成为止 缓冲寄存器DR缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字 反之 当向内存存入一条指令或一个数据字时 也暂时将它们存放在缓冲寄存器中 CPU的功能 4 数据加工 对数据进行算术运算和逻辑运算处理 完成数据的加工处理 这是CPU的根本的任务 1 指令控制 程序是指令的有序集合 保证机器按规定的顺序执行程序 2 操作控制 CPU管理并产生由内存取出的每条指令的操作信号 并把各种操作信号送往相应的部件 从而控制这些部件按指令的要求进行动作 3 时间控制 对各种操作实施时间上的控制 计算机中各种指令的操作信号均受到时间的严格控制 指令周期 程序的执行过程 冯 诺依曼结构的计算机执行程序的顺序 1 从程序首地址开始 2 分步执行每一条指令 并形成下条待执行指令的地址 3 自动地连续执行指令 直到程序的最后一条指令 指令周期 读取指令指令地址送入主存地址寄存器读主存 读出内容送入指定的寄存器 分析指令 按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大 检查有无中断请求若无 则转入下一条指令的执行过程 指令的执行过程 中断检测点 指令周期的基本概念 指令周期 CPU每取出并执行一条指令 都要完成一系列的操作 这一系列操作所需用的时间通常叫做一个指令周期 机器周期 机器周期也称为CPU周期 通常用内存中读取一个指令字的最短时间来规定CPU周期 指令周期常常用若干个CPU周期数来表示 时钟周期 一个CPU周期时间又包含有若干个时钟周期 通常称为节拍脉冲或T周期 它是处理操作的最基本单位 这些时钟周期的总和则规定了一个CPU周期的时间宽度 指令周期 指令周期 下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程 CLA指令的指令周期 指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 000020 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000020 CLA CLA 000021 指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000020 CLA CLA 000021 指令周期 ADD指令的指令周期 ADD指令的指令周期由三个CPU周期组成 第一个CPU周期 取指令阶段 和CLA指令相同 第二个CPU周期 将操作数的地址送往地址寄存器并完成地址译码 第三个CPU周期 从内存取出操作数并执行相加的操作 指令周期 一个CPU周期 一个CPU周期 取指令阶段 执行指令阶段 开始 取指令PC 1 对指令译码 送操作数地址 取下条指令PC 1 取出操作数 执行加操作 一个CPU周期 指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000021 ADD ADD30 000021 000022 000030 000006 0 6 6 000006 指令周期 STA指令的指令周期 STA指令的指令周期由三个CPU周期组成 第一个CPU周期 取指令阶段其过程和CLA指令 ADD指令完全一样 不同的是此阶段中程序计数器加1后变为023 因而为取第四条指令做好了准备 我们假定 第一个CPU周期后结束 STA40 指令已放入指令寄存器并完成译码测试 第二个CPU周期 送操作数地址 第三个CPU周期 累加寄存器的内容传送到缓冲寄存器 然后再存入到所选定的存储单元中 指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 40 CLA ADD30 STA40 NOP JMP21 000006 000022 STA STA40 000022 000023 000040 000006 000006 000006 指令周期 NOP指令周期 NOP指令是一条空指令 包含两个CPU周期 第一个周期 取指令 第二个周期 执行指令 因为是空指令 所以操作控制器不需发出任何控制信号 指令周期 JMP指令周期 JMP指令由两个CPU周期组成 第一个周期 取指令周期 同其他指令 第二个周期 执行阶段CPU把指令寄存器中的地址码部分21送到程序计数器 从而用新内容21代替PC原先的内容25 这样 下一条指令将不从25单元中读出 而从21单元开始读出并执行 从而改变了程序原先的执行顺序 指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 40 CLA ADD30 STA40 NOP JMP21 000006 000024 JMP21 JMP21 000024 000021 000006 000006 000025 000021 注意执行 JMP21 指令时 我们此处所给的四条指令组成的程序进入了死循环 除非人为停机 否则这个程序将无休止地运行下去 因而内存单元40中的和数将一直不断地发生变化 当然 我们此处所举的转移地址21是随意的 仅仅用来说明转移指令能够改变程序的执行顺序而已 具体步骤如下 1 根据程序计数器PC的内容从内存中取出一条指令 放置于指令寄存器IR中 2 分析IR中的操作码 决定应执行的操作 3 根据IR的地址码取出参加运算的操作数 4 对操作数进行运算 5 根据IR的地址码把运算结果存入指定地址 6 本条指令执行完毕 修改PC内容决定下一条指令所在的地址 指令周期 用方框图语言表示指令周期在进行计算机设计时 可以采用方框图语言来表示一条指令的指令周期 一个方框代表一个CPU周期 方框中的内容表示数据通路的操作或某种控制 一个菱形符号代表某种判别或测试 不过时间上它依附于它前面一个方框的CPU周期 而不单独占用一个CPU周期 符号 代表一个公操作 指令周期 小结 各类信息的传送路径指令 M DBUS DR IR地址 PC AR ABUS 取决于寻址方式 数据 寄存器 寄存器总线直接传送寄存器 存储器Ri DR DBUS M存储器 寄存器M DBUS DR Ri 例 如图所示为双总线结构机器的数据通路 IR为指令寄存器 PC为程序计数器 具有自增功能 M为主存 受R W信号控制 AR为地址寄存器 DR为数据缓冲寄存器 ALU由加 减控制信号决定完成何种操作 控制信号G控制的是一个门电路 另外 线上标注有小圈表示有控制信号 例中yi表示y寄存器的输入控制信号 R1o为寄存器R1的输出控制信号 未标字符的线为直通线 不受控制 1 ADDR2 R0 指令完成 R0 R2 R0功能操作 假设该指令的地址已放入PC中 2 SUBR1 R3 指令完成 R3 R1 R3的功能操作 画出存数指令 STAR1 R2 的指令周期流程图 其含义是将寄存器R1的内容传送至 R2 为地址的主存单元中 标出各

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论