教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

《单周期CPU的设计与实现》-实验指导书(2)

来源:网络收集 时间:2026-04-12
导读: 计算机组成原理实验单周期CPU的设计与实验 2.3 实验主要仪器设备连接框图 实验主要仪器设备的连接框图如图2-1所示。 图2-1 主要实验仪器设备连接图 通过USB连接线将实验开发板与PC计算机连接,USB线的一端接在计算

计算机组成原理实验单周期CPU的设计与实验

2.3 实验主要仪器设备连接框图

实验主要仪器设备的连接框图如图2-1所示。

图2-1 主要实验仪器设备连接图

通过USB连接线将实验开发板与PC计算机连接,USB线的一端接在计算机上任一USB接口上,另一端接在实验板的JTAG(Joint Test Action Group;联合测试行动小组)接口上。

计算机科学与工程学院 4

计算机组成原理实验单周期CPU的设计与实验

3. 实验原理

3.1 概述

单周期(Single Cycle)CPU是指CPU从取出1条指令到执行完该指令只需1个时钟周期。

1个时钟周期

Clock

指令0 指令1 指令2 指令4 指令5 图3-1 时钟周期和单周期CPU指令的执行

一条指令的执行过程包括:取指令→分析指令→执行指令→保存结果(如果有的话)。对于单周期CPU来说,这些执行步骤均在一个时钟周期内完成。

3.2 单周期CPU的总体电路

本实验所设计的单周期CPU的总体电路结构如图3-2所示。

Clock 图3-2 单周期CPU总体电路

sa imm addr S A PC Do 4 op func m2reg pcsource wmem aluc shift aluimm Wreg 0 regrt sext jal Write A_data A_addr B_addr S f W_addr B_data Data B S << S A Control Unit + rs rt rd + Zero ALU Result 1 2 3 Inst Mem We A Do Data Mem Di S e <<

计算机科学与工程学院 5

计算机组成原理实验单周期CPU的设计与实验

本实验所设计的CPU主要组成部分有:运算器(ALU)、控制器(Control Unit)、寄存器堆(Register Files)、取指电路及相关基础部件(如选择器)等构成。

3.3 MIPS指令格式

MIPS指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS指令选用MIPS-32。以下所说的MIPS指令均指MIPS-32。

MIPS的指令格式为32位。图3-3给出了MIPS指令的3种格式。

31

26 25

21 20

16 15

11 10

6 5

0

R型指令

31

op

26 25

rs

21 20

rt

16 15

rd sa func

0

I型指令

31

op

26 25

rs rt immediate

0

J型指令 op address

图3-3 MIPS指令格式

本实验只选取了20条典型的MIPS指令来描述CPU逻辑电路的设计方法。表3-1列出了本实验的所涉及到的20条MIPS指令。

表1本实验所涉及的20条MIPS指令

R型指令 指令 Add Sub And Or Xor Sll Srl Sra Jr Addi Andi Ori Xori Lw Sw Beq [31:26] [25:21] [20:16] [15:11] 000000 000000 000000 000000 000000 000000 000000 000000 000000 001000 001100 001101 001110 100011 101011 000100 rs rs rs rs rs 00000 00000 00000 rs rs rs rs rs rs rs rs rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rt rd rd rd rd rd rd rd rd rd I型指令 immediate immediate immediate immediate offset offset offset 立即数加 立即数与 立即数或 立即数异或 取数据 存数据 相等转移 [10: 6] [5:0] 功能 寄存器加 寄存器减 寄存器与 寄存器或 寄存器异或 左移 逻辑右移 算术右移 寄存器跳 000000 100000 000000 100010 000000 100100 000000 100101 000000 100110 sa sa sa 000000 000010 000011 000000 001000 计算机科学与工程学院 6

计算机组成原理实验单周期CPU的设计与实验

Bne Lui J Jal 000101 001111 000010 000011 rs 00000 rt rt J型指令 address address offset immediate 不等转移 设置高位 跳转 调用 R型指令的op均为0,具体操作由func指定。rs和rt是源寄存器号,rd是目的寄存器号。移位指令中使用sa指定移位位数。

I型指令的低16位是立即数,计算时需扩展到32位,依指令的不同需进行零扩展和符号扩展。

J型指令的低26位是地址,是用于产生跳转的目标地址。

3.4 数据路径设计

CPU的电路包括数据路径(Data path)和控制部件(Control Unit)两大部分。下面介绍路径的设计。

3.4.1 下一条指令地址的选择

下一条指令的地址有4种情况:

1. 程序不转移时下一条指令的地址为PC+4;

2. 执行beq和bne指令发生转移时,下一条指令的地址是PC加4,再加上符号扩

展的偏移量左移2位的和;

3. 执行jr指令时转移的目标地址就是rs寄存器中的内容;

4. 执行j和jal指令时转移的目标地址是指令中的低26位地址左移2位,再与PC+4

的高4位拼接在一起。

下一条指令地址的产生和选择电路如图3-3所示。

计算机科学与工程学院 7

计算机组成原理实验单周期CPU的设计与实验

op func 4 p4 rs PC A Do rt Control Unit pcsource aluc 0 + A_addr A_data B_addr << A ALU zero Result + 1 2 3 Inst Mem B_data Clock imm addr e << B 图3-3 下一条指令地址的选择 在图3-3中控制器(Control Unit)根据op、func和zero(对于beq和bne指令)信号产生相应的转移控制选择信号pcsource。

3.4.2 ALU的输入端

ALU的输入端有2个:A输入端和B输入端。A、B输入端分别有2种输入情况。对于A输入端,有寄存器堆的A_data和移位数sa输入。对于B输入端,有寄存器堆的B_data和符号扩展后的立即数imm输入。其输入数据路径如图3-4所示

op func Control Unit aluimm shift MUX A_data B_data sa imm e A ALU MUX B RegFile 图3-4 ALU的输入端选择

ALU的A、B端具体输入哪路数据由控制器(Control Unit)根据指令译码产生控制信号shift和aluimm来选择。

3.4.3寄存器堆的输入端

计算机科学与工程学院 8

…… 此处隐藏:1049字,全部文档内容请下载后查看。喜欢就下载吧 ……
《单周期CPU的设计与实现》-实验指导书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449330.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)