Re: [問題] 從軟體動作到硬體訊號

看板ASM (組合語言)作者 ( )時間1年前 (), 1年前編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串2/3 (看更多)
1. 首先是寫記憶體某個地方,會讓CPU對bus發出write transaction (當然可能不是真的bus,這裡就簡單一點) 2. bus上會掛很多peripheral,比如timer,gpio,每個都會監看特定區域的寫入(或讀取),如果是裝置在意的,就會去看看CPU要他做什麼 3. 寫入某個address,就會有write request,這時候peripheral可以放上真的flip-flops,讓這個address是可以讀寫;也可以不放,這樣就是write only,事後無法讀回剛剛寫的數值 4. 簡單一點,有顆32bit flip-flops兜出來的register,裡面儲存你寫入的數值。所以現在IC某處有一排flip-flops,存下你寫入的數值。你可以想像32bit對應32pins 5. 接下來有個GPIO output線路,裡面有一堆複雜的設定,比如pull up/pull down/ open drain。假設是push-pull,這個flip-flops的線就拉到這個輸出線路,最後就到達output pin,你就可以透過電錶量到電壓了 以上是話唬爛的解說,我不是IC designer,如果說錯請見諒 ※ 引述《james732 (james732)》之銘言: : 我的工作是在MCU上寫code : 目前知道程式跟硬體打交道都是透過硬體暫存器 : 通常暫存器會mapping到某個memory address : 譬如我把memory address的0x1000的Bit0寫成1 : MCU的某一根GPIO就會輸出High訊號 : 但我一直不懂的是,從寫入到真正輸出High這段過程 : 硬體實際上是怎麼做的 : 它怎麼知道我有寫,又怎麼知道要怎麼輸出High : 如果想針對這部份(晶片內部的行為)做更深入的學習的話 : 有什麼關鍵字/什麼參考資料可以去閱讀呢? : 因為自己是軟體背景,對於晶片的動作覺得很神奇又很好奇XD -- Sent from PTTopia -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.32.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1585044183.A.EAB.html ※ 編輯: lihgong (27.242.32.69 臺灣), 03/24/2020 18:04:39 ※ 編輯: lihgong (27.242.32.69 臺灣), 03/24/2020 18:05:24

03/24 22:53, 1年前 , 1F
謝謝你的說明,好像有點概念了
03/24 22:53, 1F
文章代碼(AID): #1UUThNwh (ASM)
文章代碼(AID): #1UUThNwh (ASM)