日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

ARM系列--同步原語(yǔ)

安芯教育科技 ? 來(lái)源:老秦談芯 ? 2023-01-05 14:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在具有多個(gè)執(zhí)行線(xiàn)程的系統(tǒng)中,某些資源可能不能同時(shí)被訪問(wèn)或者修改。這些資源可以是外圍設(shè)備或內(nèi)存緩沖區(qū)和數(shù)據(jù)結(jié)構(gòu),例如打印機(jī)不會(huì)在一個(gè)時(shí)刻響應(yīng)多個(gè)訪問(wèn)。這就需要一些同步機(jī)制去處理這些資源的同時(shí)控制(concurrency control)問(wèn)題。需要注意的是,這里說(shuō)的“同步”,不是同時(shí)的意思,而是協(xié)同的意思。某個(gè)資源使用受限的情況下,你用完了我用,大家協(xié)同工作。

可以通過(guò)“鎖(lock)”機(jī)制來(lái)實(shí)現(xiàn)同步,對(duì)這些不能同時(shí)被訪問(wèn)的共享資源提供一個(gè)鎖。線(xiàn)程在訪問(wèn)這些資源之前必須先獲得鎖權(quán)限。這時(shí),如果其它線(xiàn)程也想申請(qǐng)鎖,會(huì)發(fā)現(xiàn)鎖被占用,只能等待鎖被釋放。擁有鎖的線(xiàn)程在訪問(wèn)結(jié)束后,必須釋放鎖,以便其它的線(xiàn)程可以繼續(xù)訪問(wèn)。

可以使用內(nèi)存中的變量來(lái)實(shí)現(xiàn)簡(jiǎn)單的鎖,該變量可以包含兩個(gè)值(狀態(tài)):LOCKED和UNLOCKED。進(jìn)程如果發(fā)現(xiàn)這個(gè)鎖是UNLOCKED狀態(tài),即可以修改為L(zhǎng)OCKED,并擁有該資源的訪問(wèn)權(quán)限。

5a0693ee-8cb5-11ed-bfe3-dac502259ad0.png

圖中的整個(gè)過(guò)程分為三個(gè)步驟:

讀內(nèi)存中的變量,并做狀態(tài)比較;

修改寄存器值;

寫(xiě)內(nèi)存變量。

在具有多個(gè)核或線(xiàn)程的系統(tǒng)中,此方法容易受到另一個(gè)線(xiàn)程的攻擊,即在變量值的第一次讀取和回寫(xiě)之間修改內(nèi)存中的值。

這個(gè)問(wèn)題可以用軟件解決,也可以用額外的硬件功能來(lái)解決。一種解決方案可以是使“讀-比較-修改-寫(xiě)(read-compare-modify-write)”的原子操作指令。ARM架構(gòu)的早期版本使用SWP指令實(shí)現(xiàn)類(lèi)似的功能。

ARMv8-A使用下面要介紹的,一種特殊類(lèi)型的加載和存儲(chǔ)指令來(lái)檢測(cè)內(nèi)存中的值自上次讀取以來(lái)是否發(fā)生了變化。ARMv8-A 64位指令集提供了兩條獨(dú)占指令LDXR(Load Exclusive)和STXR(Store Exclusive)。

當(dāng)使用LDXR指令讀取地址時(shí),會(huì)將其標(biāo)記為獨(dú)占訪問(wèn)。如果使用STXR指令向標(biāo)記為獨(dú)占的地址寫(xiě)入,則會(huì)清除獨(dú)占狀態(tài)。嘗試使用STXR指令向未標(biāo)記為獨(dú)占的地址寫(xiě)入將會(huì)失敗。地址的獨(dú)占狀態(tài)由稱(chēng)為獨(dú)占監(jiān)視器(Exclusive Monitor)的硬件維護(hù)。

使用獨(dú)占load/store后的鎖實(shí)現(xiàn):

5a2e9326-8cb5-11ed-bfe3-dac502259ad0.png

鎖值的更新不能保證是原子的,但現(xiàn)在可以檢測(cè)到初始讀取和更新之間的任何更改。如果獨(dú)占存儲(chǔ)失敗,軟件可以再次嘗試獲取鎖。

前面提到過(guò),需要對(duì)標(biāo)記為獨(dú)占的地址進(jìn)行監(jiān)控。獨(dú)占監(jiān)視器可以是一個(gè)簡(jiǎn)單的狀態(tài)機(jī),其狀態(tài)可以是開(kāi)放的(open)和獨(dú)占的(exclusive)。ARM架構(gòu)定義了兩種不同的狀態(tài)機(jī):本地獨(dú)占監(jiān)視器(Local Exclusive Monitor)和全局獨(dú)占監(jiān)視器(Global Exclusive Monitor)。

根據(jù)被訪問(wèn)地址的可共享性屬性,檢查本地監(jiān)視器或全局監(jiān)視器的獨(dú)占訪問(wèn)。

對(duì)于Non-shareable地址的獨(dú)占訪問(wèn)檢查僅在本地獨(dú)監(jiān)視器。

對(duì)shareable地址的獨(dú)占訪問(wèn)檢查在本地監(jiān)視器或全局監(jiān)視器。

每個(gè)處理器核都有一個(gè)與其關(guān)聯(lián)的本地監(jiān)視器。本地監(jiān)視器可以構(gòu)造為保存特定地址的獨(dú)占狀態(tài),也可以構(gòu)造為不保存該地址。本地監(jiān)視器作為處理器的一部分實(shí)現(xiàn)。

全局監(jiān)視器在多個(gè)處理器核之間共享。與本地監(jiān)視器一樣,它們只需要監(jiān)視一個(gè)地址,如果監(jiān)視器可以標(biāo)記多個(gè)地址,則每個(gè)地址都有自己的狀態(tài)機(jī)。

ARM體系結(jié)構(gòu)要求以下內(nèi)存類(lèi)型能夠與全局監(jiān)視器一起工作:

5a3a7c36-8cb5-11ed-bfe3-dac502259ad0.png

如果程序無(wú)法獲得鎖,會(huì)不斷嘗試申請(qǐng)鎖。但是這樣會(huì)浪費(fèi)處理器的資源,并且消耗不必要的功耗。有幾種方式可以改善這個(gè)問(wèn)題。對(duì)于在釋放鎖之前等待時(shí)間相對(duì)較長(zhǎng)的情況,鎖代碼可以返回給操作系統(tǒng)調(diào)度程序,這允許在釋放鎖之前調(diào)度其它線(xiàn)程。

對(duì)于鎖可能快速被釋放的情況,ARM架構(gòu)有一種機(jī)制,即允許處理器暫停執(zhí)行,進(jìn)入低功耗模式,等待鎖被釋放。ARM提供WFE(Wait For Event)指令,如果處理器申請(qǐng)鎖失敗,程序可以執(zhí)行WFE進(jìn)入等待。以前的做法是,負(fù)責(zé)釋放鎖的代碼中會(huì)執(zhí)行SEV(Send Event)指令,通過(guò)發(fā)送EVENT喚醒正在等待鎖資源的處理器核。現(xiàn)在ARMv8-A架構(gòu)中,清除全局監(jiān)視器會(huì)自動(dòng)向所有連接的處理器核發(fā)送EVENT喚醒。

審核編輯 :李倩

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

    關(guān)注

    135

    文章

    9596

    瀏覽量

    393835
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5621

    瀏覽量

    130459
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    616

    瀏覽量

    29579

