首页 > 其他分享 >CS 2410计算机体系结构

CS 2410计算机体系结构

时间:2024-03-24 09:23:28浏览次数:28  
标签:F0 代码 2410 指令 寄存器 CS 模拟器 体系结构

CS 2410计算机体系结构
2024年春季课程项目分发时间:2024年2月19日到期时间:4月22日晚上11:592024年
介绍
这是一个单人项目。允许并鼓励你与同学讨论该项目,但不得分享项目源代码和报告。请在报告中列出您的讨论同行(如果有的话)屈服动态调度处理器的一个优点是它能够容忍延迟或在无序推测处理器中发布功能。该项目的目的是评估不同体系结构参数对CPU的影响通过模拟PowerPc 604和620体系结构的修改(和简化)版本来进行设计。我们将假设一个32位体系结构,它执行RISC V ISA的一个子集,该子集由以下10条指令:fld、fsd、add、addi、slt、fadd、fsub、fmul、fdiv、bne。见附录A在教科书中的指令语法和语义。您的模拟器应该将一个输入文件作为命令行输入。例如,prog.dat将包含RISC V汇编语言程序(代码段)。输入中的每一行文件是来自上述10条指令的RISC V指令。你的模拟器应该阅读该输入文件,识别指令,识别指令的不同字段,以及在下面的讲义中描述的体系结构上模拟它们的执行。你的遗嘱必须实现功能+时序模拟器。在开始构建模拟器之前,请仔细阅读以下a-g。模拟的体系结构是一个推测性的、多问题的、无序的CPU,其中:(假设您的第一条指令位于内存位置(字节地址)0x00000hex。那个是,第一条指令的地址是0x00000hex。PC+4点到下一个指令)。a.获取单元每个周期获取多达NF=4条指令(即,发布宽度为4)。b.具有16入口分支的2位动态分支预测器(初始化为预测弱取(t))使用目标缓冲器(BTB)。它使用位将分支的地址L散列到BTB中的一个条目L.的7-4。c.解码单元对提取单元提取的指令进行解码(在单独的周期中),并存储在可容纳多达NI=16个指令的指令队列中的解码令。d.每个时钟周期最多可以向预留站发出NW=4条指令。这个体系结构具有以下功能单元,显示了延迟和保留数量车站。操作预留的单位延迟(周期)
工作站指令执行在单元上INT 1(整数和逻辑运算)4添加,添加,slt载/存储1用于地址计算2加载缓冲区+
2存储缓冲区
fld
fsd
FPadd 3(流水线FP-add)3衰减,fsub
FPmult 4(流水线FP乘法)3 fmul
FPdiv 8(非流水线除法)2 fdiv
BU 1(条件和目标评估)2 bne
e.具有NR=16个条目的循环重新排序缓冲器(ROB)与NB=4个公共数据总线一起使(CDB)将WB级和ROB连接到保留站和寄存器堆。你必须设计政策来解决CDB上ROB和WB阶段之间的争论公共汽车。
f.您需要执行寄存器重命名,以消除解码阶段的错误依赖性。假设我们总共有32个物理寄存器(p0,p1,p2,…p31)。您需要实施一个映射表和一个物理寄存器空闲列表,正如我们在课堂上讨论的那样。此外,假设所有的物理寄存器都可以由整数或浮点指令使用。
g.专用/独立ALU用于分支单元(BU)中的有效地址计算同时,使用专用硬件来评估分支条件。此外,一个专用/单独的ALU用于加载/存储单元中的有效地址计算。你还需要在模拟设计中实现转发。模拟器应该被参数化以使得可以用不同的NF、NI值进行实验,NW、NR和NB(通过命令行参数或读取配置文件)。到简化模拟,我们将假设指令缓存行包含NF指令并且整个代 写CS 2410程序适合指令缓存(即,读取高速缓存行)。此外,数据缓存(单端口)非常大,因此将单词写入或读取到数据高速缓存总是占用一个周期(即消除存储器访问中的高速缓存效应)。您的模拟应该保留有关执行周期数、次数的统计信息由于1)给定单元的预留站被占用,2)重新排序缓冲区已满。您还应该跟踪CDB总线的使用情况。这可能帮助识别体系结构的瓶颈。您的模拟应该是功能和时间正确的。对于功能,我们检查寄存器
以及存储器内容。对于定时,我们检查执行周期。比较分析:上面指定的参数运行基准测试后,执行以下分析:
1) 研究更改问题的效果,并将宽度设置为2。那是设定NW=NB=2而不是4。
2) 研究更改获取/解码宽度的影响。这就是设置NF=2而不是4。
3) 研究将NI更改为4而不是16的效果。
4) 研究更改重新排序缓冲区条目数的影响。这是设置NR=
4、8和32您需要在项目报告中提供结果和分析。项目语言:您只能选择C/C++(强烈推荐)或Python来实现您的项目。不其他语言。测试基准使用以下内容作为初始基准(即输入文件prog.dat的内容)。%所有寄存器的初始值都为0。%内存内容以地址、值的形式存在。
0, 111
8, 14
16, 5
24, 10
100, 2
108, 27
116, 3
124, 8
200, 12
附加R1、R0、24
附加R2、R0、124
fld F2200(R0)
回路:fld F0,0(R1)
fmul F0、F0、F2
fld F4,0(R2)
渐变F0、F0、F4
fsd F0,0(R2)
附加R1,R1,-8
附加R2、R2、-8
bne R1,0美元,循环
(请注意,这只是一个测试台,用于验证您的设计。您提交的文件应支持表中列出的所有说明,您应该验证并确保模拟使用这九条指令的不同程序的正确性。当您提交代码时,我们将使用更复杂的程序(具有多个分支和表中的所有指令)以测试您的提交)。项目提交:您提交的文件将包括两部分:i)代码包和ii)项目报告.代码包:a.包括所有带有代码注释的源代码文件。b.有一个自述文件1)包含编译源代码的说明,2)使用行参数/配置的说明以及操作说明来运行您的模拟器。
2.项目报告
a.一个带有详细文本的图,用于描述代码的模块设计。在您的报告中,您还需要标记并列出代码中使用的关键数据结构。
b.以上比较分析的结果和分析
c.你的讨论同行以及你的讨论的简要总结(如果有的话)。项目分级:
1.我们将使用更复杂的程序测试您的模拟器的时间和功能由九条RISC V指令组成。
2.我们稍后将要求您设置一个演示,以一对一的方式测试代码的正确性。
3.我们将检查您的代码设计,并在代码结构、模块设计和代码注释。
4.我们将检查您的设计细节和比较分析报告。
5.违反学术诚信的处罚参见教学大纲。请注意,任何违反课程完整性的行为以及任何形式的作弊和复制公众的代码/报告将报告给部门和廉政办公室。

