支持指令流水的计算机系统设计与实现
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

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


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

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


6328216

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


6328216

内容提要

  • 实验目的及目标

  • 指令系统分析

  • 指令执行步骤举例

  • CPU框架设计

  • 讨论


6328216

实验目的

  • 进一步理解和掌握Von Neumann结构计算机各部件组成及内部工作原理

  • 进一步掌握计算机指令系统及指令功能的实现方法

  • 进一步加深对指令流水概念、实现机制和流水冲突等的理解

  • 培养硬件设计和调试的能力

  • 培养团队管理、合作精神及表达沟通能力


6328216

实验目标

  • 最低目标

    • 实现THCO MIPS指令系统,能运行已有的监控程序

      • 多周期CPU

      • 支持指令流水

      • 支持I/O操作

    • 完善监控程序等辅助软件系统

  • 更高目标

    • 如何解决“冲突”问题

    • 中断、分时、双机通信

    • 应用程序

    • 与编译系统的结合

    • ……


6328216

指令系统设计

  • 16位字长单字指令

  • 满足指令系统的基本要求

    • 完备性、规整性、高效性、兼容性

  • 容易实现指令流水

    • 指令格式简单、寻址方式简单

  • MIPS 16e指令系统格式

  • 建议的指令系统

    • 见实验材料


6328216

指令分类和指令格式

  • 基本可归结到寄存器型、立即数型和跳转型三类MIPS典型指令格式类型中

  • 指令格式简单,寻址方式较少,容易实现流水


6328216

状态转移图和指令各执行步骤的操作功能

非 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


6328216

流水线的实现


6328216

流水线的实现


6328216

指令分类

  • 按照指令的操作类型可分为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.


6328216

指令分类

  • 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.


6328216

指令格式功能描述

  • R型指令:

    • AND

      • 格式:AND rx ry

      • 功能:GPR[rx]←GPR[rx] & GPR[ry]

    • NOT

      • 格式:NOT rx ry

      • 功能:GPR[rx]←~ GPR[ry]


6328216

指令格式功能描述

  • I型指令

    • ADDIU

      • 格式:ADDIU rx immediate

      • 功能:GPR[rx]←GPR[rx]+Sign_extend(immediate)

    • ADDIU3

      • 格式:ADDIU3 rx ry immediate

      • 功能:GPR[ry]←GPR[rx]+ Sign_extend(immediate)


6328216

指令格式功能描述

  • B型指令

    • B

      • 格式:B immediate

      • 功能:PC←PC+Sign_extend(immediate)

    • BEQZ

      • 格式:BEQZ rx immediate

      • 功能:if (GPR[rx] = 0) then PC←PC+Sign_extend(immediate)


6328216

指令格式功能描述

  • J型指令

    • JR

      • 格式:JR rx

      • 功能:PC←GPR[rx]


6328216

指令功能及执行步骤


6328216

CPU总体设计

  • CPU的外部特性

    • 输入信号

      • CLK、INT、Reset

    • 输出信号

      • 对基本存储的控制信号(总线)

      • 基本存储的地址信号

      • 对扩展存储的控制信号(总线)

      • 扩展存储的地址信号

    • 入出信号

      • 基本存储的数据(指令)

      • 扩展存储的数据


6328216

CPU主要组成

  • ALU

    • 另设加法器完成地址计算

  • Register File

  • PC、SP、IH、RA

  • 步骤间寄存器组

  • 控制信号生成部件(Decoder)

    • Forwarding

    • Hazard testing

    • 动态预测


6328216

ALU设计

  • 功能

    • 加、减、与、或、非、比较、……

  • 接口

    • 输入

      • A、B、OpCode

    • 输出

      • F、T


6328216

寄存器组设计

  • 功能

    • 通用寄存器

      • 多少个?

    • 提供数据访问

      • 什么时候读?什么时候写?写的条件是什么?

  • 接口

    • A口地址、B口地址、写入寄存器地址

    • A口数据、B口数据、写入数据

    • 写入信号

    • 时钟信号


6328216

与内存和外设的接口

  • 数据总线

  • 地址总线

  • 控制信号

    • /OE

    • /WE

  • 控制信号

    • /MIO,REQ,/WE:205、204、206


6328216

阶段寄存器设计

  • 阶段间需要传递的所有信息

    • 中间数据

    • 参数

    • 控制信号


6328216

流水冲突

  • 结构冲突

  • 数据冲突

  • 控制冲突

  • 检测

  • 处理


6328216

流水线CPU基本结构


6328216

实验步骤

  • 确定指令系统

    • 指令功能

    • 指令格式

  • 确定指令的执行流程

    • 指令执行步骤划分

    • 各步骤完成的具体功能

  • 确定硬件组成模块

    • ALU、RegisterFile、InsDecoder、PCAdder、MemInterface

  • 确定每个模块的功能

    • 能否完成每条指令的功能要求

  • 给出每个模块的功能描述

    • 具体实现,注意时序关系


6328216

实验步骤

  • 基本部分

    • 指令功能分析

    • 数据通路设计、主要部件的功能及控制信号(14日)

    • 指令执行步骤划分(指令流程图)

    • 指令分步骤控制信号(指令流程表)

    • 控制器详细设计(流水冲突控制)(17日)

    • 模块结构及参数(25日)

    • 系统实现及调试

  • 扩展部分

    • 如果是硬件扩展,要在前面各步骤中体现


6328216

时间安排

  • 最终完成时间

    • 12月3日(检查完成)

    • 12月10日(实验报告提交)

  • 检查点

    • 实验目标确定

      • 每组给出目标和方案,准备PPT

        • 数据通路设计、指令执行步骤、各部件主要控制信号

    • 指令流程图和指令流程表,完整设计框图(包括控制信号)

      • 每组给出较为详细的设计,并准备PPT


  • Login