作者aweila75 (David)
看板TransCSI
標題Re: [問題]一題記憶體的迷思...
時間Mon Jun 4 09:16:28 2007
:
:
: 在看了上面各位高手討論過後,我發現我還是對記憶體空間這方面的觀念相當的模糊,
: 因此想提出來請教各位。
:
: 首先,我所知道的是:
:
: 主記憶體是由許多的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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
所以資料匯流排是做什麼用的呢??不懂上列data bus的比喻。
: → aubr3:定址空間就好比問全部有多少人 就是幾戶乘以幾人 06/03 21:00
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
意思就是說,定址空間是求,所能夠定址的位址*每個位址內的size嗎?
: → 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^
邏輯記憶體與實體記憶體之間應該有什麼關係?否則D大為什麼要把這兩個相
除?我不懂的地方就是他們之間關係是?又為什麼要相除。
: → 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
虛擬記憶體的觀念我應該OK。不懂的地方是,在D大解的那題目中,為什麼
虛擬記憶體是那樣求得?
: → 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
=.=資工、資科也有報。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.126.104
推 Daiblo2:請問你住哪裡啊? 我或許可以把我以前補習班的講義借給你 06/04 12:16
→ Daiblo2:或許你就比較容易理解 ps:我目前在台北唸書 06/04 12:19
→ aweila75:我住在台中耶,我找朋友去跟你拿可以嗎? 06/04 17:25
推 Daiblo2:原來是台中人 我也是台中人 我這禮拜或下禮拜就會回家了 06/04 20:55
→ aweila75:嗯我把我信箱給你方便聯絡。w108ewin108@hotmail.com 06/04 21:20