當前位置:首頁 » 服務存儲 » 有效段在存儲器中的分布
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

有效段在存儲器中的分布

發布時間: 2022-04-20 11:20:12

存儲器段存儲空間問題

段地址為10E4 ,每段的存儲空間最大為64K,那麼該段最後個存儲單元的"物理地址"最大是20E3Fh
還有該段中的第2個存儲單元"物理地址"是10E41h
存儲器中每個存儲單元所佔的位元組是1位元組.

補充:不,10E4是兩個位元組,如果把它放在內存中,它會佔用兩個存儲單元,即一個字. 1字= 2個位元組

㈡ 簡述51單片機的存儲器邏輯空間分布,並說明當存儲器地址發生重疊時應如何處

MCS-51單片機存儲器結構
1、 程序存儲器
MCS-51具有64kB程序存儲器定址空間,它是用於存放用戶程序、數據和表格等信息。對於內部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的端必須接地。強制CPU從外部程序存儲器讀取程序。對於內部有ROM的8051等單片機,正常運行時,則需接高電平,使CPU先從內部的程序存儲中讀取程序,當PC值超過內部ROM的容量時,才會轉向外部的程序存儲器讀取程序。
8051片內有4kB的程序存儲單元,其地址為0000H—0FFFH,單片機啟動復位後,程序計數器的內容為0000H,所以系統將從0000H單元開始執行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:
其中一組特殊是0000H—0002H單元,系統復位後,PC為0000H,單片機從0000H單元開始執行程序,如果程序不是從0000H單元開始,則應在這三個單元中存放一條無條件轉移指令,讓CPU直接去執行用戶指定的程序。
另一組特殊單元是0003H—002AH,這40個單元各有用途,它們被均勻地分為五段,它們的定義如下:
0003H—000AH 外部中斷0中斷地址區。
000BH—0012H 定時/計數器0中斷地址區。
0013H—001AH 外部中斷1中斷地址區。
001BH—0022H 定時/計數器1中斷地址區。
0023H—002AH 串列中斷地址區。
可見以上的40個單元是專門用於存放中斷處理程序的地址單元,中斷響應後,按中斷的類型,自動轉到各自的中斷區去執行程序。因此以上地址單元不能用於存放程序的其他內容,只能存放中斷服務程序。但是通常情況下,每段只有8個地址單元是不能存下完整的中斷服務程序的,因而一般也在中斷響應的地址區安放一條無條件轉移指令,指向程序存儲器的其它真正存放中斷服務程序的空間去執行,這樣中斷響應後,CPU讀到這條轉移指令,便轉向其他地方去繼續執行中斷服務程序。
2、 數據存儲器
數據存儲器也稱為隨機存取數據存儲器。MCS-51單片機的數據存儲器在物理上和邏輯上都分為兩個地址空間,一個是內部數據存儲區和一個外部數據存儲區。MCS-51內部RAM有128或256個位元組的用戶數據存儲(不同的型號有分別),它們是用於存放執行的中間結果和過程數據的。MCS-51的數據存儲器均可讀寫,部分單元還可以位定址。
8051內部RAM共有256個單元,這256個單元共分為兩部分。其一是地址從00H—7FH單元(共128個位元組)為用戶數據RAM。從80H—FFH地址單元(也是128個位元組)為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結構分布。
在00H—1FH共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以R0—R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0—R7,那麼在程序中怎麼區分和使用它們呢?聰明的INTEL工程師們又安排了一個寄存器——程序狀態字寄存器(PSW)來管理它們,CPU只要定義這個寄存的PSW的第3和第4位(RS0和RS1),即可選中這四組通用寄存器。對應的編碼關系如圖2所示。
內部RAM的20H—2FH單元為位定址區,既可作為一般單元用位元組定址,也可對它們的位進行定址。位定址區共有16個位元組,128個位,位地址為00H—7FH。位地址分配如表1所示,CPU能直接定址這些位,執行例如置「1」、清「0」、求「反」、轉移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為定址區。

㈢ 計算機如何區分存儲器中存儲的信息是數據還是程序

廣義講,程序也是數據。對於計算機來講,存儲器中存儲的都是數據,只是人們的把某些特定的數據讓計算機在特定的狀態下運行,就是程序。也就是說運行狀態的就是程序,非運行狀態的就是數據。

在計算機內部,信息都是釆用二進制的形式進行存儲運算處理和傳輸的。信息存儲單位有位、位元組和字等幾種。各種存儲設備存儲容量單位有KB、MB、GB和TB等幾種。



(3)有效段在存儲器中的分布擴展閱讀

為提高存儲器的性能,通常把各種不同存儲容量、存取速度和價格的存儲器按層次結構組成多層存儲器,並通過管理軟體和輔助硬體有機組合成統一的整體,使所存放的程序和數據按層次分布在各存儲器中。

主要採用三級層次結構來構成存儲系統,由高速緩沖存儲器Cache、主存儲器和輔助存儲器組成。圖中自上向下容量逐漸增大,速度逐級降低,成本則逐次減少。

一個較大的存儲系統由各種不同類型的存儲設備構成,形成具有多級層次結構的存儲系統。該系統既有與CPU相近的速度,又有極大的容量,而價格又是較低的。可見,採用多級層次結構的存儲器系統可有效地解決存儲器的速度、容量和價格之間的矛盾。

㈣ c++ 類,在內存中是如何分布的

變數可以存儲在存儲器的不同部分,這取決於它們的壽命。定義在函數之外的變數(全局變數或靜態外部變數)和函數內定義的靜態變數是程序運行的整個過程,這些過程存儲在數據段(數據集)中。數據段是內存中這些變數的固定空間。它分為兩個部分,一個用於存儲初始化變數,另一個用於存儲未初始化變數。

㈤ 存儲器的分段

這里很清楚啊。CPU的地址線是20位,低4位必須為0,那麼就剩下16位可以用來分段。2的16次方正好是64K.這就是答案了。

㈥ 段存儲器,段的意思

段寄存器是因為對內存的分段管理而設置的。計算機需要對內存分段,以分配給不同的程序使用(類似於硬碟分頁)。在描述內存分段時,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理屬性(禁止寫入/禁止執行/系統專用等)。需要用8個位元組(64位)存儲這些信息,但段寄存器只有16位,因此段寄存器中只能存儲段號(segment selector,也譯作「段選擇符」),再由段號映射到存在內存中的GDT(global (segment) descriptor table,全局段號記錄表),讀取段的信息。16位CPU有四個16位段寄存器,所以,其程序可同時訪問四個不同含義的段。8086CPU有20根地址線,最大可定址內存空間為1MB。而8086的寄存器只有16位,指令指針(IP)和變址寄存器(SI、DI)也是16位的。用16位的地址定址1MB空間是不可能的。所以就要把內存分段,也就是把1MB空間分為2^4,即16個段,每段不超過64KB(2^16,16位數據線就可以定址)。在8086中設置4個16位的段寄存器,用於管理4種段:CS是代碼段,DS是數據段,SS是堆棧段,ES是附加段。把內存分段後,每一個段就有一個段基址,段寄存器保存的就是這個段基址的高16位,這個16位的地址左移四位(後面加上4個0)就可構成20位的段基址。

我的回答你還滿意嗎?望採納,謝謝!

㈦ 8086可以把存儲器分成幾個段各段的地址又怎麼確定

1、
(1)段地址:2314h,偏移地址:0035h,物理地址:23175h
(2)
段地址:1fd0h,偏移地址:00a0h,物理地址:1fda0h
2、依次為85h~8ch,計算公式:有效地址=物理地址-ds*16。
由於是16位機,一次處理數據16位,即2位元組,這里有8個位元組,所以,要訪問4次。

㈧ 80486系統中,存儲器為什麼要分段分段的原則是什麼

80386和80486cpu的地址線和數據線各為32,也就是說在實模式下該cpu訪問的最大存儲地址空間為2^32=4GB。那麼如果我要訪問的地址的空間起始地址超過了4GB呢?那怎麼辦,是不是就沒辦法了呢?
為解決這一問題,在這里提到的就是保護模式,保護模式下程序員可以獲得更大的存儲地址空間(即虛擬地址)。這樣,對於80286來說,偏移量為16位,每個段最大為64KB,可提供的虛擬存儲空間為1GB(2^30個位元組)。對於386和486CPU來說,偏移量為32位,每個段最大為4GB,可提供的虛擬存儲空間為2^46=64TB。保護模式下對存儲器分段也就是這個原理,這也是為了方便管理存儲器而採用的更有效的方法。後面也有比分段管理更高級的分頁管理機制。當然,這是後話了。(這個和寄存器間接定址類似卻略有不同)。
沒看懂的話建議您去看一些比較基礎的書籍,原理性的東西。這本《微機原理》貌似就不錯,呵呵。希望對你有所幫助。

㈨ 在存儲器分段結構中,每個段區最大可佔用多少地址范圍,為什麼

8086/8088系統中,存儲器為什麼要分段?一個段最大為多少位元組?最小為多少位元組? 解:分段的主要目的是便於存儲器的管理,使得可以用16位寄存器來定址20位的內存空間。一個段最大為64KB,最小為16B。

㈩ 存儲器地址的段地址、偏移地址和物理地址

1、(1)段地址:2314H,偏移地址:0035H,物理地址:23175H (2) 段地址:1FD0H,偏移地址:00A0H,物理地址:1FDA0H2、依次為85H~8CH,計算公式:有效地址=物理地址-DS*16。由於是16位機,一次處理數據16位,即2位元組,這里有8個位元組,所以,要訪問4次。