門電路

8.3.1 門電路的重要意義

 

 

 

 

 

 

 

 

 

 

 

上面這圖在2.1.2中就提過,從這張圖中可以看出,門電路在計算機組成中所處的重要位置。

 

8.3.2 門電路的作用和分類

1)門電路的作用

門電路的作用就是,數字電路會使用門電路進行算術和邏輯運算。

 

a)人做算數運算和邏輯運算

·人做算數運算:1098+1234 = ?

·人做邏輯邏輯運算

與運算:下雨  出去  就帶傘,下雨與出去同時滿足就帶傘,這就是與運算。

或運算:坐飛機  做火車從深圳去北京,這就是或運算。

非運算:不吃飯就是吃飯的運算。

 

b)計算機(數字電路)也要進行算術和邏輯運算

比如以基本的與、或、非爲例:

與:1(2.5v)  &  1(2.5v)  = 1(2.5v)

或:1(2.5v)  |  0(0v)    = 0(0v)

非:            (2.5v) = 0(0v)

 

在計算機(數字電路)中,0/1爲對應的0v2.5v電信號,需要使用門電路,實現對數字電信號表示的二進制數據進行運算,因此,門電路是構成計算機的基本數字電路。

 

 

2)常見的門電路列舉

與門、或門、非門、與非門、或非門、與或非門、異或門等幾種,數字電路使用這些門電路,就可以實現算術運算和邏輯運算。

 

 

8.3.3 三極管是如何構建門電路

接下來我們會以“與非門”爲例,介紹三極管是如何構建“與非門”的,其它的門電路都是以同樣的方式構建,只要你明白這個例子,你也就大概的瞭解了,所有的這些個門電路是如何通過三極管構建的。

 

1)與非邏輯理解

爲了講明白“與非”的邏輯,我們需要先看下“與”的邏輯,對比理解就能知道“與非”是什麼含義了。

 

a)生活中的例子

·“與”的邏輯:今天 小明來  小花來 我就出去郊遊。

·“與非”的邏輯:今天 小明來  小花來 我就  出去郊遊,不就是“非”。

 

以上的邏輯是由人腦所實現的邏輯運算,人實現邏輯運算的過程非常自然,如果不告訴你這就是邏輯運算,你都不知道這就是邏輯運算。

 

b)計算機的例子

·“與”邏輯:

-12.5v) 與  12.5v)  輸出 12.5v

- 12.5v) 與  00v)  輸出 02.5v

 

·“與非”邏輯:

- 非(12.5v) 與 12.5v))  輸出00v

- 12.5v) 與  00v)  輸出 02.5v

以上數字電信號形式存在的數據,需要通過“與非門”電路才能實現相應的與非運算。

 

2與非門”電路符號

 

 

 

 

 

理工科的同學對於邏輯運算應該是比較熟悉的,不熟悉的同學可以關注我們後面的《數字電路》的課程,我們會對邏輯運算進行深入講解,並詳細介紹門電路是如何實現這些邏輯運算的。

 

3與非門的三極管組成圖

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)分析電路圖,看看三極管組成的“與非門”電路是如何進行邏輯運算的

 

a)例1

 

                              

0/1 表示: !  ( 1   &    0 )  =   1

          電壓表示: 2.5v &    0v) =  2.5v~5v

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)例2

 

                         

0/1 表示: !  ( 1   &    1 )  =   0

      電壓表示: 2.5v &    2.5v) =  0v

 

 

 

 

例子2請自行分析,不過你會發現分析起來很困難,並不像例子1那樣容易,至於爲什麼是這樣呢?例1中只用到了三極管的開關功能,但是例2還有到了三極管的放大功能,大家不會分析三極管的放大功能,之前講三極管時,我們也沒有詳細講三極管放大功能的具體分析,因此相比開關功能來說,放大功能比較難分析些。

 

我們在後續的《模擬電路》這門課中,我們詳細的講清楚了三極管的“放大、飽和、截止”三個狀態後,再來分析這個這個電路,你就會分析了,如果對三極管工作原理非常感興趣的同學請看我們後面的《模擬電路這門課》。

 

