專利名稱:控制外圍設備輸出數(shù)據(jù)到總線的方法及其相關裝置的制作方法
技術領域:
本發(fā)明提供一種數(shù)據(jù)傳輸控制方法及其相關裝置,特別是指一種控制外圍設備經(jīng)由一總線傳輸數(shù)據(jù)的方法及其相關裝置。
背景技術:
一般而言,一計算機系統(tǒng)中包含有多個計算機元件,此外,計算機系統(tǒng)亦設置有多個總線以便將一計算機元件所紀錄的數(shù)據(jù)傳送到其他計算機元件,換句話說,多個總線建立起多個計算機元件之間的互相連接。請參閱圖1,圖1為公知計算機系統(tǒng)10的示意圖。計算機系統(tǒng)10包含有中央處理器12、北橋電路14、南橋電路16、PCI總線18、顯示控制電路20、存儲器22、小型計算機系統(tǒng)接口(small computer system interface,SCSI)控制電路24、硬盤26、網(wǎng)絡控制電路28以及音頻控制電路30。中央處理器12用來控制計算機系統(tǒng)10的整體操作,北橋電路14用來協(xié)調高速的外圍設備(例如顯示控制電路20與存儲器22)與中央處理器12之間的信號傳輸,南橋電路16則用來協(xié)調低速的外圍設備(例如硬盤26、網(wǎng)絡控制電路28與音頻控制電路30)與北橋電路14之間的信號傳輸。如前所述,計算機系統(tǒng)10包含有PCI總線18用來建立外圍設備之間的互相連接。顯示控制電路20用來接收圖像信號以驅動一外部顯示裝置(例如顯示屏幕),存儲器22為易失性存儲裝置,用來寄存數(shù)據(jù)。SCSI控制電路24則是作為一橋接電路,用來控制連接SCSI控制電路24上的裝置(例如硬盤26)與PCI總線18之間的信號傳輸,其中硬盤26為非易失性存儲裝置,用來紀錄數(shù)據(jù)。網(wǎng)絡控制電路28,例如區(qū)域網(wǎng)卡,則是用來連接計算機系統(tǒng)10與外部計算機網(wǎng)絡,而音頻控制電路30,例如音卡,則是執(zhí)行數(shù)字聲音信號與模擬聲音信號之間的信號轉換,亦即可將數(shù)字聲音信號轉換為模擬聲音信號來驅動一喇叭,或是可將一麥克風所輸入的模擬聲音信號轉換為相對應數(shù)字聲音信號。
如上所述,使用PCI總線18的外圍設備(網(wǎng)絡控制電路28、音頻控制電路30以及硬盤26)可經(jīng)由北橋電路14與南橋電路16而傳送數(shù)據(jù)到存儲器22或中央處理器12。請參閱圖2,圖2為公知外圍設備40的示意圖。外圍設備40包含有控制單元42以及總線接口電路44??刂茊卧?2用來控制與執(zhí)行外圍設備40上的硬件操作,亦即控制單元42驅動外圍設備40以執(zhí)行其功能,而總線接口電路44連接到相對應的總線46,用來作為外圍設備40的輸入/輸出接口。此外,總線接口電路44還包含有一寄存器48。若外圍設備40欲將數(shù)據(jù)傳輸?shù)搅硪谎b置,則外圍設備40必須使用總線46來將數(shù)據(jù)傳送到另一裝置,例如圖1所示的網(wǎng)絡控制電路28可將由一計算機網(wǎng)絡所下載的數(shù)據(jù),通過PCI總線18的輔助而順利地傳輸?shù)酱鎯ζ?2以便進行后續(xù)相關處理。
請參閱圖3,圖3為圖2所示的外圍設備40的第一種操作時序圖。由上而下分別代表時鐘信號Clock、開始信號START、數(shù)據(jù)長度信號LEN、傳輸準備信號WRDY、傳輸數(shù)據(jù)WDATA以及時間Time。舉例來說,外圍設備40可以為圖1所示的網(wǎng)絡控制電路28,總線46則為圖1所示的PCI總線18,另外,PCI總線18可以為32位(32bit)的總線或是64位的總線,換句話說,網(wǎng)絡控制電路28可同時輸出32位,亦即1DW(double word)的數(shù)據(jù)量到PCI總線18,或者網(wǎng)絡控制電路28可同時輸出64位,亦即1QW(quad word)的數(shù)據(jù)量到PCI總線18,以便經(jīng)由PCI總線18傳送到一目標裝置。首先,若外圍設備40欲自一計算機網(wǎng)絡下載6DW的數(shù)據(jù),并傳輸?shù)酱鎯ζ?2中存儲,因此當控制單元42開始接收該數(shù)據(jù)時,控制單元42必須將下載數(shù)據(jù)傳輸?shù)娇偩€接口電路44,以便通過總線接口電路44將下載數(shù)據(jù)輸出到相對應總線46。在時間t0時,控制單元42輸出開始信號START到總線接口電路44以便啟動控制單元42與總線接口電路44之間的數(shù)據(jù)傳輸(transaction),同時控制單元42亦會將數(shù)據(jù)傳輸所對應的數(shù)據(jù)量經(jīng)由數(shù)據(jù)長度信號LEN所傳輸?shù)臄?shù)據(jù)長度LI來告知總線接口電路44。此外,經(jīng)由數(shù)據(jù)傳輸所對應的數(shù)據(jù)量大小,控制單元42便可決定傳輸準備信號WRDY需歷時多少個時鐘信號Clock的周期。舉例來說,若控制單元42與總線接口電路44之間的內部傳輸對應32位的總線結構,由于該下載數(shù)據(jù)的數(shù)據(jù)量為6DW,因此控制單元42需啟動傳輸準備信號WRDY達到6個時鐘信號Clock的周期,亦即,控制單元42在時鐘信號Clock的每一周期中會傳輸1DW的數(shù)據(jù)量到總線接口電路44,所以控制單元42便需要6個時鐘信號Clock的周期才可成功地完成該下載數(shù)據(jù)寄存在寄存器48的操作。如圖3所示,在時間t6時,傳輸準備信號WRDY由低電平轉變?yōu)楦唠娖?,同時時鐘信號Clock亦產(chǎn)生一上升邊緣而觸發(fā)控制單元42開始傳輸下載數(shù)據(jù)(亦即傳輸數(shù)據(jù)WDATA),因此控制單元42在時鐘信號Clock的每一周期中傳送1DW數(shù)據(jù)量到寄存器48存儲。如前所述,傳輸準備信號WRDY依據(jù)傳輸數(shù)據(jù)WDATA的數(shù)據(jù)量而會在時鐘信號Clock的6個周期中維持高電平,因此在該時間段中,時鐘信號Clock會產(chǎn)生6次上升邊緣而驅動控制單元42完成傳輸數(shù)據(jù)WDATA傳送到寄存器48的操作,所以,在時間t18時,控制單元42即重置傳輸準備信號WRDY,亦即,傳輸準備信號WRDY在時間t18時由高電平恢復到低電平。
如前所述,若外圍設備40為圖1所示的網(wǎng)絡控制電路28,則網(wǎng)絡控制電路28常會下載大量數(shù)據(jù),因此總線接口電路44需耗費時間在等待寄存器48完成存儲需輸出的數(shù)據(jù),換句話說,外圍設備40輸出數(shù)據(jù)的效能不佳。此外,寄存器48需設置有足夠的容量以便大量存儲需輸出的數(shù)據(jù),因此寄存器48會占用較大的芯片面積來形成所需的存儲單元,因此制造成本較高,并進一步地使公知外圍設備40的整體成本上升而降低其市場競爭力。如業(yè)界所公知,除非外圍設備40欲輸出到另一計算機元件的數(shù)據(jù)已完全地經(jīng)由控制單元42傳送到寄存器48存儲,否則總線接口電路44不會將寄存器48中所紀錄的數(shù)據(jù)輸出到總線46,換句話說,當傳輸準備信號WRDY由高電平恢復到低電平后(亦即傳輸數(shù)據(jù)WDATA已完全地記錄在寄存器48中),總線接口電路44才會依據(jù)公知先進先出(first in first out,F(xiàn)IFO)的存儲結構將寄存器48中紀錄的數(shù)據(jù)輸出到總線46,然后通過總線46而進一步地使該數(shù)據(jù)到達一目標計算機元件(例如存儲器22)。
圖3的操作時序圖對應于寄存器48的容量大于傳輸數(shù)據(jù)WDATA,然而,當傳輸數(shù)據(jù)WDATA大于寄存器48的容量時則會使外圍設備40進入等待裝態(tài)。請參閱圖4,圖4為圖2所示的外圍設備40的第二種操作時序圖。由上而下分別代表時鐘信號Clock、開始信號START、數(shù)據(jù)長度信號LEN、傳輸準備信號WRDY、傳輸數(shù)據(jù)WDATA以及時間Time,其定義已說明如上,因此在此不再重復贅述。假設外圍設備40欲將8DW的數(shù)據(jù)傳輸?shù)搅硪挥嬎銠C元件,且寄存器48本身的容量為6DW,因此在時間t6-t18的時間段中,傳輸準備信號WRDY會對應高電平,而控制單元42便將6DW的數(shù)據(jù)傳輸?shù)郊拇嫫?8存儲,由于在時間t18時,寄存器48的數(shù)據(jù)存儲容量已滿,因此如業(yè)界所公知,總線接口電路44便會開始將寄存器48中的數(shù)據(jù)經(jīng)由總線46輸出到另一計算機元件,此外,由于寄存器48在時間t18時已滿而無法繼續(xù)用來存儲數(shù)據(jù),因此傳輸準備信號WRDY會由高電平轉變到低電平,用來告知控制單元42目前寄存器48已無法繼續(xù)存儲控制單元42所輸出的任何數(shù)據(jù)。若總線46為32位的總線結構,因此總線接口電路44需時鐘信號Clock的6周期才可完全將寄存器48中的數(shù)據(jù)完全輸出,所以在時間t30時,寄存器48的可用容量恢復為6DW。已知外圍設備40所要傳輸?shù)臄?shù)據(jù)量為8DW,因此尚有2DW的數(shù)據(jù)尚未由外圍設備40輸出到總線46,因此在時間t30時,傳輸準備信號WRDY會由低電平轉變到高電平,所以控制單元42便可繼續(xù)將2DW的數(shù)據(jù)傳輸?shù)郊拇嫫?。如前所述,傳輸準備信號WRDY成為高電平的時間對應于傳輸數(shù)據(jù)WDATA的數(shù)據(jù)量,所以傳輸準備信號WRDY會在時間t34時重置為低電平以表示6DW的數(shù)據(jù)傳輸操作已經(jīng)完成。在圖4中,時間t18-t30的時間段中,外圍設備40取得總線46的使用權以利用總線46傳輸寄存器48的存儲數(shù)據(jù),然而,在時間t30-t34的時間段中,外圍設備40并未使用總線46,因此總線46的資源不再被外圍設備40占用,所以總線46上的其他外圍設備便可能取得總線46的使用權,因此當寄存器48在時間t34接收到最后的2DW數(shù)據(jù)時,由于總線46目前正由其他外圍設備占用,所以外圍設備40即進入所謂的等待狀態(tài),亦即造成外圍設備40輸出數(shù)據(jù)的效能不佳。
發(fā)明內容
本發(fā)明公開一種控制外圍設備的數(shù)據(jù)輸出的方法,外圍設備設置在一計算機系統(tǒng)中,外圍設備包含有一總線接口電路以及一控制單元??偩€接口電連接到該計算機系統(tǒng)的總線,用來控制外圍設備與該總線之間的數(shù)據(jù)傳輸??刂茊卧娺B接到總線接口電路。該方法至少包含設置一第一存儲塊與一第二存儲塊在該總線接口電路中,將控制單元的數(shù)據(jù)輸入第一存儲塊,使用總線接口電路同時控制第一存儲塊輸出其內的數(shù)據(jù)到總線以及將控制單元的數(shù)據(jù)輸入第二存儲塊,以及使用總線接口電路控制第二存儲塊輸出其內的數(shù)據(jù)到總線。
本發(fā)明另公開一種計算機系統(tǒng),其至少包含一總線以及一外圍設備。外圍設備包含有一總線接口電路電連接到總線,以及一控制單元電連接到總線接口電路。總線接口電路包含有至少一第一存儲塊及一第二存儲塊,以及控制單元用來同時驅動第一存儲塊輸出其內的數(shù)據(jù)到總線以及將數(shù)據(jù)輸入第二存儲塊。
由于本發(fā)明外圍設備的總線接口電路中設置有多個小容量的寄存器,且其存儲數(shù)據(jù)的速度不小于其輸出數(shù)據(jù)到總線的速度,因此不但可避免本發(fā)明外圍設備在利用一總線輸出數(shù)據(jù)到另一計算機元件的過程中進入等待狀態(tài),且多個寄存器的容量小而可進一步地降低制造成本。
圖1為公知計算機系統(tǒng)結構的示意圖。
圖2為公知計算機系統(tǒng)的外圍設備的示意圖。
圖3為圖2所示的公知外圍設備的第一種操作時序圖。
圖4為圖2所示的公知外圍設備的第二種操作時序圖。
圖5為本發(fā)明的外圍設備的示意圖。
圖6為圖5所示的外圍設備的操作時序圖。
附圖符號說明10計算機系統(tǒng) 12 中央處理器14北橋電路 16 南橋電路18PCI總線 20 顯示控制電路22存儲器 24 SCSI控制電路26硬盤 28 網(wǎng)絡控制電路30音頻控制電路 40、50 外圍設備42、52控制單元 44、54 總線接口電路46、56總線 48、58、60 寄存器62a、62b 開關電路具體實施方式
請參閱圖5,圖5為本發(fā)明外圍設備50的示意圖。外圍設備50包含有一控制單元52以及一總線接口電路54。控制單元52為外圍設備50的主要硬件,用來執(zhí)行與控制外圍設備50的主要功能,而總線接口電路54連接到一相對應的總線56,用來作為外圍設備50的輸入/輸出接口。此外,總線接口電路54還包含有二寄存器58、60以及二開關電路62a、62b。本發(fā)明外圍設備50應用于圖1所示的計算機系統(tǒng)10中,其可連接到計算機系統(tǒng)10中的任何總線,例如外圍設備50可連接到圖1所示的PCI總線18,連接到公知ISA(industry standard architecture)總線,或最近業(yè)界為滿足高速數(shù)據(jù)傳輸需求所制訂的PCIX總線等,而外圍設備50可以是任何數(shù)據(jù)提取裝置,例如一光盤裝置(未示出)或圖1所示的網(wǎng)絡控制電路28、音頻控制電路30或硬盤26。此外,總線接口電路54可對應于SCSI接口,例如圖1所示的硬盤26經(jīng)由其SCSI接口而連接到SCSI控制電路24,因此便可進一步地使用PCI總線18,同樣地,總線接口電路54亦可對應于公知USB接口、IEEE1394接口等不同接口規(guī)格,并經(jīng)由相對應USB控制電路、IEEE1394控制電路來存取上述圖1所示的PCI總線18。本實施例中,寄存器58、60對應于公知先進先出的存儲模式,亦即先存入寄存器58、60的數(shù)據(jù)會先輸出寄存器58、60。開關電路62a用來控制寄存器58或寄存器60電連接到總線56,所以當寄存器58電連接到總線56后,寄存器58所存儲的數(shù)據(jù)才可成功地輸出到總線56;同樣地,當寄存器60電連接到總線56后,寄存器60所存儲的數(shù)據(jù)才可成功地輸出到總線56。另外,開關電路62b用來選擇控制單元52電連接到寄存器58或寄存器60,因此當控制單元52經(jīng)由開關電路62b而電連接到寄存器58后,控制單元52才可成功地輸出數(shù)據(jù)到寄存器58以紀錄數(shù)據(jù)在寄存器58中;同樣地,當控制單元52經(jīng)由開關電路62b而電連接到寄存器60后,控制單元52才可成功地輸出數(shù)據(jù)到寄存器60以紀錄數(shù)據(jù)在寄存器60中。
請參閱圖6,圖6為圖5所示的外圍設備50的操作時序圖。由上而下分別代表時鐘信號Clock、開始信號START、數(shù)據(jù)長度信號LEN、傳輸準備信號WRDY、傳輸控制信號WAVL、傳輸數(shù)據(jù)WDATA以及時間Time。假設寄存器58、60的存儲容量相同而均為8DW,且控制單元52欲將20DW的數(shù)據(jù)傳送到另一計算機元件,例如外圍設備50為圖1所示的網(wǎng)絡控制電路28,而該另一計算機元件為圖1所示的存儲器22,因此外圍設備50必須將數(shù)據(jù)傳送到總線56(例如圖1所示的PCI總線18),然后經(jīng)由總線56傳送到該另一計算機元件。如前所述,總線接口電路54提供外圍設備50與總線56之間的接口以便外圍設備50輸出數(shù)據(jù)到總線56,換句話說,控制單元52需先寄存數(shù)據(jù)在總線接口電路54的寄存器58、60中。在時間t1時,控制單元52輸出一開始信號START到總線接口電路54以啟動控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸,同時,控制單元52亦會經(jīng)由數(shù)據(jù)長度信號LEN而輸出數(shù)據(jù)長度LI到總線接口電路54,以告知總線接口電路54需接收對應數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,本實施例中,由于控制單元52欲將20DW的數(shù)據(jù)傳送到另一計算機元件,因此數(shù)據(jù)長度LI即用來告知數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量為20DW。由于一開始時,寄存器58、60并無存儲任何數(shù)據(jù),因此總線接口電路54會輸出對應高電平的傳輸控制信號WAVL,用來告知控制單元52目前寄存器58、60可用來接收數(shù)據(jù)。在時間t4時,控制單元52輸出高電平的傳輸準備信號WRDY以告知總線接口電路54需開始接收數(shù)據(jù)。請注意,為了便于說明,假設在時鐘信號Clock的一周期中,控制單元52可傳輸2DW的數(shù)據(jù)到寄存器58、60,然而,在時鐘信號Clock的一周期中,寄存器58、60僅可傳輸1DW的數(shù)據(jù)到總線56。換句話說,本實施例中,控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度需不小于總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度,主要目的避免外圍設備50進入等待狀態(tài),其原理稍后再詳述。
當傳輸準備信號WRDY在時間t4時由低電平轉換到高電平時,總線接口電路54會控制開關電路62b以選取寄存器58、60兩者的一來寄存控制單元52所傳送的數(shù)據(jù),例如開關電路62b先電連接寄存器58與控制單元52,因此寄存器58(存儲容量為8DW)便于時間t4-t8時持續(xù)接收控制單元52輸出8DW的數(shù)據(jù)。請注意,在時間t8時,寄存器58已滿,而寄存器60尚未使用而仍可紀錄8DW的數(shù)據(jù)。所以,當外圍設備50取得總線56的使用權后,總線接口電路54便控制開關電路62a以連接寄存器58與總線56,并開始驅動寄存器58將其存儲的數(shù)據(jù)傳送到總線56。此時,由于控制單元52尚未完全將20DW的數(shù)據(jù)輸出到總線接口電路54,因此總線接口電路54便同時在時間t8時控制開關電路62b以連接寄存器60與控制單元52,亦即啟動寄存器60來繼續(xù)地接收控制單元52所傳送到總線接口電路54的數(shù)據(jù)。同樣地,由于寄存器60的存儲容量為8DW,因此控制單元52需要時鐘信號Clock的4個周期才可使寄存器60儲滿8DW的數(shù)據(jù),亦即在時間t8-t12之間的時間段中進行控制單元52與寄存器60之間的數(shù)據(jù)傳輸操作。如上所述,在時鐘信號Clock的一周期中,寄存器58、60僅可傳輸1DW的數(shù)據(jù)到總線56,因此寄存器58在時間t8-t12間僅完成輸出4DW的數(shù)據(jù),所以在時間t12時,寄存器58中仍存儲有4DW的數(shù)據(jù)而尚未完成將其存儲數(shù)據(jù)完全地輸出到總線56的操作,所以寄存器58、60在時間t12后均無法接收任何數(shù)據(jù)。因此,總線接口電路54便會在時間t12時使傳輸控制信號WAVL由高電平重置為低電平,用來告知控制單元52目前寄存器58、60已無法用來存儲數(shù)據(jù)。
明顯地,寄存器58會在時間t16時成功地完成將其存儲數(shù)據(jù)完全地輸出到總線56的操作,亦即寄存器58在時間t8-t16的時間段中完全地輸出其存儲8DW數(shù)據(jù)。由于寄存器58此時并未存儲任何數(shù)據(jù),因此寄存器58便可用來寄存控制單元52的輸出數(shù)據(jù),所以總線接口電路54在時間t16時使傳輸控制信號WAVL由低電平轉變到高電平,用來告知控制單元52可開始繼續(xù)傳輸數(shù)據(jù)到總線接口電路54,并且控制開關電路62來連接寄存器58與控制單元52以便寄存器58可順利地接收控制單元52輸出到總線接口電路54的數(shù)據(jù)。同一時間,總線接口電路54會控制開關電路62a連接寄存器60與總線56,并隨即驅動寄存器60開始輸出其存儲數(shù)據(jù)。在時間t4-t12的時間段中,控制單元52已傳送16DW的數(shù)據(jù)到總線接口電路54,而由于已知控制單元52欲將20DW的數(shù)據(jù)傳送到另一計算機元件,因此控制單元52需時鐘信號Clock的2周期以便輸出最后4DW的數(shù)據(jù)。如圖6所示,在時間t18時,寄存器58便存儲了4DW的數(shù)據(jù)而完成控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸操作。因此,控制單元52便在時間t18時使傳輸準備信號WRDY由高電平重置為低電平,用來告知總線接口電路54上述數(shù)據(jù)傳輸操作已完成。然后,當寄存器60完成輸出其記錄的8DW數(shù)據(jù)到總線56時,總線接口電路54便隨即控制開關電路62a以連接寄存器58與總線56來輸出其紀錄的4DW數(shù)據(jù)到總線56,亦即當寄存器60在時鐘信號Clock的8周期中完成輸出其存儲數(shù)據(jù)到總線時,總線接口電路54會繼續(xù)控制寄存器58在時鐘信號Clock的2周期中輸出其存儲的4DW數(shù)據(jù)到總線56。
當寄存器60在時間t8-t12接收控制單元52的輸出數(shù)據(jù)時,寄存器58亦會同時將其存儲數(shù)據(jù)傳輸?shù)娇偩€56,如前所述,控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度需不小于總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度,因此在寄存器60儲滿數(shù)據(jù)前,寄存器58不會完全地將其存儲數(shù)據(jù)傳送到總線56,換句話說,當寄存器60儲滿數(shù)據(jù)時,外圍設備40會因為寄存器58仍持續(xù)地輸出數(shù)據(jù)到總線56而繼續(xù)取得總線56的使用權,因此本實施例中,外圍設備40并不會進入等待狀態(tài)。相反地,若控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度小于總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度,因此在寄存器60儲滿數(shù)據(jù)前,寄存器58已完全地將其存儲數(shù)據(jù)傳送到總線56,換句話說,當寄存器58已空而寄存器60未滿時,如業(yè)界所公知,總線接口電路54不會控制寄存器60輸出數(shù)據(jù),因此在寄存器60儲滿數(shù)據(jù)前,外圍設備50便會因為無數(shù)據(jù)可輸出到總線56而進入等待狀態(tài)。所以,總線56上的其他外圍設備便可能取得總線56的使用權,換句話說,當外圍設備50的寄存器60稍后完成寄存8DW的數(shù)據(jù)時,外圍設備50由于失去總線56的使用權,因此外圍設備50必須等到總線56可使用(available)時,外圍設備50才可經(jīng)由重新取得總線56的使用權以傳輸寄存器60所紀錄的數(shù)據(jù)。綜合上述,在本實施例中,控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度需不小于總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度,因此在控制單元52將數(shù)據(jù)傳送到另一計算機元件的整體過程中,外圍設備50不會進入等待狀態(tài)而可持續(xù)地使用總線56來執(zhí)行傳送數(shù)據(jù)到另一計算機元件的操作。
本實施例中,寄存器58與寄存器60對應相同的存儲容量,然而亦可使用不同存儲容量的寄存器58、60,舉例來說,若寄存器60的存儲容量兩倍于寄存器58的存儲容量,只要控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度大于總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度的兩倍以上,則寄存器60儲滿其存儲容量的數(shù)據(jù)所需時間必定會小于寄存器58輸出其存儲容量的數(shù)據(jù)的時間。換句話說,外圍設備50在使用總線56傳送數(shù)據(jù)的過程中,外圍設備50不會進入等待狀態(tài)而影響其傳輸數(shù)據(jù)的效能,亦即本實施例中,寄存器58、60的存儲容量必須配合控制單元52與總線接口電路54之間的數(shù)據(jù)傳輸速度以及總線接口電路54與總線56之間的數(shù)據(jù)傳輸速度,以避免外圍設備50在傳送數(shù)據(jù)的過程中進入等待狀態(tài)。此外,本實施例的總線接口電路54僅包含二寄存器58、60,然而亦可使用多個寄存器,舉例來說,若總線接口電路54包含有三寄存器A、B、C,則依據(jù)前述操作步驟,總線接口電路54依序使用寄存器A、B、C來存儲控制單元52所傳送的數(shù)據(jù),例如,一開始時,總線接口電路54啟動寄存器A來存儲控制單元52所輸出的數(shù)據(jù)直到寄存器A儲滿數(shù)據(jù),然后當外圍設備50取得總線56的使用權時,總線接口電路54控制寄存器A開始輸出數(shù)據(jù)到總線56,同時總線接口電路54亦會啟動寄存器B來持續(xù)存儲控制單元52所輸出的數(shù)據(jù)。如前所述,為了避免外圍設備50進入等待狀態(tài),寄存器B儲滿數(shù)據(jù)所需時間必須不大于寄存器A完全輸出其存儲數(shù)據(jù)的相對應所需時間,亦即在寄存器A完成數(shù)據(jù)輸出的操作前,寄存器B需完成儲滿數(shù)據(jù)的操作,因此當寄存器B儲滿數(shù)據(jù)時,由于寄存器C仍包含有可使用的存儲容量,所以總線接口電路54即可控制寄存器C開始接收控制單元52所輸出的數(shù)據(jù),而當寄存器A完全輸出其存儲數(shù)據(jù)時,總線接口電路54即會控制已儲滿數(shù)據(jù)的寄存器B開始輸出其存儲數(shù)據(jù)。同樣地,為了避免外圍設備50進入等待狀態(tài),寄存器C儲滿數(shù)據(jù)所需時間必須不大于寄存器B完全輸出其存儲數(shù)據(jù)的相對應所需時間,亦即在寄存器B完成數(shù)據(jù)輸出的操作前,寄存器C需完成儲滿數(shù)據(jù)的操作,因此當寄存器C儲滿數(shù)據(jù)時,由于寄存器A包含有可使用的存儲容量,所以總線接口電路54即可控制寄存器A開始接收控制單元52所輸出的數(shù)據(jù),而當寄存器B完全輸出其存儲數(shù)據(jù)時,總線接口電路54即會控制已儲滿數(shù)據(jù)的寄存器C開始輸出其存儲數(shù)據(jù)。重復上述操作,寄存器A、B、C即可依序被使用來接收控制單元52傳輸?shù)臄?shù)據(jù)以及輸出其存儲數(shù)據(jù)到總線56,亦即可完成外圍設備40輸出數(shù)據(jù)的目的,均屬本發(fā)明的范疇。
與公知技術相比較,本發(fā)明外圍設備的數(shù)據(jù)傳輸控制方法使用多個容量小的寄存器來切換地存儲一外圍設備欲傳送到另一外圍設備的數(shù)據(jù),且對于該外圍設備而言,一控制單元與一總線接口電路之間的數(shù)據(jù)傳輸速度需不小于總線接口電路與一相對應總線之間的數(shù)據(jù)傳輸速度,因此可避免該外圍設備在輸出數(shù)據(jù)的過程中因為進入等待狀態(tài)而失去該總線的使用權。本發(fā)明外圍設備的數(shù)據(jù)傳輸控制方法所使用的寄存器對應小容量(例如64DW),因此可大幅降低寄存器的生產(chǎn)成本與總線接口電路的芯片面積,同時可避免該外圍設備在輸出數(shù)據(jù)的過程中因為進入等待狀態(tài)而影響輸出數(shù)據(jù)的效能。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明權利要求所進行的等效變化與修改,皆應屬本發(fā)明的涵蓋范圍。
權利要求
1.一種控制外圍設備的數(shù)據(jù)輸出方法,該外圍設備設置在一計算機系統(tǒng)中,該外圍設備包含有一總線接口電路以及一控制單元,該總線接口電路電連接到該計算機系統(tǒng)的總線,用來控制該外圍設備與該總線之間的數(shù)據(jù)傳輸,該控制單元電連接到該總線接口電路,該方法包含有下列步驟至少設置一第一存儲塊與一第二存儲塊在該總線接口電路中;將該控制單元的數(shù)據(jù)輸入該第一存儲塊;使用該總線接口電路同時控制該第一存儲塊輸出其內的數(shù)據(jù)到該總線以及將該控制單元的數(shù)據(jù)輸入該第二存儲塊;以及使用該總線接口電路控制該第二存儲塊輸出其內的數(shù)據(jù)到該總線。
2.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,還包含有在該第二存儲塊輸出數(shù)據(jù)到該總線時,同時將該控制單元的數(shù)據(jù)輸入該第一存儲塊。
3.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該第二存儲塊完成存儲對應其存儲容量的數(shù)據(jù)的時間早于該第一存儲塊完全地輸出其內的數(shù)據(jù)到該總線的時間。
4.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其還包含有在該第一存儲塊內的數(shù)據(jù)完全地輸出到該總線前,若該第二存儲塊已存儲對應其存儲容量的數(shù)據(jù),則停止該控制單元傳送數(shù)據(jù)到該總線接口電路。
5.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,還包含有設置一第三存儲塊在該總線接口電路中,該方法還包含有在該第一存儲塊內的數(shù)據(jù)完全地輸出到該總線前,若該第二、第三存儲塊已分別存儲對應其存儲容量的數(shù)據(jù),則停止該控制單元傳送數(shù)據(jù)到該總線接口電路。
6.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該第一存儲塊的存儲容量等于該第二存儲塊的存儲容量。
7.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該總線為一PCI總線或一PCIX總線。
8.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該外圍設備為一數(shù)據(jù)提取裝置。
9.如權利要求8所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該數(shù)據(jù)提取裝置為一區(qū)域網(wǎng)卡、一硬盤或一光盤裝置。
10.如權利要求1所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該第一、第二存儲塊均對應先入先出的數(shù)據(jù)存儲模式。
11.一種計算機系統(tǒng),至少包含一總線;一外圍設備,其包含一總線接口電路,電連接到該總線,該總線接口電路包含有至少一第一存儲塊及一第二存儲塊;以及一控制單元,電連接到該總線接口電路,用來同時驅動該第一存儲塊輸出其內的數(shù)據(jù)到該總線以及將數(shù)據(jù)輸入該第二存儲塊。
12.如權利要求11所述的計算機系統(tǒng),其中該總線接口電路還包含有一第一開關電路,電連接到該總線與該第一、第二存儲塊之間,用來選擇性地連接該總線與該第一存儲塊或連接該總線與該第二存儲塊;以及一第二開關電路,電連接到該控制單元與該第一、第二存儲塊之間,用來選擇性地連接該控制單元與該第一存儲塊或連接該控制單元與該第二存儲塊。
13.如權利要求11所述的計算機系統(tǒng),其中該第二存儲塊完成存儲對應其存儲容量的數(shù)據(jù)的時間早于該第一存儲塊完全地輸出其內的數(shù)據(jù)到該總線的時間。
14.如權利要求11所述的計算機系統(tǒng),其中該第一存儲塊的存儲容量等于該第二存儲塊的存儲容量。
15.如權利要求11所述的計算機系統(tǒng),其中該總線為一PCI總線或一PCIX總線。
16.如權利要求11所述的計算機系統(tǒng),其中該外圍設備為一數(shù)據(jù)提取裝置。
17.如權利要求16所述的計算機系統(tǒng),其中該數(shù)據(jù)提取裝置為一區(qū)域網(wǎng)卡、硬盤或一光盤裝置。
18.如權利要求11所述的計算機系統(tǒng),其中該第一、第二存儲塊均對應先入先出的數(shù)據(jù)存儲模式。
19.一種控制外圍設備的數(shù)據(jù)輸出方法,該外圍設備設置在一計算機系統(tǒng)中,該方法至少包含下列步驟輸入數(shù)據(jù)到該外圍設備;以及當該數(shù)據(jù)大于該外圍設備的存儲量,在該外圍設備輸出該數(shù)據(jù)到該計算機系統(tǒng)的總線時,同時輸入該數(shù)據(jù)到該外圍設備,使得在輸入該數(shù)據(jù)到該外圍設備時,擁有該總線的使用權。
20.如權利要求19所述的控制外圍設備的數(shù)據(jù)輸出方法,其中輸入該數(shù)據(jù)到該外圍設備,輸入到該外圍設備的一第一存儲裝置與一第二存儲裝置。
21.如權利要求20所述的控制外圍設備的數(shù)據(jù)輸出方法,其中輸入該數(shù)據(jù)到該外圍設備,先輸入該數(shù)據(jù)到該第一存儲裝置,待該第一存儲裝置儲滿之后,再將該數(shù)據(jù)輸入該第二存儲裝置。
22.如權利要求21所述的控制外圍設備的數(shù)據(jù)輸出方法,其中當該數(shù)據(jù)輸入該第二存儲裝置時,同時經(jīng)由該總線輸出存儲在該第一存儲裝置中的該數(shù)據(jù),使得在輸入該數(shù)據(jù)到該外圍設備時,該外圍設備擁有該總線的使用權。
23.如權利要求22所述的控制外圍設備的數(shù)據(jù)輸出方法,還包含有設置一第三存儲塊在該外圍設備中,該方法還包含有在該第一存儲塊內的數(shù)據(jù)完全地輸出到該總線前,若該第二、第三存儲塊已分別存儲對應其存儲容量的數(shù)據(jù),則停止該控制單元傳送數(shù)據(jù)到該總線接口電路。
24.如權利要求21所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該第二存儲塊完成存儲對應其存儲容量的數(shù)據(jù)的時間早于該第一存儲塊完全地輸出其內的數(shù)據(jù)到該總線的時間。
25.如權利要求20所述的控制外圍設備的數(shù)據(jù)輸出方法,其還包含有在該第一存儲塊內的數(shù)據(jù)完全地輸出到該總線前,若該第二存儲塊已存儲對應其存儲容量的數(shù)據(jù),則停止該控制單元傳送數(shù)據(jù)到該總線接口電路。
26.如權利要求19所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該第一存儲塊的存儲容量等于該第二存儲塊的存儲容量。
27.如權利要求19所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該總線為一PCI總線或一PCIX總線。
28.如權利要求19所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該外圍設備為一數(shù)據(jù)提取裝置。
29.如權利要求28所述的控制外圍設備的數(shù)據(jù)輸出方法,其中該數(shù)據(jù)提取裝置為一區(qū)域網(wǎng)卡、一硬盤或一光盤裝置。
全文摘要
一種控制外圍設備輸出數(shù)據(jù)到總線的方法及其相關裝置,外圍設備包含有總線接口電路以及控制單元。將控制單元的數(shù)據(jù)輸入總線接口電路的第一存儲塊,使用總線接口電路同時控制第一存儲塊輸出其內的數(shù)據(jù)到總線,以及將控制單元的數(shù)據(jù)同時輸入總線接口電路的第二存儲塊,然后使用總線接口電路控制第二存儲塊輸出數(shù)據(jù)到總線。
文檔編號G06F13/38GK1534442SQ20041003326
公開日2004年10月6日 申請日期2004年3月29日 優(yōu)先權日2003年3月28日
發(fā)明者賴瑾, 蔡兆爵, 張炬, 莊文豪, 蘇俊源, 瑾 賴 申請人:威盛電子股份有限公司