slide1
Download
Skip this Video
Download Presentation
支持指令流水的计算机系统设计与实现

Loading in 2 Seconds...

play fullscreen
1 / 28

支持指令流水的计算机系统设计与实现 - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

支持指令流水的计算机系统设计与实现. 内容提要. 实验目的及目标 指令系统分析 指令执行步骤举例 CPU 框架设计 讨论. 实验目的. 进一步理解和掌握 Von Neumann 结构计算机各部件组成及内部工作原理 进一步掌握计算机指令系统及指令功能的实现方法 进一步加深对指令流水概念、实现机制和流水冲突等的理解 培养硬件设计和调试的能力 培养团队管理、合作精神及表达沟通能力. 实验目标. 最低目标 实现 THCO MIPS 指令系统,能运行已有的监控程序 多周期 CPU 支持指令流水 支持 I/O 操作 完善监控程序等辅助软件系统 更高目标

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '支持指令流水的计算机系统设计与实现' - whittaker-jovani


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
内容提要
  • 实验目的及目标
  • 指令系统分析
  • 指令执行步骤举例
  • CPU框架设计
  • 讨论
slide3
实验目的
  • 进一步理解和掌握Von Neumann结构计算机各部件组成及内部工作原理
  • 进一步掌握计算机指令系统及指令功能的实现方法
  • 进一步加深对指令流水概念、实现机制和流水冲突等的理解
  • 培养硬件设计和调试的能力
  • 培养团队管理、合作精神及表达沟通能力
slide4
实验目标
  • 最低目标
    • 实现THCO MIPS指令系统,能运行已有的监控程序
      • 多周期CPU
      • 支持指令流水
      • 支持I/O操作
    • 完善监控程序等辅助软件系统
  • 更高目标
    • 如何解决“冲突”问题
    • 中断、分时、双机通信
    • 应用程序
    • 与编译系统的结合
    • ……
slide5
指令系统设计
  • 16位字长单字指令
  • 满足指令系统的基本要求
    • 完备性、规整性、高效性、兼容性
  • 容易实现指令流水
    • 指令格式简单、寻址方式简单
  • MIPS 16e指令系统格式
  • 建议的指令系统
    • 见实验材料
slide6
指令分类和指令格式
  • 基本可归结到寄存器型、立即数型和跳转型三类MIPS典型指令格式类型中
  • 指令格式简单,寻址方式较少,容易实现流水
slide7
状态转移图和指令各执行步骤的操作功能

非 Branch / SW / LW

指令

非 J 指令

Sexe

Sif

Sid

Swb

SW / LW

指令

写回周期

取指周期

译码周期

执行周期

LW指令

J

Smem

Branch

指令

译码周期

SW指令

指令步骤 读取指令 指令译码 执行运算 内存读写 数据写回

J 指令

PC←PC[31..28]

‖(target<<2)

IR←

MEM[PC]

PC ←

PC+4

若条件成立

则 PC←R

C←PC+

(符号扩展

(imm)<<2)

A←Reg[rs]

B←Reg[rt]

Branch型

R 类型

Reg[rd]←C

C←A op B

C←A + 符

号扩展(Imm)

Mem[C]←B

Sw指令

Lw指令

DR←Mem[C]

Reg[rt]←DR

slide11
指令分类
  • 按照指令的操作类型可分为4种
    • 纯数据:R型、I型
    • 控制流相关:B型、J型。
  • R型指令(寄存器-寄存器型)从寄存器堆中读取源操作数,结果写回寄存器堆。
    • SLL、SRL、SRA、SLLV、SRLV、SRAV、MTSP、MOVE、ADDU、SUBU、MFPC、SLT、SLTU、CMP、NEG、AND、OR、XOR、NOT、MFIH、MTIH.
slide12
指令分类
  • I型指令(立即数型)使用一个(4位或5位或8位或11位)立即数作为一个源操作数。
    • SW_RS、SW_SP、SW、LW_SP、LW、ADDIU3、ADDSP3、ADDSP、ADDIU、LI、SLTI、SLTUI、CMPI、INT .
  • B型指令(立即数跳转型)使用一个立即数作为跳转的目标地址。
    • B、BEQZ、BNEZ、BTEQZ、BTNEZ.
  • J型指令(寄存器跳转型)使用寄存器的值作为跳转的目标地址
    • JR、JRRA、JALR.
