ASM 板


LINE

看板 ASM  RSS
※ 引述《ksmrt0123 (ksmrt)》之銘言: : Atomic instruction在shared memory multi-processor系統中是 : process synchronization (如 mutual exclusion)之基礎. 最基本的 : atomic instruction是shared memory read/write. 但read/write : 並不夠powerful, 用read/write來實作synchronization一方面可能 : performance不夠好, 一方面有些好的演算法特性用(如FIFO ordering) : 已經證明只用read/write是無法作出來的. ^^^^^^^^^^^^^^^^^^^^^^^^^ : 這邊講錯了 只用atomic read/write : 是可以作出FIFO ordering的mutual : exclusion algorithm: : http://www.viswiki.com/en/Lamport's_bakery_algorithm =================================================================== 這可能是表達上的問題. 畫蛇填足補充一下, 有錯請更正. 第一個假設是: 硬體的 write operation 是設計成不會同時寫入同一個位址. 再深入假設對記憶體送出位址線訊號(address), 資料訊號(data) 及請求 read/write 命令訊號是不可再被分割的(atomic operation 之意, 但這在 x86 multi-processor shared bus 不成立). 1.假設兩個 processor 共用一段記憶體, 且兩者都會對該共用記憶體做更 新的動作, 也就是做 read-modify-write operation. 此時, 對該共用記憶區想要有正確的運作結果, 就面臨必需用 mutual exclusive flag 來通知協調另一方不要同時做更新動作(就是互斥之意). 而 mutual exclusive flag 本身就是一個 shared variable, 如果做通知 協調的事, 就有對 flag 做 read-modify-write 的動作需求. 這種需求 解決辦法之一是用 lock 機制, 讓 read-modify-write 不可分割的一口氣 做完. 2.FIFO queue 也是一種記憶體使用與運作形式, 是一方送(寫)進去, 另一 方取(讀)出來, 這種共用形式是否要用到 mutual exclusive lock flag ? 答案是:如果只限一個送, 另一個同時收, 就可以不必用到. queue 的送收雙方各自維持一個指標指到 queue 的頭尾, 從頭讀取 從尾存入. 收送兩方可能會同時讀到頭尾這兩個指標, 但不會同時共 用寫到同一個指標做同時更新, 而是寫到各自分開管理的頭或尾指標 所以, 收送雙方通訊用的 FIFO queue 如果只用 atomic read/write operation 的記憶體來實現(或模擬), 是不必使用到 mutual exclusive lock 這種機制. FIFO queue 的本質就是一方寫, 另一方讀, 寫只會寫到不同的空位. 對頭與 尾兩指標變數也是只做如此的運作. 如果 read/write operation 可以再被分割, 兩者交錯到近乎同時運作. 即使讀出的值沒有立即反應同時寫進的值, 影響到的只是檢查 FIFO queue 是 full 或 empty 的判斷. 例如收方已取出, 送方未立即發覺, 頂多就是 誤認仍然是 full, 造成延遲寫入. 同理, empty 的檢驗也是一樣, 頂多造 成收方慢一點取出.
1F:→ ksmrt0123:抱歉(1)看不懂; (2)不就是 producer-consumer problem? 01/02 11:29
2F:→ ggg12345:FIFO就是producer/consumer用的queue.共寫同一個變數就 01/02 11:54
3F:→ ggg12345:有先後與插斷問題,故用LOCK機制排除,但軟體lock比硬複雜! 01/02 11:59
※ 編輯: ggg12345 來自: 140.115.4.12 (01/02 12:25)
4F:推 ksmrt0123:FIFO Queue 可以有多個 enqueuer/dequeuers 01/04 21:15
5F:→ ksmrt0123:一方寫另一方讀是特例 等同於producer-consumer problem 01/04 21:16
6F:→ ggg12345:bakery algorithm屬N個process排隊使用共用臨界區的soft 01/05 16:02
7F:→ ggg12345:MX lock方法,掛號處因共用會更新出同號,用uid產生total 01/05 16:12
8F:→ ggg12345:order來仲裁排序,以阻擋他方使用臨界區的機制就是互斥鎖 01/05 16:16
9F:→ ggg12345:這算法用到單調上升的計數器,對有限bit置數器會增加麻煩. 01/05 16:23
10F:→ ggg12345:producer/consumer是單對的送收,對相關變數不必用到lock 01/05 16:47
11F:→ ksmrt0123:教授舉一隅必以三隅反 01/05 18:21
12F:→ ksmrt0123:仰之彌高 鑽之彌堅 瞻之在前 忽焉在後 01/05 18:22
13F:→ ksmrt0123:非吾輩所能望其項背者也 01/05 18:23







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP