精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

是什么定義了處理器漏洞的復雜性以及如何檢測它?

Codasip 科達希普 ? 來源:Codasip 科達希普 ? 作者:Codasip 科達希普 ? 2022-11-01 15:50 ? 次閱讀

作為一個驗證工程師我經常被問到這樣的問題:"處理器的驗證什么時候完成?"或者換句話說,"我該如何衡量測試平臺的效率,我如何對驗證的質量建立信心?"。當然這一問題沒有簡單的答案。業界有幾個常用的指標可以參考,如覆蓋率和錯誤曲線。雖然這些指標是絕對必要的,但它們并不足以達到盡可能高的處理器品質。事實上,這些指標并不能真正揭示驗證方法找到最后一個bug的能力。隨著經驗的積累,我了解到檢測處理器漏洞的復雜性是一個很好的指標,并可以在項目的整個開發過程中使用。

是什么定義了處理器漏洞的復雜性以及如何檢測它?

經驗告訴我,我們可以通過計算擊中漏洞所需的獨立事件或條件的數量來定義一個漏洞的復雜性。

那么“事件”又如何定義呢?

讓我們舉一個簡單的例子。當缺少所需的警告時,一個典型的bug會在緩存中發現一個典型的漏洞。此時數據損壞可能發生在以下情況:

A cache line at address @A is Valid and Dirty in the cache.

A load at address @B causes an eviction of line @A.

Another load at address @A starts.

The external write bus is slower than the read, so the load @A completes before the end of the eviction.

External memory returns the previous data because the most recent data from the eviction got lost, causing data corruption.

在這個例子中,我們需要4個事件或條件來擊中這個漏洞。這4個事件給這個bug打了4分,也就是說漏洞的復雜性為4。

對處理器漏洞進行分類?

為了衡量一個漏洞的復雜性,我們可以對漏洞進行分類,供整個處理器驗證團隊來使用。在之前的一篇博文中,我們討論了4種類型的bug,并解釋了我們如何使用這些分類來提高測試平臺和驗證的質量。此時我們可以再進一步,即將這種方法與漏洞的復雜性結合起來處理問題。

一個簡單的漏洞可能需要觸發1到3個事件。那么第一個簡單的測試就會失敗,而一個極端案例可能會需要4個或更多的事件。

回到我們上面的例子,我們有一個復雜性為4的bug,如果四個條件中的任何一個不存在,那么這個bug就不會被擊中。

一個受限的隨機測試平臺需要幾個功能,以便能夠擊中上文例子中的漏洞。地址序列應該足夠聰明,可以重用之前請求的地址,外部總線上的延遲也應該足夠非典型,以便有足夠快/慢的讀寫。

而一個隱藏比較深的案例可能需要更多的事件來觸發。假定一個更微妙的bug與我們的例子有相同的條件,但是它只發生在緩存上發現ECC錯誤的時候,與中斷發生的時間完全一致,并且只發生在內核完成FPU操作導致除以0錯誤出現的時候。在典型的隨機測試平臺上,所有這些條件同時出現的概率是非常低的,這使得它成為一個 "隱藏 "的終極漏洞。

為了使得這些隱藏的bug在測試平臺上更容易被發現,提高驗證的質量是重點。它包括使隱藏的個例成為極端的個例此種情況。

b0e504ee-5942-11ed-a3b6-dac502259ad0.jpg

如圖所示,4只紅色昆蟲分別代表4種類型的CPU漏洞

這種分類沒有任何限制。經驗告訴我們,一個能夠找到8分或9分漏洞的測試平臺本身就是一個強大的模擬測試平臺,是提供高質量RTL的關鍵。根據我們的觀察,今天最先進的仿真測試平臺可以找到復雜度高達10的漏洞。幸運的是,形式化驗證的使用使我們更容易找到復雜度更高的bug,為更好的設計鋪平道路,并為仿真中需要改進的地方提供線索。

使用漏洞的復雜性分類來提高驗證測試平臺的質量

這種分類和方法只有在驗證開始時和整個項目開發過程中使用才有效,原因有二:

漏洞必須在被發現時即時修復。留下一個2級或3級的bug而不即時修復,則意味著在啟動大型浸泡測試(soak test)時會出現大量的失誤。據統計,一個需要更多事件的類似bug(來自同一漏洞集群)可能會被忽略。

漏洞的復雜性被用來改善和衡量測試平臺的質量。復雜性水平與觸發漏洞所需的事件數量越匹配,復雜性得分越高,測試平臺的壓力越大。追蹤和分析觸發漏洞的事件對于了解如何調整隨機約束或創建新的功能覆蓋點來說非常有用。

最后,通過將這種方法與Codasip的驗證方法結合起來,包括獵殺以集群為單位的bug,確保了高水平的驗證質量,幫助我們確信并超越驗證驗收標準。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19165

    瀏覽量

    229123
  • 漏洞
    +關注

    關注

    0

    文章

    204

    瀏覽量

    15358

原文標題:處理器驗證系列之四:系統Bug獵殺-檢測處理器漏洞的復雜性以提高測試平臺的質量!

