新聞中心
Cache存儲器:電腦中為高速緩沖存儲器,是位于CPU和主存儲器DRAM(Dynamic Random Access Memory)之間,規(guī)模較小,但速度很高的存儲器,通常由SRAM(Static Random Access Memory 靜態(tài)存儲器)組成。它是位于CPU與內(nèi)存間的一種容量較小但速度很高的存儲器。CPU的速度遠(yuǎn)高于內(nèi)存,當(dāng)CPU直接從內(nèi)存中存取數(shù)據(jù)時要等待一定時間周期,而Cache則可以保存CPU剛用過或循環(huán)使用的一部分?jǐn)?shù)據(jù),如果CPU需要再次使用該部分?jǐn)?shù)據(jù)時可從Cache中直接調(diào)用,這樣就避免了重復(fù)存取數(shù)據(jù),減少了CPU的等待時間,因而提高了系統(tǒng)的效率。Cache又分為L1Cache(一級緩存)和L2Cache(二級緩存),L1Cache主要是集成在CPU內(nèi)部,而L2Cache集成在主板上或是CPU上。

為普定等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及普定網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、普定網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
C++測試cache大小
代碼
/*
* 代碼思路:創(chuàng)建一個連續(xù)內(nèi)存塊,進(jìn)行連貫、大量、隨機(jī)的有意義訪問,要保證整塊內(nèi)存盡可能全部放入cache。當(dāng)
* 內(nèi)存被整塊放入cache中時,訪問速度會明顯加快,直到有一個時間跳躍點,消耗時間增多,則這個跳躍點的存儲容* 量大小即為cache大小
*/
#include
#include
#include
#include
#define KB(x) ((size_t)(x) << 10)
using namespace std;
int main()
{
// 需要測試的數(shù)組的大小
vector
for (int i = 1; i < 18; i++)
{
sizes_KB.push_back(1 << i);
}
random_device rd;
// 偽隨機(jī)數(shù)算法,計算更快,占用內(nèi)存更少
mt19937 gen(rd());
for (size_t size : sizes_KB)
{
// 離散均勻分布類
uniform_int_distribution<> dis(0, KB(size) - 1);
// 創(chuàng)建連續(xù)內(nèi)存塊
vector
// 在內(nèi)存中填入內(nèi)容
fill(memory.begin(), memory.end(), 1);
int dummy = 0;
// 在內(nèi)存上進(jìn)行大量的隨機(jī)訪問并計時
clock_t begin = clock();
// 1<<25:將1左移25位,進(jìn)行大量隨機(jī)訪問
for (int i = 0; i < (1 << 25); i++)
{
dummy += memory[dis(gen)];
}
clock_t end = clock();
// 輸出
double elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
cout << size << " KB, " << elapsed_secs << "secs, dummy:" << dummy << endl;
}
}
運行結(jié)果
解析
由運行結(jié)果可以看出,內(nèi)存訪問時間在 8192KB 的時候發(fā)生了跳躍,由此推測cache的大小在 8192KB 左右,即8M左右,下面會進(jìn)行驗證。
Ubuntu查看cahce大小
在命令行中輸入如下代碼:
getconf -a | grep CACHE
在本機(jī)環(huán)境中得到如下測試結(jié)果:
6291456/1024/1024 = 6M,所以本機(jī)chche大小為6M,與代碼測試結(jié)果大體相符
分享文章:Ubuntu環(huán)境下測試Cache大小并校驗
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/djeghsi.html


咨詢
建站咨詢
