




已閱讀5頁,還剩93頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2 1微處理機的數據表達 所有微機都是以二進制形式算術運算和邏輯操作的 五行八卦中的32卦 2 1進位計數制 十進制 二進制 八進制和十六進制采用的都是進位計數制 進位計數制中用少量數碼按次序排列成數位 并按由低到高的進位方式進行計數 基數和權是進位計數制的兩個基本要素 基數是進位計數制中所用數碼的個數 基數為r的進位計數制中需要r個數碼 每個數位計滿r就向高位進一 即逢r進一 在進位計數制表示的數中 同一數字處在不同位置表示不同的值 它所表示的值是該數字乘以一個由它所處位置所決定的常數 這一常數就是該數位所具有的權 r進制數各位的權是以r為底的冪 一 十進制數 具有十個不同的數字符號 即0 9 逢十進一 基數為10 權為10的N次方 N為正表示為整數部分 N為負表示為小數部分 特點 一個十進數可以用它的按權展開式表示 758 75 10 7 102 5 101 8 100 7 10 1 5 10 2 二 二進制數 一個二進制數可以用它的按權展開式表示 10110 101 2 1 24 0 23 1 22 1 21 0 20 1 2 1 0 2 2 1 2 3 22 625 10 具有兩個不同的數字符號 即0和1 逢二進一 基數為2 權為2的N次方 特點 在微機中采用二進制的原因 二進制只有0 1兩個數字 因此用晶體管的導通和截止 脈沖的高電平和低電平 很容易實現這兩種狀態 此外二進制運算簡單 便于電子線路的實現 B 0V三極管導通B VCC三極管截止 比如 微機中RS232口線電平 是 12V稱為 1 12V稱為 0 或理解成 經RS232輸出的數字 1 會產生 12V電壓 經RS232輸出的數字 0 會產生 12V電壓 二進制中的 0 和 1 是對兩種不同狀態的區別 是對兩種狀態的記錄 沒有中間狀態 至于哪種狀態稱為 0 哪種狀態稱為 1 可以按某種約定而命名 1AF 4 16 1 162 10 161 15 160 4 16 1 430 25 10 一個十六進制數可以用它的按權展開式表示 具有十六個不同的數字符號 即0 9和A F 逢十六進一 基數為16 權為16的N次方 特點 三 十六進制數 任何一個r進制數N可以表示為 若r 10 則十進制數 其各位的權是以10為底的冪 若r 2 則是二進制數 其各位的權是以2為底的冪 若r 8 則是八進制數 其各位的權是以8為底的冪 八進制中共有八個數碼 0 1 2 3 4 5 6 7 若r 16 則是十六進制數 其各位的權是以16為底的冪 十六進制中共有16個數碼 0 1 2 3 4 5 6 7 8 9 A B C D E F 常見的標識方法有兩種 1 用括號后加數字下標 如 11 2 11 10 11 162 用英文字母加在被標記數的后面 B O D 通常省略 H分別表示該數為二進制 八進制 十進制和十六進制 如11D11B11H 前者機器難以識別 一般用于書寫 后者有利于機器識別 常用 由于有不同數制數的存在 書寫時必須給出標識 若不標出標記將會形成混淆而無法分清 如 書寫11若不指明 就要引起混淆 主要是匯編時形成混淆 若為十進制 想表示的是十進制數11若為二進制 想表示的是十進制數3若為十六進制 想表示的是十進制數17 寫程序時 同樣也必須注意指令的書寫和輸入 否則很容易產生錯誤 如 指令MOVA 11匯編成機器碼后 會是740B而指令書寫成MOVA 11H匯編成機器碼后 將是7411所謂機器碼是指提供給相應微機識別的二進制代碼 三種數制對照表 可見四位二進制數可用一位十六進制數代表 一位十六進制數 可擴展為四位二進制數 如 001111113F10100101A51010100011110101100111100151EB3C12340001001000110100A4B21010010010110010 采用十六進制的合理解釋 僅僅用來減輕閱讀二進制的負擔和書寫二進制時的麻煩 在微機中并沒有按十六進制研制電子線路 一 r進制數轉換為十進制數 按照公式展開求和 例 分別把二進制數1011 01和十六進制數F0 C用十進制表示 2 2各類計數制的相互轉換 二 十進制數轉換為r進制數 整數部分和小數部分分別進行轉換 整數部分的轉換步驟 把r寫成十進制數 將N除以r 記錄商和余數 并用r進制表示余數 這余數便是用r進制表示的數的最低位數字 把上次的商進行 中所述除以r取余的運算 用r進制表示余數 重復這種運算直到商為0 這時的余數即為十進制數N用r進制表示時的最高位數字 小數部分的轉換步驟 把r寫成十進制數 將N乘以r 記錄積的整數部分和小數部分 并用r進制表示整數部分 該整數即為轉換后r進制小數的最高位 把上次積的小數部分進行 中所述乘以r取整的運算 用r進制表示積的整數部分 重復這種運算直到積的小數部分為0 或者達到所要求的位數 這時的整數部分即為十進制數N轉換成r進制小數的最低位 注意 整數部分轉換 每次只求整數商 將余數作為轉換結果的一位 重復對整數商除基數 一直除到商為0為止 小數部分轉換 每次把乘積的整數取走作為轉換結果的一位 對剩下的小數繼續進行乘法運算 對某些數可以乘到積的小數為0 如上述兩例 這種轉換結果是精確的 對某些數 如0 3 永遠不能乘到積的小數為0 這時要根據精度要求 取適當的結果位數即可 這種轉換結果是不精確的 例 十進制數22 625轉換為二進制數 22 2 11 2 余0 低位 5 2 余1 2 2 余1 1 2 余0 0 余1 高位 0 625 21 25 取整數1 高位 20 5 取整數0 21 0 取整數0 低位 0 625 10 0 101 2 所以 22 10 10110 2 整數部分 小數部分 結果 22 625 10 10110 101 2 例 十進制數430 25轉換為十六進制數 430 16 26 16 余14 E 低位 1 16 余10 A 余1 高位 整數部分 0 小數部分 0 25 164 0 取整數4 結果 430 25 10 1AE 4 16 三 二進制與八進制 十六進制的相互轉換 1 二進制轉換成十六進制從小數點位置開始 整數部分向左 小數部分向右 每四位二進制數為一組用一位十六進制的數字來表示 不足四位的用0補足 就是相應十六進制的表示 2 二進制轉換成八進制從小數點位置開始 整數部分向左 小數部分向右 每三位二進制數為一組用一位八進制的數字來表示 不足三位的用0補足 就是相應八進制的表示 例 把二進制1011011010111 11101用十六進制表示 把八進制數62 31用二進制表示 例 十六進制數1AE4 0001101011100100 即 1AE 4 16 110101110 01 2 例 二進制數110101110 01 000110101110 0100 十六進制數1AE 4 即 110101110 01 2 1AE 4 16 四 二進制數的算術運算 例 10100 1101 100001 例 100001 10100 110110100100001 1101 110101000011101 例 1101 1011 10001111 例 11100 101 101 111101101 商 1011111001101101110110000000101 110111 余數10001111 五 二進制數的邏輯運算 例 NOT10100101 例 10100101XOR10001011 01011010 0010111010100101NOT10100101XOR100010110101101000101110 例 10100101AND10001011 例 10100101OR10001011 10000001 101011111010010110100101AND10001011OR100010111000000110101111 2 3數值數據的表示 在字長為8位的微機中 若處理的是無符號數 一個數可以用8位二進制數表示 其數值范圍為00H FFH 0 255D 換言之 8位二進制數可代表256種狀態 但如何表示一個有符號數 或者說如何表示負數 習慣上認為有三種方法 即原碼反碼補碼 在對有符號數的表示方法上 必然有一位用于表示符號 這一位稱之為符號位 通常規定為最高位 當最高位為 1 時 表示該數值為負當最高位為 0 時 表示該數值為正 一 符號數的表示 把二進制數的最高一位定義為符號位 符號位為0表示正數 符號位為1表示負數 這種在計算機中使用的 連同符號位一起數值化了的數 稱為機器數 機器數所表示的真實的數值 稱為真值 對于符號數 機器數常用的表示方法有原碼 反碼和補碼三種 數X的原碼記作 X 原 反碼記作 X 反 補碼記作 X 補 對于有符號數中的正數 原碼反碼補碼的表示值是相同的 原碼反碼補碼 2000000100000001000000010 對于有符號數中的負數 原碼反碼補碼的表示值是不相同的 原碼反碼補碼 2100000101111110111111110反碼是取反 補碼是取反加1 當進行有符號數運算時 要通過判斷最高位的值來確定該字節值是正數 還是負數 1 原碼 最高位表示符號 正數的符號位用0表示 負數的符號位用1表示 數值位用二進制絕對值表示 這種方法稱為原碼表示法 原碼的定義為 若X 0則 X 原 X若X 0則 X 原 2n 1 X其中n為原碼的位數 124 原 01111100 124 原 11111100 當一個帶符號數用反碼表示時 最高位為符號位 0 有兩種表示方法 0 反 00000000 0 反 11111111 8位二進制反碼真值范圍為 127 127 16位反碼真值范圍為 32767 32767 反碼表示對計算機的結構有特殊要求 現在很少采用 特點 若X 0 則 X 反 X 若X 0 則 X 反 2n X 1 其中n為反碼的位數 正數的反碼與原碼相同 負數的原碼符號位保持不變 其余位取反就是機器數的另一種表示方法 反碼表示法 2 反碼 4 反 11111011 31 反 11100000 在鐘表上 指針正撥12小時或倒撥12小時 其時間值是相等的 即在鐘表上X 12 X 12 mod12 一個計數系統 某數加或減其模 結果不變 模的概念 補碼的引入 對于n位二進制數 其計數范圍為0 2n 1 在該計數器上加2n或減2n結果是不變的 我們稱2n為n位計數系統的模 對鐘表來說 它的模為12 在鐘表上 如果現在時間是6點整 而鐘表卻指著8點整 快了2小時 校準的方法是正撥10小時或倒撥2小時 結果都正確 即 8 10 6 mod12 順撥 8 2 6 mod12 倒撥 3 補碼 3 補 3 原 3 反 00000011 3 補 3 反 1 11111100 1 11111101 0 補 0 原 0 反 00000000 0 補 0 反 1 11111111 1 10000000 補碼的定義與求法 對n位二進制數 模為2n 若X 0 則 X 補 2in X MOD2n X 即正數的補碼為原正數不變 若X 0 則 X 補 2in X MOD2n 2n 1 X 1 X 反 1 即負數的補碼等于負數的反碼加1 也就是等于負數原碼除符號位外求反加1 例 補碼加減法的運算規則 X Y 補 X 補 Y 補其中X Y為正負數均可 符號位參與運算 模 module 就是一個計數系統的最大容量 其大小等于以進位計數制基數為底 以位數為指數的冪 凡是用器件進行的運算都是有模運算 運算結果超過模的部分被運算器自動丟棄 因此 當器件為n位時 有 X 2n X mod2n 不難驗證 X 補 2n X mod2n 因此 X Y 補 2n X Y mod2n 2n X 2n Y X 補 Y 補 一個用補碼表示的二進制數 最高位為符號位 當符號位為 0 即正數時 其余位即為此數的二進制值 但當符號位為 1 即負數時 其余位不是此數的二進制值 其值為后面各位按位取反 在最低位加1 8位二進制補碼真值范圍為 128 127 16位補碼真值范圍為 32768 32767 0 補 0 補 00000000 即為0 且只有一種表示方法 4 當采用補碼表示時 可以把減法運算轉換為加法運算 即 X Y 補 X 補 Y 補 即某數減去一個數就等于某數加上減數的補數 8位帶符號的補碼特點 采用8位二進制表示時 整數補碼的表示范圍 最大為01111111 其真值為 127 10最小為10000000 其真值為 一128 10在補碼表示法中 0只有一種表示形式 0 補 00000000 0 補 11111111 1 00000000 由于受設備字長的限制 最后的進位丟失 所以有 0 補 0 補 00000000 對于8位有符號數A 原碼法能表示的范圍為 127 127DB 反碼法能表示的范圍為 127 127DC 補碼法能表示的范圍為 128 127D 對于 0 的表示A 原碼有兩種不同的表示 稱之為 0 0分別為00000000B10000000BB 反碼有兩種不同的表示 稱之為 0 0分別為00000000B11111111BC 補碼的 0只有一種表示00000000B 表1 3數的表示方法 所謂溢出是指運算結果超出了規定長度數據的表數范圍 在此特指帶符號數的補碼運算溢出 4 補碼運算的溢出及其判斷方法 對字長為n位的補碼表示的帶符號數 其最高位表示符號 其余n 1位表示數值 其表數范圍為 2n 1 2n 1 1 如果一個運算的結果超出了這個范圍 就稱為補碼溢出 簡稱溢出 這時運算結果是錯誤的 對于8位字長的二進制補碼數 其表數范圍為 128 127 如果運算結果超出了此范圍 就會產生溢出 例 已知 60 補 00111100 60 補 11000100 100 補 01100100 100 補 10011100 60 補 00111100 60 補 11000100 60 補 00111100 100 補 01100100 100 補 10011100 100 補 100111001010000010110000011011000 自然丟失 符號符號符號負數 錯誤正數 錯誤正確 前兩個運算結果之所以不正確 是因為其相加結果分別為 160和 160 均超出了表數范圍 使結果的數值部分占據了符號位 產生了溢出錯誤 但一個正數與一個負數相加 一定不會產生溢出錯誤 判斷溢出的方法 1 根據參加加法運算的兩數的符號及運算結果的符號判斷是否溢出 2 計算機中 根據加法運算中在最高位與次高位的兩個進位來判斷 設8位二進制數的各位記為D7D6D5 D0 運算中兩個D6位的進位記為C6 兩個D7位的進位記為C7 用OV C7XORC6可判斷溢出情況 OV 0 表示結果無溢出 OV 1 表示結果有溢出 注意 進位和溢出是兩個不同性質的概念 不能混淆 進位是指運算結果的最高位向更高位的進位 如上所述的8位運算中的C7 進位通常記做Cy Cy 0表示無進位 Cy 1表示有進位 溢出是用最高位進位 即Cy 與次高位進位的邏輯異或結果來判斷的 可見 有進位不一定就有溢出 無進位也不一定就無溢出 同理 有溢出不一定就有進位 無溢出也不一定就無進位 如 60 100 無符號數的最高位不是符號位而是數值的一部分 二 無符號數的表示 1 定點表示法 小數點位置 三 數的定點和浮點表示 2 定點小數法 約定小數點在符號位之后 數值部分最高位之前 因此數據是純小數 故又稱定點小數 其格式為 小數點位置 1 定點整數法 約定小數點的位置固定在數值部分的最低位之后 也就是把數表示為純整數 其格式如下 階符階碼數符尾數 浮點數包括兩部分 階碼P和尾數S 它們都有各自的符號位 階碼的符號位又稱階符 用Pf表示 階碼有P1 P2 Pm位 尾數的符號位又稱數符 用Sf表示 尾數有S1 S2 Sn位 在浮點表示法中 小數點的位置不固定或者說可浮動的 一般來說 任何一個二進制數的浮點表示格式為 尾數S是帶符號補碼表示的純小數 其所取位數決定了浮點數的有效精度 階碼P是補碼表示的帶符號數 其所取位數決定了浮點數的表達范圍 2 浮點表示法 浮點數的優點 可以在同樣字長的情況下 比定點數表達更大范圍的數 浮點數的缺點 運算規則復雜 通常要階碼和尾數分開運算 若階碼的底為2 階碼P 尾數S都用二進制數表示 則可以構成二進制浮點數 任何一個二進制數 它的浮點數可表示為 N 2P S 例 二進制數N 2 11 0 1011 其浮點數的表示格式為 階符階碼數符尾數 當尾數滿足0 5 S 1時 稱為規格化數 規格化數中尾數的最高有效位 即小數點后面的一位 必須是1 而不是0 對浮點表示法 需要調整階碼的數值實現規格化 例 N 2 11 0 0101 這是非規格化浮點數 改寫成 N 2 10 0 1010 這是規格化浮點數 當字長確定后 階碼所占位數越長 則尾數越短 數表示的范圍越寬 精度越低 例如 101 101B 1000BX0 101101B 2 11BX0 101101B例如 0 078125D 0 000101B 2 11BX 0 101B 在浮點數中 負數一般用補碼表示 于是可寫成PF 1P 01SF 1S 011假如將 0 000101B寫成2 10BX 0 0101B則有PF 1P 10SF 1S 1011可見不同的寫法將會引起混淆 參照 12 34D 10 2X0 123412345 678 10 5X0 12345678 對于16位字長的浮點數 一般PFSF均為1位 而階碼P和尾數S的位數分別為5位和9位 因此 16位字長的浮點數表示的范圍將會是 231 231 而16位定點數的范圍僅為65536 幾點說明 在以控制見長的單片機中 一般按定點數運算見多 浮點數主要用在數字信號處理 圖像處理等場合 在定點數運算中 帶符號運算并不一定要反碼補碼的表達 就微機而言 它并不認識反碼和補碼 用戶可以通過相減的運算實現有關運算 微機也不認識小數 所謂小數運算可以由用戶自行規定解決 一 ASCII碼 字母和字符也必須按照特定的規則 用二進制編碼才能在機器中表示 編碼可以有各種方式 目前微機中最普遍采用的是ASC 碼 AmericanStandardCodeforInformationInterchange 美國標準信息交換碼 早期用于電訊行業 采用7位二進制代碼對字母和字符進行編碼 可表示27 128個字符 其中包括數碼 0 9 以及英文字母等可打印的字符 數字0 9的編碼是0110000 0111001 它們的高3位均是011 后4位正好與其對應的二進制代碼相符 英文字母A Z的ASCII碼從1000001 41H 開始順序遞增 字母a z的ASCII碼從1100001 61H 開始順序遞增 這樣的排列對信息檢索十分有利 2 4數碼 二 漢字編碼 漢字的輸入編碼是為了使用西文標準鍵盤把漢字輸入到計算機中 其編碼方法主要有數字編碼 拼音碼和字形編碼三類 除了鍵盤輸入以外 利用語音或圖象識別技術自動將漢字輸入到計算機內的方法也已經實現 漢字內碼是用于漢字信息的存儲 交換 檢索等操作的機內代碼 它采用兩個字節的二進制形式表示一個漢字 為了與英文字符能相互區別 漢字機內代碼中兩個字節的最高位均規定為l 漢字字模編碼是用來描述漢字字形的代碼 它是漢字的輸出形式 漢字庫有點陣字庫 TrueType字庫 矢量字庫等類型 在計算機中 漢字編碼采用國標碼 GB18030 2000 它采用單 雙 四字節混合編碼 每個字節的最高位為1 并以此來區分漢字和ASC 碼 漢字編碼包括輸入編碼 內碼和字模編碼 分別用于輸入 內部處理和輸出 BCD碼是十進制數 有10個不同的數字符號 且是逢十進位的 但它的每一位是用4位二進制編碼來表示的 因此稱為二進制編碼的十進制數 BCD碼比較直觀 三 二進制編碼的十進制數 8421BCD碼 雖然BCD碼是用二進制編碼方式表示的 但它與二進制之間不能直接轉換 必須先將BCD碼轉換為十進制數 然后再轉換為二進制數 反之亦然 例 十進制數65的BCD碼為01100101 BCD碼01001001 0111表示的十進制數為49 7 表1 2BCD編碼表 六 操作碼指令中表達計算機操作內容的數碼 通常一條指令中必須而且只能有一個操作碼 七 地址碼指令中表達計算機操作數據所在地址的數碼 可以是一個或多個 也可能隱藏在操作碼中 五 校驗碼為了確保整個計算機系統的工作可靠性 經常在關鍵步驟的數據上添加校驗碼 指令中表達計算機操作內容的數碼 通常一條指令中必須而且只能有一個操作碼 四 七段顯示碼一種將要顯示的內容轉換成能夠在七段數碼管上顯示的數碼 TheEnd 習題一 1 將二進制數11011 011轉換成十進制數 八進制數和十六進制數2 將十進制數240 75轉換成二進制數 八進制數和十六進制數3 設計算機字長為8位 求機器數E3 H 分別為原碼 反碼 補碼 無符號數 壓縮BCD碼時對應的真值4 已知X 87 Y 56 用補碼完成下列運算 并討論結果是否溢出 X Y X Y 練習題 1把下列十進制數轉換成二進制數和十六進制數a 135b 47 6875c 2002 102把下列二進制數轉換成十進制數和十六進制數a 11010110Bb 0 1011Bc 1011 1011B3把下列十六進制數轉換成二進制數和十進制數a AAHb ABC DHc 128 08H4寫出下列各十進制數在8位微機中的原碼反碼和補碼形式a 54b 115c 76 定點表示法與浮點表示法的比較 由于浮點數的小數點的位置是隱含于階碼之中 階碼不同的兩個尾數不能直接加減 需先把兩個數的階碼調整到一致 這稱為 對階 然后兩個尾數才能相加減 數值表示范圍 假定某機器字長32位 數符占1位 尾數占31位 則 定點小數表示范圍 2 31 S 1 2 31 定點整數表示范圍 1 S 231 1 浮點數的運算比定點數的運算復雜 浮點數的表示 Pentium微處理器支持的浮點格式 Pentium將階碼以一種偏置形式存放于格式之中 即將真階碼加上一個常數偏置值才是格式階碼 以保證偏置后的格式階碼恒為正數 單精度的階碼偏置值為 127 雙精度的階碼偏置值為 1023 擴展精度的階碼偏置值為 16383 一個浮點數數的真階碼要通過它的格式階碼減去偏置值而得到 算術邏輯部件算術邏輯單元既可以進行二進制數的四則運算 也可進行布爾代數的邏輯運算 一 算術運算加減法運算直接采用二進制的加減法電路實現 乘除法需通過軟件來實現 即將乘法轉換成加法 除法轉換成減法 再轉換成加法來實現 微型計算機典型電路稱為基本電路部件 主要包括 算術邏輯部件 觸發器 寄存器 存儲器 三態輸出控制器 總線結構 二 邏輯運算通過在ALU中增設門電路可完成基本的邏輯運算 微處理機的硬件基礎 觸發器觸發器是計算機記憶裝置的基本單元 可以組成寄存器 而寄存器可以組成存儲器 寄存器和存儲器統稱為計算機的記憶裝置 RS觸發器D觸發器JK觸發器 一 基本RS觸發器1 基本電路和符號2 狀態分析維持狀態 R 1 S 1 存儲記憶狀態 置1狀態 R 0 S 1 置0狀態 R 1 S 0 不確定狀態 R 0 S 0 RS觸發器 二 時標RS觸發器為了使觸發器在整個機器中能和其它部件協調工作 RS觸發器一般都有外加的時鐘脈沖 時標脈沖 微型計算機中時鐘脈沖一般是由時鐘脈沖發生器產生 其時鐘頻率為4 77MHz 所產生的脈沖信號為方波 無論置位還是復位都必須在時鐘脈沖為高電平時才能進行 RS觸發器的缺點 1 置0和置1需要兩個信號R和S 2 當R S 0 狀態不定 D觸發器1 基本電路和符號2 狀態分析通過改變D的電位來實現置位和復位 置1狀態 D 0 置0狀態 D 1 3 帶時標D觸發器 通過加時鐘脈沖 使輸入信號僅在時鐘信號處于高電位時有效 4 時鐘邊緣觸發D觸發器 由于時鐘信號為方波 在處于高電位期間 D的變化會影響觸發器的狀態 使計算中的動作不整齊 采用RC微分電路對時鐘信號進行微分處理 使方波變為尖峰信號 有些電路中需要預先給觸發器置位或清除 可通過預置和清除來完成 即增設預置端和清除端 注意 表示低電平觸發 只需將時鐘信號接非門實現 表示時鐘脈沖經微分電路微分后形成尖峰信號 JK觸發器1 基本電路在RS觸發器的前端增加兩個與門 并從輸出到輸入做交叉反饋 2 狀態分析J K 0 維持狀態 J 0 K 1 復位狀態 J 1 K 0 置位狀態 J 1 K 1 翻轉狀態 計數器利用這一特性實現計數 3 帶預置 清除的正邊緣JK觸發器 寄存器寄存器由多個觸發器組成 一個觸發器就是一個移位寄存器 多個觸發器就是一個多位寄存器 緩沖寄存器移位寄存器計數器累加器 一 緩沖寄存器 用以暫存某個數據 以便在適當的節拍和給定的計算步驟將數據輸入到其中或將數據輸出到其它記憶元件中 當時鐘脈沖的正向尖峰到來時 Q Q3Q2Q1Q0 X3X2X1X0 X 即將數據裝入寄存器中 如果要將數據輸出到其它部件 則可通過Y3Y2Y1Y0引出 為每一位寄存器增加一個控制門 當控制門 LOAD 為低電平時 各觸發器的數據不變 新的數據進不來 起到寄存作用 當控制門為高電平時 可實現寄存器內容的更新 二 移位寄存器 移位寄存器 將所寄存數據按位向左向右移動 三 計數器 計數器 由若干個觸發器組成 當計數脈沖到來時 按二進制規律使所存儲的數據加1 行波計數器同步計數器環形計數器程序計數器 行波計數器特點 1 計數器的各位均由觸發器構成 2 每個觸發器的端均懸空 即處于翻轉狀態 3 時鐘的負尖峰到達時開始翻轉計數 4 清除端在高電平變為低電平時實現對計數器置零 同步計數器將時鐘脈沖同時加到每個觸發器的時鐘輸入 前一位的輸出通過與門接到后一位的輸入端 使每計一個數據的時間只占用一個觸發器的建立時間 即各位計數器同步進行 環形計數器計數時只有一位為高電位 其余均為低電位 程序計數器一個不從0開始計數的行波計數器或同步計數器 應具備將初始數據裝入其中的功能 裝入門 同時 還需具備控制門 4累加器由多個觸發器所組成的多位寄存器 不進行加法計算 用以暫時存放ALU中計算的中間結果 另外 還具有將其中的數據左移或右移的功能 也是移位寄存器 累加器在計算機中具有特殊的作用 很多操作都要用到 三態輸出電路計算機中的記憶元件由觸發器組成 而觸發器只有兩種狀態 即0態和1態 因此每條信號線上只能傳送一個觸發器的信息 若一條信號線上連接多個觸發器 而每個觸發器可根據需要與信號線連通或斷開 當連通時可傳送0或1 斷開時對信號線上的信息不產生影響 需要特殊電路加以控制 即三態輸出電路 又稱三態門 一 三態輸出電路的結構1 電路組成和工作原理NMOS管可看作開關 當輸入高電位時接通 輸入低電位時斷開 當E 1時 若A 0 則B 0 若A 1 則B 1 當E 0時 A B均不通 呈高組態 2 三態邏輯電路符號 二 雙三態輸出電路當某元件有雙向輸出時 可由兩個三態門來控制 一個控制輸出 一個控制輸入 A為輸出端 C為輸入端 當Eout 1 Ein 0時 傳輸方向為A B 即A B 當Eout 0 Ein 1時 傳輸方向為B C 即B C 三態門 裝入門可加到任何一個寄存器電路上 構成三態寄存器 L門 L 1 專管對寄存器的裝入數據的控制 E門 E 1 專管對寄存器輸出數據的控制 有了L門和E門后 就可以將各個部件都掛到總線線路上去 通過控制輸入和輸出 使計算機的信息傳遞線路簡單化 控制器的設計合理化 總線結構一 基本概念總線 微型計算機中多個部件間或微型計算機間傳送信息的公共導線 它由一組傳輸信息 0 1 的導線組成 根據所傳送信息的內容與作用不同 可將總線分為三類 數據總線 DB 可雙向傳輸數據信息 其寬度與MPU提供的數據線的引腳有關 地址總線 AB 單向傳遞地址信息 其寬度決定了計算機系統的最大尋址能力 空間 2N字節 N位地址總線的寬度 控制總線 CB 用于單向傳送各種控制信號和狀態信號 由于各總線傳送信號的類型都是單一的 該結構又稱為面向系統的單總線結構 二 總線結構連接圖ABCD四個寄存器均有四個數據位 因此相互之間的數據傳輸需要4條數據線 在數據傳輸控制中 各寄存器的L門和E門的電位由控制器發出控制信號來進行控制 將個寄存器的L門和E門按一定順序排列在一起 可組成控制字CON 格式如下 CON LAEALBEBLCECLDED 為了實現數據的傳遞 必須規定在某一時鐘節拍 只有一個寄存器的L門為高電位 一個寄存器的E門為高電位 其余控制門均必須為低電位 當控制器發出對應的控制字信息后 數據信息才會按預期傳送 例題 LA 1 EC 1 其余均為0 則數據由C傳送到A LB 1 EA 1 其余均為0 數據如何傳送 三 總線結構符號圖 專門傳遞數據信息 將總線用一根粗線表示 并注明總線中線的根數 將控制字的各位分別傳送到各寄存器 存儲器一 組成及作用存儲器由寄存器組成 可看作一個寄存器堆 每個存儲單元實際上相當于一個緩沖寄存器 它既可用來存儲數據 又可用來存放計算機的運算程序 二 分類只讀存儲器 ROM 只能讀出 不能寫入 隨機存儲器 RAM 既能讀出 又能寫入 三 存儲單元存儲器主要使用位 字節 字 8位字 16位字 32位字 等存儲單元 一個存儲器可包含若干個存儲單元以存儲很多個數據和很多個計算步驟 程序 為了便于存入取出 每個存儲單元必須有固定地址 即一個存儲器含有很多個地址 為了減少存儲器向外的引出線的數量 內部自帶地址譯碼器 將二進制的地址碼譯成與存儲單元相通的地址線號 n條地址線可譯成2n個地址號 16 8存儲器實例16 8存儲器是一個有16個存儲單元 每單元有個記憶位的集成電路芯片 它有4根地址線A0 A1 A2 A3和8根數據線D0 D1 D7 地址線越多可訪問的存儲單元個數越多 只讀存儲器ROM用以存放固定數據的存儲器 一旦放進去 就不可改變 只可讀出所存儲的數據 分類 掩膜型只讀存儲器 MROM 可編程只讀存儲器 PROM 可擦除可編程只讀存儲器 EPROM 電擦除可編程只讀存儲器 EEPROM 串行EEPROM并行EEPROM閃速存儲器 8 4ROM的內部結構左邊為地址譯碼電路 右邊為矩陣電路及半導體二極管組成的存儲單元 三條地址線及由非門產生的另三條線通過個三輸入端與門可譯成個地址號 用以控制個存儲單元導線的電位 橫線相當于存儲單元 豎線相當于位 二極管連到的豎線 該位置為1 無二極管相連的豎線為0 輸出電信號取自限流電阻上的電位 為了控制輸出 每條數據線都加了三態輸出門 3個非門 8個三輸入與門 4個限流電阻 4個三態輸出電路 若干個半導體二極管 存儲單元地址號與存儲器中的內容 ROM的符號ROM的附件存儲器地址寄存器MAR將所要尋找的存儲單元的地址暫存下來 以備下一條指令用 實際上是一個可控緩沖寄存器 具有L門控制地址輸入 和存儲器的聯系是雙向的 即地址一進入MAR就立即被送到ROM的地址譯碼器中去 MAR中的地址在模型計算機中由專門的地址計數器PC提供 在微型計算機中由地址加法器提供 例題 程序計數器PC 存儲器地址寄存器MAR和ROM通過總線連接 開機后 先令CLR 1 則PC 0000 依次發出如下控制字 1 CPEPLMER 0110 2 CPEPLMER 0001 3 CPEPLMER 1000 問各部件之間的信息是如何流通的 解 1 EP 1 PC準備發出數據到總線上 LM 1 MAR準備接受總線上傳來的數據 時鐘信號正尖峰到來時 MAR PC 0000 數據裝入MAR 同時MAR立即將0000送入ROM的地址譯碼器 對0000進行譯碼 選中ROM中的R0單元 2 ER 1 令ROM輸出R0中的8位數據到總線上 無需時鐘脈沖加以控制 為異步動作 3 CP 1 PC計數器在時鐘正尖峰到來時 自動加1 PC 0001 EEPROM NMC98C64A芯片一 結構1 容量8k 8B2 A0 A12 片內地址線 用以選擇片內8k個單元 D0 D7 數據線 可直接與計算機系統的DB總線連接 片選信號 低電平有效 輸出允許信號 低電平有效 輸入允許信號 低電平有效 狀態輸出端執行編程寫入時 此引腳為低電平 寫完后為高電平 二 NMC98C64A的編程寫入字節寫入一次只寫入一個字節的數據 等到的狀態由低變高時才能開始下一字節的寫入 可采用延時程序 中斷或查詢方式檢測引腳來實現 自動頁寫入32個字節為頁 首先向NMC98C64A寫入頁的第一個數據 在接下來的300 s內連續寫入本頁的其他數據 直到變高 該方法可提高速度 寫滿8k 8B只需2 6s 二 NMC98C64A的擦除字節擦除 向某字節寫入 FFH 整片擦除 在數據線上加 FFH 使片選信號和寫允許信號為0 并在輸出允許信號引腳上加 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神秘傳承基礎知識點歸納
- 雙11光棍節活動策劃案
- 河南洛陽商業職業學院招聘筆試真題2024
- 石大學前兒童保育學課件3-4幼兒秋季護理
- 地理(廣東專用)2025年中考考前押題最后一卷
- 高中地理必修一《人口的合理容量》教學設計
- 高中語文跨學科教學的課堂管理與互動模式優化
- 2025至2030年中國電動牽引拖車行業投資前景及策略咨詢報告
- 2025至2030年中國燃油系統清洗劑行業投資前景及策略咨詢報告
- 高中物理跨學科教學的理論基礎與實踐意義
- 四川省2024年中考生物試卷十二套合卷【附答案】
- 呼吸機霧化吸入療法護理實踐專家共識
- 《銀行業從業人員職業操守和行為準則》課件
- 人教版四年級美術下冊《第15課設計文化衫》說課稿
- 2024至2030年中國汽車售后服務行業市場深度調研及前景趨勢與投資發展研究報告
- 人工氣候室投標書
- 廣西桂林市2023-2024學年八年級下學期語文期末試卷
- 2024年第九屆“鵬程杯”五年級語文邀請賽試卷
- 診所負責人變更申請書
- (高清版)JTG D50-2017 公路瀝青路面設計規范
- 廣東省汕頭市2022-2023學年六年級下學期語文期末考試試卷(含答案)
評論
0/150
提交評論