計算機組成原理(2)——清華大學_第1頁
計算機組成原理(2)——清華大學_第2頁
計算機組成原理(2)——清華大學_第3頁
計算機組成原理(2)——清華大學_第4頁
計算機組成原理(2)——清華大學_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一單元第二講計算機發(fā)展簡史運算器功能及數(shù)據(jù)表示內容提要 計算機發(fā)展簡史 運算器基本功能 數(shù)據(jù)表示 數(shù)值 整數(shù) 定點小數(shù) 浮點數(shù) 字符 邏輯值Computer Generations Gen-0: Mechanical computers (BC to early 1940s) Gen-1: Vacuum Tubes (1943-1959) Gen-2: Transistors (1960-1968) John Bardeen, Walter Brattain, and William Shockley Gen-3: Integrated Circuits (1969-1977) Jack K

2、ilby (1958) Gen-4: VLSI (1978-present) Gen-5: Optical? Quantum? 生物? 古代及近代計算技術公元前500年,中國出現(xiàn)算盤1642年,Blaise Pascal發(fā)明自動進位的加法機器,齒輪驅動撥盤,在窗口顯示結果1822年,Charles Babbage,差分機(Differential Engie)1833年,分析機(Analytical Engine),通用機器16世紀,Alkhowarizmi提出算法概念,并出版以算法(Algorithm)為題的書籍Turing機1937年,Alan Turing提出一種“通用”計算機的概念,它

3、可以執(zhí)行任何一個描述好的程序(算法),實現(xiàn)需要的功能,形成了“可計算性”概念的基礎。存儲程序的思想,使計算機從專用走向通用。正是這一創(chuàng)新,開創(chuàng)了計算機的新時代。Turing機特點 通用計算機:并不是保存所有問題的結果。 存儲程序計算機:問題的求解由程序或過程給出,程序和過程可以通過語言描述。 有限速度:計算機執(zhí)行程序的時間是有限的。 是現(xiàn)代計算機的鼻祖?,F(xiàn)代計算機的里程碑年年代代機機器器名名稱稱制制造造者者說說明明1834Analytical EngineBabbage建造數(shù)字計算機的第一次嘗試1936Z1Zuse第一臺使用繼電器的計算機器1943COLOSSUS英國政府第一臺電子計算機194

4、4Mark IAiken第一臺美國通用計算機1946ENIAC IEckert/Mauchley現(xiàn)代計算機歷史從它開始1949EDSACWilkes第一臺存儲程序的計算機1951Whirlwind IM.I.T.第一臺實時計算機1952IASVon Neumann大多數(shù)現(xiàn)代計算機還用的設計1960PDP-1DEC第一臺小型機(銷售 50 臺)19611401IBM非常流行的小型商用機19627094IBM60 年代早期的主流科學計算用機1963B5000Burroughs面向高級語言設計的第一臺計算機1964360IBM系列機的第一個產(chǎn)品19646600CDC第一臺用于科學計算的超級計算機19

5、65PDP-8DEC第一臺占領市場的小型機(銷售 50,000 臺)1970PDP-11DEC70 年代的主導小型機19748080Intel第一臺在一個芯片上的 8 位計算機1974CRAY-1Cray第一臺向量超級計算機1978VAXDEC第一臺 32 位超級小型計算機1981IBM PCIBM開創(chuàng)現(xiàn)代個人計算機新紀元1985MIPSMIPS第一臺商用 RISC 機1987SPARCSun第一臺基于 SPARC 的 RISC 工作站1990RS6000IBM第一臺超標量體系結構計算機第一臺通用電子計算機ENIACElectronic Numerical and Integrate Calc

6、ulator Mauchly and Eckert 設計 1946年2月14日第一臺通用電子計算機,設計用于計算火炮的彈道重30噸,占地15000平方英尺,18000個電子管,耗電 140KW運算速度:5000次加法/秒使用十進制數(shù)20個寄存器,每個存放10位的十進制數(shù)通過設置6000個開關和其它眾多的插頭和插座來編程Von Neumann機IAS現(xiàn)代計算機結構的鼻祖:五大功能部件將程序和數(shù)據(jù)統(tǒng)一表示:存儲器有4096個字,每個字40位。采用二進制數(shù)據(jù):簡化了存儲器只提供整數(shù)運算:任何有能力的數(shù)學家都能在頭腦中記住小數(shù)點的位置。第一臺小型計算機:PDP-1 1957年由DEC公司生產(chǎn) 第二代計

