軟件是如何做到控制芯片電路的閉合的?一切用電設(shè)備的使用結(jié)果,都是由電路的閉合通電得到的,芯片也不例外,只是在晶圓上制造了數(shù)億個(gè)電路開關(guān)而已,然后把這些
以往回答過類似問題,軟件歸根結(jié)底,就是二進(jìn)制代碼01,而在電路上的確是沒有直接的01的,電路上只有高低電平,所謂的01,是通過顯示器顯示出來的一種給人看的,方便你理解的東西,電路上并沒有什么0和1這個(gè)代碼,本質(zhì)上它在硬件電路上還是高低電平,比如可以規(guī)定TTL電路高電平是:2.4V-5.0V;而低電平是:0.0V-0.4V。也就是電路上的電壓在某個(gè)數(shù)值范圍代表1,某個(gè)數(shù)值范圍代表0,請關(guān)注:容濟(jì)點(diǎn)火器
然后電路上的這些高低電平這些東西,一般是通過觸發(fā)器這些電路來存儲(chǔ)的,比如RS觸發(fā)器,它是最基本的,可以通過阻容和三極管這些器件來組成,你在電腦上看到的所謂1或者0,在實(shí)際電路上它就是電壓不同而已。
然后多個(gè)觸發(fā)器組合成移位寄存器這些,通過硬件的晶振發(fā)出脈沖來讓這些寄存器移位,這樣寄存器的狀態(tài)就可以改變了,你在鍵盤上下某個(gè)命令,就相當(dāng)于觸發(fā)某個(gè)開關(guān),開關(guān)導(dǎo)通了,當(dāng)然會(huì)直接讓某個(gè)電路狀態(tài)變化,移位寄存器的01狀態(tài)也跟著改動(dòng),這樣電路上就會(huì)達(dá)到你需要的功能,然后電路狀態(tài)變化后,又通過液晶這些,把這種變化的狀態(tài),顯示出來所謂的01給你看,你看到的只是一個(gè)符號(hào)而已,實(shí)際上電路上變化的,還是電壓。
然后很多個(gè)寄存器再組合起來,就形成了所謂的芯片,講白了,就是把這些硬件電路做得非常小,集成到一塊硅片上去了。
純手打微機(jī)原理了解一下????。
除了沒配圖(純手機(jī)碼字配圖要奔潰的),我覺得沒毛病,哈哈。當(dāng)然了,大神莫怪,我是想用盡可能通俗的語言去解釋,畢竟這不是微機(jī)原理課,我也不是數(shù)電專家。
1,程序從電路層面看,就是0和1而已。所以本質(zhì)上,程序只是一串長長的0和1,所以存儲(chǔ)程序就是存儲(chǔ)0和1。那么在物理上,我們用電壓高低表示0和1就可以了。想要存儲(chǔ)起來,硬盤就是個(gè)好辦法,我們可以用磁場的強(qiáng)和弱來表示01,或者用磁極南和北表示01,當(dāng)然也可以用電場強(qiáng)弱表示0和1,于是科學(xué)家就發(fā)明了機(jī)械硬盤,它是基于磁場來存儲(chǔ)的,后來又發(fā)明了固態(tài)硬盤,它是基于電場來存儲(chǔ)的,存儲(chǔ)電場高低最好的例子,就是電容。當(dāng)我們想要讀取程序時(shí),就是讀取0和1,也就是讀取高低電壓,或者叫電平,讀取高低電平,你簡單理解一下,就可以用一排電線,電線的一頭連著一個(gè)神奇的元件,以機(jī)械硬盤為例(基于磁場存儲(chǔ)0和1),這個(gè)元件可以根據(jù)磁盤中磁場的變化,轉(zhuǎn)變成01這種高低電平的變化,然后這些變化的電平通過電線送到另一頭的“電平處理機(jī)”——硬件。這樣子就是讀取程序了。
2,那么,軟件如何控制硬件呢?就是說,這些輸送過去的0和1如何控制硬件呢?它通過另外一種神奇的東西“門電路”。首先,什么叫控制?控制就是我們希望,從程序里讀取過來的0和1,能不能讓它變成1和0,具體來講就是01序列的變換,這個(gè)變換也是用門電路來實(shí)現(xiàn)。比方說,有個(gè)叫“與門”的電路,他有兩個(gè)輸入,一個(gè)輸出。你給他輸入兩個(gè)1時(shí),他就輸出1,其他情況都輸出0。像這樣子的輸入輸出過程其實(shí)就是序列變換,也可以說你是在用軟件控制硬件了。你可能要問,要輸入10個(gè)1或0怎么辦。磕蔷桶验T電路組合起來呀,設(shè)法讓門電路變成10個(gè)輸入,甚至更多就可以了。
3,那“門電路”是如何實(shí)現(xiàn)的呢,從物理的角度,他是用晶體管做成的,晶體管他是一種電子開關(guān),這種電子開關(guān)就能做出各種各樣的“門電路”,比如上面講的“與門”。簡單說,晶體管是利用硅(或鍺)這類半導(dǎo)體的一個(gè)重要特性來實(shí)現(xiàn)門電路,就是硅的參雜特性,利用這個(gè)特性可以用一個(gè)小電流(或電壓)來控制一個(gè)硅半導(dǎo)體的“通電”或“斷電”,就達(dá)到了“電子開關(guān)”的目的(實(shí)際造電子開關(guān)的材料和方法還有很多種,這里是為了舉例),而這個(gè)小電流就是控制信號(hào)。
4,那么,為什么電路一閉合,程序就工作起來了呢?前面我們說了,程序控制硬件(或者叫硬件處理程序中的數(shù)據(jù)),就是把01序列不斷地輸入到硬件中去處理的過程(其實(shí)處理你硬盤上數(shù)據(jù)的東西,它本身也是個(gè)程序,軟硬件本質(zhì)上是一樣的)。那么,數(shù)據(jù)到底是怎么輸入的呢?試想一下,你搭建了一個(gè)閉合電路,開頭是一個(gè)硬盤數(shù)據(jù)讀取裝置——》然后是導(dǎo)線——》硬件(電平處理機(jī))——》輸出裝置,把變換后的序列顯示出來(比如做了個(gè)加法,把結(jié)果顯示出來)。這個(gè)電路在閉合時(shí)(或者是在斷開時(shí))會(huì)做一次加法,然后顯示結(jié)果,但是之后他就一直顯示那個(gè)結(jié)果,如果你想要做10次加法,也就是做個(gè)乘法怎么辦呢?難道你要手動(dòng)不停地“打開”和“閉合”電路嗎?(也就是我們要不斷產(chǎn)生控制信號(hào),才能自動(dòng)讓電路開合,這里的開合理解成高低電平,并不是真的讓電路斷電,控制信號(hào)就像上文說的那個(gè)小電流),這時(shí)我們就需要另一種神奇的電路:振蕩器,他會(huì)交替產(chǎn)生高低電平(這里邊其實(shí)非常復(fù)雜,涉及到觸發(fā)器,鎖存器,上升沿下降沿等眾多概念,不再展開)。振蕩器的震蕩快慢用頻率表示,而頻率高電路變化起來就快,就是說做10次加法的速度就快。這就是為什么你會(huì)聽說很多時(shí)候,cpu頻率越高運(yùn)算速度就越快。
4,接下來,既然我們造好了門電路,有了振蕩器,就可以造各種各樣的更復(fù)雜電路了,比如通過復(fù)雜的門電路組合起來,再加一些其他的基本電路,就可以做出來鎖存器(或者叫鎖存電路)。聽說過CPU的緩存,還有寄存器吧,這些東西就可以用鎖存器來造,鎖存器相當(dāng)于內(nèi)存一樣,可以高速存取數(shù)據(jù),也就是存取0和1啦,但是計(jì)算機(jī)的內(nèi)存并不是用鎖存電路來造的,因?yàn)閮?nèi)存需要很大,大則幾個(gè)G,十幾個(gè)G,而cpu緩存只需要十幾到幾十M,或者更小,從工程和商業(yè)成本的角度,內(nèi)存是用比cpu緩存速度更慢的元器件來造的。
5,有了cpu,內(nèi)存,硬盤,再來個(gè)主板,把這些硬件組合到一起就變成電腦咯~~
我簡單泛泛的談一下。計(jì)算機(jī)是由晶體管構(gòu)成,基本的電路原件就是三級管、二極管等等,這些基本原件只有兩種狀態(tài)1和0,1表示電路接通,0表示電路斷開。由基本的三級管和二級管組成最小的存儲(chǔ)單元,也就是1位,單位是BIT,這個(gè)存儲(chǔ)位可以顯示兩種狀態(tài)1和0,即電路開和關(guān)。由8個(gè)這樣的位組成一個(gè)存儲(chǔ)單元,這個(gè)存儲(chǔ)單元稱為字節(jié)(BYTE)。通過成千上萬的1和0,由嚴(yán)謹(jǐn)?shù)倪壿嬀幣判纬伤^的軟件。舉個(gè)例子,比如一副圖片是怎樣顯示在顯示器中?數(shù)字圖片由成千上萬個(gè)1和0組成,CPU從存儲(chǔ)器提取這張圖片中有規(guī)律的1和0,通過顯卡投射到顯示器的像素點(diǎn)上,從而把圖片還原出來,顯示器像素點(diǎn)就好比一個(gè)燈管,當(dāng)接收到1(電路開)時(shí)像素點(diǎn)就亮,接收到0(電路關(guān))時(shí)像素點(diǎn)就滅。同理,由1和0組成的高級軟件就會(huì)控制電源的開或關(guān),控制電腦關(guān)閉或啟動(dòng)諸如此類等等。樓主可能會(huì)問CPU為什么會(huì)進(jìn)行加減乘除運(yùn)算,CPU有一個(gè)控制單元,或者稱它為邏輯單元(邏輯單元也是由基本的三極管和二極管組成),通過邏輯單元進(jìn)行加減乘除運(yùn)算,1(電路開)+0(電路關(guān))=1(電路開),0+0=0(電路關(guān)),以此類推,通過二進(jìn)制運(yùn)算實(shí)現(xiàn)加減乘除。弄懂計(jì)算機(jī)硬件基本原理,你就不會(huì)有疑問了。
晶圓上的電路是有格式的。有許多按井字型排列的與非門陣列,是按照可編程邏輯陣列燒寫過的。
如上圖,這些通路既可以連接、也可以斷開,這叫做熔絲技術(shù)。用電壓控制。燒寫器負(fù)責(zé)執(zhí)行電路燒寫工作。按照事先編寫的程序,實(shí)現(xiàn)哪些電路是連接的,哪些電路是斷開的。這樣就形成了不同邏輯的線路。早期的燒寫是一次性的,不能更改,現(xiàn)在有了可擦除技術(shù),可以隨時(shí)更改。
芯片工作時(shí),根據(jù)指令集的指揮,建立起電信號(hào)和與非門列陣的聯(lián)系,按軟件的工作指令,控制通路的連接和斷開,實(shí)現(xiàn)運(yùn)算。
運(yùn)行程序的機(jī)器處理器擁有自己的指令集,由微程序與之對應(yīng),微程序存儲(chǔ)在處理器的控制器單元的存儲(chǔ)模塊。軟件代碼被編譯為機(jī)器指令指令,執(zhí)行機(jī)器指令時(shí)由操作系統(tǒng)控制送入內(nèi)存,并等待送入處理器執(zhí)行。當(dāng)指令被讀入處理器,通過譯碼指令的操作碼部分找到該機(jī)器指令對應(yīng)的微程序入口地址,微指令通過處理器中控制器的微程序控制器譯碼執(zhí)行,執(zhí)行過程中控制器對處理器的算數(shù)邏輯單元、內(nèi)存等硬件芯片發(fā)出高低電平信號(hào),配合處理器時(shí)鐘脈沖信號(hào)在邏輯電路的與或非中完成一條指令的執(zhí)行。軟件的執(zhí)行就是在操作系統(tǒng)的控制下很多條指令的執(zhí)行。//@過去與今天:代碼怎么來驅(qū)動(dòng)電路內(nèi)部的開或者關(guān)呢
芯片是通過半導(dǎo)體晶體管中的PN結(jié)實(shí)現(xiàn)電路開關(guān)狀態(tài)變化的,存儲(chǔ)程序是通過存儲(chǔ)芯片對存儲(chǔ)介質(zhì)進(jìn)行讀寫的。我們用的軟件,在存儲(chǔ)介質(zhì)上其實(shí)就是磁針的不同狀態(tài)(機(jī)械硬盤)或者浮置柵極存儲(chǔ)的狀態(tài)(SSD)。
眾所周知,芯片就是半導(dǎo)體材料做成上億的晶體管排列組合而成。晶體管最重要的控制開關(guān)也就是PN結(jié)。由于PN結(jié)的存在,才有了半導(dǎo)體的說法。就是正向電壓導(dǎo)通,反向電壓斷開。原理如下:
①、半導(dǎo)體的特性
所謂的PN結(jié)就是采用不同的摻雜工藝,通過擴(kuò)散作用,將P型半導(dǎo)體與N型半導(dǎo)體制作在同一塊半導(dǎo)體基片上,在它們的交界面就形成空間電荷區(qū)稱為PN結(jié)。PN結(jié)具有單向?qū)щ娦?/u>:
芯片上的晶體管正是利用這個(gè)特性來做的,比如:二極管、三極管、場效應(yīng)管。
②、計(jì)算機(jī)芯片執(zhí)行程序
計(jì)算機(jī)芯片我們看起來很聰明,但追蹤到二進(jìn)制層面,其實(shí)它只是做簡單的數(shù)學(xué)運(yùn)算(加減乘除)。其他操作都是通過轉(zhuǎn)化成數(shù)學(xué)運(yùn)算來實(shí)現(xiàn)的。在晶體管里面是如何實(shí)現(xiàn)的呢?它就是通過CMOS電路中的與非門電路來實(shí)現(xiàn)的。我們都知道與非門可以實(shí)現(xiàn)以下功能:
以上是三個(gè)最基本的邏輯運(yùn)算和晶體管組成的與非門的關(guān)系。更多的運(yùn)算都是通過這三種基本運(yùn)算組合而來。
我們購買回來的計(jì)算機(jī)通常包含了CPU、內(nèi)存、主板、硬盤、外設(shè)等。這些硬件里面都內(nèi)置了控制硬件的微碼。
有了這些微碼程序,計(jì)算機(jī)硬件就是非常順暢地協(xié)同工作了。當(dāng)我們接通電源,并按下開機(jī)按鈕,計(jì)算機(jī)主板的啟動(dòng)電路會(huì)觸發(fā)主板開始按照微碼工作。當(dāng)自檢各硬件正常后,按順序加載硬盤啟動(dòng)分區(qū)的數(shù)據(jù),操作系統(tǒng)就放置在這里。操作系統(tǒng)也就順利被載入內(nèi)存,開始工作。后面就不多說了,大家都清楚。
軟件在計(jì)算機(jī)看來就是0和1組成的數(shù)據(jù)。我們現(xiàn)在用的很多都是固態(tài)硬盤,但早年用的是機(jī)械硬盤。他們存儲(chǔ)數(shù)據(jù)的方式有些許不同。
①、機(jī)械盤存儲(chǔ)讀寫數(shù)據(jù)
機(jī)械硬盤由電機(jī)、磁頭、盤片和控制電路組成?刂齐娐坟(fù)責(zé)和主板進(jìn)行通訊,包括接收請求、讀寫緩存等。盤片上布滿微小的磁針,它是存儲(chǔ)數(shù)據(jù)的最小顆粒,磁針指向北就是1,磁針不指向北就是0。 磁頭就是磁感應(yīng)頭,電機(jī)負(fù)責(zé)盤體的轉(zhuǎn)動(dòng)和磁頭的移動(dòng)。
②、SSD盤存儲(chǔ)讀寫數(shù)據(jù)
SSD盤主要有主控制器、存儲(chǔ)單元、緩存等組成。主控制器有嵌入式處理器,負(fù)責(zé)做ECC校驗(yàn)、磨損平衡、壞塊映射、緩存控制、垃圾回收等等。存儲(chǔ)單元主要采用的是NAND閃存,NAND存儲(chǔ)數(shù)據(jù)的方式就是通過控制器對浮置柵極存儲(chǔ)進(jìn)行加壓,當(dāng)浮置柵極存儲(chǔ)電荷增多,達(dá)到4V以上,則表示已編程,當(dāng)沒有充電或者電壓閥值低于4V時(shí),就表示已擦除。同時(shí),已編程的單元,又以相位狀態(tài)不同或者電壓高低不同來表示數(shù)據(jù)的0,1。
因?yàn)镾SD盤不需要機(jī)械轉(zhuǎn)動(dòng),速度比機(jī)械盤快了很多。所以,現(xiàn)在更多人使用的是SSD盤。
總之,軟件在計(jì)算機(jī)底層就是0和1組成的指令集合。而0和1的指令集合是通過CPU芯片里面的晶體管來實(shí)現(xiàn)運(yùn)算和控制的。晶體管最重要的組件就是半導(dǎo)體PN結(jié),它幫計(jì)算機(jī)實(shí)現(xiàn)了各種邏輯運(yùn)算。至于存儲(chǔ)數(shù)據(jù),無論是機(jī)械盤還是SSD,最終都是將數(shù)據(jù)0和1對應(yīng)物理介質(zhì)的磁針狀態(tài)或者浮置柵極存儲(chǔ)狀態(tài)來對應(yīng)表示。
感謝閱讀!我是數(shù)智風(fēng),用經(jīng)驗(yàn)回答問題,歡迎關(guān)注評論。
首先得有一個(gè)讓軟件運(yùn)行的最基本硬件環(huán)境,而這個(gè)最基本的硬件運(yùn)行環(huán)境叫基礎(chǔ)守護(hù)程序硬件系統(tǒng),它監(jiān)控底層軟件參數(shù)的變化或外部給予的的變化量,當(dāng)監(jiān)測到預(yù)先設(shè)計(jì)的軟件參數(shù)變化后,守護(hù)硬件系統(tǒng)會(huì)根據(jù)設(shè)計(jì)做出相應(yīng)的反應(yīng)輸出,可以是題主說的輸出開關(guān)量,也可以通過D/A輸出模擬量。
但不管輸出如何,軟件運(yùn)行得先有一個(gè)相應(yīng)的硬件環(huán)鏡讓軟件的守護(hù)程序部分先運(yùn)行起來。比如通用PC計(jì)算機(jī)的ROM,硬件一加電,最先運(yùn)行計(jì)算機(jī)的ROM就是守護(hù)程序,由它來接受外部的指令翻譯成機(jī)器硬件能執(zhí)行的0和1機(jī)器指令,或者把硬件的控制權(quán)移交給更高級的軟件系統(tǒng),如UNlX、Dos、Windows、Mac OS等以實(shí)現(xiàn)更高級的應(yīng)用。
大家都知道在數(shù)字電路中都是高低電平的,在實(shí)際控制中也是一樣的,只有兩種狀態(tài),舉個(gè)簡單例子,當(dāng)三級管工作在截止和飽和狀態(tài)時(shí),就相當(dāng)于一個(gè)開關(guān),通過控制集電極的電平即可控制三極管的狀態(tài);在數(shù)字電路中有個(gè)叫做數(shù)模轉(zhuǎn)換器的元器件,即輸入數(shù)字量可以轉(zhuǎn)換成你想要的模擬量。如下圖
一堆人都沒回答到要點(diǎn)上,軟件是無法控制芯片電路閉合的,軟件只是控制芯片電路的閉合順序,電路的閉合都來自于初始電脈沖,它可以是鼠標(biāo)點(diǎn)擊和移動(dòng)產(chǎn)生的電信號(hào),也可以是無線電磁波,也可以來自聲卡,或者內(nèi)部計(jì)時(shí)器,一個(gè)程序的運(yùn)行就是一個(gè)初始電脈沖控制第一個(gè)晶體管電平變化開始,程序內(nèi)容則是所有晶體管的動(dòng)作順序和邏輯
芯片都有很多針腳吧?每個(gè)針腳都有定義,內(nèi)部邏輯功能都是通過硬件實(shí)現(xiàn)的,也都是固定的,將多個(gè)針腳通斷實(shí)現(xiàn)的邏輯功能的組合定義成指令,我理解的不知道對不對,一組指令集就相當(dāng)于一組接口函數(shù),我們編程就是調(diào)用這些接口函數(shù),從而控制部分針腳的通斷,從而實(shí)現(xiàn)內(nèi)部邏輯功能,我們讀取部分針腳的電壓值,將得到內(nèi)部邏輯功能實(shí)現(xiàn)的結(jié)果,按照編定的程序不停的循環(huán)這個(gè)過程,最后得到程序所需要的結(jié)果。
華裔女賭王就此沒落,生前讓所有 濃情端午粽飄香,青浦邀你“云體 上海:“云端”展現(xiàn)端午節(jié)文化內(nèi) “甜咸大戰(zhàn)”!明星藝人們喜歡什 如何做一個(gè)男人喜歡的情人(如何 當(dāng)你和你同時(shí)出現(xiàn)在同一個(gè)場景中 如何在昏暗的光線下設(shè)置快門速度 教育在生活中的價(jià)值是什么? 世上做壞事的人死后會(huì)面臨什么因 拜登就任總統(tǒng)后的第一步是什么? 同意/不同意:人生最重要的目標(biāo) 二戰(zhàn)后,德國在調(diào)和分歧方面做得 亞伯·林肯恨白人嗎? 一個(gè)編輯能把你的故事毀得有多嚴(yán) 現(xiàn)在的iPhone6還能堅(jiān)持再用一年 曹操為什么不殺司馬懿? 現(xiàn)在買房是不是最便宜的時(shí)候,現(xiàn) 我身邊的農(nóng)業(yè)銀行營業(yè)廳關(guān)了,AT 歐洲媒體評選CBA最有實(shí)力球員, 榮耀play的6+128和榮耀8X的6+128 螞蟻集團(tuán)是科技公司還是金融公司 請問機(jī)友華為mate30P與華為mate3 聽說老詹修剪一次指甲需要5小時(shí) 為什么說寶寶“一月睡二月哭三月 戴笠人稱戴老板,這個(gè)是怎么叫出 沒有工作能一次性補(bǔ)繳社保么? 我想知道定向師范生和免費(fèi)師范生 肺癌引起的咳嗽是怎樣的呢? 5000mAh電池的5G手機(jī)推薦嗎?要 恒大亞冠表現(xiàn)“差強(qiáng)人意”,你覺