TWI497302B - Computer apparatus and operating method thereof - Google Patents

Computer apparatus and operating method thereof Download PDF

Info

Publication number
TWI497302B
TWI497302B TW101144598A TW101144598A TWI497302B TW I497302 B TWI497302 B TW I497302B TW 101144598 A TW101144598 A TW 101144598A TW 101144598 A TW101144598 A TW 101144598A TW I497302 B TWI497302 B TW I497302B
Authority
TW
Taiwan
Prior art keywords
memory
request
data
arbiter
boot
Prior art date
Application number
TW101144598A
Other languages
Chinese (zh)
Other versions
TW201421248A (en
Inventor
Kuan Jui Ho
Chen Hao Chen
Shu Cheng Chi
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Priority to TW101144598A priority Critical patent/TWI497302B/en
Publication of TW201421248A publication Critical patent/TW201421248A/en
Application granted granted Critical
Publication of TWI497302B publication Critical patent/TWI497302B/en

Links

Description

電腦裝置及其操作方法Computer device and its operation method

本發明是有關於電腦相關領域之技術,且特別是有關於一種電腦裝置及其操作方法。The present invention relates to the field of computer related art, and in particular to a computer device and method of operating the same.

圖1為習知之電腦裝置的示意圖。請參照圖1,此電腦裝置100包括有中央處理器110、晶片組120、序列周邊介面(serial peripheral interface,SPI)匯流排130與唯讀(read-only)記憶體140。晶片組120具有序列周邊介面控制器122,且此序列周邊介面控制器122係透過序列周邊介面匯流排130電性連接唯讀記憶體140。而唯讀記憶體140係儲存有電腦裝置100的開機資料(boot data),例如是儲存有基本輸入/輸出系統(basic input/output system,BIOS)的程式碼。在電腦裝置100開機時,只要序列周邊介面控制器122接收到來自中央處理器110之一開機資料索取要求,序列周邊介面控制器122便會從唯讀記憶體140中取得上述開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器110,以使中央處理器110可正常執行電腦裝置100的開機程序。1 is a schematic diagram of a conventional computer device. Referring to FIG. 1 , the computer device 100 includes a central processing unit 110 , a chip set 120 , a serial peripheral interface (SPI) bus bar 130 , and a read-only memory 140 . The chipset 120 has a serial peripheral interface controller 122, and the serial peripheral interface controller 122 is electrically connected to the read-only memory 140 via the serial peripheral interface bus 130. The read-only memory 140 stores boot data of the computer device 100, for example, a code that stores a basic input/output system (BIOS). When the computer device 100 is powered on, the sequence peripheral interface controller 122 obtains the boot data request request from the read-only memory 140 as long as the serial peripheral interface controller 122 receives a boot data request from the central processing unit 110. The information to be obtained is transmitted to the central processing unit 110 so that the central processing unit 110 can normally execute the booting process of the computer device 100.

然而,這種操作方法將會使得電腦裝置100於開機時的自我檢測時間(power-on self test time)較長,以圖2來說明之。圖2係用以說明電腦裝置100於開機時的自我檢測 時間。請參照圖2,假設電腦裝置100於開機時總共需要執行某個程式的三個迴圈(loop)來進行自我檢測,而每個迴圈又包含有三個任務(task),且中央處理器110之每一開機資料索取要求係欲索取執行一個迴圈時所需的程式碼,那麼按照前述的操作方式,當中央處理器110提出一開機資料索取要求後,電腦裝置100會先從唯讀記憶體140中去取得執行第一迴圈時所需的程式碼,也就是去取得任務1-1~1-3之程式碼,然後再執行第一迴圈之程式碼,也就是執行任務1-1~1-3之程式碼。在執行完第一迴圈之程式碼後,當中央處理器110再次提出一開機資料索取要求,電腦裝置100便會再從唯讀記憶體140中去取得執行第二迴圈時所需的程式碼,也就是去取得任務2-1~2-3之程式碼,然後再執行第二迴圈之程式碼,也就是執行任務2-1~2-3之程式碼。同理,第三迴圈之程式碼也是按照同樣的方式來進行。However, this method of operation will cause the computer device 100 to have a longer power-on self test time at boot time, as illustrated in FIG. 2 is a diagram for explaining self-detection of the computer device 100 at power-on. time. Referring to FIG. 2, it is assumed that the computer device 100 needs to execute three loops of a certain program to perform self-detection when the computer is turned on, and each loop includes three tasks, and the central processing unit 110 Each of the boot data request requirements is to obtain the code required to execute a loop. Then, according to the foregoing operation mode, when the central processing unit 110 proposes a boot request request, the computer device 100 first reads from the read only memory. The body 140 obtains the code required to execute the first loop, that is, obtains the code of the task 1-1~1-3, and then executes the code of the first loop, that is, performs the task 1 1~1-3 code. After executing the code of the first loop, when the central processing unit 110 requests a boot request request again, the computer device 100 will again obtain the program required to execute the second loop from the read-only memory 140. The code, that is, to obtain the code of the task 2-1~2-3, and then execute the code of the second loop, that is, execute the code of the task 2-1~2-3. In the same way, the code of the third loop is also performed in the same way.

由於電腦裝置100在開機時每執行一個迴圈的程式碼之前都必須先從唯讀記憶體140中去取得執行此迴圈時所需的程式碼,且資料從唯讀記憶體140傳送到中央處理器110的傳輸速度又被序列周邊介面匯流排130原本就不大的頻寬所限制,使得電腦裝置100於開機時間過於冗長。Since the computer device 100 must first obtain the code required to execute the loop from the read-only memory 140 before executing the program code of the loop at the time of power-on, the data is transmitted from the read-only memory 140 to the center. The transmission speed of the processor 110 is again limited by the originally small bandwidth of the serial peripheral interface bus 130, making the computer device 100 too verbose at boot time.

本發明提供一種電腦裝置,以縮短開機的時間。The invention provides a computer device to shorten the time of booting.

本發明另提供一種對應於上述電腦裝置之操作方法。The present invention further provides an operation method corresponding to the above computer device.

本發明提出一種電腦裝置,其包括有一中央處理器、一唯讀記憶體、一快閃記憶體、一第一匯流排、一第二匯流排與一晶片組。所述之唯讀記憶體係儲存有一開機資料。所述之第一匯流排係具有第一頻寬。而所述之第二匯流排係具有第二頻寬,且第二頻寬大於第一頻寬。至於所述之晶片組,其又包括有一第一匯流排控制器、一第二匯流排控制器、一快取記憶體與一仲裁器。所述之第一匯流排控制器係透過上述第一匯流排來電性連接上述之唯讀記憶體。所述之第二匯流排控制器係透過上述第二匯流排來電性連接上述之快閃記憶體。所述之快取記憶體係電性連接上述之第二匯流排控制器。至於所述之仲裁器,其係電性連接上述第一匯流排控制器、上述第二匯流排控制器、上述快取記憶體與上述中央處理器。當此仲裁器接收到來自中央處理器之一開機資料索取要求時,此仲裁器便會去判斷唯讀記憶體中的開機資料是否已完全地備份至快閃記憶體中,以產生第一判斷結果,並依據第一判斷結果來決定是否進一步判斷上述開機資料索取要求所欲索取的資料是否已儲存在快取記憶體中,以進一步產生第二判斷結果。當取得上述第二判斷結果時,仲裁器便依據第二判斷結果來決定是要執行第一操作還是執行第二操作,其中第一操作係從快取記憶體中取得上述開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器;而第二操作係從唯讀記憶體中取得上述開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器,並將快閃記憶體中之對應於上述開機資料索取要求所欲索取資 料的資料區塊備份至快取記憶體中。The invention provides a computer device comprising a central processing unit, a read-only memory, a flash memory, a first bus bar, a second bus bar and a chip set. The read-only memory system stores a boot data. The first busbar has a first bandwidth. And the second bus bar has a second bandwidth, and the second bandwidth is greater than the first bandwidth. As for the chip set, the method further includes a first bus controller, a second bus controller, a cache memory and an arbiter. The first busbar controller electrically connects the above-mentioned read-only memory through the first busbar. The second busbar controller electrically connects the flash memory to the second busbar through the second busbar. The cache memory system is electrically connected to the second busbar controller described above. The arbitrator is electrically connected to the first bus controller, the second bus controller, the cache, and the central processor. When the arbiter receives a boot request request from a central processing unit, the arbiter determines whether the boot data in the read-only memory has been completely backed up to the flash memory to generate the first determination. As a result, based on the first determination result, it is determined whether to further determine whether the information requested by the boot data request request has been stored in the cache memory to further generate the second judgment result. When the second determination result is obtained, the arbitrator decides whether to perform the first operation or the second operation according to the second determination result, wherein the first operation is to obtain the above-mentioned startup data request request from the cache memory. Acquiring the information and transmitting the information obtained to the central processing unit; and the second operation is to obtain the information requested by the above-mentioned boot data request request from the read-only memory to transmit the obtained data to the central processing unit. And the flash memory corresponding to the above-mentioned boot data request requirements The data block of the material is backed up to the cache memory.

本發明另提出一種電腦裝置的操作方法。所述之電腦裝置包括有一中央處理器、一唯讀記憶體、一快閃記憶體、一第一匯流排、一第二匯流排與一晶片組。所述之唯讀記憶體儲存有一開機資料。所述之第一匯流排係具有第一頻寬。所述之第二匯流排係具有第二頻寬,且第二頻寬大於第一頻寬。而所述之晶片組又包括有一第一匯流排控制器、一第二匯流排控制器、一快取記憶體與一仲裁器。所述之第一匯流排控制器係透過上述第一匯流排來電性連接上述之唯讀記憶體。所述之第二匯流排控制器係透過上述第二匯流排來電性連接上述之快閃記憶體。所述之快取記憶體係電性連接上述第二匯流排控制器。而所述之仲裁器係電性連接上述第一匯流排控制器、上述第二匯流排控制器、上述快取記憶體與上述中央處理器。所述之操作方法包括有下列步驟:當仲裁器接收到來自中央處理器之一開機資料索取要求時,使仲裁器去判斷唯讀記憶體中的開機資料是否已完全地備份至快閃記憶體中,以產生第一判斷結果;使仲裁器依據第一判斷結果來決定是否進一步判斷開機資料索取要求所欲索取的資料是否已儲存在快取記憶體中,以進一步產生第二判斷結果;以及當仲裁器取得第二判斷結果時,使仲裁器依據第二判斷結果來決定是要執行第一操作還是執行第二操作,其中第一操作係從快取記憶體中取得開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器,而第二操作係從唯讀記憶體中取得開機資料索取要求所欲索取的資料,以將所取得的 資料傳送至中央處理器,並將快閃記憶體中之對應於開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中。The invention further provides a method of operating a computer device. The computer device includes a central processing unit, a read-only memory, a flash memory, a first bus, a second bus, and a chip set. The read-only memory stores a boot data. The first busbar has a first bandwidth. The second bus bar has a second bandwidth, and the second bandwidth is greater than the first bandwidth. The chip set further includes a first bus bar controller, a second bus bar controller, a cache memory and an arbiter. The first busbar controller electrically connects the above-mentioned read-only memory through the first busbar. The second busbar controller electrically connects the flash memory to the second busbar through the second busbar. The cache memory system is electrically connected to the second busbar controller. The arbitrator is electrically connected to the first busbar controller, the second busbar controller, the cache memory and the central processor. The operating method includes the following steps: when the arbiter receives a boot request request from a central processing unit, causing the arbiter to determine whether the boot data in the read-only memory has been completely backed up to the flash memory. In order to generate a first determination result; the arbitrator determines, according to the first determination result, whether to further determine whether the information requested by the startup data request request has been stored in the cache memory to further generate the second determination result; When the arbitrator obtains the second determination result, the arbitrator determines whether to perform the first operation or the second operation according to the second determination result, wherein the first operation is to obtain the boot data request request from the cache memory. The requested information is transmitted to the central processing unit, and the second operation is to obtain the information requested by the boot data request from the read-only memory to obtain the obtained information. The data is transmitted to the central processing unit, and the data block in the flash memory corresponding to the data requested by the booting data requesting request is backed up to the cache memory.

本發明解決前述問題的方式,乃是在電腦裝置中增設一第二匯流排與一快閃記憶體,其中第二匯流排的頻寬係大於第一匯流排的頻寬。此外,亦在晶片組中增設一快取記憶體、用以控制第二匯流排之一匯流排控制器、以及一仲裁器。而在本發明中,當仲裁器接收到來自中央處理器之一開機資料索取要求時,仲裁器便會去判斷唯讀記憶體中的開機資料是否已完全地備份至快閃記憶體中,以產生第一判斷結果。接下來,仲裁器會依據第一判斷結果來決定是否要進一步判斷開機資料索取要求所欲索取的資料是否已儲存在快取記憶體中,以進一步產生第二判斷結果。一旦仲裁器取得第二判斷結果時,仲裁器便會依據第二判斷結果來決定是要執行前述之第一操作還是執行前述之第二操作。The method for solving the foregoing problem is to add a second bus bar and a flash memory in the computer device, wherein the bandwidth of the second bus bar is greater than the bandwidth of the first bus bar. In addition, a cache memory is added to the chipset, a busbar controller for controlling the second busbar, and an arbiter. In the present invention, when the arbiter receives a boot request request from a central processing unit, the arbiter determines whether the boot data in the read-only memory has been completely backed up to the flash memory. The first judgment result is generated. Next, the arbitrator determines whether to further determine whether the data requested by the boot request request is stored in the cache memory according to the first judgment result, so as to further generate the second judgment result. Once the arbiter obtains the second determination result, the arbiter determines whether to perform the first operation or the second operation described above according to the second determination result.

換句話說,當仲裁器接收到來自中央處理器之一開機資料索取要求時,仲裁器便會依據快閃記憶體與快取記憶體中的資料儲存狀態來決定是要從快取記憶體還是從唯讀記憶體中取得所需資料。只要唯讀記憶體中的開機資料已完全地備份至快閃記憶體中,且開機資料索取要求所欲索取的資料亦已儲存在快取記憶體中,那麼仲裁器就會去執行上述之第一操作,也就是從快取記憶體中取得開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器。而只要唯讀記憶體中的開機資料已完全地備份至 快閃記憶體中,然開機資料索取要求所欲索取的資料卻未儲存在快取記憶體中,那麼仲裁器就會去執行上述之第二操作,也就是從唯讀記憶體中取得開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器,並將快閃記憶體中之對應於開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中。如此一來,便可減少電腦裝置從唯讀記憶體取得開機資料的次數,並可避免資料的傳輸速度被唯讀記憶體之對應匯流排的頻寬所限制,進而使得本發明之電腦裝置於開機時的自我檢測時間較短。In other words, when the arbiter receives a boot request request from one of the central processing units, the arbiter determines whether to retrieve the memory from the cache based on the data storage status in the flash memory and the cache memory. Get the required information from the readable memory. As long as the boot data in the read-only memory has been completely backed up to the flash memory, and the data requested by the boot data request request has been stored in the cache memory, the arbiter will perform the above-mentioned An operation, that is, obtaining the information requested by the boot data request from the cache memory, and transmitting the obtained data to the central processing unit. As long as the boot data in the read-only memory is completely backed up to In the flash memory, the information requested by the boot data request is not stored in the cache memory, then the arbiter performs the second operation described above, that is, the boot data is obtained from the read-only memory. Request the requested information to transfer the obtained data to the central processing unit, and back up the data block in the flash memory corresponding to the information requested by the boot data request to the cache memory. In this way, the number of times the computer device obtains the boot data from the read-only memory can be reduced, and the data transfer speed can be prevented from being limited by the bandwidth of the corresponding bus of the read-only memory, thereby enabling the computer device of the present invention to The self-test time at boot is shorter.

為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。The above and other objects, features and advantages of the present invention will become more <RTIgt;

圖3為依照本發明一較佳實施例之一電腦裝置的示意圖。請參照圖3,此電腦裝置300包括有中央處理器310、晶片組320、匯流排330、唯讀記憶體340、匯流排350與快閃記憶體360。唯讀記憶體340係儲存有電腦裝置300之開機資料,例如是儲存有基本輸入/輸出系統的程式碼。此外,匯流排330係具有第一頻寬,而匯流排350係具有第二頻寬,且第二頻寬係大於第一頻寬。3 is a schematic diagram of a computer device in accordance with a preferred embodiment of the present invention. Referring to FIG. 3, the computer device 300 includes a central processing unit 310, a chipset 320, a bus bar 330, a read-only memory 340, a bus bar 350, and a flash memory 360. The read-only memory 340 stores boot data of the computer device 300, such as a code that stores a basic input/output system. In addition, the bus bar 330 has a first bandwidth, and the bus bar 350 has a second bandwidth, and the second bandwidth is greater than the first bandwidth.

至於晶片組320,其又包括有快取記憶體322、仲裁器(Arbiter)324、匯流排控制器326與匯流排控制器328。其中,匯流排控制器328係透過匯流排330來電性連接唯讀 記憶體340,匯流排控制器326係透過匯流排350來電性連接快閃記憶體360,而快取記憶體322係電性連接匯流排控制器326。至於仲裁器324,其係電性連接快取記憶體322、中央處理器310、匯流排控制器326與匯流排控制器328。在此例中,匯流排330例如是以一序列周邊介面匯流排來實現,匯流排350例如是以一安全數位輸入/輸出(secure digital input/output,SDIO)介面匯流排來實現,匯流排控制器328例如是以一序列周邊介面控制器來實現,而匯流排控制器326例如是以一安全數位輸入/輸出介面控制器來實現。As for the chip set 320, it further includes a cache memory 322, an arbitrator (Arbiter) 324, a bus bar controller 326, and a bus bar controller 328. The bus bar controller 328 is electrically connected to the bus bar 330 for reading only. The memory 340, the bus controller 326 is electrically connected to the flash memory 360 through the bus bar 350, and the cache memory 322 is electrically connected to the bus controller 326. As for the arbiter 324, it is electrically connected to the cache memory 322, the central processing unit 310, the bus bar controller 326, and the bus bar controller 328. In this example, the bus bar 330 is implemented, for example, by a sequence of peripheral interface bus bars, and the bus bar 350 is implemented, for example, by a secure digital input/output (SDIO) interface bus bar, and the bus bar control is implemented. The 328 is implemented, for example, by a sequence of peripheral interface controllers, and the bus controller 326 is implemented, for example, by a secure digital input/output interface controller.

在電腦裝置300開機時,仲裁器324會同時啟動圖4所示的程序,以及圖5A~圖5C所示的程序。圖4為仲裁器324於電腦裝置300開機時所執行的第一種程序,而圖5A~圖5C為仲裁器324於電腦裝置300開機時所執行的第二種程序。請先參照圖3與圖4,在電腦裝置300開機時,仲裁器324會去判斷匯流排330是否處於閒置(idle)狀態。當仲裁器324判斷出匯流排330係處於閒置狀態時,就會開始執行第一種程序(如步驟S410所示)。在此程序中,仲裁器324先會去判斷唯讀記憶體340中的開機資料是否已完全地備份至快閃記憶體360中(如步驟S412所示)。當判斷為否時,仲裁器324便開始將唯讀記憶體340中的開機資料備份至快閃記憶體360中(如步驟S416所示);而當判斷為是時,仲裁器324便不執行將開機資料備份至快閃記憶體360的操作,而是直接結束此程序之流程(如步驟S414所示)。When the computer device 300 is turned on, the arbiter 324 simultaneously starts the program shown in FIG. 4 and the programs shown in FIGS. 5A to 5C. 4 is a first type of program executed by the arbiter 324 when the computer device 300 is turned on, and FIGS. 5A-5C are second programs executed by the arbiter 324 when the computer device 300 is turned on. Referring first to FIG. 3 and FIG. 4, when the computer device 300 is powered on, the arbiter 324 determines whether the bus bar 330 is in an idle state. When the arbiter 324 determines that the bus bar 330 is in an idle state, the first program is started (as shown in step S410). In this procedure, the arbiter 324 first determines whether the boot material in the read-only memory 340 has been completely backed up into the flash memory 360 (as shown in step S412). When the determination is no, the arbiter 324 starts backing up the boot data in the read-only memory 340 to the flash memory 360 (as shown in step S416); and when the determination is yes, the arbiter 324 does not execute. The operation of backing up the boot data to the flash memory 360 is performed, but the flow of the program is directly ended (as shown in step S414).

由於快閃記憶體360係為一種非揮發性(non-volatile)的記憶體,其所儲存的資料不會因為失去電源的供應而消失,因此可知在上述之第一種程序中,只有在電腦裝置300是自組裝以來的第一次開機的時候,仲裁器324才會判斷出唯讀記憶體340中的開機資料尚未完全地備份至快閃記憶體360中,因此必須開始將唯讀記憶體340中的開機資料備份至快閃記憶體360。然而,自電腦裝置300的第二次開機開始,仲裁器324就會判斷出唯讀記憶體340中的開機資料已完全地備份至快閃記憶體360中,因此會直接結束掉第一種程序的整個流程。Since the flash memory 360 is a non-volatile memory, the stored data does not disappear due to the loss of power supply. Therefore, in the first program described above, only in the computer When the device 300 is powered on for the first time since self-assembly, the arbiter 324 determines that the boot data in the read-only memory 340 has not been completely backed up to the flash memory 360, so the read-only memory must be started. The boot data in 340 is backed up to flash memory 360. However, starting from the second boot of the computer device 300, the arbiter 324 determines that the boot data in the read-only memory 340 has been completely backed up to the flash memory 360, thus directly ending the first program. The entire process.

請參照圖3與圖5A~圖5C,在電腦裝置300開機時,當仲裁器324接收到來自中央處理器310之一開機資料索取要求時,就會開始執行第二種程序(如步驟S510所示)。在此程序中,仲裁器324會先去判斷唯讀記憶體340中的開機資料是否已完全地備份至快閃記憶體360中(如步驟S512所示),以產生第一判斷結果。當第一判斷結果為是時,表示此次開機並非是電腦裝置300自組裝以來的第一次開機,因此唯讀記憶體340中的開機資料已完全地備份至快閃記憶體360中,那麼仲裁器324便可進一步判斷上述開機資料索取要求所欲索取的資料是否已儲存在快取記憶體322中(如步驟S520所示),以進一步產生第二判斷結果。Referring to FIG. 3 and FIG. 5A to FIG. 5C, when the computer device 300 is powered on, when the arbiter 324 receives a boot request request from the central processing unit 310, the second program is started (step S510). Show). In this procedure, the arbiter 324 first determines whether the boot material in the read-only memory 340 has been completely backed up into the flash memory 360 (as shown in step S512) to generate a first determination result. When the first determination result is YES, it indicates that the booting is not the first booting since the computer device 300 is self-assembled, so the booting data in the read-only memory 340 is completely backed up to the flash memory 360, then The arbiter 324 can further determine whether the data requested by the boot data request request has been stored in the cache memory 322 (as shown in step S520) to further generate a second determination result.

