PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 系統組件
帳戶
密碼
 

  回應
 
主題工具
棺材
Advance Member
 
棺材的大頭照
 

加入日期: Apr 2004
您的住址: 虛空的世界
文章: 416
引用:
Originally posted by RogerShih
可以看看計算機組織與概論原文或翻譯書 (也是計概), 國外對幾位元 CPU 的定義根本不像國內亂來, 而是很嚴謹的.

如果要照資料匯流排寬度定義去看, 或者用定址能力看, 都有盲點;

1. 無法解釋 8088、80386SX, 486 也出現過有人拿資料線寬度說 486 DX 是 64 位元 CPU, 這種荒謬的扭曲, 說穿了不過廣告手法.

2. 定址能力: 目前多數定址能力都是受限於晶片組, 然而就算解除了晶片組的限制, 還有作業系統(簡單說微軟偷懶也好, 取巧也罷)的問題.


也許是東方人喜歡打模糊仗, 對這種嚴謹的東西, 也可以玩兩面手法的把戲.


可以請教這位大大~要購買哪一位作者出的計算機概論會比較好啊???
台灣有賣的喔~作者是大陸人或台灣人或外國人都可以!
     
      
__________________
無薪假中...
舊 2004-05-09, 11:07 PM #31
回應時引用此文章
棺材離線中  
latw
Junior Member
 
latw的大頭照
 

加入日期: Jul 2002
文章: 772
引用:
Originally posted by RogerShih
GDT、LDT跟IDT就是 selector, 這部份中文的參考資料可以參考侯俊傑(侯捷)早期的著作. 保護模式中的定址是非線性的, 必須透過 GDT、LDT或IDT 以及 MMS 記體體映射來達成存取.

或者可以參考原文資料中 GDT、LDT 如何達成 selector : offset 到實體記憶體的轉換, 你就知道為什麼我說 386 以後 CPU 定址能力可以超過 4GB 了.

VM 那是另一回事.

說到這, 我去找找有沒有侯俊傑當年著作的 PDF 檔, 看中文比較容易理解.

既然都聊到這了,那小弟我就講詳細點好了,免的有說跟沒說一樣
在Intel的保護模式下的定址分為兩階段,其中一個是Linear Address一個是Physical Address
若沒有開啟分頁功能(即cr0的第31bit設定為0),則Linear Address即為Physical Address
這時候,CPU能使用的MEM就是機器上面所擁有的MEM了.
若是開啟分頁模式,則進入保護模式以後,若要存取某個segment的位置,先透過Sector內的內容,再由GDT或是LDT中定義的segment位置取出其Linear Address
在取出之後,則會參考cr3的內容找到分頁目錄(PDE),再由分頁目錄中找到對應的分頁表(PGE)
將Linear Address對應的physical Address取出,這個才是真正要放入在真實記憶體的位置.
Pentinum pro中可以設定cr0,cr4這兩個register設定成Page始可定址36bit的Physical Address,可惜386並沒有cr4(pentinum以後才有),請問如何定址超過4G?(參考IA 32的pdf,第3-20頁,
PAGE TRANSLATION USING 32-BIT PHYSICAL ADDRESSING)
保護模式的部分參考,80486/Pentinum 保護模式原理與實務(施威銘研究室 著)
 
舊 2004-05-09, 11:15 PM #32
回應時引用此文章
latw離線中  
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
引用:
Originally posted by latw
既然都聊到這了,那小弟我就講詳細點好了,免的有說跟沒說一樣
在Intel的保護模式下的定址分為兩階段,其中一個是Linear Address一個是Physical Address
若沒有開啟分頁功能(即cr0的第31bit設定為0),則Linear Address即為Physical Address
這時候,CPU能使用的MEM就是機器上面所擁有的MEM了.
若是開啟分頁模式,則進入保護模式以後,若要存取某個segment的位置,先透過Sector內的內容,再由GDT或是LDT中定義的segment位置取出其Linear Address
在取出之後,則會參考cr3的內容找到分頁目錄(PDE),再由分頁目錄中找到對應的分頁表(PGE)
將Linear Address對應的physical Address取出,這個才是真正要放入在真實記憶體的位置.
Pentinum pro中可以設定cr0,cr4這兩個register設定成Page始可定址36bit的Physical Address,可惜386並沒有cr4(pentinum以後才有),請問如何定址超過4G?(參考IA 32的pdf,第3-20頁,
PAGE TRANSLATION USING 32-BIT PHYSICAL ADDRESSING)
保護模式的部分參考,80486/Pentinum 保護模式原理與實務(施威銘研究室 著)


