数据通路的建立重点课件

上传人:痛*** 文档编号:241404642 上传时间:2024-06-23 格式:PPT 页数:180 大小:2.18MB
返回 下载 相关 举报
数据通路的建立重点课件_第1页
第1页 / 共180页
数据通路的建立重点课件_第2页
第2页 / 共180页
数据通路的建立重点课件_第3页
第3页 / 共180页
点击查看更多>>
资源描述
5 处理器处理器20091华东师范大学计算机科学技术系5 处理器处理器5.1 5.1 概述概述5.2 5.2 数据通路的建立数据通路的建立5.3 5.3 一个简单的实现方案一个简单的实现方案5.4 5.4 多周期实现方法多周期实现方法5.5 5.5 异常异常5.6 5.6 硬布线控制器硬布线控制器5.7 5.7 微程序微程序控制器控制器5.85.8 PentiumPentium处理器的实现结构处理器的实现结构20092华东师范大学计算机科学技术系5 5 中央处理器中央处理器5.1 5.1 概述概述20093华东师范大学计算机科学技术系5.1 5.1 概述概述一、一、处理器功能处理器功能处理器(处理器(CPU)Central Processing Unit 计算机中自动完成取出指令和执计算机中自动完成取出指令和执 行指令任务的部件行指令任务的部件决定决定计算机性能的三个关算机性能的三个关键因素:因素:指令数目指令数目 指令系指令系统、编译器器 时钟周期周期 处理器的理器的实 每条指令所需每条指令所需时钟周期数周期数 现方式方式CPU是是计算机的核心部分计算机的核心部分20094华东师范大学计算机科学技术系一、处理器功能一、处理器功能1.1.基本功能基本功能 指令控制:控制程序严格按规定的顺序依指令控制:控制程序严格按规定的顺序依 次执行次执行 操作控制:按指令规定的要求,产生操作操作控制:按指令规定的要求,产生操作 控制信号,控制各部件工作控制信号,控制各部件工作 时间控制:对各种操作实施时间上的定时,时间控制:对各种操作实施时间上的定时,使计算机有条不紊地工作使计算机有条不紊地工作 数据加工:对数据进行算术运算和逻辑运数据加工:对数据进行算术运算和逻辑运 算处理算处理PC+IR+IDPC+IR+ID操作控制器操作控制器时序产生器时序产生器运算器运算器20095华东师范大学计算机科学技术系5.1 5.1 概述概述二、二、CPU的基本组成的基本组成CPUCPU控制器控制器运算器运算器CPUCPU控制器控制器运算器运算器CacheCachePCPCIRIRIDID操作控制器操作控制器时序产生器时序产生器ALUALUACACMDRMDRARARPSWPSW20096华东师范大学计算机科学技术系CPU模型模型时钟时钟状态状态反馈反馈cccccc c cCPUc c c c c c20097华东师范大学计算机科学技术系执行指令执行指令二、二、CPU的基本组成的基本组成1.控制器控制器 是发布命令的是发布命令的“决策机构决策机构”,即完成协调和,即完成协调和指挥整个计算机系统的操作指挥整个计算机系统的操作主要任务主要任务:从内存中取出一条指令,并指出下一条指令从内存中取出一条指令,并指出下一条指令在内存中的位置在内存中的位置 对指令进行译码或测试,并产生相应的操作对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作控制信号,以便启动规定的动作 指挥并控制指挥并控制CPU、内存和输入内存和输入/输出设备之输出设备之间数据流动的方向间数据流动的方向取指令取指令分析指令分析指令20098华东师范大学计算机科学技术系二、二、CPU的基本组成的基本组成2.运算器运算器 是一个执行部件,运算器接受控制器的命令是一个执行部件,运算器接受控制器的命令而进行动作而进行动作,完成数据加工处理。,完成数据加工处理。主要功能主要功能执行算术运算执行算术运算 执行逻辑运算,包括逻辑测试执行逻辑运算,包括逻辑测试 如:如:零值测试或两个值的比较等零值测试或两个值的比较等20099华东师范大学计算机科学技术系5.1 5.1 概述概述三、三、CPU中的主要寄存器中的主要寄存器 存储器数据寄存器(存储器数据寄存器(MDR)寄存器(寄存器(AC)指令寄存器(指令寄存器(IR)程序计数器(程序计数器(PC)存储器地址寄存器(存储器地址寄存器(MAR)状态条件寄存器(状态条件寄存器(PSW)200910华东师范大学计算机科学技术系CPU模型模型时钟时钟状态状态反馈反馈cccccc c cCPUc c c c c c200911华东师范大学计算机科学技术系三、三、CPU中的主要寄存器中的主要寄存器1.存储器数据寄存器(存储器数据寄存器(MDR)存放当前访问内存或外设的内容存放当前访问内存或外设的内容 作用作用 补偿补偿CPU和内存、外围设备之间在操作速和内存、外围设备之间在操作速 度上的差别度上的差别2.寄存器(寄存器(AC)具有通用寄存器功能,简称累加器具有通用寄存器功能,简称累加器200912华东师范大学计算机科学技术系三、三、CPU中的主要寄存器中的主要寄存器3.指令寄存器(指令寄存器(IR)保存当前正在执行的那条指令保存当前正在执行的那条指令 当执行一条指令时,先把它从内存取到缓当执行一条指令时,先把它从内存取到缓冲冲 寄存器中,然后再传送至指令寄存器寄存器中,然后再传送至指令寄存器 指令寄存器的操作码字段送指令译码器,指令寄存器的操作码字段送指令译码器,译译 码产生指令类型码码产生指令类型码200913华东师范大学计算机科学技术系三、三、CPU中的主要寄存器中的主要寄存器4.程序计数器(程序计数器(PC)确定下一条指令的地址确定下一条指令的地址 程序开始执行前,将程序的首地址送入程序开始执行前,将程序的首地址送入PC 程序顺序执行时,程序顺序执行时,CPU自动修改自动修改PC的内的内 容,指向下一条指令的地址容,指向下一条指令的地址 执行转移指令时,按指令给出的转移地址执行转移指令时,按指令给出的转移地址 修改修改PC内容内容200914华东师范大学计算机科学技术系三、三、CPU中的主要寄存器中的主要寄存器5.存储器地址寄存器(存储器地址寄存器(MAR)保存当前保存当前CPU所访问的内存单元所访问的内存单元 或或I/O端口的地址端口的地址 由于内存和由于内存和CPU之间存在着操作速度上的之间存在着操作速度上的差异,所以必须使用地址寄存器来保持地址差异,所以必须使用地址寄存器来保持地址信息,直到内存的读信息,直到内存的读/写操作完成为止写操作完成为止 CPU和其他部件(内存、外设)交换信息和其他部件(内存、外设)交换信息都需使用地址寄存器和数据缓冲寄存器都需使用地址寄存器和数据缓冲寄存器200915华东师范大学计算机科学技术系三、三、CPU中的主要寄存器中的主要寄存器6.状态条件寄存器(状态条件寄存器(PSW)专用寄存器专用寄存器 保存运行或测试结果产生的各种状态信息保存运行或测试结果产生的各种状态信息 如:运算结果进位标志如:运算结果进位标志(C)运算结果溢出标志运算结果溢出标志(V)运算结果为零标志运算结果为零标志(Z)运算结果为负标志运算结果为负标志(N)奇偶标志奇偶标志 等等等等 200916华东师范大学计算机科学技术系6.状态条件寄存器(状态条件寄存器(PSW)保存中断和系统工作状态等信息,以便使保存中断和系统工作状态等信息,以便使 CPU和系统能及时了解机器运行状态和程和系统能及时了解机器运行状态和程 序运行情况序运行情况 如:中断允许标志(如:中断允许标志(IF)单步执行标志(单步执行标志(T)方向标志(方向标志(D)等等等等 标志位通常分别由标志位通常分别由1位触发器记忆,因此,位触发器记忆,因此,状态条件寄存器是一个由各种状态条件标状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器志拼凑而成的寄存器200917华东师范大学计算机科学技术系5.15.1 概述概述四、操作控制器与时序产生器四、操作控制器与时序产生器 数据通路数据通路各寄存器之间传送信息的通路各寄存器之间传送信息的通路 在各寄存器之间建立数据通路的任务,是由在各寄存器之间建立数据通路的任务,是由 操作控制器来完成的操作控制器来完成的200918华东师范大学计算机科学技术系四、操作控制器与时序产生器四、操作控制器与时序产生器1.操作控制器操作控制器 功能功能:根据指令操作码和时序信号,产生各种操根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,作控制信号,以便正确地建立数据通路,以控制计算机各部件有序工作。以控制计算机各部件有序工作。由控制流控制数据流有向流动,完成取指由控制流控制数据流有向流动,完成取指令和执行指令的控制令和执行指令的控制 设计方法:设计方法:组合逻辑型组合逻辑型硬布线控制器硬布线控制器存储逻辑型存储逻辑型微程序控制器微程序控制器组合逻辑与存储逻辑结合型组合逻辑与存储逻辑结合型门阵列门阵列200919华东师范大学计算机科学技术系四、操作控制器与时序产生器四、操作控制器与时序产生器2.时序产生器时序产生器 功能功能:对各种操作实施时间上的控制对各种操作实施时间上的控制 根据时钟信号产生周期、节拍、脉冲信号,根据时钟信号产生周期、节拍、脉冲信号,控制计算机有序工作控制计算机有序工作200920华东师范大学计算机科学技术系四、操作控制器与时序产生器四、操作控制器与时序产生器3.实现框图实现框图 输入信号:输入信号:指令译码器输出信号指令译码器输出信号 时钟信号时钟信号 机器工作状态反馈信号机器工作状态反馈信号 其他部件送往其他部件送往CPU的请求信号的请求信号 输出信号:输出信号:输出一系列操作控制信号,指挥各部输出一系列操作控制信号,指挥各部 件有序工作件有序工作200921华东师范大学计算机科学技术系CPU模型模型时钟时钟状态状态反馈反馈cccccc c cCPUc c c c c c200922华东师范大学计算机科学技术系5.15.1 概述概述五、处理器实现概述五、处理器实现概述 指令执行的过程与指令类型无关指令执行的过程与指令类型无关 计算机所以能自动地工作,是因为计算机所以能自动地工作,是因为CPUCPU能从存放程序的内存能从存放程序的内存 里取出一条指令并执行这条指令;紧接着又取下一条指令,里取出一条指令并执行这条指令;紧接着又取下一条指令,执行下一条指令执行下一条指令,如此周而复始,构成了一个封闭的,如此周而复始,构成了一个封闭的 循环。除非遇到停机指令,否则这个循环将一直继续下去循环。除非遇到停机指令,否则这个循环将一直继续下去 严格在时序控制下进行严格在时序控制下进行200923华东师范大学计算机科学技术系五、处理器实现概述五、处理器实现概述MIPS实现的高层视图:实现的高层视图:P186图图5-1下一条指令地址:下一条指令地址:PC+4PC PC+4+指令给出的偏移量指令给出的偏移量PC写入寄存器堆的数据来源:写入寄存器堆的数据来源:ALU运算结果运算结果 内存内存数据通路由数据通路由MUX选择选择 由指令译码产生由指令译码产生ALU、内存等操作类型、内存等操作类型 操作控制信号操作控制信号200924华东师范大学计算机科学技术系五、处理器实现概述五、处理器实现概述在图在图5-1基础上增加必须的控制电路:基础上增加必须的控制电路:图图5-2 MUX MUX 选择下一条指令地址(顺序还是分支)选择下一条指令地址(顺序还是分支)选择寄存器堆写入内容选择寄存器堆写入内容 选择操作数来源选择操作数来源控制器控制器 根据指令译码产生操作控制信号根据指令译码产生操作控制信号 指令单周期完成指令单周期完成 图图5-3:一个时钟周期从状态:一个时钟周期从状态1(完成组合逻辑功能)(完成组合逻辑功能)到状态到状态2 图图5-4:状态单元在同一时钟周期内读出并写入:状态单元在同一时钟周期内读出并写入200925华东师范大学计算机科学技术系5 处理器处理器5.1 5.1 概述概述5.2 5.2 数据通路的建立数据通路的建立200926华东师范大学计算机科学技术系5.2 5.2 数据通路的建立数据通路的建立一、读一条指令并计算下一条指令地址一、读一条指令并计算下一条指令地址 所需部件:所需部件:P190P190图图5-55-5 数据通路:数据通路:图图5-65-6程程序序计计数数器器指令指令指令指令存储器指令存储器地址地址Add4PC指向程序指向程序首地址首地址指令顺序执行:指令顺序执行:PC加加4,指向下,指向下一条指令地址一条指令地址200927华东师范大学计算机科学技术系5.2 5.2 数据通路的建立数据通路的建立二、非访内指令的执行二、非访内指令的执行R R型指令:型指令:addadd、subsub、andand、oror和和sltslt指令指令特点:操作数来自两个寄存器特点:操作数来自两个寄存器 进行算术或逻辑运算进行算术或逻辑运算 运算结果写回寄存器运算结果写回寄存器例:例:add$t1,$t2,$t3add$t1,$t2,$t3 功能:功能:($t1)+($t2)$t3($t1)+($t2)$t3200928华东师范大学计算机科学技术系二、非访内指令的执行二、非访内指令的执行处理器有处理器有3232个通用寄存器个通用寄存器寄存器堆寄存器堆 需要需要5 5位唯一选择某一个寄存器位唯一选择某一个寄存器 输出控制:输出控制:5 5位读寄存器位读寄存器1 1选择选择 5 5位读寄存器位读寄存器2 2选择选择 数据输出:寄存器数据输出:寄存器1 1输出输出 寄存器寄存器2 2输出输出 输入控制:输入控制:5 5位写寄存器选择位写寄存器选择 数据输入、写命令数据输入、写命令 数据宽度为数据宽度为3232位位 寄存器堆寄存器堆 图图5-7a5-7a ALU+PSW ALU+PSW(仅(仅1 1位状态标记位状态标记Zero)Zero)图图5-7b5-7b ALU ALU操作由操作由4 4位控制,可选择位控制,可选择1616种操作种操作200929华东师范大学计算机科学技术系5.2 5.2 数据通路的建立数据通路的建立三、访内指令的执行三、访内指令的执行访内指令:访内指令:lwlw、swsw特点:操作数来自(或送至)存储器特点:操作数来自(或送至)存储器例:例:lwlw$t1,offset_value($t2)$t1,offset_value($t2)功能:将基址寄存器功能:将基址寄存器$t2$t2的内容与指令中的内容与指令中 1616位有符号偏移量相加,得存储器位有符号偏移量相加,得存储器 地址,取出操作数送地址,取出操作数送$t1$t1 swsw$t1,offset_value($t2)$t1,offset_value($t2)功能:将基址寄存器功能:将基址寄存器$t2$t2的内容与指令中的内容与指令中 1616位有符号偏移量相加,得存储器位有符号偏移量相加,得存储器 地址,将地址,将$t1$t1内容送该存储单元内容送该存储单元 增加两个部件:数据存储器、符号扩展单元增加两个部件:数据存储器、符号扩展单元 图图5-85-8 200930华东师范大学计算机科学技术系5.2 5.2 数据通路的建立数据通路的建立四、程序控制指令的执行四、程序控制指令的执行程序控制指令:分支指令(条件转移)程序控制指令:分支指令(条件转移)特点:根据条件决定后续指令地址特点:根据条件决定后续指令地址例:例:beqbeq$t1,$t2,offset$t1,$t2,offset 功能:判断功能:判断($t1)=($t2)?($t1)=($t2)?否:顺序执行否:顺序执行 PC+4PC+4 是:分支跳转是:分支跳转 PC+4+PC+4+偏移量偏移量200931华东师范大学计算机科学技术系四、程序控制指令的执行四、程序控制指令的执行实现:实现:P193P193图图5-95-9、P187P187图图5-25-2判断是否相等判断是否相等 ALU+PSWALU+PSW分支目标地址计算分支目标地址计算 符号扩展单元符号扩展单元+加法器加法器 符号扩展单元符号扩展单元 161632 补入同符号位补入同符号位 左移二位左移二位 字对齐字对齐 在在MIPSMIPS指令集中分支指令采用延迟执指令集中分支指令采用延迟执行行 法,即在下一条指令执行后才转移(考法,即在下一条指令执行后才转移(考 虑流水线问题),此例中忽略虑流水线问题),此例中忽略200932华东师范大学计算机科学技术系5.2 5.2 数据通路的建立数据通路的建立五、可执行上述类型指令的综合数据通路五、可执行上述类型指令的综合数据通路 (单时钟周期内执行一条指令)(单时钟周期内执行一条指令)方法:增加方法:增加MUX MUX 图图5-115-11 MUX MUX选择控制:选择控制:PCSrcPCSrc:是否分支控制,由指令类型:是否分支控制,由指令类型 码和状态位码和状态位ZeroZero决定决定 ALUSrcALUSrc:操作数来源选择控制:操作数来源选择控制 MemtoRegMemtoReg:写入寄存器堆数据来源:写入寄存器堆数据来源的的 选择控制(运算结果或数选择控制(运算结果或数 据存储器)据存储器)200933华东师范大学计算机科学技术系5 处理器处理器5.1 5.1 概述概述5.2 5.2 数据通路的建立数据通路的建立5.3 5.3 一个简单的实现方案一个简单的实现方案200934华东师范大学计算机科学技术系5.3 5.3 一个简单的实现方案一个简单的实现方案例例:简单的简单的MIPSMIPS子集实现方案子集实现方案 包括数据通路及其控制包括数据通路及其控制功能:功能:支持取字支持取字lwlw、存字、存字swsw 访内指访内指令令 支持算术逻辑运算指令支持算术逻辑运算指令addadd、subsub、andand、oror和和sltslt 非访内指令非访内指令 支持等值分支支持等值分支beqbeq指令、跳转指令指令、跳转指令j j 程序控制指令程序控制指令200935华东师范大学计算机科学技术系5.3 5.3 一个简单的实现方案一个简单的实现方案一、一、ALUALU的控制的控制 所采用的所采用的ALUALU有有4 4个选择控制端,可完成个选择控制端,可完成1616种操作。种操作。此例中,此例中,ALUALU只需完成只需完成5 5种操作,相应的控种操作,相应的控制输入码为:制输入码为:ALU控制输入码控制输入码功能功能0000与与0001或或0010加加0110减减0111小于则置小于则置1200936华东师范大学计算机科学技术系一、一、ALUALU的控制的控制分析:分析:执行执行lwlw、swsw指令:指令:ALUALU完成加运算完成加运算 执行执行beqbeq指令:指令:ALUALU完成减运算完成减运算 执行算术逻辑运算指令:执行算术逻辑运算指令:ALUALU完成完成5 5种运种运算算区分三类指令:区分三类指令:2 2位位ALUopALUop 00 01 1 00 01 1区分第三类指令的种操作:区分第三类指令的种操作:指令的低位功能字段指令的低位功能字段 P46图图2-132 2位位ALUopALUop和位指令功能字段编码和位指令功能字段编码 产生产生4 4位位ALUALU控制输入码控制输入码 P196P196图图5-125-12200937华东师范大学计算机科学技术系一、一、ALUALU的控制的控制设计方法:多层解码设计方法:多层解码 三类指令三类指令 2 2位位ALUopALUop (由指令的(由指令的OPOP码译码产生)码译码产生)2 2位位ALUopALUop+位指令功能字段编码位指令功能字段编码 产生产生4位位ALU控制输入码控制输入码 使用多层控制可减少主控制单元的规模,提高使用多层控制可减少主控制单元的规模,提高控制单元的速度控制单元的速度200938华东师范大学计算机科学技术系一、一、ALUALU的控制的控制实现方法:利用无关项简化电路实现方法:利用无关项简化电路分析:分析:ALUALU控制输入码的高位恒为控制输入码的高位恒为0 0,仅需产生低,仅需产生低3 3位位 ALUopALUop:0000、X1X1、1X1X(因(因1111输入不用)输入不用)指令的指令的6 6位功能字段编码只用了位功能字段编码只用了6464种中的很种中的很 小一部分,可简化设计。小一部分,可简化设计。仅当仅当ALUopALUop的高位为的高位为1 1时,由指令的时,由指令的6 6位功能位功能 字段的低字段的低4 4位决定位决定ALUALU控制输入码控制输入码列出真值表(图列出真值表(图5-135-13)电路实现电路实现输入:输入:ALUop1:0ALUop1:0,F5-F0F5-F0输出:输出:3 3位位ALUALU控制输入码(控制输入码(+高位高位0 0)200939华东师范大学计算机科学技术系5.3 5.3 一个简单的实现方案一个简单的实现方案二、主控制单元的设计二、主控制单元的设计模型机的指令集包含三类指令,格式见图模型机的指令集包含三类指令,格式见图5-145-14分析:分析:操作码操作码OPOP:31:26,31:26,用用Op5:0Op5:0表示表示 R R型指令:型指令:0 0 beqbeq指令指令:4:4 lwlw指令指令:35 :35 swsw指令指令:43:43 源操作数:源操作数:rs25:21rs25:21、rt20:16rt20:16 lwlw指令的基址寄存器:指令的基址寄存器:rs25:21rs25:21 目的寄存器:目的寄存器:lwlw指令:指令:rt20:16rt20:16 R R型指令:型指令:rd15:11rd15:11 需用需用MUXMUX选择选择200940华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计实现框图:实现框图:P198P198图图5-155-15组成:组成:PC PC后继地址产生电路后继地址产生电路 程序计数器、加法器程序计数器、加法器22、移位器、移位器、MUXMUX 存储器存储器 指令存储器、数据存储器指令存储器、数据存储器 运算单元运算单元 ALUALU、PSWPSW、寄存器堆、符号扩展单元、寄存器堆、符号扩展单元、MUXMUX3 ALU控制器控制器200941华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制信号:控制信号:P199图图5-16 RegDstRegDst:选择目的寄存器:选择目的寄存器 (存取指令(存取指令/R/R型指令)型指令)RegWriteRegWrite:寄存器写命令(非写即读)寄存器写命令(非写即读)ALUSrcALUSrc:第:第2 2个源操作数选择个源操作数选择 (rtrt/符号扩展后的偏移量)符号扩展后的偏移量)PCSrcPCSrc:选择后继指令地址:选择后继指令地址 MemReadMemRead:存储器读命令:存储器读命令 MemWriteMemWrite:存储器写命令:存储器写命令 MemtoRegMemtoReg:选择写入目的寄存器的内容来源:选择写入目的寄存器的内容来源 ALUopALUop:与指令功能码一起产生:与指令功能码一起产生ALUALU控制输入码控制输入码200942华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制电路控制电路产生操作控制信号产生操作控制信号 P200图图5-17 分析分析 PCSrcPCSrc信号由分支指令操作码和运算结果的状信号由分支指令操作码和运算结果的状 态产生态产生 其余其余8个仅由指令的操作码产生个仅由指令的操作码产生控制控制单元单元Op31:26Op31:26RegDstRegDstBranchBranchMemReadMemReadMemtoRegMemtoRegALUOp1-0ALUOp1-0MemWriteMemWriteALUSrcALUSrcRegWriteRegWriteZeroZeroPCSrcPCSrc指令译码产生相应的操作控制信号指令译码产生相应的操作控制信号执行不同指令所产生的操作控制信号见执行不同指令所产生的操作控制信号见P201图图5-18200943华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制信号:控制信号:P199图图5-16 RegDstRegDst:选择目的寄存器:选择目的寄存器 (存取指令(存取指令/R/R型指令)型指令)RegWriteRegWrite:寄存器写命令(非写即读)寄存器写命令(非写即读)ALUSrcALUSrc:第:第2 2个源操作数选择个源操作数选择 (rtrt/符号扩展后的偏移量)符号扩展后的偏移量)PCSrcPCSrc:选择后继指令地址:选择后继指令地址 MemReadMemRead:存储器读命令:存储器读命令 MemWriteMemWrite:存储器写命令:存储器写命令 MemtoRegMemtoReg:选择写入目的寄存器的内容来源:选择写入目的寄存器的内容来源 ALUopALUop:与指令功能码一起产生:与指令功能码一起产生ALUALU控制输入码控制输入码PCSrc200944华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计 指令执行的数据通路:指令执行的数据通路:P201P201图图5-195-191.非访内指令(非访内指令(R R型指令)的执行流程型指令)的执行流程2.例:例:add$t1,$t2,$t3add$t1,$t2,$t33.取指令,从指令存储器中读出一条指令;取指令,从指令存储器中读出一条指令;4.PC增值,产生下一条指令地址。增值,产生下一条指令地址。5.指令译码:指令译码:下一条指令地址送下一条指令地址送PC;6.产生相应的操作控制信号;产生相应的操作控制信号;7.读出寄存器读出寄存器$t2$t2和和$t3$t3内容内容,送送ALUALU。8.8.ALU完成加运算(完成加运算(ALUop和指令功能字段控和指令功能字段控制制9.产生相应的产生相应的ALU操作控制信号)。操作控制信号)。10.写入运算结果,运算结果送写入运算结果,运算结果送$t1。200945华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制信号:控制信号:P199图图5-16 RegDstRegDst:选择目的寄存器:选择目的寄存器 (存取指令(存取指令/R/R型指令)型指令)RegWriteRegWrite:寄存器写命令(非写即读)寄存器写命令(非写即读)ALUSrcALUSrc:第:第2 2个源操作数选择个源操作数选择 (rtrt/符号扩展后的偏移量)符号扩展后的偏移量)PCSrcPCSrc:选择后继指令地址:选择后继指令地址 MemReadMemRead:存储器读命令:存储器读命令 MemWriteMemWrite:存储器写命令:存储器写命令 MemtoRegMemtoReg:选择写入目的寄存器的内容来源:选择写入目的寄存器的内容来源 ALUopALUop:与指令功能码一起产生:与指令功能码一起产生ALUALU控制输入码控制输入码PCSrcPCSrc 取指令,从指取指令,从指 令存储器中读令存储器中读 出一条指令;出一条指令;指令译码:指令译码:下一条指令下一条指令地地 址送址送PCPC;产生相应的操产生相应的操作作 控制信号;控制信号;写入运算结写入运算结 果,运算结果,运算结 果送果送$t1$t1。ALUALU完成加运完成加运 算(算(ALUopALUop和和 指令功能字段指令功能字段 控制产生相应控制产生相应 的的ALUALU操作控制操作控制 信号)信号)PCPC增值,产生下增值,产生下 一条指令地址。一条指令地址。读出寄存器读出寄存器$t2$t2和和$t3$t3内容内容,送送ALUALU。200946华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计2.访内指令的执行流程访内指令的执行流程 图图5-20 例:例:lwlw$t1,offset($t2)$t1,offset($t2)取指令,从指令存储器中读出一条指令;取指令,从指令存储器中读出一条指令;PC增值,产生下一条指令地址。增值,产生下一条指令地址。指令译码:指令译码:下一条指令地址送下一条指令地址送PC;产生相应的操作控制信号;产生相应的操作控制信号;读出寄存器读出寄存器$t2$t2的内容送的内容送ALUALU。指令的指令的offset字段经符号扩展单元,产生字段经符号扩展单元,产生32位偏位偏 移量送移量送ALU,ALU完成加运算。完成加运算。运算结果作为数据存储器地址。运算结果作为数据存储器地址。读出数据存储器相应单元内容送读出数据存储器相应单元内容送$t1。200947华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制信号:控制信号:P199图图5-16 RegDstRegDst:选择目的寄存器:选择目的寄存器 (存取指令(存取指令/R/R型指令)型指令)RegWriteRegWrite:寄存器写命令(非写即读)寄存器写命令(非写即读)ALUSrcALUSrc:第:第2 2个源操作数选择个源操作数选择 (rtrt/符号扩展后的偏移量)符号扩展后的偏移量)PCSrcPCSrc:选择后继指令地址:选择后继指令地址 MemReadMemRead:存储器读命令:存储器读命令 MemWriteMemWrite:存储器写命令:存储器写命令 MemtoRegMemtoReg:选择写入目的寄存器的内容来源:选择写入目的寄存器的内容来源 ALUopALUop:与指令功能码一起产生:与指令功能码一起产生ALUALU控制输入码控制输入码PCSrcPCSrc 取指令,从指取指令,从指 令存储器中读令存储器中读 出一条指令;出一条指令;指令译码:指令译码:下一条指令下一条指令地地 址送址送PCPC;产生相应的操产生相应的操作作 控制信号;控制信号;运算结果作运算结果作 为数据存储为数据存储 器地址。器地址。指令的指令的offsetoffset 字段经符号扩字段经符号扩 展单元,产生展单元,产生 3232位偏移量送位偏移量送 ALUALU,ALUALU完成完成 加运算。加运算。PCPC增值,产生下增值,产生下 一条指令地址。一条指令地址。读出寄存器读出寄存器$t2$t2 送送ALUALU。读出数据存储读出数据存储 器相应单元内器相应单元内 容送容送$t1$t1。200948华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计3.程序控制指令的执行流程程序控制指令的执行流程 图图5-214.例:例:beqbeq$t1,$t2,offset$t1,$t2,offset 取指令,从指令存储器中读出一条指令;取指令,从指令存储器中读出一条指令;PC增值,产生下一条指令地址。增值,产生下一条指令地址。指令译码:指令译码:下一条指令地址送下一条指令地址送PC;产生相应的操作控制信号;产生相应的操作控制信号;读出寄存器读出寄存器$t1$t1和和$t2$t2内容内容,送送ALUALU。ALU完成减运算,影响标志位完成减运算,影响标志位Zero;指令指令offset字段经符号扩展单元,产生字段经符号扩展单元,产生32位偏移位偏移 量送量送Add,Add完成加运算,产生分支目标地址完成加运算,产生分支目标地址 MUX选择分支目标地址送选择分支目标地址送PC,完成转移,完成转移200949华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计控制信号:控制信号:P199图图5-16 RegDstRegDst:选择目的寄存器:选择目的寄存器 (存取指令(存取指令/R/R型指令)型指令)RegWriteRegWrite:寄存器写命令(非写即读)寄存器写命令(非写即读)ALUSrcALUSrc:第:第2 2个源操作数选择个源操作数选择 (rtrt/符号扩展后的偏移量)符号扩展后的偏移量)PCSrcPCSrc:选择后继指令地址:选择后继指令地址 MemReadMemRead:存储器读命令:存储器读命令 MemWriteMemWrite:存储器写命令:存储器写命令 MemtoRegMemtoReg:选择写入目的寄存器的内容来源:选择写入目的寄存器的内容来源 ALUopALUop:与指令功能码一起产生:与指令功能码一起产生ALUALU控制输入码控制输入码PCSrcPCSrc 取指令,从指取指令,从指 令存储器中读令存储器中读 出一条指令;出一条指令;指令译码:指令译码:下一条指令下一条指令地地 址送址送PCPC;产生相应的操产生相应的操作作 控制信号;控制信号;指令指令offsetoffset字段经字段经符号扩展单元,产符号扩展单元,产生生3232位偏移量送位偏移量送AddAdd,AddAdd完成加运完成加运算,产生分支目标算,产生分支目标地址。地址。ALUALU完成减运算完成减运算,影响标志位影响标志位ZeroZero PCPC增值,产生下增值,产生下 一条指令地址。一条指令地址。读出寄存器读出寄存器$t1$t1和和$t2$t2内容内容,送送ALUALU。MUXMUX选择分支目选择分支目标地址送标地址送PCPC,完成,完成转移转移200950华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计 控制器电路设计:控制器电路设计:输入:输入:Op5:0 Op5:0 输出:输出:9 9个操作控制信号个操作控制信号 根据图根据图5-185-18,列出真值表(图,列出真值表(图5-225-22)用电路实现用电路实现控制控制单元单元Op31:26Op31:26RegDstRegDstBranchBranchMemReadMemReadMemtoRegMemtoRegALUOpALUOpMemWriteMemWriteALUSrcALUSrcRegWriteRegWrite200951华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计增加指令集功能:增加指令集功能:例:增加跳转指令(例:增加跳转指令(j)转移地址的形成:转移地址的形成:下一条指令地址的高下一条指令地址的高4位:位:31:28 j指令的指令的26位立即数字段:位立即数字段:27:2 j指令的指令的26位立即数字段左移位立即数字段左移2位,补入位,补入00 1:0 组合成组合成32位转移目标地址位转移目标地址opaddress31 26 25 031 26 25 0200952华东师范大学计算机科学技术系二、主控制单元的设计二、主控制单元的设计修改图修改图5-175-17电路:电路:增加操作控制信号增加操作控制信号JumpJump 由由j j指令的指令的OPOP(2 2)通过控制电路译码产生)通过控制电路译码产生 增加增加MUXMUX,进一步选择条件转移的目标地,进一步选择条件转移的目标地址址 或无条件转移的目标地址送或无条件转移的目标地址送PCPC修改后电路框图:修改后电路框图:P204P204图图5-245-24200953华东师范大学计算机科学技术系5.3 5.3 一个简单的实现方案一个简单的实现方案三、单周期实现方法的效率分析三、单周期实现方法的效率分析在单周期设计中:在单周期设计中:时钟周期对所有指令等长,即时钟周期对所有指令等长,即CPI=1CPI=1 时钟周期取决于最长指令的执行时间(时钟周期取决于最长指令的执行时间(lwlw)效率低效率低分析:分析:设:存储单元的操作时间为设:存储单元的操作时间为200ps200ps ALU ALU和加法器的操作时间为和加法器的操作时间为100ps100ps 读读/写寄存器写寄存器堆堆的操作时间的操作时间为为50ps50ps 其他执行部件和线路无延迟其他执行部件和线路无延迟200954华东师范大学计算机科学技术系三、单周期实现方法的效率分析三、单周期实现方法的效率分析设程序中指令的组成比例为:设程序中指令的组成比例为:25%lw,10%sw,45%R25%lw,10%sw,45%R型指令型指令,15%,15%分支指令分支指令比较:比较:每条指令在一个固定长度的时钟周期内完每条指令在一个固定长度的时钟周期内完成成 每条指令在一个可变长度的时钟周期内完每条指令在一个可变长度的时钟周期内完成成1.1.比较比较CPUCPU执行时间执行时间 CPUCPU执行时间执行时间=指令数目指令数目CPI时钟周期长度时钟周期长度 CPI=1 CPUCPU执行时间执行时间=指令数目指令数目时钟周期长度时钟周期长度 两者情况下指令数目相同,只需比较时钟周期长度两者情况下指令数目相同,只需比较时钟周期长度200955华东师范大学计算机科学技术系三、单周期实现方法的效率分析三、单周期实现方法的效率分析 分析各指令执行路径分析各指令执行路径 P205P205 计算各指令执行所需时间计算各指令执行所需时间计算平均时钟周期长度计算平均时钟周期长度 固定:最长指令执行时间固定:最长指令执行时间600ps600ps 可变:可变:60060025%+55010%+40045%+35015%+2005%=447.5ps 计算性能比:计算性能比:600/477.5=1.34600/477.5=1.34总结:总结:可变时钟周期长度效率高,但实现困难可变时钟周期长度效率高,但实现困难200956华东师范大学计算机科学技术系5 处理器处理器5.1 5.1 概述概述5.2 5.2 数据通路的建立数据通路的建立5.3 5.3 一个简单的实现方案一个简单的实现方案5.4 5.4 多周期实现方法多周期实现方法200957华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法单周期实现缺点:单周期实现缺点:效率低效率低 一个功能部件在一个时钟周期内只能使用一个功能部件在一个时钟周期内只能使用 一次一次采用多周期实现方法采用多周期实现方法200958华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法CPU每取出并执行一条指令,都要完成一系列每取出并执行一条指令,都要完成一系列的操作,所需的时间为的操作,所需的时间为指令周期指令周期 1.指令周期指令周期指取出并执行一条指令的时指取出并执行一条指令的时 间间 由于各种指令的操作功能不同,复杂度不由于各种指令的操作功能不同,复杂度不一样,因此各种指令的指令周期是不同的一样,因此各种指令的指令周期是不同的200959华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法把一个指令周期又分为若干个小周期,称为把一个指令周期又分为若干个小周期,称为CPUCPU周期周期(机器周期)(机器周期)2.CPU周期周期通常用内存中读取一个指令通常用内存中读取一个指令 字的最短时间来规定字的最短时间来规定CPU周周 期期200960华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法再将再将CPU周期划分为更小的时间片,称为周期划分为更小的时间片,称为时钟周期时钟周期(T T周期、节拍脉冲)周期、节拍脉冲)3.时钟周期时钟周期是是CPU处理操作的最基本处理操作的最基本 单位单位200961华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法时钟周期、时钟周期、CPU周期、指令周期周期、指令周期T4T3T2T1T4T3T2T1T周期周期CPU周期周期(取指令)(取指令)CPU周期周期(执行指令)(执行指令)指令周期指令周期 该图给出的是采用定长该图给出的是采用定长CPUCPU周期的指令周期示意图周期的指令周期示意图 取出和执行一条指令所需的最短时间为两个取出和执行一条指令所需的最短时间为两个CPUCPU周期周期 而复杂一些的指令周期,则需要更多的而复杂一些的指令周期,则需要更多的CPUCPU周期周期 对对CPUCPU周期的规定在各种计算机中是不相同的周期的规定在各种计算机中是不相同的200962华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法 定长定长CPU周期:周期:指令周期中包含的所有指令周期中包含的所有CPU周期均包含固周期均包含固 定的定的T周期周期 优点:控制简单优点:控制简单 不定长不定长CPU周期:周期:指令周期中包含的指令周期中包含的CPU周期可根据执行的周期可根据执行的 需要,包含不同的需要,包含不同的T周期周期 优点:提高时间利用率优点:提高时间利用率 缺点:控制复杂缺点:控制复杂讨论定义:讨论定义:指令周期由若干个指令周期由若干个CPU周期组成(非定长)周期组成(非定长)每个每个CPU周期又由若干个周期又由若干个T时钟组成(定长)时钟组成(定长)200963华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法时序组成:时序组成:硬布线控制器中,时序信号采用三级时序硬布线控制器中,时序信号采用三级时序 结构:结构:周期周期 节拍节拍 脉冲脉冲 (指令周期)(指令周期)(CPU周期)周期)(T周期)周期)微程序控制器中,时序信号采用二级时序微程序控制器中,时序信号采用二级时序 结构:结构:节拍节拍 脉冲脉冲200964华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法一、多周期实现方案(每个一、多周期实现方案(每个CPU周期由一个时周期由一个时 钟周期组成):钟周期组成):指令执行的每一步骤将占用一个指令执行的每一步骤将占用一个CPU周期周期 一个功能单元可在一条指令的执行过程中多一个功能单元可在一条指令的执行过程中多次使用(不同次使用(不同CPU周期)周期)减少所需硬件数量减少所需硬件数量 CPU周期划分:周期划分:设一个设一个CPU周期中最多完成下列操作之一:周期中最多完成下列操作之一:一次访存一次访存 一次寄存器访问(一次寄存器访问(2次读次读/或或1次写)次写)一个一个ALU操作操作200965华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法1.多周期数据通路的高层视图多周期数据通路的高层视图 2.P207图图5-25与与P195图图5-11(单周期)相比(单周期)相比 指令、数据同用一个存储器指令、数据同用一个存储器 只用一个只用一个ALU 增加增加IR、MDR 增加暂存器增加暂存器A、B 增加暂存器增加暂存器ALUOut200966华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法2.解决一个解决一个ALU代替原三个代替原三个ALU的方法:的方法:增加增加MUX选择选择 图图5-26 ALU源操作数源操作数1增加增加MUX 选择寄存器或选择寄存器或PC内容内容 ALU源操作数源操作数2由由2路改为路改为4路路 选择寄存器内容选择寄存器内容/常数常数4(下一条指令地(下一条指令地 址址+4)/符号扩展的偏移量符号扩展的偏移量/移位后的移位后的 偏移量偏移量 200967华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法P210图图5-28:增加增加3to1MUX选择写入选择写入PC的三个来源,选的三个来源,选择控制信号为择控制信号为PCSource 增加控制器电路增加控制器电路 根据根据6位指令操作码译码产生位指令操作码译码产生16个操作控制码,个操作控制码,控制各部件有序有效工作控制各部件有序有效工作图图5-29:各操作控制信号的作用:各操作控制信号的作用 ALUALU源操作数源操作数1 1增加增加MUXMUX,选择寄存器或,选择寄存器或PCPC内容内容 ALUALU源操作数源操作数2 2由由2 2路改为路改为4 4路,选择:路,选择:寄存器内容寄存器内容 常数常数4 4(下一条指令地址(下一条指令地址+4+4)符号扩展的偏移量符号扩展的偏移量 移位后的偏移量移位后的偏移量200968华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法3.解决指令、数据同用一个存储器:解决指令、数据同用一个存储器:增加增加MUX选择选择 图图5-26 增加存储器地址增加存储器地址MUX 选择程序计数器给出的指令地址或选择程序计数器给出的指令地址或ALU计计 算的有效地址算的有效地址 200969华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法P210图图5-28:增加增加3to1MUX选择写入选择写入PC的三个来源,选的三个来源,选择控制信号为择控制信号为PCSource 增加控制器电路增加控制器电路 根据根据6位指令操作码译码产生位指令操作码译码产生16个操作控制码,个操作控制码,控制各部件有序有效工作控制各部件有序有效工作图图5-29:各操作控制信号的作用:各操作控制信号的作用增加存储器地址增加存储器地址MUXMUX:选择程序计数器给出的指令地址或选择程序计数器给出的指令地址或ALUALU计算的有效地址计算的有效地址200970华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法4.在数据通路的基础上增加控制线:在数据通路的基础上增加控制线:图图5-27 PC、IR和寄存器需写控制信号和寄存器需写控制信号 存储器需读、写控制信号存储器需读、写控制信号 ALU控制同单周期设计控制同单周期设计 增加的存储器地址增加的存储器地址MUX的选择控制信号的选择控制信号 IorD 增加的增加的ALU源操作数源操作数MUX的选择控制信号的选择控制信号 2to1MUX:ALUSrcA 4to1MUX:ALUSrcB1:0 200971华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法P210图图5-28:增加增加3to1MUX选择写入选择写入PC的三个来源,选的三个来源,选择控制信号为择控制信号为PCSource 增加控制器电路增加控制器电路 根据根据6位指令操作码译码产生位指令操作码译码产生16个操作控制码,个操作控制码,控制各部件有序有效工作控制各部件有序有效工作图图5-29:各操作控制信号的作用:各操作控制信号的作用 PCPC、IRIR和寄存器需写控制信号和寄存器需写控制信号 存储器需读、写控制信号存储器需读、写控制信号 ALUALU控制同单周期设计控制同单周期设计 增加的存储器地址增加的存储器地址MUXMUX的选择控制信号的选择控制信号IorDIorD 增加的增加的ALUALU源操作数源操作数MUXMUX的选择控制信号的选择控制信号 2to1MUX2to1MUX:ALUSrcAALUSrcA 4to1MUX 4to1MUX:ALUSrcB1:0ALUSrcB1:0200972华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法5.增加支持跳转和分支指令功能:增加支持跳转和分支指令功能:写入写入PC的三个来源的三个来源 PC+4,ALU输出输出 跳转目标地址跳转目标地址 IR的低的低26位左移位左移2位后,与位后,与PC增值后的高增值后的高 4位组合而成位组合而成 分支目标地址分支目标地址 ALUOut暂存器内容和暂存器内容和PSWPSW的运算结果状态的运算结果状态 Zero共同决定共同决定无条件控制:无条件控制:PCWritePCWrite条件控制:条件控制:PCWriteCondPCWriteCond200973华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法P210图图5-28:增加增加3to1MUX选择写入选择写入PC的三个来源,选的三个来源,选择控制信号为择控制信号为PCSource 增加控制器电路增加控制器电路 根据根据6位指令操作码译码产生位指令操作码译码产生16个操作控制码,个操作控制码,控制各部件有序有效工作控制各部件有序有效工作图图5-29:各操作控制信号的作用:各操作控制信号的作用200974华东师范大学计算机科学技术系5.4 5.4 多周期实现方法多周期实现方法P210图图5-28:增加增加3to1MUX选择写入选择写入PC的三个来源,选的三个来源,选择控制信号为择控制信号为PCSource 增加控制器电路增加控制器电路 根据根据6位指令操作码译码产生位指令操作码译码产生16个操作控制码,个操作控制码,控制各部件有序有效工作控制各部件有序有效工作图图5-29:各操作控制信号的作用:各操作控制信号的作用 增加增加3to1MUX3to1MUX选择写入选择写入PCPC的三个来源,选择控制信号为的三个来源,选择控制信号为PCSourcePCSource增加操作控制信号:无条件控制信号增加操作控制信号:无条件控制信号 PCWritePCWrite增加操作
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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