亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

CPU緩存測(cè)量實(shí)驗(yàn):黑盒推斷緩存層次與Cache Line大小的完整指南

CPU緩存測(cè)量實(shí)驗(yàn):黑盒推斷緩存層次與Cache Line大小的完整指南 做這個(gè)實(shí)驗(yàn)的時(shí)候我第一反應(yīng)是有點(diǎn)懷疑的CPU 的數(shù)據(jù)手冊(cè)上都寫(xiě)著 L1 多少、L2 多少、cache line 是 64 字節(jié)為什么還要讓我寫(xiě)一個(gè) C 程序去測(cè)但真正把代碼跑起來(lái)、把曲線畫(huà)出來(lái)的那一刻我才意識(shí)到手冊(cè)給的只是標(biāo)稱(chēng)值程序見(jiàn)到的才是真實(shí)世界里的緩存行為。這個(gè)實(shí)驗(yàn)本質(zhì)上是一個(gè)黑盒測(cè)量它不依賴(lài)任何 CPU 型號(hào)信息只靠訪問(wèn)時(shí)間和緩存命中率的物理差異就能把一臺(tái)機(jī)器的緩存層次、容量、塊大小全部反推出來(lái)。這篇文章就把我完成計(jì)組實(shí)驗(yàn)5cache 大小測(cè)量與 cache line 大小測(cè)量的完整過(guò)程整理出來(lái)包括原理、代碼、讀圖方法、踩坑記錄。如果你是計(jì)算機(jī)組成原理、體系結(jié)構(gòu)相關(guān)課程的學(xué)生或者自己買(mǎi)了個(gè)新 CPU 想驗(yàn)證緩存參數(shù)這篇文章都可以直接照著做。1. 實(shí)驗(yàn)想回答的核心問(wèn)題1.1 為什么測(cè)比查手冊(cè)更有意義緩存cache是 CPU 和主存之間的一層高速緩沖?,F(xiàn)代 CPU 至少有三層緩存L1 最快但最小L3 最慢但最大。我們平時(shí)常說(shuō)的緩存也可能指 Redis 注解、HTTP 緩存、本地磁盤(pán)緩存各種術(shù)語(yǔ)容易被繞暈。但在計(jì)組實(shí)驗(yàn)里我們關(guān)心的只有 CPU 硬件緩存參數(shù)就兩個(gè)緩存總?cè)萘恳约熬彺胬锩娴淖钚》峙鋯挝弧簿褪?cache line 的大小。查手冊(cè)當(dāng)然能查到這些參數(shù)但實(shí)際行為會(huì)受很多因素影響預(yù)取器開(kāi)沒(méi)開(kāi)、虛擬內(nèi)存的頁(yè)著色、同一物理核心的超線程、多核共享 L3 時(shí)的競(jìng)爭(zhēng)都會(huì)讓性能發(fā)生變化。手冊(cè)的標(biāo)稱(chēng)值是一個(gè)理想邊界而實(shí)驗(yàn)測(cè)量出來(lái)的是一個(gè)程序可見(jiàn)的拐點(diǎn)。對(duì)于操作系統(tǒng)、編譯器、性能優(yōu)化的人來(lái)說(shuō)這個(gè)實(shí)測(cè)拐點(diǎn)才是真正有意義的。1.2 緩存容量和 cache line 分別是什么先簡(jiǎn)單對(duì)齊概念。緩存容量是指 L1、L2、L3 分別能裝多少數(shù)據(jù)。cache line 是緩存和內(nèi)存之間傳輸數(shù)據(jù)的最小單位常見(jiàn)值是 64 字節(jié)也有平臺(tái)是 128 字節(jié)部分老處理器是 32 字節(jié)。舉個(gè)例子程序想讀一個(gè) 1 字節(jié)的 charCPU 不會(huì)只把 1 字節(jié)拿回來(lái)而是把它所在的整條 cache line比如 64 字節(jié)一起載入緩存。所以程序中兩個(gè)相距 0 到 63 字節(jié)的訪問(wèn)在實(shí)際硬件上可能只觸發(fā)一次內(nèi)存讀取如果兩個(gè)訪問(wèn)相距 64 字節(jié)就一定是兩條不同的 cache line。這個(gè)特性就是本次實(shí)驗(yàn)的突破口。緩存大小影響訪問(wèn)延遲的容量拐點(diǎn)cache line 大小影響跨步訪問(wèn)的步長(zhǎng)拐點(diǎn)。只要把時(shí)間和數(shù)據(jù)規(guī)模的關(guān)系測(cè)出來(lái)兩個(gè)參數(shù)就都浮出水面了。2. 兩個(gè)指標(biāo)的測(cè)量原理拆解2.1 用容量階梯測(cè)量緩存大小假設(shè)我們有一個(gè)很大很大的數(shù)組比如 64MB。我們以 64 字節(jié)為步長(zhǎng)遍歷它也就是一次只碰一條 cache line把數(shù)組從頭掃到尾。然后不斷縮小數(shù)組規(guī)模重復(fù)同樣的遍歷記錄每次訪問(wèn)的平均耗時(shí)。原理特別直觀當(dāng)數(shù)組規(guī)模遠(yuǎn)超某一級(jí)緩存時(shí)大部分訪問(wèn)會(huì)落到下一級(jí)乃至內(nèi)存里速度明顯變慢當(dāng)數(shù)組規(guī)模剛好能被某級(jí)緩存裝下時(shí)訪問(wèn)速度就會(huì)處于一個(gè)相對(duì)平緩的臺(tái)階。如果我們從 1KB 一直測(cè)到 64MB理論上會(huì)看到三個(gè)明顯的臺(tái)階對(duì)應(yīng) L1、L2、L3 的容量。臺(tái)階交界處就是對(duì)應(yīng)緩存的容量。但順序遍歷會(huì)遇到預(yù)取器干擾?,F(xiàn)在 CPU 的硬件預(yù)取器很聰明它發(fā)現(xiàn)你在順序讀就會(huì)提前把后面的數(shù)據(jù)拉進(jìn)緩存導(dǎo)致訪問(wèn)速度看起來(lái)沒(méi)那么慢。所以更嚴(yán)謹(jǐn)?shù)淖龇ㄊ请S機(jī)訪問(wèn)。用指針追逐模式讓下一次要訪問(wèn)的地址由上一次訪問(wèn)的結(jié)果決定預(yù)取器就基本猜不中。我在后面代碼里先給出最直觀的順序遍歷版本同時(shí)補(bǔ)充指針追逐的改進(jìn)策略。2.2 用跨步拐點(diǎn)測(cè)量 cache line 大小這次我們把數(shù)組固定在一個(gè)很大的規(guī)模上比如 32MB保證它無(wú)論如何都裝不進(jìn)最大緩存。然后改變?cè)L問(wèn)步長(zhǎng)從 1 字節(jié)、2 字節(jié)、4 字節(jié)一直增加到 1024 字節(jié)統(tǒng)計(jì)每次訪問(wèn)的平均耗時(shí)。關(guān)鍵邏輯在于訪問(wèn)同一個(gè)緩存行內(nèi)的不同字節(jié)只有第一次是真的從內(nèi)存加載后續(xù)都是緩存命中。當(dāng)步長(zhǎng)小于 cache line 大小時(shí)每加載一條 cache line會(huì)有多個(gè)被訪問(wèn)到的字節(jié)落在同一條 line 內(nèi)相當(dāng)于一次內(nèi)存訪問(wèn)攤到多次程序訪問(wèn)上平均時(shí)間就低。當(dāng)步長(zhǎng)等于 cache line 大小時(shí)每條 cache line 只被訪問(wèn)一次每次訪問(wèn)都對(duì)應(yīng)一次實(shí)際的內(nèi)存加載平均時(shí)間達(dá)到峰值。步長(zhǎng)繼續(xù)增大超過(guò) cache line 大小后每條訪問(wèn)都從新的一行拿數(shù)據(jù)但實(shí)際訪問(wèn)次數(shù)變少了所以均攤下來(lái)每條的時(shí)間保持在一個(gè)高平臺(tái)上。用數(shù)字算一下假設(shè) cache line 是 64 字節(jié)數(shù)組 32MB。步長(zhǎng)為 1 字節(jié)時(shí)一次完整的遍歷會(huì)發(fā)生 32MB 次程序訪問(wèn)但內(nèi)存只真正加載了 32MB / 64 512K 次每個(gè)程序訪問(wèn)平均攤到的硬成本大概是內(nèi)存延遲的六十四分之一。步長(zhǎng)為 64 字節(jié)時(shí)程序訪問(wèn)次數(shù)是 512K每次訪問(wèn)都要跨一條新 cache line每個(gè)程序訪問(wèn)都承擔(dān)一次完整的內(nèi)存加載延遲。所以曲線上必然在步長(zhǎng) 64 附近出現(xiàn)一個(gè)突然爬升的拐點(diǎn)這個(gè)拐點(diǎn)對(duì)應(yīng)的橫坐標(biāo)就是 cache line 大小。2.3 預(yù)取器、頻率和多核對(duì)測(cè)量的干擾原理聽(tīng)起來(lái)很清爽實(shí)際上手才會(huì)發(fā)現(xiàn)臟活全在后頭。最典型的三個(gè)干擾源第一是預(yù)取器。順序訪問(wèn)時(shí)預(yù)取器會(huì)把后續(xù)幾行提前拉進(jìn)來(lái)讓內(nèi)存延遲看起來(lái)變短。對(duì)策是改用隨機(jī)化訪問(wèn)或者在同一個(gè)測(cè)試內(nèi)重復(fù)多次把預(yù)取效果壓低。第二是 CPU 頻率?,F(xiàn)代處理器有睿頻溫度一變頻率就變時(shí)間讀數(shù)就會(huì)亂飄。實(shí)驗(yàn)之前最好把測(cè)試線程綁定到固定核心并且盡量讓機(jī)器空閑不要開(kāi)一堆后臺(tái)任務(wù)。第三是多核共享。L3 是整個(gè)芯片共享的別的核也在跑程序的話L3 同時(shí)被占用測(cè)量結(jié)果會(huì)被拉偏。寫(xiě)代碼時(shí)用sched_setaffinity把進(jìn)程綁到一個(gè)核上雖然不能完全隔離 L3 競(jìng)爭(zhēng)但至少能減少一部分。3. 實(shí)驗(yàn)環(huán)境與 C 語(yǔ)言實(shí)現(xiàn)3.1 工具選擇和準(zhǔn)備我的環(huán)境是 Linux編譯器用 gcc。計(jì)時(shí)用clock_gettime(CLOCK_MONOTONIC)它返回單調(diào)時(shí)鐘不會(huì)因?yàn)槭謩?dòng)改系統(tǒng)時(shí)間而跳變精度也足夠到納秒量級(jí)。需要特別注意的是編譯器問(wèn)題。如果數(shù)組內(nèi)容簡(jiǎn)單累加編譯器可能把整個(gè)循環(huán)優(yōu)化成無(wú)意義的常量計(jì)算所以測(cè)試數(shù)組必須聲明為volatile并且用一個(gè) volatile 變量承接讀取結(jié)果確保每次內(nèi)存訪問(wèn)都真實(shí)發(fā)生。還要做兩件事關(guān)掉會(huì)拉偏測(cè)試的 CPU 遷移用sched_setaffinity綁定到 0 號(hào)核心如果機(jī)器支持也可以考慮關(guān)掉超線程后再測(cè)減少同核爭(zhēng)搶。3.2 實(shí)驗(yàn)一代碼測(cè)量緩存大小核心思路是讓數(shù)組容量從 1KB 增長(zhǎng)到 64MB固定步長(zhǎng) 64 字節(jié)記錄每次訪問(wèn)的平均納秒數(shù)。#include stdio.h #include stdlib.h #include string.h #include time.h #include sched.h #define STRIDE 64 #define MAX_SIZE (64 * 1024 * 1024) static volatile unsigned char pool[MAX_SIZE]; static double now_ns(void) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, ts); return (double)ts.tv_sec * 1e9 (double)ts.tv_nsec; } static double run(int bytes, int loops) { volatile unsigned char sink 0; double t0, t1; int i, j; // 預(yù)熱把訪問(wèn)過(guò)的頁(yè)面提前碰一遍避免把缺頁(yè)時(shí)間算進(jìn)去 for (i 0; i bytes; i STRIDE) sink pool[i]; t0 now_ns(); for (j 0; j loops; j) { for (i 0; i bytes; i STRIDE) sink pool[i]; } t1 now_ns(); return (t1 - t0) / (double)((long)loops * (bytes / STRIDE)); } int main(void) { int kb[] {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 6144, 8192, 12288, 16384, 32768, 65536}; int i; memset((void *)pool, 0, sizeof(pool)); // 綁定到 0 號(hào)核心 cpu_set_t set; CPU_ZERO(set); CPU_SET(0, set); sched_setaffinity(0, sizeof(set), set); for (i 0; i sizeof(kb) / sizeof(kb[0]); i) { int bytes kb[i] * 1024; int lines bytes / STRIDE; int loops 16 * 1024 * 1024 / lines; if (loops 1) loops 1; double ns run(bytes, loops); printf(%8d KB %10.3f ns/access\n, kb[i], ns); } return 0; }這段代碼的關(guān)鍵在loops的調(diào)整。數(shù)組變小的時(shí)候每輪訪問(wèn)到的 cache line 數(shù)量少所以要多跑幾輪保證每個(gè)規(guī)模點(diǎn)的總訪問(wèn)量差不多避免小數(shù)組因?yàn)榕艿锰?、?jì)時(shí)器精度不夠?qū)е抡`差。volatile unsigned char sink是為了告訴編譯器每次讀取的結(jié)果都可能改變從而保住每一次內(nèi)存訪問(wèn)。編譯時(shí)用gcc -O2 -o cache_size cache_size.c -lrt-lrt在老版本 glibc 上需要新系統(tǒng)一般可以省略。如果你想更嚴(yán)格可以在這段順序遍歷的基礎(chǔ)上改成指針追逐版先生成一個(gè)大小為bytes/4的隨機(jī)索引鏈然后從鏈頭開(kāi)始一步步pos next[pos]。這樣每條指令的地址依賴(lài)上一次結(jié)果預(yù)取器基本沒(méi)法發(fā)揮作用L1、L2、L3 之間的臺(tái)階會(huì)更清晰。3.3 實(shí)驗(yàn)二代碼測(cè)量 cache line 大小這次數(shù)組固定為 32MB保證大于大多數(shù) CPU 的 L3 容量。步長(zhǎng)從 1 字節(jié)逐步增大到 1024 字節(jié)計(jì)算每次訪問(wèn)的平均耗時(shí)。#include stdio.h #include stdlib.h #include string.h #include time.h #include sched.h #define MAX_SIZE (32 * 1024 * 1024) static volatile unsigned char pool[MAX_SIZE]; static double now_ns(void) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, ts); return (double)ts.tv_sec * 1e9 (double)ts.tv_nsec; } int main(void) { int stride[] {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024}; int i; memset((void *)pool, 0, sizeof(pool)); cpu_set_t set; CPU_ZERO(set); CPU_SET(0, set); sched_setaffinity(0, sizeof(set), set); for (i 0; i sizeof(stride) / sizeof(stride[0]); i) { int s stride[i]; long access_count MAX_SIZE / s; int loops 64 * 1024 * 1024 / access_count; if (loops 4) loops 4; volatile unsigned char sink 0; double t0, t1; int j, k; // 預(yù)熱 for (k 0; k MAX_SIZE; k s) sink pool[k]; t0 now_ns(); for (j 0; j loops; j) { for (k 0; k MAX_SIZE; k s) sink pool[k]; } t1 now_ns(); double ns (t1 - t0) / (double)((long)loops * access_count); printf(stride %4d B, %10.3f ns/access\n, s, ns); } return 0; }這段代碼的運(yùn)行邏輯是步長(zhǎng)為 1 時(shí)access_count很大loops就會(huì)被壓小步長(zhǎng)為 1024 時(shí)每輪訪問(wèn)次數(shù)很少loops會(huì)變大。這是為了讓總訪問(wèn)次數(shù)在同一個(gè)量級(jí)從而讓每毫秒的計(jì)時(shí)誤差不至于在數(shù)據(jù)點(diǎn)上造成完全不可信的波動(dòng)。步長(zhǎng)范圍建議根據(jù)實(shí)際 cache line 大小調(diào)整。常見(jiàn)的 x86 平臺(tái) cache line 是 64 字節(jié)所以我在 32 和 64 之間多插了一個(gè)點(diǎn)。有些 ARM 平臺(tái)是 128 字節(jié)那你在 64、128、256 之間可以再加幾個(gè)點(diǎn)比如 96、160把拐點(diǎn)找得更準(zhǔn)。注意步長(zhǎng)最好保持 2 的冪這樣與緩存索引和組映射的關(guān)系更清晰。3.4 編譯、運(yùn)行和結(jié)果采集兩個(gè)程序編譯后直接運(yùn)行即可普通用戶權(quán)限就夠不需要 root。輸出是文本方便你重定向到文件后用 Python、Excel 或 gnuplot 畫(huà)圖。gcc -O2 -o cache_size cache_size.c gcc -O2 -o cache_line cache_line.c ./cache_size size_result.txt ./cache_line line_result.txt畫(huà)圖時(shí)橫軸建議用對(duì)數(shù)坐標(biāo)。緩存大小測(cè)試橫軸是數(shù)組容量從 KB 到 MB差異可能上千倍線性坐標(biāo)根本看不出早段的細(xì)節(jié)cache line 測(cè)試步長(zhǎng)從 1 到 1024也要用對(duì)數(shù)坐標(biāo)才直觀。4. 實(shí)測(cè)數(shù)據(jù)與讀圖方法4.1 預(yù)期曲線形態(tài)現(xiàn)代 x86-64 桌面處理器的典型緩存參數(shù)大致是層級(jí)典型容量典型訪問(wèn)延遲L132KB ~ 64KB1 ~ 1.3nsL2256KB ~ 2MB4 ~ 10nsL38MB ~ 32MB20 ~ 50ns主存無(wú)上限60 ~ 120ns因此緩存大小測(cè)試的輸出曲線應(yīng)該是在 32KB 附近出現(xiàn)第一次跳升L2 邊界出現(xiàn)第二次跳升L3 邊界出現(xiàn)第三次跳升。三次跳升把曲線分成四段平緩區(qū)這個(gè)階梯非常明顯。cache line 測(cè)試的輸出曲線應(yīng)該是步長(zhǎng)在 1 到 32 字節(jié)之間時(shí)每次訪問(wèn)的平均時(shí)間相對(duì)平穩(wěn)在步長(zhǎng) 64 附近突然變高之后保持在偏高平臺(tái)。拐點(diǎn)橫坐標(biāo)直接等于 cache line 大小。4.2 縱軸和橫軸讀法緩存大小測(cè)試的縱軸是每次訪問(wèn) cache line 的平均耗時(shí)單位 ns/access。這里說(shuō)的一次訪問(wèn)是指一次pool[i]讀取由于步長(zhǎng)固定為 64 字節(jié)它近似等于訪問(wèn)一條 cache line的成本。緩存行測(cè)試的縱軸含義不同??v軸是每訪問(wèn)一個(gè)元素的時(shí)間元素大小是 1 字節(jié)。當(dāng)步長(zhǎng)小的時(shí)候一次內(nèi)存加載能覆蓋多個(gè)元素均攤成本低當(dāng)步長(zhǎng)等于 cache line 大小時(shí)一次訪問(wèn)就要承擔(dān)一次完整的內(nèi)存加載成本高。所以這個(gè)實(shí)驗(yàn)的縱軸不是純?cè)L問(wèn)延遲而是均攤到每個(gè)邏輯元素上的平均延遲。這個(gè)區(qū)別如果不說(shuō)明白畫(huà)圖的時(shí)候很容易誤解成 cache line 越大越慢。4.3 我的一臺(tái)實(shí)際測(cè)試機(jī)結(jié)果在一臺(tái) L1 32KB、L2 256KB、L3 8MB 的機(jī)器上緩存大小測(cè)試得到的數(shù)據(jù)大概是測(cè)試規(guī)模每訪問(wèn)平均耗時(shí)8KB約 0.4 ns32KB約 0.9 ns64KB約 1.8 ns256KB約 3.5 ns1MB約 7.5 ns8MB約 14 ns16MB約 22 ns64MB約 24 ns可以看到在 32KB 附近曲線第一次抬頭對(duì)應(yīng) L1 容量在 256KB 附近第二次抬頭對(duì)應(yīng) L28MB 之后增幅變緩對(duì)應(yīng) L3 容量。為什么 L3 平臺(tái)不如前兩級(jí)那么陡因?yàn)楝F(xiàn)代 CPU 預(yù)取器和跨步訪問(wèn)策略對(duì) L3 訪問(wèn)的掩蓋作用比較強(qiáng)但拐點(diǎn)依然可辨。cache line 測(cè)試部分的數(shù)據(jù)也符合預(yù)期步長(zhǎng) 1 到 32 字節(jié)的平均訪問(wèn)時(shí)間大約在 1.2 到 2.0ns 之間步長(zhǎng) 64 突然跳到 8ns 以上。這說(shuō)明 cache line 邊界就是 64 字節(jié)和手冊(cè)上的參數(shù)完全吻合。5. 常見(jiàn)問(wèn)題與排查實(shí)錄5.1 編譯器把測(cè)試代碼優(yōu)化成什么都沒(méi)做這是最容易踩的坑。如果你沒(méi)把測(cè)試數(shù)組聲明成volatile編譯器會(huì)認(rèn)為整個(gè)循環(huán)的累加結(jié)果從來(lái)沒(méi)被使用直接把它刪除或合并。你測(cè)到的不是內(nèi)存訪問(wèn)時(shí)間而是循環(huán)空轉(zhuǎn)的耗時(shí)甚至可能快到一個(gè)不合常理的數(shù)值比如每訪問(wèn) 0.001ns。解決方法是三件套測(cè)試數(shù)組全局聲明為volatile承接結(jié)果的變量也聲明為volatile編譯時(shí)用-O2而不是-O0。只要三點(diǎn)做到編譯器就沒(méi)法偷懶。5.2 曲線臺(tái)階不明顯全是鋸齒原因主要是預(yù)取器和系統(tǒng)噪聲。我遇到過(guò)的情況是機(jī)器后臺(tái)有索引服務(wù)在跑L3 時(shí)快時(shí)慢曲線在 16MB 到 64MB 之間上下抖動(dòng) 30%。處理辦法先把后臺(tái)程序盡量停掉然后把測(cè)試進(jìn)程綁定到一個(gè)固定核心。如果還不行可以嘗試關(guān)閉 CPU 硬件預(yù)取但普通環(huán)境下沒(méi)有 root 權(quán)限通常改不了 MSR所以我一般是用隨機(jī)訪問(wèn)模式做替代不再依賴(lài)順序遍歷。隨機(jī)訪問(wèn)會(huì)讓每個(gè)數(shù)據(jù)點(diǎn)都被真實(shí)未命中主導(dǎo)鋸齒會(huì)小很多。5.3 計(jì)時(shí)器分辨率不夠有些虛擬機(jī)或老內(nèi)核里clock_gettime的分辨率可能只有幾微秒而我們測(cè)量一次訪問(wèn)只有零點(diǎn)幾納秒到幾十納秒直接測(cè)單次訪問(wèn)肯定不行。代碼里已經(jīng)做了多次循環(huán)取平均但如果你的機(jī)器特別老可以把loops那一行的基準(zhǔn)值從16 * 1024 * 1024提高到64 * 1024 * 1024讓總耗時(shí)放大到毫秒級(jí)。如果是在虛擬化環(huán)境里測(cè)我的建議是放棄這個(gè)實(shí)驗(yàn)去實(shí)體 Linux 機(jī)器上跑。虛擬機(jī)的時(shí)間切片和中斷注入會(huì)讓曲線變成瘋子測(cè)出來(lái)的數(shù)據(jù)只能作為相對(duì)趨勢(shì)參考不能當(dāng)真實(shí)硬件參數(shù)。5.4 打開(kāi)perf驗(yàn)證硬件計(jì)數(shù)器時(shí)間測(cè)量本質(zhì)上是間接推斷如果想確認(rèn)緩存大小臺(tái)階確實(shí)對(duì)應(yīng)緩存失效可以在 Linux 下用perf stat看硬件計(jì)數(shù)器。比如緩存大小測(cè)試跑到 32KB 和 64KB 兩個(gè)規(guī)模時(shí)分別看 L1 緩存失效次數(shù)perf stat -e cache-references,cache-misses,l1d-loads,l1d-load-misses ./cache_sizeperf stat輸出是整個(gè)程序的總計(jì)不方便按規(guī)模拆分。更精細(xì)的做法是在 C 代碼里調(diào)用perf_event_open在每個(gè)測(cè)量點(diǎn)前后讀一次硬件計(jì)數(shù)器。不過(guò)對(duì)大多數(shù)實(shí)驗(yàn)課來(lái)說(shuō)用時(shí)間曲線已經(jīng)足夠了。硬件計(jì)數(shù)器主要用于驗(yàn)證為什么這里會(huì)拐彎屬于錦上添花。5.5 多核緩存共享帶來(lái)的誤判如果你在一顆 8 核開(kāi)滿任務(wù)的情況下測(cè) L3測(cè)出來(lái)的 L3 容量可能不足因?yàn)橛幸徊糠直黄渌藫屨剂?。更隱蔽的是同一顆物理核心的超線程也會(huì)共享 L1 和 L2如果另一個(gè)邏輯核在跑任務(wù)你的 L1、L2 就會(huì)被擠壓。我的經(jīng)驗(yàn)是先用taskset -c 0或者代碼里的sched_setaffinity綁定核心再用top或者h(yuǎn)top確認(rèn) 0 號(hào)核心基本空閑然后才開(kāi)始測(cè)。如果機(jī)器是大小核架構(gòu)比如 Intel 12 代以后的 P 核和 E 核最好綁定到一個(gè)固定的 P 核上大小核混跑會(huì)讓數(shù)據(jù)出現(xiàn)兩套完全不同的曲線。6. 最后說(shuō)點(diǎn)個(gè)人體會(huì)這個(gè)實(shí)驗(yàn)做完之后我對(duì)緩存是什么的理解完全不一樣了。以前背的L1 32KB、L2 256KB、cache line 64 字節(jié)只是紙面上的數(shù)字現(xiàn)在我看一條曲線就能直接說(shuō)出這臺(tái)機(jī)器緩存分幾層、每層大概多大。這種能力在調(diào)優(yōu)內(nèi)存訪問(wèn)密集型程序的時(shí)候特別有用比如矩陣分塊、池化分配、鏈表轉(zhuǎn)數(shù)組這些優(yōu)化本質(zhì)上都是在順應(yīng)緩存的行為。實(shí)際跑實(shí)驗(yàn)時(shí)我個(gè)人建議不要只跑一遍。多跑兩三遍取每次讀數(shù)的中位數(shù)而不是平均數(shù)因?yàn)槠骄鶖?shù)容易被偶發(fā)的中斷拉高。如果你用 Python 處理結(jié)果可以直接畫(huà)一張雙對(duì)數(shù)圖把緩存大小測(cè)試和 cache line 測(cè)試兩條曲線放在一起很多規(guī)律一眼就看出來(lái)了。這個(gè)實(shí)驗(yàn)后續(xù)還能繼續(xù)擴(kuò)展比如測(cè)量緩存相聯(lián)度、測(cè)量不同寫(xiě)分配策略的效果甚至改成用rdtsc指令做高精度計(jì)時(shí)。每次換一種測(cè)法都能從 CPU 這個(gè)黑盒里多撬出一層真相。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人妻喷水| 青青草日逼视频| 激情婷婷丁香网| 97五月天| 极品色www影院| 色网色网色网色网色网色| 欧美精品丝袜久久久中文字幕| 国产精品无套内谢| 羞涩视频| 殴美性天天| 青娱乐大香蕉| 操逼999| 国产在线不卡导航| 天天综合精品| 九九热在线精品视频| 中文字幕精品一区欧美| 人妻天堂综合网| 无码人妻丰满热妇又大又粗| 成在线人在线观看视频| 中文字幕AV乱伦| 中文字幕精品探花视频| 男啪女色黄无遮挡免费观看| 日韩无码极品| 欧美偷拍| 这里只有精品97| 男人的天堂久久狠| 国产中午字一暮区| 亚洲欧美变态| 天天天干977| 精品成人久久久人人亚洲| 成人在线午夜视频一区| 91欧美丨精品丨入口| 亚洲情色婷婷五月天| 777奇米影视777四色| 高清一区AV无码| 97超碰人人模人人拍人人| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 成人AV超碰免费在线| 91精品国产91熟女| 久久超碰日韩精品| 一起草视频在线| 性91| 免费精品国偷自产在线在线| heyZO天然素人无码AⅤ专区| www.99中文字幕| 亚洲国产婷婷在线播放| 久久久久国产精品喷潮免费观看臀 | 乱论91| 国产亚洲精品农村妇女| 艹比视频国产精品| 综合色啪| 亚洲男人天堂2012| 99蜜桃臀久久久欧美精品网站| 久久精品国产99国产精品亚洲| 91美腿丝袜在线观看| 亚洲熟妇熟在线电影视频| 久久嫩草国产成人一区| 中文字幕av一区二区三区人妻少妇 | 我要色综合网站| 偷窥自拍亚洲| 欧美日韩大香蕉| 欧美性爱18观看| 午夜无码精品免费看性色| 亚洲导航深夜福利| 91美女视频在线观看| 91视频综合网| 国产一区二区a毛片| 婷婷五月天激情网| 久久久久无码| 91国内外在线| 欧美天天| 视频分类 国内精品| 超碰97起碰| 澳门人妻久久| 高颜值美女口爆高潮浪叫| 东北熟女91| 边做饭边操逼逼| 国产aⅴ无码片毛片一级网站| 综合激情五月天| 嗯嗯嗯啊啊啊在线免费观看| 伊人伊人LD| 欧美姓爱综合网| 一级性爱视频免费观看 | 秋霞一级鲁丝片A片| 亚洲图片日本AⅤ欧美在线| 国岛片视频| 欧美第一页性| 青青操日韩| 91久久免费视频互動交流| 免费的黄片wwwwww| 免费一级黄色录像影片| 九九碰九九爱97| 亚洲精品美女操逼| 七月婷婷综合| 麻豆人妻精品一区二区| 亚洲黑人在线| 亚洲国产日韩欧美熟妇在线| 青青伊人这里只有精品| 欧美一级黄色免费专区| yirendaxiangjiashipin| 久久久久久中文| 无码不卡八戒| 欧色综合| 91情色| 麻豆国产尤物AV| 天美传媒精品一区二区三区| 五月天色五月| 国产蜜臀精品一区二区尤物| 亚洲国产高清福利视频| 夜夜 中文视频rt| 日韩欧洲操屄视频| 91网亚洲| 久久久久免费看少妇A片特黄| 五月丁香| 91视频综合网| 伊人久久青青草| 怡红院成人视频| 黄色免费网页无码| 色偷偷超碰亚洲| 黄片色区软件| 安微少妇操BBB| 少妇人妻好深太紧了vr91| 97色冈| 亚洲国产综合图区中文字幕 | 欧洲精品一区二区三区| 国产精品香蕉热久久新品| 丰满少妇高潮无码| 亚洲一区日韩精品| 日韩78m视频| 免费观看网黄| 劲爆欧美人妖三区91| 国产精品亚洲无码| 欧美激情精品久久久| 免费的很黄很污的全部视频| 大香蕉草草| 自偷自拍的亚洲视频| 中文字幕av一区二区三区人妻少妇| 一区二区三区探花在线观看| 久艹99| 日韩黄色一区二区三区| 久操免费观看| 久插不卡| 麻豆国产96在线| 曰本特级特黄特色黄色A级网站高清在线免费看| 青娱乐欧美激情一区二区| 久久精品72| 亚洲第2页| 91国产伊人大香蕉| 亚州国产精品乱| 欧美性爱第1 页| 成人在线视频一区| 中文字幕一区 二区三四五 区日 日骚 | 自拍内地三级在线观看| 死我十八禁| 久久99热这里只频精品6学生| 中日韓欧美高清| 密臀在线免费观看| 国产1769在线| 强被迫伦姧在线观看无码网站| 亚洲揄拍网| 亚洲一区二区精品福利| 国产精品久久久| 无码久| 五月丁香婷婷色| 亚洲欧美另类小说| 久久久禁| 看看小穴| 国模吧 一区二区三区| 91欧美亚洲| 91超碰在线播放| 婷婷在线播放| 欧美网站免费| 亚洲无码国产精品久久| av中亚| 亚洲少妇自拍中文字幕懂色| 91综合国产精品| 亚洲图片欧美日韩| 国产亲戚伦亲在线| 少妇一区二区三区高速| 9久久久久| 东京热AV男人的天堂| 久久久久9久久久久| 福利大香蕉| 亚洲最大91网| 免费看毛片操穴| 九九探花视频在线观看| 色黄污美女啪啪啪免费网站| 极品肉射| 欧美日韩在线小说 | 熟女欧美日韩综合婷婷| 精品超碰中文在线| www久久99| 少妇3P性爱自拍| 国产辣妈在线视频福利| 美女天天干| 欧美97av| 五月天精品| 欧美在线视频观看一二三四区高清| 999久久久久久久精| 国产尹人在线视频免费| 精品中文字幕一区二区l - 百度| 玖玖爱免费观看视频| 豆花视频操逼网址| 国产精品久久久久亚洲av| 国产强奸乱伦第1页| 国内精品99999| 久久久久人| 天堂网 主播 亚洲| 人妻五十路在线| 国产成年精品高清在线观看91| 啊啊啊爽爽| 亚洲精品蜜桃久久久| 欧美日韩另类字幕中文| 任你干在线视频| 久久久久久久六六 | 国产精品ww久久| 天天综合欧美| 久久av无码| 麻豆国产97在线| 欧美亚洲中文| 一区在线精品中文字幕| 亚洲天堂中文字| 日本操逼视频导航| 欧美一级A片在线看视频性色| 日本无码1| 夜夜影视四色| 口爆综合网| 色女女女导航| 日本999精品| 大香蕉宅男伊人| 欧美色道啊| 亚洲高潮影院| 国产丝袜美女在线一区| 日韩性爱高清免费视频| 亚州情色j区| 天天综合影院91| 日日噜噜夜夜久久亚洲一区二区| 日本五区不卡| 在线视频97| 国产绿奴视频在线观看| 亚洲情色无码一区二区三区| 69精品| 100啪啪视频大全| 嗯啊抽插大香蕉网页| 久9视频| 视频二区美腿丝袜制服人妻欧美| 久久骚少妇| 亚欧美色图| 97色碰| AA特级绝黄| 极品色社| 大香蕉性欧美| 欧美精品日韩久久久九| 日韩精品区二区三区不卡| 亚洲视频,小说| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 思思热在线观看| 精品免费国产二区三区| 九九久久久| 超碰成人公开| 99久久久| 午夜福利视频在线一区| 一区二区三区在线资源| 久久精品人妻一区二区三区| A级国产欧美激情在线| 免费观看国产小粉嫩喷水精品午| 日本欧美韩国日产片片在线看免| 熟女91网| 欧美一二三级精品在线| 99热精品在线播放| 国产91专区| 成人小说另类在线| av在线浏览| 亚洲猛交| 亚洲AV免费在线| 精品999日本| 九九九九国产| 天美av在线观看| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲成a人片在线观看中文!!!| 国产精品老熟女一区二区| 啊啊啊啊啊舒服| 天天谢天天干| 综合网~91综合网| 97精品一区二区视频| 综合五月天| a啊啊啊啊啊啊啊啊一区二区| 九月丁香婷婷色| 少妇500双飞99| 亚洲精品久久久久毛片A片拉屎| 成人综合久久精品色婷婷| 日本欧美m v精品网站加| 青娱乐欧美激情一区二区| 午夜精品久久久99| 亚洲日韩视频二区| 97视频900| 亚洲无码太久| 国产视频大全| 成人综合久久精品色婷婷| 97在线欧| 色婷婷丁香五月| 欧美丝袜中文字幕07在线| www.久久99| 精品夜夜澡人妻无码AV| 人人澡人人爽人人精品| 国产女同视频在线播放| 熟妇国产免费一区| 欧亚性爱视频免费看| 五毛骚逼极品美女怕怕| 综合色图,成人综合网| 久久伊人影院| 国产嫩草精品A88AV在线| 国产 日韩 欧美一区| 亚洲乱色视频一区、二区在线| 乱性AV| 色超碰综合| 国产 热久久久久国产精品| 亚洲 无码 有码 中文字幕| 无遮挡猛进视频免费无限观看| 蜜臀久久99精品久久久久久成人小说| 99re6久热只有精品6在线直播| 91啪啪| 久久久久久久久久久久黄色 | 亚洲欧洲日韩中文字幕一区| 嫩草 人人网精品| 1769精品一区二区三区| 中英熟女操女| 久草线上视频免费看| 日本在线不卡一二区| 丁香九月婷婷| 日本熟妇自慰性高潮一区二区三区| 久久人人爽人人爽人人片Ⅴ| 欧美欧美啪啪视频| 中出20p| 无码免费一区二区三区啪啪| 搡老熟女老女人老熟妇免费视频| 在线视频亚洲无码| 日韩精品资源| 欧美猛交黑寡妇中文字幕| 日韩,欧美,中文在线| 亚洲影视综合| 久久精品成人| 综合91网| 大香蕉在线免| 人人手机欧洲亚洲国产人妻| 国产精品久久久三级无码| 波多野结衣AV无码一区| 精品福利| 92久久| 日韩资源网| 日本三级韩三级99久久| 中国一区二区亚洲人妻| 少妇熟女1区2区3区| 大香蕉2017| 久久久久密臀视频| 动漫片子网站3黄| 国产精品久久久久av| 伊人一区二区在线播放| 91综合在线| 超碰精品97| 亚洲宗合网| 欧洲亚洲人妻无码中字久久三区四区 | 在线观看日韩av不卡| 波多野结衣AV无码一区| 国产久久久| 超碰吊日色| 91网站18+| 欧美国产一区二区三区麻豆传媒 | 天天综合网在线观看| 999熟女精品| 嗯嗯啊好大| 精产国品一区二三产品| 欧美大码在线视频| 中文字幕片| 久操黄色视频| 素人播放一区| 欧美黑人猛交春色影视大全| 婷婷五月天网| 日韩欧美视频青青| 亚洲丝袜二区| 欧美三级一级| 91色碰| 亚洲情色婷婷五月天| 五月天开心网| 亚洲 欧美 中文 日韩超碰| 婷婷操逼| 久久,精品一二三| 亚洲国产精品久久久久久久久久| 97人人干| 亚洲。日韩。欧美| 人妻人人澡人人爽人人| 欧美精品偷拍| 乱子伦一区二区三区国产精品| 情色av电影| 精品十三区| 91丝袜激情在线| 亚洲蜜臀视频精品久久| 久久精品高清无码一区| 性欧美91| a亚洲欧美色欲| 久久性爱精品一区| 人人妻人人狠人人| 国产精品麻豆成人AV艾秋| 97天天爽| 伊人久久久日韩一区| 视频在线中文字幕| 日韩精品-原创伙伴| 五月亭亭六月丁香| 中文字幕亚洲永久精品| 柠檬AV导航| 国产13区| 超碰在线1234区| 91精品人妻一品二品三品| 综合网欧美| 在线无码网站| 激情丁香五月婷婷| 少妇人妻无码| 岛国天天午夜影院传媒网| 啊啊啊啊好疼| 日韩av不卡在线看| 六月婷婷综合| 大香蕉伊然在亚洲91| 激情欧美97| 无码外流操逼视频| 97超级久久强资源| 女上位精品在线| 久久精品国产亚洲AV先锋| 特级毛片特黄久久免费看| 国产成人综合网| 天天α片| A级片一区| JULIA一区二区三区在线播放| 国产一区二区三区中文字幕| 精品视频久久区| 精品欧美老熟女一二区| 一区二区娱乐网站| 99色日| 日本一区二区三区四区五区六区七区八区九区| 综合影视国产无码| 天天亚洲综合| 好色综合| 玖玖人人爱| 超碰久草| 黄片直播三级黄片两女一男| 国精综合一二三区影视| 亚洲一区二区在线观看91| 蜜乳AV网址| 九九九久久久久| 五十路三区在线| 日本一本道A级黄色毛片试看60分钟| oumeisetu综合| www.成人无码| 国产成人久久久精品免费AV| 亚洲drav色图| 色黄色美女大长腿午夜视频| 色九九九九| 中文字幕国产在线天堂| 91男女啊啊啊| 欧美日韩中文视频播放| 91精品综合久久久久久五月丁香| 亚洲校园激情| 天堂8在线新版官网| 在线观看午夜婷婷久久久久清性观看| 日韩在线欧美精品一区二区| 麻豆福利视频导航| 无码操逼视频一下| 日本999精品| 2017人人操,人人摸| 少妇被玩视频二三区| 99re这里只有精品9| 五月丁香网站| 97香蕉网| 亚洲人在线| 妇女性内射冈站HDWWWCOM| 亚射在线| 国产高清无码一区三区二区| 在线亚洲丝袜视频网站| 欧美三级中文字幕hd| 乱色老一区二区三区的观看方式| 日韩不卡a级视频专区| 国产自产22区| 狠狠爱综合网| 亚洲丝袜综合| 牛牛久久国产精品视频一二三| 高清无码在线播放网站| 国产99999久久精品| 影音先锋乱| 亚洲第一页综合在线| 激情综合网激情五月天| 91久久| 超碰97最新人妻| 无码免费精品高清| 久久久久久九九九九九| 91色爽欧美| 99久久精品无码一区二区| 骚日日av| 一区二区三区四区姦女| 婷婷丁香五月天综合东京热| 久久亚洲一区二区色婷婷| 中文字暮97| 欧美伊人久久综合网| 久艹99| 久久超碰爱| 欧美激情性爱视频网站| 国产又粗又长又大的视频| 偷拍欧美激情| 92午夜免费福利视频| 日韩有码中文字幕女同性恋 | 一区二区乱码福利| 欧美论理片| 一区二区三区在线资源| 亚洲暴力强奸AV| 亚洲人久久久久日| 韩日精品福利视频一区不卡在线免| 欧美日韩第一页| 久久性爱视频99| 偷拍亚洲视频一区二区三区四区| 欧美一二在线| 日韩一级二级| 亚州AV无码国产精品| 国产三级片在线观看| 欧美色图 人妻| 久久五月份| 国产 热久久久久国产精品| 少妇久久久久久| 亚洲人人夜夜澡人人爽| 少妇天堂网络| 台湾佬激情综合| 操逼操操操91| 上海一级黄片| 国产91av在线播放| 久久97| 色九久| 国产精品高朝久久久久久久| 亚洲自拍另类丝袜综合| 懂色AV一区二区三区| 色一色综合网| 亚洲最大AV网| ?亚洲伊人伊成久久人综合网| 亚洲成人精品在线一区| 中文字幕97| 夜夜欢天天干| 九九热av| 欧美日韩亚洲天堂| 欧美大的香蕉有线电视视频| 久久久涩| 91无码人妻精品一区二区三区蜜桃| 国产精品熟妇一区二区三| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 丁香激情五月天| 欧美人人AAA| 國產尤物AV尤物在線觀看| 草莓精品视频在线免费观看| 夜夜草天天| 日韩熟女三十乱伦| 国产一区二区三区高清视频| 婷婷超| 2020久久免费视频| 偷拍 欧美 日韩| yw尤物av无码点击进入麻豆| 91内射| 亚洲天堂在线怕怕视频| 亚洲āv网址在线观看| dy888午夜老子影视达达兔| 国产深夜福利| 欧美福利视频啊啊啊啊| 高清无码在线播放网站| 欧美日本中字另类在线| 色综合久久88色综合久久天天| 国产精品久久久久久片| 色婷婷久久| 亚洲 欧美 天天| 五月天色图| 亚洲少妇色图自慰直播| 亭亭在线资源| 亚洲无码一区成人免费午夜| 日本成a人v网站在线观看| 人妻献身系列第54部| 国产欧美一级在线观看| 久热无码| 韩国女主播青草在线| 男人的亚洲天堂| 岛国天天午夜影院传媒网| 97在线免费视频观看| 中文操逼字幕| 男女激情黄色网址| 色噜噜狠狠色综无码久久合欧美| 日韩一级二级在线| 少妇人妻激情四射| 国产女人视频三四五区| 日日日日做夜夜夜夜无码| 操逼网站视频漫画国产| 99精品丰满人妻无| 性色高清..……| 亚洲九九九| 国产精品一二三在线看| 人人妻人人操人人乐| 亚洲污污网站| 少妇综合| 香蕉久久国产AV一区二区| 宅男91视频在线播放| 91女优在线观看| 91综合在线| 人妻精品一区二区在线| 116美女午夜| 死我十八禁| 国产精品4p在线观看| 六十路日本| 欧美国产有色电影| 超碰成人人人爽人人爽| 伊人久久大香大香线蕉中文| 97国产亚洲中文在线| 国色综合天| 久久精品国产亚洲AV高级北京| 99热这里只有精| 亚洲久草AV色图| 最新av中文字幕高清| 色色激情五月天| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 午夜人人操| 丁香五月社区| 亚洲日韩97| 天天躁日日躁xxxxx| 精彩视频日韩| 精品午夜福利| 五月丁香啪| 久久人妻一区二区三区高清| 日韩无码操逼片| 麻豆av一区二区三区| 欧色网址| 国产成人网| 婷婷久久久精品| 黄片无码在线制服| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲加勒比色图| 欧美性爱无码一区二区三区| 中文字幕精品丝袜| 东北女人无套内谢视频| 久久久久13| 亚洲天堂资源网| 亚洲色五月| 男人天堂新| 99久久久99久久91熟女| 日韩91网| 九九热精品视频在线观看| 精品无码少妇| 色婷婷综合网| 嗯嗯啊啊操我| 淫色网综合| av网站免费线看| 婷婷激情一区二区三区俺也去| 国产高清亚洲日韩一区| 欧美一区二区日韩传媒搭讪精品| 在线毛片片免费观看| 一区二区精品更新提醒| 久久黄色视频一区二区三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 制服丝袜第二页| 日韩不卡a级视频专区| 91欧洲入口| 嗯啊不要在线| 日本中文字幕不卡视频| 久久日本熟妇熟色高清| 黄片com.| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 懂色av中文字幕| 大香蕉伊人久久| 久久夜夜| 日日日骚女人精品| 人人透人人操| 日本影视久久免费| 日欧毛片久久| 久久五月视频| 人妻精品视频一区二区三区| 美女诱惑在线一区| 日韩黄色成人性爱| 俄罗斯及免费在线看| 曰本91情色| 久久98| 久久精品人人做人人看| 蜜桃臀一区二区三区久久| www.婷婷| 中文字幕一区二区三区高清| 日本道人妻久久久在线不卡色视频| 天天综合91在线| 蜜乳av一区二区| 天堂亚洲精品| 九九热视频这里只有精品| 亚洲国产成人高清在线| 强奸乱伦AV一天堂网| 欧美在线|亚洲| 青青草在线视频人人想人人上| 中文字幕交换人妻| 啊啊啊好想要| 91高清日| 九九热在线精品视频| 一本久道久久综合狠狠爱| 日韩99精品视频综合区| 一区二区影视| 日本性一区| 色女99一级片在线观看| 99热这里是精品| 曰本人妻人人澡人人夹| 在线免费观看高清无码视频| 91蜜桃传媒精品久久久一区二区| av大香蕉网站| 亚洲不卡AV在线| 伊人久久大香大香线蕉中文 | 日本女厕偷拍| 中文字幕在线观看视频www| 久久久久人妻二区精品叶可怜| 搡老女人老91二区| 亚洲精品97p| 国产妇女精品视频青青草| 久久久草成人网站久久久草成人久久久草久久久 | 亚洲人妻熟妇三十三区| 久久91| 日本人妻天堂网站在线播放| 亚洲五月丁香花狠狠干一区二区三区| 亚洲精品天堂久久A∨51成人漫| 999久久久| 亚洲国产福利视频| 97干天天| 久九干| 婷婷综合五月天| 亚洲成人一区二区精品| 大香蕉乱级| 蜜臀久久99精品久久久久久酒店| 尤物视频偷拍免费| 欧美色图成人网一区二区 | 国产成人天堂| 久久久久久性爱视频| 91精品国产麻豆国产自产在| www.99中文字幕| 亚洲 中文字幕 精品| 国产精品96久久久久久| 少妇高潮一区二区三区在线| 吊色| A一级色女| 97在线观视频免费观看| 99亚洲人人| 日韩一级二级在线| 九久9热| 殴美牲| 欧美亚洲国内自拍| 激情小说五月天| 天天干天天做| 午夜精品久久久久久久男人的天堂| 欧美性爱另类综合| 婷婷色影院| 91精品大奶人妻| 再深点灬舒服灬太大了好硬好爽| 九月丁香综合网| 日韩丰满熟妇| 天天干夜夜操网| 婷婷精品国产一区二区三区日韩| 久久九七| 亚洲欧美setu| 亚洲一区亚洲天堂| 激情文学小说一区二区 | 性爱网站一区二区| 艹精品| 91爆操视频| 久久久久久AⅤ无码免费肉站| 亚洲色图日韩精品| 激情久久久| 簧片免费看视频| 丁香五月成人| 男人的天堂在线2| 神马久久久久久久久久久久| 亚洲国产中文字幕| 久久高潮妇女视频| 国产精品黑人一区二区三区| 日韩无码黄色片| 天天日天天插| 国产熟女精品区| 午夜啊啊| 亚洲性爱电影| 久久婷婷影院| 天美一二三在线观看Av| 国产超碰欧美| а√天堂资源官网在线资源| 国产92麻豆天美精品色欲5| 又大又白奶子| 久久久久久久久久精| 另类欧美色| 高清国产性猛交xxxx乱大交| 色色五月婷| 欧美白嫩女HD| 蜜臀久久99精品久久久久久婷婷 | 能看的av| 亚洲日本天堂| 国产女同在线观看视频| 91黑人无码激情在线| 欧美最婬乱婬爆婬性视频 | 久久婷婷亚洲欧| 亚洲日韩美女丝袜美腿人妻视频| 超碰在线观看av不卡| 国产九月婷婷| 精品熟妇视频一区二区| 成人性爱AV在线免费观看| 亚洲午夜AV| 天天插天天操天天摸天天射天天看| 精品午夜福利| 一级性爱aaaa| 无码久| 欧亚无码视频| 91黑丝在线播放| 国产精品电| 性爱视频无打码在线观看| 国产不卡片| 96麻豆精品一区二区三区| 日韩欧美俄罗斯A片| 欧美97日韩| 精品欧美老熟女一二区| 六月婷婷综合| 亚洲综合色图欧美| 亚洲女毛多水多21P| 大香蕉男人的天堂| 国产精品久久妻无码网站| 亚洲精品视频二区| 伊人九九| 国内外色色色色色成人视频| 欧美精品,四区。五区| 岛国网址国产 | 人妻aa| 日日日色色色色色| 国产一级不卡在线观看| 91精品丝袜久久久久久无码人妻| 深夜福利黄片| 中文字幕一二三区| 秋霞色色影院| 久久色激情一区二区三区| 欧美日韩传媒| 九九热免费国产视频婷婷伊人| 成人性交免费视频| 殴美,日韩国产伦精品| 91丝袜美女视频| 素人播放一区| 污色区网站| 97欧美精品综合| 高清无码久操视频| 西西美女视频网| 白天啪啪晚上啪啪视频| 日本最新1区2区3区| 把腿张开老子CAO烂你| 少妇精品久久久八区九区| 天天看,天天做| 中韩中文字幕在线观看| 9九九九九视频在线观看| 成人怡红院| 亚洲欧美另类少妇精品| 91人妻精华帖| 夜夜爽夜夜摸夜夜操免费视频| 亚洲国产一区二区三区四区国产| 国产97av| 中文字幕丝袜美腿| 在线欧美69V免费观看视频| 丰满人妻一区| 狠狠干狠狠干| 亚洲成aⅴ人片不卡无码| 国产久久久久影院老熟女| 日韩av在线播放不卡| 东北熟女91| 黄色不卡视频| 国产 三级自拍| 综合网欧美| 青青欧美| 97色伦欧美| 波多野42部无码喷潮在线观看| 97爱啪| 日韩素人无码一区二区三区三州| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 欧美精品宗合| 好爽免费视频,| 无码色| 18禁中文字幕| 91美女精品| 69精品人人人人| 久久精品国产免费观看99| 天天天肏屄肏屄肏屄欧美欧美| 99.色网| 日韩av影片在线观看| 国产一二三在线视频五十路| 四虎国产成人精品免费一女五男| 国产无套粉嫩白浆在| 亚洲啪啪视频免费| www.久久超碰| 日本一天色道久久久精品视频| 日韩午夜啪啪视频| 中文字幕乱码人妻二区三区| 国语精品av| 啊啊啊啊啊啊啊啊啊啊在线观看| 日本免费中文一区二区三区四区| 精品人体无圣光凹凸| 999综合网| 91插B网站| 天天看片麻豆| av中文字幕在线熟女| 在线中文字幕极品av| 美女操逼A A| 午夜在线播放| 色99久草| 久久久成人精品| 亚洲丝袜天堂| 一区二区三区四区色图| 国产强奸超碰AV| 岛国免费黄色网址| WWW.操逼.COM| 久久少妇| 亚洲精品少妇| 精人妻一区二区三区| 久艹99| 岛国999| 欧美情色贴图| 色眯眯射| 色老汉色| 九九九九九九九九九九九免费国产| www.91色| 性爱1区| 91干熟女| 亚洲中文字幕精品久久久久久直播| 少妇3P性爱自拍| 日韩免费看在线黄色片| 国产成人91一区二区三区| 少妇高潮九九九九| 亚洲熟女人妻中文字幕一区二区| 99这里只有精品| 国内精品久9| 久久后入制服| 狠狠97| 97视频免费在线| 亚州精品人妻一二三区| 久久噜噜噜精品国产亚洲综合| 天堂资源站| 99久在线精品99re8热视频在线| 91欧美美女日韩国产婷婷| 熟女色图在线| 丁香婷婷激情五月天无毒不卡| 亚洲影院小综合| 日本黄大片在线观看视频| 青青在线视频日韩欧美| 91肉丝| 秋霞Av理论一级在线| 午夜舔阴达高潮视频免费看| 欧美日韩在线视频网站| 丁香婷婷五月| 人妻一二三区| 国产男人又猛又粗又爽| 国产AV高清AV无码| 婷婷久久综合| 天天综合AV| 91中文精品日韩欧美在线| 亚洲第91页| 久久人妻一区二区三区高清| 日韩91网| 91香蕉国产尤物视频| 一级二级三级黑人无码| 日韩中文字幕人妻视频| 精品少妇一区二区三区在线视频| 天天天天干| 久草视频制服诱惑| 精品成人女人久久| 国产白丝网站| 伊人热综合| 国产黄片在线免费观看| 凹凸视频特色日本特黄| 日韩美女久久一区二区三区| 精品国产72| 老鸭窝成人| 放黄片放3级黄片没穿衣服| 岛国在线免费视频| 欧美极度丰满熟妇hd| 夜夜肏2021| 黑人精品久久97| 男人的天堂1024| 久久久精品中文字幕爱豆| 久久高清欧美国产| 国产原创精品| 久久久内射良家| 国产成人亚洲精品无| 超碰在线香蕉| 超91综合网| 蜜桃精品视频一区二区三区| 国产一区二区在线播放| 日本欧美一区二区三区免费| 婷婷五月天福利| 欧美伦乱爱| 亚州性9| 久草福利在线资源站| 嗯啊啊啊轻点视频| 日韩欧美中文字亚洲慕| 伊人网免费视频| 丁香婷婷久久 | 国产精品一区二区亚洲人成毛片| 中文字幕 国产区| 今日头条成人一区二区三区四虎精品| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 色婷婷香蕉| 伊人991| 日本伦乱九九九综合| 综合一区中亚洲国产成人综合精品 | 欧美性爱超碰97| 久久精品国产亚洲AV嘿嘿| 有码免费观看| 日夜精品| 色婷婷导航| 欧美亚洲宗合色性图| 天天视频黄| 密桃99999| 一卡二卡在线播放| 在线观看岛国有码| AV天堂男人的天堂| 亚洲久久久久| 中文字幕在线日亚州9| 久湿久久 | silk lablo在线观看一区二区| 日本一区二区中文字幕久久| 五月丁香六月| 大逼色网站| 国内精品久久久久影院亚洲| 青青草无码视频| 久久精品欧美一区二区三区不卡| 欧美日韩国第一区| 久久久久国产精品久久久| 91九色网| 大香久久| 超碰91在线| 人妻少妇一区二区| 91精品人妻一品二品三品| 久久久国产三级黄色片| 干b网| 亚洲精品三| 欧美自拍网| 久久五月综合| 欧美天天综合在线| 丁香五月天视频| 精品人妻一区二区三区视频在线| 国内精品久久久久影院亚洲| 久草色在线观看| 99超级碰免费视频| 九t超碰| 97天天爽| 天堂v无码免费视频| 啊啊啊好湿久久| 欧美探花网| 青青欧美| 综合欧美日本三级| 精品人妻久久久久一区二区三区| 免费黄色视频网址| 日韩啪啪视频| 欧美少妇一区二区三区| 欧美一级AAAAAAA| 欧美色日本| 亚洲成A∨人影院在线欢看| 老鸭窝在线视频播放| 天天干,天天日| 最新日本中文字幕| 91在线丝袜视频| 无码免费精品高清| 嗯嗯啊啊啊好爽| 91色鬼| 国产精品久久久久久久毛片1| 中文字幕av片| 混色激情av| 中国一级特黄大片护士| 色偷偷综合91久久噜噜| 亚洲激情网一二三四区| 92性色国产午夜福利在线661| 999九九精品| 成人在线日韩| 国产精品久久久吖| 中文字幕诱惑制服人妻丝袜美丝袜美| 国模吧 一区二区三区| 91综合色噜噜| 国产JDAV无码视频在线观看| 欧美青青视频| 激情综合久久| 天天视频黄| 大但人体久久久久| 骚货| 人人操人人大香蕉| 久久男人天堂| 激情小说亚洲视频| 久久亚洲影院一区二区| 中国少妇XXXX做受| 香蕉精品二区二区| 殴洲老熟女| 人妻少妇精品一区二区三区| 91丨九色丨国产丨人妻在线 | 乱伦系列一区二区| 国产在线视频午夜精华在| 伊人久久亚洲色欲综合网站 | 亚洲成人免费在线| 人妻丰满熟妇一区二区三| 国产日韩怡红院| 99热这里只有是精品10| 男人的天堂2010| 成人网站 免费观看| 国产精品人妻无码久久久老鸭窝| 9997se| 草伊人高潮喷水超碰| 丁香五月影院| 人妻aa| 一起草欧美| 国产色产精品在线观看| www.人人摸在线视频| 欧美色图 人妻| 中国91AV| 男人天堂网手机版婷婷| 久草资源在线视频官方总站日韩丝袜美腿| 五月天激情影院| 特级毛片特黄久久免费看| 一级片视频啪啪| 中文字幕在线免费观看| 亚洲色天堂九9| 欧美色图人妻| av天天在线| 色老汉色| 久9久| 91狠狠综合久久久久久| 狠狠狠狠狠干| 亚洲第一成人影院色播| 精品无码不卡视频| 100啪啪视频大全| 2017av无码免费无线播| 大香蕉中文| 我要色综合网| 国产熟女无套内射| 91欧美情色| 久久婷婷苹果| 亚洲熟女一区二区| 一二三四区操操Av| 中文字幕精品专区搜索结果91| 欧美熟女丝袜| 久久精品国产久精国产| 亚欧美综合网。| 国产乱码久久久久久| 91nbbbbbb| 91激情综合| 91处女在线视频| 日韩av情韩国爱禁区av一区二区| 亚洲欧洲无码一区夜| 一区二区三区成人| 久久精品国产精品| 91男人天堂网| 九九亚洲色在线观看| 熟女露脸激情自拍视频| 国产AV线| 亚洲丝袜二区在线| 欧美性性性| 日日夜夜精品视频| 日韩av在线精品观看| 精品丝袜无码一区二区三APP| 免费少妇一区二区| 激情网色| 亚洲午夜av| 大香蕉免费中文| 久久国产视频专区一二三| 老熟女熟妇|