PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   [疑問]關於CPU定址記憶體大小 (https://www.pcdvd.com.tw/showthread.php?t=480727)

saiz 2005-05-01 09:26 AM

沒有實際插過這麼多記憶體.所以只是推估
16GB的記憶體.插上去了,多出來的也是沒用的.
我是根據4GB上限及HD的137GB問題所推斷的
而資料線我覺得並不代表位址線前4Byte,它的定義是電腦每次存取的bit數
而且一個成熟的科技產品.會有不必要.多出來浪費的東西嗎?
所以不應有無用的2條位址線這種說法
而記憶體的運作.應該都是一樣吧.記憶體就是做儲存/傳輸的啊
記憶體的進步只在容量跟速度吧.應該沒有多出第三個功能吧(ECC不算)
而S7的Pentium是64條資料匯流排.cxh兄已提過了.那只是內部而已
CPU與其它設備溝通的外部資料匯流排.依然是32條而已

asccpu 2005-05-01 12:05 PM

引用:
作者Timwel
我發現上面我的文章有打錯行的問題。
正確是:
所以說,假如裝一記憶體模組,32條位址線,32條資料線,16GB容量。
哪? 會有12GB無法被存取了?(單就此問題來說)那位址線有兩條毫無意義了喔?
還是說位址線就如同以前一樣運作,只不過資料線中的32bit資料是代表位址線中指定位置開始的四個Bytes?所以說位址線第一次送出的位置,跟第二次送出的位置並不是連續的,而是間隔4?(假設資料位置是連續的)
我只考慮硬體,怎麼突然多出這麼多軟體呢? 最重要的是,8086以上的CPU記憶體到底是怎麼運作的呢,跟8088這種單純8bit資料線的CPU有什麼不同呢?
從Socket7 Pentium就是64bit資料匯流排了。

沒研究過,不過太看輕INTEL了,8086/88 它雖只有 20條ADDR,但它有最大及最小模式,最小模式就是一般用的線路,最大模式則可串接多個CPU使用。

所謂的虛擬位址是指 區段暫存器+IP暫存器而來的,在線性模式中"區段暫存器"被稱之為"選擇器",以486,586來說 EIP 為32bit在線性下直接對映4GB區,但在虛擬下有48bit(選擇器16bit+EIP 32bit)共64TB,你可以想作每4GB為一單位,而選擇器則指定要使用那一個4GB。這種形式叫 EMS,只是以前解多工電路要外接,而INTEL只不過全都內含著。
EMS不是新技術,早在APPLE2時代就有128KB卡(APPLE2用的6502只有64KB定址,透過硬解可存取超出64KB的地方,很多CPU,MPU等,都可做到)。

ps.區段暫存器指的是 CS,ES,GS,FS.....等,在此例,我想應是指 CS
PS2.有興趣的可抓這PDF檔,見PAGE199起,不過看不憧沒關係,我也是看不懂 :D

vxr 2005-05-01 01:57 PM

Intel有一個急驚風的PSE/PAE-36定址模式..
可以突破4GB限制..
只是那個效率不好就是了..

Timwel 2005-05-01 03:03 PM

怎麼說來說去好像沒有人解決我的問題呢?
簡單來說,當CPU輸出的位址,是以32bit資料為一個位址,還是8bit資料?
如果是32bit,那,所有可能的位址就有4G空間了,再乘上32bit,應為16GB。
又如果是8bit為一個位址,就表示他一次傳輸CPU所要求的位址開始的四個8bit了喔?
我看了Intel的486電路範本,DRAM控制器仍為8bit,對CPU才是32匯流排,那應該如此喔?

Socket 7是64位元資料匯流排,這是指對北橋,北橋外才是32位元吧?
內部匯流排我忘記了,不過暫存器仍是32bit。
SDRAM好像是64bit吧? 我只記得DDR是64bit,雙通道是128bit

saiz 2005-05-01 05:21 PM

當然是32bit啊~可是有32條address bus的.缺一不可
不過為什麼你一定要2^32再*32bit呢.明明不用乘啊...~"~
http://www.ice.ntnu.edu.tw/~violet/edu92-1/cpu.htm
資料匯流排是資料匯流排.位址匯流排是位址匯流排.兩者是不同的

asccpu 2005-05-01 07:36 PM

引用:
作者Timwel
怎麼說來說去好像沒有人解決我的問題呢?
簡單來說,當CPU輸出的位址,是以32bit資料為一個位址,還是8bit資料?
如果是32bit,那,所有可能的位址就有4G空間了,再乘上32bit,應為16GB。
又如果是8bit為一個位址,就表示他一次傳輸CPU所要求的位址開始的四個8bit了喔?
我看了Intel的486電路範本,DRAM控制器仍為8bit,對CPU才是32匯流排,那應該如此喔?

位置是以BYTE為單位,所以4GB就是4GBYTES=4*8Gbits=.....類推,同理一個RAM上面標示128KB*16,它有多大? 256KB(*16是指16bit)。
另外32bit CPU存取32bit時,若起頭位置可被4整除,那CPU可做一次,不然要分2次,這動作寫程式的人都知,叫"對齊"。
"DRAM控制器仍為8bit" 不一定,要視USER一次存取多大的資料量(1,2,3,4BYTE),CPU有支腳叫 AEL 的樣子(有點忘了),它就是專門作這類的訊號輸出(可能有2腳 AEL0/AEL1)


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

vBulletin Version 3.0.1
powered_by_vbulletin 2025。