Author: Find

1

CacheSim-4详细实现cache miss以后的操作

Introduction CacheSim 简单的Cache模拟器 专辑目录本文主要介绍cache miss以后的操作。接上一章的cache hit以后的操作,如果miss了 index = get_cache_free_line(set_base); set_cache_line((_u32)index, addr); if (is_read) { cache_r_count++; } else { cache_w_count++; } cache_mi...

1

CacheSim-3 详细实现check_cache_hit等函数

Introduction CacheSim 简单的Cache模拟器 专辑目录本文详细说明load_trace、check_cache_hit等函数。 1.程序入口 main.cpp主要针对一个测试文件,配置了不同cache line大小,不同组相联路数,不同的替换策略。默认使用写回法。默认cache大小32KB(0x8000 Bytes)。在每次循环里,首先初始化cache的配置,然后设置替换策略,最后读入trace文件并开始模拟内存读写过程。 2.初始化...

1

CacheSim-2 类的设计

Introduction CacheSim 简单的Cache模拟器 专辑目录本文说明了模拟的Cache需要完成的功能,以及大体框架设计,通过头文件内容的说明,使读者获得整体的认识。 1.模拟Cache需要完成的功能 1.1 指令读取 由于主存访问trace以文件形式给出,trace文件下载所以需要从文件中读取访存trace。其中trace的格式如下: s 0x1fffff50 1 每行的第一个字符是表示该条指令的类型,s为写(store),r为读(read...

1

CacheSim-1 Cache背景知识简介

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文简要介绍Cache的背景知识,以及Cache结构的划分。 在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问...

5

手把手教你写Cache模拟器

Introduction 项目地址:CacheSim- GithubStar也放到了CacheSim-开源中国上这个专辑记录了写一个非常简单的cache模拟器的过程。主要是因为我要做的研究里,使用gem5来跑程序太慢了,所以只能自己在项目里实现一个简易的cache模拟器,获得一些实验数据。正好加州大学圣迭戈分校(University of California, San Diego,简称为UCSD,又常译为加州大学圣地亚哥分校)有一门Principles ...

3

服务器、VPS等安全防护教程

Introduction 在从搬瓦工(Bandwagon)购买VPS之后,自信的在vps里使用了debian搭建ss等等。过了一个多月,就收到搬瓦工邮件,说 We have detected a large number of outgoing SMTP connections originating from this server. This usually means that the server is sending out spam.我们检测到...

6

一次惨痛的服务器配置经历

Introduction 最近实验室老师突然说要把1楼那台闲置的服务器用起来,我想玩一下,然后就揽了这个任务。没想到中间跌宕起伏。。 1 装系统 1.1 做U盘启动盘 选择了ubuntu server 16.04,因为简易方便,大家用的最多的是ubuntu。装系统么,不就是用ultra iso做个u盘,插上去,设置bios,重启然而,我们的浪潮服务器nf8560m2用事实打了我的脸。在用ultra iso来制作u盘镜像的时候,有个写入方式的选项,现在一般使...

3

Genymotion刷入谷歌应用市场以及获取root权限

Introduction 现在genymotion新建的镜像中,都去掉了对root权限的管理,但是在命令行进入之后,仍然是具有root权限的,本文介绍了刷入supersu权限管理工具和谷歌应用包。 说明 genymotion 是一个非常流行的安卓模拟工具,网络上现在也流传着很多在genymotion里安装谷歌服务(Google play store等等)的教程(包括我之前翻译的一篇Genymotion简单教程及问题解决),但是大多数都已经没法用了。根据那些...

0

Docker运行Mysql

Introduction 更多关于Docker内容请查看Docker学习笔记目录本章主要说明了如何在docker中的linux中启用mysql服务。我的需求是在宿主机上写代码,适用mysql数据库,不想在宿主机上安装,把数据库直接放到docker里。由于我的docker 拉取ubuntu:latest时16.04尚未发布,所以本文的基准镜像是ubuntu 14.04,其他linux版本理论上也适用。 REPOSITORY TAG IMAGE ID CREA...

2

Docker初体验

Introduction 更多关于Docker内容请查看Docker学习笔记目录 简单记录下自己用docker的一些经历和经验。并不对docker进行介绍,可自行查阅下面的链接。先发一些阅读的的东西。推荐这个简短的小教程:Docker 从入门到实践这是官方的文档:Docker Documents后面的一些安装也是按照官方文档里说的进行。利用Docker构建开发环境 安装 我的运行环境:Debian 8 Jessie x86_64参考官方文档 wget -q...