7、算機(晶體管) 18位字長,4K內存,機器周期為5微秒 售價120000美元。售出50臺。 開創(chuàng)了計算機產(chǎn)業(yè)!第一個系列計算機:IBM 360 第三代計算機 計算機應用:科學計算和商務處理 如何在不同的硬件平臺上運行相同的軟件? 系列計算機:IBM 360 計算機系統(tǒng)結構:程序員眼中的計算機。具有相同系統(tǒng)結構的計算機可以運行相同的程序。 微程序控制器應用的普及:IBM PC機RISC計算機精簡指令系統(tǒng)計算機指令系統(tǒng)盡量簡單,復雜指令通過簡單指令的組合來完成提高計算機的運行速度下一代計算機 ?運算器基本功能 完成算術、邏輯運算 +、。 取得操作數(shù) 寄存器組、立即數(shù) 輸出、存放運算結果 寄存器組、

8、數(shù)據(jù)總線 暫存運算的中間結果 Q寄存器、移位寄存器運算器基本功能 獲得運算結果的狀態(tài) C、Z、V、S 理解、響應控制信號DatapathMemoryI/OALU功能和設計 功能 對操作數(shù)A、B完成算術邏輯運算 ADD、AND、OR 設計 算術運算 加法器 邏輯運算 與門、或門323232operationresultabALUOne-Bit Logical Instructions Map directly onto hardware components AND instruction One of data lines should be a simple AND gate OR inst

9、ruction Another data line should be a simple OR gateABC01Op (control)DefinitionA or B1A and B0COpOne-Bit Full Adder Each bit of addition has Three input bits: Ai, Bi, CarryIni Two output bits: Sumi, CarryOuti ( CarryIni+1 = CarryOuti )CarryIn. . . (0) (1) (0) (0) (0). . . 0 0 1 0 1. . . 0 0 1 1 0. .

10、 . 0 (0)1 (1)0 (0)1 (0)1+InputsOutputsA:B:Sum:CarryOutFull Adders Truth TableSumASymbolBCarryInCarryOut+DefinitionABCarryIn CarryOut Sum0000000101010010111010001101101101011111CarryOut = (A*B*CarryIn) + (A*B*CarryIn) + (A*B*CarryIn) + (A*B*CarryIn) = (B*CarryIn) + (A*CarryIn) + (A*B) Sum = (A*B*Carr

11、yIn) + (A*B*CarryIn) + (A*B*CarryIn) + (A*B*CarryIn)Full Adder Circuit (1/2)Construct the gates for SumImplement the gates for CarryOutConnect all inputs with the same nameFull Adder Circuit (2/2)One-Bit ALULeast significant bitOther bits數(shù)據(jù)編碼與表示 計算機中要存儲的數(shù)據(jù) 程序、整數(shù)、浮點數(shù)、字符(串)、邏輯值 需要編碼進行表示 存儲方式 用數(shù)字電路的兩個狀

12、態(tài)表示 由上一層的抽象計算機來識別不同的內容 編碼原則 少量簡單的基本符號 一定的規(guī)則 表示大量復雜的信息基二碼(二進制碼)基二碼(二進制碼)只使用只使用兩個兩個基本符號:基本符號:符號個數(shù)符號個數(shù)最少最少,物理上容易實現(xiàn),物理上容易實現(xiàn)與與二值邏輯二值邏輯的的 真真 假假 兩個值對應簡單兩個值對應簡單用二進制碼用二進制碼表示表示數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù)運算規(guī)則簡單運算規(guī)則簡單數(shù)據(jù)表示二進制位可以表示任何對象二進制位可以表示任何對象: 字符 26 字母 = 5 位 大/小寫 + 其它符號 = 7 bits (in 8) 世界上其他語言 = 16 bits (unicode) 無符號整數(shù) (0, 1,

13、, 2n-1) 邏輯值 0 - False, 1 = True 顏色 位置 / 地址 / 指令 但 n 位只能代表 2n 個不同的對象邏輯型邏輯型數(shù)據(jù)數(shù)據(jù)邏輯型數(shù)據(jù)只有兩個值:邏輯型數(shù)據(jù)只有兩個值:真真 和和 假假,正好可以用二進制碼的兩個符號分別表示,正好可以用二進制碼的兩個符號分別表示,例如例如 1 表示表示 真真 則則 0 表示表示 假假不必使用另外的編碼規(guī)則。不必使用另外的編碼規(guī)則。對邏輯型數(shù)據(jù)可以執(zhí)行邏輯的對邏輯型數(shù)據(jù)可以執(zhí)行邏輯的 與與 或或 非非等等基本邏輯運算。其規(guī)則如下:基本邏輯運算。其規(guī)則如下:邏輯型數(shù)據(jù)邏輯型數(shù)據(jù)基本運算規(guī)則基本運算規(guī)則 X Y X與Y X或Y X的非 0

