當前位置:首頁 » 文件傳輸 » 分頁訪問的外部數據存儲器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

分頁訪問的外部數據存儲器

發布時間: 2022-07-16 10:58:22

❶ 關於單片機訪問外部數據存儲器,P2口問題。

當單片機讀寫外部存儲器過後,P2口在訪問完之後,就又變回IO口的通用狀態(即0xFF)。實際上,它的輸出「0xFF」狀態是一直存在的,這也是為什麼在訪問外部存儲器前需要將P0,P2置為0xFF的原因。

❷ 單片機存儲器的詳細說明

樓上說的不全給你補充完整

data 直接訪問內部數據存儲器(128位元組),訪問速度最快
bdata 可位定址內部數據存儲器(16位元組),允許位與位元組混合訪問
idata 間接訪問內部數據存儲器(256位元組),允許訪問全部內部地址
pdata 分頁訪問外部數據存儲器(256位元組),用MOVX @Ri指令訪問
xdata 外部數據存儲器(64KB),用MOVX @DPTR指令訪問
code 程序存儲器(64KB),用MOVC @DPTR指令訪問

❸ 分頁存儲管理的實現原理

採用分頁存儲器允許把一個作業存放到若干不相鄰的分區中,既可免去移動信息的工作,又可盡量減少主存的碎片。分頁式存儲管理的基本原理如下:

1、 頁框:物理地址分成大小相等的許多區,每個區稱為一塊;
2、址分成大小相等的區,區的大小與塊的大小相等,每個稱一個頁面。
3、 邏輯地址形式:與此對應,分頁存儲器的邏輯地址由兩部分組成,頁號和單元號。邏輯地址格式為 頁號 單元號(頁內地址) 採用分頁式存儲管理時,邏輯地址是連續的。所以,用戶在編製程序時仍只須使用順序的地址,而不必考慮如何去分頁。

4、頁表和地址轉換:如何保證程序正確執行呢?
採用的辦法是動態重定位技術,讓程序的指令執行時作地址變換,由於程序段以頁為單位,所以,我們給每個頁設立一個重定位寄存器,這些重定位寄存器的集合便稱頁表。頁表是操作系統為每個用戶作業建立的,用來記錄程序頁面和主存對應頁框的對照表,頁表中的每一欄指明了程序中的一個頁面和分得的頁框的對應關系。絕對地址=塊號*塊長+單元號 以上從拓撲結構角度分析了對稱式與非對稱式虛擬存儲方案的異同,實際從虛擬化存儲的實現原理來講也有兩種方式;即數據塊虛擬與虛擬文件系統. 數據塊虛擬存儲方案著重解決數據傳輸過程中的沖突和延時問題.在多交換機組成的大型Fabric結構的SAN中,由於多台主機通過多個交換機埠訪問存儲設備,延時和數據塊沖突問題非常嚴重.數據塊虛擬存儲方案利用虛擬的多埠並行技術,為多台客戶機提供了極高的帶寬,最大限度上減少了延時與沖突的發生,在實際應用中,數據塊虛擬存儲方案以對稱式拓撲結構為表現形式. 虛擬文件系統存儲方案著重解決大規模網路中文件共享的安全機制問題.通過對不同的站點指定不同的訪問許可權,保證網路文件的安全.在實際應用中,虛擬文件系統存儲方案以非對稱式拓撲結構為表現形式. 虛擬存儲技術,實際上是虛擬存儲技術的一個方面,特指以CPU時間和外存空間換取昂貴內存空間的操作系統中的資源轉換技術 基本思想:程序,數據,堆棧的大小可以超過內存的大小,操作系統把程序當前使用的部分保留在內存,而把其他部分保存在磁碟上,並在需要時在內存和磁碟之間動態交換,虛擬存儲器支持多道程序設計技術 目的:提高內存利用率 管理方式
A 請求式分頁存儲管理 在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之後根據進程運行的需要,動態裝入其他頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據某種演算法淘汰某個頁面,以便裝入新的頁面

B 請求式分段存儲管理 為了能實現虛擬存儲,段式邏輯地址空間中的程序段在運行時並不全部裝入內存,而是如同請求式分頁存儲管理,首先調入一個或若干個程序段運行,在運行過程中調用到哪段時,就根據該段長度在內存分配一個連續的分區給它使用.若內存中沒有足夠大的空閑分區,則考慮進行段的緊湊或將某段或某些段淘汰出去,這種存儲管理技術稱為請求式分段存儲管理

❹ 操作系統請求分頁存儲方式的基本原理是什麼謝謝

3.請求分頁系統(1)請求分頁對頁表的擴充
在請求分頁系統中所使用的主要數據結構仍然是頁表。它對頁式系統中的頁表機制進行了擴充但其基本作用是實現由用戶地址空間到物理內存空間的映射。由於只將應用程序的一部分裝入內存,還有一部分仍在磁碟上,故需在頁表中增加若干項,供操作系統實現虛擬存儲器功能時參考。常見的系統中,一般對頁表的表項進行如下擴充:除了頁號對應的物理塊號,還增加了狀態位、修改位、外存地址和訪問欄位等。
·狀態位,用於指示該頁是否已經調入了內存。該位一般由操作系統軟體來管理,每當操作系統把一頁調人物理內存中時,置位。相反,當操作系統把該頁從物理內存調出時,復位。CPU對內存進行引用時,根據該位判斷要訪問的頁是否在內存中,若不在內存之中,則產生缺頁中斷。
·修改位,表示該頁調入內存後是否被修改過。當CPU以寫的方式訪問頁面時,對該頁表項中的修改位置位。該位也可由操作系統軟體來修改,例如,當操作系統將修改過頁面保存在磁碟上後,可將該位復位。
·外存地址,用於指出該頁在外存上的地址,供調人該頁時使用。
·訪問宇段,用於記錄本頁在一定時間內被訪問的次數,或最近已經有多長時間未被訪問。提供給相應的置換演算法在選擇換出頁面時參考。
(2)對缺頁中斷的支持
在請求分頁系統中,CPU硬體一定要提供對缺頁中斷的支持,根據頁表項中的狀態位判斷是否產生缺頁中斷。缺頁中斷是一個比較特殊的中斷,這主要體現在如下兩點:
·在指令的執行期間產生和處理缺頁信號。通常的CPU外部中斷,是在每條指令執行完畢後檢查是否有中斷請求到達。而缺頁中斷,是在一條指令的執行期間,發現要訪問的指令和數據不在內存時產生和處理的。
·一條指令可以產生多個缺頁中斷。例如,一條雙操作數的指令,每個操作數都不在內存中,這條指令執行時,將產生兩個中斷。CPU提供的硬體支持,還要體現在當從中斷處理程序返回時,能夠正確執行產生缺頁中斷的指令。
(3)頁面調度策略
虛擬存儲器系統通常定義三種策略來規定如何(或何時)進行頁面調度:調入策略、置頁策略和置換策略。
(4)置換演算法(replacementalgorithm)決定在需要調入頁面時,選擇內存中哪個物理頁面被置換。置換演算法的出發點應該是,把未來不再使用的或短期內較少使用的頁面調出。而未來的實際情況是不確定的,通常只能在局部性原理指導下依據過去的統計數據進行預測。常用的演算法有以下幾種:
·最佳演算法(optimal,OPT)。選擇「未來不再使用的」或「在離當前最遠位置上出現的」頁面被置換。這是一種理想情況,是實際執行中無法預知的,因而不能實現,只能用作性能評價的依據。
·最近最久未使用演算法(LeastRecentlyUsed,LRU)。選擇內存中最久未使用的頁面被置換,這是局部性原理的合理近似,性能接近最佳演算法。但由於需要記錄頁面使用時間的先後關系,硬體開銷太大。LRU可用如下的硬體機構幫助實現:
一個特殊的棧:把被訪問的頁面移到棧頂,於是棧底的是最久未使用頁面。每個頁面設立移位寄存器:被訪問時左邊最高位置1,定期右移並且最高位補0,於是寄存器數值最小的是最久未使用頁面。
·先進先出演算法(FIFO)。選擇裝入最早的頁面置換。可以通過鏈表來表示各頁的裝入時間先後。FIFO的性能較差,因為較早調入的頁往往是經常被訪問的頁,這些頁在FIFO演算法下被反復調入和調出,並且有Belady現象。所謂Belady現象是指:採用FIFO演算法時,如果對—個進程未分配它所要求的全部頁面,有時就會出現分配的頁面數增多但缺頁率反而提高的異常現象。Belady現象可形式化地描述為:一個進程戶要訪問M個頁,OS分配艫個內存頁面給進程P;對一個訪問序列S,發生缺頁次數為PE(占,N)。當N增大時,PE(S,N)時而增大時而減小。Belady現象的原因是FIFO演算法的置換特徵與進程訪問內存的動態特徵是矛盾的,即被置換的頁面並不是進程不會訪問的。
·時鍾(clock)演算法。也稱最近未使用演算法(NotRecentlyUsed,NRU),它是LRU和FIFO的折中。每頁有一個使用標志位(usebit),若該頁被訪問則置userbit=l,這是由CPU的硬體自動完成的。置換時採用一個指針,從當前指針位置開始按地址先後檢查各頁,尋找usebit=0的面作為被置換頁。指針經過的userbit=l的頁都修改userbit=O,這個修改的過程是操作系統完成的,最後指針停留在被置換頁的下一個頁。
·最不常用演算法(LeastFrequentlyUsed,LFU)。選擇到當前時間為止被訪問次數最少的頁面被置換。每頁設置訪問計數器,每當頁面被訪問時,該頁面的訪問計數器加1。發生缺頁中斷時,淘汰計數值最小的頁面,並將所有計數清零。
·頁面緩沖演算法(pagebuffering)。它是對FIFO演算法的發展,通過建立置換頁面的緩沖,這樣就有機會找回剛被置換的頁面,從而減少系統I/0的開銷。頁面緩沖演算法用FIFO演算法選擇被置換頁,把被置換的頁面放人兩個鏈表之一。即是如果頁面未被修改,就將其歸人到空閑頁面鏈表的末尾,否則將其歸人到已修改頁面鏈表。空閑頁面和已修改頁面,仍停留在內存中一段時間,如果這些頁面被再次訪問,只需較小開銷,被訪問的頁面就可以返還作為進程的內存頁。需要調入新的物理頁面時,將新頁面內容讀人到空閑頁面鏈表的第一項所指的頁面,然後將第一項刪除。當已修改頁面達到一定數目後,再將它們一起調出到外存,然後將它們歸人空閑頁面鏈表。這樣能大大減少I/O操作的次數。

❺ 單片機訪問外部數據存儲器採用什麼指令

用MOVX指令。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。

❻ Keil C51下如何讓編譯器優先使用片內RAM

C51內存結構深度剖析
在編寫應用程序時,定義一個變數,一個數組,或是說一個固定表格,到底存儲在什麼地方;當定義變數大小超過MCU的內存范圍時怎麼辦;如何控制變數定義不超過存儲范圍;以及如何定義變數才能使得變數訪問速度最快,寫出的程序運行效率最高。以下將一一解答。

1 六類關鍵字(六類存儲類型)
data idata xdata pdata code bdata

code: code memory (程序存儲器也即只讀存儲器)用來保存常量或是程序。code memory 採用16位地址線編碼,可以是在片內,或是片外,大小被限制在64KB
作用:定義常量,如八段數碼表或是編程使用的常,在定義時加上code 或明確指明定義的常量保存到code memory(只讀)
使用方法:
char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
此關鍵字的使用方法等同於const

data data memory (數據存儲區)只能用於聲明變數,不能用來聲明函數,該區域位於片內,採用8位地址線編碼,具有最快的存儲速度,但是數量被限制在128byte或更少。
使用方法:
unsigned char data fast_variable=0;

idata idata memory(數據存儲區)只能用於聲明變數,不能用來聲明函數. 該區域位於片內,採用8位地址線編碼,內存大小被限制在256byte或更少。該區域的低地址區與data memory地址一致;高地址區域是52系列在51系列基礎上擴展的並與特殊功能寄存器具有相同地址編碼的區域。即:data memory是idata memory的一個子集。

xdata xdata memory 只能用於聲明變數,不能用來聲明函數,該區域位於MCU
外部,採用16位地址線進行編碼,存儲大小被限制在64KB以內。
使用方法:
unsigned char xdata count=0;

pdata pdata memory 只能用於聲明變數,不能用來聲明函數,該區域位於MCU外部,採用8位地址線進行編碼。存儲大小限制在256byte. 是xdata memory的低256byte。為其子集。
使用方法
unsigned char pdata count=0;

bdata bdata memory 只能用於聲明變數,不能用來聲明函數。該區域位於8051內部位數據地址。定義的量保存在內部位地址空間,可用位指令直接讀寫。
使用方法:
unsigned char bdata varab=0

註:有些資料講,定義字元型變數時,在預設unsigned 時,字元型變數,默認為無符號,與標准C不同,但我在Keil uVision3中測試的時候發現並非如此。在預設的情況下默認為有符號。或許在以前的編譯器是默認為無符號。所以看到有的資料上面這樣講的時候,要注意一下,不同的編譯器或許不同。所以我們在寫程序的時候,還是乖乖的把unsigned signed 加上,咱也別偷這個懶。
2函數的參數和局部變數的存儲模式
C51 編譯器允許採用三種存儲器模式:SMALL,COMPACT 和LARGE。一個函數的存儲器模式確定了函數的參數的局部變數在內存中的地址空間。處於SMALL模式下的函數參數和局部變數位於8051單片機內部RAM中,處於COMPACT和LARGE模式下的函數參數和局部變數則使用單片機外部RAM。在定義一個函數時可以明確指定該函數的存儲器模式。方法是在形參表列的後面加上一存儲模式。

示例如下:
#pragma large //此預編譯必須放在所有頭文前面
int func0(char x,y) small;
char func1(int x) large;
int func2(char x);
註:
上面例子在第一行用了一個預編譯命令#pragma 它的意思是告訴c51編譯器在對程序進行編譯時,按該預編譯命令後面給出的編譯控制指令LARGE進行編譯,即本常式序編譯時的默認存儲模式為LARGE.隨後定義了三個函數,第一個定義為SMALL存儲模式,第二個函數定義為LARGE第三個函數未指定,在用C51進行編譯時,只有最後一個函數按LARGE存儲器模式處理,其它則分別按它們各自指定的存儲器模式處理。
本例說明,C51編譯器允許採用所謂的存儲器混合模式,即允許在一個程序中將一些函數使用一種存儲模式,而其它一些則按另一種存儲器模式,採用存儲器混合模式編程,可以充分利用8051系列單片機中有限的存儲器空間,同時還可以加快程序的執行速度。

3絕對地址訪問 absacc.h(相當重要)

#define CBYTE ((unsigned char volatile code *) 0)
#define DBYTE ((unsigned char volatile data *) 0)
#define PBYTE ((unsigned char volatile pdata *) 0)
#define XBYTE ((unsigned char volatile xdata *) 0)
功能:CBYTE 定址 CODE區
DBYTE 定址 DATA區
PBYTE 定址 XDATA(低256)區
XBYTE 定址 XDATA區
例: 如下指令在對外部存儲器區域訪問地址0x1000
xvar=XBYTE[0x1000];
XBYTE[0x1000]=20;

#define CWORD ((unsigned int volatile code *) 0)
#define DWORD ((unsigned int volatile data *) 0)
#define PWORD ((unsigned int volatile pdata *) 0)
#define XWORD ((unsigned int volatile xdata *) 0)

功能:與前面的一個宏相似,只是它們指定的數據類型為unsigned int .。
通過靈活運用不同的數據類型,所有的8051地址空間都是可以進行訪問。

DWORD[0x0004]=0x12F8;
即內部數據存儲器中(0x08)=0x12; (0x09)=0xF8

註:用以上八個函數,可以完成對單片機內部任意ROM和RAM進行訪問,非常方便。還有一種方法,那就是用指鍾,後面會對C51的指針有詳細的介紹。

4寄存器變數(register)
為了提高程序的執行效率,C語言允許將一些頻率最高的那些變數,定義為能夠直接使用硬體寄存器的所謂的寄存器變數。定義一個變數時,在變數類型名前冠以「register」 即將該變數定義成為了寄存器變數。寄存器變數可以認為是一自動變數的一種。有效作用范圍也自動變數相同。由於計算機寄存器中寄存器是有限的。不能將所有變數都定義成為寄存器變數,通常在程序中定義寄存器變數時,只是給編譯器一個建議,該變數是否真正成為寄存器變數,要由編譯器根據實際情況來確定。另一方面,C51編譯器能夠識別程序中使用頻率最高的變數,在可能的情況下,即使程序中並未將該變數定義為寄存器變數,編譯器也會自動將其作為寄存器變數處理。被定義的變數是否真正能成為寄存器變數,最終是由編譯器決定的。

5內存訪問雜談
1指鍾
指鍾本身是一個變數,其中存放的內容是變數的地址,也即特定的數據。8051的地址是16位的,所以指針變數本身佔用兩個存儲單元。指針的說明與變數的說明類似,僅在指針名前加上「*」即可。
如 int *int_point; 聲明一個整型指針
char *char_point; 聲明一個字元型指針
利用指針可以間接存取變數。實現這一點要用到兩個特殊運算符
& 取變數地址
* 取指針指向單元的數據

示例一:
int a,b;
int *int_point; //定義一個指向整型變數的指針
a=15;
int_point=&a; //int_point指向 a
*int_point=5; //給int_point指向的變數a 賦值5 等同於a=5;
示例二:
char i,table[6],*char_point;
char_point=table;
for(i=0;i<6;i++)
{
char_point=i;
char_point++;
}
註:
指針可以進行運算,它可以與整數進行加減運算(移動指針)。但要注意,移動指針後,其地址的增減量是隨指針類型而異的,如,浮點指針進行自增後,其內部將在原有的基礎上加4,而字元指針當進生自增的時候,其內容將加1。原因是浮點數,佔4個內存單元,而字元佔一個位元組。

宏晶科技最新一代STC12C5A360S2系列,每一個單片機出廠時都有全球唯一身份證號碼(ID號),用戶可以在單片機上電後讀取內部RAM單元F1H~F7H的數值,來獲取此單片機的唯一身份證號碼。使用MOV @Ri 指令來讀取。下面介紹C51 獲取方法:
char id[7]={0};
char i;
char idata *point;
for(i=0;i<7;i++)
{
id[i]=*point;
point++;
}

(此處只是對指針做一個小的介紹,達到訪問內部任何空間的方式,後述有對指針使用的詳細介紹)
2對SFR,RAM ,ROM的直接存取
C51提供了一組可以直接對其操作的擴展函數
若源程序中,用#include包含頭文件,io51.h 後,就可以在擴展函數中使用特殊功能寄存器的地址名,以增強程序的可讀性:

注 此方法對SFR,RAM,ROM的直接存取不建議使用.因為,淡io51.h這個頭文件在KEIL中無法打開,可用指針,或是採用absacc.h頭文件,

❼ 訪問外部數據存儲器和程序存儲器可以用那些指令來實現舉例說明

51單片機
訪問片外RAM
MOVX A,@DPTR
MOVX A,@R0
MOVX A,@R1

MOVX @DPTR,A
MOVX @R0,A
MOVX @R1,A

訪問程序存儲器
MOVC A,@A+DPTR
MOVC @A+DPTR,A

❽ 分頁存儲管理的基本思想

分頁式存儲管理的基本原理:採用分頁存儲器允許把一個作業存放到若干不相鄰的分區中,既可免去移動信息的工作,又可盡量減少主存的碎片。分頁式存儲管理的基本原理如下:
1、 頁框:物理地址分成大小相等的許多區,每個區稱為一塊;
2、址分成大小相等的區,區的大小與塊的大小相等,每個稱一個頁面。
3、 邏輯地址形式:與此對應,分頁存儲器的邏輯地址由兩部分組成,頁號和單元號。邏輯地址格式為
頁號 單元號(頁內地址)
採用分頁式存儲管理時,邏輯地址是連續的。所以,用戶在編製程序時仍只須使用順序的地址,而不必考慮如何去分頁。
4、頁表和地址轉換:如何保證程序正確執行呢?採用的辦法是動態重定位技術,讓程序的指令執行時作地址變換,由於程序段以頁為單位,所以,我們給每個頁設立一個重定位寄存器,這些重定位寄存器的集合便稱頁表。頁表是操作系統為每個用戶作業建立的,用來記錄程序頁面和主存對應頁框的對照表,頁表中的每一欄指明了程序中的一個頁面和分得的頁框的對應關系。絕對地址=塊號*塊長+單元號
以上從拓撲結構角度分析了對稱式與非對稱式虛擬存儲方案的異同,實際從虛擬化存儲的實現原理來講也有兩種方式;即數據塊虛擬與虛擬文件系統.
數據塊虛擬存儲方案著重解決數據傳輸過程中的沖突和延時問題.在多交換機組成的大型Fabric結構的SAN中,由於多台主機通過多個交換機埠訪問存儲設備,延時和數據塊沖突問題非常嚴重.數據塊虛擬存儲方案利用虛擬的多埠並行技術,為多台客戶機提供了極高的帶寬,最大限度上減少了延時與沖突的發生,在實際應用中,數據塊虛擬存儲方案以對稱式拓撲結構為表現形式.
虛擬文件系統存儲方案著重解決大規模網路中文件共享的安全機制問題.通過對不同的站點指定不同的訪問許可權,保證網路文件的安全.在實際應用中,虛擬文件系統存儲方案以非對稱式拓撲結構為表現形式.
虛擬存儲技術,實際上是虛擬存儲技術的一個方面,特指以CPU時間和外存空間換取昂貴內存空間的操作系統中的資源轉換技術
基本思想:程序,數據,堆棧的大小可以超過內存的大小,操作系統把程序當前使用的部分保留在內存,而把其他部分保存在磁碟上,並在需要時在內存和磁碟之間動態交換,虛擬存儲器支持多道程序設計技術
目的:提高內存利用率
管理方式
A 請求式分頁存儲管理
在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之後根據進程運行的需要,動態裝入其他頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據某種演算法淘汰某個頁面,以便裝入新的頁面
B 請求式分段存儲管理
為了能實現虛擬存儲,段式邏輯地址空間中的程序段在運行時並不全部裝入內存,而是如同請求式分頁存儲管理,首先調入一個或若干個程序段運行,在運行過程中調用到哪段時,就根據該段長度在內存分配一個連續的分區給它使用.若內存中沒有足夠大的空閑分區,則考慮進行段的緊湊或將某段或某些段淘汰出去,這種存儲管理技術稱為請求式分段存儲管理

❾ C51編譯器支持的存儲器類型有哪些

c51存儲器類型有bit
sbit
data
xdata
bdata
pdata
sfr
code等,可能不全面有遺漏
對應的物理存儲器是:
bit,即位數據:數據存儲器位定址區,即20h~2fh的范圍,共16個位元組,16*8=128個位,位地址00h~7fh,連續的。
sbit:特殊功能寄存器中的位數據:只有能夠被8整除的那些特殊功能寄存器中的各個位才能被稱為sbit,位地址80h~ffh,不連續的,間斷的。
data:數據區,對51為00h~7fh共128個位元組,對52為00h~ffh,共256個位元組,用mov定址,前128用直接定址或寄存器(r0~r7)定址,後128用r0、r1間接定址。
xdata:外部數據區,0000h~ffffh連續,用dptr間接定址(movx指令)
bdata:位定址去的位元組,20h~2fh
sfr:特殊功能寄存器(80h~ffh),直接定址
pdata:外部數據區,p2口保持數據,用r0r1間接定址(movx指令)
code:程序存儲器,用movc指令只讀

❿ 單片機:訪問內部數據存儲器和外部數據存儲器有什麼區別

eeprom
424c01-24c1024,數據不大可以用24c16就可以了,16k位,也就是2k位元組的數據。
我也有程序,網上搜索我找我要