當第二判斷結果為是時,表示快取記憶體322此時所存有的資料係與前一次之開機資料索取要求所欲索取的資料相同,那麼仲裁器324就會去執行第一操作(如圖5B的 步驟S526所示),此第一操作就是直接從快取記憶體322中取得上述開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器310。反之,當第二判斷結果為否時,表示快取記憶體322此時所存有的資料係與前一次之開機資料索取要求所欲索取的資料不同,那麼仲裁器324就會去執行第二操作(如圖5B的步驟S524所示),此第二操作就是直接從唯讀記憶體340中取得上述開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器310,並同時將快閃記憶體360中之對應於上述開機資料索取要求所欲索取資料的資料區塊(block)備份至快取記憶體322中。如此一來,當仲裁器324在接收到下一次之開機資料索取要求時,如果下一次之開機資料索取要求所欲索取的資料已儲存在快取記憶體322中,那麼仲裁器324便可從快取記憶體322中直接取得所需之資料。換句話說,如果下一次之開機資料索取要求所欲索取的資料與這一次欲索取的資料相同,那麼仲裁器324便可從快取記憶體322中直接取得所需之資料。而在執行完步驟S526或S524之後,仲裁器324就會直接結束掉此第二種程序的整個流程(如步驟S518所示)。When the second determination result is YES, it indicates that the data stored in the cache memory 322 is the same as the data requested by the previous boot data request request, then the arbiter 324 performs the first operation (eg, Figure 5B Step S526), the first operation is to directly obtain the data requested by the boot data request request from the cache memory 322, and transmit the obtained data to the central processing unit 310. On the other hand, when the second determination result is no, it indicates that the data stored in the cache memory 322 is different from the data requested by the previous boot data request request, then the arbiter 324 performs the second operation. (as shown in step S524 of FIG. 5B), the second operation is to obtain the information requested by the boot data request request directly from the read-only memory 340, so as to transmit the obtained data to the central processing unit 310, and At the same time, the data block in the flash memory 360 corresponding to the above-mentioned boot data request request is backed up to the cache memory 322. In this way, when the arbiter 324 receives the next boot request request, if the data requested by the next boot request request is stored in the cache 322, the arbiter 324 can The required data is directly obtained in the cache memory 322. In other words, if the information requested by the next startup data request request is the same as the information to be requested at this time, the arbiter 324 can directly obtain the required data from the cache memory 322. After the step S526 or S524 is executed, the arbiter 324 directly ends the entire flow of the second program (as shown in step S518).