14、 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 字符型字符型數(shù)據(jù)的表示數(shù)據(jù)的表示 字符作為人字符作為人機聯(lián)系的媒介,是最重要機聯(lián)系的媒介,是最重要的數(shù)據(jù)類型之一,當前的西文字符集由的數(shù)據(jù)類型之一,當前的西文字符集由 128 個符號組成,通常用個符號組成,通常用 8 位二進制編碼位二進制編碼,即即用用一個字節(jié)來表示每一個符號一個字節(jié)來表示每一個符號,當前通用的兩,當前通用的兩個標準字符集是:個標準字符集是:ASCII 碼碼: 即即 American Standard Code for Information InterchangeUNICODE: IS10646 A

15、SCII碼字符集具體編碼如下表所示:碼字符集具體編碼如下表所示: ASCII字符編碼集字符編碼集 b6 b5 b4 000 001 010 011 100 101 110 111 b3 b2 b1 b0 0000 NUL DLE SP 0 P , p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ETB 7 G W g

16、 w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K k 1100 FF FS , N n 1111 SI US / ? O _ o 字符串的表示與存儲字符串的表示與存儲 字符串是指連續(xù)的一串字符,它們占據(jù)主存中連續(xù)的字符串是指連續(xù)的一串字符,它們占據(jù)主存中連續(xù)的多個字節(jié),每個字節(jié)存放一個字符,對一個主存字的多個字節(jié),每個字節(jié)存放一個字符,對一個主存字的多個字節(jié),有按從低位到高位字節(jié)次序存放的,也有多個字節(jié),有按從低位到高位字節(jié)次序存放的,也有按從高位到低位字節(jié)次序

17、存放的。表示字符串數(shù)據(jù)要按從高位到低位字節(jié)次序存放的。表示字符串數(shù)據(jù)要給出串存放的主存起始地址和串的長度。例如:給出串存放的主存起始地址和串的長度。例如:IF AB THEN READ(C)就可以有如下不同的存放方式:就可以有如下不同的存放方式: I F A A F I B T T B 假定每個字假定每個字 H E N N E H 由由 4 個字節(jié)個字節(jié) R E A D D A E R 組成組成 ( C ) ) C (UNICODE編碼 使用16位表示一個字符,可以表示65536個字符 將整個編碼空間劃分為塊,每塊為16的整數(shù)倍,按塊進行分配。 保留6400個碼點供本地化使用。 并無法覆蓋所有

18、字符。進位記數(shù)法與進制轉換進位記數(shù)法與進制轉換進位記數(shù)法進位記數(shù)法N N=i=mD Di* *irN 代表一個數(shù)值代表一個數(shù)值r 是這個數(shù)制的基是這個數(shù)制的基(Radix)i表示這些符號排列的位號表示這些符號排列的位號Di是位號為是位號為i i的位上的一個符號的位上的一個符號ri是位號為是位號為i i的位上的一個的位上的一個 1 1 代表的值代表的值irDi*是第是第i i位的所代表的實際值位的所代表的實際值表示表示m+k+1m+k+1位的值求累加和位的值求累加和 -k十進制轉二進制十進制轉二進制整數(shù)部分除整數(shù)部分除2 2取余取余 小數(shù)部分乘小數(shù)部分乘2 2取整取整2 1 1222521011

19、010.625 * 210.25 * 200.5 * 21 0.0 除盡為止除盡為止 求得位數(shù)滿足要求為止求得位數(shù)滿足要求為止低低高高高高低低從二進制數(shù)求其十進制的值,逐位碼權累加求和從二進制數(shù)求其十進制的值,逐位碼權累加求和二到八或十六進制轉換二到八二到八 從小數(shù)點向左右從小數(shù)點向左右三位一分組三位一分組(10 011 100 . 01)10 011 100 . 01)2 2 = ( 234 . 2 ) = ( 234 . 2 )8 8 010 010 二到十六二到十六 從小數(shù)點向左右從小數(shù)點向左右四位一分組四位一分組(1001 1100 . 01)1001 1100 . 01)2 2 =