文章出處:【微信號:Codasip 科達希普,微信公眾號:Codasip 科達希普】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    光伏連接外殼:超越簡單塑料的復雜性與重要

    將深入探討光伏連接外殼的設計要求及其超越簡單塑料的復雜性與重要。 一、光伏連接外殼的設計要求 材料選擇 光伏連接的外殼并非簡單的塑料
    的頭像 發表于 11-04 14:50 ?98次閱讀
    光伏連接<b class='flag-5'>器</b>外殼:超越簡單塑料的<b class='flag-5'>復雜性</b>與重要<b class='flag-5'>性</b>

    處理器指令的獲取過程

    處理器指令的獲取是計算機執行程序過程中的關鍵環節,決定處理器如何對數據和指令進行處理。以下將詳細闡述微
    的頭像 發表于 10-05 15:16 ?208次閱讀

    簡述微處理器的指令集架構

    處理器的指令集架構(Instruction Set Architecture,ISA)是計算機體系結構中的核心組成部分,定義計算機能夠執行的指令集合、數據類型、寄存
    的頭像 發表于 10-05 14:59 ?300次閱讀

    處理器的指令集有哪些

    處理器的指令集是微處理器設計和功能實現的基礎,決定處理器能夠執行哪些操作以及這些操作如何
    的頭像 發表于 10-05 14:58 ?246次閱讀

    ARM處理器和CISC處理器的區別

    ARM處理器和CISC(復雜指令集計算機)處理器在多個方面存在顯著的區別。這些區別主要體現在架構原理、性能與功耗、設計目標、應用領域以及市場生態等方面。
    的頭像 發表于 09-10 11:10 ?378次閱讀

    簡述微處理器的發展歷史

    處理器的發展歷史是一部充滿創新與突破的技術演進史,見證計算機技術的飛速發展和人類社會的巨大變革。以下是對微處理器發展歷史的詳細回顧,內容將涵蓋其關鍵節點、重要里程碑
    的頭像 發表于 08-22 14:22 ?2161次閱讀

    處理器的指令集架構介紹

    處理器的指令集架構(Instruction Set Architecture,ISA)是計算機體系結構中至關重要的部分,定義處理器
    的頭像 發表于 08-22 10:53 ?929次閱讀

    處理器定義和種類

    處理器,作為計算機系統的核心部件,承載著執行指令、處理數據的重要任務。隨著信息技術的飛速發展,處理器的種類和性能也在不斷提升。本文將對處理器定義
    的頭像 發表于 05-12 18:12 ?2367次閱讀

    嵌入式微處理器定義與發展 嵌入式微處理器種類和型號

    嵌入式微處理器定義與發展 嵌入式微處理器指的是以處理器為核心的專用集成電路芯片,用于實現特定任務的計算或控制功能。通常被嵌入在各種電子設
    的頭像 發表于 05-04 15:43 ?2104次閱讀

    什么是嵌入式微處理器? 嵌入式微處理器的區別

    的任務或控制其他硬件設備。 嵌入式微處理器的出現可以追溯到20世紀70年代末以及80年代初。嵌入式微處理器通過集成了處理器核心、內存、輸入輸出控制
    的頭像 發表于 04-21 15:44 ?1465次閱讀

    處理器屬于專用集成電路嗎對嗎

    處理器定義、工作原理、制造工藝以及應用等方面進行詳細介紹。 首先,我們來了解一下什么是微處理器。微處理器是一種能夠執行各種算術和邏輯運算
    的頭像 發表于 04-19 14:32 ?663次閱讀

    C語言中的預處理器

    所有的預處理器命令都是以井號(#)開頭。必須是第一個非空字符,為了增強可讀,預處理器指令應從第一列開始。
    發表于 03-01 12:16 ?821次閱讀
    C語言中的預<b class='flag-5'>處理器</b>

    淺談SoC中常用的處理器

    復雜系統執行多種多樣的復雜任務。任務常因為市場需求而改變。處理器的軟件可編程使得它可以實現更加快速的功能開發和提供更加敏捷的可適,已成為
    的頭像 發表于 02-23 09:19 ?1121次閱讀
    淺談SoC中常用的<b class='flag-5'>處理器</b>

    解決選擇合適安全控制復雜性

    作者:Jeff Shepard 投稿人:DigiKey 北美編輯 工業系統中的安全是一個關鍵而復雜的主題,因此為給定應用指定最佳安全控制器具有挑戰。其中考慮因素包括與安全控制相關的眾多
    的頭像 發表于 02-13 13:32 ?532次閱讀
    解決選擇合適安全控制<b class='flag-5'>器</b>的<b class='flag-5'>復雜性</b>

    SHARC 處理器軟件程序和竅門以及調試技巧

    電子發燒友網站提供《SHARC 處理器軟件程序和竅門以及調試技巧.pdf》資料免費下載
    發表于 11-29 09:30 ?0次下載
    SHARC <b class='flag-5'>處理器</b>軟件程序和竅門<b class='flag-5'>以及</b>調試技巧