請再回到圖5A的步驟S512。當第一判斷結果為否,也就是唯讀記憶體340中的開機資料尚未完全地備份至快閃記憶體360中時,表示此次開機乃是電腦裝置300自組裝以來的第一次開機,因此仲裁器324會進一步判斷快閃記憶體360是否已儲存好對應於上述開機資料索取要求所欲索取資料的資料區塊,以產生第三判斷結果(如圖5C的 步驟S514所示)。當第三判斷結果為是時,表示唯讀記憶體340中的開機資料雖然尚未完全地備份至快閃記憶體360中,但快閃記憶體360已儲存好對應於上述開機資料索取要求所欲索取資料的資料區塊,因此上述開機資料索取要求所欲索取資料可能也已從快閃記憶體360備份至快取記憶體322中。是以,當第三判斷結果為是時,仲裁器324便可再進一步去判斷開機資料索取要求所欲索取的資料是否已儲存在快取記憶體322中(如步驟S520所示)。Please return to step S512 of FIG. 5A. When the first determination result is no, that is, the boot data in the read-only memory 340 has not been completely backed up to the flash memory 360, it indicates that the booting is the first booting of the computer device 300 since self-assembly. Therefore, the arbiter 324 further determines whether the flash memory 360 has stored the data block corresponding to the data requested by the boot data request request to generate a third determination result (as shown in FIG. 5C). Step S514). When the third determination result is YES, it indicates that the boot data in the read-only memory 340 has not been completely backed up to the flash memory 360, but the flash memory 360 has been stored in response to the above-mentioned boot data request request. The data block of the data is requested, so the requested data requested by the above-mentioned boot data request may have been backed up from the flash memory 360 to the cache memory 322. Therefore, when the third determination result is YES, the arbiter 324 can further determine whether the data requested by the boot data request request has been stored in the cache memory 322 (as shown in step S520).

