C语言内核深度解析 – 读书笔记1

Introduction 《C语言内核深度解析》的读书笔记 ISBN:978-7-115-43294-0 主要内容系摘录。 1. C语言与内存 32位的系统中可用内存是小于等于4G的,这里涉及了三总线的概念:地址总线、数据总线和控制总线。比如我们现在要向内存中写入一个数据,控制总线上传输写指令,地址总线上传输内存地址,而数据总线则传输要写入内存的数据。 我们说的多少位CPU,指的是数据 more ...

CacheSim-1 Cache背景知识简介

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

CacheSim-3 详细实现check_cache_hit等函数

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


CacheSim-5 实验数据分析

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文统计了组相联路数、cache_line_size,cache_size以及替换策略对miss率和读写通信数据量的影响,并以图表的形式展现出来。 1. 组相联路数的影响 不变条件:cache_line_size 32bytes,LRU,Cache_size 32KB more ...


CacheSim-2 类的设计

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文说明了模拟的Cache需要完成的功能,以及大体框架设计,通过头文件内容的说明,使读者获得整体的认识。 1.模拟Cache需要完成的功能 1.1 指令读取 由于主存访问trace以文件形式给出, trace文件下载 所以需要从文件中读取访存tra more ...

简易HttpServer(500行左右代码)

简易HttpServer 1.说明 该httpserver主要是对Tinyhttpd的中文注释以及一些bug的修复以及几个新功能的添加。 Code: gitOSC开源中国 2.HTTP GET 根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。 HTTP请求: more ...