386 有 CR0~CR3, 至於 CR4 你上面沒提到, 只提到 CR3, 如果你上面無誤, CR0 跟 CR3 , 386 都有.

補充一下: 找的到的話, 可以看看 侯俊傑 寫的 記憶體管理與多工, 如果只說實際訂只能力, 386 的確是 4 GB, 但這只是一個 offset, 配合 8k GDT以及 8k LDT, 每個節區可達 4GB , 虛擬定址能力可達 64TB (需配合 page swaping機制). 277 頁.

PS: 還好, 十年的書沒丟

此文章於 2004-05-09 11:44 PM 被 RogerShih 編輯.
舊 2004-05-09, 11:34 PM #33
回應時引用此文章
RogerShih離線中  
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
引用:
Originally posted by 棺材
可以請教這位大大~要購買哪一位作者出的計算機概論會比較好啊???
台灣有賣的喔~作者是大陸人或台灣人或外國人都可以!


有一本很厚的翻譯書, 白色封皮, 中文名稱是「計算機組織與概論」(不是很確定XD), 這本就夠了.
舊 2004-05-09, 11:37 PM #34
回應時引用此文章
RogerShih離線中  
latw
Junior Member
 
latw的大頭照
 

加入日期: Jul 2002
文章: 772
引用:
Originally posted by RogerShih
有一本很厚的翻譯書, 白色封皮, 中文名稱是「計算機組織與概論」(不是很確定XD), 這本就夠了.

再灌水一篇.
這本書有個俗名叫做"白算盤"基本上賣書的都會知道,上面印著一個算盤那本就是了
因為國內很多大學資工系會用這本當教科書(當然是用英文版的)
不過,裡面的內容可能沒有原發問網友的答案.......
再回RogerShih網友
因為386/486沒有CR4,所以想請問,如何能定址超過4G?
IA-32需要cr0+cr4才有36bit Physical address mode可用
如有冒犯請多包函
補:
剛剛看到您的補,所以小弟也補
既然說用到Page Swap就是用到VM的觀念,所以之前小弟才說OS用到VM就可定
址超過4G.機器本身,除非採用36Bit Physical address mode是不可能定址超過4G.

此文章於 2004-05-09 11:59 PM 被 latw 編輯.
舊 2004-05-09, 11:47 PM #35
回應時引用此文章
latw離線中  
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
引用:
Originally posted by latw
再灌水一篇.
這本書有個俗名叫做"白算盤"基本上賣書的都會知道,上面印著一個算盤那本就是了
因為國內很多大學資工系會用這本當教科書(當然是用英文版的)
不過,裡面的內容可能沒有原發問網友的答案.......
再回RogerShih網友
因為386/486沒有CR4,所以想請問,如何能定址超過4G?
IA-32需要cr0+cr4才有36bit Physical address mode可用
如有冒犯請多包含


沒有冒犯啊, 反而很高興遇到同好的高手了, 想起以前寫保護模式程式真不是人幹的 XD

如果你只是指 Physical address mode, 那沒錯, 386 的確沒辦法存取實體記憶體超過 4GB 以上, 但我指的是定址能力, 以 GDT、LDT 配合分頁能力, 的確可以定址達 64TB, 這不是硬體限制, 而是作業系統有沒有實作.

我只是以此說明以定址線寬度或資料線寬度來定義幾位元 CPU 是漏洞百出的而已
舊 2004-05-09, 11:58 PM #36
回應時引用此文章
RogerShih離線中  
javenwang
Amateur Member
 
javenwang的大頭照
 

加入日期: Jan 2004
您的住址: SMF
文章: 32
回到問題 "n位元的CPU" 本身就是很模糊的問題. 現在的 CPU 和以前的 CPU 不盡相同, 可以有不同的暫存器寬度, ALU 處理寬度, 定址能力, 傳輸能力, 更有 SIMD, MIMD..

我個人認為這個 "n 位元的 CPU" 指的是 "n 位元的運算能力". ALU 是負責整數及邏輯運算的單元, 而暫存器則是 ALU 的運算來源(運算元, Operand)之一, 為 Register File. Serron 兄所貼出來的 Pentium 架構雖然 ALU 看起來似乎是有 64 位元的運算能力, 但是細看下, 是由兩條管線(Pipeline) 所組成的, 也就是最後的結果並非一次由 ALU 產生, 而是兩個 ALU 產生的. 多管線的的架構就稱為超純量, Superscalar.