20、( 9C . 4 ) = ( 9C . 4 )1616 01000100 說明:說明:整數(shù)部分不足位數(shù)對轉換無影響,整數(shù)部分不足位數(shù)對轉換無影響, 小數(shù)部分不足位數(shù)要補零湊足,小數(shù)部分不足位數(shù)要補零湊足, 否則出錯。否則出錯。二二 十進制編碼(十進制編碼(BCD編碼)編碼)用四位二進制表示一位十進制,用四位二進制表示一位十進制, 16個編碼狀態(tài)選用其中的個編碼狀態(tài)選用其中的10個編碼個編碼有多種方案,例如:有多種方案,例如:8421碼,余碼,余 3 碼,循環(huán)碼碼,循環(huán)碼又可區(qū)分為:又可區(qū)分為:有權碼:每位上的有權碼:每位上的 1 代表確定的值代表確定的值無權碼:無法確定每位上的無權碼:無法確定

21、每位上的 1 代表的值代表的值0 0000 0011 0000 00001 0001 0100 0001 01112 0010 0101 0011 01103 0011 0110 0010 01014 0100 0111 0110 01005 0101 1000 1110 10116 0110 1001 1010 10107 0111 1010 1000 10018 1000 1011 1100 10009 1001 1100 0100 1111有權碼有權碼 無權碼無權碼8421余余3碼碼 循環(huán)碼循環(huán)碼 84-2-1如何判定碼權如何判定碼權 0 0000 1 0111 4 +(-2)+(-1)

22、 2 0110 4 +(-2) 驗證每個碼的值驗證每個碼的值 3 0101 4 +(-1) 4 0100 4 從一編碼求碼權從一編碼求碼權 5 1011 8 +(-2)+(-1) 6 1010 -2 結論結論 7 1001 -1 證明此編碼系統(tǒng)為有權碼證明此編碼系統(tǒng)為有權碼 8 1000 8 9 1111 8 + 4 +(-2)+(-1)如何判定碼權如何判定碼權 0 0011 2+1 = 0 驗證各碼的值驗證各碼的值 1 0100 1 從一編碼求碼權從一編碼求碼權 2 0101 1 3 0110 2 4 0111 5 1000 6 1001 結論結論 7 1010 證明此編碼系統(tǒng)為無權碼證明此

23、編碼系統(tǒng)為無權碼 8 1011 9 1100 數(shù)值數(shù)據(jù)在計算機內的格式數(shù)值數(shù)據(jù)在計算機內的格式定點小數(shù)定點小數(shù): N = N N N .Ns-1-n-2整整 數(shù)數(shù) : N = N N N . N N01snn-1浮點數(shù)浮點數(shù): N = M E E .E E M M .M ssm-110-1-2-n符號位符號位 階碼位階碼位 尾數(shù)數(shù)碼位尾數(shù)數(shù)碼位 總位數(shù)總位數(shù) 短浮點數(shù)短浮點數(shù): 1 8 23 32長浮點數(shù)長浮點數(shù): 1 11 52 64 臨時浮點數(shù)臨時浮點數(shù): 1 15 64 80IEEE 標準:標準: 階碼用移碼,階碼用移碼,尾數(shù)用原碼尾數(shù)用原碼 基為基為 2數(shù)值數(shù)據(jù)在計算機內的格式數(shù)值數(shù)據(jù)

24、在計算機內的格式定點小數(shù)定點小數(shù): N = N N N .Ns-1-n-2整整 數(shù)數(shù) : N = N N N . N N01snn-1浮點數(shù)浮點數(shù): N = M E E .E E M M .M ssm-110-1-2-n符號位符號位 階碼位階碼位 尾數(shù)數(shù)碼位尾數(shù)數(shù)碼位 總位數(shù)總位數(shù) 短浮點數(shù)短浮點數(shù): 1 8 23 32長浮點數(shù)長浮點數(shù): 1 11 52 64 臨時浮點數(shù)臨時浮點數(shù): 1 15 64 80IEEE 標準:標準: 階碼用移碼,階碼用移碼,尾數(shù)用原碼尾數(shù)用原碼 基為基為 2數(shù)值數(shù)據(jù)在計算機內的格式數(shù)值數(shù)據(jù)在計算機內的格式定點小數(shù)定點小數(shù): N = N N N .Ns-1-n-2整整