大家不要想着搞清楚所有門電路的三極管組成電路,原理都是大同小異,如果你不是做微電子的,這麼做沒有意義。

 

 

 

8.4 觸發器、組合電路和時序電路

8.4.1 觸發器、組合電路、時序電路在計算機構建中地位

 

 

 

 

 

 

 

 

 

8.4.2 觸發器

1)觸發器的

1)功能:記憶功能。

就是當某些條件下滿足時,觸發器的輸出可以一直保持1(高電平)或者0(低電平),這個有什麼好處呢?

 

2)什麼是記憶作用呢

好處就是使用觸發器可以構建出寄存器、緩存、內存等。

 

 

 

 

 

  

 

 

 

 

 

 

 

 

有關觸發器構建存儲器的知識,在後面緊接着講的存儲器時還會再次介紹。

 

2)門電路構建觸發器舉例

比如下圖的RS觸發器,由兩個“與非門”組的,那麼門電路是如何構建觸發器的呢。

 

 

 

 

 

 

 

 

 

 

 

這裏只是希望通過RS觸發器,讓大家瞭解門電路是如何構建出觸發器的,重點並並不是介紹RS觸發器,爲了避免問題複雜化,我們這裏不在講解RS觸發器的工作原理,如果你確實想學習觸發器的知識,請看後續的《數字電路》課程。

3)對於觸發器知識

其實除了RS觸發器外,還有D觸發器、JK觸發器等,對於偏向編程開發的it工作者來說,瞭解到這個層級就ok了,但是對於微電和硬件工程師來說就必須深入理解,還是你那句話,如果你對觸發器工作原理感興趣,請看我們後面的《數字電路》課程,裏面會有詳細講解。

8.4.3 組合電路

1)組合電路的作用

組合電路的用途有很多方面,爲了能讓大家對快速理解組合電路的用途,這裏舉了一個3-8譯碼器,這樣一個簡單的組合電路例子,通過這個例子大家就能快速理解組合電路使用幹嘛的。

 

238譯碼器

1)3-8譯碼器功能

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

這張表已經非常清楚的描述了3-8譯碼器的功能,功能就是根據輸入來選擇某根線輸出,比如輸入011(3)的電平信號,輸入後,譯碼器發現輸入的二進制數爲3,表示要選擇第三根線輸出1(2.5v),其它線全部輸出0。

 

2)其它譯碼器

譯碼器除了3-8譯碼器外,4-16譯碼器外,還有n-2n等等譯碼器,輸入輸出線的數量需要根據自己使用情況來定。

 

4)3-8譯碼器應用舉例:使用3-8譯碼器進行尋址

如果我希望從內存地址爲011這個地址的字節都數據,那麼就一定要通過地址線發送地址給內存,內存根據輸入的地址選擇011地址對應的這個地址,我們以只有8個字節的內存爲例,講解3-8譯碼器是如何實現尋址的,對於只有8字節的內存來說,

a)地址數量:既然內存只有8字節,那麼每個地址對應一個地址,只需要8個地址

     b)地址線根數:只有8個地址,那麼二進制的地址範圍爲000-111,那麼只需要三根地址線就能表示000-111的地址。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3)門電路如何構建3-8譯碼器這個組合電路

 

 

從這張圖中可以看出,3-8譯碼器就是由各種門電路組成的,通過這張圖只是想告訴大家,3-8譯碼器這個組合電路,是如何通過門電路構成的。我們這裏就不再分析這個3-8譯碼器具體是如何工作。

 

 

8.4.4 時序電路

(1)時序電路的作用

要說清楚時序電路是幹嘛的,先得弄清楚時序是個啥東西

 

1)先從人的時序說起

a)人也是需要時序的

·人的工作和生活也是有時序的,人的時序其實就是時間安排

·只是我們很少把生活中的時間安排以時序的方式來看待

·人的時序安排,基本是以小時爲單位進行,時序安排就是工作時間表。

 

b)以工作爲例,看時序的重要性

·我們平時的工作是由很多人和組織共同而成的

