個人檔案

ID:yamol
暱稱yamol

MSN
123
我推薦誰
誰推薦我
每月文章彙集
Aug 2008(1)
Jul 2008(2)
Jun 2008(3)
May 2008(1)
Apr 2008(1)
Mar 2008(3)
Feb 2008(2)
Dec 2007(3)
Jul 2007(3)
Jun 2007(28)
最新的引用
誰來我家
人氣指數
當日人次:
累積人次:
自由欄位
RSS 訂閱
RSS2
ATOM
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam天空部落 本身立場。
POWERED BY
POWERED BY
會員登入免費註冊
    推薦這個部落格: 12
目前分類: 計算機結構    檢視方式: 列表 摘要
June 21, 2007
動處理器快取等級,無論是放在1、2或 3,都可以有不同的效能提昇層度。

當處理器速度愈來愈快,大部分的時間都浪費在等待資料上,為了解決這個問題,一種比較快速的記憶體應運而生,處理器的快取記憶體扮演一個被放在處理器與系統記憶體之間的重要角色。

Level 1(L1)快取記憶體的容量雖然非常小,但是放在處理器的裸經上,提供一個快速暫存的資料存取容量,Level 2(L2)快取記憶體就比較大足以存入整段程式碼,當處理器要資料的時候,快取記憶體馬上就可提供,這當然就可以提昇整體效能,若是要靠系統記憶體來反應那實在緩不濟急,使用L2快取記憶體的處理器通常也會配置內部的Level 3快取記憶體,這可以讓電腦又更快一些,這些主機板和BIOS參數設定適當的啟用,可以參考上圖的範例。


June 14, 2007

例:以BCD碼執行576+184的結果為何?
576+184=760
7=0111
6=0110
0=0000
==>0111  0110  0000

--



2-3 資料與編碼

在我們日常生活中充滿著各式各樣的資訊,它們以不同的資料型態出現,例如文字、圖片、聲音、影片等等,這些資料進入了數位系統中通通變成了二進位(binary)的編碼,也就是由01組合的各種數碼,它可以代表先前介紹的二進制數目,也可以編成代表鍵盤上所有的字元或是任何資料或數據的大小,這些編碼是可以自定的,但是為了讓電腦之間能夠溝通,就必須透過協定使用共同的編碼,以下就是幾個典型的數碼。

 

 

3-1 二進碼(Binary Code)

二進碼是由位元(bit;置放0或1的一個空間)組合而成,遵循二進制位元加權的格式,適合於數的運算與各種資料量轉換後的編碼記錄,它沒有固定的長度,長度為4位元者,稱為半位元組(half byte),長度為8位元者,稱為位元組(byte),長度為16位元者,稱為雙位元組(double bytes)

 

MSB                                          (二進碼位元組)                                     LSB

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

27

26

25

24

23

22

21

20

(圖3-2-1位元在位元組中的加權)

 

 

 

3-2 十進制之二進碼(Binary Code of Decimal)

十進制之二進碼簡稱BCD碼,以4位元為一組遵循二進制加權,從0編碼至9一共十個編碼,可用於運算或資料記錄,便於電腦從業人員對於數目的辨識,但以位元利用而言較浪費記憶體空間。

 

 

數值

BCD碼

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

(表3-2-1 BCD碼)

 

3-2-1

將二進位數碼1111化成BCD碼。

答:1111(2)=15(10)=0001 0101(BCD)

 

3-2-2

69(10)化成BCD碼。

答:69(10)=0110 1001(BCD)

 

 

 

3-3 8421(8421 Code)

8421碼就是二進位碼,只是位元長度限制在4位元,以其每一位元的權值區分,從最高有效位元算起,剛好是8、4、2、1,所以稱它為8421碼。

 

 

位元

Bit 3

Bit 2

Bit 1

Bit 0

權值

8

4

2

1

 

3-3-1

8421碼1011的數值為多少?。

答:1011(2)=8+0+2+1=11(10)

 

 

 

3-4 加三碼(Excess-3 Code)

加三碼等於BCD碼再加三,故9以上的數碼亦不存在,由於每一位元與數字間沒有固定的權值可循,所以是一種非加權碼,但具有以下兩個特性。

具有9補數的自補性,亦即0與 9、1與8、2與7、...等編碼中的0與1互補。

任何一碼至少含有一個為1的位元,若在傳輸的過程中接收到全部為0的編碼,即為錯誤的資料,因此具有偵錯功能。

1-3-1.jpg (9452 bytes)

3-4-1

請問加三碼1010代表十進制的那一個數字?

答:1010(+3)=1×23+0×22+1×21+0×20

 

 

=8+0+2+0

=10(10)

 

 

實際代表十進制的數字必須再減三

1010(+3)= 7(10)

 

 

 

2-5 格雷碼(Gray Code)

由二進位碼相鄰兩位元互斥(註;見例3-5-1。)而得,屬於非加權碼 ,不適合運算,但有以下兩個特點。

任意兩個相鄰編碼只有一個位元改變,適合資料傳輸,不易發生錯誤。

