在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

5個特殊寄存器改變了當今的SoC

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者: Louie De ? 2022-12-01 15:07 ? 次閱讀

在本文中,我們將介紹五個廣泛使用的特殊寄存器,即;別名、影子、間接、鎖定和觸發緩沖區寄存器。

在當今的SoC中,我們已經看到了系統架構、節點大小、互連、安全性、編程語言和開發工具領域的許多創新。有時,我們低估了我們在日常工作中使用的簡單創新的重要性和影響,這些創新是我們作為 SoC 架構師、驗證工程師、硬件設計師或軟件/固件開發人員。

特別是,讓我們研究與硬件/軟件接口層相關的創新 - 軟件應用程序與硬件外設通信。具體來說,在寄存器空間中,硬件外圍設備(如視頻編解碼器、藍牙Wi-Fi)從處理器上執行的軟件應用程序接收配置、控制和功能。十年前,在設計寄存器時,我們只需要RO、WO、RW、RC、RS、WS等的組合。但是今天的SoC已經變得如此復雜,以至于我們不得不進行創新,并思考更具創造性的方式來設計寄存器。在本文中,我們將介紹五個廣泛使用的特殊寄存器,即;別名、影子、間接、鎖定和觸發緩沖區寄存器。

別名寄存器

這是一種可從同一地址映射中的多個地址訪問的寄存器類型,但實際上它是一個寄存器。別名寄存器中的字段根據用于訪問它們的地址具有不同的行為。如圖 1 所示的示例,RegA 中的字段在使用0x1000地址訪問時是可讀和可寫的,但在從0x2000地址訪問時是寫 1 到清除的。創建別名寄存器時應應用的一些準則:別名寄存器的硬件訪問為 NA;字段不能是已別名字段的別名;并且別名字段的父寄存器不能是外部的。

pYYBAGOIUv-AUBUZAABmnP2PTTM027.png

影子寄存器

當您的軟件應用程序需要覆蓋所有寄存器但稍后需要恢復數據時,解決方案是使用影子寄存器。通過寄存器總線寫入寄存器的數據應自動復制或隱藏到地址映射中的另一個寄存器。如圖 2 中的示例所示,OriginalReg 中的數據被復制到 ShadowReg。可以從總線訪問ShadowReg,但對原始寄存器沒有影響。多個影子寄存器可以影子單個原始寄存器。

poYBAGOIUwWAZ2wjAACKt56MZSQ335.png

間接寄存器

某些寄存器或存儲器位置不能通過專用地址直接訪問,它們被稱為間接尋址寄存器或簡稱間接寄存器。兩個寄存器用于訪問間接寄存器。

若要將值存儲到間接寄存器數組中,請使用基本寄存器來保存實際地址。該指令檢查基本寄存器,將其值解釋為寄存器數組中的地址位置,并將數據寄存器中的值放入該位置。要從間接寄存器數組加載值,還使用了基本寄存器。此基本寄存器保存實際地址。該指令檢查基本寄存器,將其值解釋為地址,獲取存儲在該位置的值,然后將其加載到數據寄存器中。

如圖 3 中的示例所示,Reg1 指定內存數組中的索引。Reg2 指定要寫入的數據或存儲從內存中讀取的值。Reg2 需要一個間接寄存器大小的“深度”屬性。

pYYBAGOIUwyAfxOyAABljc3Z3Q0033.png

鎖定寄存器

如果狀態機受保護在寄存器后面,而該狀態機只能由存儲在另一個寄存器中的密鑰啟動,則 Lock 寄存器可能是解決方案。任何可寫寄存器或字段都可以根據其他寄存器的字段值進行保護/鎖定。此類寄存器稱為鎖定寄存器。鎖定寄存器和保護/密鑰寄存器可以位于不同的寄存器組中,但不能位于不同的塊中。如圖 4 中的示例所示,由屬性 “lock” 指定的 Lock 寄存器由一個簡單的表達式lock=RegA.f1 定義,這意味著寄存器 Lockreg 被鎖定,具體取決于寄存器“RegA”(密鑰寄存器)的字段“f1”的值。鎖定機制也可以通過更復雜的表達式來定義,例如 lock = regA.FldA || regB.Lock_fld == 8‘b00000001&& regA.FldA == 4’b0011。此復雜表達式由不同的寄存器字段組成。在這種情況下,如果鎖定表達式中的每個條件在運行時計算結果為 true,則寄存器的軟件寫訪問權限將被鎖定。

