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

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

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

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

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

                上传于:2021-09-06

                粉丝量:6

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

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

                暂无目录

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

                暂无笔记

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

                暂无书签

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

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

                下载积分:400

                内容提示: 北京? 大 学微处理器研?究开发中? 心 计算机系统结构?研究所 计算机组?织与系统结构 设计单周期数据通路 Designing a Single Cycle Datapath (第? 十 讲 ) 2015.11.12 程 旭 北京? 大 学微处理器研?究开发中? 心 计算机系统结?构研究所 本讲提纲 @? 介绍 @? 设计处理器的步骤 @? 数据通路 、 寄存器- 寄存器操?作的定时 @? 立即数逻辑操作的数?据通路 @? 装入和存储操作的数据通路 @? 转移和跳转操作的数据通路 北京? 大 学?微处理器研究开发中? 心 计算机系统结构?研究所 教学? ? 目 标: 已?经掌握的内容 @? 计算机的五...

                文档格式:PDF | 页数:50 | 浏览次数:1 | 上传日期:2021-09-06 23:08:21 | 文档星级:
                北京? 大 学微处理器研究开?发中? 心 计算?机系统结构研究所 计算机组织与系统结构 设计单周期数据通路 Designing a Single Cycle Datapath (第? 十 讲 ) 2015.11.12 程 旭 北京? 大 学微?处理器研究开发中? 心 计算机系统结构?研究所 本讲提纲 °? 介绍 °? 设计处理器的步骤 °? 数据通路 、 寄存器- 寄存器?操作的定时? °? 立即数逻辑操作的数据通路 °? 装入和存储操作的数据通路 °? 转移和跳转操作的数据通路 北京? 大 学微处理器研究开发?中? 心 计算机系统结构研究?所 教学? ? 目 标: 已经掌握?的内容 °? 计算机的五个基本部件 °? 本讲主题: 数据通路设计 控制 数据通路 存储器 处理器 输入 输出 北京? 大 学微处理器研究?开发中? 心 计算机?系统结构研究所 处理器?性能 °? 计算机的性能决定于 : •? 指令总数 •? 时钟?周期时间 •? 每条指令的时钟周期数目 °? 处理器设计 ( ( 数据通路和控?制 ) 将决定 : •? 时钟周期时间 •? 每条指令的时钟周期数目 °? 单周?期处理器 : •? 优点 : 每条指令一个时钟周期 •? 缺点 : 时钟周期时间太长 CPI 指令总数 周期时间 北京? 大 学微处理器研?究开发中? 心 计算机系?统结构研究所 如何?设计处理器: 循序渐进 1. 分析指令系统 =&gt; 数据通路 需求 通过 寄存器传输 描述 每条指令的意图 针对ISA 寄存器 , 数据通路必须具备必要的存储元件 可能需?要多个 数据通路必须支持每种寄存?器传输 2. 选择一组数据通路部件 , 建立时钟同步方?法 3. 根据需求, 组装 数据通路 4. 分析每条指令的实现 , 以确定如何设置影?响寄存器传输的控制点 5. 装配 控制逻辑 北京? 大 学微处理器研究?开发中??? 心 计算机系统结构研?究所 MIPS指令格式 °? 所有的 MIPS 指令都是32 位长 。 具有如下三种?格式 : •? R 型 •? I 型 •? J 型 °? 不同的场位为: •? op: 指令的操作 •? rs, rt, rd: 源和目的寄存器描述符 •? shamt: 移位量 •? funct: 选择Op 场位指定的不同操作 •? address / immediate: 地址?偏移量或者立即数数值 •? target address: 跳转指令?的目标地址 op target address 0 26 31 6 bits 26 bits op rs rt immediate 0 16 21 26 31 6 bits 16 bits 5 bits 5 bits op rs rt rd shamt funct 0 6 11 16 21 26 31 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits 北京? 大 学微处理器研究开?发中? 心 计算机系?统结构研究所 本讲涉及的MIPS指令系统? 子 集 °? 加法和减法 •? add rd, rs, rt •? sub rd, rs, rt °? 或立即数 : •? ori rt, rs, imm16 °? 装入和存储 •? lw rt, rs, imm16 •? sw rt, rs, imm16 °? 转移 : •? beq rs, rt, imm16 °? 跳转 : •? j target op rs rt rd shamt funct 0 6 11 16 21 26 31 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits op rs rt immediate 0 16 21 26 31 6 bits 16 bits 5 bits 5 bits op target address 0 26 31 6 bits 26 bits 北京? 大 学微处理器研究开发中? 心 计算机系统结?构研究所 逻辑寄存器传输 °? 寄存器传输?语言(RTL ) 描述每条指令的意图 °? 所有的指令都以取指开始 ADDU R[rd] ⇐ R[rs] + R[rt]; PC ⇐ PC + 4 SUBU R[rd] ⇐ R[rs] - R[rt]; PC ⇐ PC + 4 ORi R[rt] ⇐ R[rs] ∪ ∪ zero_ext(Imm16); PC ⇐ PC + 4 LOAD R[rt] ⇐ MEM[ R[rs] + sign_ext(Imm16)]; PC ⇐ PC + 4 STORE MEM[ R[rs] + sign_ext(Imm16) ] ⇐ R[rt]; PC ⇐ PC + 4 BEQ if ( R[rs] == R[rt] ) then PC ⇐ PC + sign_ext(Imm16)] || 00 else PC ⇐ PC + 4 op | rs | rt | rd | shamt | funct = MEM[ PC ] op | rs | rt | Imm16 = MEM[ PC ] inst Register Transfers 北京? 大 学微处理器研究开发中? 心 计算机系统结?构研究所 第? 一 步: 指令系统需求分析 °? 存储器 •? 指令 和 数据 °? 通?用寄存器 (32 x 32) •? 读 RS •? 读 RT •? 写 RT 或 RD °? 程序计数器(PC ) °? 扩展器(Extender ) °?Add 和 Sub 寄存器或扩展后的立即数 °?PC 加上 4 或扩展后的立即数 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 第? 二 步: 数据通路的部件 °? 组合元件 °? 存储元件 •? 时钟同步方法 Select 32 A B 32 Y 32 MUX 32 32 A B 32 Sum Carry Adder CarryIn 32 32 A B 32 Result Zero ALU OP Clk Data In Write Enable N N Data Out Clk busW Write Enable 32 32 busA 32 busB 5 5 5 RW RA RB 32 32-bit Registers Clk Data In Write Enable 32 32 DataOut Address 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 组合逻辑?部件 °? 加法器 °? 多路选择器 °? ALU Select 32 A B 32 Y 32 MUX 32 32 A B 32 Sum Carry Adder CarryIn 32 32 A B 32 Result Zero ALU OP 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 存储部件: 寄存器 °? 寄存器 •? 类似于D 触发器 , 只是 -? N 位输入和输出 -? 写操作使能输入(Write Enable input ) •? 写使能(Write Enable: ) -? 0: 数据输出将不改变 -? 1: 数据输出将变成数据输入的值 Clk Data In Write Enable N N Data Out 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 存储部件: 寄存器堆 °? 寄存器堆包含 32 个寄存器 : •? 两条 32 位输出总线 : busA 和 busB •? 一条 32 位输入总线 : busW °? 选择寄存?器? : •? RA 选择将数据放到? busA 上的寄存器 •? RB 选择将数据放到 busB 上的寄存器 •? RW 选择 在写使能?为1 1 时 , 由 busW 将写的寄存器 °? 时钟输入 (CLK) •? 只有在写操作中 , CLK 输入才有?作用? •? 在读操作中 , 寄存器的行为与组合逻辑电路一样 : -? RA 或 RB 有效 =&gt; 在访?问时间之后 , busA 或 busB 有效 。 Clk busW Write Enable 32 32 busA 32 busB 5 5 5 RW RA RB 32 32-bit Registers 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 存储部件: 理想化的?存储器 °? 理想化的存储器 •? 单输入总线: 数据输入(Data In ) •? 单输?出总线: 数据输出(Data Out ) °? 选择存储字: •? 地址(Address ) 选择的存储字被放在 Data Out 上 •?Write Enable = 1: Data In 总线上的数据被写入地址选择的 存储单?元中 °? 时钟输入 (CLK) •? 只有在写操作中 ,CLK 输入才有作用 •? 在读操作中 , 寄存器的行为与组合逻辑电路一样: -? RA 或 RB 有效 =&gt; 在访问时间之?后 ,busA 或 busB 有效。 。 Clk Data In Write Enable 32 32 DataOut Address 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 实现抽象 Clk Rw Ra Rb 32 个32 位 寄存器 ALU Clk 理想 数据存储器 指令 指令地址 理想 指令存储器 Clk PC 5 Rd 5 Rs Rt 16 5 Imm 32 数据输入 数据地址 32 32 32 数据输出 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 时钟同步? 方 法 °? 所有的存储元件都受相同的时钟边沿来驱动 °? 周期时间&gt;= CLK-to-Q 时间 + 最长?延迟路径时间+ 建立时间+ 时钟纽斜 °?(CLK-to-Q 时间+ 最短延迟路径时间- 时钟纽斜) &gt; 保持时间 Clk Don’t Care Setup Hold . . . . . . . . . . . . Setup Hold 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传?输语? 言 :加法指令 °?add rd, rs, rt •?mem[PC] 从存储器中取出指?令 •?R[rd] ⇐ R[rs] + R[rt] 加法操作 •?PC ⇐ PC + 4 计算下一条指令地?址 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传?输语? 言 :装? 入 指令 °?lw rt, rs, imm16 •?mem[PC] 从存储器中?取出指令 •?Addr ⇐ R[rs] + SignExt(imm16) 计算存储器地址 •?R[rt] ⇐ Mem[Addr] 将数据装入寄存器 •?PC ⇐ PC + 4 计算下一条指令的?地址 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 第三步 根据需求 组装 数据通路 °? 寄存器传输 需求分析 和 装配 数据通路 °? 取指 °? 读取操作数 和 执行操作 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 取指部件( Instruction Fetch Unit)概况 °? 基本寄?存器传输语言操作 •? 取指: mem[PC] •? 修改程序计数器: -? 串行执行代?码: : PC ⇐ PC + 4 -? 转移或跳转: PC ⇐ 其他数值 32 指令字 地址 指令存储器 PC Clk 下一条指令 逻辑 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传输语? 言 : 加法指令 °? add rd, rs, rt •? mem[PC] 从?存储器中读取指令 •? R[rd] ⇐ R[rs] + R[rt] 实际操作 •? PC ⇐ PC + 4 计算下一条?指令地址 op rs rt rd shamt funct 0 6 11 16 21 26 31 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传输语? 言 : 减法指令 °? sub rd, rs, rt •? mem[PC] 从存储器中读取指令 •? R[rd] ⇐ R[rs] - R[rt] 实际操作 •? PC ⇐ PC + 4 计算下一条指令地址 op rs rt rd shamt funct 0 6 11 16 21 26 31 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器-寄存器操作的数据通路 °? R[rd] ⇐ R[rs] op R[rt] 例如: add rd, rs, rt •? Ra, Rb 和 Rw 来自指令?的rs, rt 和 rd 场位 •? ALUctr 和 RegWr: 在对指令进行译码之后的控制逻辑 op rs rt rd shamt funct 0 6 11 16 21 26 31 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits ALU 32 Result ALUctr Clk busW RegWr 32 32 busA 32 busB 5 5 5 Rw Ra Rb 32 32-bit 寄存器 Rs Rt Rd 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器-寄存器定时(Timing) ALU 32 Result ALUctr Clk busW RegWr 32 32 busA 32 busB 5 5 5 Rw Ra Rb 32 32-bit 寄存器 Rs Rt Rd Clk PC Rs, Rt, Rd, Op, Func Clk-to-Q ALUctr 指令存储器的访?问时间 RegWr 穿过控制逻辑的延迟 busA, B 寄存器堆的访问时间 busW ALU 延迟 新值 这里发生寄存器写 旧值 新值 旧值 旧值 新值 旧值 新值 旧值 旧值 新值 新值 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传输语? 言 : 或? 立 即数指令 °? ori rt, rs, imm16 •? mem[PC] 从存储器中读取指令 •? R[rt] ⇐ R[rs] or ZeroExt(imm16) 或操作 •? PC ⇐ PC + 4 计算下一条?指令的地址 op rs rt immediate 0 16 21 26 31 6 bits 16 bits 5 bits 5 bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 immediate 16 15 21 26 31 16 bits 16 bits 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 Mux ZeroExt ALU 有? 立 即数的逻辑操作的数据通路 °? R[rt] ⇐ R[rs] op ZeroExt[imm16]] 示例: ori rt, rs, imm16 32 Result ALUctr Clk busW RegWr 32 32 busA 32 busB 5 5 5 Rw Ra Rb 32 32-bit 寄存器堆 Rs Rt Don’t Care (Rt) Rd RegDst Mux 32 16 imm16 ALUSrc op rs rt immediate 0 16 21 26 31 6 bits 16 bits 5 bits 5 bits 11 rd 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 寄存器传输语? 言 : 装? 入 指令 °? lw rt, rs, imm16 •? mem[PC] 从存储器中读取指令 •? Addr ⇐ R[rs] + SignExt(imm16) 计算存储器的地址 R[rt] ⇐ Mem[Addr] 从寄存器中装入?数据 •? PC ⇐ PC + 4 计算下一条指令地址 op rs rt immediate 0 16 21 26 31 6 bits 16 bits 5 bits 5 bits 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 immediate 16 15 21 26 31 16 bits 16 bits 0 1111111111111111 1 immediate 16 15 21 26 31 16 bits 16 bits 北京? 大 学微处理器研究开发中? 心 计算机系统结构研究所 ALU Extender Mux Mux Mux 装? 入 操作的数据通路 °? R[rt] ⇐ Mem[R[rs] + SignExt[imm16]] 示例: lw rt, rs, imm16 32 ALUctr Clk busW RegWr 32 32 busA 32...

                关注我们

                关注微信公众号

                您选择了以下内容