·各自嚴格按照自己的工作時序進行做事,就能和其它人或者組織精確的配合上,否者就會紊亂,比如錯過了重要客戶的約見等。

 

c)生活中時序舉例

 

 

 

 

 

 

 

 

 

 

 

 

 

d)對於時序來說,統一時鐘的重要性

爲了讓每個人或組織時序,能夠準確的對上,必須要有統一的時鐘參考,這也是以前爲什麼總是要對錶的原因,不對錶的話,兩個手錶的快慢不一樣,各自參考時間標尺就會不同,肯定配合不上,特別是在打仗的時候,發起總攻時,對錶是必須的,不然這邊已經總攻了,那邊還在乾等着。

人的時序是以人的時鐘(24小時)進行安排的,最小單位爲S,比S還小的時間單位對於人來說已經沒有什麼意義了,因爲人對s以下的時間敏感度不高。

 

e)再看看時序

時序就是各單元(比如人)工作的“時間順序”,因爲所有人和組織的時序,都是參考統一的時鐘進行安排的,那麼各自只要嚴格準守自己的時序工作,就能很好的配合上。

 

2)計算機中的時序

a)計算機時序的作用與重要性

計算機由各種不同的電子部件組成,所以每個部件需要有自己的工作時序,各自的時序是按照統一的“時鐘”制定的,各部件只要嚴格準守自己的時序,才能嚴密的配合工作,否者就會紊亂,導致計算機不能正常工作。


 

 

b)計算機中時序舉例子

比如計算機的兩個芯片要通信,雙方就需要遵守一定時序安排才能通信成功。

 

 

 

 

 

 

 

 

 

 

數據的傳輸就是數據的讀寫,只有當發出讀寫控制後,纔會進行數據傳輸,才能通信成功,因此讀寫控制時序和數據傳輸時序必須要嚴密對上,否者通信就會因爲時序紊亂而失敗。上面的這張時序圖只是爲了讓大家便於理解而畫的僞時序圖,有關時序,我們會在後續嵌入式課程中(特別是單片機)詳細講解。

 

c)同樣,對於計算機的時序來說,統一時鐘也非常重要

·各部件(芯片)遵照統一時鐘進行安排的時序,才能嚴密配合上

·人使用的時鐘是不能給計算機使用的,因爲人的時鐘精度只能到S,但是計算機工作的速度是ns級別,因此需要ns級別的時鐘

·計算機的時鐘就是晶振,晶振每隔xxns就會震動一次,產生一個時鐘脈衝,這個時鐘脈衝就是計算機時鐘的最小時間位。

 

3)時序電路重要作用

a)什麼是時序電路

時序電路就是根據輸入的統一鍾(晶振)時鐘爲參考,爲相應電子部件(芯片)產生該要的時序,根據該時序,每隔固定的時間(xxxns)發出一個高或低電平脈衝,別人這個脈衝信號的指示,就知道是要動作來配合你的工作了。

 

 

 

 

 

 

 

 

b)分頻和倍頻

·通過s/m/h理解分頻和倍頻

-分鐘m的60倍頻就是h

-分鐘m的60分頻就s

·時序電路的分頻和倍頻

時序電路爲了產生新頻率的時序脈衝信號,產生新頻率的脈衝,關鍵就是分頻和倍頻,有關時序電路的分頻和倍頻,會在後續的的單片機課程中詳細講解。

 

c)幾乎每個芯片都有自己的時序電路

因爲都需要根據輸入的時鐘信號,產生屬於自己的“時序”脈衝。


2)時序電路組成

時序電路是由門電路和觸發器共同組成,比如下圖74LS164(74LS164主要用在移位寄存器中)時序芯片時序電路。

 

同樣我們這裏不講解這個時序電路的具體工作原理,有關時序電路的工作原理,會在後續的《數字電路》課程中會涉及。

 

3)時序電路知識點要求

微電工程師:非常清楚時序電路的工作原理

硬件工程:深入瞭解它的各個參數指標(也就是電器特性),學會如何使用這個硬件芯片。

嵌入式軟件工程:時序電路都會有相應時序圖,需要根據時序圖寫程序控制硬件。

 