pYYBAGOIUxOAXoLkAACEGo3tTJQ127.png

觸發緩沖寄存器

有時需要從硬件端將大小大于總線寬度的寄存器作為一個原子單元寫入和讀取。這種寄存器從軟件端按順序寫入/讀取。這可以通過在與觸發事件關聯的內存空間中創建 N 寄存器緩沖區來實現。當觸發事件發生時,寫入/讀取發生在緩沖區到硬件端可用的實際寄存器。觸發事件可以是對最低有效位或最高有效位寄存器的讀/寫。例如,如圖5所示,RegA是寬硬件寄存器,寬寄存器Reg.A1的MSB是觸發器。Reg.A2 和 Reg.A3 是對應于寬硬件寄存器字段的緩沖區。

pYYBAGOIUxuAePPLAACLggURjVs183.png

下一步是學習如何在IP-XACT或SystemRDL中定義這些特殊寄存器。還需要學習如何在RTL中對它們進行編碼,并創建UVM寄存器模型和完整的UVM測試平臺以進行驗證。我們將在點播網絡研討會 5 對當今 SoC 有用的特殊寄存器中詳細介紹后續步驟。在本次網絡研討會中,我們將提供這五個特殊寄存器的詳細信息、它們的優勢、用例和示例。我們還提供有關如何自動驗證它們的最佳實踐,以實現 100% 的功能覆蓋率。

審核編輯:郭婷

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

    關注

    31

    文章

    5361

    瀏覽量

    120873
  • soc
    soc
    +關注

    關注

    38

    文章

    4193

    瀏覽量

    218694