具有對稱的鏡射特色,如下表所示。

1-3-2.jpg (12265 bytes)

3-5-1

請將11(10)轉換為格雷碼。

答:11(10) =1011(2)

依位元值相同者結果為0,不同者結果為1,將1011(2) 相鄰位元互斥

11(10) =1110(G)

1-3-3.jpg (13201 bytes)

3-5-2

請將1110(G)轉換為二進碼。

1-3-4.jpg (13852 bytes)

答:故1110 (G) =1011(2)

 

 

 

2-6 ASCII(American Standard Code for Information Interchange)

美國標準資訊交換碼( ASCII),如表3-6-1所示,是一種7位元的編碼,它定義了一些傳輸上的控制碼,還有數字、符號、英文大小寫等等編碼,此種由協定產生的標準碼是目前全球英語文件傳輸使用最普遍的編碼,在各型計算機、電傳打字機(TTY)常用來做為輸入/輸出的字母碼(alphanumeric code)。

3-6-1

以二進位碼表達ASCII的A應為?

答:由查表得知A=1000001(2)

 

3-6-2

ASCII 97(10)代表的字元應為?

答:97(10) =61 H =110001(2) =110 0001(2)

 

 

由查表得知110 0001(2) =a

 

3-6-3

ASCII 21H代表的字元應為?

答:21H =0100001(2) =010 0001(2)

 

 

由查表得知010 0001(2)=!

 

3-6-4

ASCII 13代表的字元應為?

答:13 =0001101(2) =000 1101(2)

 

 

由查表得知000 1101(2)=CR,這是一個控制字元,在文書處理的程序中接收到此控制字元就表示要求換行(carry return)的信號。

3-6-5

ASCII 07代表的字元應為?

答:07 =0000111(2) =000 0111(2)

 

 

由查表得知000 0111(2)=BEL,這是一個控制字元,接收到此控制字元就表示要求產生響鈴(bell)的信號。

image1.gif (138673 bytes)

(表3-6-1 ASCII編碼表)


June 14, 2007

http://www.cis.nctu.edu.tw/~info27/ch4/float.htm

單精密度浮點表示法

下面是MIPS浮點數字的表示法, S 是浮點數字的正負符號(1表示負號),指數放在8位元指數欄位(包括指數的正負符號),有效數字是23位元的小數,這種表示法稱為 sign and magnitude表示法。

一般來說,浮點數字的格式為:(-1)s×F×2e 。F表示有效數字欄位的值,E表示指數欄位的值。

設計者必須在有效數字欄位的寬度與指數欄位的寬度之間取得妥協,因為字組的長度是固定的,從某一個欄位的減少一位元時,就表示另一個欄位多一個位元:增加有效數字欄位的寬度,所能表示的有效數字的位數便提高,但增加指數欄位的寬度時,所能表示的數字範圍便擴大。

有時數字太大而無法表示時,就需要overflow interrupt,此處的溢位表示指數太大,而無法以指數欄位表示。當然有時候可能所要表示的數字太小無法表示時,電腦會以underflow interrupt來提醒使用者。為了降低溢位與短值的可能性,大部份的語言提供一種具有更寬的指數欄位的表示法,在C中稱為double。



例:假設一計算機以36位元代表一浮點數,其中符號佔1位元,指數佔8位元,分數佔27位元,請問此計算機的有效位為十進位的幾位?

log10(2^27)=8.1278098829274922707709501575613
==>八位


June 14, 2007
發信人: StingYang3.bbs@bbs.et.ntust.edu.tw (藍色水中的月)
日期: 10 Jun 1999 19:20:38 GMT
標題: risc與cisc的差異
信群: tw.bbs.comp.hardware    看板: hardware/A0RM0406
來源: <3V0UAc$LPS@bbs.et.ntust.edu.tw>:482285, bbs.et.ntust.edu.tw
組織: 台灣科大電子BBS

看有人在講RISC、跟CISC,發表一下意見

RISC一定比CISC好嗎?A我不知道到底有多少人,真的懂這兩種的差別,
我來簡單講解好了,這是CPU指令集的差別,

RISC採多Register的方式,指令較精簡,故程式編譯後,
執行的機器碼較多道(指令精簡之故),但因為多暫存器的關係,且指令精簡
在CPU的時間週期內可執行較多的指令。

CISC採較少Register的方式,指令通常有較強大的運算指令(如乘法運算)
故程式編譯後,執行的機器碼較少道(指令強大之故),但因為指令過於複雜、
在CPU單位時間週期內執行指令數較少。

由上可知,RISC跟CISC各擅勝場,不過因為CPU指令集的進步,如SIMD MIMD跟PIPELINE
的技術引進,RISC跟CISC的指令集,在現在高階CPU根本就是,根本就是混合設計
已經沒有純RISC的CPU了
MMX的指令集說穿了就是一組SIMD的CISC指令集,

我希望在這個版,多的是討論硬體技術、或架構,而不是罵AMD或是INTEL
拋磚引玉,錯誤在所難面,謝謝指教!!!!!!!