另外還有一個方法可以求證 Pentium 是 n 位元的 CPU. 看製造廠商的規格表. 若各位去 intel.com 上面搜尋一下, 可以發現, Intel 成立了一個 IA-32 家族, 期中包括: Pentium, Pentium Pro, Pentium III, Pentium4, Xeon. 所以, 嚴格上說起來, Pentium 是具有 64 位元傳輸能力的 32 位元處理器.

當然, Intel 也成立了 IA-64 家族. 最具代表性的, 就是 Itanium. 但是這個 CPU 的設計是以多處理器系統為考量, 組織及架構截然不同, 連程式編譯器都不同; 不同於 IA-32 的處理器, 單一處理器系統為考量.

學界若真的用此做為考試題目, 實在沒什麼意思. 應試者只要背好對應表即可應付考試, 但是每個處理器裡面都大有文章. 而且, 有失學術公正性 (又不是考產品特性).

此文章於 2004-05-10 01:28 AM 被 javenwang 編輯.
舊 2004-05-10, 01:23 AM #37
回應時引用此文章
javenwang離線中  
lightwave
Major Member
 

加入日期: Apr 2003
您的住址: Taipei
文章: 292
引用:
Originally posted by RogerShih
位址匯流排寬度的判定法也不見得正確, 因為決定位址匯流排寬度還有晶片組. 現在的晶片組有的並沒有限制你 RAM 最多只能插 4GB (特別是 Server), why??晶片組提供更寬的位址線而已, 對 CPU 而言, 要存取超過 4GB 的位址, 配合 GDT、LDT 一樣可以.

看CPU是幾位元, 我通常是以一般暫存器寬度來判斷的, 如果對 x86 有點研究, 所謂的 4GB 限制, 是作業系統設下的, 並不是 IA32 x86 真的只能定址到 4GB. 對微軟而言, 就像當年 8086、8088 的 64KB real mode 節區問題一樣, 8088、86需要 segment : offset 組合成 20 Bits 定址寬度來存取 1MB 記體體空間, IA32 同樣也有 selector : offset 可以存取到 TB 以上的位址, 問題是 selector 的存取結構複雜, 會比 segment 浪費很多的效能, 而對於已經定型的 Windows 作業系統來說, 能以一個 offset 就存取到 TB 以上更多的記憶體空間, 不單只是效能增進, 而且架構的設計也簡化很多.

更正您一下觀念, Intel目前還是有對Pentium 4的CPU作一些限制以區分Xeon和Pentium的市場 例如您提到4G memory的問題, 再intel P4架構中 是屬於 IA32 64nit EXPEND memory的功能 目前只有Xeon有被enable, Pentium 4還是倍disable的,就如同當年HT一樣
舊 2004-05-10, 07:56 AM #38
回應時引用此文章
lightwave離線中  
lightwave
Major Member
 

加入日期: Apr 2003
您的住址: Taipei
文章: 292
引用:
Originally posted by RogerShih
有一本很厚的翻譯書, 白色封皮, 中文名稱是「計算機組織與概論」(不是很確定XD), 這本就夠了.

基本上去看看各大廠商的歷史比摽準確...
舊 2004-05-10, 07:57 AM #39
回應時引用此文章
lightwave離線中  
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
引用:
Originally posted by lightwave
更正您一下觀念, Intel目前還是有對Pentium 4的CPU作一些限制以區分Xeon和Pentium的市場 例如您提到4G memory的問題, 再intel P4架構中 是屬於 IA32 64nit EXPEND memory的功能 目前只有Xeon有被enable, Pentium 4還是倍disable的,就如同當年HT一樣


以純粹架構來看, 我的說法並沒有錯誤. 至於為了區分市場所做的一些限制, 那並不是重點, 因為那只是策略問題.

就跟 386 時代的晶片組一樣, 那時候的晶片組能支援多少記憶體??恐怕遠不到 4GB, 所以 386 就不是 32 位元CPU嗎?市場發展的限制, 跟因為策略而產生的限制, 在我看來是一樣的.

不過 Pentium 之後我就很少在看相關的資料了, 轉戰別的領域了, 有空還是找來翻翻好了, 謝謝你的指正囉
舊 2004-05-10, 09:38 AM #40
回應時引用此文章
RogerShih離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是07:05 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。