标签:F0,代码,2410,指令,寄存器,CS,模拟器,体系结构
From: https://www.cnblogs.com/rluanguae/p/18092077

相关文章

  • CSS 颜色与字体
    具体的可以去官方文档去查rgb或rgbacolor:rgb(255,255,255);color:rgba(255,255,255,0.7);rgba作用:具有透明效果,0完全透明,1不透明三原色数值越大,且数值一致,表现为灰色很淡HEX或HEXA表示p{color:rgb(#rrggbb);}前两位rr表示红,gg表示绿,bb表示蓝,01-ff(16进制)IE不......
  • SAR图像辐射分辨率和等效视数(CSDN_20240323)
            辐射分辨率和等效视数,是基于面目标评价SAR图像质量的两项重要指标。在介绍辐射分辨率和等效视数之前,首先介绍SAR图像的均值和方差。均值图像均值指的是SAR幅度图的统计平均,该指标反映了地物目标的平均后向散射系数,具体定义如下:其中,M和N分别表示SAR图像的......
  • CSS基础知识:css的尺寸是如何计算的,px和em的区别在哪里?
    讲解将以font-size为例font-size,元素内部文字的尺寸大小1.px:像素像素是什么意思呢?解释:在日常生活中不管是我们看到的电子图片,还是计算机的界面,实际上它是由很多很多的点组成的。那么如何理解呢?以咱们所用的电脑为例右键打开显示设置:                 ......
  • 使用CSDN编写一元二次方程
    一元二次方程标准形式:ax2+bx......
  • python合并多个csv文件需要注意的问题(合并多个列名问题)
    问题描述起初我使用python语言合并多个csv文件时,存在这几个csv文件有不止一个列名相同,仅仅依靠一个列名内容进行合并;就很容易造成相同列名对应相同内容分别占据了两个列,感官极为不好,还会影响到后面的数据清洗;问题解决#在on的这里加一个中括号,这样就能够同时包括多个列名,依据......
  • Android Graphics 多屏同显/异显
    “亏功一篑,未成丘山。凿井九阶,不次水泽。行百里者半九十,小狐汔济濡其尾。故曰时乎,时不再来。终终始始,是谓君子。”01前言随着Android智能驾舱系统的普及各种信息交互、影音娱乐场景应用的不断创新,需要AndroidFramework开发人员更深入地了解多屏同显/异显的基本原理。从这篇......
  • AC86U nexmon CSI 提取
    前期准备AC86U固件版本:3.0.0.4.382_15098(曾使用过3.0.0.4.384_81992,虽然自带iperf3方便,但insmod内核有问题)虚拟机:Ubuntu16.04LTS64位硬件准备进入主页http://router.asus.com/设置账号和密码账号名建议设置为admin(nexmon代码中默认使用adminssh连接)无线网络设......
  • ElasticSearch的安装(Linux版)
    1.获取安装资源(文末有文件)https://www.elastic.co/cn/downloads/elasticsearch2.上传文件并解压cd/opttar-xfelasticsearch-7.8.0-linux-x86_64.tar.gzrm-rfelasticsearch-7.8.0-linux-x86_64.tar.gz3.创建普通用户并授权#新增user用户useradduser......
  • 论文研读(含2G的CSI数据集+导入数据的代码):CSI-Former: Pay More Attention to Pose Est
    论文概述本文提出了一种新的基于WiFi的姿态估计方法。基于WiFi的信道状态信息(CSI),提出了一种新的结构CSI-former。为了评估CSI-former的性能,本文建立了一个新的数据集Wi-Pose。该数据集由5GHzWiFiCSI、相应的图像的骨架点注释组成。背景Transformer由于其强大的多头注意力......
  • R语言--06文件读写read.table()、read.csv()
    1、读取-read.table()#文件读写部分#1.读取ex1.txtex1<-read.table("ex1.txt")ex3<-read.table("ex1.txt",header=T)看看有没有header的区别,以下是第一行代码的运行结果: 以下是第二行代码运行的结果:所以header=T的作用就是原本的文件已经给出了列名,不用重新再......