中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 元件/連接器 > 設(shè)計(jì)應(yīng)用 > 電子元器件如何實(shí)現(xiàn)CPU的運(yùn)算?

        電子元器件如何實(shí)現(xiàn)CPU的運(yùn)算?

        作者: 時間:2025-05-27 來源:硬件筆記本 收藏

        我們都知道,人類進(jìn)行運(yùn)算的本質(zhì)是查表,并且我們存儲的表是有限的。計(jì)算機(jī)也是查表嗎?答案是否定的。

        本文引用地址:http://www.antipu.com.cn/article/202505/470870.htm

        本文來說說是如何計(jì)算1+1的,另外關(guān)于加法的視頻請移步此處,如何進(jìn)行數(shù)字加法。CPU是一塊超大規(guī)模的集成電路,而集成電路是由大量晶體管等封裝而成的。

        所以,探究計(jì)算機(jī)的計(jì)算能力,先要從晶體管的功能入手。


        晶體管如何表示0和1

        第一代計(jì)算機(jī)使用的是電子管和二極管等元件,利用這些元件的開關(guān)特性實(shí)現(xiàn)二進(jìn)制的計(jì)算。

        然而電子管元件有許多明顯的缺點(diǎn)。例如,在運(yùn)行時產(chǎn)生的熱量太多,可靠性較差,運(yùn)算速度不快,價格昂貴,體積龐大,這些都使計(jì)算機(jī)發(fā)展受到限制。于是,晶體管開始被用來作計(jì)算機(jī)的元件。

        晶體管利用電訊號來控制自身的開合,而且開關(guān)速度可以非常快,實(shí)驗(yàn)室中的切換速度可達(dá)100GHz以上。

        第二代電子計(jì)算機(jī)時代,使用了晶體管以后,電子線路的結(jié)構(gòu)大大改觀。

        1947年貝爾實(shí)驗(yàn)室的肖克利等人發(fā)明了晶體管,又叫做三極管。下圖是晶體管的電路符號。需要說明的是,晶體管有很多種類型,每種類型又分為N型和P型,下圖中的電路符號就是一個PNP三極管,要判斷三極管類型請移步,PNP與NPN兩種三極管使用方法。


        三極管電路有導(dǎo)通和截止兩種狀態(tài),這兩種狀態(tài)就可以作為“二進(jìn)制”的基礎(chǔ)。從模電角度來說晶體管還有放大狀態(tài),有關(guān)內(nèi)容請移步:告別三極管放大狀態(tài)的泥潭。但是我們此處考慮的是晶體管應(yīng)用于數(shù)字電路,只要求它作為開關(guān)電路,即能夠?qū)ê徒刂咕涂梢粤恕?/span>

        如上圖所示,當(dāng)b處電壓>e處電壓時,晶體管中c極和e極截止;當(dāng)b處電壓<e處電壓時,晶體管中c極和e極導(dǎo)通。

        這只是一個簡化說明,實(shí)際上從模電角度分析,導(dǎo)通和截止的要求是兩個PN節(jié)正向偏置和反向偏置,還要考慮c極電壓。但在實(shí)際的數(shù)字電路中,e極電壓和c極電壓一般恒定,要么由電源提供、要么接地,所以我們可以簡單記為“晶體管電路的通斷就是由b極電壓與恒定的e極電壓比較高低決定”。

        就上面這個三極管管而言,高電平截止,低電平導(dǎo)通。假如此時,我們把高電平作為“1”,低電平作為“0”。那么b極輸入1,就會導(dǎo)致電路截止,如果這個電路是控制計(jì)算機(jī)開關(guān)機(jī)的,那么就會把計(jì)算機(jī)關(guān)閉。這就是機(jī)器語言的原理。

        實(shí)際用于計(jì)算機(jī)和移動設(shè)備上的晶體管大多是MOSFET(金屬-氧化物半導(dǎo)體場效應(yīng)晶體管),它也分為N型和P型,NMOS就是指N型MOSFET,PMOS指的是P型MOSFET。MOS管基礎(chǔ)內(nèi)容請移步這里,MOS管基本認(rèn)識。注意MOS中的柵極Gate可以類比為晶體管中的b極,由它的電壓來控制整個MOS管的導(dǎo)通和截止?fàn)顟B(tài)。

        NMOS管與PMOS管電路符號如下圖:


        NMOS在柵極高電平的情況下導(dǎo)通,低電平的情況下截止。所以NMOS的高電平表示“1”,低電平表示“0”;PMOS相反,即低電平為“1”,高電平為“0”。到了這個時候,你應(yīng)該明白“1”和“0”只是兩個電信號,具體來說是兩個電壓值,這兩個電壓可以控制電路的通斷。


        門電路

        一個MOS只有一個柵極,即只有一個輸入;而輸出只是簡單的電路導(dǎo)通、截止功能,不能輸出高低電壓信號,即無法表示“1”或“0”,自然無法完成計(jì)算任務(wù)。此時就要引入門電路了(提示:電壓、電平、電信號在本文中是一回事)。

        門電路是數(shù)字電路中最基本的邏輯單元。它可以使輸出信號與輸入信號之間產(chǎn)生一定的邏輯關(guān)系。門電路是由若干二極管、晶體管和其它組成的,用以實(shí)現(xiàn)基本邏輯運(yùn)算和復(fù)合邏輯運(yùn)算的單元電路。這里只介紹最基礎(chǔ)的門電路:與門、或門、非門、異或門。

        1 與門

        與門電路是指只有在一件事情的所有條件都具備時,事情才會發(fā)生。

        下面是由MOS管組成的電路圖。A和B作為輸入,Q作為輸出。

        例如A輸入低電平、B輸出高電平,那么Q就會輸出低電平;轉(zhuǎn)換為二進(jìn)制就是A輸入0、B輸出1,那么Q就會輸出0,對應(yīng)的C語言運(yùn)算表達(dá)式為0&&1=0。


        2 或門

        或門電路是指只要有一個或一個以上條件滿足時,事情就會發(fā)生。

        下面是由MOS管組成的電路圖。A和B作為輸入,Q作為輸出。

        例如A輸入低電平、B輸入高電平,那么Q就會輸出高電平;轉(zhuǎn)化為二進(jìn)制就是A輸入0、B輸出1,那么Q就會輸出1,對應(yīng)的C語言運(yùn)算表達(dá)式為0||1=1。


        3 非門

        非門電路又叫“否”運(yùn)算,也稱求“反”運(yùn)算,因此非門電路又稱為反相器。下

        面是由MOS管組成的電路圖。非門只有一個輸入A,Q作為輸出。

        例如A輸入低電平,那么Q就會輸出高電平;轉(zhuǎn)換為二進(jìn)制就是A輸入0,那么Q就會輸出1;反之A輸入1,Q就會得到0,對應(yīng)的C語言運(yùn)算表達(dá)式為!0=1。


        4 異或門

        異或門電路是判斷兩個輸入是否相同,“異或”代表不同則結(jié)果為真。即兩個輸入電平不同時得到高電平,如果輸入電平相同,則得到低電平。

        下面是由MOS管組成的電路圖。A和B作為輸入,Q作為輸出。

        例如A輸入低電平、B輸入高電平,那么Q輸出高電平;轉(zhuǎn)換為二進(jìn)制就是A輸入0,B輸出1,那么Q就會輸出1,對應(yīng)的C語言運(yùn)算表達(dá)式為0^1=1。


        通過這些門電路,我們可以進(jìn)行布爾運(yùn)算了。


        半加器和全加器

        通過門電路,我們可以進(jìn)行邏輯運(yùn)算,但還不能進(jìn)行加法運(yùn)算。要進(jìn)行加法運(yùn)算,還需要更復(fù)雜的電路單元:加法器(加法器有半加器和全加器)。加法器就是由各種門電路組成的復(fù)雜電路。

        假如我們要實(shí)現(xiàn)一個最簡單的加法運(yùn)算,計(jì)算二進(jìn)制數(shù)1+1等于幾。我們這時候可以使用半加器實(shí)現(xiàn)。半加器和全加器是算術(shù)運(yùn)算電路中的基本單元,它們是完成1位二進(jìn)制相加的一種組合邏輯電路;這里的1位就是我們經(jīng)常說的“1byte=8bit”里的1bit,即如果我們想完成8位二進(jìn)制的運(yùn)算就需要8個全加器 。半加器這種加法沒有考慮低位來的進(jìn)位,所以稱為半加。下圖就是一個半加器電路圖。


        半加器由與門和異或門電路組成,“=1”所在方框是異或門電路符號,“&”所在方框是與門電路符號。這里面A和B作為輸入端,因?yàn)闆]有考慮低位來的進(jìn)位,所以輸入端A和B分別代表兩個加數(shù)。輸出端是S和C0,S是結(jié)果,C0是進(jìn)位。

        比如,當(dāng)A=1,B=0的時候,進(jìn)位C0=0,S=1,即1+0=1。當(dāng)A=1,B=1的時候,進(jìn)位C0=1,S=0,即1+1=10。這個10就是二進(jìn)制,換成十進(jìn)制就是用2來表示了,即1+1=2。到了這里,你應(yīng)該明白了晶體管怎么計(jì)算1+1=2了吧。

        然后我們利用這些,再組成全加器。下面是一個全加器電路圖,同樣只支持1bit計(jì)算。Ai和Bi是兩個加數(shù),Ci-1是低位進(jìn)位數(shù),Si是結(jié)果,Ci是高位進(jìn)位數(shù)。


        如果我們將4個加法器連接到一起就可以計(jì)算4位二進(jìn)制,比如計(jì)算2+3,那么4位二進(jìn)制就是0010+0011,下表就是利用加法器計(jì)算的值。和普通加法一樣,從低位開始計(jì)算。加數(shù)A代表0010,B代表0011。


        結(jié)果Si:0101,就是十進(jìn)制5,加法器實(shí)現(xiàn)了十進(jìn)制運(yùn)算2+3=5。

        結(jié)語

        現(xiàn)在我們可以想到,CPU的運(yùn)算單元是由晶體管等各種基礎(chǔ)構(gòu)成門電路,在由多個門電路組合成各種復(fù)雜運(yùn)算的電路,在控制電路的控制信號的配合下完成運(yùn)算,集成的電路單元越多,運(yùn)算能力就越強(qiáng)。

        最后,本文想表達(dá)的觀點(diǎn):用一堆開關(guān)做成一個CPU?也是一篇推薦文章的題目。




        關(guān)鍵詞: CPU 運(yùn)算原理 電子元件

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