数字系统与资料表示法课件.ppt

上传人(卖家):ziliao2023 文档编号:6489121 上传时间:2023-07-16 格式:PPT 页数:157 大小:2.27MB
下载 相关 举报
数字系统与资料表示法课件.ppt_第1页
第1页 / 共157页
数字系统与资料表示法课件.ppt_第2页
第2页 / 共157页
数字系统与资料表示法课件.ppt_第3页
第3页 / 共157页
数字系统与资料表示法课件.ppt_第4页
第4页 / 共157页
数字系统与资料表示法课件.ppt_第5页
第5页 / 共157页
点击查看更多>>
资源描述

1、2021/8/5p.012021/8/5p.01p電腦,顧名思義,它必須是有電電才有腦腦的,它是由許多電子電路所組合而成,它以1代表開,而以0代表關。p對於任一條電路,它只能有導電1或不導電0兩種狀況,這也構成了電腦的基本單位,我們稱它為位元位元(Bit),而這種只有0或1兩種狀態的系統就叫二進位系統二進位系統(binary system)。2021/8/5p.01p在日常生活中,我們習慣於使用十進位十進位(由0、1、2至9所組成,逢10就進位)。舉例而言,若班上有52位同學,使用十進位只要二位數就夠了,因為十進位的二位數可代表0到99,共有100種狀況。而在電腦中呢?因為它使用二進位(由0至

2、1所組成,逢2就進位),故一位數只能代表兩種狀況,二位數只能代表四種狀況,請看右表:所以,班上有52位同學,若要用二進位來編座號,那至少得要有六位數才夠。2021/8/5p.01現在請看看您的鍵盤,鍵盤上的AZ共有二十六個字元,小寫的az又有二十六個字元,09有十個字元,再加上特殊符號(!#%&*等)就超過九十三個字元了。而您在鍵盤所按下的每個字元都得是不同的代碼,電腦才能得以識別。例如以ASCII碼來說,您按下”A”,它將傳送01000001的訊息至主記憶體中,而後在螢幕上顯示”A”。如果是”B”呢?它傳達的訊息是01000010。所以,電腦的基本單位是位元位元(Bit),但一個位元只能代表

3、兩種狀況根本不敷使用,所以它將8個位元,組成一個位元組位元組(byte)。8位元位元(bit)=1位元組位元組(byte)因為一個位元組(8 bit)共有28=256 種狀況,已足以代表鍵盤上的任一按鍵及功能鍵了。2021/8/5p.01p對於使用英文的國家而言,都是由大小寫的AZ所組成的。但對於中文呢?教育部編地的常用字有4800字,次常用字有7652字,再加上不常用字共有13053字,區區的一個位元組怎夠用呢?如果使用兩個位元組呢?p兩個位元組共有65536種狀況,已足以代表任一中文字了,故一個中文字是由兩個位元組所組成的。p所以,電腦的基本單位是位元(Bit)而一個位元組(8 bit)能

4、代表任一字元(character),亦即字元、數字或特殊符號;而對於中文字則須以兩個位元組來儲存。2021/8/5p.01時至今日,電腦的儲存容量是相當大的,因為一個Byte只能代表一個小量的資訊,所以電腦記憶體和儲存媒體的容量通常以千位元組(1,024 byte),百萬位元組(1,048,576 byte),或十億位元組(1,073,741,824 byte)來表示。故byte的縮寫為大寫的B,若為小寫的b則是bit的意思。一個中文字需2 bytes來表示,若以60G的硬碟而言,約可容納30億個中文字,60億個英文字,因此要放入整個圖書館的資料是輕而易舉的事。2021/8/5p.01p數位數

5、位(Digital)在電腦中大部分所常見的資訊處理是以二進制位元的組合來編碼、儲存。也就是以兩個狀態(邏輯上的開與關)來代表兩個電壓的層次,並用以代表所有的資訊,包含文字、數字、圖形符號、程式命令。在這種情況下,電腦內的各電路元件之狀態會連續的改變,以移動、操作或儲存資料。一般而言是以高電壓和低電壓來呈現資訊,不像類比訊號是連續不斷變動的。2021/8/5p.01p類比類比(Analog)某種裝置或訊號在數量或強度上具有連續不斷變動的屬性(如電壓或音頻訊號),而不是以斷續的訊號為基礎(如電腦訊號中的0與1)。2021/8/5p.01p另外為了因應某些工作上的需求,我們需要將數位數位與類比類比訊

6、號做轉換,如工程師需要將電壓轉換成數據顯示在電腦上;或需要將溫度以數據表現等。這時候就需要ADC(類比至數位轉換器)或DAC(數位至類比轉換器),就是將連續變動訊號轉換成二進碼或反之。2021/8/5p.01p在日常生活中,我們最常用的數字系統是十進位的,也就是以0、1、29共十個數字來作為計數的基底基底(base),逢10就進位了。但也有使用其他進制的,例如斤有16兩,兩有16錢,這就使用16進位系統。而時間呢?一小時有60分鐘,分有60秒,這就是60進位系統了。p對於電腦呢?它的基本單位是位元(Bit),只能代表0或1兩種符號,所以它使用的是二進位系統,也就是說它只能有0與1二個數字,逢2

7、就進位了。2021/8/5p.01p請看底下的十進制吧!其中的5是千位數,故得乘上10的3次方而2為十位數,故乘上10的1次方8為個位數,於是乘上10的0次方,小數點以後的呢?它即由左而右依次為10的-1次方、10的-2次方方才說過,日常生活中我們最常使用十進制,這也就有如以下的問題:2021/8/5p.013斤斤11兩,要怎麼算出共有幾兩呢兩,要怎麼算出共有幾兩呢?它的計算方法如下:它一共有59兩2021/8/5p.01又如又如3小時小時24分分12秒,要怎麼算出一共有幾秒呢秒,要怎麼算出一共有幾秒呢?請看如下的計算方法:答案是12252秒2021/8/5p.01p接下來的問題,二進位的接下

8、來的問題,二進位的101011是十進位的多少呢是十進位的多少呢?答案是十進位的 43 現在您已了解如何將二進位轉換成十進位了吧!而為什麼您要了解如何將二進位轉換為十進位呢?因為電腦只懂得二進位,而我們習慣看的是十進位,故電腦得將最終的答案由二進位轉換成十進位於螢幕上秀出給您看,它的原理就是如此!2021/8/5p.01p反過來,您要如何將十進制轉換為二進制呢?當您要將十進位的數字轉換乘二進位時,只要將該十進制的值一直除以2,求出它的餘數,直至商小於除數即可。例如本例即除至商為1(已小於除數的2)最後,您只要寫下商值,再將餘數由下至上,一次寫下即得如下的二進位數值2021/8/5p.01p請看底

9、下的二進位數值請看底下的二進位數值:有問題了吧!您只看到一堆0與1,但還要解讀共有幾個0幾個1、以及前後順序為何,這根本是個難題!所以,為了方便閱讀或記憶,人們想出了各種不同的速記法,來取代二進制系統,這其中以八進位系統八進位系統(octal system)與十六進位系統十六進位系統(hexade cimal system)最為普遍,也最方便轉換。八進位以0、1、27,共八個數字來做為基底,逢8就進位,所以在八進位系統中,您只能看到07的八個數字。為何二進位與八進位容易轉換呢?因為二進位的3位數正好等於八進位的1位數(23=8),故只要將二進位的值由右至左,每3位取成一單位就可直接轉換成八近位

10、了。請看下表:2021/8/5p.01p二進位的000至111轉換成八進位正好是07。故:您看!二進位的1000111101轉換成八進位是1075。這又是個問題了,如果您先寫出1075,又如何判別這是十進位或八進位呢?在數字的表示法中,我們將基底至於數字的右下角,以示出它是哪種進位系統!例如10758代表是八進位制的,而107510或1075(未標示基底)則代表為十進位制的,通常我們習慣使用十進位制,故未標示基底時,就表示為十進位制。2021/8/5p.01p就像一斤共有16兩一樣,十六進位系統是逢16才進位,所以它需要有能代表0、1、215的值,這十六個值必須是一位數的,阿拉伯數字的0、19

11、一共才十個值,還少了六個,所以十六進位制就以A、B、C、D、E、F來代表10、11、12、13、14、15。2021/8/5p.01p前面曾經說過二進位與十進位之間的轉換,其實八進位、十六進位與十進位之間的轉換也是相同的做法,只是其基底不同而已。p底下即示範將十進位的125轉換成八進位:當您需要將十進位的數字轉換成八進位時,只要將該十進制的值,一再除以8求出它的餘數,直至商小於除數為止。例如本例即除至商為1(已小於除數的8),最後,您只要寫下商值,再將餘數由下至上一次寫下,即得該八進位數值:2021/8/5p.01p如何在二進位、八進位與十六進位之間進行轉換呢如何在二進位、八進位與十六進位之間

12、進行轉換呢?先前曾談到,二進位由右至左依序取3位可轉換成八進位,依序取4位可轉換成十六進位。故反過來,若要將八進位轉換成二進位,只要將八進位的每一位數轉換成3位數的二進位。如果是十六進位呢?那只要將它每一位數轉換成4位數的二進位即可。底下即示範將175的八進位轉換成二進位:由上述可知1758為二進位的11111012,前置0是可以省略的。例如十進位的069就等於69。2021/8/5p.01p底下再示範將十六進位的底下再示範將十六進位的23D 轉換為二進位:轉換為二進位:由上述可知由上述可知23D8為二進位的為二進位的10001111012。同樣的,前置同樣的,前置0是可以省略的。是可以省略的

13、。2021/8/5p.01p上面所談的都是整數之間的轉換,如果有小數呢上面所談的都是整數之間的轉換,如果有小數呢?底下即示範將含小數的二進位制轉換成十進制:由上表得知由上表得知2021/8/5p.01p反過來,若您要將十進位的反過來,若您要將十進位的45.625轉換成二進位呢?轉換成二進位呢?它的處理步驟如下:1.首先請將十進制的值分開成整數部分與小數部分。例如45.625的整數部分為45,而小數部分為0.625。2.將整數部分轉換成二進制。這在前面已談過了,45轉換成二進制為101101。3.將小數部分轉換成二進制。整數部分要轉換成二進制要一直除以2,直至商小於2為止。反過來呢?小數部分要一

14、直乘以2,取乘績的整數部分,直至小數部分為0或出現循環為止。請看以下示範:2021/8/5p.014.將整數部分與小數部分合併 本例的整數部分為101101 小數部分為.101 故合併後為101101.101故本例的小數部位為.1012021/8/5p.01什麼時候小數的部份會造成循環呢什麼時候小數的部份會造成循環呢?底下即示範將十進位的21.6 轉換八進位。它與轉換成二進位的做法完全相同,只是基底不同而已。1.將十進制的數字分成整數與小數二部分 21.6的整數部分為21,而小數部分為0.6。2.將整數部分換成八進制。故2110轉換成八進制為2583.將小數部分轉換成八進制 整數部分需一直除以

15、8,直至商小於8為止,反過來說呢?小數部分需一直乘以8,直至乘績的小數部分為0或造成循環為止。2021/8/5p.014.將整數部分與小數部份合併 本例的整數部分為25 小數部分為.4631 故轉換後的八進位值為25.46318故本例的小數部份為 46312021/8/5p.01H9XB1OO,OO=學號學號p2進位的進位的(學號學號)位數字可代表幾種情況?位數字可代表幾種情況?p學號學號10=()2p學號學號16=()2p學號學號8=()16p學號學號8=()10p學號學號10=()16p學號學號.學號學號10=()2(請抄題目並含演算過程以請抄題目並含演算過程以Word方式繳交。記得寫姓名

16、及學號方式繳交。記得寫姓名及學號)2021/8/5p.01p上節所談到的數字系統,它能正確的表示出整數,也可代表出包含有小數的數字,但所處理的都是正數。p對於數值,它也可能會有負數的,那如果要處理的數值包含有正負數,在電腦中可用什麼方式來表示呢?p本節即介紹較為知名的幾種表示法:2021/8/5p.01p如果數值是有正數也有負數,那很簡單呀!它不是正數就是負數,而一個位元(Bit)可代表 0 或 1 兩種狀態,我們取其最高位元來代表正負數,以0代表正數,而以1代表負數,那不就得了。p以一個位元組來講,若它所儲存的資料並沒有負數(例如庫存的庫存量、單價),那8個位元可代表256(28=256)種

17、狀況,它的數字範圍可為0255。請看此表:2021/8/5p.01如果您要以帶符號大小來表示呢如果您要以帶符號大小來表示呢?那它能代表的範圍為那它能代表的範圍為-127 +127。請看底下說明:上式代表+5,最高位元的0代表正數,其後的7個位元代表數字。2021/8/5p.01由上述兩表您可看到,對於0,有+0與-0兩種表示法。除此之外,以帶符號大小的表示法,其加/減法器的邏輯電路並不易設計,故不被電腦所採用。承上頁正數的範圍請參考下表:負數的範圍請參考下表:2021/8/5p.01p對於對於1S補數,它的正數範圍其表示式與帶符號補數,它的正數範圍其表示式與帶符號大小是完全一樣的,亦即以最高位

18、元的大小是完全一樣的,亦即以最高位元的0代表正代表正數,其後的各位元代表大小,請您參考上一小數,其後的各位元代表大小,請您參考上一小節的正數範圍。節的正數範圍。2021/8/5p.01而對於負數呢而對於負數呢?它是取其正數的表示法,而後將所有的0改為1,將所有的1改為0,以此來代表負數。所以,在1S補數表示法補數表示法中,一個位元組能代表的範圍仍為-127+127,其中的0也有+0與-0二種表示法。為了改進此缺點,電腦目前使用的是下一小節所介紹的2S補數。2021/8/5p.01p2S補數補數比1S補數補數多1,它的正數範圍其表示是與1S補數表示補數表示法法是一樣的(帶符號大小的表示法也一樣)

19、。而對於負數呢?它是以1S補數法補數法再加1來代表該負數。p舉例來說,00000101是+5,如果要表示-5呢?以1S補數表示法補數表示法就是將所有的0與1對調,故11111010為-5的的2S補數表示法補數表示法。而2S補數表示法補數表示法呢?它將11111010再加1,得11111011,故11111011為-5的的2S補數表示法補數表示法。它有怎樣的差異呢?2021/8/5p.01所以,在2S補數表示法中,一個位元組(8bit)所能代表的範圍為-128-(27)+127+(27-1)。而在資料庫系統中,如此的範圍是太小了,故它以二個位元組(8bit2=16 bit)來代表整數整數欄位,它

20、的儲存範圍為-32768-(215)32767+(215-1)。您看!所謂的+0與-0,在帶符號大小與1S補數表示法補數表示法中都有兩種表示方式。在2S補數表示法補數表示法中終於統一了。不管是+0或是-0,在2S補數表示法補數表示法中就是00000000。2021/8/5p.01請看右表:請看右表:如果在資料庫系統中,某薪資的欄位內您要儲存的是整數,但又怕+32767不夠大(某些人的薪資是十幾萬的),那也沒關係,您可指定該欄位以長整長整數數(它佔用個位元組的空間,共有8bitx4=32bit)來儲存,它能儲存的範圍為-2,147,483,648+2,147,483,647,怎樣?夠大了吧!20

21、21/8/5p.01p除了整數的儲存外,對於實數的儲存,電腦是採用一種依科學記除了整數的儲存外,對於實數的儲存,電腦是採用一種依科學記號演變而來的浮點表示法。號演變而來的浮點表示法。那什麼是浮點表示法呢?那什麼是浮點表示法呢?請看底下例子:它將整個數字以正負符號、小數部位及偏移指數來表示。-314726800.45=-31472.680045x104=-3.1472680045x108=-0.31472680045x1092021/8/5p.01請再看底下的例子:上面的等式都是成立的,但在電腦的儲存中,它必須有個統一的標準,此即所謂正規化正規化(normalization),亦即它必須使整數的

22、部位為0,而小數點之後的第一位不得為0。現在請再看上數的各個等式,正規化的表示式該是0.11010110011011 210因為它的整數部位是0,而小數點之後的第一位數為1。如此在電腦中,它只要儲存它是正數正數、小數部位的值小數部位的值及多少次方多少次方即可。2021/8/5p.01H9XB1OO,OO=學號學號p-(學號學號)10 以以”帶符號大小帶符號大小”的的2進位進位8位數表示法為?位數表示法為?p-(學號學號)10 以以”1S補數補數”的的2進位進位8位數表示法為?位數表示法為?p-(學號學號)10 以以”2S補數補數”的的2進位進位8位數表示法為?位數表示法為?p-(學號學號.25

23、)10的的2進位正規化表示為?進位正規化表示為?p-(學號學號.25)10以以ANSI Standard的的32位元浮點表示法位元浮點表示法為?為?(請抄題目並寫出答案以請抄題目並寫出答案以Word方式繳交,記得寫姓名及學號。方式繳交,記得寫姓名及學號。)2021/8/5p.01p帶正負號帶正負號整數整數10的的2進位表示法進位表示法帶符號大小帶符號大小1S補數補數2S補數補數正數正數(8bit)完全相同完全相同00000000 +000000001 +1/01111110 +12601111111 +12700000000 +000000001 +1/01111110 +1260111111

24、1 +12700000000 +000000001 +1/01111110 +12601111111 +127負數負數(8bit)10000000 -010000001 -1/11111110 -12611111111 -12711111111 -011111110 -1/10000001 -12610000000 -12700000000 -011111111 -1/10000001 -12710000000 -128n-bit-(2n-1-1)+(2n-1-1)-(2n-1-1)+(2n-1-1)-(2n-1)+(2n-1-1)2021/8/5p.01p除了整數的儲存外,對於除了整數的儲存

25、外,對於實數實數的儲存,電腦是採用一種依科學記的儲存,電腦是採用一種依科學記號演變而來的浮點表示法。號演變而來的浮點表示法。那什麼是浮點表示法呢?那什麼是浮點表示法呢?請看底下例子:-314726800.45=-31472.680045x104=-3.1472680045x108=-0.31472680045x1092021/8/5p.01請再看底下的例子:上面的等式都是成立的,但在電腦的儲存中,它必須有個統一的標準,此即所謂正規化正規化(normalization),亦即它必須使整數的部位為0,而小數點之後的第一位不得為0。現在請再看上數的各個等式,正規化的表示式該是0.1101011001

26、1011 210因為它的整數部位是0,而小數點之後的第一位數為1。如此在電腦中,它只要儲存它是正數正數、小數部位的值小數部位的值及多少次方多少次方即可。2021/8/5p.01正規化:正規化:0.有效數字有效數字 x 2次方次方1-bit次方次方2有效數字有效數字(2-12-22-3.)32 bits:0為正,為正,1為負為負正負整數值正負整數值2021/8/5p.01pANSI(American National Standard Institute)1-bit7-bit 次方次方224-bit 有效數字有效數字(2-12-22-32-24)32 bits+62.7510=+111110.1

27、12 =+0.111110112x 2+6 =0 1000110 111110110000000000000000-0.4062510=-0.011012 =-0.11012x 2-1 =1 0111111 11010000000000000000000000000000000001/01111111000000100000110000101000011100010010001011000110/1111110111111101/+63+64+65+66+67+68+69+70/+126+127-64-63/-10+1+2+3+4+5+6/+62+63次方:超次方:超64法法2021/8/5p

28、.01pIEEE-754(Institute of Electrical and Electronics Engineers)1-bit8-bit 次方次方223-bit 有效數字有效數字(2-12-22-32-23)正規化:正規化:1.有效數字有效數字 x 2次方次方+62.7510=+111110.112 =+1.11110112 x 2+5 =0 10000100 111101100000000000000000-0.4062510=-0.011012 =-1.1012 x 2-2 =1 01111101 1010000000000000000000000000000000000001/

29、0111110101111110011111111000000010000001100000101000001110000100/111111101111111101/+125+126+127+128+129+130+131+132/+254+255例外例外-126/-2-10+1+2+3+4+5/+127例外例外32 bits次方:超次方:超127法法2021/8/5p.01pANSI與與IEEE-754的比較的比較n相同:均以以32-bit來表示帶有正負號的實數來表示帶有正負號的實數的表示法的表示法。n相異:ANSIIEEE正規化正規化 0.有效數字有效數字 x 2次方次方 1.有效數字有

30、效數字 x 2次方次方規格規格1-7-241-8-23次方次方超超64法法(-64+63)超超127法法(-126+127)小數小數相同相同相同相同2021/8/5p.01H9XB1OO,OO=學號學號p-(學號學號)10 以以”帶符號大小帶符號大小”的的2進位進位8位元數表示法位元數表示法為?為?p-(學號學號)10 以以”1S補數補數”的的2進位進位8位元表示法為?位元表示法為?p-(學號學號)10 以以”2S補數補數”的的2進位進位8位元表示法為?位元表示法為?p-(學號學號.6875)10的的ANSI正規化正規化=?p-(學號學號.6875)10以以ANSI 的的32位元浮點表示法為?

31、位元浮點表示法為?p-(學號學號.6875)10的的IEEE正規化正規化=?p-(學號學號.6875)10以以IEEE-754 的的32位元浮點表示法為?位元浮點表示法為?(請抄題目並寫出答案以請抄題目並寫出答案以Word方式繳交。記得寫姓名及學號方式繳交。記得寫姓名及學號)2021/8/5p.012021/8/5p.01p透過透過內儲程式內儲程式的控制,配合適當的控制,配合適當(時時)的的Input,產,產生正確的生正確的Output的機器。的機器。p電腦的電腦的5大架構大架構nC.U.(Control Unit)nA.L.U.(Arithmetic&Logic Unit)nMemorynI

32、nput1.OutputC.P.U.(Central Processing Unit)I/O有缺陷,所以需要有缺陷,所以需要輔助記憶體輔助記憶體2021/8/5p.01程式 資料MemoryCPUC.U.A.L.U.InputOutputA.S.(Auxiliary Storage)輔助記憶體指令資料存取2021/8/5p.01pMemory實作之缺陷實作之缺陷n速度太慢 階層式記憶體(Memory Hierarchy)解決,如:快取記憶體(Cache)n容量有限n揮發性記憶體(Volatile Storage)n快閃記憶體(Flash Memory)nRAM(Random Access Me

33、mory)nMain Memory主體,有volatile。nROM(Read Only Memory)1.唯讀,沒有volatile,將程式燒入其中,開機時將作業系統(Operating System)搬入Memory中。A.S.解決2021/8/5p.01pROM儲存程式分類儲存程式分類p自我檢查程式自我檢查程式pBootstrap載入載入:將:將OS載入載入Memory中中n(Bootstrap Loader):靴帶程式,可以上工了!nBIOS(Basic Input Output System)1.所有有關I/O操控程式的集合,以備其他程式呼叫。2021/8/5p.01pRegiste

34、r 暫存器暫存器(工人的口袋工人的口袋)n一排Flip/Flop(正反器),儲存一組資訊,速度極快,存CPU最近馬上要用/常用的資訊(資料,位址,指令)nCPU內有許多Registers(現在約十幾個,以後會更多250個nRegister可分為Data RegisternGeneral-Purpose Register:AX,BX,CX,DX等nAccumulator(累加器):Acc等Control Register1.Special-Purpose Register慢慢CPUMemory暫存器工人倉庫資料資料指令指令2021/8/5p.01pControl RegisternPC:Prog

35、ram Counter(計數器)n存電腦正要/將要執行的指令的位址nIR:Instruction Registern存電腦正在執行的指令內容nMAR(Memory Address Register)n決定Memory實際大小之上限nMBR(Memory Buffer Register)n決定電腦之位元數nFlag Register(旗標暫存器)1.存一串bits,分成數個欄位,每個欄位紀錄正在執行程式的某一狀態,代表某個狀態發生了沒?CUALUPCIRMemory位址+指令CPU.1 Giga Bytes=230MARMBR位址位址 30bits資料資料(指令指令)2021/8/5p.01p能

36、執行指令,處理資料的電路,平時不作用,只能執行指令,處理資料的電路,平時不作用,只執行特定指令,專門負責執行特定指令,專門負責CPUn不會做不會做:如80386時代80486之80387浮點算器,目前之DSP數位訊號處理器(Digital Signal Processor)等。n不願做不願做:如I/O指令由I/O processor負責,因為CPU執行速度快(us),而I/O速度慢(ms)。為使CPU速度不被I/O拖住,所以以I/O processor代為執行,可使CPU以Multi-programming方式,多工處理多個程式。nI/O processor又稱為又稱為channel(通道通道

37、)1.PC(Personal Computer)以以DMA(Direct Memory Access)代替代替I/O processor。沒有I/O processor窮人的I/O processor2021/8/5p.01pAddress bus pData BuspControl BusCPU.MARMBRR/W Address單向單向MemoryALE送位址門鎖送位址門鎖DIR方向方向DEN 送資料送資料 雙向雙向Address Letch EnableData ENable2021/8/5p.01pCPU/電腦中最複雜的部分電腦中最複雜的部分p製作方式製作方式nHardwired(硬體

38、接線):將C.U.視為一種邏輯電路n1940s1960s,1985s未來n缺點:工程浩大費時修改不易n優點:速度快nMicro-programmed(微程式):將C.U.視為一ROM(Read Only Memory)n1960s1980s中n缺點:反應速度慢1.優點發展迅速修改方便2021/8/5p.01p指令:機器碼指令:機器碼 Machine code(一串一串0/1)抓指令抓指令執行執行OP-codeOperandsOperandsOperands運算碼運算碼運算元運算元動作動作對象對象2021/8/5p.01TimeInstruction Cycle(指令週期)S1S2S3S4 S1

39、:ADD DX,100BXpFetch Instruction 把指令抓進Memory中pDecode 解碼,CU發出該Op-code之控制訊號pOperand Addressing 找出運算元在Memory中的位址pOperand Fetch 抓取運算元pExecution 執行運算Write Back 將執行結果寫回Memory中2021/8/5p.01CISC:Complex Instruction Set Computer 複雜複雜 指令指令 集集 電腦電腦 六階段六階段RISC:Reduced Instruction Set Computer 簡單簡單 指令指令 集集 電腦電腦 四階

40、段四階段ADD AX,100BX AXAX+Mem100+BX Fetch Ins.DecodeOperand AddressingOperand FetchExecutionWrite backFetchDecodeExecutionWrite back2021/8/5p.01pRISC vs.CISCnCISC:1970s因以Micro-Programmed來製作C.U的方式(軟體)被重用,C.U的大小及功能被不斷擴充,所以指令集中的指令數目增加到500800個之多。nRISC:1970s末,IBM-801以Hardwired的方式(硬體)製作C.U,所需指令少,速度快。nRISC指令集架

41、構是由David Peterson(U.C Berkeley)及 John Hennessy(Stanford)所發揚光大。nWhy RISC?80%的CPU時間執行20%的基本指令。2021/8/5p.01RISCCISC指令數目指令數目100個之內個之內數百個數百個定址法定址法固定數種固定數種(Direct,Immediate等等)複雜而變化多複雜而變化多指令長度與格式指令長度與格式固定固定(4Bytes)各指令隨需要而不同各指令隨需要而不同指令週期指令週期固定固定各指令隨需要而不同各指令隨需要而不同控制邏輯控制邏輯HardwiredMicroprogrammed程式所需指令數目程式所需指

42、令數目較多較多較少較少特性特性較適用於較適用於Pipeline,Cache等設計等設計程式設計較簡單程式設計較簡單Code Size大大小小代表機型代表機型ALPHA,Power PC等等僅僅Pentium系列系列Register數目數目多多(數十數十數百個數百個)少少(數個數個)2021/8/5p.01pPipeline:將:將指令指令分成數個獨立階段分成數個獨立階段(stage),分,分別由不同之硬體負責,使連續指令能同時按順序別由不同之硬體負責,使連續指令能同時按順序在不同階段在不同階段重疊重疊(overlap)執行執行TimeInstruction Cycle(指令週期)F1S1S2S

43、3S4D1 E1 W1F1 D1 E1 W1F1 D1 E1 W1F1 D1 E1 W12021/8/5p.01pPipeline三大危障三大危障(Hazard)nStructural Hazard(結構危障):因硬體資源衝突 LOAD AX,100BXnData Hazard(資料危障):因連續指令有資料相依的關係nControl Hazard(控制危障):因更改控制流程指令如:Jump,Call,Return,Int 等F1S1S2S3D1 E1 W1F1 D1 E1 W1F1 D1 E1 W1同時作同時作Memory Access2021/8/5p.01pProblemsn增加電腦執行效

44、率(performance)的方法?nPipeline:可加快程式執行速度 nCache:可減少程式執行時間 n加快指令執行速度的方法?nCache nPipeline 1.Pipeline將延長指令週期(latency)2021/8/5p.01n窮人的I/O processorn除CPU之外唯一會主動透過Bus存取Memory,來執行I/O動作。(協調Bus,Cycle Stealing)pDMA使用使用Bus作作I/O的方式的方式nCycle Stealing:DMA向CPU借Bus,趁CPU不用Bus時,作一次存取。nBurst Mode I/O一旦借到Bus使用權,就一直用到完成I/O

45、為止。CPUDMACMemoryBufferDiskBufferBus*DMA使用使用Bus的優先權比的優先權比CPU高?高?因為因為DMA使用使用Bus的頻率遠比的頻率遠比CPU低低2021/8/5p.01pVirtual Memory(虛擬記憶體虛擬記憶體)p使user 執行program時,能不受限於實際memory的大小,主要是O.S(作業系統)的技術配合硬體完成)。pMemory Hierarchy Concept(階層式記憶體概階層式記憶體概念念)pCache(快取記憶體快取記憶體)pDisk/Tape(磁碟磁碟/磁帶磁帶)2021/8/5p.01pMemory Hierarchy

46、 Concept(階層式記憶體概念階層式記憶體概念)n透過多層次記憶元件,考量效能(Performance),容量(capacity),成本(Cost)等因素,所作成的記憶體配置。Register Cache Main Memory Disk Tape愈快愈快 速度速度 愈慢愈慢愈昂貴愈昂貴 價格價格 愈便宜愈便宜愈小愈小 容量容量 愈大愈大2021/8/5p.01MainMemoryROMRAMMask ROM 已寫入資料的ROMProgrammable ROM 尚未寫入資料的ROMErasable PROM 可修改重置(抹去)的ROMElectrical EPROM 可以電壓寫入/抹去的R

47、OMFlash Memory 更新式的EEPROM(金氧半導體MOS技術),No Volatile,未來可取代RAM。SRAM(Static RAM):用Flip/Flop儲存,速度快,密度低(元件大),成本高,作Cache等快速記憶體,不不須須Refresh。DRAM(Dynamic RAM):用電容器製作,速度慢,密度高(元件小),成本低,為Main Memory的主體,須須Refresh。2021/8/5p.01p記憶體儲存方式分類記憶體儲存方式分類nSAM(Sequential Access Memory)循序存取記憶體n資料存取時間與資料所在位置有線性關係,適用於批次檔案及備份檔案,

48、如磁帶等。nRAM(Random Access Memory)隨選存取記憶體n資料存取時間與資料所在位置無關,存取時間為常數,如ROM,RAM等。nDAM(Direct Access Memory)直接存取記憶體n資料存取時間與資料所在位置有關,但不可預測,如Disk,CD-ROM等。nCAM(Content Access Memory)內容存取記憶體n以內容(資料)決定存取位置,如Cache2021/8/5p.01pCache:可有可無的記憶體可有可無的記憶體p存CPU最近常用的區塊:Cache大小約為主記憶體1/1000,卻可滿足CPU 95%以上的存取需求。p運用Locality of

49、Reference原理pTemporal locality:CPU存取某資料X,則未來馬上會再存取X,如變數資料,程式迴路(loop)等。1.Spatial locality:CPU存取某資料X,則未來馬上可能用下一個/前一個或附近的資料,如陣列資料,循序指令等。CPUCacheMain MemoryDataMem.Address時間上空間上2021/8/5p.01pCache 有三種結構有三種結構分類分類成本成本Cost效果效果Hit Rate失誤率失誤率Miss RateDirect mapped(貧民版貧民版)低廉低廉$5最差最差88%12%Fully Associative(尊王版尊王

50、版)昂貴昂貴$500000最好最好99.8%0.02%N-way set Associative(國民版國民版)便宜便宜$20$50很好很好9899%12%2021/8/5p.01p例:例:CPU存取存取Mem.須須200ns,存取,存取Cache須須10ns,若,若CPU執行指令中有執行指令中有1/3是是load/store指令,則在一個指令,則在一個90%hit rate的的Cache支援下,其指令執行速度支援下,其指令執行速度比沒有比沒有Cache時,加速多少倍?時,加速多少倍?pANS:加速(Speedup)=6.9倍此題中,如果此題中,如果hit rate=95%時,加速多少倍?時,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数字系统与资料表示法课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|