25、 數(shù)數(shù) : N = N N N . N N01snn-1浮點數(shù)浮點數(shù): N = M E E .E E M M .M ssm-110-1-2-n符號位符號位 階碼位階碼位 尾數(shù)數(shù)碼位尾數(shù)數(shù)碼位 總位數(shù)總位數(shù) 短浮點數(shù)短浮點數(shù): 1 8 23 32長浮點數(shù)長浮點數(shù): 1 11 52 64 臨時浮點數(shù)臨時浮點數(shù): 1 15 64 80IEEE 標準:標準: 階碼用移碼,階碼用移碼,尾數(shù)用原碼尾數(shù)用原碼 基為基為 2定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn X = X = X =原原 X 1 - X -1 X 0反反 X(2 - 2 )+ X-n0 X 1-1 X 0補補 X 2 + XMo

26、d ( 2 - 2 )0 X 1-1 X 0Mod 20 X 1-n(純小數(shù))原碼,反碼,補碼的定義(純小數(shù))原碼,反碼,補碼的定義定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn 原原 碼碼 定義:定義: X 原原 = 實例:實例:X1 = 0.10110 -0.10110 0.0000 X 原原 = 010110 110110 00000 10000 結論:結論:原碼原碼為符號位加數(shù)的絕對值,為符號位加數(shù)的絕對值,0正正1負負 原碼原碼零有兩個編碼,零有兩個編碼,+0和和 -0編碼不同編碼不同 原碼原碼難以用于加減運算,但乘除方便難以用于加減運算,但乘除方便 X 1 - X -1 X 0

27、 0 X 1定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn 反反 碼碼定義:定義: X 反反 = 實例:實例:X1 = 0.10110 -0.10110 0.0000 X 反反 = 010110 101001 00000 11111 結論:反碼為符號位跟數(shù)每一位的反,結論:反碼為符號位跟數(shù)每一位的反,0正正 1 負負 反碼零有二個編碼,分反碼零有二個編碼,分+0 和和 -0 反碼難以用于加減運算,有循環(huán)進位問題反碼難以用于加減運算,有循環(huán)進位問題 X (2-2-n) + X -1 X 0 MOD (2-2-n) 0 X 1定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn 模模 2 補碼補

28、碼 定義:定義: X 補補 = 實例:實例:X = 0.10110 -0.10110 0.0000 X 補補 = 010110 101010 00000結論:補碼最高一位是符號位,結論:補碼最高一位是符號位,0正正 1 負負 補碼表示為補碼表示為 2*符號位符號位 + 數(shù)的真值數(shù)的真值 補碼零只有一個編碼,故能表示補碼零只有一個編碼,故能表示 -1 補碼能很好地用于加減(乘除)運算補碼能很好地用于加減(乘除)運算 X 2 + X -1 X 0 MOD 2 0 X 1整數(shù)的編碼表示整數(shù)的編碼表示整數(shù)的整數(shù)的 原碼原碼 反碼反碼 補碼補碼 表示表示與小數(shù)的三種表示基本相同,與小數(shù)的三種表示基本相同

29、,差別僅表現(xiàn)在小數(shù)點的位置,差別僅表現(xiàn)在小數(shù)點的位置,可以認為整數(shù)的小數(shù)點在最低數(shù)值位的右側可以認為整數(shù)的小數(shù)點在最低數(shù)值位的右側因此整數(shù)的模與整數(shù)位數(shù)有關,因此整數(shù)的模與整數(shù)位數(shù)有關,講課中不大用整數(shù)講講課中不大用整數(shù)講 原原 反反 補補 碼定義碼定義例如:整數(shù)八位碼:例如:整數(shù)八位碼: X = +01110 X原原= 0 01110 X補補= 0 01110 X = - 01110 X原原= 1 01110 X補補= 1 10010補碼表示中的符號位擴展補碼表示中的符號位擴展由由 X補補 求求 X / 2補補 的方法的方法 原符號位不變,原符號位不變, 且符號位與數(shù)值位均右移一位,例如,且符號位與數(shù)值位均右移一位,例如,X補補 =10010 則則 X/2補補 =110010不同位數(shù)的整數(shù)補碼相加減時,不同位數(shù)的整數(shù)補碼相加減時, 位數(shù)少的補碼數(shù)的符號位向左擴展,位數(shù)少的補碼數(shù)的符號位向左擴展, 一直擴展到與另一數(shù)的符號位對齊。一直擴展到與另一數(shù)的符號位對齊。 01010101110000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論