主機(jī)接口控制器以及儲(chǔ)存裝置控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明有關(guān)于主機(jī)接口控制器。
【背景技術(shù)】
[0002]儲(chǔ)存裝置可透過通訊接口與主機(jī)鏈接。主機(jī)上需對(duì)應(yīng)該通訊接口設(shè)置主機(jī)接口控制器,在主機(jī)的中央處理單元操作下,通過該通訊接口讀取該儲(chǔ)存裝置。
[0003]高效的主機(jī)接口控制器為本技術(shù)領(lǐng)域追尋目標(biāo)。
【發(fā)明內(nèi)容】
[0004]根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的主機(jī)端接口控制器包括控制模塊、第一緩沖器組、第二緩沖器組與緩沖器模式設(shè)定緩存器。第一緩沖器組與第二緩沖器組,緩存讀取自儲(chǔ)存單元的數(shù)據(jù),以回應(yīng)中央處理單元的讀取要求。在開機(jī)程序中,緩沖器模式設(shè)定緩存器根據(jù)該中央處理單元的高速緩沖存儲(chǔ)器啟動(dòng)與否切換設(shè)定。所述第一緩沖器組與第二緩沖器組在該高速緩沖存儲(chǔ)器啟動(dòng)前操作于高速緩沖存儲(chǔ)器模式,以回應(yīng)該中央處理單元對(duì)相同地址的重復(fù)讀取要求。所述第一緩沖器組與第二緩沖器組在該高速緩沖存儲(chǔ)器啟動(dòng)后操作于乒乓緩沖器模式,以回應(yīng)該中央處理單元發(fā)出的連續(xù)地址的讀取要求。
[0005]根據(jù)本發(fā)明另一種實(shí)施方式實(shí)現(xiàn)的儲(chǔ)存裝置控制方法包括:在儲(chǔ)存裝置與中央處理單元之間的主機(jī)接口控制器提供第一緩沖器組以及第二緩沖器組,緩存讀取自該儲(chǔ)存單元的數(shù)據(jù),以回應(yīng)該中央處理單元的讀取要求;在開機(jī)程序中,切換所述第一緩沖器組與第二緩沖器組在該高速緩沖存儲(chǔ)器啟動(dòng)前操作于高速緩沖存儲(chǔ)器模式,以回應(yīng)該中央處理單元對(duì)相同地址的重復(fù)讀取要求,并切換所述第一緩沖器組與第二緩沖器組在該高速緩沖存儲(chǔ)器啟動(dòng)后操作于乒乓緩沖器模式,以回應(yīng)該中央處理單元發(fā)出的連續(xù)地址的讀取要求。
[0006]本發(fā)明技術(shù)使得計(jì)算機(jī)系統(tǒng)的開機(jī)效率大為提升。
[0007]下文特舉實(shí)施例,并配合所附圖示,詳細(xì)說明本
【發(fā)明內(nèi)容】
。
【附圖說明】
[0008]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)100;
[0009]圖2為流程圖,圖解第一以及第二緩沖器組BI與B2的高速緩沖存儲(chǔ)器模式如何回應(yīng)中央處理單元發(fā)出的讀取要求;
[0010]圖3A、圖3B為流程圖,圖解第一以及第二緩沖器組BI與B2的乒乓緩沖器模式如何回應(yīng)中央處理單元發(fā)出的讀取要求;以及
[0011]圖4為流程圖,圖解計(jì)算機(jī)系統(tǒng)100的開機(jī)程序中第一與第二緩沖器組BI與B2的操作模式切換,所述開機(jī)程序執(zhí)行儲(chǔ)存裝置104內(nèi)的只讀程序代碼R0M_Code作基本輸入輸出系統(tǒng)(BI OS)開機(jī)程序。
【具體實(shí)施方式】
[0012]以下敘述列舉本發(fā)明的多種實(shí)施例。以下敘述介紹本發(fā)明的基本概念,且并非意圖限制本
【發(fā)明內(nèi)容】
。實(shí)際發(fā)明范圍應(yīng)依照權(quán)利要求書而界定。
[0013]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)100,其中包括中央處理單元CPU、主機(jī)接口控制器102、儲(chǔ)存裝置104。中央處理單元CHJ包括高速緩沖存儲(chǔ)器(cachememory) 106,且還耦接動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM) 108。儲(chǔ)存裝置104包括只讀程序代碼R0M_Code。主機(jī)接口控制器102包括控制模塊112、緩沖器模式設(shè)定緩存器110、第一緩沖器組B1、第二緩沖器組B2、第一緩存器組R1、第二緩存器組R2、多工器Mux以及比較器Comp。
[0014]第一緩沖器組BI以及第二緩沖器組B2設(shè)計(jì)來降低主機(jī)接口控制器102頻繁發(fā)出指令讀取儲(chǔ)存裝置104所造成的系統(tǒng)負(fù)擔(dān)。以串行外設(shè)接口( SPI)接口為例,對(duì)應(yīng)的主機(jī)接口控制器(如,SPI控制器)需發(fā)出一字節(jié)(byte)的讀取命令、外加三字節(jié)(byte)的讀取地址,才能自儲(chǔ)存裝置104讀取一筆讀回?cái)?shù)據(jù)。由于每筆讀回?cái)?shù)據(jù)的長(zhǎng)度可由主機(jī)接口控制器102決定,即是說,主機(jī)接口控制器102所發(fā)出的自儲(chǔ)存裝置104讀取數(shù)據(jù)的讀取命令后的3byte的讀取地址僅僅是起始地址,而并沒有結(jié)束地址,主機(jī)接口控制器102可自行控制結(jié)束地址。故本發(fā)明特意在主機(jī)接口控制器102設(shè)置的第一緩沖器組BI以及第二緩沖器組B2使得主機(jī)接口控制器102對(duì)儲(chǔ)存裝置104的單筆讀取為大數(shù)據(jù)量,而不受中央處理單元CPU所發(fā)下來的讀取指令中的要讀取的數(shù)據(jù)長(zhǎng)度的限制。主機(jī)接口控制器102無須頻繁下達(dá)讀取命令以讀取該儲(chǔ)存裝置104,即可將數(shù)據(jù)大筆由儲(chǔ)存裝置104預(yù)取至第一緩沖器組BI以及第二緩沖器組B2回應(yīng)中央處理單元CPU發(fā)出的讀取要求。
[0015]至于對(duì)應(yīng)第一緩沖器組BI以及第二緩沖器組B2設(shè)置的第一緩存器組R1、第二緩存器組R2、多工器Mux以及比較器Comp則是用來確認(rèn)中央處理單元CPU所要求的儲(chǔ)存裝置104數(shù)據(jù)是否已預(yù)取于第一或第二緩沖器組BI或B2中。
[0016]特別是,本發(fā)明關(guān)于開機(jī)程序中,控制模塊112依據(jù)中央處理單元CPU對(duì)儲(chǔ)存裝置104數(shù)據(jù)的需求,適應(yīng)性地切換第一緩沖器組BI以及第二緩沖器組B2的操作模式。緩沖器模式設(shè)定緩存器110即是用來設(shè)定第一與第二緩沖器組BI與B2的操作模式。這里以在開機(jī)過程中的數(shù)據(jù)讀取為例,但本發(fā)明并不以此為限。在其它實(shí)施方式中,只要是對(duì)儲(chǔ)存裝置104分階段讀取,在不同階段的讀取數(shù)據(jù)的地址連續(xù)性不同的應(yīng)用中,都可以使用本發(fā)明的技術(shù)以適應(yīng)性地切換第一緩沖器組BI以及第二緩沖器組B2的操作模式。
[0017]在開機(jī)程序中,中央處理單元CPU包括三階段操作。第一階段,高速緩沖存儲(chǔ)器106以及該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器108都未啟動(dòng),中央處理單元CPU頻繁重復(fù)讀取該只讀程序代碼R0M_Code中相同地址的內(nèi)容,而高速緩沖存儲(chǔ)器106尚未啟動(dòng),現(xiàn)有技術(shù)的主機(jī)接口控制器120必須頻繁根據(jù)中央處理單元CPU的讀取請(qǐng)求重復(fù)下達(dá)對(duì)應(yīng)相同地址的讀取請(qǐng)求至儲(chǔ)存裝置104,效率低下。第二階段,高速緩沖存儲(chǔ)器106啟動(dòng),中央處理單元CPU對(duì)該只讀程序代碼R0M_Code的讀取要求多為連續(xù)地址。第三階段,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器108也啟動(dòng),中央處理單元CPU要求大尺寸搬移只讀程序代碼R0M_Code至該動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器108,由于中央處理單元CPU在此階段下達(dá)的讀取請(qǐng)求的地址是連續(xù)而不重復(fù)的,中央處理單元CPU的讀取請(qǐng)求在高速緩沖存儲(chǔ)器106往往是不命中的狀態(tài),因此現(xiàn)有技術(shù)的主機(jī)接口控制器120必須需要根據(jù)每筆讀取請(qǐng)求對(duì)儲(chǔ)存裝置104下達(dá)讀取指令(如,SPI控制器102需根據(jù)每筆讀取請(qǐng)求對(duì)儲(chǔ)存裝置104下達(dá)包含一字節(jié)的讀取命令、外加三字節(jié)的讀取地址的讀取指令)??偨Y(jié)而言,高速緩沖存儲(chǔ)器106啟動(dòng)前的讀取要求重復(fù)性高,高速緩沖存儲(chǔ)器106啟動(dòng)后的讀取要求多為連續(xù)地址。
[0018]本發(fā)明中在開機(jī)程序,緩沖器模式設(shè)定緩存器110根據(jù)該中央處理單元CPU的高速緩沖存儲(chǔ)器106啟動(dòng)與否切換設(shè)定。高速緩沖存儲(chǔ)器106啟動(dòng)前(第一階段),第一與第二緩沖器組BI與B2操作于高速緩沖存儲(chǔ)器模式,以回應(yīng)中央處理單元CPU對(duì)相同地址的重復(fù)讀取要求。高速緩沖存儲(chǔ)器106啟動(dòng)后(第二、第三階段,在其它實(shí)施例中,也可以僅在第三階段),第一緩沖器組BI與第二緩沖器組B2操作于乒乓緩沖器模式,以回應(yīng)中央處理單