自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Gem5-添加缓存(下)

现在的最小Python版本是3.6,所以当编写不需要与当前gem5脚本交互的新脚本时,Python的argparse是一个更好的选择。从我们的基础 L1 缓存开始,我们只需添加一个空的构造函数,因为我们没有任何适用于基础 L1 缓存的参数。要做到这一点,我们只需修改two_level_opts.py,将选项作为参数传入缓存的构造器,并添加一个适当的构造器,接下来。为了给我们的两级缓存配置添加选项,在导入我们的缓存后,让我们添加一些选项。现在,让我们把刚刚创建的缓存添加到我们在上一章创建的配置脚本中。

2023-05-24 11:32:46 193

原创 Gem5-添加缓存(上)

我们将使用经典的缓存,而不是ruby-intro-chapter,因为我们正在为一个单CPU系统建模,而且我们并不关心缓存的一致性建模。现在,为了创建具有特定参数的缓存,我们首先要在simple.py的同一目录下创建一个新的文件,caches.py,configs/tutorial/part1。要看到所有可能的配置选项,并找到哪些是必须的,哪些是可选的,你必须看一下SimObject的源代码。接下来,我们必须为指令缓存和数据缓存定义一个单独的connectCPU函数,因为I缓存和D缓存的端口有不同的名字。

2023-05-24 11:10:56 394

原创 运行简单Gem5模拟(下)

现在我们已经创建了一个简单的模拟脚本(该脚本的完整版本可以在gem5代码库中找到,地址是 configs/learning_gem5/part1/simple.py),我们准备运行gem5。此外,我们还需要将系统中的一个特殊端口连接到内存总线上。但是,如果你需要对系统进行高保真建模,或者操作系统的交互,如页表行走很重要,那么你应该使用FS模式。对于这个系统,我们将使用一个简单的DDR3控制器,它将负责我们系统的整个内存范围。在后面的教程中,我们将把缓存添加到我们的配置文件中,以模拟一个更复杂的系统。

2023-05-24 10:49:34 235

原创 运行简单Gem5模拟(下)

现在我们已经创建了一个简单的模拟脚本(该脚本的完整版本可以在gem5代码库中找到,地址是 configs/learning_gem5/part1/simple.py),我们准备运行gem5。此外,我们还需要将系统中的一个特殊端口连接到内存总线上。但是,如果你需要对系统进行高保真建模,或者操作系统的交互,如页表行走很重要,那么你应该使用FS模式。对于这个系统,我们将使用一个简单的DDR3控制器,它将负责我们系统的整个内存范围。在后面的教程中,我们将把缓存添加到我们的配置文件中,以模拟一个更复杂的系统。

2023-05-24 10:46:45 145

原创 运行简单Gem模拟(上)

请注意,在python配置脚本中,只要需要一个大小,你就可以用常见的白话和单位来指定这个大小,比如'512MB'。现在我们有了一个我们要模拟的系统的参考,让我们在系统上设置时钟。在本书中,我们将不从这些复杂的脚本开始,而是从能够运行gem5的最简单的脚本开始,并从那里开始构建。在本例中,由于我们要模拟的系统没有任何缓存,我们将把I-缓存和D-缓存端口直接连接到membus上。在这个例子的系统中,我们没有缓存。在这个脚本中,您要创建一个要模拟的系统,创建该系统的所有组件,并指定系统组件的所有参数。

2023-05-24 10:11:33 80

原创 汉明码的检错与纠正

上期我们介绍了汉明码的构造原理,这一期我们来看看汉明码是怎么实现“纠错”和“改正”的。我们假设传输过程中第3位发生了错误,原本传输的数据为101101,现在收到的数据为101001.这时,汉明码会检查每一组的“偶校验”:对于第一组来说(1,3,5位为一组):1的个数为1个,奇数个,不再满足“偶校验”,我们可以据此推断这一组有位数发生了错误,但不确定是哪一位发生了错误。为了达到“偶校验”,我们需要补一个1。

2023-05-24 10:05:58 2105 1

原创 汉明码原理

汉明码的构造原理“汉明码”,英文名为 “hanming code”,是一种“错误纠正码”,由 理查德·卫斯里·汉明于1950年发明,它可以用来检测并且纠正数据从发送端发往接收端中发生的错误。时至今日仍在ECC memory 上显示其应用价值。汉明码实质是一种多重奇偶校验,它在有效信息位中加入几个校验位形成汉明码,使码距比较均匀的拉大,具有检验并纠正一位错误的能力。“校验位”是一种二进制位,它被用来添加到需要传输的数据信息中,以确保信息在传输过程中不会发生丢失或者改变。