反之,當第三判斷結果為否時,表示唯讀記憶體340中的開機資料尚未完全地備份至快閃記憶體360中,且快閃記憶體360亦未儲存好對應於上述開機資料索取要求所欲索取資料的資料區塊,因此上述開機資料索取要求所欲索取資料不可能已從快閃記憶體360備份至快取記憶體322中。是以,當第三判斷結果為否時,仲裁器324便會直接從唯讀記憶體340中取得上述開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器310(如步驟S516所示)。值得一提的是,雖然當第三判斷結果為否時,上述開機資料索取要求所欲索取的資料會直接由唯讀記憶體340提供,但尚未完全地備份至快閃記憶體360中的開機資料,仍會繼續進行傳送至快閃記憶體360中,直到開機資料完整複製至快閃記憶體360為止。而在執行完步驟S516之後,仲裁器324就會直接結束掉此第二種程序的整個流程(如步驟S518所示)。On the other hand, when the third determination result is no, it indicates that the boot data in the read-only memory 340 has not been completely backed up to the flash memory 360, and the flash memory 360 is not stored corresponding to the above-mentioned boot data request request. The data block for which the data is to be requested, therefore, the above-mentioned boot data request request cannot be backed up from the flash memory 360 to the cache memory 322. Therefore, when the third determination result is no, the arbiter 324 directly obtains the information requested by the boot data request request from the read-only memory 340, and transmits the obtained data to the central processing unit 310 ( As shown in step S516). It is worth mentioning that, although the third judgment result is no, the information requested by the above-mentioned boot data request request is directly provided by the read-only memory 340, but has not been completely backed up to the boot in the flash memory 360. The data will continue to be transferred to the flash memory 360 until the boot data is completely copied to the flash memory 360. After the step S516 is executed, the arbiter 324 directly ends the entire flow of the second program (as shown in step S518).

值得一提的是,在實際的設計方式中,上述之快閃記憶體360係可設有一第一旗標與多個第二旗標,且上述之 仲裁器324係可依據此第一旗標的狀態來判斷唯讀記憶體340中的開機資料是否已完全地備份至快閃記憶體360中,並可依據每一第二旗標的狀態來判斷快閃記憶體360是否已儲存好一對應的資料區塊。It is worth mentioning that in the actual design manner, the flash memory 360 may be provided with a first flag and a plurality of second flags, and the foregoing The arbitrator 324 can determine whether the boot data in the read-only memory 340 has been completely backed up to the flash memory 360 according to the state of the first flag, and can determine the flash according to the state of each second flag. Whether the memory 360 has stored a corresponding data block.

由上述之教示可知,當仲裁器324接收到來自中央處理器310之一開機資料索取要求時,仲裁器324便會依據快閃記憶體360與快取記憶體322中的資料儲存狀態來決定是要從快取記憶體322還是從唯讀記憶體340中取得所需資料。只要唯讀記憶體340中的開機資料已完全地備份至快閃記憶體360中,且開機資料索取要求所欲索取的資料亦已儲存在快取記憶體322中,那麼仲裁器324就會去執行上述之第一操作,也就是從快取記憶體322中取得開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器310。而只要唯讀記憶體340中的開機資料已完全地備份至快閃記憶體360中,然開機資料索取要求所欲索取的資料卻未儲存在快取記憶體322中,那麼仲裁器324就會去執行上述之第二操作,也就是從唯讀記憶體340中取得開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器310,並同時將快閃記憶體360中之對應於開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中322。如此一來,便可減少電腦裝置從唯讀記憶體340取得開機資料的次數,並可避免資料的傳輸速度被唯讀記憶體340之對應匯流排330的頻寬所限制,進而使得本發明之電腦裝置300於開機時的自我檢測時間較短。As can be seen from the above teachings, when the arbiter 324 receives a boot request request from the central processing unit 310, the arbiter 324 determines based on the data storage status in the flash memory 360 and the cache memory 322. The required data is to be obtained from the cache memory 322 or from the read-only memory 340. As long as the boot data in the read-only memory 340 has been completely backed up to the flash memory 360, and the data requested by the boot data request request has been stored in the cache memory 322, the arbiter 324 will go. The first operation described above is performed, that is, the information requested by the boot data request request is obtained from the cache memory 322, and the obtained data is transmitted to the central processing unit 310. As long as the boot data in the read-only memory 340 has been completely backed up to the flash memory 360, but the data requested by the boot data request request is not stored in the cache memory 322, the arbiter 324 will To perform the second operation described above, that is, to obtain the information requested by the boot data request request from the read-only memory 340, to transfer the obtained data to the central processing unit 310, and simultaneously to flash the memory 360. The data block corresponding to the information requested by the boot data request is backed up to the cache memory 322. In this way, the number of times the computer device obtains the boot data from the read-only memory 340 can be reduced, and the data transfer speed can be prevented from being limited by the bandwidth of the corresponding bus bar 330 of the read-only memory 340, thereby making the present invention The self-detection time of the computer device 300 at the time of power-on is short.

