采用高級綜合設(shè)計(jì)方法(High Level Synthesis design methodology
)的影響之一是,“系統(tǒng)設(shè)計(jì)師”和“硬件設(shè)計(jì)師”之間的障礙即使沒有完全消除,也會大大減少。突然之間,“系統(tǒng)設(shè)計(jì)人員”和“硬件設(shè)計(jì)人員”不僅使用相同的輸入語言來指定他們的模型(c++ / System C),而且他們還接觸到相同的術(shù)語。由于這個(gè)原因,“硬件設(shè)計(jì)師”突然接觸到兩個(gè)他們在過去很少或沒有接觸過的術(shù)語。
本文的目的是澄清兩個(gè)經(jīng)常被混淆的、有時(shí)可以互換使用的“系統(tǒng)”術(shù)語:延遲和吞吐量。
讓我們試著給這兩個(gè)術(shù)語下個(gè)定義:
延遲是執(zhí)行某些操作或產(chǎn)生某些結(jié)果所需的時(shí)間。延遲是用時(shí)間單位來測量的——小時(shí)、分鐘、秒、納秒或時(shí)鐘周期。
吞吐量是單位時(shí)間內(nèi)執(zhí)行的此類操作的數(shù)量或產(chǎn)生的結(jié)果。這是用單位時(shí)間內(nèi)生產(chǎn)的任何東西(汽車、摩托車、I/O樣本、記憶單詞、迭代)來衡量的。術(shù)語“內(nèi)存帶寬”有時(shí)用來指定內(nèi)存系統(tǒng)的吞吐量。
一個(gè)簡單的例子
下面的制造例子應(yīng)該澄清這兩個(gè)概念:
一條裝配線正在生產(chǎn)汽車。制造一輛汽車需要8個(gè)小時(shí),這家工廠每天生產(chǎn)120輛汽車。
潛伏期為:8小時(shí)。
生產(chǎn)能力:120車/天或5車/小時(shí)。
現(xiàn)在這兩個(gè)概念已經(jīng)很清楚了,讓我們將這些概念應(yīng)用到本文要討論的問題上。
設(shè)計(jì)人員的任務(wù)是為具有以下特點(diǎn)的通信設(shè)備創(chuàng)建硬件:
時(shí)鐘頻率 : 100兆赫
執(zhí)行計(jì)算的可用時(shí)間:1000ns
設(shè)備吞吐量:640mbits / s
每個(gè)輸出的字寬:64位
讓我們將這些需求轉(zhuǎn)換為延遲和吞吐量度量,從硬件設(shè)計(jì)人員的角度來看,這些度量更有意義。
延遲:1000 ns = 1000 ns * (1 s/ 10^9 ns) *(100 * 10^6時(shí)鐘周期/1)= 1011/109 = 100個(gè)時(shí)鐘周期。
吞吐量= 640 mbit / s =(640 * 10 ^ 6比特/秒)(1字/ 64位) (1 s / 100 * 10 ^ 6時(shí)鐘時(shí)間)= 640 * 10 ^ 6/64 * 100 * 10 ^ 6 = 10 * 10/100 = 1/10 = 0.1字/時(shí)鐘周期。
吞吐量可以更方便地讀取如下內(nèi)容:“每10個(gè)時(shí)鐘周期讀取一個(gè)單詞”
以時(shí)鐘周期表示的延遲和以字與字之間可用的時(shí)鐘周期數(shù)表示的吞吐量都是一些參數(shù),設(shè)計(jì)者可以使用這些參數(shù)來根據(jù)性能規(guī)范創(chuàng)建所需的硬件。
最后一個(gè)澄清
有些工具不以單位時(shí)間表示吞吐量,而是以時(shí)鐘周期表示。這是不正確的,但因?yàn)榉奖愣?jīng)常使用。因此,一些工具會將我們的通信算法的吞吐量報(bào)告為10。
引用:
https://community.cadence.com/cadence_blogs_8/b/sd/posts/understanding-latency-vs-throughput