精華區beta TransCSI 關於我們 聯絡資訊
※ 引述《stevennick (空中精靈小金剛)》之銘言: : ※ 引述《Daiblo2 (下學期要住外面了)》之銘言: : : 到這裡之前我都能接受 : : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : : 上述這2行我就不能接受了 : : 一個記憶體位址就只能放1Byte : : 怎麼可能一次存取4Byte資料呢? : : 一個word定義是說一次抓連續4個記憶體位址吧 : : 因此我的結論是2^30 = 1GB : : 我以前所學到就是假如問題是問最大記憶體位址定址空間 : : 那就是算位址線有幾條來決定 : : 這是我個人的意見 : : 所以假如還是有問題還是可以再提出來討論 : : 就如同上面大大所說的"教學相長"嘛 : 恩 : 問題的癥結點 : 應該就是『一個記憶體位址只能放1Byte』這個認知吧 : 我查詢的結果是,蠻多文件也確實都這麼寫的 : 譬如 8086 CPU Address bus = 20 bit , Data bus = 16 bit : Max Addressable Memory = 1,048,576(1Mb) : 對於這一題 : 基本上問定址空間的話答案一定是2^30 = 1G沒有問題 : 那下面這題呢? : 某記憶體位址線有12條,資料線有8條,則該記憶體的記憶空間大小為 : (A)4K Bits (B)96 Bytes (C)32K Bytes (D)32K Bits : 答案給 D : 大概是剛好x86系列CPU在使用者設計程式時為了方便才將每個記憶體位址定為8bits : 最後修正一下我講的結果,原文內的 Line 應該要改成 Bus 才比較符合原意 : 題目要是真的這樣考出來,應該會有蠻多爭議的...... 在看了上面各位高手討論過後,我發現我還是對記憶體空間這方面的觀念相當的模糊, 因此想提出來請教各位。 首先,我所知道的是: 主記憶體是由許多的cell所組成,普遍來說1個cell為8bit = byte,而cell是記憶體定址 、辨別位址的單位;如果將主記憶體中的記憶單位及各單位內的每個位元排序的重要結果 是,主記憶體中所有的位元被排成一長列。如果記憶體是以位元組大小為cell,則只要用 兩個連續的cell就可存放一串16個位元串列。(以上資料來源: an overview, discovering computers, illuminated computer science) 位址匯流排:電腦的記憶單元都編有一對映的號碼,作為指明存取資料在記憶體的位置, 代表有效的定址空間。 我的問題是: 那資料匯流排的功能呢?又64位元的CPU即64條排線的資料匯流排嗎?這之間有何關係呢? 另外,計算定址空間到底是計算它所能夠定址的位置?還是定址的位置共佔用的記憶體 size? 那麼,若計算主記憶體空間(size),必須由資料匯流排來計算,或是位址匯流排來計算呢 ?又如何計算呢? 而physical memory與 logical memory與 virtual memory 之間又有什麼關係及功能呢? 我先前提出的問題,雖然D大幫我解題過,但仍不懂。如下: 1.Suppose physical memory is 256KB and is partitioned into 8 page frames, if logical memory is 5MB, find the number of pages needed in virtual memory. a. 160 b. 80 c. 320 d. 640 5MB / 256KB = 20 因為256KB需要8pages 因此20 * 8 = 160 所以答案應該是a 2.Calculate the number of bytes that are needed to store the address for a 256MB RAM. 希望各位高手幫忙解惑。感謝您。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.132.252
aubr3:address number就好比門牌data line的大小就好比一家多少人 06/03 20:58
aubr3:定址空間就好比問全部有多少人 就是幾戶乘以幾人 06/03 21:00
aubr3:bus就是公車你可以用別人也可以用XDD 其實是用三態閘接的 06/03 21:03
aubr3:你可以把他想像成OR閘也行 06/03 21:04
aubr3:不過他事實上是用三態閘接的 這樣才能夠雙向 06/03 21:05
aubr3:那題是((2^2+1)*2^20)/(2^18/8(page))=160 06/03 21:15
aubr3:logical memory沒聽過不過看語意應該是說程式大小 06/03 21:18
aubr3:virtual memory 噓你記憶體 把程式大部分放在硬碟裡 需要時 06/03 21:19
aubr3:再paging 到記憶體裡 就好像他原本就放再記憶體裡一樣但不是 06/03 21:19
aubr3:physical memory 就是現在大跌價 讓光華倒了兩三家店的那個 06/03 21:20
aubr3:因為要一次能執行多個程式的關係 所以記憶體分成很多frame 06/03 21:21
aubr3:中文就是相框 而程式片段就是相片 一次放一張進去 06/03 21:22
aubr3:叫做page 這樣就可以 達到一次可以執行多個程式 而不需要誇 06/03 21:23
aubr3:張大的記憶體 06/03 21:24
aubr3:但是沒放進去的部份怎麼辦?就必須透過OS的一些方法偵測 06/03 21:25
aubr3:來達到可以替換PAGE 06/03 21:26
aubr3:記得沒錯的話 應該是叫trap(陷阱) 踩到陷阱 程式向OS喊救命 06/03 21:28
aubr3:他不能執行下去了 之後OS會出面 檢查發生什麼事 發現是page 06/03 21:29
aubr3:fault 他就去驅動硬碟同步馬達 調出所需要的page載入到memor 06/03 21:30
aubr3:之後重新執行同一道指令 或者下一道(看你怎麼設計) 06/03 21:32
aubr3:定址空間就是問空間 06/03 21:34
aubr3:其餘的看英文比較準中文嘛徐克遠說:看你祖先有沒有燒好香了 06/03 21:36
aubr3:而這題的原意應該是問多少地址(翻成英文) 06/03 21:37
aubr3:64位元通常是指CPU內暫存器的大小 也可以說是一次CPU動作所 06/03 21:44
aubr3:需要的DATA大小 你也可以把他看作是DATA BUS的大小 06/03 21:46
aubr3:但是通常不這麼說 因為有些系統為了省電 會做壓縮 所以兩個 06/03 21:46
aubr3:的大小不一樣 06/03 21:47
aubr3:那個第二題應該是某原文計摡克本裡面的題目 你可以想想看 06/03 21:51
aubr3:歡迎指教 很久沒唸書了 06/03 22:02
aubr3:偷查了一下 資管的題目應該是不會弄到這麼難 會算就好 06/03 22:42