1 / 29

數位邏輯與實習

數位邏輯與實習. 曾建勳 Week 2. . 補數 : 計算機系統為了簡化減法及邏輯運算所採用的方法.  對於每一個以 r 為基底的系統,會 有兩種補數形式:. c. 基底的補數也就是 r 的補數 ( r -complement) = N 以及基底減 1 的補數也就是 ( r  1) 的補數 ( ( r  1) complement)= 。. c. (N-1). ■ ( r  1) 的補數. 範例:. 範例:. 1111111. ( 無號 ) 補數. ■ r 的補數. 範例:基底 -10.

Download Presentation

數位邏輯與實習

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 數位邏輯與實習 曾建勳 Week 2

  2. 補數: 計算機系統為了簡化減法及邏輯運算所採用的方法  對於每一個以r為基底的系統,會有兩種補數形式: c 基底的補數也就是 r 的補數 (r-complement) = N以及基底減1的補數也就是 (r 1)的補數 ((r 1) complement)= 。 c (N-1) ■(r 1)的補數 範例: 範例: 1111111

  3. (無號)補數 ■ r 的補數 範例:基底-10 = 999999-012398+1 = 999999-246700+1 範例:基底-2 = 0010011+1 = 1001000+1

  4. (無號)補數 ■ 補數的減法 (亦可適用r-1補數) (適用於符號大小系統: 先比較符號與數字大小)

  5. (無號)補數 範例 1.5 利用10的補數法求72532  3250。 範例 1.6 利用10的補數法求 3250 – 72532 法1: 沒有末端進位。 法2: M<N。 c -(72531-3250)=-(72531+3250 )= -(72532+96750)=-69282

  6. (無號)補數 範例 1.7 已知兩個二進數 X = 1010100 及 Y = 1000011 ,試利用2的補數法表示出減法: (a) X – Y (a) ;(b) (b) Y X。 沒有末端進位。因此,答案 Y – X =  (1101111之 2 的補數) =  0010001.

  7. (無號)補數 無號數的減法也可以用 (r 1) 的補數來做。要記住的是 (r  1)的補數是比 r的補數少1。 範例 1.8 利用1的補數法來求例題1-7的結果。 (end-around carry) 沒有末端進位。因此,答案 Y – X =  (1101110之 1 的補數) =  0010001.

  8. 二進位有號數 •  要表示負整數,我們需要一個負值的表示式。 • 一般的算術,都將負數用一個負號表示,而正數用正號來表示。 • 慣例將符號位元以0代表正數,1代表負數。 • 電腦上之算數運算: 符號補數系統(signed-complement system)負數是以其補數來表示 範例: = -9  表1-3列出三種表示式之所有的4位元二進位有號數。

  9. 二進位有號數

  10. 二進位有號數 ■算術的加法 在符號大小系統中兩個數字的加法與一般算術的規則一樣。如果符號相同,我們將兩個數字的大小相加,然後將所得的和給定相同的符號。如果符號不同,我們將數字較大者減去數字較小的數,然後將結果給定與較大數相同的符號。E.g. (+25)+(-37)=-(37-25)=-12 範例: 有號數補數系統(不需做比較或減法,只有加法) • 帶有負數的兩個有號二進數加法可以被表示成有號數2的補數形式之兩個數字,包含它們的符號位元做加法。超出符號位元位置的進位捨去。 • 經由加法後若所得的和是負數,則它是在2的補數形式。 2s’ of -6 2s’ of -6 2s’ of -13 2s’ of -13 2s’ of -7 2s’ of -19

  11. 二進位有號數 ■ 算術的減法  以2的補數形式表示: • 將減數取2的補數 (包含符號位元) 並且與被減數相加 (包含符號位元)。 • 超過符號位元位置所產生的進位則捨去。(注意:要避免溢位產生, n位+n位=n+1位) +A-B = +A+(-B) = +A+B’ -A-B = A’+B’ -A-(-B) = A’-B’ = A’+(B’)’ = A’+B +A-(-B) = A+B 範例: ( 6)  ( 13) (11111010  11110011) (11111010 + 00001101) 00000111 (+ 7)

  12. 二進位碼 ■ BCD 碼  以二進位編碼來表示十進位數 (binary-coded decimal),通稱為BCD碼。 • BCD碼是8,4,2,1,碼 • 表1-4列有一個十進位數元對應一個4位元碼。 • 一個帶有 k個數元的十進數則需要4k 個位元的BCD碼來表示, i.e. 4 個1組。 • 例如,十進數396可用12個位元之BCD碼0011 1001 0110來表示,每一群4個位元代表一個十進位數元。 • 在BCD碼中一個十進數只有0到9之間有著相對應的二進位數字,BCD碼中大於10的部分雖然它們每個數字都有不同的0與1的二進位組合,但是,1010到1111(總共6組)的二進位組合對於BCD碼並沒有意義。 • 二進位和大於(1001)BCD,必須再加上(0110)BCD=(6)10 (MSB) =111

  13. 二進位碼 範例: 以十進數185來看其相對應的BCD碼及二進位碼: coding conversion ■BCD 加法 = = = 6 6

  14. 二進位碼 範例: 以 184 + 576 = 760為例,利用BCD碼之加法: = ■ 十進位算術 以 (+375) + ( 240) = + 135 在有號數10的補數系統的加法為例: 第二個數字中最左位置的9代表一個負號,故知9760是0240之10的補數。兩數相加並且將末端進位去掉後得到結果為 +135。

  15. e.g. (6)10=(0110)BCDx8421(數元間的加權值) 二進位碼 ■ 其他十進位碼

  16. 二進位碼 ■ 葛雷碼 (gray code): 循環數碼,相鄰數字碼 值之間 僅會有一個位元是 變動的, 是 一種「變動最少」的數碼 。 ■ 在I/O設備與A/D轉換等的 應用 上可得到理想的效果。 ■ 化簡邏輯電路所採用的K-Map也 是運用葛雷碼來進行

  17. 它使用7個位元來編碼128=2 個字元,如表1-7所示。 ASCII碼的7個位元被設計為由 b1到 b7,且 b7 為最高有效位元 (MSB)。 ASCII碼包含: 94個可以列印的書寫字元,及 34個用來做為不同控制功能而不能列印的字元。 書寫字元包含26個大寫字元 (A到Z)、26個小寫字元 (a到z)、10個數字 (0到9),及32個特殊可列印的字元,如 %、* 及 $。) 34個控制字元在ASCII表中以縮寫的名稱來表示,它們再次地以它們的功能名稱被列在下面的表格中。控制字元被用來命令資料且安排列印,共有三種形式的字元:格式效果字元、訊息分隔字元及通訊控制字元。 通訊控制字元在無線終端機間本文的傳送非常有用。例如,通訊控制字元STX (本文的起始) 及ETX (本文的結束),可以用來做為經由電話線傳輸資料時一個本文訊息的編制。 ASCII碼(American Standard Code for Information Interchang,美國資訊交換標準碼) 7

  18. ASCII字元碼 ■ASCII 字元碼

  19. ASCII字元碼 ■ASCII 字元碼

  20. ASCII字元碼 ■ 偵錯碼 • 為了在資料通訊及處理上檢查錯誤,有時候會在ASCII字元上加上第8個位元來指示同位位元。 • 同位位元 (parity bit) : 用來指示訊息中1的總數是偶數或是奇數的一個額外的位元。 • 偶同位檢查: 1的總數是偶數第8個位元 = 0 ; 1的總數是奇數第8個位元 = 1 • 奇同位檢查: 1的總數是奇數第8個位元 = 0 ; 1的總數是偶數第8個位元 = 1 範例: 考慮下列兩個字元以及它們的偶同位和奇同位:

  21. 二進位儲存與暫存器 ■ 暫存器  一個二元晶胞 (binary cell) 就是一個具有二個穩定狀態的元件,它能儲存一個位元 (0或1) 的訊息。  所謂暫存器 (register) 就是一群二元晶胞的組合。一個具有 n個晶胞的暫存器可以儲存任何包含 n個位元之離散的資料訊息 2n可能狀態 n 晶胞 • 一個數位系統的特性可以由它的資料處理暫存器及元件表現出來。 • 暫存器的資料傳送是數位系統基本的運作,它包含將二進位訊息經由一組暫存器傳送到另一組暫存器。 • 圖1-1說明在暫存器間訊息的傳送,並且以圖示的方式說明從鍵盤如何將二進位訊息傳送到在記憶體單元內的暫存器。

  22. 暫存器間訊息的傳送 訊號1 左移 左移 左移 訊號2 1 byte

  23. 圖1-2說明兩個10位元二進數相加的處理步驟。其實記憶體單元正常情況下有好幾千個暫存器,而不是像圖上所示的只有三個。圖1-2說明兩個10位元二進數相加的處理步驟。其實記憶體單元正常情況下有好幾千個暫存器,而不是像圖上所示的只有三個。 • 記憶體單元部分也只顯示R1, R2, R3三個暫存器,數位邏輯電路將R1, R2內的資料相加後再將所得二進數的結果傳送到R3 ,再將R3的內容傳送回記憶體暫存器中。(chapter 2- chapter 6) • 記憶體暫存器只能保存資料而不能處理資料,然而儲存在記憶體內的資料可以傳送到處理器暫存器加以處理,然後再將結果傳送回記憶體暫存器儲存,直到下次需要處理時再用。

  24. 二進位元邏輯 ■ 二進位元邏輯的定義  二進位元邏輯包含二進位變數以及一組邏輯運算,變數是以字母 A, B, C, x, y, z 等來表示,每個變數只有兩個可能的值:1和0。且三個基本的邏輯運算是:AND, OR和NOT。(Boolean Algebra)

  25. 二進位元邏輯 ■ 邏輯運算AND, OR及NOT的真值表列在表1-8中。

  26. 二進位元邏輯 ■ 邏輯閘 • 邏輯閘就是控制一個或多個輸入信號去產生一個輸出信號的電子電路。 • 電氣信號如電壓或電流以兩個可辨別的類比值範圍 (譬如說0至3 V) 存在數位系統中,並將此二值定成0或1。 • 電壓操作型的邏輯電路之兩個不同的電壓準位表示成等於邏輯1或是邏輯0的一個二進位的變數。 • 每一個電壓準位有一個可被接受的範圍,如圖1-3所示。

  27. 二進位元邏輯 ■邏輯閘  三種形式之邏輯閘的圖形符號表示如圖1-4,邏輯閘是一種硬體方塊圖,當輸入邏輯要求滿足時,則產生相對應的邏輯1或邏輯0的輸出信號。

  28. 二進位元邏輯 ■邏輯閘  圖1-5中顯示這些輸入信號以及每個邏輯閘相對應的輸出信號。時序圖說明了每個邏輯閘對於四個輸入信號組合的響應。時序圖中水平軸代表時間,而垂直軸的方向表示在兩個可能準位間信號的改變,其中較低的準位代表邏輯0而較高的準位代表邏輯1。

  29. 二進位元邏輯 ■邏輯閘  AND和OR閘可能有超過2個的輸入信號,如圖1-6中所示為一個具有3個輸入的AND閘及一個具有4個輸入的OR閘。對於3個輸入的AND閘,當所有輸入為邏輯1時則輸出為邏輯1。若任何一個輸入為邏輯0時則輸出為邏輯0。對於4個輸入的OR閘,只要任何一個輸入為邏輯1時則輸出為邏輯1,若所有的輸入為邏輯0時則輸出為邏輯0。

More Related