slide13
指令格式功能描述
  • R型指令:
    • AND
      • 格式:AND rx ry
      • 功能:GPR[rx]←GPR[rx] & GPR[ry]
    • NOT
      • 格式:NOT rx ry
      • 功能:GPR[rx]←~ GPR[ry]
slide14
指令格式功能描述
  • I型指令
    • ADDIU
      • 格式:ADDIU rx immediate
      • 功能:GPR[rx]←GPR[rx]+Sign_extend(immediate)
    • ADDIU3
      • 格式:ADDIU3 rx ry immediate
      • 功能:GPR[ry]←GPR[rx]+ Sign_extend(immediate)
slide15
指令格式功能描述
  • B型指令
    • B
      • 格式:B immediate
      • 功能:PC←PC+Sign_extend(immediate)
    • BEQZ
      • 格式:BEQZ rx immediate
      • 功能:if (GPR[rx] = 0) then PC←PC+Sign_extend(immediate)
slide16
指令格式功能描述
  • J型指令
    • JR
      • 格式:JR rx
      • 功能:PC←GPR[rx]
slide18
CPU总体设计
  • CPU的外部特性
    • 输入信号
      • CLK、INT、Reset
    • 输出信号
      • 对基本存储的控制信号(总线)
      • 基本存储的地址信号
      • 对扩展存储的控制信号(总线)
      • 扩展存储的地址信号
    • 入出信号
      • 基本存储的数据(指令)
      • 扩展存储的数据
slide19
CPU主要组成
  • ALU
    • 另设加法器完成地址计算
  • Register File
  • PC、SP、IH、RA
  • 步骤间寄存器组
  • 控制信号生成部件(Decoder)
    • Forwarding
    • Hazard testing
    • 动态预测
slide20
ALU设计
  • 功能
    • 加、减、与、或、非、比较、……
  • 接口
    • 输入
      • A、B、OpCode
    • 输出
      • F、T
slide21
寄存器组设计
  • 功能
    • 通用寄存器
      • 多少个?
    • 提供数据访问
      • 什么时候读?什么时候写?写的条件是什么?
  • 接口
    • A口地址、B口地址、写入寄存器地址
    • A口数据、B口数据、写入数据
    • 写入信号
    • 时钟信号
slide22
与内存和外设的接口
  • 数据总线
  • 地址总线
  • 控制信号
    • /OE
    • /WE
  • 控制信号
    • /MIO,REQ,/WE:205、204、206
slide23
阶段寄存器设计
  • 阶段间需要传递的所有信息
    • 中间数据
    • 参数
    • 控制信号
slide24
流水冲突
  • 结构冲突
  • 数据冲突
  • 控制冲突
  • 检测
  • 处理
slide26
实验步骤
  • 确定指令系统
    • 指令功能
    • 指令格式
  • 确定指令的执行流程
    • 指令执行步骤划分
    • 各步骤完成的具体功能
  • 确定硬件组成模块
    • ALU、RegisterFile、InsDecoder、PCAdder、MemInterface
  • 确定每个模块的功能
    • 能否完成每条指令的功能要求
  • 给出每个模块的功能描述
    • 具体实现,注意时序关系
slide27
实验步骤
  • 基本部分
    • 指令功能分析
    • 数据通路设计、主要部件的功能及控制信号(14日)
    • 指令执行步骤划分(指令流程图)
    • 指令分步骤控制信号(指令流程表)
    • 控制器详细设计(流水冲突控制)(17日)
    • 模块结构及参数(25日)
    • 系统实现及调试
  • 扩展部分
    • 如果是硬件扩展,要在前面各步骤中体现
slide28
时间安排
  • 最终完成时间
    • 12月3日(检查完成)
    • 12月10日(实验报告提交)
  • 检查点
    • 实验目标确定
      • 每组给出目标和方案,准备PPT
        • 数据通路设计、指令执行步骤、各部件主要控制信号
    • 指令流程图和指令流程表,完整设计框图(包括控制信号)
      • 每组给出较为详细的设计,并准备PPT
ad