先說一下半導體,啥叫半導體?就是介于導體和絕緣體中間的一種東西,比如二極管。
電流可以從A端流向C端,但反過來則不行。你可以把它理解成一種防止電流逆流的東西。
當C端10V,A端0V,二極管可以視為斷開。
當C端0V,A端10V,二極管可以視為導線,結果就是A端的電流源源不斷的流向C端,導致Zui后的結果就是A端=C端=10V。
等等,不是說好的C端0V,A端10V么?咋就變成結果是A端=C端=10V了?你可以把這個理解成初始狀態,當Zui后穩定下來之后就會變成A端=C端=10V。
文科的童鞋們對不住了,實在不懂問高中物理老師吧。反正你不能理解的話就記住這種情況下它相當于導線就行了。
2
利用半導體的這個特性,我們可以制作一些有趣的電路,比如【與門】。
我們把這個裝置成為【與門】,把有電壓的地方計為1,0電壓的地方計為0。至于具體幾V電壓,那不重要。
也就是AB必須同時輸入1,輸出端Y才是1;AB有一個是0,輸出端Y就是0。
其他還有【或門】【非門】和【異或門】,跟這個都差不多,或門就是輸入有一個是1輸出就是1,輸入00則輸入0。
非門也好理解,就是輸入1輸出0,輸入0輸出1。
異或門難理解一些,不過也就那么回事,輸入01或者10則輸出1,輸入00或者11則輸出0。(即輸入兩個一樣的值則輸出0,輸入兩個不一樣的值則輸出1)。
這幾種門都可以用二極管或者三極管做出來,具體怎么做就不演示了,有興趣的童鞋可以自己試試。當然實際并不是用二極管三極管做的,因為它們太費電了。實際是用場效應管(也叫MOS管)做的。
3
然后我們就可以用門電路來做CPU了。當然做CPU還是挺難的,我們先從簡單的開始:加法器。
加法器顧名思義,就是一種用來算加法的電路,Zui簡單的就是下面這種。
AB只能輸入0或者1,也就是這個加法器能算0+0,1+0或者1+1。
輸出端S是結果,而C則代表是不是發生進位了,二進制1+1=10嘛。這個時候C=1,S=0。
費了大半天的力氣,算個1+1是不是特別有成就感?
那再進一步算個1+2吧(二進制01+10),然后我們就發現了一個新的問題:第二位需要處理第一位有可能進位的問題,所以我們還得設計一個全加法器。
每次都這么畫實在太麻煩了,我們簡化一下。
也就是有3個輸入2個輸出,分別輸入要相加的兩個數和上一位的進位,然后輸入結果和是否進位。
然后我們把這個全加法器串起來:
我們就有了一個4位加法器,可以計算4位數的加法也就是15+15,已經達到了幼兒園中班水平,是不是特別給力?
4
做完加法器我們再做個乘法器吧,當然乘任意10進制數是有點麻煩的,我們先做個乘2的吧。
乘2就很簡單了,對于一個2進制數數我們在后面加個0就算是乘2了。
比如:
5=101(2)
10=1010(2)
以我們只要把輸入都往前移動一位,再在Zui低位上補個零就算是乘2了。具體邏輯電路圖我就不畫,你們知道咋回事就行了。
那乘3呢?簡單,先位移一次(乘2)再加一次。乘5呢?先位移兩次(乘4)再加一次。
所以一般簡單的CPU是沒有乘法的,而乘法則是通過位移和加算的組合來通過軟件來實現的。這說的有點遠了,我們還是繼續做CPU吧。
現在假設你有8位加法器了,也有一個位移1位的模塊了。串起來你就能算(A+B)×2了!激動人心,已經差不多到了準小學生水平。
那我要是想算A×2+B呢?簡單,你把加法器模塊和位移模塊的接線改一下就行了,改成輸入A先過位移模塊,再進加法器就可以了。
啥????你說啥???你的意思是我改個程序還得重新接線?
- 西門子斷路器的工作原理和主要結構 2024-11-21
- 西門子低壓電氣基礎知識大全 2024-11-21
- 西門子PLC控制柜各部分介紹 2024-11-21
- 西門子plc時鐘的誤差調整 2024-11-21
- 西門子變頻器干擾現象怎么破?四大方法助你輕松解決 2024-11-21
- 西門子雙電源自動轉換開關分PC級和CB級,兩者如何區分?又該怎么選用 2024-11-21
- 西門子萬用表的使用方法與口訣 2024-11-21
- 西門子PLC出現問題,怎么快速查找原因 2024-11-21
- 西門子PLC模擬量信號如何轉換,編程必懂 2024-11-21
- 18種西門子電動機降壓啟動電路圖 2024-11-21
- 西門子PLC開關量、模擬量、脈沖量三者之間的關系 2024-11-21
- 還搞不懂西門子PLC模擬量的接線?Zui全的解答都在這了 2024-11-21
- 有刷有齒電機的特點? 2024-11-21
- 什么是西門子低速有刷電機?有何特點? 2024-11-21
- 什么是西門子有刷電機 2024-11-21
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415