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

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

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

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

ARM系列--同步原語

安芯教育科技 ? 來源:老秦談芯 ? 2023-01-05 14:18 ? 次閱讀

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

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

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

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

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

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

修改寄存器值;

寫內(nèi)存變量。

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

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

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

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

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

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

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

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

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

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

對shareable地址的獨(dú)占訪問檢查在本地監(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)存類型能夠與全局監(jiān)視器一起工作:

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

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

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

審核編輯 :李倩

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

    關(guān)注

    134

    文章

    9200

    瀏覽量

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

    關(guān)注

    31

    文章

    5388

    瀏覽量

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

    關(guān)注

    0

    文章

    613

    瀏覽量

    28533

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    詳解CKS32F107xx系列的定時(shí)器同步功能

    CKS32F107xx系列部分定時(shí)器在內(nèi)部是相連的,可用于定時(shí)器同步或鏈接,方便用戶配置不同的同步模式,以便在電機(jī)控制、數(shù)據(jù)采集和PWM信號生成等應(yīng)用中,實(shí)現(xiàn)復(fù)雜的時(shí)間序列和多通道的同步
    的頭像 發(fā)表于 11-26 17:51 ?592次閱讀
    詳解CKS32F107xx<b class='flag-5'>系列</b>的定時(shí)器<b class='flag-5'>同步</b>功能

    立錡科技推出ACOT同步降壓轉(zhuǎn)換器系列

    立錡針對筆記型電腦、網(wǎng)絡(luò)設(shè)備、平板電視等應(yīng)用,推出4.5V至23V輸入、8A/10A/12A的ACOT同步降壓轉(zhuǎn)換器系列,提供多樣功能組合供選擇,滿足不同應(yīng)用需求。
    的頭像 發(fā)表于 11-01 16:21 ?415次閱讀

    ZS7606X系列60V高性能同步整流控制器

    ZS7606X系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避免因激磁振蕩引起的驅(qū)動(dòng)芯片誤動(dòng)作。采用特有的VC
    發(fā)表于 09-24 10:44 ?1次下載

    ZS7605X系列45V高性能同步整流控制器

    ZS7703X系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避免因激磁振蕩引起的驅(qū)動(dòng)芯片誤動(dòng)作。采用特有的VC
    發(fā)表于 09-24 10:41 ?0次下載

    ZS7607X系列60V同步整流控制器產(chǎn)品使用規(guī)格書

    ZS7607X系列系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避
    發(fā)表于 09-07 11:23 ?0次下載

    ZS7608X系列60V同步整流控制器使用規(guī)格書

    ZS7608X系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避免因激磁振蕩引起的驅(qū)動(dòng)芯片誤動(dòng)作。采用特有的VC
    發(fā)表于 09-07 10:33 ?0次下載

    ZS7607X系列60V同步整流控制器使用規(guī)格書

    ZS7607X系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避免因激磁振蕩引起的驅(qū)動(dòng)芯片誤動(dòng)作。采用特有的VC
    發(fā)表于 09-07 10:31 ?0次下載

    ZS7703X系列45V同步整流控制器使用規(guī)格書

    ZS7703X系列是一款內(nèi)置MOS的同步整流芯片。適用于隔離型的同步整流應(yīng)用。該系列產(chǎn)品采用原邊開通判定和副邊斷續(xù)判定技術(shù)。可以有效的避免因激磁振蕩引起的驅(qū)動(dòng)芯片誤動(dòng)作。采用特有的VC
    發(fā)表于 09-07 10:29 ?0次下載

    鋇錸工業(yè)級 ARM 邊緣計(jì)算控制器BL330 系列

    ? 一、 產(chǎn)品概述? ARMxy 系列ARM 嵌入式計(jì)算機(jī) BL330 系列是一款可靈活配置 IO 口的工業(yè)級 ARM 控制器,基于全志科技 T113-i 雙核
    的頭像 發(fā)表于 07-11 10:44 ?647次閱讀
    鋇錸工業(yè)級 <b class='flag-5'>ARM</b> 邊緣計(jì)算控制器BL330 <b class='flag-5'>系列</b>

    同步整流芯片U711XW系列輕松化解電源方案煩惱

    同步整流芯片U711XW系列輕松化解電源方案煩惱U7116W同步整流芯片U711XW系列(U7116W/7110W),與原U7116/U7110內(nèi)阻是一樣的,但封裝不再是SOP-8,而
    的頭像 發(fā)表于 06-21 08:10 ?911次閱讀
    <b class='flag-5'>同步</b>整流芯片U711XW<b class='flag-5'>系列</b>輕松化解電源方案煩惱

    邁威通信PTP交換機(jī)系列:打造精準(zhǔn)時(shí)間同步的網(wǎng)絡(luò)新紀(jì)元

    隨著數(shù)字化時(shí)代的快速發(fā)展,各行各業(yè)對時(shí)間同步的要求日益提高。尤其是在金融、通信、電力等關(guān)鍵領(lǐng)域,精準(zhǔn)的時(shí)間同步不僅關(guān)乎系統(tǒng)的穩(wěn)定運(yùn)行,更是保障業(yè)務(wù)連續(xù)性和數(shù)據(jù)安全的關(guān)鍵。因此,邁威通信隆重推出的PTP工業(yè)以太網(wǎng)交換機(jī)系列,旨在為
    的頭像 發(fā)表于 05-18 10:53 ?858次閱讀
    邁威通信PTP交換機(jī)<b class='flag-5'>系列</b>:打造精準(zhǔn)時(shí)間<b class='flag-5'>同步</b>的網(wǎng)絡(luò)新紀(jì)元

    xilinx中的carry4原語在高云FPGA中用什么原語替代?

    xilinx中的carry4原語在高云FPGA中用什么原語替代
    發(fā)表于 05-09 16:13

    ArmArm Neoverse計(jì)算子系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    和Neoverse CSS N3代表了Arm計(jì)算子系統(tǒng)產(chǎn)品組合的最新進(jìn)展。 Neoverse CSS V3是高性能V系列產(chǎn)品組合的首款產(chǎn)品,相比其前身Neoverse CSS N2,每插槽性能提高了50%。這種增強(qiáng)對于需要高計(jì)算吞吐量的應(yīng)用程
    的頭像 發(fā)表于 04-24 17:53 ?1245次閱讀
    <b class='flag-5'>Arm</b>新<b class='flag-5'>Arm</b> Neoverse計(jì)算子系統(tǒng)(CSS):<b class='flag-5'>Arm</b> Neoverse CSS V3和<b class='flag-5'>Arm</b> Neoverse CSS N3

    ARM推出一系列汽車SoC IP,RISC-V壓力又大了

    ARM在美國時(shí)間3月13日推出一系列汽車SoC IP,包括比英偉達(dá)H100還強(qiáng)的CPU內(nèi)核架構(gòu)Neoverse V3AE,
    的頭像 發(fā)表于 03-20 16:02 ?1234次閱讀
    <b class='flag-5'>ARM</b>推出一<b class='flag-5'>系列</b>汽車SoC IP,RISC-V壓力又大了

    同步多臺(tái)示波器的應(yīng)用指南

    本應(yīng)用指南以泰克4,5和6系列MSO為例,說明了多示波器同步的程序和原理。4,5和6系列MSO支持任意型號示波器之間的同步,從而實(shí)現(xiàn)更多通道的同步
    發(fā)表于 03-08 12:41 ?1006次閱讀
    <b class='flag-5'>同步</b>多臺(tái)示波器的應(yīng)用指南
    主站蜘蛛池模板: 国产乱理论片在线观看理论 | 一本大道加勒比久久 | 九九热在线免费视频 | 亚洲一区二区视频 | 亚洲 欧美 精品 | 欧美日本一区二区 | 国产婷婷色一区二区三区深爱网 | 亚洲日本在线观看视频 | 亚洲视频入口 | 成人国产在线视频 | 欧美无遮挡国产欧美另类 | 国产欧美精品午夜在线播放 | 最近高清在线视频观看免费 | 九草伊人 | 成年啪啪网站免费播放看 | 理论片午夜 | 男人的天堂在线免费视频 | 俺去久久 | 国产午夜免费视频 | 欧美成人全部费免网站 | 日本不卡在线一区二区三区视频 | 色爱综合网 | 97国产精品人人爽人人做 | 天天草综合 | 在线成人看片 | 亚洲开心激情网 | 综合色久七七综合七七蜜芽 | 国产黄在线观看 | 神马午夜98| 一级黄色日本 | 成 人色 网 站 欧美大片在线观看 | 国产网红主播chinese | 91美女在线播放 | 日本三级高清 | 欧美美女一区二区三区 | 亚洲国产精品久久精品怡红院 | 二级片在线 | 清朝荒淫牲艳史在线播放 | 狠狠色综合久久久久尤物 | 色天天综合色天天看 | 特级中国aaa毛片 |