求助,軟體是怎樣操作硬體的,有什麼可以動手做的實驗幫助理解這個問題?
數位電路和微機原理了解一下
樓上正解,微機原理!裡面會講,機器碼如何工作的,cpu內部微程式碼如何工作的,還有相應的實驗!理解最基本的組合語言,參考8051每個機器週期都幹啥了,理解指令週期和機器週期的不同!雖然我沒有正面回答你的問題,希望你從我的提示自己去尋找答案!這樣印象更深!
你需要微型計算機原理這本書
實驗的話,你可以弄個51微控制器,使用匯程式設計序,點個燈就能理解程式是怎麼控制硬體得了。
最後,數位電路其實就是0(通常來講是低電平)和1(通常來講是高電平)的事。
有駕照嗎?有的話就開一會,你是軟體,車是硬體,你踩油門車跑,踩剎車車停,這就是軟體控制硬體了。
從底層來看,軟體就是一系列的指令合集,硬體就是執行這個的。
軟體操作硬體這事吧,你需要從彙編的角度來看就特別容易。
如果真的要實驗操作,那麼51微控制器, 或者 樹莓派的GPIO口的程式設計,都是一個比較容易理解的操作。
你可以透過控制這些的GPIO口來實現一個通用的彩燈的開關,
這差不多是我們最經常用來展示操作硬體能力的基礎實驗了。
然後就是另外的操作,如透過串列埠,並口,USB口來與附屬裝置連線,驅動它們動作,儘管這些不算是直接的操作硬體,但是也能透過各種資料協議,來操作附屬裝置。
這些附屬裝置的軟體硬體部分,就能直接透過自己的AD/DA,或者其它的自定義硬體部分,來完成自己的軟體到硬體動作的完成了。
當然了,能問到這個問題的人,可能經常要想的就是,為什麼一個軟體能操作硬體動作?
這是一個非常難回答的問題。
因為它是數位電路的基礎知識。
就像你要問,怎麼有個雞還是有個蛋先出來一樣?
對於計算機來講,肯定是先有了雞,才有的蛋。
但是這個雞是怎麼生的蛋。。。沒有數位電路知識的人很難理解,
說實話,我也忘了。