Re: [問題] 從軟體動作到硬體訊號
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/ ope
n drain。假設是push-pull,這個flip-flops的線就拉到這個輸出線路,最後就到達outp
ut 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,
4年前
, 1F
03/24 22:53, 1F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章