圖6係用以說明電腦裝置300於開機時的自我檢測時間。請參照圖6,假設電腦裝置300於開機時總共需要執行某個程式的三個迴圈來進行自我檢測,而每個迴圈又包含有三個任務,且中央處理器310之每一開機資料索取要求係欲索取執行一個迴圈時所需的程式碼,那麼按照前述的操作方式,當中央處理器310提出一開機資料索取要求後,一旦電腦裝置300判斷出唯讀記憶體340中的開機資料已完全地備份至快閃記憶體360中,但此次之開機資料索取要求所欲索取的資料(例如是執行第一迴圈時所需的程式碼)尚未儲存在快取記憶體322中時,那麼電腦裝置300會先從唯讀記憶體340中去取得執行第一迴圈時所需的程式碼,也就是去取得任務1-1~1-3之程式碼。同時,電腦裝置300也會將快閃記憶體360中之對應於此次之開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中322。假設此資料區塊包含有執行第一迴圈時所需的程式碼、執行第二迴圈時所需的程式碼以及執行第三迴圈時所需的程式碼,那麼快取記憶體322將會儲存有任務1-1~1-3之程式碼、任務2-1~2-3之程式碼以及任務3-1~3-3之程式碼。換句話說,電腦裝置300從唯讀記憶體340中去取得執行第一迴圈時所需的任務1-1~1-3之程式碼時,任務1-1~1-3之程式碼、任務2-1~2-3之程式碼以及任務3-1~3-3之程式碼同時由快閃記憶體360備份至快取記憶體322。FIG. 6 is a diagram for explaining the self-detection time of the computer device 300 at the time of power-on. Referring to FIG. 6, it is assumed that the computer device 300 needs to execute three loops of a certain program for self-detection when the computer device is turned on, and each loop includes three tasks, and each booting data of the central processing unit 310 is requested. The request is to obtain the code required to execute a loop. Then, according to the foregoing operation mode, when the central processing unit 310 requests a boot request request, the computer device 300 determines the boot data in the read-only memory 340. It has been completely backed up to the flash memory 360, but the data requested by the boot request request (for example, the code required to execute the first loop) has not been stored in the cache memory 322. Then, the computer device 300 first obtains the code required to execute the first loop from the read-only memory 340, that is, obtains the code of the tasks 1-1~1-3. At the same time, the computer device 300 also backs up the data block in the flash memory 360 corresponding to the current boot data request request to the cache memory 322. Assuming that the data block contains the code required to execute the first loop, the code required to execute the second loop, and the code required to execute the third loop, the cache memory 322 will The code of tasks 1-1~1-3, the code of tasks 2-1~2-3, and the code of tasks 3-1~3-3 will be stored. In other words, when the computer device 300 obtains the code of the tasks 1-1~1-3 required for executing the first loop from the read-only memory 340, the code of the tasks 1-1~1-3, The code of tasks 2-1~2-3 and the code of tasks 3-1~3-3 are simultaneously backed up by the flash memory 360 to the cache memory 322.

在取得第一迴圈之程式碼後,電腦裝置300就會去執行第一迴圈之程式碼,也就是執行任務1-1~1-3之程式碼。 而在執行完第一迴圈之程式碼之後,當中央處理器310再次提出一開機資料索取要求,而此開機資料索取要求所欲索取的資料係執行第二迴圈時所需的程式碼時,那麼電腦裝置300會改從快取記憶體322中去取得執行第二迴圈時所需的程式碼,也就是去取得任務2-1~2-3之程式碼,然後再執行第二迴圈之程式碼,也就是執行任務2-1~2-3之程式碼。同理,當中央處理器310又再次提出一開機資料索取要求,而此開機資料索取要求所欲索取的資料係執行第三迴圈時所需的程式碼時,那麼第三迴圈之程式碼也是按照與第二迴圈之程式碼同樣的方式來進行。由於從快取記憶體322中去取得程式碼的速度大於從唯讀記憶體340中去取得程式碼(如:透過序列周邊介面匯流排),故藉由比較圖6與圖2,可以發現圖6所示之開機時的自我檢測時間會較圖2所示之開機時的自我檢測時間來得短。After obtaining the code of the first loop, the computer device 300 will execute the code of the first loop, that is, the code of the tasks 1-1~1-3. After executing the code of the first loop, when the central processing unit 310 again proposes a boot request request, and the data requested by the boot request request is the code required to execute the second loop. Then, the computer device 300 will change the code required to execute the second loop from the cache memory 322, that is, obtain the code of the task 2-1~2-3, and then execute the second time. The code of the circle, that is, the code of the task 2-1~2-3. Similarly, when the central processing unit 310 again proposes a boot data request request, and the boot data request requesting the requested data is the code required to execute the third loop, then the third loop code It is also performed in the same way as the code of the second loop. Since the speed of obtaining the code from the cache memory 322 is greater than the code obtained from the read-only memory 340 (eg, through the peripheral interface bus of the sequence), by comparing FIG. 6 with FIG. 2, the map can be found. The self-test time at boot time shown in Figure 6 is shorter than the self-test time at boot time shown in Figure 2.

藉由上述各實施樣態之教示,本領域具有通常知識者當可歸納出本發明之電腦裝置的一些基本操作步驟,一如圖7所示。圖7為依照本發明一較佳實施例之電腦裝置的操作方法的流程圖。所述之電腦裝置包括有一中央處理器、一唯讀記憶體、一快閃記憶體、一第一匯流排、一第二匯流排與一晶片組。所述之唯讀記憶體儲存有一開機資料。所述之第一匯流排係具有第一頻寬。所述之第二匯流排係具有第二頻寬,且第二頻寬大於第一頻寬。而所述之晶片組又包括有一第一匯流排控制器、一第二匯流排控制器、一快取記憶體與一仲裁器。所述之第一匯流排控制器係透過上述第一匯流排來電性連接上述之唯讀記憶體。所 述之第二匯流排控制器係透過上述第二匯流排來電性連接上述之快閃記憶體。所述之快取記憶體係電性連接上述第二匯流排控制器。而所述之仲裁器係電性連接上述第一匯流排控制器、上述第二匯流排控制器、上述快取記憶體與上述中央處理器。請參照圖7,所述之操作方法包括有下列步驟:當仲裁器接收到來自中央處理器之一開機資料索取要求時,使仲裁器去判斷唯讀記憶體中的開機資料是否已完全地備份至快閃記憶體中,以產生第一判斷結果(如步驟S702所示);使仲裁器依據第一判斷結果來決定是否進一步判斷開機資料索取要求所欲索取的資料是否已儲存在快取記憶體中,以進一步產生第二判斷結果(如步驟S704所示);以及當仲裁器取得第二判斷結果時,使仲裁器依據第二判斷結果來決定是要執行第一操作還是執行第二操作,其中第一操作係從快取記憶體中取得開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器,而第二操作係從唯讀記憶體中取得開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器,並同時將快閃記憶體中之對應於開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中(如步驟S706所示)。With the teachings of the above embodiments, those skilled in the art can summarize some basic operational steps of the computer device of the present invention, as shown in FIG. FIG. 7 is a flow chart showing a method of operating a computer device in accordance with a preferred embodiment of the present invention. The computer device includes a central processing unit, a read-only memory, a flash memory, a first bus, a second bus, and a chip set. The read-only memory stores a boot data. The first busbar has a first bandwidth. The second bus bar has a second bandwidth, and the second bandwidth is greater than the first bandwidth. The chip set further includes a first bus bar controller, a second bus bar controller, a cache memory and an arbiter. The first busbar controller electrically connects the above-mentioned read-only memory through the first busbar. Place The second bus controller is electrically connected to the flash memory through the second bus. The cache memory system is electrically connected to the second busbar controller. The arbitrator is electrically connected to the first busbar controller, the second busbar controller, the cache memory and the central processor. Referring to FIG. 7, the operation method includes the following steps: when the arbitrator receives a boot request request from a central processing unit, the arbitrator determines whether the boot data in the read-only memory is completely backed up. Up to the flash memory to generate a first determination result (as shown in step S702); causing the arbiter to determine, based on the first determination result, whether to further determine whether the information requested by the boot data request request has been stored in the cache memory. In the body, to further generate a second determination result (as shown in step S704); and when the arbiter obtains the second determination result, causing the arbiter to decide whether to perform the first operation or the second operation according to the second determination result. The first operation is to obtain the information requested by the boot data request from the cache memory, and transmit the obtained data to the central processing unit, and the second operation system obtains the boot data from the read-only memory. Request the information requested to transmit the obtained data to the central processing unit, and at the same time request the corresponding flash memory in the flash memory The data block for which the desired data is requested is backed up to the cache memory (as shown in step S706).

