|
https://m./answer/6672973707759059203/?app=news_article&app_id=26&share_ansid=6672973707759059203 (穿越計算機的迷霧這本書完全可以解釋你的疑惑) https://m./answer/6673126511781871886/?app=news_article&app_id=26&share_ansid=6672973707759059203 https://m./answer/6673126511781871886/?app=news_article&app_id=26&share_ansid=6672973707759059203 硬件驅動的本質其實是電驅動,而軟件代碼編譯之后其實全部是二進制數(shù)字——0和1,故要理解軟件控制硬件的原理就要理解0和1如何在軟件和硬件中運行 1.0和1的表示——邏輯電平數(shù)字電路中,電壓的高低用邏輯電平來表示。例如在TTL門電路中,
2.電路的基本元件——晶體管晶體管,主要有二極管跟三極管。
3.電路的邏輯運算基礎——三種幾門邏輯門下圖為三種基本的邏輯門以及他們對應的晶體管電路圖 三種門的基本運算稱為布爾運算,邏輯與和或門接受兩個電平,非門接收一個電平,經過邏輯門后電平變化如下圖 其他諸如異或門、與非門等復雜門電路由幾門電路組成。例如下圖為一個一位加法器。 以一位加法器為基礎,可以構建八位加法器 例如計算2 3為例 十進制數(shù)在數(shù)字電路中先ASCII編碼成二進制說00000010和00000011,兩者通過八位加法器進行加法運算和進位,最后輸出00000101,再ASCII解碼成十進制數(shù)5,輸出。 4.指令集芯片便是以加法器等其他指令為基礎而構建而成的一個計算處理芯片。每個芯片所含有的所有邏輯運算統(tǒng)稱為指令集。常見的指令集有電腦端使用的Intel的X86指令集,以及手機使用的ARM的ARM指令集,細分類不展開。這些指令集是嵌入在芯片中的 5.驅動程序指令集嵌入在芯片中,人是無法調用的,則開發(fā)驅動程序,驅動程序的目的是向外給出一個接口,可以供外部其他部件調用本芯片的指令集進行運算處理。 6.軟件編程采用高級語言編寫各種程序代碼,比如java語言、C語言、C 語言等 7.程序編譯所編寫的程序代碼通過編譯器編譯成二進制0和1組成的一段指令,然后這些指令通過與驅動程序匹配,滿足匹配條件后將指令傳入指令集中進行運算,從而驅動硬件運行,如果還有輸出,則再將由0和1的運算結果進行解碼(與編碼相對于的解碼方式,如ASCII Unicode等),結果輸出在顯示器上,可以查看輸出結果。 參考《穿越計算機的迷霧》這本書完全可以解釋你的疑惑 硬件也就是機器有它自己的語言,也非常的簡單。因為機器的每個部件的功能都是固定的,所以要完成一個復雜的動作,需要把相關的部件按一定的規(guī)律有序完成才行,這其中有多復雜想想也應該知道。機器能接受的指令就只有有2個,固定一個動作,做或不做,在計算機中是以2進制標記的,也就是1和0,指令為1,就做該動作一次,指令為0,就不做該動作。大量固定的動作根據(jù)一定的規(guī)律有序的成功做完,就組成軟件中所需要完成的一個功能。 在軟件中,需要編程語言,這些編程語言都是高級語言,這些高級語言是為了我們更容易編譯操作而編寫的,硬件是看不懂的,是需要經過翻譯,翻譯成為機器語言,然后計算機才看的懂,進而執(zhí)行簡單的操作。無數(shù)簡單的操作就成了軟件所需要的功能,然后通過機器展示出來。 匯編語言是底層語言,直接與硬件接觸。是非常麻煩的,代碼量大,工作量也嚇人,但是,功能和運行速度也強悍的嚇人,任何高級語言都無法比擬,算是軟件開發(fā)真正的核心技術所在。 我們現(xiàn)在所說的軟件編程,用的就是比計算機語言高一層的語言,也就是高級語言,像如今流行的語言C/C++用這些高級語言幾行代碼展示的功能。 硬件是不可能完成你所有想要的功能的,軟件可以作為一種翻譯語言溝通我們人類的想法和機器,從而實現(xiàn)我們人類的想法。
硬件也就是機器有它自己的語言,也非常的簡單。因為機器的每個部件的功能都是固定的,所以要完成一個復雜的動作,需要把相關的部件按一定的規(guī)律有序完成才行,這其中有多復雜想想也應該知道。機器能接受的指令就只有有2個,固定一個動作,做或不做,在計算機中是以2進制標記的,也就是1和0,指令為1,就做該動作一次,指令為0,就不做該動作。大量固定的動作根據(jù)一定的規(guī)律有序的成功做完,就組成軟件中所需要完成的一個功能。 在軟件中,需要編程語言,這些編程語言都是高級語言,這些高級語言是為了我們更容易編譯操作而編寫的,硬件是看不懂的,是需要經過翻譯,翻譯成為機器語言,然后計算機才看的懂,進而執(zhí)行簡單的操作。無數(shù)簡單的操作就成了軟件所需要的功能,然后通過機器展示出來。 匯編語言是底層語言,直接與硬件接觸。是非常麻煩的,代碼量大,工作量也嚇人,但是,功能和運行速度也強悍的嚇人,任何高級語言都無法比擬,算是軟件開發(fā)真正的核心技術所在。 我們現(xiàn)在所說的軟件編程,用的就是比計算機語言高一層的語言,也就是高級語言,像如今流行的語言C/C++用這些高級語言幾行代碼展示的功能。 硬件是不可能完成你所有想要的功能的,軟件可以作為一種翻譯語言溝通我們人類的想法和機器,從而實現(xiàn)我們人類的想法。' |
|
|
來自: 山峰云繞 > 《數(shù)字電子技術基礎門電路片選》