• <tr id='xZmj4h'><strong id='xZmj4h'></strong><small id='xZmj4h'></small><button id='xZmj4h'></button><li id='xZmj4h'><noscript id='xZmj4h'><big id='xZmj4h'></big><dt id='xZmj4h'></dt></noscript></li></tr><ol id='xZmj4h'><option id='xZmj4h'><table id='xZmj4h'><blockquote id='xZmj4h'><tbody id='xZmj4h'></tbody></blockquote></table></option></ol><u id='xZmj4h'></u><kbd id='xZmj4h'><kbd id='xZmj4h'></kbd></kbd>

    <code id='xZmj4h'><strong id='xZmj4h'></strong></code>

    <fieldset id='xZmj4h'></fieldset>
          <span id='xZmj4h'></span>

              <ins id='xZmj4h'></ins>
              <acronym id='xZmj4h'><em id='xZmj4h'></em><td id='xZmj4h'><div id='xZmj4h'></div></td></acronym><address id='xZmj4h'><big id='xZmj4h'><big id='xZmj4h'></big><legend id='xZmj4h'></legend></big></address>

              <i id='xZmj4h'><div id='xZmj4h'><ins id='xZmj4h'></ins></div></i>
              <i id='xZmj4h'></i>
            1. <dl id='xZmj4h'></dl>
              1. <blockquote id='xZmj4h'><q id='xZmj4h'><noscript id='xZmj4h'></noscript><dt id='xZmj4h'></dt></q></blockquote><noframes id='xZmj4h'><i id='xZmj4h'></i>
                复制成功
                • 图案背景
                • 纯色背景
                视图
                标记
                批注
                批注本?地保存成功,开通会员云端永久保存 去开通
                仝泽民

                上传于:2021-09-06

                粉丝量:9

                二级建造师,熟悉建筑行业?、高等教育,具?有十年工作经验

                
                • 相关
                • 目录
                • 笔记
                • 书签

                暂无目录

                点击鼠标右键菜单,创建目录

                暂无笔记

                选择文本,点击鼠标右键菜单,添加笔记

                暂无书签

                在左侧文档中,点击鼠标右键,添加书签

                《计算机组织与?体系结构》 (12)

                下载积分:400

                内容提示: 北京大学计算机科学技?术系 北京大学微处理器研究开发?中心 计算机组织与系统结构 设计多周期处理器 Designing a Multiple Cycle Processor (第十二讲) 2014.11.19 程旭 易 江芳 北京大学计算机科?学技术系 北?京大学微处理器研究开发中心 处理器?设计过程 @ 自底向上 ? 组装部件,根据情况,建立关键时序 @ 自顶向下 ? 根据高级需求,描述出部件行为 @ 循环往复、逐步求精 ? 首先建立局部解决方案,再不断扩展?和改进 数据通路 控制 处理器 指令系统体系结?构 寄存器堆 Mux ALU Reg Mem 译码器 时序发生器 单元 门 北京大学计算机?科学技术系 北京大...

                文档格式:PDF | 页数:74 | 浏览次数:1 | 上传日期:2021-09-06 23:08:23 | 文档星级:
                北京大学计算机?科学技术系? 北京大学?微处理器研究开发中心 计算机组织与系统结构 设计多周期处理器 Designing a Multiple Cycle Processor (第十二讲) 2014.11.19 程旭 易 江芳 北京大?学计算机科学技术系 北京大学微处理器?研究开发中心 处理器设计?过程 ° 自底向上 • 组装部件,根据情况,建立关键时序 ° 自顶向下 • 根据高级需求,描述出部件行为 ° 循环往复、逐步求精 • 首先建立局部解决方案,再不断?扩展和改进 数据通路 控制 处理器 指令系统体系?结构 寄存器堆 Mux ALU Reg Mem 译码器 时序发生器 单元 门 北京大学计算机?科学技术系 北京?大学微处理器研究开发中心 单周期处理器 MUX 0 1 MUX 0 1 32 ALUctr Clk busW RegWr 32 32 busA 32 busB 5 5 5 Rw Ra Rb 32 32-bit Registers Rs Rt Rt Rd RegDst Extender Mux 32 16 imm16 ALUSrc ExtOp MemtoReg Clk Data In WrEn 32 Adr Data Memory 32 MemWr Instruction Fetch Unit Clk Zero Instruction&lt;31:0&gt; Jump Branch 0 1 &lt;21:25&gt; &lt;16:20&gt; &lt;11:15&gt; &lt;0:15&gt; Imm16 Rd Rs Rt Main Control op 6 ALU Control func 6 3 ALUop ALUctr 3 RegDst ALUSrc : Instr&lt;5:0&gt; Instr&lt;31:26&gt; Instr&lt;15:0&gt; ALU 北京大学计?算机科学技术系 北京?大学微处理器研究开发中心 主控制器(主控)的真值表 R-type ori lw sw beq jump RegDst ALUSrc MemtoReg RegWrite MemWrite Branch Jump ExtOp ALUop (Symbolic) 1 0 0 1 0 0 0 x R-type 0 1 0 1 0 0 0 0 Or 0 1 1 1 0 0 0 1 Add x 1 x 0 1 0 0 1 Add x 0 x 0 0 1 0 x Subtract x x x 0 0 0 1 x xxx op 00 0000 00 1101 10 0011 10 1011 00 0100 00 0010 ALUop &lt;2&gt; 1 0 0 0 0 x ALUop &lt;1&gt; 0 1 0 0 0 x ALUop &lt;0&gt; 0 0 0 0 1 x 主控 op 6 ALU 控制 ( 局部) func 3 6 ALUop ALUctr 3 RegDst ALUSrc : 北京大学计?算机科学技术系 北京大学微处?理器研究开发中心 主控的 PLA 实现 op&lt;0&gt; op&lt;5&gt; . . op&lt;5&gt; . . &lt;0&gt; op&lt;5&gt; . . &lt;0&gt; op&lt;5&gt; . . &lt;0&gt; op&lt;5&gt; . . &lt;0&gt; op&lt;5&gt; . . &lt;0&gt; R-type ori lw sw beq jump RegWrite ALUSrc MemtoReg MemWrite Branch Jump RegDst ExtOp ALUop&lt;2&gt; ALUop&lt;1&gt; ALUop&lt;0&gt; 北京大学?计算机科学技术系 北京大?学微处理器研究开发中心 控制信号的生?成系统 ° 在单周期处理器中, 每条指令都是通过?唯一一个控制命令(或微指令)来实现的 • 总的来说, 控制器就是一个有限状态自动机 • 微指令也能够产生控制序列 ( 下面将介?绍) Control Logic / Store (PLA, ROM) OPcode Datapath Instruction Decode Conditions Control Points microinstruction 北京大学计算机科学技术系 北京大学微处理?器研究开发中心 ° 计算机的五个基本部件 ° 本讲主题: 多周期 数据通路设计 控制 数据通路 存储器 处理器 输入 输出 教学目标 : 已经掌握的内容 北京大学计算机科学技术系 北京大学微处理器研究开?发中心 本讲提纲 ° 复习: 单周期处理器 ° 较高速的设计 ° 多周期数据通路 ° 性能分析 ° 多周?期控制引论 北京大学计算机科学技术系 北京?大学微处理器研究开发中心 单周期?处理器的抽象图 ° 看起来就象一个?以PC 为状态的有穷状态自动机 PC Next PC Register Fetch ALU Reg. Wrt Mem Access Data Mem Instruction Fetch Result Store ALUctr RegDst ALUSrc ExtOp MemWr Equal nPC_sel RegWr MemWr MemRd Main Control ALU control op fun Ext 北京大学计算机科学技术系 北京大学?微处理器研究开发中心 上一讲设计的 CPI=1 的处?理器的问题 ° 时钟周?期长 ° 所有指令都需要最长指令执行所需的时间 ° 实际的存储器并不象我们假设?的理想存储器那么好 • 并不能在一个短周期内完成?所有工作 PC Inst Memory mux ALU Data Mem mux PC Reg File Inst Memory mux ALU mux PC Inst Memory mux ALU Data Mem PC Inst Memory cmp mux Reg File Reg File Reg File 算?术逻辑指令 装入指令 存储指令 转移 关键路径 setup setup 北京大学计算机科学技术系 北京大学微处理器?研究开发中心 存储器访?问时间 ° 物理大小 =&gt; 小存储器速度快 ( 大存储器速度慢) • 问题: 寄存器堆 vs. 存储器 °=&gt; 使用层次存储系统 Storage Array selected word line address storage cell bit line sense amps address decoder Cache Processor 1 cycle proc. bus L2 Cache mem. bus 2-3 cycles 20 - 50 cycles memory 北京大学计算机科学技术系 北京大学微处理器研究?开发中心? 减少时钟周期时间 ° 切分组合相关图,插入寄存器/ 锁存器 ° 在两个较短?的周期内(而非一个较慢的周期内)完成上述?相同工作 存储单元 无环 组合逻辑 存储单元 存储单元 无环 组合逻辑(A) 存储单元 存储单元 无环 组合逻辑(B) 北京大学计算机科学技术系 北京大学微处理器?研究开发中心 对时?钟周期时间的基本限制 ° 下一地址生成逻辑 • PC ? branch ? PC + offset : PC + 4 ° 取指逻辑 • InstructionReg ? Mem[PC] ° 寄存器访问 • A ? R[rs] °ALU 操作 • R ? A + B ALUctr ALUSrc MemWr MemWr Control Operand Fetch Exec Reg. File Mem Access Data Mem Instruction Fetch Result Store RegDst ExtOp RegWr MemRd PC Next PC nPC_sel 北京大学计算机科学技术系 北京大?学微处理器研究开发中心? 划分 CPI=1 的?数据通路 ° 在最小的步骤?之间,增加寄存器 ALUctr ALUSrc MemWr MemWr PC Next PC Operand Fetch Exec Reg. File Mem Access Data Mem Instruction Fetch Result Store RegDst ExtOp nPC_sel RegWr MemRd 北京大学计算机科学技术系 北京大学微?处理器研究开发中心 多周期数据通路示例 ° 关键路径 ? PC Next PC Operand Fetch Ext ALU Reg. File Mem Access Data Mem Result Store ALUctr RegDst ALUSrc ExtOp nPC_sel RegWr MemWr MemRd A B R M Reg File MemToReg Equal Instruction Fetch IR 北京大学计算机科学技术系 北京大学微处理器研究开发?中心 如?何设计处理器 : 循序渐进 1. 指令系统体系结构 ? 逻?辑寄存器传输? 2. 数据通路部件 3. RTL+ 部件 ? 数据通路 4. 数据通路 + 逻辑寄?存器传输 ? 物理寄存器?传输 5. 物理寄存器?传输 ? 控制 北京大学计算机科学技术系 北京大学微处理器研究开发中心 第四步 : R- - 型指令 (add, sub, . . .) ° 逻?辑寄存器传输 ° 物理寄?存器传输 指令 逻辑寄存器?传输 ADDU R[rd] ? R[rs] + R[rt]; PC ? PC + 4 指令 物理寄存器?传输 IR ? MEM[pc] ADDU A ? R[rs]; B ? R[rt] S ? A + B R[rd] ? S; PC ? PC + 4 Exec Reg. File Mem Access Data Mem A B S M Reg File Equal PC Next PC IR Inst. Mem 北京大学计算机科学技术系 北京大学微处理器研究开发中心 指令 逻辑寄存器传输 ORi R[rt] ? R[rs] OR zx(Im16); PC ? PC + 4 指令 物理寄存?器传输? IR ? MEM[pc] ORi A ? R[rs]; B ? R[rt] S ? A or ZeroExt(Im16) R[rt] ? S; PC ? PC + 4 A B S M 第四步 : 逻辑立即数 PC Next PC Instruction Fetch IR Reg File Exec Mem Access Data Mem Reg. File Equal ° 逻辑寄存器传输 ° 物理寄存器?传输 北京大学计算机科学技术系 北京大学微处理器研究开发中心 指令 逻辑寄存器传输 LW R[rt] ? MEM(R[rs] + sx(Im16); PC ? PC + 4 指令 物理寄存器传输 IR ? MEM[pc] LW A ? R[rs]; B ? R[rt] S ? A + SignEx(Im16) M ? MEM[S] R[rd] ? M; PC ? PC + 4 A B S M PC Next PC Instruction Fetch IR Reg File Exec Mem Access Data Mem Reg. File Equal ° 逻辑寄存器传输 ° 物理寄存器传输 第四步 : 装入指令 北京大学计算机科学技术系 北京大学微处理器研究开发中心 指令 逻辑寄存器传输 SW MEM(R[rs] + sx(Im16) ? R[rt]; PC ? PC + 4 指令 物理寄存器传输 IR ? MEM[pc] SW A ? R[rs]; B ? R[rt] S ? A + SignEx(Im16); MEM[S] ? B PC ? PC + 4 A B S M PC Next PC Instruction Fetch IR Reg File Exec Mem Access Data Mem Reg. File Equal ° 逻辑寄存器传输 ° 物理寄存器传输 第四步 : 存储指令 北京大学计算机科学技术系 北京大学微处理器研究开发中心 指令 逻辑寄存器传输 BEQ if R[rs] == R[rt] then PC ? PC + sx(Im16) || 00 else PC ? PC + 4 指令 物理寄存器传输 IR ? MEM[pc] BEQ|Eq PC ? PC + 4 指令 物理寄存器传输 IR ? MEM[pc] BEQ|Eq PC ? PC + sx(Im16) || 00 A B S M PC Next PC Instruction Fetch IR Reg File Exec Mem Access Data Mem Reg. File Equal ° 逻辑寄存器传输 ° 物理寄存器传输 第四步 : 转移指令 北京大学计算机科学技术系 北京大学微处理器研究开发中心 Mux 1 0 Mux 0 1 Mux 0 1 Mux 0 1 Mux 0 1 教科书的?数据通路 : 多周期数据通路 ° 所需?硬件最少 : 1 个存储器 , 1 个加法器 Ideal Memory WrAdr Din RAdr 32 32 32 Dout MemWr 32 32 32 ALUOp ALU Control Instruction Reg 32 IRWr 32 Reg File Ra Rw busW Rb 5 5 32 busA 32 busB RegWr Rs Rt Rt Rd PCWr ALUSelA RegDst 32 PC MemtoReg Extend ExtOp 32 0 1 2 3 4 16 Imm 32 &lt;&lt; 2 ALUSelB Target 32 Zero Zero PCWrCond PCSrc BrWr 32 IorD ALU Out ALU 北京大学计算机科学技术系 北京大学微处理器研究开发中心 上讲设计的单周期处理器的缺陷 ° 例如: • R 型指令并不需要数据存储器访问 • 跳转并不?需要 ALU 操作和任?何数据存储器访问 ° 时钟周期时间长: • 对于装入指令,周期时?间必须足够长: PC 的Clock -to-Q + 指令存储器访问时间 + 寄存?器堆访问时间 + ALU 延迟(地址计算) + 数据存储器访问时间 + 寄存器对建立时间 + 时钟纽斜 ° 对于所有其他指?令,周期时间都比所需的延?长! 北京大学计算机科学技术系 北京大学微处理器研究开发中心 多周期实现概述 ° 单周期?处理器的问题根源: • 对于最慢?的指令,周期时间必须足够长 ° 解决方案: • 将指令处理分为更小的步骤 • 每个周期执行一?步(而不是整个指令) - 周期时间: 执行最长步所需的?时间 - 使所有的步骤尽量具有相同的长度 • 这个多周期处理器的本质所在 ° 多周期处理?器的优点: • 周期时间非常短 • 不同的指令需要不同的周期数来完成 - 装入需要 5 个周期 - 跳转仅仅需要3 个周期 • 允许每条指令多?次使用同一个功能部件 北京大学计算机科学技术系 北京大学微处理器研究开发中心 单周期数?据通路装入指令的五个执行步骤 Clk PC Rs, Rt, Rd, Op, Func Clk-to-Q ALUctr Instruction Memory Access Time Old Value New Value RegWr Old Value New Value Delay through Control Logic busA Register File Access Time Old Value New Value busB ALU Delay Old Value New Value Old Value New Value New Value Old Value ExtOp Old Value New Value ALUSrc Old Value New Value Address Old Value New Value busW Old Value New Delay through Extender &amp; Mux Data Memory Access Time Instruction Fetch Inst Decode / Reg. Fetch Address Reg Wr Data Memory Register File Write Time 北京大学计算机科学技术系 北京大学微处理器研究开发中心 寄存器堆&amp; &amp; 存储器 写入定时( Timing ) : 理想与现实 ° 在前面?的介绍中, 寄存器堆和存储器被简化: • 在时钟有效时,才完成写操?作 • 在时钟有效之前的建立时间内,地址、数据和写使能必须稳定 ° 实际情况: • 寄存器和理想存储器都没有时钟输入 • 写路径是一条组合逻辑的延迟路径: - 写使能变成1 , Din 稳定下来(settles down ) - 存储?器写访问延迟 - Din 被写入 mem[address] • 注意: 在写使能变?成1 之前 地址和数据必须稳定 Adr Din WrEn Dout Ideal Memory 32 32 32 Clk Adr Din WrEn Dout Real Memory 32 32 32 北京大学计算机科学技术系 北京大学微处理器研究开发中心 地?址和写使能之间的竞争情况( Race Condition ) ° 在单周期处理器中,真实(没有时钟输入)的寄存?器堆 并不能可靠地?工作,这是因为 • 我们并不?能保证在RegWr = 1 之前, Rw 必然稳定 • 在 在 Rw ( 地址) 和RegWr ( 写使能) 之间存在竞争?情况 ° 在单周期处理器中,真实(没有时钟输入)的存储器 并不能?可靠地工作,这是因为: • 我们并不能保证在WrEn = 1 之前, 地址信号(Adr) 一定稳定 • 在 在 Adr 和 WrEn 之间有竞争 寄存器堆 Ra Rw busW Rb busA busB RegWr 5 5 5 32 32 32 Adr Din WrEn Dout Real Memory 32 32 32 北京大学计算机科学技术系 北京大学微处理器研究开发中心 如何避免竞?争情况? ? ° 对多周期处理器的解决方案??: • 在周期 N 结束时,确认 地址(Adr) 是稳定的 • 在之后的 一个 周期[ 第(N+1 )周期] 发出 Write Enable 信号 • 在撤销 Write Enable 信号之前, 地址信号(Adr) 不能改变 北京大学计算机科学技术系 北京大学微处理器研究开发中心 双端口理想存储器 ° 双端口理想存储器 • 独立?的读端口 (RAdr, Dout) ...

                关注我们

                关注微信公众号

                您选择了以下内容