日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

ARM Cortex-M性能基準(zhǔn)測(cè)試:從DMIPS、CoreMark到實(shí)戰(zhàn)優(yōu)化指南

ARM Cortex-M性能基準(zhǔn)測(cè)試:從DMIPS、CoreMark到實(shí)戰(zhàn)優(yōu)化指南 1. 項(xiàng)目概述為什么我們需要一場(chǎng)Cortex-M內(nèi)核的性能“跑分”在嵌入式開發(fā)這個(gè)行當(dāng)里選型是項(xiàng)目成敗的第一步。面對(duì)琳瑯滿目的ARM Cortex-M系列內(nèi)核——從主打極致能效的M0到性能均衡的M3/M4再到帶有DSP和浮點(diǎn)單元的M7/M33/M55——很多工程師尤其是剛?cè)胄械呐笥淹鶗?huì)陷入一種“參數(shù)焦慮”主頻高的就一定快嗎帶FPU的做電機(jī)控制到底能快多少M(fèi)33比M4強(qiáng)在哪里值不值得為它付出更高的成本這些問題光看ARM官方那幾百頁(yè)的架構(gòu)參考手冊(cè)和數(shù)據(jù)手冊(cè)里的峰值DMIPS/MHz數(shù)字是得不到直觀答案的。那些數(shù)字是理論峰值就像汽車發(fā)動(dòng)機(jī)的最大馬力但實(shí)際跑起來受路況總線架構(gòu)、變速箱編譯器優(yōu)化、車重應(yīng)用程序特性影響巨大。因此我們需要一個(gè)更貼近真實(shí)應(yīng)用場(chǎng)景的“性能標(biāo)尺”來量化、對(duì)比不同內(nèi)核在實(shí)際任務(wù)中的表現(xiàn)。這就是性能基準(zhǔn)測(cè)試Benchmark的價(jià)值所在。今天我們就來深入聊聊嵌入式領(lǐng)域特別是ARM Cortex-M世界里的性能指標(biāo)“大比拼”。這不是一次簡(jiǎn)單的參數(shù)羅列而是一次從理論到實(shí)踐、從工具到方法的深度剖析。我會(huì)結(jié)合自己多年在MCU原廠和一線產(chǎn)品開發(fā)中的經(jīng)驗(yàn)為你拆解Dhrystone、CoreMark這些經(jīng)典測(cè)試的里里外外告訴你它們到底在測(cè)什么結(jié)果怎么看更重要的是如何利用這些工具為你自己的項(xiàng)目選型和優(yōu)化提供實(shí)實(shí)在在的決策依據(jù)。無論你是正在評(píng)估新芯片的架構(gòu)師還是苦苦調(diào)優(yōu)代碼性能的工程師相信這篇近萬字的干貨都能給你帶來啟發(fā)。2. 性能指標(biāo)深度解析DMIPS、CoreMark與Dhrystone的“三國(guó)演義”當(dāng)我們談?wù)撎幚砥餍阅軙r(shí)最常聽到的幾個(gè)詞就是DMIPS、CoreMark和Dhrystone。它們就像是性能世界的不同“貨幣”各有各的計(jì)價(jià)單位和適用范圍。理解它們的本質(zhì)差異是正確解讀任何性能對(duì)比數(shù)據(jù)的前提。2.1 DMIPS/MHz一個(gè)充滿歷史包袱的“理論貨幣”DMIPSDhrystone MIPS可能是最古老也最著名的指標(biāo)了。它的核心思想是用Dhrystone這個(gè)測(cè)試程序的得分除以一個(gè)基準(zhǔn)機(jī)器通常是VAX 11/780的得分得到一個(gè)相對(duì)于該機(jī)器的“MIPS”每秒百萬條指令值。而DMIPS/MHz則是將這個(gè)值再除以處理器的主頻試圖描述“每MHz主頻能獲得多少性能”。注意這里有一個(gè)巨大的認(rèn)知陷阱。MIPS的本意是“每秒百萬條指令”但在DMIPS的語(yǔ)境下它已經(jīng)和實(shí)際的指令執(zhí)行速率脫鉤了變成了一個(gè)純粹的、基于Dhrystone測(cè)試的“性能分”。當(dāng)你看到“Cortex-M4內(nèi)核的峰值性能為1.25 DMIPS/MHz”時(shí)絕不意味著它每MHz主頻能執(zhí)行125萬條指令而僅僅意味著它在這個(gè)特定的Dhrystone測(cè)試上得分是那個(gè)古老VAX機(jī)器的1.25倍/MHz。為什么DMIPS備受爭(zhēng)議測(cè)試程序過時(shí)Dhrystone誕生于1984年其代碼模式大量整數(shù)運(yùn)算、字符串操作與當(dāng)今的嵌入式應(yīng)用信號(hào)處理、協(xié)議棧、實(shí)時(shí)控制相去甚遠(yuǎn)。易受編譯器優(yōu)化影響聰明的編譯器能識(shí)別出Dhrystone中大量的死代碼和可預(yù)測(cè)循環(huán)并進(jìn)行激進(jìn)優(yōu)化導(dǎo)致得分虛高卻不能代表真實(shí)應(yīng)用性能。無法反映內(nèi)存子系統(tǒng)性能Dhrystone體積很小能完全塞進(jìn)緩存里運(yùn)行因此它幾乎測(cè)不出緩存、總線帶寬、內(nèi)存延遲的影響。而在實(shí)際應(yīng)用中這些往往是性能瓶頸。盡管如此DMIPS/MHz依然是芯片數(shù)據(jù)手冊(cè)里的???。我的建議是將其視為一個(gè)在相同編譯器、相同測(cè)試條件下對(duì)比不同內(nèi)核“理論整數(shù)計(jì)算吞吐量”的粗略標(biāo)尺。它可以用于同一家族內(nèi)核如M3 vs M4的初步比較但絕不能作為跨平臺(tái)、跨應(yīng)用選型的唯一依據(jù)。2.2 CoreMark為嵌入式而生的“現(xiàn)代標(biāo)準(zhǔn)”正是為了克服Dhrystone的種種弊端EEMBC嵌入式微處理器基準(zhǔn)評(píng)測(cè)協(xié)會(huì)在2009年推出了CoreMark。它可以看作是嵌入式領(lǐng)域的“標(biāo)準(zhǔn)化考試”。CoreMark測(cè)什么它包含了一系列算法內(nèi)核矩陣操作模擬數(shù)字濾波、鏈表遍歷模擬狀態(tài)機(jī)或協(xié)議解析、CRC計(jì)算模擬數(shù)據(jù)完整性檢查。這些算法更貼近嵌入式系統(tǒng)的常見任務(wù)。CoreMark的最終得分是一個(gè)絕對(duì)數(shù)值單位就是“CoreMark”數(shù)值越高越好。為了公平對(duì)比不同主頻的芯片通常會(huì)使用“CoreMark/MHz”這個(gè)歸一化指標(biāo)。CoreMark的優(yōu)勢(shì)相關(guān)性更強(qiáng)其算法組合比Dhrystone更能代表嵌入式工作負(fù)載。防編譯器“作弊”CoreMark的規(guī)則對(duì)編譯器優(yōu)化做了很多限制比如禁止將循環(huán)展開到超過特定次數(shù)防止編譯器通過“猜透”測(cè)試來刷分使得結(jié)果更穩(wěn)定、更具可比性。成為行業(yè)事實(shí)標(biāo)準(zhǔn)幾乎所有主流的MCU廠商N(yùn)XP, ST, Microchip, TI等都會(huì)提供其芯片的CoreMark分?jǐn)?shù)這為我們提供了橫向?qū)Ρ鹊膶氋F數(shù)據(jù)池。實(shí)操心得如何獲取可信的CoreMark分?jǐn)?shù)不要完全相信數(shù)據(jù)手冊(cè)上的“典型值”。最可靠的方法是自己跑一遍。步驟通常如下從EEMBC官網(wǎng)下載標(biāo)準(zhǔn)CoreMark源碼包。針對(duì)你的目標(biāo)MCU和編譯器如IAR, Keil MDK, GCC進(jìn)行移植。主要是實(shí)現(xiàn)portable目錄下的時(shí)鐘計(jì)時(shí)、串口輸出等板級(jí)支持包BSP函數(shù)。使用一致的編譯器優(yōu)化等級(jí)推薦使用-O3進(jìn)行編譯。運(yùn)行并記錄結(jié)果。 我遇到過數(shù)據(jù)手冊(cè)標(biāo)稱4.0 CoreMark/MHz的芯片在特定編譯器配置下只能跑到3.5。自己實(shí)測(cè)心里才有底。2.3 Dhrystone知其所以然方知如何用其然雖然老舊但Dhrystone并非一無是處。理解它的構(gòu)成有時(shí)能幫助我們?cè)\斷一些特定問題。Dhrystone主要由大量密集的整數(shù)運(yùn)算、字符串比較和內(nèi)存操作組成。它的得分受以下因素影響極大整數(shù)運(yùn)算單元ALU效率M0/M0是單周期32位乘法器而M3/M4是單周期32位乘法且支持部分除法硬件加速這在Dhrystone上會(huì)有明顯差異。分支預(yù)測(cè)能力雖然Cortex-M系列的分支預(yù)測(cè)很簡(jiǎn)單主要是靜態(tài)預(yù)測(cè)和短循環(huán)優(yōu)化但在Dhrystone的密集循環(huán)中微小的差異也會(huì)被放大。編譯器整數(shù)優(yōu)化能力這是得分波動(dòng)的最大來源。一個(gè)實(shí)用的技巧將Dhrystone作為一個(gè)“壓力測(cè)試”工具。在你的工程中以低優(yōu)化等級(jí)如-O0編譯運(yùn)行一次Dhrystone記錄其性能和代碼體積。然后切換到高優(yōu)化等級(jí)如-O3-Os再跑一次。對(duì)比兩次的得分差和體積差你可以非常直觀地量化出你的編譯器在整數(shù)代碼上的優(yōu)化能力到底有多強(qiáng)。這對(duì)于評(píng)估編譯器選型很有幫助。2.4 性能指標(biāo)對(duì)比表格與選型指導(dǎo)為了更直觀我將這三個(gè)核心指標(biāo)總結(jié)如下指標(biāo)全稱核心價(jià)值主要局限適用場(chǎng)景DMIPS/MHzDhrystone MIPS Per MHz歷史久數(shù)據(jù)多用于粗略對(duì)比同源內(nèi)核的理論整數(shù)峰值。測(cè)試過時(shí)易被編譯器優(yōu)化“刷分”與真實(shí)應(yīng)用脫節(jié)??焖僭u(píng)估內(nèi)核整數(shù)理論性能閱讀數(shù)據(jù)手冊(cè)的參考項(xiàng)。CoreMarkCoreMark (EEMBC)現(xiàn)代嵌入式標(biāo)準(zhǔn)算法相關(guān)性強(qiáng)防作弊性好行業(yè)認(rèn)可度高。仍偏重通用計(jì)算對(duì)特定外設(shè)如硬件加速器不敏感。芯片選型黃金標(biāo)準(zhǔn)性能橫向?qū)Ρ染幾g器優(yōu)化效果評(píng)估。CoreMark/MHzCoreMark Per MHz歸一化指標(biāo)剝離主頻影響純粹對(duì)比架構(gòu)和編譯器效率。忽略芯片能達(dá)到的實(shí)際最高主頻工藝、功耗限制。對(duì)比不同微架構(gòu)的內(nèi)核效率如M4 vs M7。DhrystoneDhrystone Benchmark極端的整數(shù)與字符串操作壓力測(cè)試。幾乎不能代表任何真實(shí)應(yīng)用場(chǎng)景。測(cè)試編譯器整數(shù)優(yōu)化極限作為教學(xué)或歷史參考。選型時(shí)的決策流建議初篩查看目標(biāo)芯片數(shù)據(jù)手冊(cè)的CoreMark和CoreMark/MHz分?jǐn)?shù)建立性能基線。深挖如果手冊(cè)沒有嘗試尋找原廠提供的測(cè)試報(bào)告或自己移植測(cè)試。務(wù)必關(guān)注測(cè)試條件主頻、編譯器、優(yōu)化等級(jí)、內(nèi)存配置。超越基準(zhǔn)問自己我的核心算法是什么如果是FFT、FIR濾波那么帶有DSP擴(kuò)展的M4/M7/M33的實(shí)測(cè)FFT性能比CoreMark更重要。如果是電機(jī)FOC那么單精度浮點(diǎn)單元FPU的實(shí)測(cè)三角運(yùn)算速度是關(guān)鍵。系統(tǒng)考量性能≠內(nèi)核分?jǐn)?shù)。芯片的Flash加速器ART Accelerator、緩存大小、總線矩陣、內(nèi)存零等待狀態(tài)WS頻率這些系統(tǒng)級(jí)特性對(duì)實(shí)際性能的影響常常比內(nèi)核本身更大。3. 超越基準(zhǔn)測(cè)試挖掘影響真實(shí)性能的“隱形因素”跑分很高但實(shí)際代碼跑起來就是卡頓。這是很多工程師的噩夢(mèng)。問題往往出在那些基準(zhǔn)測(cè)試測(cè)不到的地方。這一章我們深入芯片內(nèi)部看看那些“隱形”的性能殺手或助推器。3.1 內(nèi)存子系統(tǒng)性能的“任督二脈”你可以把Cortex-M內(nèi)核想象成一個(gè)處理能力極強(qiáng)的“大腦”而內(nèi)存子系統(tǒng)Flash、RAM、總線、緩存就是連接大腦與知識(shí)庫(kù)代碼和記事本數(shù)據(jù)的神經(jīng)通道。通道的寬度和速度直接決定了大腦能多快地獲取信息。Flash等待狀態(tài)Wait State這是最容易被忽視的性能瓶頸。MCU內(nèi)部的Flash存儲(chǔ)器有其固有的讀取延遲。當(dāng)CPU主頻超過某個(gè)閾值時(shí)CPU必須插入等待周期才能讀到正確的指令或數(shù)據(jù)。例如某芯片的Flash在0-48MHz時(shí)是0等待狀態(tài)0WS48-96MHz時(shí)需要1WS96MHz以上需要2WS。影響插入1個(gè)WS意味著讀取一次Flash需要2個(gè)時(shí)鐘周期理論指令吞吐量直接減半。這對(duì)于順序執(zhí)行的代碼是災(zāi)難性的。解決方案指令緩存I-CacheM7、M33等高端內(nèi)核標(biāo)配。一旦指令被緩存后續(xù)執(zhí)行就無需訪問Flash。對(duì)于循環(huán)代碼段性能提升是數(shù)量級(jí)的。預(yù)取緩沖器Prefetch BufferM3/M4等內(nèi)核常見。它提前讀取下一條指令一定程度上隱藏延遲。但分支跳轉(zhuǎn)會(huì)使其失效。將關(guān)鍵代碼拷貝到RAM運(yùn)行這是終極手段用RAM速度換取性能。但RAM空間寶貴需謹(jǐn)慎使用??偩€矩陣與仲裁當(dāng)CPU、DMA、以太網(wǎng)MAC等多個(gè)主設(shè)備同時(shí)訪問RAM或外設(shè)時(shí)總線仲裁器來決定誰先誰后。低端芯片可能是單總線所有設(shè)備爭(zhēng)搶高端芯片采用多層AHB總線矩陣允許并行訪問。實(shí)戰(zhàn)場(chǎng)景你在用M4內(nèi)核處理數(shù)據(jù)同時(shí)ADC通過DMA往內(nèi)存里寫數(shù)據(jù)。如果總線是共享的DMA傳輸會(huì)搶占總線導(dǎo)致CPU取指暫停造成性能抖動(dòng)。這在實(shí)時(shí)控制中是致命的。排查方法使用芯片的性能計(jì)數(shù)器如Cortex-M的DWT單元監(jiān)控總線訪問沖突。或者在DMA傳輸期間測(cè)量一段關(guān)鍵代碼的執(zhí)行時(shí)間看是否出現(xiàn)波動(dòng)。3.2 編譯器與優(yōu)化等級(jí)同一內(nèi)核不同“靈魂”同樣的C代碼同樣的Cortex-M4內(nèi)核用IAR、Keil MDK-ARMARMCC/ARMCLANG和GCC編譯性能差異可能高達(dá)20%-30%。這背后是編譯器的“魔法”。-O0, -O1, -O2, -O3, -Os你該怎么選-O0無優(yōu)化僅用于調(diào)試。代碼順序與源碼嚴(yán)格對(duì)應(yīng)變量全在內(nèi)存中便于單步跟蹤和查看變量。性能最差體積最大。-O1/O2平衡優(yōu)化啟用大部分安全的優(yōu)化如公共子表達(dá)式消除、簡(jiǎn)單的循環(huán)優(yōu)化。代碼體積和性能取得較好平衡。大多數(shù)應(yīng)用項(xiàng)目的推薦選擇。-O3激進(jìn)優(yōu)化啟用所有優(yōu)化包括可能大幅增加代碼體積的循環(huán)展開、函數(shù)內(nèi)聯(lián)等。適用于對(duì)性能極度敏感且代碼空間充裕的場(chǎng)景如DSP算法核。-Os尺寸優(yōu)化在-O2的基礎(chǔ)上優(yōu)先考慮減小代碼體積可能會(huì)犧牲一些性能。適用于成本敏感、Flash空間緊張的項(xiàng)目。一個(gè)關(guān)鍵技巧混合優(yōu)化。大多數(shù)IDE允許對(duì)單個(gè)文件或函數(shù)設(shè)置獨(dú)立的優(yōu)化等級(jí)。你可以將性能瓶頸函數(shù)如電機(jī)控制的PID環(huán)路用-O3甚至-Ofast啟用可能改變精度的浮點(diǎn)優(yōu)化編譯而將其他不關(guān)鍵的代碼用-Os編譯。這樣在有限的Flash空間內(nèi)榨取了最大性能。編譯器特定優(yōu)化IAR其--no_size_constraints選項(xiàng)可以讓優(yōu)化器更偏向性能而非體積。ARM Compiler 6 (ARMCLANG)支持鏈接時(shí)優(yōu)化LTO可以在鏈接階段進(jìn)行跨模塊的全局優(yōu)化效果顯著。GCC提供大量細(xì)粒度優(yōu)化參數(shù)如-funroll-loops循環(huán)展開、-ffast-math快速數(shù)學(xué)可能影響精度。注意事項(xiàng)高等級(jí)優(yōu)化可能會(huì)改變程序行為例如激進(jìn)的死代碼消除可能刪掉你認(rèn)為有用的調(diào)試語(yǔ)句指令重排可能讓多線程下的變量訪問出現(xiàn)意料之外的結(jié)果。務(wù)必在開啟高優(yōu)化后進(jìn)行全面的功能回歸測(cè)試。3.3 微架構(gòu)差異M0、M3、M4、M7、M33到底差在哪拋開主頻和工藝同是Cortex-M內(nèi)核微架構(gòu)的差異是性能分化的根本。流水線深度M0/M03級(jí)流水線取指、譯碼、執(zhí)行。簡(jiǎn)單中斷響應(yīng)快入棧寄存器少但指令吞吐率低。M3/M43級(jí)流水線帶分支預(yù)測(cè)。雖然也是3級(jí)但擁有更先進(jìn)的分支預(yù)測(cè)和哈佛總線架構(gòu)實(shí)際IPC每周期指令數(shù)高于M0。M76級(jí)雙發(fā)射超標(biāo)量流水線。它有兩個(gè)ALU可以在一個(gè)周期內(nèi)同時(shí)執(zhí)行兩條指令并且擁有更深的流水線來提高主頻。這是性能飛躍的關(guān)鍵。指令集與擴(kuò)展Thumb/Thumb-2所有Cortex-M都支持。Thumb-2混合了16位和32位指令在代碼密度和性能間取得完美平衡。DSP擴(kuò)展M4、M7、M33等支持。增加了單周期乘加MAC、飽和運(yùn)算、SIMD單指令多數(shù)據(jù)指令。對(duì)于音頻編解碼、振動(dòng)分析等算法性能提升可達(dá)數(shù)倍。浮點(diǎn)單元FPU單精度SPFPUM4F、M7、M33等支持。硬件處理浮點(diǎn)運(yùn)算速度比軟件庫(kù)快幾十到上百倍。雙精度DPFPU部分M7內(nèi)核可選。精度更高但速度慢于SP FPU且占用更多硅片面積。內(nèi)存保護(hù)單元MPUM3以上支持。雖然不直接提升性能但通過防止內(nèi)存越界訪問減少了調(diào)試“詭異”崩潰問題的時(shí)間間接提升了開發(fā)效率。M33更進(jìn)一步集成了TrustZone為安全應(yīng)用帶來性能與安全的兼顧。性能計(jì)數(shù)器DWT, PMU這是性能分析的“神器”。Cortex-M3及以上內(nèi)核內(nèi)置了數(shù)據(jù)觀察點(diǎn)與跟蹤DWT單元和性能監(jiān)控單元PMU。你可以通過它非侵入式地監(jiān)控CYCCNT循環(huán)計(jì)數(shù)器用于高精度計(jì)時(shí)。CPI每指令周期數(shù)理想是1大于1說明存在等待如內(nèi)存訪問延遲。LSU_STALL加載/存儲(chǔ)單元停頓周期數(shù)指示內(nèi)存訪問瓶頸。FOLD指令折疊次數(shù)Thumb-2的特性折疊越多說明代碼密度高。 學(xué)會(huì)使用這些計(jì)數(shù)器通常通過IDE的調(diào)試插件或自己寫代碼訪問你就能從“感覺有點(diǎn)慢”進(jìn)化到“量化哪里慢慢了多少個(gè)周期”。4. 實(shí)戰(zhàn)搭建屬于你自己的性能評(píng)估體系理論說了這么多是時(shí)候動(dòng)手了。這一章我將帶你一步步搭建一個(gè)可復(fù)用的性能評(píng)估環(huán)境并對(duì)一顆具體的Cortex-M4芯片進(jìn)行實(shí)測(cè)分析。4.1 測(cè)試環(huán)境搭建與工具鏈選擇硬件準(zhǔn)備評(píng)估板選擇一款你熟悉的、帶有標(biāo)準(zhǔn)JTAG/SWD調(diào)試接口的Cortex-M4開發(fā)板如ST的NUCLEO-F411RE NXP的FRDM-K64F等。調(diào)試器J-Link、ST-Link等。確保其固件為最新以獲得最佳速度和穩(wěn)定性。軟件與工具鏈IDE/編譯器我們選擇Keil MDK-ARM使用ARMCLANG編譯器和IAR Embedded Workbench進(jìn)行交叉對(duì)比。你也可以使用免費(fèi)的GCC ARM工具鏈如Arm GNU Toolchain。CoreMark源碼從EEMBC官網(wǎng)https://www.eembc.org/coremark/下載coremark_v1.0.tgz。性能分析工具Keil MDK的Event Recorder和Performance Analyzer。IAR的C-SPY Debugger配合Timeline視圖。SEGGER SystemView功能強(qiáng)大的實(shí)時(shí)系統(tǒng)可視化分析工具可以清晰看到任務(wù)執(zhí)行、中斷、CPU負(fù)載。工程配置關(guān)鍵步驟以Keil MDK為例新建一個(gè)基礎(chǔ)工程選擇正確的設(shè)備型號(hào)。解壓CoreMark將core_list_join.c,core_main.c,core_matrix.c,core_state.c,core_util.c以及core_portme.c需要移植添加到工程。移植core_portme.c實(shí)現(xiàn)portable_init()初始化系統(tǒng)時(shí)鐘、定時(shí)器用于計(jì)時(shí)。實(shí)現(xiàn)barebones_clock()提供一個(gè)返回高精度計(jì)時(shí)計(jì)數(shù)值的函數(shù)通常使用SysTick或一個(gè)通用定時(shí)器。實(shí)現(xiàn)ee_printf()用于輸出結(jié)果可以重定向到串口或Semihosting。設(shè)置編譯器優(yōu)化等級(jí)為-O3并關(guān)閉Microlib如果使用標(biāo)準(zhǔn)庫(kù)。在core_portme.h中正確設(shè)置ITERATIONS迭代次數(shù)確??倛?zhí)行時(shí)間10秒以獲得穩(wěn)定結(jié)果和HAS_FLOAT等宏定義。4.2 移植CoreMark并獲取基準(zhǔn)數(shù)據(jù)完成移植后編譯下載通過串口工具查看輸出。你會(huì)得到類似這樣的結(jié)果2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 10000 Total time (secs): 10.000000 Iterations/Sec : 1000.000000 Iterations : 10000 CoreMark 1.0 : 1000.000000 / ARM Compiler 6.18 [O3]記錄下CoreMark分?jǐn)?shù)和CoreMark/MHz分?jǐn)?shù)/主頻。例如主頻100MHz得分250則 CoreMark/MHz 2.50?,F(xiàn)在進(jìn)行對(duì)比實(shí)驗(yàn)改變優(yōu)化等級(jí)分別用-O0,-O1,-O2,-O3,-Os編譯運(yùn)行記錄分?jǐn)?shù)和生成的代碼大小.map文件查看。你會(huì)直觀看到優(yōu)化等級(jí)對(duì)性能和體積的巨大影響。改變內(nèi)存位置修改鏈接腳本將CoreMark代碼段.text從默認(rèn)的Flash區(qū)域移動(dòng)到零等待狀態(tài)的RAM區(qū)域如果板載RAM足夠大且支持執(zhí)行代碼。重新運(yùn)行對(duì)比分?jǐn)?shù)。這個(gè)差值就是Flash等待狀態(tài)帶來的性能損失。開啟指令緩存如果內(nèi)核支持在系統(tǒng)初始化代碼中使能I-Cache。重新運(yùn)行觀察分?jǐn)?shù)提升。這體現(xiàn)了緩存對(duì)循環(huán)密集型代碼的加速效果。4.3 使用性能計(jì)數(shù)器進(jìn)行微觀分析CoreMark給了我們一個(gè)總分但我們需要知道“分”丟在哪里。這時(shí)就要祭出DWT性能計(jì)數(shù)器。編寫一個(gè)簡(jiǎn)單的性能分析模塊// dwt_utils.c #include stdint.h #define DWT_CTRL (*(volatile uint32_t*)0xE0001000) #define DWT_CYCCNT (*(volatile uint32_t*)0xE0001004) void DWT_Init(void) { // 使能DWT和CYCCNT計(jì)數(shù)器 CoreDebug-DEMCR | CoreDebug_DEMCR_TRCENA_Msk; DWT_CTRL | 1; // 使能CYCCNT DWT_CYCCNT 0; } uint32_t DWT_GetCycles(void) { return DWT_CYCCNT; } void benchmark_function(void) { DWT_Init(); uint32_t start DWT_GetCycles(); // 在這里調(diào)用你想要測(cè)試的函數(shù)例如 CoreMark 的某個(gè)子函數(shù) core_matrix_test() core_matrix_test(); uint32_t end DWT_GetCycles(); uint32_t cycles end - start; printf(Function executed in %u CPU cycles.\n, cycles); }通過這種方式你可以精確測(cè)量CoreMark中各個(gè)子算法矩陣、鏈表、CRC的耗時(shí)分析出你的芯片在哪種類型的運(yùn)算上更強(qiáng)或更弱。例如你可能發(fā)現(xiàn)矩陣運(yùn)算得分很高得益于高效的ALU但鏈表遍歷得分低受內(nèi)存訪問延遲影響大。4.4 構(gòu)建自定義應(yīng)用場(chǎng)景測(cè)試基準(zhǔn)測(cè)試是標(biāo)尺但你的應(yīng)用才是終點(diǎn)。最終你需要構(gòu)建一個(gè)代表你真實(shí)應(yīng)用負(fù)載的測(cè)試用例。例如如果你在做電機(jī)FOC控制測(cè)試用例編寫一個(gè)包含 Clarke/Park 變換、反變換、PI控制器、SVPWM生成的完整環(huán)路函數(shù)。測(cè)試方法使用DWT計(jì)數(shù)器測(cè)量單次環(huán)路執(zhí)行時(shí)間T_loop。計(jì)算最大支持的控制頻率F_max 1 / T_loop。在環(huán)路中同時(shí)使能FPU和禁用FPU通過編譯選項(xiàng)-mfpufpv4-sp-d16和-mfloat-abisoft對(duì)比量化FPU帶來的性能提升。嘗試不同的編譯器優(yōu)化等級(jí)找到性能與代碼大小的最佳平衡點(diǎn)。如果芯片有三角函數(shù)硬件加速單元CORDIC對(duì)比使用硬件加速和軟件庫(kù)函數(shù)如arm_sin_f32的速度差異。這樣的自定義測(cè)試其指導(dǎo)意義遠(yuǎn)大于CoreMark總分。它能直接告訴你你的芯片能否在目標(biāo)頻率下跑完你的算法留有多少余量以及為了提升性能你應(yīng)該朝哪個(gè)方向努力換編譯器開緩存優(yōu)化算法。5. 常見性能陷阱與優(yōu)化實(shí)戰(zhàn)指南在多年的項(xiàng)目實(shí)戰(zhàn)中我踩過無數(shù)性能的“坑”。這里分享幾個(gè)最具代表性的案例和排查思路希望能幫你少走彎路。5.1 問題一“我的芯片主頻翻倍了為什么實(shí)際吞吐量沒翻倍”現(xiàn)象將系統(tǒng)主頻從50MHz提升到100MHz但處理一幀數(shù)據(jù)的時(shí)間只縮短了30%。排查思路檢查Flash等待狀態(tài)這是頭號(hào)嫌犯。查看芯片數(shù)據(jù)手冊(cè)的Flash訪問時(shí)序圖。50MHz時(shí)可能是0WS100MHz時(shí)可能就需要2WS。這意味著取指周期變成了原來的3倍嚴(yán)重拖累了CPU。使用性能計(jì)數(shù)器在高低主頻下分別運(yùn)行同一段核心代碼用DWT的CYCCNT測(cè)量周期數(shù)。如果周期數(shù)基本不變說明瓶頸不在CPU而在內(nèi)存訪問。如果周期數(shù)按比例減少但吞吐量未按比例增加說明存在其他瓶頸如外設(shè)數(shù)據(jù)吞吐率、DMA帶寬。檢查總線負(fù)載在高主頻下用邏輯分析儀或芯片的性能監(jiān)控模塊查看總線活躍度??赡蹹MA、以太網(wǎng)等外設(shè)占用了大量總線帶寬導(dǎo)致CPU經(jīng)常處于等待狀態(tài)。解決方案如果Flash等待狀態(tài)是瓶頸考慮啟用指令緩存I-Cache或?qū)⒆铌P(guān)鍵的循環(huán)代碼復(fù)制到RAM中執(zhí)行。如果總線競(jìng)爭(zhēng)是瓶頸優(yōu)化DMA傳輸策略如使用雙緩沖或調(diào)整總線矩陣的優(yōu)先級(jí)設(shè)置如果芯片支持。5.2 問題二“開啟了-O3優(yōu)化后程序偶爾跑飛了”現(xiàn)象為了提升性能將編譯選項(xiàng)從-O2改為-O3。大部分功能正常但程序在某個(gè)特定條件下會(huì)進(jìn)入HardFault。原因分析高等級(jí)優(yōu)化可能帶來副作用激進(jìn)的內(nèi)聯(lián)和死代碼消除可能破壞了某些依賴特定執(zhí)行順序的隱式邏輯或者誤刪了包含副作用如 volatile 訪問的“無用”代碼。棧使用估計(jì)錯(cuò)誤-O3優(yōu)化可能導(dǎo)致函數(shù)內(nèi)聯(lián)使得局部變量集中在調(diào)用者棧幀可能造成棧溢出。不嚴(yán)謹(jǐn)?shù)拇a例如未正確使用volatile聲明中斷服務(wù)程序ISR中修改的全局變量?jī)?yōu)化器可能認(rèn)為該變量值不變直接從寄存器讀取舊值。調(diào)試與解決定位問題在HardFault中斷服務(wù)程序中讀取SCB-CFSR配置故障狀態(tài)寄存器和SCB-HFSR硬故障狀態(tài)寄存器分析故障原因如IMPRECISERR, PRECISERR, IBUSERR等。對(duì)比反匯編在-O2和-O3下分別查看出問題函數(shù)附近的反匯編代碼尋找顯著差異如函數(shù)調(diào)用消失、循環(huán)結(jié)構(gòu)改變等。逐步隔離先將整個(gè)工程的優(yōu)化改回-O2然后僅對(duì)懷疑的問題文件或函數(shù)單獨(dú)設(shè)置-O3逐步縮小范圍。代碼加固對(duì)多線程/中斷共享的全局變量務(wù)必使用volatile修飾。對(duì)不應(yīng)被優(yōu)化的關(guān)鍵內(nèi)存操作如內(nèi)存映射寄存器訪問使用__attribute__((optimize(O0)))GCC或#pragma optimizeIAR/Keil進(jìn)行局部禁用優(yōu)化。檢查棧空間分配在-O3下適當(dāng)增加棧大小。5.3 問題三“同樣的算法在M4上比在M7上還快”現(xiàn)象將一個(gè)圖像處理算法分別移植到主頻相近的Cortex-M4和Cortex-M7芯片上實(shí)測(cè)發(fā)現(xiàn)M4的執(zhí)行時(shí)間更短。深度排查確認(rèn)測(cè)試條件首先確保兩者主頻、內(nèi)存配置Flash WS RAM速度、編譯器及優(yōu)化等級(jí)完全一致。很多時(shí)候“M7更快”的假設(shè)讓人忽略了基礎(chǔ)配置的差異。分析算法特性這個(gè)算法是計(jì)算密集型還是數(shù)據(jù)搬運(yùn)密集型M7的優(yōu)勢(shì)在于深流水線和雙發(fā)射對(duì)于指令級(jí)并行ILP高的代碼如可以展開的大循環(huán)提升巨大。但如果你的算法是大量隨機(jī)內(nèi)存訪問指針追逐那么M7更深的流水線反而可能因?yàn)榉种ьA(yù)測(cè)失敗和緩存失效帶來更大的懲罰。而M4較短的流水線在這種情況下可能表現(xiàn)更穩(wěn)定。利用性能計(jì)數(shù)器分別在兩個(gè)平臺(tái)上運(yùn)行算法并監(jiān)控CPI每指令周期數(shù)如果M7的CPI遠(yuǎn)高于1說明流水線停頓嚴(yán)重。LSU_STALL加載存儲(chǔ)停頓如果這個(gè)值很高說明內(nèi)存訪問是瓶頸。對(duì)比兩者的緩存命中率如果支持。BRANCH_MISS分支預(yù)測(cè)失敗如果算法分支很多且難以預(yù)測(cè)M7的分支預(yù)測(cè)器可能并不比M4的靜態(tài)預(yù)測(cè)好多少。檢查數(shù)據(jù)對(duì)齊M7通常有更嚴(yán)格的數(shù)據(jù)對(duì)齊要求。未對(duì)齊的訪問可能導(dǎo)致性能下降甚至觸發(fā)異常。確保關(guān)鍵數(shù)據(jù)數(shù)組是32位或64位對(duì)齊的。結(jié)論沒有絕對(duì)快的架構(gòu)只有最適合特定負(fù)載的架構(gòu)。M7的強(qiáng)大需要“喂”給它合適的代碼指令并行度高、數(shù)據(jù)局部性好才能發(fā)揮出來。對(duì)于某些“不規(guī)則”的算法簡(jiǎn)單的M4可能更高效。5.4 性能優(yōu)化速查表當(dāng)你遇到性能問題時(shí)可以按以下順序進(jìn)行排查和嘗試步驟排查點(diǎn)工具/方法可能解決方案1. 定位瓶頸確定是CPU計(jì)算慢還是內(nèi)存訪問慢。DWT性能計(jì)數(shù)器 (CYCCNT,CPI,LSU_STALL)。計(jì)算密集型則優(yōu)化算法/啟用硬件加速內(nèi)存密集型則優(yōu)化數(shù)據(jù)布局/啟用緩存。2. 編譯器調(diào)優(yōu)當(dāng)前優(yōu)化等級(jí)是否合適對(duì)比-O0,-O2,-O3,-Os下的性能和大小。對(duì)關(guān)鍵函數(shù)使用-O3其余使用-Os。嘗試鏈接時(shí)優(yōu)化LTO。3. 內(nèi)存系統(tǒng)Flash等待狀態(tài)是否成為瓶頸在RAM中運(yùn)行關(guān)鍵代碼對(duì)比性能差異。查看數(shù)據(jù)手冊(cè)Flash時(shí)序。啟用I-Cache。將最熱點(diǎn)的代碼/數(shù)據(jù)放到RAM或CCM核心耦合內(nèi)存。4. 數(shù)據(jù)與代碼布局緩存是否有效數(shù)據(jù)是否對(duì)齊使用MAP文件分析函數(shù)/數(shù)據(jù)地址。檢查緩存命中率如果支持。將頻繁同時(shí)訪問的數(shù)據(jù)和代碼放在連續(xù)、對(duì)齊的內(nèi)存區(qū)域。使用__attribute__((aligned))。5. 算法與實(shí)現(xiàn)算法本身是否有優(yōu)化空間代碼審查使用Profiler工具定位最耗時(shí)的函數(shù)。改用查表法替代復(fù)雜計(jì)算。使用CMSIS-DSP等優(yōu)化庫(kù)。將浮點(diǎn)運(yùn)算改為定點(diǎn)運(yùn)算如果精度允許。6. 系統(tǒng)級(jí)優(yōu)化是否有外設(shè)或中斷造成性能抖動(dòng)使用SystemView或邏輯分析儀監(jiān)控系統(tǒng)運(yùn)行時(shí)序。優(yōu)化中斷服務(wù)程序ISR使其盡可能短。調(diào)整DMA傳輸策略減少總線占用。禁用不必要的外設(shè)時(shí)鐘。性能優(yōu)化是一場(chǎng)永無止境的旅程它沒有銀彈需要的是嚴(yán)謹(jǐn)?shù)臏y(cè)量、科學(xué)的分析和持續(xù)的迭代。從迷信主頻參數(shù)到理解DMIPS/MHz的局限再到親手運(yùn)行CoreMark、解讀性能計(jì)數(shù)器最后構(gòu)建貼合自己應(yīng)用的測(cè)試模型——這個(gè)過程正是工程師從“會(huì)用芯片”到“懂芯片”的成長(zhǎng)之路。希望這篇長(zhǎng)文能成為你手邊的一份實(shí)用指南當(dāng)你在下一個(gè)項(xiàng)目中再次面對(duì)性能抉擇時(shí)能夠心中有尺測(cè)量有據(jù)決策有方。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一起草视频在线| 九九九九免费视频| 亚洲成a人在线观看久| 欧美性少妇| 超碰在线97国产| 欧美操人| 国产福利小视频高清在线观看| 桑老女人九区| 神马久久久久久久久| caopeng97| 在免费jIzzjIzz在线视频| 思思热国产高清| 天操天操夜操夜月操月年年操操| 日日日啊啊啊| 91在线视频免费中出| 天堂8在线新版官网| 欧美性生活男人的天堂| 熟妇色99| 欧美中日韩XXXX| 精品乱码久久久久| 97久久精品亚洲中六字幕| 五月丁香啪啪啪| 国产高清免费不卡av| 国产又粗又大硬免费色网视频| 二级毛片| 久久熟女嫩草成人片免费| 久久国99999| 国产suv精品一区二区四| 久久综合九九| 色婷婷久久| AV无码久久久精品| 3p国产色噜噜一区| 玖玖玖玖精品国产剧情| 日本精品不卡一二三区| 天天干天天拍| 一本久道久久综合狠狠爱| 留下AⅤ黄色片| 国产一区二区三区导航| 精品一区二区亚洲国产| 国产激情av女片自拍| 二男一女成人A片| 国产女s强制榨精视频| 国产路线专区| 黄色片,com| 日本潮催一卡操| 女沟厕偷窥piss小便| 精品欧美不卡在线播放| 婷婷伊人五月| 国产对白刺激视频| 欧美日韩国产高清在线一二三区 | 国产a级午夜毛片| 九九久久一区二区伦理| 五月婷婷丁香中文字幕| 亚洲图片偷拍视频区| 国产热RE99久久6国产精品首| 久久性视频| 色99视频| 中文字幕在在线观看网站| 精品人人| 9精品久久| 欧美 亚洲 综合 制服 另类| 国产精品一区二区麻豆| 日本天天干天天操一区| 自拍偷拍草一草| 人人 操人人 操人人| 18禁免费视频| 九九热在线精品视频| 伊人色综合网| 成人久久精品| 日本一区不卡| 亚洲一区二区性爱电影| 欧美91在线+|+欧美| h色99999| 91亚洲欧洲| 少妇一级婬片免费放一级a性色.| 天天色粽合合合合合合合| 九月丁香婷婷| 搡老女人老91妇女熟女| 香蕉视频精品亚洲一区二区三区在线播| 蜜臀久久99精品久久久久久婷婷| 国产A v无码专区| 欧美v亚洲v日韩v最新在线二区| 五月丁香啪| 丝袜天堂| 东京热双插| 国产精品久久久久久高清无码免费看| 嗯嗯嗯啊啊啊在线免费观看| 一区二区三区国产在线播放 | 亚洲一本色码中文字幕| 日韩久射综合| 美女午夜福利免费视频| 天无日色综合| 97在线公开视频| 亚洲国产另类在线中文| 99re这里只有精品3| 国产地址二三| 黄色AV免费| 97福利视频| 99亚洲人人| 亚洲黄色电影| 亚州AV无码国产精品| 老汉网| 婷婷色色五月天福利| 午夜黄色免费在线观看| 99re在线视频这里只有精品| 无码国产精品午夜不卡(| 久久蜜色情在线视频xxx免费观看| 欧亚韩国999| 亚洲欧美色图小说| 99热超碰| …亚洲黄色厕厕女女在线播…| 亚洲欧美日韩夜夜| 亚洲图片 激情小说| 欧美成人A√在线一区二区| 久久久久9| 91痴汉| 国产精品成人福利在线| 精品国产国产AV| AAAA级日本片免费视频| 丰满人妻一区二区三区在线| 韩三级a视频在线观看| 亚洲国产一区二区三区在线| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 自拍视频大全亚洲专媒视频/一区二区三区| 骚鸭AV| 肉嘟嘟www视频在线观看高清| 国产偷仑| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 婷婷色网| 综合久久久久久久久91| 精品一区二区三区四区外站| 人妻少妇被猛烈进入中| 精品乱码在线观看| 五月激情在线| 久久久性| 精品无码产区一区二| 97国产高清视频在线观看| 欧洲精品一二三在线| 国产精品无码av在线| 校园春色综合香蕉| 蜜桃无码AV一区二区| 校园春色家庭伦理欧美激情| 五月色网| 性无码专区2020| 日韩天堂av电影在线观看| 亚洲国产另类在线中文| 超碰伊人在线| 成人婷婷丁香| 免费观看网黄| 亚洲,欧美,综合网| 深夜啪啪啪视频免费| 超碰78| 69精品人人人人| 亚洲精品无码久久AV| 人澡逼| 国产亚洲精品自在线亚洲情侣 | 欧美另类色图片| 13小男生GAY自慰脱裤子| 欧美综合加勒比在线| 欧美丝袜制服久久| 色九久| 亚洲丝袜色图| 91一区二区| 亚洲自拍天堂| 日本性交操一区二区不卡系列| 强奸熟女一区二区三区| 久久婷婷国产一区二区色| 欧美Aⅴ| 亚洲丝袜二区在线| 使劲用力艹少妇视频一区二区| 国产欧美日韩在线不卡第一页| 操人妻视频| 媚薬在线视频麻豆| 九九玖玖精品| 人妻激情偷乱视频一区二区三区 | 中文一区二区婷婷视频| 伊人久久大香大香线蕉中文| 亚洲一区二区在线观看91| 国产吹潮女在线观看| 91一区二区| 日韩欧美成人综合在线| 强奸乱伦AV网站| 日本不卡二区| 欧美熟妇精品黑人巨大91| 情色av电影| 色色色网站| 久久直播国产| 琪琪精品免费一区二区三区 | 户外裸露刺激视频第一区| 熟妇综合一区二区三区| 欧美日韩小说| 国产夫妻性生活视频| 天天摸天天碰天天添青青| 久久五月视频| 日韩不卡av一二三| 一本一道vs波多野结衣| 亚洲国产一区二区日韩专区| 亚洲av性爱电影| 全国男人天堂网| 91精品人妻五十路| 亚洲色图伊人网| 综合欧美日韩在线| 日日夜夜草草草| 久久99国产综合精品女同| 丁香五月电影| 99无码视频| 精品久久人妻成人网| 波多野结衣一级视频| 丝袜美腿91| 欧美 亚洲 大香| 久久久久久久久久久久久久久性生活视频 | 国产黄色视频久久| 97超碰人人操人人操| 97日韩超碰超碰中文字幕| 亚洲色图第一页| 曰韩少妇无码| 亚洲色图日韩丝袜制服一区二区五月在线| 高颜值美女口爆高潮浪叫| 欧美亚洲韩国视频十五区| 亚洲伊人久久精品影院| 玖玖大干人妻| 蜜臀99精品国产高清在线观看| 99精品丰满人妻无码| 东北操逼| 亚洲午夜精品久久久中文影院| 亚洲区小说| 国产suv一区二区三区6| 色综合91好| 美女啊啊啊啊啊| 综合久久9| 欧美激情综合网| 99久久精品国产系列| 精品久久久av无码免费| 色综合av男人天堂| 理论久久婷婷网 8| 大香网伊人久久综合网eew| 操人妻逼91| 激情人妻另类| 久久久久久久97| 亚洲av成人精品一区| 欧美中字二区| 日本 情色 1区| 2017天天插| 蜜臀99久久精品久久久懂爱| 国产精品ⅴ无码大片在线看.| 二男一女成人A片| 被体育老师抱着c到高潮| 乱伦系列一区二区| 四虎永久在线精品免费网址| 久久久熟妇熟女国产| 亚洲综合贴图91 | 啊啊啊啊啊好多水| 一本一道波多野毛片中文在线| 久久国内| 91九九九小逼| 9Ⅰ超碰| xxxx网站亚洲精品| 亚洲国男人的天堂| 208天天久久九九九| 超碰97护士| 日本免费人成视频播放120秒| 久久精品99| 美日韩在线不卡人妻| 熟妇人妻精品一区二区| 黄色小视频日本txt| 亚洲欧美精品91| 精品九九淫乱男| 中文字幕一区二区视频在线观看| 免费在线观看AV无码网站| 中文字幕91综合| 超碰到97情色| 91九色蝌蚪在线观看| 中文字幕五区| 天天综合站| 另类图片欧美激情综合| 久久黄黄| rion磁力链接| 精品伊人久久久大香线蕉小说| 97se综合网| 91A欧美电影网站| 欧美性爱1080p| 99九九久久| 综合第一页| 91GD.COM| 99久久99九九99九九九| 色婷婷综合网站| 欧美人人天天网| 亚洲无码 国产无码| 欧美日韩第一页| 午夜精品久久久99热蜜桃的功能特点 | 久久鲁干| 四虎免费视频| 激情干在线| 久草男人天堂| 国产一区自拍欧美日韩| 97亚洲资源| 精品国模无码| 超碰午夜在线| 成人AV超碰免费在线| 欧美精品另类人妖xxxx| 97超碰色| 91欧美美女日韩国产婷婷| 精品人妻一区二区三区四区石在线 | 亚州色国| 91小视频| 夜夜爽夜夜爽| 国产久久视频| 国产精品999zyz| 日本孕妇孕交| 六月婷婷色综合| 欧美日韩欧美| 天天摸夜夜摸| 久久久一区二区三区三州| 天天综合有色网| 99久久久无码精品国产人| 亚洲97P| 国内精品久久人妻性色av| 久久久久久九九九九-美女久久久久久久-成人AV | 精品九九| 亚洲高清男人天堂| 婷婷六月色| 成·人免费午夜在线观看| 99精品网站| 欧美成人四级在线播放| 久久精品操| 久久大香蕉手机高清| 翔田千里无码一区| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 极品五月天噜噜| 国产强奸无码乱伦| 99热国产精品| 大香蕉伊人亚洲| 草草网站影院白丝内射| 久久久久女教师免费一区| 天堂蜜桃无码视频一区二区| 欧美一区二区三区入口| 国产精品久久久| 久久久久元码视频| 这里有精品| 人妻无一区二区三区| 另类专区加勒比| 台欧久久精品视频| 亚洲操逼无码| 明星性猛交ⅹxxx乱大交| 骚女高跟AV在线| 一区二区你上我| 又大又长又粗又爽又黄| 美女久久久久久久久久久| 国产25页| www.97在线| 日韩激情中文字幕有码| 久久久国产av美女私房| 亚洲国产成人综合碰碰三级经典| 98福利在线视频| 夜夜夜久久| 国产偷拍自拍在线视频| 中文字幕精品一区二| 日本幼女18+| 四虎国产成人精品免费一女五男| 亚洲综合色网| 欧美丰满熟妇XXXX性ppX人交| 日韩熟女无码| 无码人妻精品酒店| 深喉吞精| 亚洲日精品| 蜜臀亚洲综合一二三四区| 超碰日本97美女人妻人人玩人人爱| 亚洲欧洲精品视频发布| av天堂天堂av日韩| av一区二区三区四区| 国产成人在线观看网址| 国产精品自拍视频| 大香蕉日韩| julia ann久久| 亚洲日韩熟女人妻高清在线| 欧美97视频| 成人A片男人的天堂| 一区二区三区在线资源| 激情五月综合| 亚洲成人免费电影| 国模精品一区二区三区苹果色戒| 51一区二区三区| 久久东京伊人一本到鬼色| 亚洲天堂五月天国产| 欧美色图亚洲激情| 九九热AV| 久久久久久久九九九九九九| 亚洲国产精品9999在线观看| 欧美成人四级在线播放| 一级毛片久久久久久久女人18| 色哟哟AⅤ| 女性喷水高潮在线观看| 吖在线不卡一区二区国产剧情 | 九九九久千久久激情蜜桃在线看 | 午夜精品久久久久久久久久久久久 | 91春色| 精品999999| 久久久精品| 3PAV乱伦视频| A级毛片在线看免费| AV一起草在线| 91精品国产日韩欧美综合| 伊人丁香五月婷婷| 亚洲精品日韩国产欧美| 99精品无码| 天堂av2019| 青春草A| 91成人久久| 日日躁天天躁狠狠躁| 天天干18禁| www.av家庭乱伦| 无码区蜜乳| 久久久久国产精品喷潮免费观看臀| 99精品成人免费看| 欧美久久九九| 内射黑丝袜| 99超碰碰| 亚洲制服aⅴ中文字幕| 亚洲四虎熟女精品| 麻豆亚洲Av成人无码一区精品| 日逼五月天| 91热色| 91内射| 日韩欧美国产一区二区三区四区| 乱色视频中文字幕| 青青草在线视频欧美| 精品久久9| 久久久久久九九九九| 一级性爱啪啪视频| 水野优香在线观看| 青青伊人加勒比海| 91久久久亚洲| 久久久精品国产亚洲AV无码| AV色五月天| 精品十八在线观看| 一区不卡在线观看av| 9999久久久久| 青草影院内射高潮| 伊人热综合| 一区二区三区激情在线观看| 青青草黑寡妇男人天堂| 青草伊人网| 国产中文大片资源中文字幕 | 超碰在线91| 亚洲一区二区三区中文字幕| 亚洲 欧美 91| 大香蕉一人| WWW啪啪的com| 色噜噜人妻av 中文字幕| 狠狠干妹子| 欧美日韩性爱电影在线| ,国产乱人伦精品一区二区三区| 欧美日韩中国x| 香港澳门日本三级网站| 97色婷婷| 无码人妻一区二区三区四区老鸭窝| 91社操逼| 小明看看网址| 欧美激情性久久久久久| 久久久啊啊| 91中文字幕制服丝袜免费视频| 把腿张开老子CAO烂你| 欧美白嫩在线放| 久久精品久| 六月激情网| 一区二区三区一亚洲中文字幕、综合区灬 | 97碰碰色| 精品视频久久久久九九九九9999| 欧美亚州综合网图片| 亚洲情色中文字幕一区| 9997se| 99热只有这里有精品| 天天舔天天日天天射| 亚洲国产欧美一区二区潘金莲| 日韩欧美成人大香蕉| 女性91网站| 九九视品黄色| 毛片久久| 区二区亚洲婷| 秋霞久久亚洲精品成人| 欧美激情黑人| 色播丁香| 日日操免费视频| 三上制服丝AV| 成年女人黄网站| 九九九九九九九九九九九蜜桃| 思思在线免费视频| 色噜噜日韩精品| 六月丁香网| 97操| 国产十八禁视频| 少妇高潮对白在线观看| 91热热色| 不卡九肏| av婷婷色婷婷色六月| 伊人国产AV| 亚洲天堂另类美腿| 熟妇的味道HD中文字幕| 偷拍亚洲情色| 欧美|91色综合| 亚洲天堂五月天国产| 超碰天天操你比| 亚洲偷拍自拍在线视频| 婷婷综合伊人一区| 亚洲成人妻日韩在线| 成人综合久久精品色婷婷| 亚洲欧美日韩激情不卡| 久久99999| 日韩成人网址| 精品美女久久久久| 大香蕉2017| 久九九九九九九热| 在线人人人人人人精品超| 夜夜性| 狠狠夜色午夜久久综合在线| 日本一级黄色电影| av在线播放国产一区| 久久成人东京热人妻| 婷婷国产精品九区| 久久久国产成人一区二区三区在线| 日韩97P| 60秒免费视频| 91 丝袜在线| 婷婷久热| 一类无码操逼视频| yiqicaoav| 美女上床网站| 日本999精品| 色色国产| 中文字幕精品资源在线| 亚洲 日本 国产 综合| 热热色中文无码| 人人九九精| 夜夜騷av、一區二區| www五月| 中文字幕丝袜国产第一页不卡| 东京热毛片177b2viP| 任你干在线视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 超碰日本97美女人妻人人玩人人爱| 日韩国产在线观看av| 思思热在线视频在线| 亚洲天堂男| 国产丝袜一区二区三区| 97精品在线| 日韩在线97| 天天干天天日天天射黄色大片| 久9热| 国产精品久久久久无码AV会牛| 免费黄色片。| 久久精品欧美一区二区三区不卡| 国产午夜精品在线观看| 欧美天天弄| 亚州男人天堂| 麻豆久久一区二区三区| 美女91AV| 亚洲欧美电影| 中文字幕人妻资源在线| 天天躁日日躁狠狠躁| 中文字幕在线免费观看| 久久二| 熟妇色99| 久久亚洲AV无码白度| 2017亚洲天堂| 色综合av综合久久| 91AV入口| 手机在线视频国内精品| 欧美人妻精品一区二区| 亚洲av影音先锋| 一区二区三区 日韩欧美| 3P乱轮视频| 日韩一级片在线看| 色优久久| 亚洲图片 91| 色婷婷在线视频精品导航| 久久久99久9| 色大师网站www永久网站视频| 久久久久久久久久久999| 91老熟女老女人国产老太| 色天欧美| 熟女熟妇一区二区三四区| 亚洲欧美另类图片| 久热在线精品免费观看| 久久精品国产亚洲AV片多多| 久久HD| www.狠狠干.coom | 91肉丝| 九九精品无码专区免费| 国产熟女乱论| 精品一区二区三区蜜桃臀赵总| 啊啊啊好湿久久| 精品一国2| av2014 日韩在线中文字幕| 亚洲另类天堂| 老熟女乱子伦中文字幕一区二区| 久久99视频| 热天堂一区二区| 成人欧美日超碰| 国产视频第二页| 久久久久久久久久va| 欧美在线观看综合国产| 黑丝91视频| 久久熟女精品不卡一区| 东京热一区二区中文字幕| 日日操丁香五月天| 婷婷五月天补不补| 天天干天天日天天射黄色片| 日本高清一本二本免费不卡| 一级性爱网| 午夜高清成人在线视频| 97欧美精品综合| 黑丝制服中文字幕| 女同女同恋久久级三级| 极品色社| 中文有码9| 99re国产精品视频| 97视频在线观看播放与子乱对白在线……| 亚洲综合 欧美| 天天草天天日| 99视频内射三四| 色踪合AV| 密乳AV免费观看| 91色鬼| 91性网| 国产树林里野战在线看| 色婷婷婷五月天激情四射| 中日韓欧美高清| 一区二区三区欧美激情| 亚洲自拍欧美色综合| www.av家庭乱伦| AA丁香综合激情| 另类专区加勒比| xxxx网站亚洲精品| 精品乱子一区二区三区99| 91丝袜美女视频| 无遮挡猛进视频免费无限观看| 情色五月天网| 一区不卡在线观看av| 嗯~啊~快点 死我视频| 2020中文字幕在线观看| 九九Av| 欧美97av| 一级免费啪啪片| 在线小说视频一区| 黄片aaaaa一区| 日本精品久久久久久久| A V视频日本| 色在线69堂| 操操逼操操逼操操逼逼| 亚洲色入欧美| 黄片com.| 五十路成人在线视频二区三区| 欧美日本中字另类在线| 欧美论理片| 亚洲AV操| www.人人摸在线视频| 综合一区中亚洲国产成人综合精品| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 老熟女91视频| 日本高清电影欧美色图| 亚洲啪啪综合?v一区综合精品区| 久草精品热视| 日本高清免费一本视频在线观看| 亚洲综合性感在线| 99精品欧美一区二区三区桃色| 91综合国产精品| 午夜久久无码1000合集| 亚洲情色 自拍| 长长久久曰曰夜夜成人网| 神马麻豆福利院| 国产精品久久久久久夜夜夜| 久久性爱精品一区| 麻豆天美在线喷水AV| 色青青久久影视| 日本加勒比无码专区| 婷婷色一区| 中文字幕美女91| 色男人色天堂东京热| 欧美性爱精品一区二区| 91精品人妻一区二区三区蜜臀| 东北夫妻性偷拍| 日韩综合成人免费视频| 欲色啪| 91N欧美| 岛国片在线播放| 天天操熟妇| 97视频网站在线观看| 免费自拍三级综合| 2017天天操天天日| 国产大片精久久久久久| 国产又大又硬又长又粗| 九九九九免费| 亚洲性感丝袜诱惑在线观看| 国产超碰| 午夜高清成人在线视频| 欧美色图欧美| 亚洲综合影视| 人人天天干干| 婷婷色色五月天福利| 欧美日韩国产人人| 嗯啊不要在线| 成人a大片在线观看| 欧色网址| 久久人妻无码毛片A片麻豆| 日韩AV片| 99精品成人免费看| 国产在线能看的你懂的| 9美女超碰在线免费观看| 一区二区三区日韩欧美| 久久激情视频| 鸡巴插逼视频| 超碰在线欧美性爱激情| 欧美自拍网| 久久久久无码一妻区| 美日韩一卡二卡三卡免费人妻精品| 人人爱人人操人人性| 秋霞一集毛片观看| 欧美激情区| 丰满少妇精品一区二区| 精品国产国产AV| 丝袜内射| 射 色综合| 五月天综合在线| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 无码直播久久久| 久久久久久久久久9| 我爱操| 99精品久久久久久| 激情欧美日韩女同久久| 中文字幕91综合| 狠狠久久亚洲欧美专区| www.超碰在线| 亚洲啪啪性视频| 亚洲成人久久一区二区| 欧美性爱日韩性爱| 天天干干天天干干| 中文字幕精品一区二| 视频一区二区免费在线| 久久久九九九| 九九九精品| 91天天综合| 另类图片天天影视| 亚洲欧美首页| 色在线视频导航| 丁香七月婷婷| 搡老女人老91妇女老熟女| 久久春色| 麻豆国产97在线| 日韩无码一级黄色av片| 亚洲阿v天堂在线| 日本爽爽爽爽爽爽免费视频| 小说区 图片区色 综合区| 在线观看中文字幕| 国产1024在线播放| 被窝影院午夜看片无码| 久久久久久99AV无码免费网站| dy888午夜老子影视达达兔| 久久男人的天堂| V A在线| 在线观看不卡一区二区三区| 国产精品原创巨作?v网站| 亚洲免费成人在线高清无码视频| 色婷婷视频| 中国亚洲呦女专区| 欧美色图天堂在线| 嗯嗯啊啊操死我| 97一区二压| 天天综合站| 欧美色另类| www.亚洲黄色| 韩国三级理论在线| 开心激情站| 国产农村妇女精品一二区| 试看福利| 人人妻人人爽人人精品| 综合另类| 99久久e免费热视| 日韩啪啪啪啪啪| 884t在线| 欧美九九九| 久久超碰国产一区二区三区| 成人八戒网站| 夜夜中出国产| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 天天天做天天天爱天天天爽| 国产精品午夜AV完会免费 | 久九9精品| 亚州综合在线| 福利视频一区二区微拍| 婷婷色婷婷| 91性高| 熟妇视频一区二区三区在线| 国产操伦| 精品国产乱码久久久久A| 蜜桃视频一区二区三区| 夜夜夜爽www精品视频| 伊人一区二区在线播放| 性爱综合网| 亚洲天堂美臀在线| 久久91| 性爱乱伦一区| 精品视频97| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 99视频内射三四| 中文字幕十五区| 欧美黑人熟妇精品91| 3d成人精品一区二区| 亚洲中文制服诱惑| 午夜美女诱惑电源网| 韩国一级AAA| 久久国产99精品72福利| 亚洲精品乱码久久久久久蜜桃麻豆| 人妻二区| 嗯嗯啊啊操死我| 美女性91| 亚洲av无码成人精品国产| 人人澡综合涩| www国产无码| 日韩AV片| 久久精品国产亚洲粉嫩| 日韩精品在线观看网站| 日本新免费二区三区| 激情小说日韩无码| 96久久科窝| 传媒在线观看一区二区三区| 久久久久久国产无码精品| 国产超碰在线一区| 日韩性爱小视频| 黑操B| 欧美丝袜中文字幕07在线| 色综合久久88色综合久久天天| 国产精品高潮久久AV| 久操91视频| 日韩pv中文| 天天干电影| 日韩人妻资源在线看| 97久久久网站| 婷婷中文字幕| 懂色Av一区二区三区| 大香蕉九九| 大粗鳼巴久久久久| 99精品在线观看| 91 综合网| 婷婷亚洲综合| 干少妇视频| 大香蕉色十月| 国产精品熟女一区二区三区| 久久国产三区| 人人爱人人乐人人操| 久久一二区四| 中文字幕日韩精品久久| 97日视频| 精品亚洲国产成人精品| 啊啊啊啊在线播放| 韩国黄色片精品久久久 | 免费一级欧美片片线观看| 91模特在线观看| 免费观看欧美日韩操逼视频| 97干色| 吉川爱美98堂在线| 久久久久久电影| 日日玩天天干| 五月天色图影视| 福利视频香蕉免费一区二区在线| 欧洲乱码一区二区| 乱伦图一区| 精品丰满熟妇人妻一区| 男人亚洲91首页在线| 日韩激情无码影院| 国模91| 久久久人妻| 亚洲欧洲无码bt精品合集| 国产地址二三| 久99热| 色臀aV| 99精彩视频| 97人人爱人人乐| 日本伦理一区二区| 两性色网| 亚洲国产精品无石码久久 | 人妻一区二区三区四区视频| 久久久久亚洲一区女同性恋中文字幕| 在线中文字幕极品av| 亚州综| 超碰人妻中文在线| 97精品综合久久| 性爱视频免费网址| 人妻少妇无码 | 亚洲无码成人精品| 免看60秒涩涩视频| 神马久久久久眼| 成人免费在线网站| 秋霞Av理论一级在线| 超碰久久网| 男人的天堂.com| 日韩性爱网址| 成人无码在线超碰网| 亚洲欧美综合网| 熟女欧美日韩综合婷婷| 五月丁香综合| 色色福利| www.99色| 亚洲欧美另类图片| 97久久天天综合色天天综合色电影| 欧美 亚洲 制服 精品| 久久久久久AⅤ无码免费肉站| 欧美成人免费在线观看| 2020天天色综合| 欧美少妇色综合| AV天天综合| 超碰99在线| 郑州宾馆老熟女露脸啪啪| 激情婷婷综合久久| 亚洲综合有码| 欧美91久久久久| 久久久婷婷| 啊啊啊啊视频免费| 99精品网| 色婷视频| 久久久久国产一区二| 日韩99精品视频综合区| 亚洲中文字幕精品一区| 天天色欧美| 91久久国产精品| 肉丝无码中文高清| 色欲色香天天天综合网www-亚洲综合国| 一本一道人妻久久一区二区三区 | 日韩电影中文字幕| 欧美日韩中国x| 九九国产热| 天天干天天中出av| 色色99| 久久国产对白激情浪潮 | 无码粉嫩白虎一线天b区| 精品白丝一区| 中文字幕精品亚洲熟女| 乱码人妻一区二区三区| 久草精品一区| 好看的久久不射无码影视影院| 欧美九九99久久精品| 18一区二区三区| 丁香五月天婷婷姐| 欧美亚洲激情小说| 无码99| JULIA人妻风俗店中出电影| 天天日日舔舔| 欧美亚洲影视| 啊啊啊啊啊好大好舒服想要| 中文字幕-区二区三区四区视频中国| 欧美综合第一| 97久久精品国产| 日本九九久久99| 91熟女.com| 性欧美第一页| 少妇熟女一区二区三区| 91狠狠综| 日韩欧美成人午夜福利| 做爱A级亚欧| 国内自拍 日韩激情 99| 亚洲1区| 神马福利久草| 九九热超碰97亚洲最新香蕉| 成人在线视频一区| 色眯眯av| 亚洲男人在线观看天堂| 啊啊啊啊啊啊在线观看| 婷婷av在线中文字幕| 欧美黄色大片在线观看 | 亚洲精品男人的天堂| 江都AV在线| 色老牛| 99AV| 中文字幕人妻资源在线| 韩国黄片aaaa| 99热91| 国产九九久久久精品| 亚爽爽爽爽爽爽爽爽| 亚洲激情深爱文学小说网站| 国产精品操| www.久久制服糖| 亚洲av强奸乱伦| 亚洲综合在线高清| 日韩人人精品| 在线日韩精品一区二区三区| 看一级特黄a大一片| 五月婷婷六月天| 屌妞视频久久久久久久久久久久| 日本天堂在线播放| 日本影视久久免费| 亚洲精品中文字幕一区在线视频| 精品久久青青草| 欧美一级专区免费大片| 欧美中文字幕精品人妻| 日韩探花精品在线视频| 久操视频免费在线观看| 99精品丰满人妻无码| 国产熟女精品一区二区| 色综合av男人天堂| 久久啊哟| 999久久久久久久久| 国产福利视频精品视频| 国产成人网址| 一区二区三区色综合| 欧美色狠| 色综合久久888| 久久国产精品熟女人妻| 日躁天天爽爽| 午夜黄色免费在线观看| 久草婷婷| 91春色| 天天色播| 综合97久久| 日本欧美韩国国产在线| 国产欧美日韩在线观看麻豆传媒公司| 91丝袜美腿片| 可以免费看黄片的视频| 啊啊啊啊嗯嗯嗯用力好爽| 欧美中字不卡| 亚洲一区二区三区播放在线| 无码heyzo高清一区| 日本在线伊人啪啪| 综合欧美日韩在线观看| 亚洲色资源| 欧美大波激情xxxx| 台湾佬激情综合| 综合亚洲欧美| 翔田千里av一区二区三区| 欧洲亚洲人人爽爽视频| 无码外流操逼视频| 嗯嗯啊啊用力视频免费| 操逼操逼操| 国产欧美伊人| 久久国产乱子伦精品免费女,网站| 中文字幕精品资源在线| 久久久久国产| 激情网色| 在线情色电影 91大| www.伪伪| 亚洲欧美在线综合| 精品九九国产无码| 精品亚州18| 99久久久无码精品国产人| 中文字幕免费观看| 欧美性爱精品七区| 国产精品久久久久绯色| 日本一区二区不卡| 国产精品乱人伊人网| 深夜福利黄片| 青青草精品| 熟女五十路一区二区三| 亚洲污污网站| 99久久久久久久久| 精彩久久中文| 性色av婷婷久久一区二区点复制| 中文字幕免费在线观看| 二色av| 99re在线| 亚洲av热热色| 精品亚洲黄色片 国产精品导航一区二区| 好屌色综合| 五月天玖玖资源站| 黄色工厂这里只有精品| 这里只有精品视频| 97色碰| 一牛一区二区三区久久| 日韩人妻播放| 亚洲美女高潮喷水视频| 天天干天天干天天干| 国产成人亚洲精品无| 99热精品国产| 天天看,天天做| 综合欧美亚洲| 欧亚日韩三区| 欧美 亚洲 偷拍自拍| 久久久一区二区三区四区五区| 密臀在线免费观看| 亚洲中文国际强奸字幕| 亚洲黄色电影| 国内黄色精品| 一级啊性爱在线视频| 蜜臀久久久99久久久久| 欧美性战999| 91动漫操逼视频| 久久一区二区三区四区五区| 欧美色日本| 在线99热| 色综合V| 99在线精品观看视频中文| 久久久久密| 国产精品免费美女视频| 97综合在线| 日韩国产九九精品一区二区三区毛片| 五月天婷婷影院| 秋霞成人一级在线观看| 欧美色97| 好屌色综合| 6080yy午夜理论三级一区二区三区无码| 一个国产在线综合网站| 精人妻一区二区三区| 三级网站超变态精品| 激情综合五| 国产aⅴ无码片毛片一级网站| 男人天堂东京热| 国产欧美黑人丰满在线| 精品国产乱码久久久久久影片| 少妇人妻好深太紧了vr91| 亚洲国产精品无石码久久| 丰满丝袜少妇AV| 97色爱| 天天综合色电影| 久久老子无码午夜伦不卡| 久综合网| 久久久青青草| 九九九九九九九九九九精品视频| 在线黄页看毛片| 亚洲综合中文字幕有码| 国产精品懂色tv影视免费观看| 精品十八在线观看| 麻豆精品三区视频| 夜夜狼人妻| 久久麻豆一区二区| 免费一级毛片在线视频观看| 亚洲视频1区| 欧差乱伦二三| 久久东京热久久| 一卡二卡在线播放| 中文字幕一区二区三四五区日日骚| 人妻夜夜爽天天爽麻豆三区网站 | 日日嗨AV一区二区夜夜| 91欧美长吊| 欧美性后入| 欧美一区二区情色| 日韩乱码Av| 精品久久久久久亚洲| 亚洲五月婷| av片在线观看免费播放| 自拍偷拍 高清无码| 天堂а√在线最新版在线| 一级毛片电影免费看| 精品福利| a'v在线资源| 伊人影院日本| 亲子敌伦对白在线播放| 久久久久99999| 91天天综合日韩欧美| 欧美激情区| 超碰2017| 毛片久久| 最新国内自拍av免费| 午夜亚洲WWW湿好大| 天天看夜夜看日日干| 自拍内地三级在线观看| 呦呦影院| 国产多人在线观看视频| 丰满人妻一区二区三区性色| 99re免费视频精品全部| 国产强奸91| 综合欧美激情网| 婷婷中文网| 九九热九九|