綜上所述,本發明解決前述問題的方式,乃是在電腦裝置中增設一第二匯流排與一快閃記憶體,其中第二匯流排的頻寬係大於第一匯流排的頻寬。此外,亦在晶片組中增設一快取記憶體、用以控制第二匯流排之一匯流排控制器、以及一仲裁器。而在本發明中,當仲裁器接收到來自 中央處理器之一開機資料索取要求時,仲裁器便會去判斷唯讀記憶體中的開機資料是否已完全地備份至快閃記憶體中,以產生第一判斷結果。接下來,仲裁器會依據第一判斷結果來決定是否要進一步判斷開機資料索取要求所欲索取的資料是否已儲存在快取記憶體中,以進一步產生第二判斷結果。一旦仲裁器取得第二判斷結果時,仲裁器便會依據第二判斷結果來決定是要執行前述之第一操作還是執行前述之第二操作。In summary, the method for solving the foregoing problem is to add a second bus bar and a flash memory to the computer device, wherein the bandwidth of the second bus bar is greater than the bandwidth of the first bus bar. In addition, a cache memory is added to the chipset, a busbar controller for controlling the second busbar, and an arbiter. In the present invention, when the arbiter receives the When one of the central processing units requests the boot request, the arbiter determines whether the boot data in the read-only memory has been completely backed up to the flash memory to generate the first judgment result. Next, the arbitrator determines whether to further determine whether the data requested by the boot request request is stored in the cache memory according to the first judgment result, so as to further generate the second judgment result. Once the arbiter obtains the second determination result, the arbiter determines whether to perform the first operation or the second operation described above according to the second determination result.

換句話說,當仲裁器接收到來自中央處理器之一開機資料索取要求時,仲裁器便會依據快閃記憶體與快取記憶體中的資料儲存狀態來決定是要從快取記憶體還是從唯讀記憶體中取得所需資料。只要唯讀記憶體中的開機資料已完全地備份至快閃記憶體中,且開機資料索取要求所欲索取的資料亦已儲存在快取記憶體中,那麼仲裁器就會去執行上述之第一操作,也就是從快取記憶體中取得開機資料索取要求所欲索取的資料,並將所取得的資料傳送至中央處理器。而只要唯讀記憶體中的開機資料已完全地備份至快閃記憶體中,然開機資料索取要求所欲索取的資料卻未儲存在快取記憶體中,那麼仲裁器就會去執行上述之第二操作,也就是從唯讀記憶體中取得開機資料索取要求所欲索取的資料,以將所取得的資料傳送至中央處理器,並同時將快閃記憶體中之對應於開機資料索取要求所欲索取資料的資料區塊備份至快取記憶體中。如此一來,便可減少電腦裝置從唯讀記憶體取得開機資料的次數,並可避免資料的傳輸速度被唯讀記憶體之對應匯流排的頻寬所限制, 進而使得本發明之電腦裝置於開機時的自我檢測時間較短。In other words, when the arbiter receives a boot request request from one of the central processing units, the arbiter determines whether to retrieve the memory from the cache based on the data storage status in the flash memory and the cache memory. Get the required information from the readable memory. As long as the boot data in the read-only memory has been completely backed up to the flash memory, and the data requested by the boot data request request has been stored in the cache memory, the arbiter will perform the above-mentioned An operation, that is, obtaining the information requested by the boot data request from the cache memory, and transmitting the obtained data to the central processing unit. As long as the boot data in the read-only memory has been completely backed up to the flash memory, but the data requested by the boot data request is not stored in the cache memory, the arbitrator will perform the above. The second operation, that is, obtaining the information requested by the boot data request request from the read-only memory, is to transmit the obtained data to the central processing unit, and simultaneously request the corresponding information in the flash memory corresponding to the boot data. The data block of the requested data is backed up to the cache memory. In this way, the number of times the computer device obtains the boot data from the read-only memory can be reduced, and the data transfer speed can be prevented from being limited by the bandwidth of the corresponding bus of the read-only memory. Further, the self-detection time of the computer device of the present invention at the time of power-on is short.

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。While the present invention has been described above in terms of the preferred embodiments, it is not intended to limit the invention, and those of ordinary skill in the art can make a few changes and modifications without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.

100、300‧‧‧電腦裝置100, 300‧‧‧ computer equipment

110、310‧‧‧中央處理器110, 310‧‧‧ central processor

120、320‧‧‧晶片組120, 320‧‧‧ chipsets

122‧‧‧序列周邊介面控制器122‧‧‧Sequence Peripheral Interface Controller

130‧‧‧序列周邊介面匯流排130‧‧‧Sequence peripheral interface bus

140、340‧‧‧唯讀記憶體140, 340‧‧‧ read-only memory

322‧‧‧快取記憶體322‧‧‧Cache memory

324‧‧‧仲裁器324‧‧‧ Arbitrator

326、328‧‧‧匯流排控制器326, 328‧‧ ‧ bus controller

330、350‧‧‧匯流排330, 350‧‧ ‧ busbar

360‧‧‧快閃記憶體360‧‧‧flash memory

1-1~1-3、2-1~2-3、3-1~3-3‧‧‧任務1-1~1-3, 2-1~2-3, 3-1~3-3‧‧‧ tasks

S410~S416、S510~S526‧‧‧步驟S410~S416, S510~S526‧‧‧ steps

圖1為習知之電腦裝置的示意圖。1 is a schematic diagram of a conventional computer device.

圖2係用以說明習知之電腦裝置於開機時的自我檢測時間。Figure 2 is a diagram for explaining the self-detection time of a conventional computer device at the time of power-on.

圖3為依照本發明一較佳實施例之一電腦裝置的示意圖。3 is a schematic diagram of a computer device in accordance with a preferred embodiment of the present invention.

圖4為仲裁器於電腦裝置開機時所執行的第一種程序。Figure 4 shows the first program executed by the arbiter when the computer device is turned on.

圖5A~圖5C為仲裁器於電腦裝置開機時所執行的第二種程序。5A to 5C are second programs executed by the arbiter when the computer device is turned on.

圖6係用以說明本發明之電腦裝置於開機時的自我檢測時間。Figure 6 is a diagram for explaining the self-detection time of the computer device of the present invention when it is turned on.

圖7為依照本發明一較佳實施例之電腦裝置的操作方法的流程圖。FIG. 7 is a flow chart showing a method of operating a computer device in accordance with a preferred embodiment of the present invention.

300‧‧‧電腦裝置300‧‧‧ computer equipment

310‧‧‧中央處理器310‧‧‧Central Processing Unit

320‧‧‧晶片組320‧‧‧ Chipset

322‧‧‧快取記憶體322‧‧‧Cache memory

324‧‧‧仲裁器324‧‧‧ Arbitrator

326、328‧‧‧匯流排控制器326, 328‧‧ ‧ bus controller

330、350‧‧‧匯流排330, 350‧‧ ‧ busbar

340‧‧‧唯讀記憶體340‧‧‧Read-only memory

360‧‧‧快閃記憶體360‧‧‧flash memory

Claims (14)

