按字寻址与按字节寻址
問:一個(gè)16K×32位的存儲(chǔ)器,其地址線和數(shù)據(jù)線的總和是多少?選用如下規(guī)格的存儲(chǔ)器芯片時(shí),需要多少片?
A.1K×4位芯片? ? ?B.4K×8位芯片
解答:
- 內(nèi)存的容量有多少,就是用多少個(gè)二進(jìn)制數(shù)表示,地址線的條數(shù)就是多少根。
? ? ? ? ?16K是其容量大小,16K=2^14,故地址線14根;
- 數(shù)據(jù)線指一次傳輸?shù)臄?shù)據(jù)的寬度,32位的寬度需要用32根數(shù)據(jù)線。
? ? ? ? ?故總和為14+32=46根。
A.(16K×32)/(1K×4)=16×8=128片
B.(16K×32)/(4K×8)=4K×4=16片
基本概念:
- 字長?表示機(jī)器CPU的處理能力,即CPU在單位時(shí)間內(nèi)能處理的最大二進(jìn)制數(shù)的位數(shù)稱為字長
? ? ?若字長為32位,則1字=32bit=4B,表明存儲(chǔ)器一次可以處理4個(gè)存儲(chǔ)單元,指令長度為4個(gè)存儲(chǔ)單元。
- 位? ?數(shù)據(jù)存儲(chǔ)的最小單位,一個(gè)位的取值只能是0或1
- 字節(jié)(B/Byte)1個(gè)字節(jié)等于8位,即1Byte=8bit
- 字? 在計(jì)算機(jī)中,一串?dāng)?shù)碼作為一個(gè)整體來處理或運(yùn)算的,稱為一個(gè)字。字的位數(shù)稱為字長;字通常分若干個(gè)字節(jié)。
- 存儲(chǔ)單元 :CPU訪問存儲(chǔ)器的最小單位,每個(gè)存儲(chǔ)單元都有一個(gè)地址。
- 存儲(chǔ)字長?:存儲(chǔ)器中一個(gè)存儲(chǔ)單元(存儲(chǔ)地址)所存儲(chǔ)的二進(jìn)制代碼的位數(shù)。
- 存儲(chǔ)容量? ? 存儲(chǔ)容量是主存中能存放二進(jìn)制代碼的總位數(shù),即存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)*存儲(chǔ)字長(每個(gè)存儲(chǔ)單元的位數(shù)),也可用字節(jié)總數(shù)來表示:?存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)*存儲(chǔ)字長/8
- 地址線??存儲(chǔ)單元的個(gè)數(shù)=存儲(chǔ)容量=2^地址線的條數(shù)?,一個(gè)存儲(chǔ)單元占一個(gè)字節(jié)(1B,也就是8位)。字節(jié)用來計(jì)量存儲(chǔ)容量。
? ? ? ?一個(gè)cpu的N根地址總線,則可以說這個(gè)CPU的地址總線寬度為N。這樣cpu最多可以尋址2^N個(gè)內(nèi)存單元
? ? ? ? 若題目中給出存儲(chǔ)容量=4GB,則內(nèi)存容量=4GB=4*(2^30)B=2^32B,一個(gè)存儲(chǔ)單元占一個(gè)字節(jié),故存儲(chǔ)單元個(gè)數(shù)為? ? ? ? ? ? ? ? ? ? ? 2^32,地址線條數(shù)是32根。
- 數(shù)據(jù)線 數(shù)據(jù)線確定存儲(chǔ)字長,數(shù)據(jù)線的條數(shù)=字長的位數(shù)。
- 尋址空間與尋址范圍
?尋址范圍只是一個(gè)數(shù)字范圍,不帶有單位,而尋址范圍的大小指的是尋址空間的大小,尋址空間指能夠?qū)ぶ返淖畲笕? ? ? ? ? ? ? ? ? ? 量,?單位一般用MB、B來表示。
《計(jì)算機(jī)組成原理》——唐朔飛 P73
對于24位地址線的主存而言
若字長為32位:①按字節(jié)尋址的范圍為16M。【2^24B=16M】②按字尋址的范圍為4M。【2^24B / 4B = 4M】
若字長為16位:①按字節(jié)尋址的范圍為16M。【2^24B=16M】②按字尋址的范圍為8M。【2^24B / 2B = 8M】
按字節(jié)尋址:
一組地址線的每個(gè)不同狀態(tài)對應(yīng)一個(gè)字節(jié)的地址,存儲(chǔ)空間的最小編址單位是字節(jié)。
例如,對24位地址線的主存而言(也就是有24根地址線),按字節(jié)尋址,每根線有兩個(gè)狀態(tài),那么24根地址線組成的地址信號就有2^24個(gè)不同的狀態(tài),每個(gè)狀態(tài)對應(yīng)一個(gè)字節(jié)的地址空間的話,那么24根地址線的可尋址空間為2^24B,即16MB。
按字尋址:
一組地址線的每個(gè)不同狀態(tài)對應(yīng)一個(gè)字的地址,存儲(chǔ)空間的最小編址單位是字。
一個(gè)字由若干個(gè)字節(jié)構(gòu)成,所以計(jì)算機(jī)在尋址過程中會(huì)區(qū)分字里面的字節(jié),即會(huì)給字里面的字節(jié)編址,這樣就會(huì)占用部分地址線,例如有24根地址線,機(jī)器字長為16位,若按字尋址的話,16位=2個(gè)字節(jié),需要占用一根地址線用來字內(nèi)尋址,這樣就剩下23根地址線,故按字尋址范圍是2^23W(W是字長的意思),也就是8MW。【真正用于按字尋址的地址線只有24-1=23根】
設(shè)有一個(gè)1MB容量的存儲(chǔ)器,字長為32位,問按字節(jié)尋址、按字尋址的尋址范圍以及各自的尋址范圍的大小是多少?
1MB=2^20B? ?① 1字節(jié)=1B=8b=8位?②1字=32位=32b=4B
(1)按字節(jié)編址
尋址范圍:0~(2^20-1),【2^20B / 1B = 2^20】,即需要20根地址線才能完成對1MB空間的編碼,即地址寄存器為20位
尋址范圍大小:2^20=1M
(2)按字編址
尋址范圍:0~(2^18-1),【2^20B / 4B = 2^18】,即至少需要18根地址線才能完成對1MB空間的編碼。
尋址范圍大小:2^18=256K
NOTE:
- https://blog.csdn.net/m0_37345402/article/details/83414412?
- 1K和1KB區(qū)別。在硬盤等存儲(chǔ)上一般認(rèn)為二者沒有區(qū)別,都是指大小,但在一些計(jì)算題中,1K往往是指由地址線個(gè)數(shù)(或地址位)直接得出的大小,1KB往往是和機(jī)器字長相乘的出的存儲(chǔ)器容量大小。
- 一個(gè)16位機(jī),即一個(gè)字的字長為16位,因?yàn)?字節(jié)=8位,故這里一個(gè)字由2個(gè)字節(jié)組成。
- 一個(gè)32位機(jī),即一個(gè)字的字長為32位,因?yàn)?字節(jié)=8位,故這里一個(gè)字有4個(gè)字節(jié)組成。
- M是數(shù)量單位:1024=1K,1024K=1M;? MB是指容量大小:1024B=1KB,1024KB=1MB
- 機(jī)器字長:CPU一次能處理數(shù)據(jù)的位數(shù),通常與CPU的寄存器位數(shù)有關(guān)。
- 存儲(chǔ)字長:存儲(chǔ)器中一個(gè)存儲(chǔ)單元(存儲(chǔ)地址)所存儲(chǔ)的二進(jìn)制代碼的位數(shù),即存儲(chǔ)器中的MDR的位數(shù)。
- 指令字長:計(jì)算機(jī)中指令字的位數(shù)。
- 數(shù)據(jù)字長:計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)所占用的位數(shù)。
注:馮諾依曼機(jī)中,指令和數(shù)據(jù)同等重要,都存放在存儲(chǔ)器中,并可按地址尋訪。
通常早期計(jì)算機(jī):存儲(chǔ)字長 = 指令字長 = 數(shù)據(jù)字長。故訪問一次便可取一條指令或一個(gè)數(shù)據(jù),隨著計(jì)算機(jī)應(yīng)用范圍的不斷擴(kuò)大,三者可能各不相同,但它們必須是字節(jié)的整數(shù)倍。
習(xí)題1:若256KB的SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)有8條數(shù)據(jù)線,則它有多少條地址線?
存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)*存儲(chǔ)字長(每個(gè)存儲(chǔ)單元的位數(shù),一般為1B=8b(位))
8條數(shù)據(jù)總線代表8位,也就是1B,存儲(chǔ)容量=存儲(chǔ)單元數(shù)*存儲(chǔ)字長,即存儲(chǔ)單元數(shù)=256K=2^18,故有18條地址線。
習(xí)題2:寫出下列RAM芯片片內(nèi)的地址線和數(shù)據(jù)線的條數(shù):(1)4K*8位? (2)512K*4位? (3)1M*1位
(1)地址線:12條【4K=2^12】 數(shù)據(jù)線:8條
(2)地址線:19條【512K=2^19】 數(shù)據(jù)線:4條
(3)地址線:20條【1M=2^20】 數(shù)據(jù)線:1條
習(xí)題3:設(shè)一個(gè)具有20位地址和32位字長的存儲(chǔ)器,問:
(1)那么該存儲(chǔ)器能存儲(chǔ)多少個(gè)字節(jié)的信息?
? ? ? ? ?2^20次方=1M(1024K),32位字長即為4B(4個(gè)字節(jié)),故存儲(chǔ)器容量為:1M*4B=4MB,即可以存儲(chǔ)4M字節(jié)的信息。
(2)如果存儲(chǔ)器由512K*8位SRAM芯片組成,需要多少片?(512Kx8位,512K表示芯片的尋址范圍可以達(dá)到512K,8位表示系統(tǒng)數(shù)據(jù)總線有8位。512Kx8位表示芯片的容量。)
? ? ? ? (?1M×32)/( 512K×8)需要8片??
(3)需要多少地址線做芯片選擇?
? ? ? ? 512Kx8位的芯片需要19位地址,因此只有1位地址作芯片選擇。方法:將4片SRAM芯片位擴(kuò)展位512Kx32位(地址線19位),再將兩組512Kx32位組成整個(gè)存儲(chǔ)器(1根地址線)。
轉(zhuǎn)載按字尋址與按字節(jié)尋址
總結(jié)
以上是生活随笔為你收集整理的按字寻址与按字节寻址的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷P2401 不等数列(线性DP)
- 下一篇: 汉明码的理解