一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

寄存器寫保護(hù)的需求和硬件實(shí)現(xiàn)

ruikundianzi ? 來源:IC的世界 ? 2023-10-17 15:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.寄存器寫保護(hù)的需求

在軟件硬件交互的過程中,通常需要軟件(host)對特定地址的寄存器進(jìn)行寫操作,告之硬件進(jìn)行特定的處理流程,我們在《IC設(shè)計(jì):軟硬件交互-polling》中提到的doorbell寄存器就屬于此類。

在使用PCIe SR-IOV能力時(shí),對芯片硬件來說,有多個(gè)軟件(host),而doorbell寄存器與特定的host綁定,從安全角度考慮,我們期望doorbell寄存器只能被綁定的軟件(host)寫,而不能被其他host寫,不會(huì)因?yàn)槠渌鹔ost的誤寫操作導(dǎo)致進(jìn)程出錯(cuò)。

寄存器的寫保護(hù)指的是某些特殊的寄存器只能被指定的host寫更新,而不能被其他host更新。此處的寄存器可能是單個(gè)普通寄存器,也可能是多個(gè)寄存器組成的ram。

2.寄存器寫保護(hù)硬件實(shí)現(xiàn)

03461952-6659-11ee-939d-92fbcf53809c.png

如圖設(shè)計(jì)中,多個(gè)host編號命名為func_id,且func_id編碼連續(xù);有多個(gè)doorbell,且doorbell以ram(db_data_mem)的形式呈現(xiàn),db_data_mem的地址表示func_id號,這樣,func_id與doorbell的關(guān)系就綁定了。

在如下的模塊中:存在3個(gè)ram,db_id_func_mem、db_id2func_id_mem、db_data_mem、

db_id_func_mem是虛擬ram,用于cfg_csr產(chǎn)生ram訪問接口,在圖中畫出也方便理解流程,地址表示func_id號,數(shù)據(jù)包為{db_id,db_data}。

db_id2func_id_mem表示db_id與func_id的對應(yīng)關(guān)系,地址為db_id,數(shù)據(jù)為func_id,db_id2func_id_mem的內(nèi)容需要軟件提前配置好。

db_data_mem是目標(biāo)ram,地址表示func_id號,data表示db_data內(nèi)容。

配置模塊cfg_csr對db_id_func_mem的寫訪問信號線包含:wdata、wen、waddr等信號,其中wdata為{db_id,db_data},waddr表示的是func_id。

對db_id_func_mem的寫操作會(huì)觸發(fā)db_id2func_id_mem的讀操作,以db_id作為讀地址讀出數(shù)據(jù)func_id。

寫訪問信號進(jìn)過打拍對齊后,將wr_addr_dly與db_id_func_mem讀出的func_id進(jìn)行比較,如果相等則證明寫操作正確,db_data會(huì)被寫入到db_data_mem。如果不相等,則不會(huì)對db_data_mem進(jìn)行寫操作。

3.為什么此種設(shè)計(jì)能夠達(dá)到寫保護(hù)的效果呢?

在這里,每個(gè)主機(jī)都知道自己的db_id,以及doorbell的地址(func_id),而不知道其他主機(jī)的db_id和doorbell的地址。主機(jī)在進(jìn)行doorbell寫操作時(shí),寫數(shù)據(jù)必須包含db_id,這樣db_id會(huì)與func_id進(jìn)行匹配,匹配通過才會(huì)真正去更新doorbell。db_id與func_id匹配不通過,則不會(huì)更新doorbell。而其他主機(jī)是不知道當(dāng)前doorbell的地址(func_id)對應(yīng)的db_id的,因此有效降低了其他主機(jī)誤寫doorbell的概率。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124491
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    38

    文章

    1360

    瀏覽量

    105764
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3484

    瀏覽量

    67500
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1342

    瀏覽量

    85144

原文標(biāo)題:

文章出處:【微信號:IP與SoC設(shè)計(jì),微信公眾號:IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    PIC18F8722系列中的配置寄存器寫保護(hù)

    最近我在PIC18F822系列數(shù)據(jù)表中遇到了配置寄存器寫保護(hù)位。這意味著什么?由于配置寄存器通常只在正常情況下可讀,那么為什么要寫保護(hù)呢?一旦設(shè)置,如果我想有一個(gè)不同的配置,難道不可能
    發(fā)表于 04-09 15:06

    如何在SPI FLASH中添加WP引腳及寫保護(hù)設(shè)置

    使用W25QXX系列SPI FLASH。偶有發(fā)生數(shù)據(jù)被改變的現(xiàn)象,目前想添加寫保護(hù)功能。1. WP引腳拉低后是保護(hù)全片還是全頭扇區(qū)?2. 看資料WP引腳得和狀態(tài)寄存器配合起來使用,那么WP不拉高的情況是否可以修改
    發(fā)表于 07-15 04:36

    'F303寫保護(hù)它是如何工作的?

    FLASH_WRPR 寄存器描述中,它是 32 位,所以我猜 [1:0] 是一個(gè)錯(cuò)字。b) 好的,我們有32 位寫保護(hù),4.3.2 寫保護(hù)寫保護(hù)以2頁的粒度
    發(fā)表于 01-31 08:13

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計(jì)數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    發(fā)表于 03-08 14:50 ?1.8w次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    如何在VHDL中實(shí)現(xiàn)一個(gè)簡單的寄存器

    存儲(chǔ)的位數(shù)上有所不同,具體取決于系統(tǒng)的配置。在本教程中,我們將學(xué)習(xí)如何在 VHDL 中實(shí)現(xiàn)一個(gè)簡單的寄存器。
    發(fā)表于 07-29 16:48 ?5126次閱讀
    如何在VHDL中<b class='flag-5'>實(shí)現(xiàn)</b>一個(gè)簡單的<b class='flag-5'>寄存器</b>

    RA2快速設(shè)計(jì)指南 [7] 寄存器寫保護(hù)和I/O端口配置

    (R_BSP_RegisterProtectEnable 和 R_BSP_RegisterProtectDisable),分別用于使能和禁用寄存器寫保護(hù)。 9. I/O 端口配置(1) 《硬件手冊》中的“I/O
    的頭像 發(fā)表于 04-10 17:55 ?1822次閱讀

    RA6快速設(shè)計(jì)指南 [12] 寄存器寫保護(hù),I/O端口配置 (1)

    9 寄存器寫保護(hù) 寄存器寫保護(hù)功能可防止重要寄存器因軟件錯(cuò)誤而被覆蓋。使用保護(hù)
    的頭像 發(fā)表于 06-30 12:10 ?1339次閱讀
    RA6快速設(shè)計(jì)指南 [12] <b class='flag-5'>寄存器</b><b class='flag-5'>寫保護(hù)</b>,I/O端口配置 (1)

    RA2快速設(shè)計(jì)指南 [6] 寄存器寫保護(hù)和I/O端口配置

    RA2快速設(shè)計(jì)指南 [6] 寄存器寫保護(hù)和I/O端口配置
    的頭像 發(fā)表于 10-24 16:48 ?1037次閱讀
    RA2快速設(shè)計(jì)指南 [6] <b class='flag-5'>寄存器</b><b class='flag-5'>寫保護(hù)</b>和I/O端口配置

    IC設(shè)計(jì):寄存器寫保護(hù)的以一種實(shí)現(xiàn)方式

    在軟件硬件交互的過程中,通常需要軟件(host)對特定地址的寄存器進(jìn)行寫操作,告之硬件進(jìn)行特定的處理流程。
    發(fā)表于 10-09 09:42 ?1180次閱讀
    IC設(shè)計(jì):<b class='flag-5'>寄存器</b><b class='flag-5'>寫保護(hù)</b>的以一種<b class='flag-5'>實(shí)現(xiàn)</b>方式

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

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)數(shù)據(jù)的高速存儲(chǔ)單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴(kuò)展寄存器兩種類型。 一、基本寄存器
    的頭像 發(fā)表于 07-12 10:31 ?2267次閱讀

    寄存器尋址的實(shí)現(xiàn)方式

    在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內(nèi)部的寄存器。寄存器尋址可以提高程序的執(zhí)行效率,因?yàn)樗苊饬藢?nèi)存的訪問。 寄存器尋址的基本概念
    的頭像 發(fā)表于 07-12 10:36 ?1575次閱讀

    接口的控制與狀態(tài)寄存器什么作用

    的行為并獲取硬件的狀態(tài)信息。 接口的控制與狀態(tài)寄存器的作用 在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,硬件設(shè)備與軟件之間的交互是通過一系列的接口來實(shí)現(xiàn)的。這些接口不僅需要能夠傳輸數(shù)據(jù),還需要能夠控制
    的頭像 發(fā)表于 10-17 10:42 ?1528次閱讀