收藏 人收藏

    評論

    相關推薦

    LDC1000不管怎么改變RPMAX和RPMIN寄存器的值,后5寄存器的值一直為0?

    你好!最近在用LDC1000,采用STM32驅動,之前能夠探測金屬,能夠返回數據,但過了兩天,后面5寄存器的值都變為0了,且不管怎么改變RPMAX和RPMIN
    發表于 01-13 07:40

    寄存器間接尋址和寄存器尋址的區別

    寄存器間接尋址和寄存器尋址是計算機體系結構中兩種重要的尋址方式,它們在指令執行過程中起著關鍵作用。下面將從定義、原理、特點、應用場景以及區別等方面對這兩種尋址方式進行詳細闡述。
    的頭像 發表于 10-05 17:13 ?1937次閱讀

    寄存器的類型和作用

    在計算機科學中,寄存器(Register)是一種高速存儲單元,它位于CPU內部,與CPU的運算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時存儲指令、操作數和地址等臨時數據,以便CPU快速訪問和處理。由于寄存器直接集成在CP
    的頭像 發表于 09-05 14:11 ?2362次閱讀

    寄存器是什么意思?寄存器是如何構成的?

    在計算機科學中,寄存器(Register)是一高速存儲單元,它位于中央處理(CPU)內部,用于存儲計算機程序執行過程中所需要的數據、指令地址或狀態信息。寄存器是計算機體系結構中至關
    的頭像 發表于 08-02 18:23 ?4673次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構成的?

    寄存器尋址和直接尋址的區別

    寄存器尋址和直接尋址是計算機指令系統中的兩種基本尋址方式。它們在指令的執行過程中起著至關重要的作用,決定了指令操作數的來源和目標。下面我們將介紹這兩種尋址方式的特點、區別以及在實際應用中的優缺點
    的頭像 發表于 07-12 10:42 ?2208次閱讀

    寄存器尋址的實現方式

    在計算機體系結構中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內部的寄存器寄存器尋址可以提高程序的執行效率,因為它避免了對內存的訪問。 寄存器尋址的基本概念
    的頭像 發表于 07-12 10:36 ?776次閱讀

    寄存器分為基本寄存器和什么兩種

    寄存器是計算機中用于存儲數據的高速存儲單元,它們是CPU內部的重要組成部分。寄存器可以分為基本寄存器和擴展寄存器兩種類型。 一、基本寄存器
    的頭像 發表于 07-12 10:31 ?1546次閱讀

    移位寄存器右移是怎么移位的

    將介紹移位寄存器的右移操作。 移位寄存器的基本概念 移位寄存器是一種具有多個存儲單元的線性結構,每個存儲單元可以存儲一二進制位(0或1)。移位寄存
    的頭像 發表于 07-12 10:14 ?1696次閱讀

    硬件特殊功能寄存器編程思路和RAM使用的問題求解?

    看了一下STM32的庫,對于其中的關于硬件的特殊功能寄存器的設置都是通過:1、定義一和實際硬件地址相鏡像的全局結構體變量。 2、設置結構體的各個變量相對應的參數。 3、把結構體整體復制到硬件
    發表于 05-17 12:24

    寄存器和內存的區別

    在計算機體系結構中,寄存器和內存是兩至關重要的組成部分。它們各自承擔著不同的角色,共同確保計算機系統的正常運行。本文將對寄存器和內存進行詳細的介紹,包括它們的定義、功能以及二者之間的主要區別。
    的頭像 發表于 05-12 17:11 ?2471次閱讀

    寄存器的定義和功能 寄存器的分類和工作原理

    在計算機系統中,寄存器作為一種特殊的存儲設備,扮演著至關重要的角色。它是中央處理(CPU)內部的重要組成部分,用于暫時存儲數據和指令,以便于CPU進行高速的運算和控制。本文將對寄存器
    的頭像 發表于 05-12 17:07 ?5906次閱讀

    特殊功能寄存器的解釋整理匯總

    電子發燒友網站提供《特殊功能寄存器的解釋整理匯總.pdf》資料免費下載
    發表于 05-09 14:27 ?7次下載

    干貨滿滿:ARM的內核寄存器講解

    內核寄存器與外設寄存器: 內核寄存器與外設寄存器是完全不同的概念。內核寄存器是指 CPU 內部的寄存器
    發表于 04-17 11:47 ?4091次閱讀
    干貨滿滿:ARM的內核<b class='flag-5'>寄存器</b>講解

    CPU的6主要寄存器

    CPU寄存器是中央處理內的組成部分,是有限存貯容量的高速存貯部件。寄存器是CPU內部的元件,包括通用寄存器、專用寄存器和控制
    的頭像 發表于 02-03 15:15 ?4634次閱讀

    arm三寄存器在gdb調試時的作用

    arm三寄存器在gdb調試時作用? ARM是一種廣泛使用的微處理架構,它廣泛應用于移動設備、嵌入式系統和其他高性能計算設備。當我們在使用gdb(GNU調試)調試ARM程序時,了解
    的頭像 發表于 01-31 10:44 ?1053次閱讀
    主站蜘蛛池模板: 好爽好紧好大的免费视频国产| 国产精品igao在线观看樱花日本| 亚洲aa在线| 性欧美video视频另类| 四虎影视在线看| 欧美人与禽| 狠狠色丁香久久综合网| 大学生毛片| 天天好b| 黄色特级录像| 男人的天堂黄色| 视频一区中文字幕| 在线免费观看你懂的| 天堂bt在线种子网| 免费看吻胸亲嘴激烈网站| 国产床戏无遮掩视频播放| 伊人91在线| 女bbbbxxxx毛片视频0| 1024手机在线看永久免费| 亚洲视频在线一区二区三区| 中日韩精品视频在线观看| 四虎最新紧急更新地址| 免费人成网555www| 国产精品va一区二区三区| 天天爽天天色| 在线观看亚洲专3333| 美欧毛片| 色播视频网站| 成在线人视频免费视频| 欧美色惰aⅴ| 夜夜嘿视频免费看| 婷婷色综合网| 精品色| 天堂8在线官网| 在线二区| 四虎最新免费观看网址| 亚洲偷偷| 亚洲精品456人成在线| 男人不识本站| 欧美日韩高清一区| 成 人 黄 色视频免费播放|