一種電腦裝置,包括:一中央處理器;一唯讀記憶體,儲存有一開機資料;一快閃記憶體;一第一匯流排,其具有一第一頻寬;一第二匯流排,其具有一第二頻寬,且該第二頻寬大於該第一頻寬;以及一晶片組,包括:一第一匯流排控制器,其透過該第一匯流排電性連接該唯讀記憶體;一第二匯流排控制器,其透過該第二匯流排電性連接該快閃記憶體;一快取記憶體,電性連接該第二匯流排控制器;以及一仲裁器,電性連接該第一匯流排控制器、該第二匯流排控制器、該快取記憶體與該中央處理器,當該仲裁器接收到來自該中央處理器之一開機資料索取要求時,該仲裁器便會去判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體中,以產生一第一判斷結果,並依據該第一判斷結果來決定是否進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,以進一步產生一第二判斷結果,且當取得該第二判斷結果時,該仲裁器便依據該第二判斷結果來決定是要執行一第一操作還是執行一第二操作,該第一操作係從該快取記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器,該第二操作係從該唯讀記 憶體中取得該開機資料索取要求所欲索取的資料,以將所取得的資料傳送至該中央處理器,並將該快閃記憶體中之對應於該開機資料索取要求所欲索取資料的資料區塊備份至該快取記憶體中。A computer device comprising: a central processing unit; a read-only memory storing a boot data; a flash memory; a first bus having a first bandwidth; and a second bus having a second bus a second bandwidth, and the second bandwidth is greater than the first bandwidth; and a chip set, comprising: a first busbar controller electrically connected to the read-only memory through the first busbar; a second busbar controller electrically connected to the flash memory through the second busbar; a cache memory electrically connected to the second busbar controller; and an arbiter electrically connected to the a first bus controller, the second bus controller, the cache memory, and the central processor, when the arbiter receives a boot request request from the central processor, the arbiter Determining whether the boot data in the read-only memory has been completely backed up to the flash memory to generate a first determination result, and determining whether to further determine the boot request request according to the first determination result Wanted Whether the data is stored in the cache memory to further generate a second determination result, and when the second determination result is obtained, the arbiter determines, according to the second determination result, that a first operation is to be performed. Or performing a second operation, the first operation is to obtain the information requested by the boot data request request from the cache memory, and transmit the obtained data to the central processing unit, the second operation system is The reading only Retrieving the information requested by the boot data requesting request to transmit the obtained data to the central processing unit, and the information in the flash memory corresponding to the information requested by the booting data requesting request The block is backed up to the cache memory. 如申請專利範圍第1項所述之電腦裝置,其中當該第二判斷結果為是時,該仲裁器執行該第一操作,而當該第二判斷結果為否時,該仲裁器執行該第二操作。The computer device of claim 1, wherein the arbiter performs the first operation when the second determination result is YES, and the arbitrator performs the first operation when the second determination result is negative Second operation. 如申請專利範圍第2項所述之電腦裝置,其中當該第一判斷結果為是時,該仲裁器便進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,而當該第一判斷結果為否時,該仲裁器便進一步判斷該快閃記憶體是否已儲存好對應於該開機資料索取要求所欲索取資料的資料區塊,以產生一第三判斷結果,並依據該第三判斷結果來決定是要進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,還是要從該唯讀記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器。The computer device of claim 2, wherein when the first determination result is YES, the arbitrator further determines whether the information requested by the startup data request request is stored in the cache memory. And when the first determination result is no, the arbiter further determines whether the flash memory has stored the data block corresponding to the information requested by the boot data request request to generate a third determination result. And determining, according to the third judgment result, whether to further determine whether the information requested by the boot data request request has been stored in the cache memory, or whether the boot data request request is obtained from the read-only memory The information requested and the information obtained is transmitted to the central processor. 如申請專利範圍第3項所述之電腦裝置,其中當該第三判斷結果為是時,該仲裁器便進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,而當該第三判斷結果為否時,該仲裁器便從該唯讀記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器。The computer device of claim 3, wherein when the third determination result is YES, the arbitrator further determines whether the information requested by the startup data request request is stored in the cache memory. And when the third determination result is no, the arbiter obtains the information requested by the boot data request request from the read-only memory, and transmits the obtained data to the central processing unit. 如申請專利範圍第1項所述之電腦裝置,其中當該第一匯流排處於一閒置狀態時,該仲裁器便判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體 中,且當判斷為否時,該仲裁器便開始將該唯讀記憶體中的該開機資料備份至該快閃記憶體中,而當判斷為是時,該仲裁器便不執行將該開機資料備份至該快閃記憶體的備份操作。The computer device of claim 1, wherein the arbiter determines whether the boot data in the read-only memory has been completely backed up to the flash when the first bus is in an idle state. Memory And when the determination is no, the arbiter starts backing up the boot data in the read-only memory to the flash memory, and when the determination is yes, the arbiter does not perform the booting The data is backed up to the backup operation of the flash memory. 如申請專利範圍第1項所述之電腦裝置,其中該快閃記憶體設有一第一旗標與多個第二旗標,且該仲裁器係依據該第一旗標的狀態來判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體中,並依據每一第二旗標的狀態來判斷該快閃記憶體是否已儲存好一對應的資料區塊。The computer device of claim 1, wherein the flash memory is provided with a first flag and a plurality of second flags, and the arbiter determines the read only according to the state of the first flag. Whether the booting data in the memory has been completely backed up into the flash memory, and determining whether the flash memory has stored a corresponding data block according to the state of each second flag. 如申請專利範圍第1項所述之電腦裝置,其中該第一匯流排包括是一序列周邊介面匯流排,該第二匯流排包括是一安全數位輸入/輸出介面匯流排,該第一匯流排控制器包括是一序列周邊介面控制器,而該第二匯流排控制器包括是一安全數位輸入/輸出介面控制器。The computer device of claim 1, wherein the first bus bar comprises a sequence of peripheral interface bus bars, and the second bus bar comprises a secure digital input/output interface bus bar, the first bus bar The controller includes a sequence of peripheral interface controllers, and the second bus controller includes a secure digital input/output interface controller. 一種電腦裝置的操作方法,該電腦裝置包括有一中央處理器、一唯讀記憶體、一快閃記憶體、一第一匯流排、一第二匯流排與一晶片組,該唯讀記憶體儲存有一開機資料,該第一匯流排具有一第一頻寬,該第二匯流排具有一第二頻寬,且該第二頻寬大於該第一頻寬,該晶片組又包括有一第一匯流排控制器、一第二匯流排控制器、一快取記憶體與一仲裁器,該第一匯流排控制器係透過該第一匯流排電性連接該唯讀記憶體,該第二匯流排控制器係透過該第二匯流排電性連接該快閃記憶體,該快取記憶體係電性連接該第二匯流排控制器,而該仲裁器係電性連接該第一匯流排控制器、該第二匯流排控制器、該快取記憶 體與該中央處理器,該操作方法包括:當該仲裁器接收到來自該中央處理器之一開機資料索取要求時,使該仲裁器去判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體中,以產生一第一判斷結果;使該仲裁器依據該第一判斷結果來決定是否進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,以進一步產生一第二判斷結果;以及當該仲裁器取得該第二判斷結果時,使該仲裁器依據該第二判斷結果來決定是要執行一第一操作還是執行一第二操作,其中該第一操作係從該快取記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器,而該第二操作係從該唯讀記憶體中取得該開機資料索取要求所欲索取的資料,以將所取得的資料傳送至該中央處理器,並將該快閃記憶體中之對應於該開機資料索取要求所欲索取資料的資料區塊備份至該快取記憶體中。A computer device includes a central processing unit, a read-only memory, a flash memory, a first bus, a second bus, and a chip set. The read-only memory is stored. Having a booting data, the first bus bar has a first bandwidth, the second bus bar has a second bandwidth, and the second bandwidth is greater than the first bandwidth, and the chip set further includes a first confluence a row controller, a second bus controller, a cache memory and an arbitrator, the first bus controller electrically connecting the read-only memory through the first bus, the second bus The controller is electrically connected to the flash memory through the second bus bar, the cache memory system is electrically connected to the second bus bar controller, and the arbiter is electrically connected to the first bus bar controller, The second bus controller, the cache memory And the central processing unit, the operating method includes: when the arbitrator receives a boot request request from the central processor, causing the arbitrator to determine whether the boot data in the read-only memory is completely Backing up to the flash memory to generate a first determination result; causing the arbiter to determine, according to the first determination result, whether to further determine whether the information requested by the boot data request request has been stored in the cache In the memory, to further generate a second determination result; and when the arbitrator obtains the second determination result, causing the arbiter to decide whether to perform a first operation or a second according to the second determination result The operation, wherein the first operation obtains the information requested by the boot data request request from the cache memory, and transmits the obtained data to the central processing unit, and the second operation system reads from the read only Obtaining the information requested by the boot request request in the memory to transmit the obtained data to the central processing unit and corresponding to the flash memory The boot block desired information requests received requests for information to back up the cache memory. 如申請專利範圍第8項所述之操作方法,其中當該第二判斷結果為是時,使該仲裁器執行該第一操作,而當該第二判斷結果為否時,使該仲裁器執行該第二操作。The operation method of claim 8, wherein when the second determination result is YES, the arbiter is caused to perform the first operation, and when the second determination result is negative, the arbiter is caused to perform This second operation. 如申請專利範圍第9項所述之操作方法,其中當該第一判斷結果為是時,使該仲裁器進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,而當該第一判斷結果為否時,則使該仲裁器進一步判斷該快閃記憶體是否已儲存好對應於該開機資料索取要求所欲索取資料的資料區塊,以產生一第三判斷結果,並使 該仲裁器依據該第三判斷結果來決定是要進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,還是要從該唯讀記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器。The method of claim 9, wherein when the first determination result is YES, the arbitrator further determines whether the information requested by the startup data request request is stored in the cache memory. And when the first determination result is no, the arbitrator further determines whether the flash memory has stored the data block corresponding to the information requested by the boot data request request to generate a third judgment. Result and The arbitrator determines, according to the third determination result, whether it is further determined whether the information requested by the boot data request request has been stored in the cache memory, or whether the boot data is obtained from the read-only memory. Request the information requested and transmit the information obtained to the central processor. 如申請專利範圍第10項所述之操作方法,其中當該第三判斷結果為是時,使該仲裁器進一步判斷該開機資料索取要求所欲索取的資料是否已儲存在該快取記憶體中,而當該第三判斷結果為否時,使該仲裁器從該唯讀記憶體中取得該開機資料索取要求所欲索取的資料,並將所取得的資料傳送至該中央處理器。The method of claim 10, wherein when the third determination result is YES, the arbitrator further determines whether the information requested by the startup data request request is stored in the cache memory. And when the third determination result is no, the arbitrator obtains the information requested by the boot request request from the read-only memory, and transmits the obtained data to the central processing unit. 如申請專利範圍第8項所述之操作方法,其中當該第一匯流排處於一閒置狀態時,使該仲裁器判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體中,且當判斷為否時,使該仲裁器開始將該唯讀記憶體中的該開機資料備份至該快閃記憶體中,而當判斷為是時,使該仲裁器不執行將該開機資料備份至該快閃記憶體的備份操作。The operation method of claim 8, wherein when the first bus is in an idle state, the arbitrator determines whether the boot data in the read-only memory has been completely backed up to the flash. In the memory, and when the determination is no, the arbiter starts backing up the boot data in the read-only memory to the flash memory, and when the determination is yes, the arbiter is not executed. The boot data is backed up to the backup operation of the flash memory. 如申請專利範圍第8項所述之操作方法,其中該快閃記憶體更設有一第一旗標與多個第二旗標,且該操作方法更包括:使該仲裁器依據該第一旗標的狀態來判斷該唯讀記憶體中的該開機資料是否已完全地備份至該快閃記憶體中,並使該仲裁器依據每一第二旗標的狀態來判斷該快閃記憶體是否已儲存好一對應的資料區塊。The operating method of claim 8, wherein the flash memory further comprises a first flag and a plurality of second flags, and the operating method further comprises: causing the arbiter to be based on the first flag Determining whether the boot data in the read-only memory has been completely backed up into the flash memory, and causing the arbiter to determine whether the flash memory has been stored according to the status of each second flag A good corresponding data block. 如申請專利範圍第8項所述之操作方法,其中該第一匯流排包括是一序列周邊介面匯流排,該第二匯流排 包括是一安全數位輸入/輸出介面匯流排,該第一匯流排控制器包括是一序列周邊介面控制器,而該第二匯流排控制器包括是一安全數位輸入/輸出介面控制器。The operating method of claim 8, wherein the first bus bar comprises a sequence of peripheral interface bus bars, the second bus bar The method includes a secure digital input/output interface bus, the first bus controller includes a sequence of peripheral interface controllers, and the second bus controller includes a secure digital input/output interface controller.
TW101144598A 2012-11-28 2012-11-28 Computer apparatus and operating method thereof TWI497302B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101144598A TWI497302B (en) 2012-11-28 2012-11-28 Computer apparatus and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101144598A TWI497302B (en) 2012-11-28 2012-11-28 Computer apparatus and operating method thereof