74LS164產生的時序:

 

時序圖其實並不複雜,但是很多初學的同學還是感覺很複雜,看懂時序圖需要一定的基本功,在後面的單片機和linux嵌入式課程中,都會講解時序相關度的課程,通過後面的學習,只要看懂了一兩個個時序圖,當你掌握了其中的門道後,你會發現時序圖原來也不過如此。

 

8.4.5 觸發器、組合電路和時序電路的對比

1)共同點:都由門電路組合而成,門電路再由三極管構成。

 

2)區別

1)觸發器:具有記憶功能

2)組合電路:不具有記憶功能,爲了某個特定的功能,純粹使用門電路組合構成

3)時序電路:用於設計計算機(主要是各類芯片)用的時序電路,由門電路、觸發器共同構成

 

 

 

 

 

 

 

 

 

 

 

 

8.5 cpu如何由觸發器、組合電路、時序電路構成的

8.5.1 回憶cpu中的結構

 

 

 

 

 

 

 

 

 

 

 

在介紹計算機結構時,我們就瞭解到CPU是由運算器、控制器和寄存器組等這幾個基本功能單元組成,

運算器:由組合電路實現。

控制器:由組合電路+時序電路實現

寄存器組:由觸發器實現

 

8.5.2 CPU的運算器

運算器最核心的就是ALU(Arithmetic Logical Unit),ALU分成兩部分,

算術運算單元:加法器

邏輯於運算單元:邏輯運算器

 

加法器和邏輯運算器均由組合電路的全加器實現。

 

1)全加器

全加器專門實現二進制的加法運算,有了加法運算,其它的減法、除法、乘法等都能通過加法實現。

a)只進行一位運算的全加器

下圖就是一個只進行一位相加運算的全加器,全加器是一個組合電路。

   

AB:加數、被加數

Cin:前一位相加後的進位

Sum:相加後的和

Cout:相加後的進位

 

 

 

 

 

 

b)實現兩位二進制數相加的全加器

 

比如01+11,必須使用兩個上面的全加器級聯,級聯的時候將上一級的Cout和下一級的Cin連在一起,

 

    

 

c)三位或以上的多爲全加器

同理進行多次級聯。

 

2)半加器

與全加器對應的還有一個半加器,半加器和全加器的區別就是,半加器不計算進位,但是全加器需要計算進位。

 

8.5.3 控制器

由組合電路+時序電路實現,其中控制器最核心的部分就是譯碼器,譯碼器就有時序電路構成,控制器比較複雜,這裏製作簡單介紹。

 

 

 

 

 

 

 

 

 

 

8.5.4寄存器組

功能:小容量臨時存儲器,臨時存儲數據,供CPU快速訪問用。

組成:寄存器組由很多寄存器疊合而成,每個寄存器由觸發器組成,一個觸發器就是一個bit位。

 

在後面介紹存儲器時,還會介紹寄存器相關的內容。

 

8.5.5 有關cpu內部組成知識的掌握

微電工程師的:需要設計和集成cpu芯片,要求對cpu內部結構非常清楚。

硬件工程師(電路設計):瞭解內部結構,清楚cpu的電氣特性和各項指標。

軟件工程師:特別是嵌入式軟件工程師,需要清楚cpu工作原理,關鍵是並瞭解該cpu的指令系統,也就是了解彙編,彙編學會了計算機的工    作原理也就清楚了。

純軟件開發:比如web,移動APP,遊戲等軟件開發,一個合格的IT工程師,也必須要了解CPU的工作原理,最好的方式就是通過學習彙編來    瞭解,因爲彙編指令是完全遵照CPU的工作原理進行設計的,因此彙編清楚了,計算機的工作原理也就清楚了。

 

在後續單片機、stm32和arm裸機課程,對於cpu的工作原理會講解,希望深入學習,可以看後面的課程



作者:佳嵌工作室

51CTO免費視頻地址:http://edu.51cto.com/lecturer/12941022.html

課程進度諮詢QQ羣:528495268

轉載請說明源地址。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章