![]() |
||
|
Advance Member
![]() ![]() 加入日期: Apr 2004 您的住址: 虛空的世界
文章: 416
|
引用:
可以請教這位大大~要購買哪一位作者出的計算機概論會比較好啊??? 台灣有賣的喔~作者是大陸人或台灣人或外國人都可以!
__________________
無薪假中...
|
||||||||
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Jul 2002
文章: 772
|
引用:
既然都聊到這了,那小弟我就講詳細點好了,免的有說跟沒說一樣 ![]() 在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 保護模式原理與實務(施威銘研究室 著) |
|||
|
|
|
*停權中*
加入日期: Nov 2000 您的住址: Taipei,ROC
文章: 573
|
引用:
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 編輯. |
|
|
|
|
*停權中*
加入日期: Nov 2000 您的住址: Taipei,ROC
文章: 573
|
引用:
有一本很厚的翻譯書, 白色封皮, 中文名稱是「計算機組織與概論」(不是很確定XD), 這本就夠了. |
|
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Jul 2002
文章: 772
|
引用:
再灌水一篇. 這本書有個俗名叫做"白算盤"基本上賣書的都會知道,上面印著一個算盤那本就是了 ![]() 因為國內很多大學資工系會用這本當教科書(當然是用英文版的) 不過,裡面的內容可能沒有原發問網友的答案....... ![]() 再回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 編輯. |
|
|
|
|
*停權中*
加入日期: Nov 2000 您的住址: Taipei,ROC
文章: 573
|
引用:
沒有冒犯啊, 反而很高興遇到同好的高手了, 想起以前寫保護模式程式真不是人幹的 XD 如果你只是指 Physical address mode, 那沒錯, 386 的確沒辦法存取實體記憶體超過 4GB 以上, 但我指的是定址能力, 以 GDT、LDT 配合分頁能力, 的確可以定址達 64TB, 這不是硬體限制, 而是作業系統有沒有實作. 我只是以此說明以定址線寬度或資料線寬度來定義幾位元 CPU 是漏洞百出的而已 ![]() |
|
|
|
|
Amateur Member
![]() 加入日期: 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 編輯. |
|
|
|
Major Member
![]() 加入日期: Apr 2003 您的住址: Taipei
文章: 292
|
引用:
更正您一下觀念, Intel目前還是有對Pentium 4的CPU作一些限制以區分Xeon和Pentium的市場 例如您提到4G memory的問題, 再intel P4架構中 是屬於 IA32 64nit EXPEND memory的功能 目前只有Xeon有被enable, Pentium 4還是倍disable的,就如同當年HT一樣 |
|
|
|
|
Major Member
![]() 加入日期: Apr 2003 您的住址: Taipei
文章: 292
|
引用:
基本上去看看各大廠商的歷史比摽準確... |
|
|
|
|
*停權中*
加入日期: Nov 2000 您的住址: Taipei,ROC
文章: 573
|
引用:
以純粹架構來看, 我的說法並沒有錯誤. 至於為了區分市場所做的一些限制, 那並不是重點, 因為那只是策略問題. 就跟 386 時代的晶片組一樣, 那時候的晶片組能支援多少記憶體??恐怕遠不到 4GB, 所以 386 就不是 32 位元CPU嗎?市場發展的限制, 跟因為策略而產生的限制, 在我看來是一樣的. 不過 Pentium 之後我就很少在看相關的資料了, 轉戰別的領域了, 有空還是找來翻翻好了, 謝謝你的指正囉 ![]() |
|
|
|