Publications (2)

Publication Number Publication Date
TW201421248A TW201421248A (en) 2014-06-01
TWI497302B true TWI497302B (en) 2015-08-21

Family

ID=51393418

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101144598A TWI497302B (en) 2012-11-28 2012-11-28 Computer apparatus and operating method thereof

Country Status (1)

Country Link
TW (1) TWI497302B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
TW200421188A (en) * 2003-04-08 2004-10-16 Mitac Technology Corp Method for shortening booting time
US8037292B2 (en) * 2006-06-30 2011-10-11 Lenovo (Beijing) Limited Method for accelerating BIOS running
TW201137749A (en) * 2010-04-26 2011-11-01 Mitac Int Corp Method for reducing boot time and system for the same
US20120047358A1 (en) * 2010-08-17 2012-02-23 Wistron Corporation Method and system for accelerating booting process
TW201237753A (en) * 2011-03-14 2012-09-16 Shuttle Inc Expedited computer boot system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
TW200421188A (en) * 2003-04-08 2004-10-16 Mitac Technology Corp Method for shortening booting time
US8037292B2 (en) * 2006-06-30 2011-10-11 Lenovo (Beijing) Limited Method for accelerating BIOS running
TW201137749A (en) * 2010-04-26 2011-11-01 Mitac Int Corp Method for reducing boot time and system for the same
US20120047358A1 (en) * 2010-08-17 2012-02-23 Wistron Corporation Method and system for accelerating booting process
TW201209715A (en) * 2010-08-17 2012-03-01 Wistron Corp Method and system for accelerating boot
TW201237753A (en) * 2011-03-14 2012-09-16 Shuttle Inc Expedited computer boot system and method

Also Published As

Publication number Publication date
TW201421248A (en) 2014-06-01

Similar Documents

Publication Publication Date Title
US9858084B2 (en) Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
TWI578233B (en) Unified firmware managment system, non-transitory computer-readable storage medium and method for unified firmware managment
JP5646644B2 (en) Distributed multi-core memory initialization
US8458524B2 (en) Firmware recovery system and method
TWI684864B (en) Managing function level reset in an io virtualization-enabled storage device
TW201706869A (en) Motherboard and computer-implemented methods and non-transitory computer readable storage devices thereof
US7711941B2 (en) Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
JP2007206885A (en) Computer system and system starting method
JP2010140266A (en) Electronic device system and electronic device
US20160048184A1 (en) Sharing firmware among agents in a computing node
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
US9268577B2 (en) Information processing apparatus
JP5864529B2 (en) Virtual computer system, virtual computer system control method, and virtual computer system control program
KR102116096B1 (en) Multisystem, and method of booting the same
TWI497302B (en) Computer apparatus and operating method thereof
WO2017121077A1 (en) Method and device for switching between two boot files
US20130007768A1 (en) Atomic operations on multi-socket platforms
JP4023441B2 (en) Computer system and program
JP6571423B2 (en) Information processing system, device information acquisition method, and program therefor
JP2007102544A (en) Digital signal processor system and boot method therefor
JP5955489B1 (en) Data transfer device, data transfer method, and data transfer program
TW201525688A (en) Electronic apparatus and operational methods thereof
CN117555760A (en) Server monitoring method and device, substrate controller and embedded system
JP2008299632A (en) Semiconductor integrated circuit, image processor with semiconductor integrated circuit, and communication control method of semiconductor integrated circuit
JP2010066999A (en) Storage medium, computer device, and method of starting the same