原文標(biāo)題:技術(shù)分享 | ARM系列 -- 同步原語(yǔ)

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    XC9248系列同步降壓DC/DC轉(zhuǎn)換器:特性與應(yīng)用解析

    XC9248系列同步降壓DC/DC轉(zhuǎn)換器:特性與應(yīng)用解析 在電子設(shè)備的電源設(shè)計(jì)中,DC/DC轉(zhuǎn)換器扮演著關(guān)鍵角色。今天要給大家介紹的是XC9248系列同步降壓DC/DC轉(zhuǎn)換器,不過(guò)需要
    的頭像 發(fā)表于 04-26 13:40 ?121次閱讀

    AT91SAM SAM3N系列ARM閃存MCU技術(shù)解析

    AT91SAM SAM3N系列ARM閃存MCU技術(shù)解析 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,微控制器(MCU)扮演著至關(guān)重要的角色。Atmel的SAM3N系列ARM閃存MCU憑借其高性能、低功耗和豐
    的頭像 發(fā)表于 04-16 17:00 ?393次閱讀

    深入剖析NCP3020系列同步降壓控制器的卓越之選

    深入剖析NCP3020系列同步降壓控制器的卓越之選 在電源管理領(lǐng)域,同步降壓控制器是實(shí)現(xiàn)高效電壓轉(zhuǎn)換的關(guān)鍵組件。今天,我們將深入探討安森美半導(dǎo)體(ON Semiconductor
    的頭像 發(fā)表于 04-11 15:40 ?467次閱讀

    深入解析Atmel SAM3S系列ARM Cortex - M3微控制器

    深入解析Atmel SAM3S系列ARM Cortex - M3微控制器 在當(dāng)今電子技術(shù)飛速發(fā)展的時(shí)代,微控制器作為電子設(shè)備的核心大腦,其性能和功能直接影響著產(chǎn)品的質(zhì)量和競(jìng)爭(zhēng)力。Atmel
    的頭像 發(fā)表于 04-06 14:20 ?772次閱讀

    深度解析Atmel SAM7S系列ARM微控制器:從特性到應(yīng)用

    深度解析Atmel SAM7S系列ARM微控制器:從特性到應(yīng)用 在嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域,微控制器是核心組成部分,而Atmel的SAM7S系列ARM微控制器憑借其高性能、低功耗和豐富的外設(shè)
    的頭像 發(fā)表于 04-06 11:05 ?773次閱讀

    Atmel SAM7S系列ARM微控制器深度解析

    Atmel SAM7S系列ARM微控制器深度解析 一、引言 在嵌入式系統(tǒng)的設(shè)計(jì)領(lǐng)域,微控制器的選擇至關(guān)重要。Atmel的SAM7S系列ARM微控制器憑借其高性能、低功耗以及豐富的外設(shè)功
    的頭像 發(fā)表于 04-06 11:05 ?316次閱讀

    詳解Arm AGI CPU 1OU雙節(jié)點(diǎn)參考服務(wù)器

    近日發(fā)布的Arm AGI CPU 是 Arm 首款面向人工智能 (AI) 數(shù)據(jù)中心的量產(chǎn)級(jí)芯片產(chǎn)品。與此同時(shí),Arm同步推出一款模塊化、基于標(biāo)準(zhǔn)的 1OU 雙節(jié)點(diǎn)參考服務(wù)器,將基于
    的頭像 發(fā)表于 04-01 15:09 ?572次閱讀

    深入解析AT91SAM SAM3N系列ARM Flash MCU

    深入解析AT91SAM SAM3N系列ARM Flash MCU 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,微控制器(MCU)扮演著至關(guān)重要的角色。Atmel的SAM3N系列ARM Flash MCU以其
    的頭像 發(fā)表于 03-31 17:05 ?372次閱讀

    LTC1149系列同步降壓開(kāi)關(guān)穩(wěn)壓器設(shè)計(jì)全解析

    LTC1149系列同步降壓開(kāi)關(guān)穩(wěn)壓器設(shè)計(jì)全解析 在電子設(shè)計(jì)領(lǐng)域,電源管理是至關(guān)重要的一環(huán)。LTC1149系列同步降壓開(kāi)關(guān)穩(wěn)壓器以其高效、高性能的特點(diǎn),在眾多應(yīng)用場(chǎng)景中備受青睞。今天,我
    的頭像 發(fā)表于 03-31 13:45 ?479次閱讀

    Xilinx FPGA輸入延遲原語(yǔ)介紹

    在高速接口設(shè)計(jì)中,時(shí)序收斂往往是工程師面臨的最大“噩夢(mèng)”。當(dāng)數(shù)據(jù)傳輸速率突破 800Mbps 時(shí),微小的 PCB 走線(xiàn)差異都足以讓系統(tǒng)崩潰。本文將深度剖析 Xilinx 7 系列(IDELAYE2)與 UltraScale 系列(IDELAYE3)的底層原理,帶你徹底攻克
    的頭像 發(fā)表于 03-11 09:29 ?2383次閱讀
    Xilinx FPGA輸入延遲<b class='flag-5'>原語(yǔ)</b>介紹

    德州儀器TPSM86325x系列同步降壓模塊:設(shè)計(jì)與應(yīng)用全解析

    德州儀器TPSM86325x系列同步降壓模塊:設(shè)計(jì)與應(yīng)用全解析 在電子工程師的日常工作中,電源模塊的選擇和設(shè)計(jì)至關(guān)重要。今天,我們就來(lái)深入探討一下德州儀器(TI)推出的TPSM86325x系列
    的頭像 發(fā)表于 03-03 11:05 ?264次閱讀

    RDMA設(shè)計(jì)46:RoCE v2原語(yǔ)功能:?jiǎn)芜呎Z(yǔ)義

    本博文主要交流設(shè)計(jì)思路,在本博客已給出相關(guān)博文約170篇,希望對(duì)初學(xué)者有用。注意這里只是拋磚引玉,切莫認(rèn)為參考這就可以完成商用IP設(shè)計(jì)。 續(xù)上,為便于查看,給出表1部分表1 RoCE v2原語(yǔ)功能
    發(fā)表于 03-01 23:14

    RDMA設(shè)計(jì)45:RoCE v2 原語(yǔ)功能驗(yàn)證與分析2

    本博文主要交流設(shè)計(jì)思路,在本博客已給出相關(guān)博文約170篇,希望對(duì)初學(xué)者有用。注意這里只是拋磚引玉,切莫認(rèn)為參考這就可以完成商用IP設(shè)計(jì)。續(xù)上,為便于查看,給出表1部分 表1 RoCE v2原語(yǔ)功能
    發(fā)表于 02-26 07:52

    西門(mén)子EDA與Arm攜手合作加速系統(tǒng)設(shè)計(jì)驗(yàn)證進(jìn)程與軟件啟動(dòng)

    對(duì)芯片設(shè)計(jì)而言,加速產(chǎn)品的上市流程至關(guān)重要。為此,西門(mén)子EDA與Arm攜手合作,為Arm的合作伙伴提供了一系列基于Arm Neoverse CSS與
    的頭像 發(fā)表于 12-19 09:06 ?913次閱讀
    西門(mén)子EDA與<b class='flag-5'>Arm</b>攜手合作加速系統(tǒng)設(shè)計(jì)驗(yàn)證進(jìn)程與軟件啟動(dòng)

    ARM Mali GPU 深度解讀

    ARM Mali GPU 深度解讀 ARM Mali 是 Arm 公司面向移動(dòng)設(shè)備、嵌入式系統(tǒng)和基礎(chǔ)設(shè)施市場(chǎng)設(shè)計(jì)的圖形處理器(GPU)IP 核,憑借其異構(gòu)計(jì)算架構(gòu)、能效優(yōu)化和生態(tài)協(xié)同,成為全球移動(dòng)
    的頭像 發(fā)表于 05-29 10:12 ?5016次閱讀
    慈利县| 临海市| 盐城市| 青阳县| 聂荣县| 宁陕县| 乌拉特中旗| 兖州市| 中江县| 灵宝市| 天台县| 北京市| 无锡市| 长葛市| 宁安市| 莆田市| 徐州市| 景泰县| 盈江县| 兴化市| 凤台县| 五河县| 隆德县| 乐平市| 杨浦区| 正阳县| 宁晋县| 容城县| 浦县| 马边| 哈尔滨市| 德格县| 靖边县| 旌德县| 铜梁县| 保康县| 集贤县| 永靖县| 三穗县| 连州市| 景泰县|