欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    53 时序控制方式与时序系统.ppt

    • 资源ID:1716583       资源大小:8.34MB        全文页数:132页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    53 时序控制方式与时序系统.ppt

    第4章 处理器(CPU),4.1 引言4.2 逻辑设计的一般方法4.3 建立数据通路4.4 一个简单的实现机制4.5 多周期实现机制,4.1 引言,一. 计算机的组成,4.1 引言,二. CPU的基本功能: 自动地、连续地取出指令、解释指令、执行指令。(1)程序控制 保证机器按一定顺序执行程序是CPU的首要任务。(2)操作控制 一条指令的功能往往是由若干个操作信号的组合来实现的。,4.1 引言,(3)时间控制 对各种操作实施时间上的控制称为时间控制. 各种指令的操作信号均受到时间的严格控制; 一条指令的整个执行过程也受到时间的严格控制。(4)数据加工,4.1 引言,三. 一个基本的MIPS实现 存储器访问指令lw 和 sw 算术逻辑指令add, sub, and, or, slt分支指令beqj,四. MIPS子集的基本实现1. CPU主要功能单元,不能直接将数据线简单连在一起使用多选器,2. 增加了多选器和控制信号的CPU,4.2 逻辑设计的一般方法,一. 主要的逻辑单元1. 组合单元:一个操作单元,如与门或ALU。处理数据值输出是输入的函数2. 状态单元:一个存储单元(元件),如寄存器或存储器。存放信息至少有两个输入(要写入的数据值和决定何时写入的时钟信号),4.2 逻辑设计的一般方法,二. 时序系统1. 时序发生器:产生时钟周期节拍、脉冲等时序信号的部件。,一个脉冲源:,一组计数分频逻辑:,又称主振荡器,提供CPU的时钟基准,主振的输出经过一系列计数分频,产生时钟周期(节拍)信号。,4.2 逻辑设计的一般方法,2. 时钟:一个具有固定周期时间的不停运转的信号。,3. 时钟同步方法:一种根据时钟来决定数据何时有效和稳定的方法。又称为时钟方法,即同步控制方式。与之相反的即异步控制方式,4.2 逻辑设计的一般方法,4. 边沿触发时钟:一种时钟机制,在这种机制下所有的状态改变都发生在时钟边沿。如:在一个时钟周期内向寄存器写数:由时钟信号决定何时更新寄存器中的数据。边沿触发:当时钟信号从0变为1(上升沿)时更新。,4.2 逻辑设计的一般方法,如:带”写”控制信号的寄存器控制信号:用于决定选择或可操作的信号,与数据信号相对应。只有在”写”控制信号为1,且在时钟边沿才能更新。,4.2 逻辑设计的一般方法,三. 同步时序逻辑设计,组合逻辑单元的操作在一个时钟周期内完成。数据信号从状态单元1输出到状态单元2所需的时间决定了时钟周期的长度。,4.2 逻辑设计的一般方法,一种边沿触发方法,支持状态单元在同一个时钟周期内同时读写,4.3 建立数据通路,一. 主要的数据通路部件1. 数据通路部件:指用来操作或保存处理器中数据的单元。2. 包括:指令存储器数据存储器寄存器堆ALU加法器等,程序计数器(PC):存放将要被执行指令的地址的寄存器。,4.3 建立数据通路,二. MIPS指令实现(执行)过程取指 :从指令存储器中取出一条指令修改PC使其指向下一条指令指令译码& 读操作数: 将指令转换成一组机器控制命令 读寄存器中的操作数(无论以后是否会使用)执行:控制ALU实现相应操作,4.3 建立数据通路,存储器访问:从存储器中读/写数据只适用于 LW/SW指令写结果到寄存器:R型指令:结果写到RdI型指令:结果写到Rt,4.3 建立数据通路,三. MIPS寻址模式回顾 立即数寻址: addi $s0,$s0,4 寄存器寻址: add $s0,$s1,$s2 基址寻址: lw $s1,0($s0) PC相对寻址:beq $s0,$s1,L1 伪直接寻址: j Address1,4.3 建立数据通路,四. 创建一个简单的数据通路1. 取指令,4.3 建立数据通路,2. 译码/读寄存器寄存器堆:包含一系列寄存器的状态单元,可以通过提供寄存器号进行读写。,4.3 建立数据通路,读寄存器,Reg. address,Reg. address,Data output,4.3 建立数据通路,写寄存器,32 bits,rd or rt 5 bits,Reg. address,Write signals,4.3 建立数据通路,3. 不同的指令类型,操作不同,数据通路也不同。R-型指令数据通路算术逻辑运算指令I-型指令数据通路算术逻辑运算指令访存指令条件分支指令J-型指令数据通路跳转指令,R type Instruction & Data stream,bit21-25,bit16-20,bit11-15,4,RegWrite,ALU operation,control,32bits data,ALUC,I type Instruction & Data stream,rs,rt,rt,Registers,Read reg. address1,Read reg. address2,Write reg. address,Write data,Read data1,Read data2,ALU result,Zero,ALU,4,RegWrite,ALU operation,control,address,Write data,Read data,Sign extend,bit0-15,bit21-25,bit16-20,MenWrite,MenRead,16,32,32bits data,lw $t0, 200($s2)if $s2=1000,it will load word in element number 1200 to $t0,lw $t0, 200($s2)sw $t0, 200($s2),DataMemory,ALUC,ALUop,I type Instruction & Data stream of beq,rs,rt,Registers,Read reg. address1,Read reg. address2,Write reg. address,Write data,Read data1,Read data2,ALU result,Zero,ALU,4,RegWrite,ALU operation,Sign extend,bit0-15,bit21-25,bit16-20,16,32,Shift left 2,PC+4 from instructiondatapath,ADD,To PC,control,ALUC,Branch,ALUop,J type Instruction,rs,rt,Registers,Read reg. address1,Read reg. address2,Write reg. address,Write data,Read data1,Read data2,ALU result,Zero,ALU,4,RegWrite,ALU operation,Sign extend,bit0-15,bit21-25,bit16-20,16,32,Shift left 2,ADD,To PC,control,Branch,PC+431:28#bit25-00#00,Jump,bit25-00,Shift left 2,#,28,PC+431:28,bit25-00#00,J Loop,30,4. 合并数据通路,rs,rt,rd,imm,比较:add $t0,$t1,$t2lw $t0,4($t1),Funct!,注:该通路不包含跳转指令的实现,31,4.4 一个简单的实现机制,操作码,在数据通路上加入控制信号 (注:该通路不包含跳转指令的实现),一.各控制信号的作用,RegDst0:写寄存器的目标寄存器号来自rt字段(20:16) 1:写寄存器的目标寄存器号来自rd字段(15:11),一.各控制信号的作用,RegWrite0:无1:寄存器堆写使能有效,一.各控制信号的作用,ALUScr0:第二个ALU操作数来自寄存器堆的第二个输出 (Read data 2)1:第二个ALU操作数为指令低16位的符号扩展,一.各控制信号的作用,PCSrc(Branch)0:PC 由PC+4取代 1:PC由分支目标地址取代,PCSrc,一.各控制信号的作用,MemRead0:无1:数据存储器读使能有效,一.各控制信号的作用,MemWrite0:无1:将写数据端(Write data)的数 据写入到指定地址的存储单元中,一.各控制信号的作用,MemtoReg0:写入寄存器的数据来自ALU1:写入寄存器的数据来自数据存储器,一.各控制信号的作用,ALUOp:ALU的控制位,共两位。 用于与R型指令的funct字段一起译码形成4位ALU控制信号。,各控制信号的作用小结(对照P177 图4-17),ALUOp:ALU的控制位,共两位。 用于与R型指令的funct字段一起译码形成4位ALU控制信号。,4.4 一个简单的实现机制,两级译码:,4.4 一个简单的实现机制,主控制单元的功能ALUop (2)两组共7个控制信号4 Mux3 R/W,主控制器,指令操作码(6),ALU op (2),Mux (4),R/W (3),4.4 一个简单的实现机制,二. ALU 控制,ALU功能控制表,Load/Store指令: 使用加法计算地址相等则分支指令: 使用减法判断是否相等R型指令: 依赖funct 字段执行前5种操作中的一种,4.4 一个简单的实现机制,ALU 控制信号的形成,当ALUOp为00或01时,ALU动作不依赖于funct字段。建立真值表,最终形成门电路。,4.4 一个简单的实现机制,建立真值表,建立逻辑关系式,F0,F3,化简后:,思考:另外两位操作信号的产生逻辑式?,4.4 一个简单的实现机制,形成门电路,4.4 一个简单的实现机制,三. 主控制单元的设计1. 基本控制原理32位指令是相关控制信息的产生依据其中操作码确定相关操作(如:算术逻辑运算、读/写等)通过主控制单元发出各种控制信号来控制数据的传送 (如控制多选器的输入)指令类型和function字段共同决定ALU的操作,4.4 一个简单的实现机制,2.MIPS子集指令格式,3.各类指令在数据通路中的操作,Address,Datamemory,Read data,Writedata,Add,ALUresult,Shift left 2,Shift left 2,26,Instruction 25-0,jump address31-0,28,PC+431-28,Signextend,Instruction 15-0,16,32,Read address,Instruction31-0,Instructionmemory,Readregister 1,Readregister 2,Writeregister,Writedata,Readdata 1,Readdata 2,Registers,ALU,ALUresult,Zero,ALUcontrol,Control,Add,pc,4,Instruction 31-26,Instruction 25-21,Instruction 20-16,Instruction 15-11,RegDstBranchMemReadMemtoRegALUOpMemWriteALUSrcRegWrite,Instruction 5-0,jump,add sub and or slt,The Datapath in operation for R-type,26,28,Instruction 15-11,Writedata,Add,ALUresult,Shift left 2,Readregister 2,Readdata 2,Instruction 20-16,Instruction 5-0,Shift left 2,Instruction 25-0,jump address31-0,PC+431-28,Read address,Instruction31-0,Instructionmemory,Readregister 1,Writeregister,Writedata,Readdata 1,Registers,Address,Datamemory,Read data,ALU,ALUresult,Zero,ALUcontrol,Control,Add,pc,4,Signextend,Instruction 31-26,Instruction 25-21,Instruction 15-0,16,32,RegDstBranchMemReadMemtoRegALUOpMemWriteALUSrcRegWrite,jump,load instruction,The Datapath in operation for load,Read data,Writeregister,Writedata,26,28,Instruction 15-11,Add,ALUresult,Shift left 2,Readdata 2,Instruction 5-0,Shift left 2,Instruction 25-0,jump address31-0,PC+431-28,Read address,Instruction31-0,Readregister 1,Readdata 1,Registers,Datamemory,Control,Add,pc,4,Signextend,Instruction 31-26,Instruction 25-21,Instruction 15-0,16,32,RegDstBranchMemReadMemtoRegALUOpMemWriteALUSrcRegWrite,jump,store instruction,The Datapath in operation for store,Readregister 2,Instruction 20-16,Instructionmemory,Writedata,Address,ALU,ALUresult,Zero,ALUcontrol,Writedata,Address,ALUresult,Read data,Writeregister,Writedata,26,28,Instruction 15-11,Instruction 5-0,Shift left 2,Instruction 25-0,jump address31-0,PC+431-28,Read address,Instruction31-0,Readregister 1,Readdata 1,Registers,Control,Add,pc,4,Signextend,Instruction 31-26,Instruction 25-21,Instruction 15-0,16,32,RegDstBranchMemReadMemtoRegALUOpMemWriteALUSrcRegWrite,jump,beq instruction,The Datapath in operation for beq,Readregister 2,Instruction 20-16,Instructionmemory,ALU,ALUcontrol,Add,ALUresult,Shift left 2,Datamemory,Readdata 2,Zero,4.4 一个简单的实现机制,4.形成控制单元的输入输出表,4.4 一个简单的实现机制,5.形成控制单元电路,Registers,ALUcontrol,Readdata 2,Zero,Readregister 1,Readdata 1,Readregister 2,Add,ALUresult,Datamemory,Signextend,Instruction 25-21,Instruction 15-0,16,32,Instruction 20-16,ALU,Shift left 2,Writedata,Address,ALUresult,Read data,Writeregister,Writedata,Instruction 15-11,Instruction 5-0,Control,RegDstBranchMemReadMemtoReadALUOpMemWriteALUSrcRegWrite,jump,jump instruction,The Datapath in operation for Jump,Instructionmemory,28,Shift left 2,Instruction 25-0,jump address31-0,PC+431-28,Instruction 31-26,26,Read address,Instruction31-0,Add,pc,4,4.4 一个简单的实现机制,四. 为什么不使用单周期实现方式1. 单周期实现也称为单时钟周期实现,即一个时钟周期执行一条指令的实现机制每一条指令从一个时钟周期的上升沿(或下降沿)开始,在下一个时钟周期的上升沿(或下降沿)结束。简单,容易理解太慢不实用,效率低时钟周期要由执行时间最长的那条指令决定,4.4 一个简单的实现机制,2 . 单周期下各类指令对各功能单元的使用及执行时间,4.5 多周期实现机制,一. 什么是多周期实现将一条指令的执行过程划分成多个阶段,每个阶段占用一个时钟周期每个阶段的工作量尽量均等每个周期只使用一个主功能单元在每个周期末尾:增加额外的内部寄存器暂存后续周期会使用的数据不同类型的指令占用不同的时钟周期数,4.5 多周期实现机制,二. 多周期的数据通路,将指令存储器和数据存储器合为一个存储器将ALU和两个加法器合为一个ALU在每个功能单元后都增加相应的寄存器用于暂存该单元的输出结果直到在下一个周期将其内容送往下一个功能单元。,资源共享,4.5 多周期实现机制,指令寄存器(IR):从内存中取出的指令放到IR中数据缓冲寄存器(MDR):从内存中取出的数据放到MDR中A、B寄存器:从寄存器rs 和 rt 中读出的操作数存放到A和B 两个寄存器中ALUOut:存放ALU 的运算结果,4.5 多周期实现机制,三. MIPS指令执行过程划分为五个周期:1. IF:取指2. ID:译码和读寄存器3. EX(BC):执行/地址计算(分支完成)4. MEM(WB):存储器访问(R型指令写回)5. WB:写回每一条指令通常占用3 - 5 个周期!,4.5 多周期实现机制,取指周期(IF):根据PC从存储器中取出一条指令并送到指令寄存器(IR)中。IR = MemoryPC;将PC的内容加4并写到PC中。PC = PC + 4;该周期的操作可使用RTL (Register-Transfer Language)简单描述为: IR = MemoryPC; PC = PC + 4;,4.5 多周期实现机制,IR = MemoryPC;PC = PC + 4;,PC + 4,64,4.5 多周期实现机制,2. 译码和读寄存器周期(ID):读寄存器rs和rt中的操作数(无论以后是否会使用)。若是分支指令,则计算分支目标地址。 为什么?原因一:ALU当前空闲原因二:ALUOut可以暂存目标地址RTL:A = RegIR25-21;B = RegIR20-16;ALUOut =PC+(sign-extend(IR15-0) << 2);,4.5 多周期实现机制,A = RegIR25-21;(A = Regrs)B = RegIR20-15;(B = Regrt)ALUOut = (PC + sign-extend(IR15-0) << 2),BranchTargetAddress,66,4.5 多周期实现机制,3.执行/地址计算周期(EX): 根据指令类型的不同,执行不同操作:访存指令( lw / sw ):ALUOut = A + sign-extend(IR15-0);R型指令:ALUOut = A op B;条件分支:if (A=B) PC = ALUOut;跳转指令: PC = PC31-28,(IR25-0 << 2);,4.5 多周期实现机制,lw/sw :ALUOut = A + sign-extend(IR15-0);,68,4.5 多周期实现机制,R型指令: ALUOut = A op B,69,4.5 多周期实现机制,条件分支: if (A = B) PC = ALUOut;,BranchTargetAddress,70,4.5 多周期实现机制,跳转指令:PC = PC31-28,(IR25-0 << 2),JumpAddress,71,4.5 多周期实现机制,4.访存周期( MEM ) /R型指令写回周期(WB): 根据指令类型的不同,执行不同操作:Load/stores指令:MDR = MemoryALUOut; # for lwMemoryALUOut = B; # for swR型指令完成:Regrd = RegIR15-11 = ALUOut;注:写操作实际发生在该时钟周期的后沿时刻。,4.5 多周期实现机制,lw :MDR = MemoryALUOut;,Mem.Data,73,4.5 多周期实现机制,Sw: MemoryALUOut = B;,74,4.5 多周期实现机制,R型指令: RegIR15:11 = ALUOUT,75,4.5 多周期实现机制,5. 写回周期(WB): 写结果到寄存器Load指令 Regrt=RegIR20-16= MDR;,4.5 多周期实现机制,RegIR20-16 = MDR;,77,4.5 多周期实现机制,四. 各类指令在多周期中的执行,R-type:,Instruction fetchIR <= MemoryPC; sub $t0,$t1,$t2PC <= PC + 4;Decode instruction/register readA <= RegIR25:21; rsB <= RegIR20:16; rtALUOut <= PC + (sign-extend(IR15:0)<<2);ExecutionALUOut <= A op B; op = add, sub, and, or,CompletionRegIR15:11 <= ALUOut; $t0 <= ALU result,79,lw:,Instruction fetchIR <= MemoryPC; lw $t0,-12($t1)PC <= PC + 4;Instruction Decode/register readA <= RegIR25:21; rsB <= RegIR20:16;ALUOut <= PC + (sign-extend(IR15:0)<<2);ExecutionALUOut <= A + sign-extend(IR15:0); $t1 + -12 (sign extended) Memory AccessMDR <= MemoryALUOut; M$t1 + -12Write-backLoad: RegIR20:16 <= MDR; $t0 <= M$t1 + -12,80,Sw:,Instruction fetchIR <= MemoryPC; sw $t0,-12($t1)PC <= PC + 4;Decode/register readA <= RegIR25:21; rsB <= RegIR20:16; rtALUOut <= PC + (sign-extend(IR15:0)<<2);ExecutionALUOut <= A + sign-extend(IR15:0); $t1 + -12 (sign extended) Memory AccessMemoryALUOut <= B; M$t1 + -12 <= $t0,81,beq:,Instruction fetchIR <= MemoryPC; beq $t0,$t1,labelPC <= PC + 4;Decode/register readA <= RegIR25:21; rsB <= RegIR20:16; rt ALUOut <= PC + (sign-extend(IR15:0)<<2);Executionif (A = B) then PC <= ALUOut; if $t0 = $t1 perform branch注:此处ALU用于判断A和B是否相等,作为分支条件,82,j:,Instruction fetchIR <= MemoryPC; j labelPC <= PC + 4;Decode/register readA <= RegIR25:21;B <= RegIR20:16;ALUOut <= PC + (sign-extend(IR15:0)<<2);ExecutionPC <= PC31:28,IR25:0,2b00;,83,4.5 多周期实现机制,五. 多周期CPU的CPI CPI:每条指令的平均周期数,表示执行某个程序或程序片断时每条指令所需的时钟周期平均数。例:某CPU按以上多周期方式执行一段程序,其中load 指令占指令总数的22% ,store指令占11% , R-type 指令占49% , branch指令占16% , jump指令占2% 。假设各类指令每个阶段占用一个时钟周期,求其CPI值是多少? 解:各类指令分别占用的周期数为: Load:5, store :4, R-type :4, branch :3, jump: 3,4.5 多周期实现机制,解:各类指令分别占用的周期数为: Load:5, store :4, R-type :4, branch :3, jump: 3 CPI = CPU 总周期数/ 指令总条数 = (指令条数class i CPIclass i) /指令总条数 = (指令条数class i /指令总条数) CPIclass i = 0.22 5 + 0.11 4 + 0.49 4 + 0.16 3 + 0.02 3 = 4.04,4.5 多周期实现机制,六. 多周期实现1. 完善数据通路,4.5 多周期实现机制,2. 添加控制信号,3. 建立最终版数据通路,88,4. 各控制信号的功能,89,IorD0:PC 提供存储器访问地址1:ALUOut提供存储器访问地址,4. 各控制信号的功能,90,IRWrite0:无1:将存储器中取出的指令写入IR,4. 各控制信号的功能,91,PCWrite0:无1:PC写使能有效,4. 各控制信号的功能,92,PCWriteCond0:无1:带条件的PC写使能有效(Zero输出有效),4. 各控制信号的功能,93,ALUScrA0: ALU 第一个操作数来源于PC1: ALU 第一个操作数来源于A 寄存器,4. 各控制信号的功能,94,ALUScrB00: ALU 第二个操作数来源于B 寄存器01: ALU 第二个操作数是常数410: ALU 第二个操作数是由IR中低16位立即数字段经扩展后得到11: ALU 第二个操作数是由IR中低16位立即数字段经扩展后并左移两位得到,4. 各控制信号的功能,95,PCSource00: ALU的运算结果(PC+4) 被送往PC待写01: ALUOut 中的内容(分支目标地址)被送往PC待写10:跳转目标地址(IR25:0左移 2 位与PC+431:28拼接)被送往PC待写,各控制信号的功能小结,96,各控制信号的功能小结(续),97,5. 指令执行过程中控制信号的设置,第一阶段:取指,IR = MemoryPC;PC = PC + 4;,1,0,1,0,1,0,X,0,X,0,010,1,98,第二阶段:译码 & 读寄存器,A = RegIR25-21;(A = Regrs)B = RegIR20-15;(B = Regrt)ALUOut = (PC + sign-extend(IR15-0) << 2);,0,0,X,0,0,X,3,0,X,X,010,0,99,0,X,第三阶段:执行 访存指令,ALUOut = A + sign-extend(IR15-0);,X,2,0,0,X,0,1,X,010,0,100,第三阶段:执行 R型指令,ALUOut = A op B;,0,X,X,0,0,0,X,0,1,X,?,0,101,1 if Zero=1,第三阶段:执行 分支指令,if (A = B) PC = ALUOut;,0,X,X,0,0,X,0,1,1,011,0,102,第三阶段:执行 跳转指令,PC = PC21-28,(IR25-0 << 2);,0,X,X,X,0,1,X,0,X,2,XXX,0,103,第四阶段:访存 lw指令,MDR = MemoryALUOut;,0,X,X,X,1,0,1,0,X,X,XXX,0,104,第四阶段:访存 sw指令,MemoryALUOut = B;,0,X,X,X,0,0,1,1,X,X,XXX,0,105,1,0,0,X,0,X,0,XXX,X,X,0,1,5,5,RD1,RD2,RN1,RN2,WN,WD,RegWrite,Registers,Operation,ALU,3,16,32,Zero,RD,WD,MemRead,Memory,ADDR,MemWrite,5,Instruction,I,32,ALUSrcB,<<2,PC,4,RegDst,5,I,R,M,D,R,A,B,ALU,OUT,<<2,CONCAT,28,32,ALUSrcA,jmpaddr,I25:0,rd,rt,rs,immediate,PCSource,MemtoReg,IorD,PCWr*,IRWrite,第四阶段:访存 R型指令完成,RegIR15:11 = ALUOut; (RegRd = ALUOut),106,第五阶段:写回 lw指令完成,RegIR20-16 = MDR;,1,1,0,X,0,0,X,0,X,X,XXX,0,5,5,RD1,RD2,RN1,RN2,WN,WD,RegWrite,Registers,Operation,ALU,3,16,32,Zero,RD,WD,MemRead,Memory,ADDR,MemWrite,5,Instruction,I,32,ALUSrcB,<<2,PC,4,RegDst,5,I,R,M,D,R,A,B,ALU,OUT,<<2,CONCAT,28,32,ALUSrcA,jmpaddr,I25:0,rd,rt,rs,immediate,PCSource,MemtoReg,IorD,PCWr*,IRWrite,107,4.5 多周期实现机制,6. 控制实现不同控制信号值的产生依赖于:被执行的指令类型指令执行到了哪个阶段ALU相关操作占用一个时钟周期,因此ALU控制单元和单周期实现中一样,无需修改。如何设计主控制单元? 两种实现方法:有限状态机组合逻辑控制器微程序编程微程序控制器,(1) 有限状态机(FSM)状态图,FSM放大图-1,FSM放大图-1,FSM放大图-2(访存指令),FSM放大图-2(访存指令),FSM放大图-2(访存指令),FSM放大图-2(访存指令),FSM放大图3(R型指令),FSM放大图3(R型指令),FSM放大图4(分支和跳转指令),FSM放大图4(分支和跳转指令),(2)只依赖于状态输入的16位数据通路控制输出真值表,(3)简化的主控单元逻辑式,(4)FSM的实现:组合逻辑电路+寄存器(用于保存当前状态),4.5 多周期实现机制,七. 例:指令lw $t0,4($t1)的多周期实现过程解:lw $t0,4($t1) rt rs1. 转化为机器指令: opcode rs rt immediate(lw操作码编号为0x23,t0为8,t1为9)100011 01001 01000 0000 0000 0000 0100IR31:26 IR25:21 IR20:16 IR15:0,

    注意事项

    本文(53 时序控制方式与时序系统.ppt)为本站会员(创****公)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开