2023-04-24 17:11:48 656

原创 运行简单Gem模拟(上)

本章教程将指导您如何为gem5设置一个简单的模拟脚本,并首次运行gem5。假设你已经完成了本教程的第一章,并且已经成功地用可执行文件build/X86/gem5.opt构建了gem5。我们的配置脚本将对一个非常简单的系统进行建模。我们将只有一个简单的CPU核。这个CPU核将被连接到一个全系统的内存总线上。我们将有一个单一的DDR3内存通道,也连接到内存总线上。gem5二进制文件需要一个python脚本作为参数,该脚本设置并执行模拟。

2023-04-23 10:54:04 126

原创 crc校验

这篇题目为"A Practical Parallel CRC Generation Method"的论文是由Evgeni Stavinov在2011年发表在IEEE Transactions on Computers上的一篇文章。该论文提出了一种实用的并行CRC生成方法,主要针对高速网络和存储系统中需要处理大量数据的情况。该方法通过使用多项式因子化和位重排序技术,将CRC生成过程拆分成多个部分,并利用现代计算机的多核架构来加速计算。

2023-04-23 10:48:29 142 1

原创 体系结构仿真工具Gem5的构建安装

Gem5是一个模块化的离散事件驱动的计算机系统仿真平台。也就是说:1. gem5的组件可以被轻松地重排、参数化、扩展或替换以满足你的需求。2. 它在时间上仿真一系列离散事件。3. 它的预期用途是仿真一个或多个计算机系统。4. Gem5不只是个仿真器,它是一个可以让你用足够多的预制组件搭建你自己的仿真系统的仿真平台。Gem5由C++和python编写,其提供的大部分组件都使用BSD类许可证。

2023-04-14 14:03:16 857

原创 命令行软件Gtypist介绍

Gtypist 是一个LINUX环境下练习打字的软件,用来提升打字的速度,开发语言为C/C++。Gtypist更加基础,更适合初学者,从简到难,可以选择。并且每个lesson内都会有类似打字技巧的文档。这个软件帮助我们去熟悉每一个按键的位置,随着练习时长的增加,会形成肌肉记忆。练习的内容会逐渐升级,加大难度,像是游戏通关,比较有趣味。

2023-04-14 13:59:41 219 2

原创 硬件huffman解码器(三)-并行解码

上篇提出的串行Huffman解码优化方法可以有效地提高解码速度。但其缺点是一种电路设计只能用于一种编码(或针对所有具有相同状态转换的编码)的解码。因此,我们将在下文中介绍一种可配置的Huffman并行解码方法。编解码操作除了可以使用固定算法映射得到的组合逻辑或状态机实现,也可以采用ROM实现。ROM的输入(地址)为编解码前的数据,ROM的输出(每个条目的值)为编解码后的数据。对于定长编码,只需要一个预先写好内容的ROM(或RAM)即可实现对应的编解码器。

2023-04-07 15:28:33 372 1

原创 硬件huffman解码器(二):串行解码及其优化

由于Huffman不定长编码的可区分性,我们可以使用一个简单的序列检测状态机来对Huffman编码的文本进行解码。例如,对于上文提到的Huffman编码,我们可以使用以下Mealy状态机进行解码。上节中使用序列检测状态机解码的电路虽然简单,但解码的速率较低。解码一个n位的编码需要n个时钟周期。那么我们通过并行化的方式提高每个时钟周期解码的位数呢?

2023-03-31 14:38:52 189

原创 硬件huffman解码器(一):huffman编码原理

哈夫曼编码的基本思想是:一个文本中不同字符的出现频率不同,用更短的二进制序列编码出现频率更高的字符,而用更长的二进制序列编码出现频率更低的字符,就可以实现用相比定长编码总和更短的二进制序列去编码整个文本,从而实现数据的无损压缩。不定长编码可以用二叉树的叶节点表示,每个不定长编码必定在二叉树的叶节点上,而每个二叉树的叶节点一定可以用来表示一个不定长编码,从而保证一段二进制序列中的不定长编码可以被区分出来。步骤二:创建一个临时节点t1,其两个子节点为频率最小(B)和次之的(D)字符。

2023-03-31 14:10:24 495

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除