第18讲微操作.ppt_第1页
第18讲微操作.ppt_第2页
第18讲微操作.ppt_第3页
第18讲微操作.ppt_第4页
第18讲微操作.ppt_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

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

文档简介

8 1 3CPU的寄存器 CPU中的寄存器可分为通用寄存器和专用寄存器两大类 1 通用寄存器General purposeRegister 通用寄存器主要用于存放参与运算的数据和运算结果 有的还可以作为变址寄存器 计数器 地址指针等 CISC机的CPU通常设有几个或十几个通用寄存器 RISC机的CPU则可能有多达上百个通用寄存器 在CPU中设置众多的通用寄存器的目的主要是为了减少计算过程中的访存次数 通用寄存器组是程序可访问的 其中 最重要的是累加寄存器Accumulator CPU内通用寄存器的位数取决于机器字长 与ALU的位数相同 此外 在CPU中可能还有几个暂存器 一般在ALU入口 主要用于暂时保存ALU运算所需要的两个操作数之一 暂存器对程序员是透明的 用户不可见的 存储器地址寄存器的内容是CPU访存时要读 写的存储单元的地址 存储器地址寄存器MAR的位数取决于CPU 读写数据时 能够访问的存储空间的大小 一般与地址总线的线数相同 4 存储器数据寄存器MDR MemoryDataRegister 存储器数据寄存器用于暂时保存从主存储器取来的一个数据字或即将写入主存储器的一个数据字 存储器数据寄存器MDR的位数取决于数据总线的宽度 5 存储器地址寄存器MAR MemoryAddressRegister 此外 CPU中可能还有其他一些专用寄存器 中断向量寄存器InterruptVectorRegister 堆栈指针StackPointer等 专用寄存器 CPU的组成 CPU的基本组成包括 运算部件 寄存器 总线 时序系统 指令译码器ID和微操作命令产生部件等 2 指令部件 指令译码器 InstructionDecoder 的功能是对指令寄存器中的指令的操作码进行分析 译码 决定应该执行的基本操作 1 运算部件 ALU 定点乘法 除法部件 浮点部件 指令部件的主要任务是完成取指令和分析指令 指令部件包括 程序计数器 指令寄存器 指令译码器ID和地址形成部件 地址形成部件根据操作数的寻址方式形成操作数的有效地址 CPU通过系统总线与主存储器和计算机系统内的其他部件进行信息传送 系统总线通常包括 地址总线 数据总线 控制总线 计算机的字长与数据总线的宽度不一定相同 总线是由多个设备共享的传送信息的一簇公共的信号线及相关逻辑 4 总线Bus CPU内部总线 用于CPU内部各个部件之间的信息传送 系统总线 3 寄存器 通用寄存器和专用寄存器 单总线 双总线 三总线 脉冲源产生一定频率的脉冲信号作为机器的时钟脉冲 由时序电路产生周期 节拍 工作脉冲等时序信号 6 微操作控制信号形成部件 根据指令分析的结果和时序信号 产生相应的微操作控制信号 5 时序系统 包括 脉冲源 启停线路 时序信号形成部件等 CPU的各种操作需要严格的定时控制 为了保证指令及各个微操作的执行按正确顺序完成 需要相应的控制指令周期 机器周期的周期信号 节拍电位 节拍脉冲等 微操作命令序列的形成方法有组合逻辑 硬布线 和微程序两大类 根据微操作控制信号的形成方法 控制器可分为 微程序控制器 硬布线 组合逻辑 控制器两大类 9 1微操作命令的分析 一条指令的运行过程可以分为3个阶段 取指令阶段 分析取数阶段 执行阶段 1 取指令阶段FetchtheInstruction 把指令从主存储器中取出来并送到指令寄存器中去 把程序计数器PC的内容 直接或通过MAR 送到地址总线上 由控制单元经控制总线向存储器发出读命令 等待一段时间后 从主存储器中读出的指令出现在数据总线上 从数据总线将取出的指令读入 可以暂时放在MDR 把指令送到CPU的指令寄存器IR 程序计数器PC加1 为取下一条指令做好准备 2 分析取数阶段 从存储器取来的指令一进入指令寄存器 指令译码器就开始对指令操作码译码 并根据寻址方式形成操作数有效地址 对于不同的寻址方式有不同的寻址操作 如果操作数在主存储器 还需要访问主存取数 访问存储器取操作数时 首先把主存地址寄存器MAR的内容送到地址总线 接着发出存储器读命令 等待一段时间后 从数据总线将从存储器读出的数据读入CPU并送到CPU的数据寄存器MDR 任何一条指令的执行都是从取指令操作开始 所以 取指令操作称为公共操作 3 执行阶段Execute 在执行阶段完成指令规定的运算操作并将结果送入指定的地方 把数据写到存储器时 首先把主存地址寄存器MAR的内容送到地址总线 数据寄存器MDR的内容送到数据总线 接着发出存储器写命令 等待一段时间后存储器写周期结束 如果运算结果要写入主存储器 还需要做存储器写操作 程序计数器PC 指令译码器ID 微操作控制信号形成部件 脉冲源 启停线路 时序信号产生部件 数据寄存器MDR 地址寄存器MAR CLK Reset Reset 中断机构 DB AB CB 主存储器 I O 指令 数据 操作数地址 指令地址 转移地址 形式地址 总线控制 控制器的基本组成框图 9 1 1取指令周期FetchingCycle 取指令的过程可归纳为以下几个操作 现行指令地址送到存储器地址寄存器 向主存储器发出读命令 启动主存作读操作 将MAR 通过地址总线 所指的主存单元中的内容 指令 经数据总线读入MDR 把指令送到指令寄存器IR 形成下一条指令的地址 记作PC MAR 记作1 R 记作M MAR MDR 记作MDR IR 记作 PC 1 PC 9 1 2间指周期 间指周期完成取操作数有效地址的任务 操作如下 将指令的地址码部分送到存储器地址寄存器 向主存储器发出读命令R 启动主存作读操作 将MAR 通过地址总线 所指的主存单元中的内容 有效地址 经数据总线读入MDR 把操作数有效地址送到指令寄存器IR的地址字段 或 把操作数有效地址送到存储器地址寄存器 记作Ad IR MAR 记作1 R 记作M MAR MDR 记作MDR Ad IR 记作MDR MAR 除间指周期外 其它一些寻址方式如果操作数在主存储器 在形成操作数有效地址 并送到存储器地址寄存器中 后 也需要访问主存取数 操作如下 向主存储器发出读命令R 启动主存作读操作 记作1 R 将MAR 通过地址总线 所指的主存单元中的内容 数据 经数据总线读入MDR 记作M MAR MDR 不同指令在执行周期的微操作是不同的 下面分 非访存指令 访存指令 转移类指令 讨论 9 1 3执行周期ExecutionCycle 1 非访存指令 1 清除累加器指令CLA 该指令完成累加器清零的操作 记作0 ACC 2 累加器取反指令COM 该指令完成累加器内容取反的操作 记作 3 累加器加1指令INC 该指令完成累加器内容加1 结果送累加器的操作 记作 ACC 1 ACC 该指令完成累加器内容算术右移1位的操作 记作 R ACC ACC ACC0 ACC0 5 循环左移1位指令CSL 该指令完成累加器内容循环左移1位的操作 记作 L ACC ACC ACC0 ACCn 6 停机指令STP 该指令将运行标志触发器置0 记作0 G 4 算术右移1位指令SHR 1 非访存指令 1 加法指令ADDX 该指令完成累加器内容与主存X单元的内容相加 结果送累加器的操作 记作 2 减法指令SUBX 2 访存指令 该指令完成累加器内容与主存X单元的内容相减 结果送累加器的操作 记作 3 与指令ANDX 该指令完成累加器内容与一主存单元的内容相与 结果送累加器的操作 记作 执行周期 ACC MDR ACC ACC MDR ACC 执行周期 ACC MDR ACC 执行周期 4 取数指令LDAX 该指令将一主存单元的内容取到累加器中 记作 5 存数指令STAX 该指令将累加器内容写入主存X单元中 记作 3 转移类指令 1 无条件转移指令JMPX 2 访存指令 MDR ACC 指令的地址码部分送PC 记作 2 条件转移指令 执行周期 根据前面一条指令执行的结果 对标志寄存器的影响 决定是否转移 ACC MDR Ad IR PC 负转移指令JNX 如果标志N 1 则指令的地址码部分送PC 否则顺序执行 记作 进位转移指令JCX 如果进位标志C 1 则指令的地址码部分送PC 否则顺序执行 记作 零转移指令JZX 如果标志Z 1 则指令的地址码部分送PC 否则顺序执行 记作 2 条件转移指令 根据前面一条指令执行的结果 对标志寄存器的影响 决定是否转移 指令的执行过程可以进一步分解成一系列微操作 微操作序列与机器内部的数据通路有关 9 2 2控制信号举例 微命令Microcommand是微操作的控制信号 微操作Microoperation是微命令的操作过程 是执行部件接受微命令后所进行的最基本的操作 CPU内部总线 例1 通用寄存器之间传送数据 要把寄存器R1的内容传送到寄存器R4 R1 R4 R1out R4in有效 暂存器 暂存器 需要下列微操作 例2 ALU完成算术逻辑运算 要将寄存器R1的内容与寄存器R2的内容相加 结果送到寄存器R3 记作 R1 R2 R3 微操作序列如下 第1步 R1 Y R1out Yin有效 第2步 R2 Y Z R2out ALUin Zin有效 第3步 Z R3 Zout R3in有效 R1out MARin有效 M MAR MDR 假设 要访问的主存单元的地址在R1中 从主存读入的字放到R2中 例3 从主存储器读1个数据字 主存单元的地址送到MAR后 就打开三态门出现在地址线上 微操作如下 R1 MAR 1 R MDR R2 MDRout R2in有效 MDRout IRin有效 R0 R1 R0 一条指令的执行过程举例 该指令实现如下操作 1 加法指令ADD R0 R1 PC MAR 1 R MDR IR 1 取指周期 M MAR MDR PC 1 PC PCout MARin有效 3 执行周期 R1 Y Z Z MDR 假设MAR的内容没有改变 否则应同时有 R0 MAR 1 W 2 取数周期 R0 MAR 1 R M MAR MDR Y R0out MARin有效 MDRout Yin有效 Zout MDRin有效 R0 R1 R0 2 转移指令JCdisp 条件转移指令 根据PSWR的C位的状态决定是否转移 如果有进位 C 1 就转移到目标地址 否则顺序执行下一条指令 转移目标地址 PC的内容加指令中的位移量disp 2 转移指令JCdisp 1 取指周期 2 执行周期 微操作序列如下 如果C 1 则完成 PC Y C 1 Ad IR Y Z Z PC PC disp PC PCout Yin有效 Zout PCin有效 精品课件 精品课件 Homework 9 1 5 6 7 8 OnJune30 1945 beforeENIACwasevencompleted mathematicianJohnvonNeumanndistributedthepaperentitled FirstDraf

温馨提示

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

评论

0/150

提交评论