Re: [問題]如果是多核心的話?

看板ASM作者 (呆呆小狼)時間14年前 (2009/12/14 00:29), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《eggru (沒在怕的啦)》之銘言: : 假如 今天是在CPU上有2個核心, : 我寫兩個thread去做同樣的工作, thread是OS才有的東西 : 是不是兩個核心都會去捉指令, : 如果只有寫單緒的程式, 就RAW LEVEL狀態ASM而言沒有執行續這種東西,只有你自己怎麼 排程給CPU去跑。就算你用了Tiny Kernel或ucOS,也必須是遵照 OS的規矩去宣告與執行,一旦你程式裡面 DISABLE了中斷,自己 蠻幹死迴圈,OS照常無力化給你看。 : 是不是只保留其中一個的結果, : 還是事情不是我想得這麼簡單,不是很了解, : 還煩請高手們解惑,謝謝。 一般多核心的話,如果是直接自己排成而不透過OS的話則是在 CPU 啟動階段用第一個核心把其他核心要執行的東西先排好,然後才啟 用第二,第三....等等的其他核心。 一般(目前為止)多核心的CPU再RESET之後都會只有一個核(通常 是UNIT0)是RESET&RUNNIGN 的,其他的核則處於HALT狀態。而那 個會動的核一RESET之後的任務就是把系統環境搞定(MMU,載入程 式,配置資源,修改其他核的進入點 ...等等的統統搞定後才會去 啟用其他的核) 至於OS怎麼用這些核?我想也不是三言兩語就講得清的,有興趣就 去找專門講解SMPOS的書或找狗問問吧。 -- 春花聞杜鵑,秋月看歸燕。人情薄似雲,風景疾如箭。 留下買花錢,趲入種桑園。茅苫三間廈,秧肥數頃田。 床邊,放一冊冷淡淵明傳;窗前,鈔幾聯清新杜甫篇。 ~WolfLord~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.202.96

12/14 19:04, , 1F
感謝大大的回覆,言簡意賅,這就是我想要的知道的答案
12/14 19:04, 1F

12/14 21:12, , 2F
推文 紙鈔的鈔??
12/14 21:12, 2F

12/14 21:28, , 3F
恩,沒錯。鈔,這是元曲 得勝令 的內容
12/14 21:28, 3F
文章代碼(AID): #1B9HPYHQ (ASM)
文章代碼(AID): #1B9HPYHQ (ASM)