1.一種預(yù)先載入應(yīng)用程序程序代碼的電腦系統(tǒng),包括:
一閃存,儲存一應(yīng)用程序的程序代碼;
一動態(tài)隨機存取存儲器;以及
一處理器,用以執(zhí)行下列方法:
在一紀錄模式下載入該應(yīng)用程序的程序代碼,包含:
借由執(zhí)行該應(yīng)用程序的一第一段程序代碼,產(chǎn)生該應(yīng)用程序的一第二段程序代碼的一起始地址(initial address)及一數(shù)據(jù)長度(data length);
根據(jù)該應(yīng)用程序的該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,將該應(yīng)用程序的該第二段程序代碼自一閃存載入至一動態(tài)隨機存取存儲器;以及
產(chǎn)生一重播檔(replay file),該重播檔包含該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,并儲存該重播檔至該閃存;以及
在一重播模式下載入該應(yīng)用程序的程序代碼,包含:
根據(jù)該重播檔中的該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,將該應(yīng)用程序的該第二段程序代碼自該閃存載入至該動態(tài)隨機存取存儲器。
2.如權(quán)利要求1所述的電腦系統(tǒng),其特征在于,
該動態(tài)隨機存取存儲器還包括一高速緩存位置空間(cache address space)及該應(yīng)用程序的一指定地址空間(allocated address space),其中該高速緩存地址空間不同于該指定地址空間;
在該紀錄模式下,該第二段程序代碼是被載入至該應(yīng)用程序的該指定地址空間;
在該重播模式下,該第二段程序代碼是根據(jù)該重播檔,被載入至該高速緩存地址空間。
3.如權(quán)利要求2所述的電腦系統(tǒng),其特征在于,在該重播模式下載入該應(yīng)用程序的程序代碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;以及
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼已被載入該動態(tài)隨機存取存儲器后,將接下來要執(zhí)行該應(yīng)用程序的該段程序代碼,自該高速緩存地址空間復(fù)制至該應(yīng)用程序的該指定地址空間。
4.如權(quán)利要求2所述的電腦系統(tǒng),其特征在于,在該重播模式下載入該應(yīng)用程序的程序代碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;以及
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼尚未被載入該動態(tài)隨機存取存儲器后,將接下來要執(zhí)行該應(yīng)用程序的該段程序代碼自該閃存載入至該應(yīng)用程序的該指定地址空間。
5.如權(quán)利要求1所述的電腦系統(tǒng),其特征在于,在該重播模式下載入該應(yīng)用程序的程序代碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼尚未被載入該動態(tài)隨機存取存儲器后,更新一缺失率;
確認該缺失率否大于一預(yù)設(shè)值;以及
確認該缺失率大于該預(yù)設(shè)值后,刪除儲存于該閃存中的該重播檔。
6.如權(quán)利要求5所述的電腦系統(tǒng),其特征在于,該處理器所執(zhí)行的方法還包含:
于執(zhí)行一開機程序(boot procedure)后,根據(jù)該閃存是否具有重播檔,決定在該紀錄模式下或在該重播模式下載入該應(yīng)用程序的程序代碼。
7.如權(quán)利要求6所述的電腦系統(tǒng),其特征在于,該應(yīng)用程序為一框架應(yīng)用程序(framework application)。
8.一種預(yù)先載入應(yīng)用程序程序代碼的方法,適用于將一應(yīng)用程序的程序代碼儲存于一閃存的一電腦系統(tǒng),該方法包括:
在一紀錄模式下載入該應(yīng)用程序的程序代碼,包含:
借由執(zhí)行該應(yīng)用程序的一第一段程序代碼,產(chǎn)生該應(yīng)用程序的一第二段程序代碼的一起始地址(initial address)及一數(shù)據(jù)長度(data length);
根據(jù)該應(yīng)用程序的該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,將該應(yīng)用程序的該第二段程序代碼自一閃存載入至一動態(tài)隨機存取存儲器;以及
產(chǎn)生一重播檔(replay file),該重播檔包含該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,并儲存該重播檔至該閃存;以及
在一重播模式下載入該應(yīng)用程序的程序代碼,包含:
根據(jù)該重播檔中的該第二段程序代碼的該起始地址及該數(shù)據(jù)長度,將該應(yīng)用程序的該第二段程序代碼自該閃存載入至該動態(tài)隨機存取存儲器。
9.如權(quán)利要求8所述的方法,其特征在于,
在該紀錄模式下,該第二段程序代碼是被載入至該應(yīng)用程序在該動態(tài)隨機存取存儲器的一指定地址空間(allocated address space);以及
在該重播模式下,該第二段程序代碼是被載入至該動態(tài)隨機存取存儲器的一高速緩存地址空間(cache address space),其特征在于,該高速緩存地址空間不同于該應(yīng)用程序的該指定地址空間。
10.如權(quán)利要求9所述的方法,其特征在于,在該重播模式下載入該應(yīng)用程序的程數(shù)碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼已被載入該動態(tài)隨機存取存儲器后,將接下來要執(zhí)行該應(yīng)用程序的該段程序代碼,自該高速緩存地址空間復(fù)制至該應(yīng)用程序的該指定地址空間。
11.如權(quán)利要求9所述的方法,其特征在于,在該重播模式下載入該應(yīng)用程序的程序代碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼尚未被載入該動態(tài)隨機存取存儲器后,將接下來要執(zhí)行該應(yīng)用程序的該段程序代碼,自該閃存載入至該應(yīng)用程序的該指定地址空間。
12.如權(quán)利要求8所述的方法,其特征在于,在該重播模式下載入該應(yīng)用 程序的程序代碼還包含:
確認接下來要執(zhí)行該應(yīng)用程序的一段程序代碼是否已被載入該動態(tài)隨機存取存儲器;
確認接下來要執(zhí)行該應(yīng)用程序的該段程序代碼尚未被載入該動態(tài)隨機存取存儲器后,更新一缺失率;
確認該缺失率否大于一預(yù)設(shè)值;
確認該缺失率大于該預(yù)設(shè)值后,刪除儲存于該閃存中的該重播檔。
13.如權(quán)利要求12所述的方法,還包含:
于執(zhí)行一開機程序(boot procedure)后,根據(jù)該閃存是否具有重播檔,決定在該紀錄模式下或在該重播模式下載入該應(yīng)用程序的程序代碼。
14.如權(quán)利要求13所述的方法,其特征在于,該應(yīng)用程序為一框架應(yīng)用程序(framework application)。