專利名稱:數(shù)據(jù)傳送控制裝置和電子裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳送控制裝置和包含它的電子裝置,特別涉及在與總線連接的多個(gè)節(jié)點(diǎn)間進(jìn)行以IEEE1394等為標(biāo)準(zhǔn)的數(shù)據(jù)傳送的數(shù)據(jù)傳送控制裝置和包含它的電子裝置。
近年來,稱之為IEEE1394的接口規(guī)格顯露頭角。該IEEE1394是將可適用于下一代多媒體的高速串行總線接口標(biāo)準(zhǔn)化的接口。若按照該IEEE1394,對(duì)于活動(dòng)圖象等要求實(shí)時(shí)性的數(shù)據(jù)也能進(jìn)行處理。此外,IEEE1394的總線不僅能與打印機(jī)、掃描儀、CD-RW驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器等計(jì)算機(jī)的外設(shè)連接,還能夠與攝像機(jī)、VTR、TV等家用電器連接。因此,可以期望能夠促進(jìn)電子裝置數(shù)字化的飛快發(fā)展。
在該IEEE1394中,當(dāng)電子裝置和總線重新連接、或?qū)㈦娮友b置從總線斷開、這樣使與總線連接的節(jié)點(diǎn)增減時(shí),發(fā)生所謂總線復(fù)位。而且,當(dāng)發(fā)生總線復(fù)位時(shí),節(jié)點(diǎn)的布局信息被清除,然后,自動(dòng)地再設(shè)定布局信息。即,在發(fā)生總線復(fù)位后,進(jìn)行樹識(shí)別(路由節(jié)點(diǎn)的決定)和自己識(shí)別,然后,同步資源管理等管理節(jié)點(diǎn)被確定。接著開始通常的信息包傳送。
但是,可以判定,以該IEEE1394為標(biāo)準(zhǔn)的數(shù)據(jù)傳送裝置存在下面的課題。
即,若按照現(xiàn)在的IEEE1394標(biāo)準(zhǔn),可以實(shí)現(xiàn)最大400Mbps的傳送速率。但是,實(shí)際上,由于存在處理時(shí)間的額外消耗,所以整個(gè)系統(tǒng)的實(shí)際傳送速度比起它來要低得多。即,在CPU上工作的固件(處理器)要準(zhǔn)備傳送數(shù)據(jù),要將傳送數(shù)據(jù)分割成組,要發(fā)送傳送開始命令等,需要大量時(shí)間進(jìn)行處理,即使總線上傳送速度快,最終還是不能實(shí)現(xiàn)高速數(shù)據(jù)傳送。
特別,裝在外設(shè)中的CPU與裝在個(gè)人計(jì)算機(jī)等主機(jī)系統(tǒng)中的CPU相比,其處理能力低。因此,固件等的處理超時(shí)問題變得非常重要。因此,希望出現(xiàn)能夠有效地解決這樣的超時(shí)問題的技術(shù)。
本發(fā)明是鑒于上述技術(shù)課題而提出的,其目的在于提供一種數(shù)據(jù)傳送控制裝置及使用它的電子裝置,能減輕固件等的處理超時(shí),用小規(guī)模硬件實(shí)現(xiàn)高速數(shù)據(jù)傳送。
為了解決上述課題,本發(fā)明是用來在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,其特征在于包括傳送執(zhí)行電路和協(xié)調(diào)電路,該傳送執(zhí)行電路在處理裝置發(fā)送了指示利用硬件進(jìn)行的連續(xù)信息包傳送的第1開始命令時(shí),將傳送數(shù)據(jù)分割成一連串的信息包并執(zhí)行連續(xù)傳送已分割的一連串信息包的處理;該協(xié)調(diào)電路在處理裝置發(fā)送了在利用上述傳送執(zhí)行電路執(zhí)行連續(xù)信息包的傳送處理的期間內(nèi)指示信息包傳送的第2開始命令時(shí),等待連續(xù)信息包傳送的1個(gè)事務(wù)處理或1個(gè)信息包傳送的結(jié)束,允許利用上述第2開始命令進(jìn)行的信息包傳送。
若按照本發(fā)明,當(dāng)處理裝置發(fā)送第1開始命令時(shí),利用硬件將傳送數(shù)據(jù)分割成多個(gè)信息包并連續(xù)傳送。因此,處理裝置在發(fā)送第1開始命令之后,只要等待連續(xù)信息包傳送的結(jié)束即可,可以大大減輕處理裝置的處理負(fù)擔(dān)。
而且,一旦開始這樣的連續(xù)信息包的傳送,直到所有的信息包傳送完畢,必須要一定的等待時(shí)間。因此,等待連續(xù)信息包傳送的結(jié)束有可能對(duì)利用第2開始命令的信息包傳送不利。
若按照本發(fā)明,能夠在連續(xù)信息包傳送的過程中插入利用第2開始命令的信息包傳送,所以,不必等待連續(xù)信息包傳送完全結(jié)束,就能夠執(zhí)行利用第2開始命令的信息包傳送。因此,能有效地防止上述不利情況的發(fā)生。
此外,本發(fā)明的特征在于,上述傳送執(zhí)行電路包括當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置存在頁表時(shí)取出對(duì)方節(jié)點(diǎn)的該頁表的頁表取出電路;當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置不存在頁表時(shí)根據(jù)頁邊界信息生成虛擬頁表的頁表生成電路;將傳送數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的有效負(fù)載分割電路;控制數(shù)據(jù)傳送的執(zhí)行的傳送執(zhí)行控制電路;至少一個(gè)生成請(qǐng)求向?qū)Ψ焦?jié)點(diǎn)發(fā)送要求信息包的控制信息的控制信息生成電路。通過包含這樣的電路方框,利用硬件可以執(zhí)行頁表的取出生成處理、信息包的有效分割處理、控制數(shù)據(jù)傳送的執(zhí)行的處理和生成要求信息包的控制信息(標(biāo)題等)的處理等。因此,能大大減輕處理裝置的負(fù)擔(dān)。
此外,本發(fā)明的特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)在上述第1開始信號(hào)成為激活之后上述第2開始信號(hào)成為激活時(shí),首先開始由上述第1開始信號(hào)控制的傳送處理,當(dāng)上述結(jié)束信號(hào)成為激活之后,開始由上述第2開始信號(hào)控制的傳送處理。若這樣,當(dāng)?shù)?開始信號(hào)先于第2開始信號(hào)成為激活時(shí),則執(zhí)行由第1開始信號(hào)控制的傳送處理(事務(wù)處理、信息包傳送),在等待該傳送處理的結(jié)束后就能夠執(zhí)行由第2開始信號(hào)控制的傳送處理。
此外,本發(fā)明的特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)上述第1、第2開始信號(hào)同時(shí)成為激活時(shí),由上述第2開始信號(hào)控制的傳送處理優(yōu)先。若這樣,例如當(dāng)從對(duì)方節(jié)點(diǎn)傳送過來要求信息包等時(shí),對(duì)該要求信息包立即返回響應(yīng)信息包。
此外,本發(fā)明的特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)在上述第2開始信號(hào)成為激活之后上述第1開始信號(hào)成為激活時(shí),首先開始由上述第2開始信號(hào)控制的傳送處理,當(dāng)上述結(jié)束信號(hào)成為激活之后,開始由上述第1開始信號(hào)控制的傳送處理。若這樣,當(dāng)?shù)?開始信號(hào)先于第1開始信號(hào)成為激活時(shí),則執(zhí)行由第2開始信號(hào)控制的傳送處理(事務(wù)處理、信息包傳送),在等待該傳送處理的結(jié)束后就能夠執(zhí)行由第1開始信號(hào)控制的傳送處理。
此外,本發(fā)明的特征在于包含具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū)的可隨機(jī)訪問的信息包存儲(chǔ)裝置和發(fā)生向上述信息包存儲(chǔ)裝置寫入的地址的地址發(fā)生電路,上述信息包存儲(chǔ)裝置的上述控制信息區(qū)分離成第1控制信息區(qū)和由上述傳送執(zhí)行電路寫入控制信息的第2控制信息區(qū),上述地址發(fā)生電路根據(jù)上述協(xié)調(diào)電路的協(xié)調(diào)結(jié)果,切換發(fā)生第1控制信息區(qū)的地址或第2控制信息區(qū)的地址。若這樣,通過簡(jiǎn)單的處理就能夠切換第1、第2控制信息區(qū)的地址。而且,通過可以進(jìn)行這樣的地址切換,可以對(duì)第2控制信息區(qū)連續(xù)寫入由傳送執(zhí)行電路生成的控制信息,可以謀求由硬件實(shí)現(xiàn)控制信息的生成、寫入處理的簡(jiǎn)單化。
此外,本發(fā)明的特征在于包含可隨機(jī)訪問的信息包存儲(chǔ)裝置,上述信息包存儲(chǔ)裝置具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū),上述信息包存儲(chǔ)裝置的上述數(shù)據(jù)區(qū)分離成存儲(chǔ)第1層用的第1數(shù)據(jù)的第1數(shù)據(jù)區(qū)和存儲(chǔ)成為上述傳送執(zhí)行電路的連續(xù)信息包傳送的對(duì)象的第2層用的第2數(shù)據(jù)的第2數(shù)據(jù)區(qū)。若按照本發(fā)明,信息包控制信息(例如標(biāo)題、腳注)存儲(chǔ)在控制信息區(qū),信息包的第1數(shù)據(jù)(例如事務(wù)處理層用的數(shù)據(jù))存儲(chǔ)在第1數(shù)據(jù)區(qū),信息包的第2數(shù)據(jù)(例如應(yīng)用層用的數(shù)據(jù))存儲(chǔ)在第2數(shù)據(jù)區(qū)。若這樣,可以從第2數(shù)據(jù)區(qū)連續(xù)讀出第2數(shù)據(jù)再傳送到第2層。因此,可以大大地實(shí)現(xiàn)數(shù)據(jù)傳送的高速化。
再有,在本發(fā)明中,上述第1數(shù)據(jù)最好是上述第1層協(xié)議使用的命令數(shù)據(jù),上述第2數(shù)據(jù)最好是上述應(yīng)用層使用的數(shù)據(jù)。
此外,本發(fā)明當(dāng)把使事務(wù)處理開始的要求信息包向?qū)Ψ焦?jié)點(diǎn)發(fā)送時(shí),在包含在上述要求信息包中的事務(wù)處理識(shí)別信息中包含指示信息,用來指示在接收到對(duì)方節(jié)點(diǎn)的響應(yīng)信息包時(shí)進(jìn)行的處理,當(dāng)接收到對(duì)方節(jié)點(diǎn)的響應(yīng)信息包時(shí),根據(jù)響應(yīng)信息包的事務(wù)處理識(shí)別信息包含的上述指示信息,將響應(yīng)信息包控制信息、第1、第2數(shù)據(jù)分別寫入上述控制信息區(qū)和上述第1、第2數(shù)據(jù)區(qū)。若這樣,在從響應(yīng)節(jié)點(diǎn)返送響應(yīng)信息包時(shí),與固件等處理裝置無關(guān),自動(dòng)地將響應(yīng)信息包的控制信息、第1、第2數(shù)據(jù)寫入由指示信息指示的區(qū)域。因此,能夠大大減輕處理裝置的處理負(fù)擔(dān)。
此外,在本發(fā)明中,最好以IEEE1394規(guī)格為標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳送。
此外,與本發(fā)明有關(guān)的電子裝置的特征在于,包括上述任何一種數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送裝置和總線從其它節(jié)點(diǎn)接收來的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于對(duì)已處理過的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的裝置。此外,與本發(fā)明有關(guān)的電子裝置的特征還在于,包括上述任何一種數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送裝置和總線傳送到其它節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及取入已處理過的數(shù)據(jù)的裝置。
若按照本發(fā)明,在電子裝置中對(duì)從其它節(jié)點(diǎn)傳送來的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的處理,或者在電子裝置中把取入的數(shù)據(jù)傳送到其它節(jié)點(diǎn)的處理,都可以實(shí)現(xiàn)高速化。此外,若按照本發(fā)明,可以使數(shù)據(jù)傳送裝置小型化,同時(shí),能夠減輕控制數(shù)據(jù)傳送的固件等的處理負(fù)擔(dān),所以,可以謀求電子裝置的低成本和小型化等。
圖1是表示IEEE1394的層結(jié)構(gòu)的圖。
圖2是用來說明SBP-2的圖。
圖3是用來說明SBP-2的數(shù)據(jù)傳送處理的原理圖。
圖4是用來說明將數(shù)據(jù)(流)從目標(biāo)向起始端傳送時(shí)的命令處理的圖。
圖5是用來說明將數(shù)據(jù)(流)從起始端向目標(biāo)傳送時(shí)的命令處理的圖。
圖6A、圖6B、圖6C是用來說明頁表的圖。
圖7是表示本實(shí)施例的數(shù)據(jù)傳送控制裝置的構(gòu)成例的圖。
圖8是用來說明RAM(信息包存儲(chǔ)裝置)的分離(分割)方法的圖。
圖9是用來說明本實(shí)施例的數(shù)據(jù)傳送方法的圖。
圖10是表示SBP-2的核心(傳送執(zhí)行電路)的構(gòu)成例的圖。
圖11是用來說明主控制電路的動(dòng)作的流程圖。
圖12是用來說明頁表的生成方法的圖。
圖13是用來說明信息包的有效負(fù)載分割方法的14是用來說明傳送執(zhí)行控制電路的動(dòng)作的流程圖。
圖15是用來說明有效負(fù)載分割電路的動(dòng)作的流程圖。
圖16是用來說明發(fā)送標(biāo)題生成電路、事物處理控制電路的動(dòng)作的流程圖。
圖17是用來說明HW傳送和FW傳送的協(xié)調(diào)方法的圖。
圖18是表示包含本實(shí)施例的協(xié)調(diào)電路的DMAC的構(gòu)成例的圖。
圖19A、圖19B是用來說明協(xié)調(diào)電路的動(dòng)作的狀態(tài)遷移圖。
圖20是用來說明協(xié)調(diào)電路的動(dòng)作的狀態(tài)遷移圖。
圖21是HWStart先于FWStart有效時(shí)的時(shí)序波形圖。
圖22是HWStart和FWStart同時(shí)有效時(shí)的時(shí)序波形圖。
圖23是FWStart先于HWStart有效時(shí)的時(shí)序波形圖。
圖24是用來說明根據(jù)從協(xié)調(diào)電路來的HWDMARun切換發(fā)生HW用標(biāo)題區(qū)和通常的標(biāo)題區(qū)的地址的方法的圖。
圖25A、圖25B是用來說明將數(shù)據(jù)區(qū)分離成ORB區(qū)和數(shù)據(jù)流區(qū)的方法的圖。
圖26是表示對(duì)方節(jié)點(diǎn)和應(yīng)用層的設(shè)備之間的數(shù)據(jù)流傳送的樣子的圖。
圖27A、圖27B是用來說明事務(wù)處理標(biāo)簽的圖。
圖28是用來說明利用事務(wù)處理標(biāo)簽將信息包的標(biāo)題和數(shù)據(jù)(ORB、數(shù)據(jù)流)寫入RAM的各區(qū)域的方法的圖。
圖29A、圖29B、圖29C是各種電子裝置的內(nèi)部方框圖的例子。
圖30A、圖30B、圖30C是各種電子裝置的外觀圖的例子。
下面,參照附圖詳細(xì)說明本發(fā)明的最佳的實(shí)施例。
1、IEEE1394首先,簡(jiǎn)單說明IEEE1394。
1.1概要在IEEE1394(IEEE1394-1995、P1394.a(chǎn))中,可以實(shí)現(xiàn)100~400Mbps的高速數(shù)據(jù)傳送(在P1394.b中是800~3200Mbps)。此外,可以允許傳送速度不同的節(jié)點(diǎn)與總線連接。
各節(jié)點(diǎn)連接成樹狀,1根總線最多可以連接63個(gè)節(jié)點(diǎn)。再有,若使用總線橋,可以連接大約64000個(gè)節(jié)點(diǎn)。
在IEEE1394中,作為信息包傳送方式準(zhǔn)備有非同步傳送和同步傳送。這里,非同步傳送是適合要求可靠性高的數(shù)據(jù)傳送的傳送方式,同步傳送是適合要求實(shí)時(shí)性好的活動(dòng)圖象和聲音等的數(shù)據(jù)傳送的傳送方式。
1.2層結(jié)構(gòu)圖1示出IEEE1394的層結(jié)構(gòu)(協(xié)議構(gòu)成)。
IEEE1394的協(xié)議由事務(wù)處理層,連接層和物理層構(gòu)成。此外,串行總線管理進(jìn)行事務(wù)處理層,連接層和物理層的監(jiān)視和控制之類的工作,并提供用于進(jìn)行節(jié)點(diǎn)的控制和總線的資源管理的各種功能。
事務(wù)處理層向高位層提供事務(wù)處理單位的接口(服務(wù)),并通過下層的連接層提供的接口執(zhí)行讀處理、寫處理和鎖定處理等事務(wù)處理。
這里,在讀事務(wù)處理中,數(shù)據(jù)從響應(yīng)節(jié)點(diǎn)傳送到要求節(jié)點(diǎn)。另一方面,在寫事務(wù)處理中,數(shù)據(jù)從要求節(jié)點(diǎn)傳送到響應(yīng)節(jié)點(diǎn)。此外,在鎖定事務(wù)處理中,數(shù)據(jù)從要求節(jié)點(diǎn)傳送到響應(yīng)節(jié)點(diǎn),響應(yīng)節(jié)點(diǎn)對(duì)該數(shù)據(jù)進(jìn)行處理后返送到要求節(jié)點(diǎn)。
連接層提供用來尋址、數(shù)據(jù)檢驗(yàn)、信息包收發(fā)的數(shù)據(jù)成幀和同步傳送用的周期控制等。
物理層提供由連接層使用的邏輯信號(hào)到電信號(hào)的變換、總線的協(xié)調(diào)和總線的物理接口。
1.3 SBP-2如圖2所示,作為包含IEEE1394的事務(wù)處理層的部分功能的上位的協(xié)議,提出了一種稱之為SBP-2(Serial Bus Protocol-2)的協(xié)議。
這里,SBP-2是為了使SCSI的命令集能夠在IEEE1394的協(xié)議上使用而提出的協(xié)議。若使用該SBP-2,只要對(duì)現(xiàn)有的SCSI規(guī)格的電子裝置使用的SCSI的命令集作很小的變動(dòng),就能夠用于IEEE1394規(guī)格的電子裝置。因此,可以使電子裝置的設(shè)計(jì)和開發(fā)變得容易。此外,因不僅對(duì)SCSI的命令、對(duì)設(shè)備固有的命令也可以壓縮后進(jìn)行利用,故通用性很強(qiáng)。
在圖3所示的SBP-2中,首先,使用由起始端(例如個(gè)人計(jì)算機(jī))作成的注冊(cè)O(shè)RB(Operation Request Block)進(jìn)行注冊(cè)處理(步驟T1)。其次,使用偽ORB進(jìn)行讀取工具初始化處理(步驟T2)。而且,使用標(biāo)準(zhǔn)命令ORB進(jìn)行命令處理(步驟T3),最后,使用注銷ORB進(jìn)行注銷處理(步驟T4)。
在步驟T3的命令處理中,如圖4A1所示那樣,起始端傳送寫要求信息包(發(fā)送寫要求事務(wù)),與目標(biāo)的門鈴寄存器連接。這樣,如A2所示,目標(biāo)傳送讀要求信息包,起始端返回對(duì)應(yīng)的讀響應(yīng)信息包。因此,起始端作成的ORB(標(biāo)準(zhǔn)命令ORB)從目標(biāo)的數(shù)據(jù)緩存中取出。而且,目標(biāo)解析包含在取出的ORB中的命令。
接下來,當(dāng)包含在ORB中的命令是SCSI的讀命令時(shí),如A3所示,目標(biāo)向起始端傳送一連串的寫要求信息包。由此,例如,從目標(biāo)的媒體(CD-RW)讀出的數(shù)據(jù)(流)傳送到起始端的數(shù)據(jù)緩存中。
另一方面,當(dāng)包含在ORB中的命令是SCSI的寫命令時(shí),如圖5的B1所示,目標(biāo)向起始端傳送讀要求信息包,起始端返送對(duì)應(yīng)的讀響應(yīng)信息包。由此,存儲(chǔ)在起始端的數(shù)據(jù)緩存中的數(shù)據(jù)(流)傳送到目標(biāo),并寫入目標(biāo)的媒體中(當(dāng)目標(biāo)是打印機(jī)時(shí)則被打印出來)。
若按照該SBP-2,目標(biāo)在適當(dāng)?shù)臅r(shí)候能夠傳送要求信息包(發(fā)送事務(wù)),收發(fā)數(shù)據(jù)。因此,因起始端和目標(biāo)不必同步動(dòng)作,故能夠提高數(shù)據(jù)的傳送效率。
再有,作為IEEE1394的高位協(xié)議,除SBP-2之外,還提出了稱之為FCP(Function Control Protocol功能控制協(xié)議)等協(xié)議。
當(dāng)在目標(biāo)和起始端之間傳送數(shù)據(jù)時(shí),如圖6A所示,在起始端(對(duì)方節(jié)點(diǎn))的數(shù)據(jù)緩存(存儲(chǔ)裝置)中,有存在頁表和不存在頁表的情況。
而且,當(dāng)存在頁表時(shí),如圖6B所示,在起始端作成的ORB中,包含該頁表的地址和元素?cái)?shù)。而且,傳送數(shù)據(jù)的地址(讀出地址、寫入地址)使用該頁表間接地指定地址。
另一方面,當(dāng)不存在頁表時(shí),如圖6C所示,在ORB中,包含地址和數(shù)據(jù)長(zhǎng)度,傳送數(shù)據(jù)的地址是直接指定的地址。
2.整體構(gòu)成其次,使用圖7說明本實(shí)施例的數(shù)據(jù)傳送控制裝置的整體構(gòu)成的例子。
在圖7中,PHY接口10是進(jìn)行與PHY設(shè)備(物理層的設(shè)備)接口的電路。
連接核心20(連接裝置)是利用硬件實(shí)現(xiàn)連接層的協(xié)議和部分事務(wù)層的協(xié)議的一部分電路,提高用于節(jié)點(diǎn)間的信息包傳送的各種服務(wù)。寄存器22是用來控制連接核心20的寄存器。
FIFO(Asynchronous Transmission Fifo)30、FIFO(IsochronousTransmission Fifo)32、FIFO(Reception Fifo)34分別是非同步發(fā)送用、同步發(fā)送用、接收用的FIFO,例如,由寄存器或半導(dǎo)體存儲(chǔ)器等硬件構(gòu)成。在本實(shí)施例中,這些FIFO3O、32、34的級(jí)數(shù)非常少。例如,1個(gè)FIFO的級(jí)數(shù)最好在3級(jí)以下,理想的是2級(jí)以下。
DMAC40(讀出裝置)、DMAC42(讀出裝置)、DMAC44(寫入裝置)分別是ATF用、ITF用和RF用的DMA控制器。通過使用這些DMAC40、42、44,可以不通過CPU66而在RAM80和連接核心20之間進(jìn)行數(shù)據(jù)傳送。再有,寄存器46是用來控制DMAC40、42、44等的寄存器。
接口50是進(jìn)行與應(yīng)用層的設(shè)備(例如打印機(jī)的進(jìn)行打印處理的設(shè)備)接口的電路。
FIFO(PF)52是用于應(yīng)用層的設(shè)備之間的數(shù)據(jù)傳送的FIFO,DMAC54是PF用的DMA控制器。寄存器56是控制接口50和DMAC54的寄存器。
SBP-2核心84(傳送執(zhí)行電路)是利用硬件實(shí)現(xiàn)部分SBP-2的協(xié)議和部分事務(wù)層的協(xié)議的電路。利用該SBP-2核心84的功能,可以將傳送的數(shù)據(jù)分割成一連串的信息包,再對(duì)已分割的一連串的信息包進(jìn)行連續(xù)傳送處理。再有,寄存器88是用于控制SBP-2核心84的寄存器,DMAC(SBP-2用)86是SBP-2核心84用的DMA控制器。
RAM區(qū)管理電路300是用來管理RAM80的各區(qū)域的電路。RAM區(qū)管理電路300在RAM80的各區(qū)域滿或空時(shí),使用各種滿信號(hào)和空信號(hào)去控制DMAC40、42、44、54、86。
CPU接口60是進(jìn)行與控制數(shù)據(jù)傳送控制裝置的CPU66(處理裝置)的接口的電路。CPU接口60包含地址譯碼器62、數(shù)據(jù)同步電路63和中斷控制器64。時(shí)鐘控制電路68是控制本實(shí)施例使用的時(shí)鐘的電路,輸入從PHY設(shè)備(PHY芯片)送來的SCLK(數(shù)據(jù)傳送控制裝置的系統(tǒng)時(shí)鐘)、HCLK(CPU66的工作時(shí)鐘)。
緩存管理器70是管理與RAM80接口的電路。緩存管理器70包含用于緩存管理器的控制的寄存器72、協(xié)調(diào)總線與RAM80的連接的協(xié)調(diào)電路74和生成各種控制信號(hào)的序列發(fā)生器76。
RAM80作為可隨機(jī)訪問的信息包存儲(chǔ)裝置期作用,其功能例如由SRAM、SDRAM、DRAM等來實(shí)現(xiàn)。
再有,特別希望將RAM80裝在本實(shí)施例的數(shù)據(jù)傳送控制裝置內(nèi),但也可以將其一部分或全部裝在外面。
圖8示出RAM80的存儲(chǔ)器圖的一例。如圖8所示,在本實(shí)施例中,將RAM80分離成標(biāo)題區(qū)(AR2、AR3、AR4、AR6)和數(shù)據(jù)區(qū)(AR5、AR7、AR8、AR9)。而且,信息包的標(biāo)題(廣義地說是控制信息)存儲(chǔ)在標(biāo)題區(qū),信息包的數(shù)據(jù)(ORB、數(shù)據(jù)流)存儲(chǔ)在數(shù)據(jù)區(qū)。
此外,在本實(shí)施例中,如圖8所示,RAM80的數(shù)據(jù)區(qū)(AR5、AR7、AR8、AR9)分離成ORB區(qū)(AR5、AR7)和數(shù)據(jù)流區(qū)(AR8、AR9)。
進(jìn)而,在本實(shí)施例中,RAM80分離成接收區(qū)(AR2、AR4、AR5、AR9)和發(fā)送區(qū)(AR3、AR6、AR7、AR8)。
再有,ORB(第1層用的第1數(shù)據(jù))如上所述是SBP-2用的數(shù)據(jù)。另一方面,數(shù)據(jù)流(第1層的上面的第2層用的第2數(shù)據(jù))是應(yīng)用層用的數(shù)據(jù)(打印機(jī)的打印數(shù)據(jù)、CD-RW的讀出、寫入數(shù)據(jù)、掃描儀的輸入圖象數(shù)據(jù))此外,AR1、AR2、AR3所示HW(硬件)用頁表區(qū)、HW用的接收標(biāo)題區(qū)和HW用的發(fā)送標(biāo)題區(qū)是圖7所示的SBP-2核心84寫入或讀出頁表或接收標(biāo)題或發(fā)送標(biāo)題用的的區(qū)域。
再有,在圖8中,AR4、AR5、AR8、AR9所示的區(qū)域是所謂環(huán)形緩沖器的結(jié)構(gòu)。
圖7的總線90(或總線92、94)是與應(yīng)用層的設(shè)備連接的總線(第1總線)??偩€95(或總線96)是用來控制數(shù)據(jù)傳送控制裝置或讀寫數(shù)據(jù)的總線,與控制數(shù)據(jù)傳送控制裝置的設(shè)備(例如CPU)進(jìn)行電連接(第2總線)??偩€100(或總線102、104、105、106、107、108、109)是與物理層的設(shè)備(PHY設(shè)備)進(jìn)行電連接的總線(第3總線)。此外,總線110是與作為克隨機(jī)訪問的存儲(chǔ)裝置的RAM80進(jìn)行電連接的總線(第4總線)??偩€99是用來讀寫用于SBP-2核心84利用硬件實(shí)現(xiàn)SBP-2的標(biāo)題信息和頁表的總線(第5總線)。
緩存管理器70的協(xié)調(diào)電路74對(duì)從DMAC40、42、44、CPU接口60和DMAC86、54來的總線訪問請(qǐng)求進(jìn)行協(xié)調(diào)。而且,根據(jù)該協(xié)調(diào)結(jié)果分別確定總線105、107、109、96、99、94中任何一根總線與RAM80的總線110之間的數(shù)據(jù)通路(確定第1、第2、第3、第5總線中的任何一根總線與第4總線之間的數(shù)據(jù)通路)。
本實(shí)施例的一個(gè)特征在于設(shè)置存儲(chǔ)信息包的可隨機(jī)訪問的RAM80,同時(shí)設(shè)置相互分離的總線90、95、99、100和使這些總線與RAM80的總線110連接的協(xié)調(diào)電路74。
如圖9所示,通過這樣一來,能夠?qū)?shù)據(jù)傳送控制裝置120與應(yīng)用層的設(shè)備124之間的總線90、CPU總線96和數(shù)據(jù)傳送控制裝置120與RAM80之間的總線110分離開。此外,能夠占用總線90進(jìn)行數(shù)據(jù)傳送控制裝置120和應(yīng)用層的設(shè)備124之間的數(shù)據(jù)傳送。例如,當(dāng)組裝了數(shù)據(jù)傳送控制裝置120的電子裝置是打印機(jī)時(shí),可以占用總線90傳送打印數(shù)據(jù)。結(jié)果,可以減輕CPU66的處理負(fù)擔(dān),能夠提高系統(tǒng)整體的實(shí)際傳送速度。此外,還可以使用便宜的CPU作為CPU66,同時(shí),不必使用高速總線來作為CPU總線96。因此,可以謀求電子裝置的低成本和小型化。
3.SBP-2核心(傳送執(zhí)行電路)的構(gòu)成圖10表示圖7的SBP-2核心84的構(gòu)成例。SBP-2核心84是用來將傳送的數(shù)據(jù)自動(dòng)分割成一連串的信息包并連續(xù)傳送已分割的一連串信息包的電路,利用硬件主要執(zhí)行由圖4的A3和圖5的B1所示的信息包的傳送。
主控制電路200是用來控制整個(gè)SBP-2核心84的電路,包含寄存器202、204、206、208。
這里,寄存器202、204、206分別是用于固件(CPU)發(fā)送數(shù)據(jù)傳送(硬件SBP-2的處理)的開始命令、暫停命令和重新開始(resume)命令的寄存器。即,當(dāng)固件向寄存器202寫入1時(shí),將傳送數(shù)據(jù)分割成一連串的信息包并開始連續(xù)傳送處理。而且,在該傳送處理中,當(dāng)固件向寄存器204寫入1時(shí),數(shù)據(jù)傳送處理暫停,向寄存器206寫入1時(shí),重新開始暫停的數(shù)據(jù)傳送處理。
寄存器208是用于設(shè)定頁表存在或不存在的寄存器。即,固件解析從起始端來的ORB,當(dāng)判斷起始端的數(shù)據(jù)緩存中不存在頁表時(shí),向寄存器208寫入1。另一方面,當(dāng)判斷存在時(shí)(圖6A的情況),向寄存器208寫入0。
頁表取出電路210是當(dāng)起始端(對(duì)方節(jié)點(diǎn))的數(shù)據(jù)緩存(存儲(chǔ)裝置)中存在頁表時(shí)進(jìn)行從起始端取出該頁表的處理的電路。更具體一點(diǎn)說,頁表取出電路210向發(fā)送標(biāo)題生成電路260指示取出頁表,當(dāng)取出結(jié)束時(shí),向頁表生成電路220指示更新頁表地址和頁表尺寸。
頁表生成電路220是當(dāng)起始端的數(shù)據(jù)緩存中不存在頁表時(shí)生成虛擬頁表的電路。更具體一點(diǎn)說,當(dāng)由主控制電路200指示生成頁表時(shí),便按照規(guī)定的算法生成頁表。而且,進(jìn)行用來經(jīng)元素保存電路230或緩存接口290將生成的頁表寫入RAM的HW用頁表區(qū)的處理。
再有,如前所述,頁表存在與否是根據(jù)寄存器208的設(shè)定值來判斷的。此外,由頁表取出電路210和頁表生成電路220取出或生成的頁表存儲(chǔ)在RAM的HW用頁表區(qū)(圖8的AR1)。
在頁表生成電路220包含的寄存器222中,設(shè)定有由起始端來的ORB指定的頁邊界尺寸。此外,當(dāng)頁表存在時(shí),在寄存器224、226中,設(shè)定有由ORB指定的頁表地址和頁表尺寸(元素?cái)?shù))(參照?qǐng)D6B)。另一方面,當(dāng)不存在頁表時(shí),則設(shè)定傳送數(shù)據(jù)的開頭地址和數(shù)據(jù)長(zhǎng)度(參照?qǐng)D6C)。此外,元素計(jì)數(shù)器228在生成頁表時(shí)進(jìn)行對(duì)頁表的元素?cái)?shù)(元素指針)進(jìn)行計(jì)數(shù)的處理。
元素保存電路230是保存作為SBP-2的處理對(duì)象的頁表元素的信息的電路,包括保存頁表元素的段長(zhǎng)度的寄存器232和保存段偏移地址的寄存器234。
傳送執(zhí)行控制電路240是控制執(zhí)行SBP-2核心的數(shù)據(jù)傳送(數(shù)據(jù)流傳送)的電路,包括寄存器242和244。而且,寄存器242表示當(dāng)前處理中的頁表元素的序號(hào)。此外,在244寄存器中,由固件設(shè)定開始數(shù)據(jù)傳送的頁表元素的序號(hào)。因此,固件能夠從任意頁表元素開始進(jìn)行數(shù)據(jù)傳送。
有效負(fù)載分割電路250進(jìn)行將傳送的數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的處理。在有效負(fù)載分割電路250包含的寄存器252中,設(shè)定由0RB指定的最大有效負(fù)載尺寸。此外,寄存器254表示實(shí)際的有效負(fù)載尺寸。有效負(fù)載分割電路250根據(jù)從RAM的HW頁表區(qū)(圖8的AR1)讀出并保存在寄存器232中的頁表元素的段長(zhǎng)度和寄存器252中設(shè)定的最大有效負(fù)載尺寸進(jìn)行有效負(fù)載分割處理。
發(fā)送標(biāo)題生成電路260根據(jù)由固件設(shè)定的速度代碼和目的地ID等進(jìn)行生成圖5的B1的各要求信息包的標(biāo)題的處理。而且,將生成的標(biāo)題存儲(chǔ)在RAM的HW用發(fā)送標(biāo)題區(qū)(圖8的AR3)。這樣,在本實(shí)施例中,因由硬件自動(dòng)生成連續(xù)傳送的一連串的要求信息包的標(biāo)題,故能夠大大地減輕固件的處理負(fù)擔(dān)。
事務(wù)處理控制電路270從連接核心等外部電路方框接收錯(cuò)誤信息和狀態(tài)信息,并進(jìn)行用于執(zhí)行事務(wù)處理的各種處理。而且,當(dāng)事務(wù)處理執(zhí)行完畢,使事務(wù)處理結(jié)束信號(hào)TComp有效,并通知頁表取出電路210和有效負(fù)載分割電路250。這樣,本實(shí)施例的SBP-2核心不以信息包為單位,而以事項(xiàng)為單位來管理數(shù)據(jù)傳送處理。
分割定時(shí)器280在事務(wù)處理開始時(shí)裝載分割時(shí)間并開始遞減計(jì)數(shù)。而且,若計(jì)數(shù)值變成0,則通知事務(wù)處理控制電路270已超時(shí)。
緩存接口290是起圖7的緩存管理器70和接口作用的電路。SBP-2核心84的各方框經(jīng)該緩存接口290對(duì)緩存管理器70要求向RAM80進(jìn)行訪問。
3.1主控制電路其次,使用圖11的流程圖說明主控制電路200的動(dòng)作。
首先,判斷是否使用已存儲(chǔ)在HW用頁表區(qū)中的頁表(步驟S1),若使用,則轉(zhuǎn)到步驟S5,若不使用,則轉(zhuǎn)到步驟步驟S2。設(shè)定是否使用已存儲(chǔ)在HW用頁表區(qū)中的頁表通過固件向規(guī)定的寄存器寫入規(guī)定的設(shè)定值來實(shí)現(xiàn)。
其次,根據(jù)圖10的寄存器208的設(shè)定值判斷起始端的數(shù)據(jù)緩存是否存在頁表(步驟S2)。而且,當(dāng)存在時(shí),向頁表取出電路210指示開始進(jìn)行頁表取出的處理(步驟S3)。另一方面,當(dāng)不存在時(shí),向頁表取出電路220指示開始進(jìn)行頁表生成的處理(步驟S4)。
而且,當(dāng)頁表的取出或生成處理完成時(shí),向傳送執(zhí)行控制電路240指示開始進(jìn)行傳送執(zhí)行處理(流式數(shù)據(jù)任務(wù))(步驟S5)。
再有,本實(shí)施例的頁表生成電路220通過以下說明的方法生成頁表。
例如,如圖12所示,傳送數(shù)據(jù)的開頭地址SA在頁邊界PB0、PB1之間,結(jié)束地址EA在頁邊界PB4、PB5之間。這時(shí),頁表生成電路220生成在頁邊界PB1、PB4之間(第K和第L頁的邊界之間)的頁表元素?cái)?shù)為1(廣義地說是規(guī)定數(shù))的虛擬頁表。
更具體一點(diǎn)說,生成3頁的頁表,在開頭地址SA和頁邊界PB1之間為X種頁表元素(第1頁表元素),在頁邊界PB1和PB4之間為Y種頁表元素(第2頁表元素),在頁邊界PB4和結(jié)束地址EA之間為Z種頁表元素(第3頁表元素)。
只是,當(dāng)傳送數(shù)據(jù)的開頭地址SA在頁邊界PB1上時(shí),不生成X種頁表元素,而變成2頁的頁表。此外,當(dāng)傳送數(shù)據(jù)的結(jié)束地址EA在頁邊界PB4(第L頁邊界)上時(shí),不生成Z種頁表元素,而變成2頁的頁表。進(jìn)而,當(dāng)傳送數(shù)據(jù)的開頭地址SA在頁邊界PB0和PB1之間、結(jié)束地址EA在頁邊界PB0和PB1之間或PB1上時(shí),生成1頁的頁表,在SA、EA之間變成X種的頁表元素。
此外,在本實(shí)施例中,圖10的有效負(fù)載分割電路250把傳送數(shù)據(jù)分割成最大有效負(fù)載尺寸的信息包,該信息包的最大有效負(fù)載尺寸是頁邊界尺寸的約數(shù)。即,在圖13中,分割成最大有效負(fù)載尺寸MaxPLS是頁邊界尺寸PBS的約數(shù)的信息包。
這樣,若使最大有效負(fù)載尺寸MaxPLS是頁邊界尺寸PBS的約數(shù),例如,如圖13的C1和C2所示那樣,在頁表邊界PB2和PB3中,信息包的有效負(fù)載不跨過頁邊界。因此,即使象本實(shí)施例那樣生成PB1、PB4間的頁表元素?cái)?shù)為1的頁表時(shí),也能夠遵守不跨過頁邊界的制約來進(jìn)行數(shù)據(jù)傳送。
3.2傳送執(zhí)行(流式任務(wù))控制電路其次,使用圖14的流程圖說明傳送執(zhí)行控制電路240的動(dòng)作。
首先,在圖10的當(dāng)前元素序號(hào)的寄存器242中裝載寄存器244的開始元素序號(hào)(步驟S40)。接著,進(jìn)行從RAM的HW用頁表區(qū)讀出當(dāng)前元素序號(hào)的頁表元素的處理(步驟S41)。更具體一點(diǎn)說,傳送執(zhí)行控制電路240向緩存接口290指示讀出作為處理對(duì)象的頁表元素。這樣一來,緩存接口290從RAM的HW用頁表區(qū)讀出作為處理對(duì)象的頁表元素,并將頁表元素的段長(zhǎng)度寫入寄存器232,將段偏移地址寫入寄存器234。
其次,向有效負(fù)載分割電路250指示開始有效負(fù)載分割處理(步驟S42)。
其次,判斷現(xiàn)在的頁表元素的處理是否結(jié)束(步驟S43),若未結(jié)束時(shí)便返回步驟S42。另一方面,若已結(jié)束時(shí),則判斷所有的頁表元素處理是否結(jié)束(步驟S44),若未結(jié)束時(shí),使當(dāng)前元素序號(hào)+1(步驟S45)并返回步驟S41。
再有,所有的頁表元素處理是否結(jié)束是通過把寄存器226的頁表尺寸除8得到的元素?cái)?shù)與當(dāng)前元素序號(hào)進(jìn)行比較來判斷的。
3.3有效負(fù)載分割電路其次,使用圖15的流程圖說明有效負(fù)載分割電路250的動(dòng)作。有效負(fù)載分割電路250是進(jìn)行把傳送數(shù)據(jù)分割成圖13所示的有效負(fù)載尺寸的信息包的處理的電路。
首先,判斷存儲(chǔ)在圖10的寄存器232的頁表元素的段長(zhǎng)度的剩余字節(jié)數(shù)是否在最大有效負(fù)載尺寸之上(步驟S51)。接著,當(dāng)剩余字節(jié)數(shù)在最大有效負(fù)載尺寸之上時(shí),將信息包的有效負(fù)載尺寸設(shè)定成最大有效負(fù)載尺寸(步驟S52)。另一方面,如圖13的C3和C4所示那樣,當(dāng)剩余字節(jié)數(shù)小于最大有效負(fù)載尺寸時(shí),將信息包的有效負(fù)載尺寸設(shè)定成剩余字節(jié)數(shù)(步驟S53)。
有效負(fù)載尺寸設(shè)定后,向發(fā)送標(biāo)題生成電路260指示開始事務(wù)處理的執(zhí)行處理(生成發(fā)送標(biāo)題)(步驟S54)。接著,當(dāng)利用從事務(wù)處理控制電路270來的信號(hào)TComp通知事務(wù)處理完畢時(shí),向元素保存電路230指示更新存儲(chǔ)在寄存器232、234中的頁表元素的段長(zhǎng)度(剩余字節(jié)數(shù))和段偏移地址(開頭地址)(步驟S55)。
其次,根據(jù)從主控制電路200來的信號(hào)Pause判斷是否暫停處理(步驟S56)。即,當(dāng)信號(hào)Pause有效時(shí)暫停處理。當(dāng)已暫停時(shí),以信號(hào)Pause變成無效為條件,重新開始處理(步驟S57)。
3.4發(fā)送標(biāo)題生成電路、事務(wù)處理控制電路其次,使用圖16的流程圖說明發(fā)送標(biāo)題生成電路260和事務(wù)處理控制電路270的動(dòng)作。
首先,生成要求信息包的標(biāo)題,并寫入HW用發(fā)送標(biāo)題區(qū)(圖8的AR3)(步驟S61)。更具體一點(diǎn)說,當(dāng)象圖4的A3那樣向起始端發(fā)送數(shù)據(jù)時(shí),將寫要求(數(shù)據(jù)塊寫要求)信息包的標(biāo)題寫入HW用發(fā)送標(biāo)題區(qū)。另一方面,當(dāng)象圖5的B1那樣從起始端發(fā)送數(shù)據(jù)或取出頁表時(shí),將讀要求信息包的標(biāo)題寫入HW用發(fā)送標(biāo)題區(qū)。
其次,激活傳送開始信號(hào)(HWStart)后指示開始傳送(步驟S62),等待接收從起始端來的ACK(步驟S63)。
其次,當(dāng)發(fā)送信息包是讀要求信息包時(shí),判斷ACK是否掛起(步驟S65),當(dāng)ACK不是掛起時(shí),則轉(zhuǎn)到步驟S72使其變成錯(cuò)誤暫停狀態(tài)。另一方面,當(dāng)ACK掛起時(shí),指示起動(dòng)分割定時(shí)器(步驟S66),等待接收響應(yīng)信息包(步驟S67)。
其次,判斷響應(yīng)信息包的接收是否理想(步驟S68),當(dāng)是DCE時(shí),再次等待接收響應(yīng)數(shù)據(jù),等接收理想時(shí),便轉(zhuǎn)到步驟S69,其余的情況則轉(zhuǎn)到步驟S72使其變成錯(cuò)誤暫停狀態(tài)。接著,當(dāng)轉(zhuǎn)到步驟S69時(shí)指示分割定時(shí)器停止工作,激活信號(hào)TComp并更新傳送數(shù)據(jù)的指針(步驟S70)。
另一方面,當(dāng)發(fā)送信息包是寫要求信息包時(shí),首先,判斷ACK是否掛起(步驟S71)。接著,當(dāng)ACK掛起時(shí),則轉(zhuǎn)到步驟S66,當(dāng)ACK執(zhí)行時(shí),則轉(zhuǎn)到步驟S70,其余情況則轉(zhuǎn)到步驟S72使其變成錯(cuò)誤暫停狀態(tài)。
再有,當(dāng)轉(zhuǎn)到步驟S72使其變成錯(cuò)誤暫停狀態(tài)時(shí),以處理重新開始為條件,轉(zhuǎn)到步驟S62(步驟S73)。即,這時(shí),再利用已寫入HW用發(fā)送標(biāo)題區(qū)的發(fā)送標(biāo)題,重新開始傳送。
4.HW(硬件)傳送和FW(固件)傳送的協(xié)調(diào)若象上述那樣按照本實(shí)施例,圖4的A3和圖5的B1所示的連續(xù)信息包傳送由硬件自動(dòng)執(zhí)行。更具體一點(diǎn)說,首先,固件發(fā)送指示連續(xù)傳送的HW傳送開始命令(第1開始命令)(向圖10的寄存器202寫入1)。這樣,SBP-2核心利用硬件自動(dòng)執(zhí)行頁表的取出或生成處理、有效負(fù)載分割處理、發(fā)送標(biāo)題的生成處理、各信息包的傳送開始處理和錯(cuò)誤處理等。因此,頁表部分的傳送數(shù)據(jù)(由ORB的讀命令和寫命令指定的數(shù)據(jù)量的傳送數(shù)據(jù))被分割成一連串的信息包自動(dòng)進(jìn)行傳送。而且,當(dāng)所有的信息包傳送完畢時(shí),使用中斷等將這一情況通知固件。因此,固件在發(fā)送HW傳送開始命令后,只要等待連續(xù)信息包傳送的結(jié)束即可。結(jié)果,可以大大減輕固件的處理負(fù)擔(dān),可以大幅度提高數(shù)據(jù)傳送控制裝置的實(shí)際傳送速度。
除了指示這樣的連續(xù)信息包傳送(HW傳送)的HW傳送開始命令之外,還有固件發(fā)送指示單一信息包傳送的FW傳送開始命令(第2開始命令)的情況。例如,當(dāng)從對(duì)方節(jié)點(diǎn)傳送過來要求信息包時(shí),有必要向?qū)Ψ焦?jié)點(diǎn)傳送與該要求信息包對(duì)應(yīng)的響應(yīng)信息包。這時(shí),固件發(fā)送用于傳送該響應(yīng)信息包的FW傳送開始命令。而且,響應(yīng)信息包必須在對(duì)方節(jié)點(diǎn)的分割定時(shí)器變成超時(shí)之前傳送。因此,固件在接收到要求信息包之后要盡可能快地發(fā)送FW傳送開始命令并傳送響應(yīng)信息包。
但是,一旦開始HW傳送(連續(xù)信息包傳送),直到所有的信息包傳送結(jié)束,必須等待一定的時(shí)間。特別當(dāng)傳送數(shù)據(jù)的規(guī)模大時(shí),該等待時(shí)間非常長(zhǎng)。因此,等待HW傳送的結(jié)束有可能產(chǎn)生使對(duì)方節(jié)點(diǎn)的分割定時(shí)器超時(shí)等不好的情況。
因此,在本實(shí)施例中,當(dāng)在HW傳送期間發(fā)送FW傳送開始命令時(shí),進(jìn)行協(xié)調(diào),等待HW傳送完1個(gè)事務(wù)處理(或1個(gè)信息包傳送),就允許FW傳送(由FW傳送開始命令指示的信息包傳送)。
例如,在圖17中,在E1時(shí)發(fā)送HW傳送開始命令,由此開始E2所示的HW傳送。這時(shí),若象E3那樣發(fā)送FW傳送開始命令,則如E4所示那樣等待事務(wù)處理4結(jié)束后進(jìn)行FW傳送的1個(gè)信息包的傳送。而且,當(dāng)FW傳送結(jié)束后則如E5所示那樣重新開始HW傳送。
這樣一來,可以在HW傳送的過程中進(jìn)行FW傳送的中斷,不必等待HW傳送結(jié)束就能夠執(zhí)行FW傳送。因此,能夠防止因FW傳送需要等待而產(chǎn)生的使對(duì)方節(jié)點(diǎn)的分割定時(shí)器超時(shí)等不好的情況。
此外,如圖17的E4所示那樣,因等待1個(gè)事務(wù)處理結(jié)束才進(jìn)行FW傳送,故不會(huì)產(chǎn)生在HW傳送時(shí)出現(xiàn)傳送錯(cuò)誤等不良現(xiàn)象。
進(jìn)而,在從1個(gè)事務(wù)處理結(jié)束后到下一個(gè)1個(gè)事務(wù)處理開始的期間,下層的連接核心和PHY設(shè)備不被SBP-2核心占用。因此,若在該期間進(jìn)行FW傳送的中斷處理,則可以利用沒有被SBP-2占用的連接核心和PHY設(shè)備來傳送信息包,這是求之不得的。
再有,以上說明了等待1個(gè)事務(wù)處理(要求信息包和與該要求信息包對(duì)應(yīng)的響應(yīng)信息包)結(jié)束后進(jìn)行FW傳送的情況,但也可以在等待1個(gè)信息包傳送結(jié)束之后進(jìn)行FW傳送。
4.1協(xié)調(diào)電路的構(gòu)成和動(dòng)作下面,說明具體本實(shí)施例的協(xié)調(diào)電路的構(gòu)成和動(dòng)作。
圖18示出圖7的DMAC40的詳細(xì)構(gòu)成例。
在圖18中,DMAC40包括協(xié)調(diào)電路400、訪問要求發(fā)生電路410、地址發(fā)生電路420和訪問要求執(zhí)行電路430。
這里,協(xié)調(diào)電路400是協(xié)調(diào)HW傳送和FW傳送的電路。更具體一點(diǎn)說,當(dāng)在HW傳送的執(zhí)行中發(fā)送FW傳送開始命令時(shí),進(jìn)行協(xié)調(diào),要等待HW傳送中的1個(gè)事務(wù)處理(或1個(gè)信息包傳送)結(jié)束后,才允許進(jìn)行由FW傳送命令指示的信息包傳送。
例如,當(dāng)CPU(固件)發(fā)送HW傳送開始命令(第1開始命令)并將1寫入寄存器202時(shí),開始由SBP-2核心84(傳送執(zhí)行電路)執(zhí)行的HW傳送。接著,如圖16的步驟S63所示,SBP-2核心84每當(dāng)要求開始各信息包(事務(wù))的傳送時(shí)使HWStart(第1開始信號(hào))置1(有效)。
另一方面,當(dāng)CPU發(fā)送FW傳送開始命令(第2開始命令)并將1寫入寄存器440時(shí),要求開始FW傳送,F(xiàn)WStart(第2開始信號(hào))有效。
接著,協(xié)調(diào)電路400接收這些HWStart、FWStart和從連接核心20來的Comp、NotComp、SelfID,進(jìn)行協(xié)調(diào)處理。
訪問要求發(fā)生電路410接收從緩存管理器70來的作為讀出確認(rèn)的RACK和從FIFO30來的FULL,向緩存管理器70輸出作為讀出要求的RREQ。
地址發(fā)生電路420接收從協(xié)調(diào)電路400來的HWBMARun、RealGo和從緩存管理器70來的RDATA等,發(fā)生作為RAM80的讀出地址的RADR。
訪問要求執(zhí)行電路430接收從協(xié)調(diào)電路400來的RealGo、從FIFO30來的EMPTY和從連接核心20來的各種控制信號(hào),進(jìn)行執(zhí)行各種訪問要求的處理。
圖19A、圖19B、圖20示出協(xié)調(diào)電路400的狀態(tài)遷移圖。
在圖19A中,在狀態(tài)S00,HWRequested=0。而且,在該狀態(tài)下,當(dāng)HWStart=1且SelfID(自己識(shí)別期間信號(hào))=0時(shí),在下一個(gè)時(shí)鐘周期轉(zhuǎn)到S01,HWRequested=1。即,在不是自己識(shí)別的期間中若HWStart=1時(shí),表示要求HW傳送的信號(hào)HWRequested變成1。
此外,在圖19B中,在狀態(tài)S10,F(xiàn)WRequested=0。而且,在該狀態(tài)下,當(dāng)FWStart=1且SelfID=0時(shí),在下一個(gè)時(shí)鐘周期轉(zhuǎn)到S11,F(xiàn)WRequested=1。即,在不是自己識(shí)別的期間若FWStart=1時(shí),表示要求FW傳送的信號(hào)FWRequested變成1。
在圖20中,在狀態(tài)S20,HWGo、FWGo、HWDMARun、FWDMARun、HWComp、FWComp、HWNotComp、FWNotComp變成0。
在狀態(tài)S20中,當(dāng)HWRequested=1(圖19A的狀態(tài)S01)且HWRequested=0時(shí),在下一個(gè)時(shí)鐘周期轉(zhuǎn)到S21,使HW傳送的開始信號(hào)HWGo=1。而且在下一個(gè)時(shí)鐘周期HWGo=0、HWDMARun=1(狀態(tài)S22)。
其次,當(dāng)從連接核心20來的傳送結(jié)束信號(hào)Comp=1時(shí),在下一個(gè)時(shí)鐘周期HWComp=1、HWDMARun=0(狀態(tài)S23)。另一方面,當(dāng)表示傳送沒有正確完成的信號(hào)NotComp=1時(shí),在下一個(gè)時(shí)鐘周期HWNotComp=1,HWDMARun=0(狀態(tài)S24)。
另一方面,在狀態(tài)S20中,當(dāng)FWRequested=1(圖19B的狀態(tài)S11)時(shí),在下一個(gè)時(shí)鐘周期轉(zhuǎn)到狀態(tài)S25,作為開始FW傳送的信號(hào)FWGo=1。而且,在下一個(gè)時(shí)鐘周期FWGo=0、FWDMARun=1(狀態(tài)S26)。
其次,當(dāng)Comp=1時(shí),在下一個(gè)時(shí)鐘周期FWComp=1、FWDMARun=0(狀態(tài)S27)。第一方面,當(dāng)NotComp=1時(shí),在下一個(gè)時(shí)鐘周期FWNotComp=1、FWDMARun=0(狀態(tài)S28)。
下面,使用圖21、圖22、圖23的時(shí)序波形圖說明協(xié)調(diào)電路400的動(dòng)作。
圖21是HWStart(第1開始信號(hào))先于FWStart(第2開始信號(hào))有效時(shí)的時(shí)序波形圖。
如圖21的F1所示那樣,當(dāng)從SBP-2核心84來的HWStart為1時(shí),如F2所示那樣HWRequsted=1(圖19A的狀態(tài)S01)。這樣,如F3所示那樣,HWGo=1(圖20的狀態(tài)S21),如F4所示那樣,作為向地址發(fā)生電路420、訪問要求執(zhí)行電路430輸出的RealGo=1。因此,開始由地址發(fā)生電路420、訪問要求執(zhí)行電路430執(zhí)行的HW傳送處理。
當(dāng)HWGo=1時(shí),如F5所示那樣,作為向地址發(fā)生電路420輸出的HWDMARun=1(狀態(tài)S22)。而且,當(dāng)事務(wù)處理(信息包傳送)結(jié)束且如F6所示從連接核心20來的結(jié)束信號(hào)Comp=1時(shí),則如F7、F8所示那樣,HWComp=1、HWDMARun=0(狀態(tài)S23)。而且,如圖9所示,返回HWRequest=0(圖19B的狀態(tài)S00)。
另一方面,當(dāng)在HW傳送過程中發(fā)送FW傳送開始命令時(shí),即,如F10所示那樣,在HWStart=1之后Comp=1之前FWStart=1時(shí),如F11所示那樣,F(xiàn)WRequsted=1(圖19B的狀態(tài)S11)。但是,這時(shí),如F12所示,F(xiàn)WGo不立即變成1。而且,如F7所示那樣,當(dāng)HWComp=1之后,如F13所示,F(xiàn)WGo=1(狀態(tài)S25),如F14所示那樣,RealGo=1。
當(dāng)FWGo=1時(shí),如F16所示那樣,作為向寄存器440輸出的FWDMARun=1。因此,直到FWDMARun=0之前,CPU向寄存器440的寫入被屏蔽。
接著,當(dāng)如F17所示結(jié)束信號(hào)Comp=1時(shí),如F1、F19所示那樣,F(xiàn)WComp=1,F(xiàn)WDMARun=0(狀態(tài)S27)。其次,如F20所示,返回FWRequsted=0(圖19B的狀態(tài)S10)。接著,如F21所示那樣重新開始HW傳送。
如上所述,在本實(shí)施例中,當(dāng)在HWStart=1之后FWStart=1時(shí),先開始HW傳送,在HW傳送完1個(gè)事務(wù)處理后,開始FW傳送。接著,當(dāng)FW傳送結(jié)時(shí)就重新開始HW傳送。
圖22是HWStart和FWStart同時(shí)有效時(shí)的時(shí)序波形圖。
如圖22的G1、G2所示,當(dāng)HWStart和FWStart同時(shí)為1時(shí),象G3所示那樣優(yōu)先進(jìn)行FW傳送。從圖20的狀態(tài)S20、S21可知,這是因?yàn)槿鐖D22的G4所示那樣,當(dāng)FWRequested=1時(shí),不管HWRequested是0還是1,都是FWGo=1。而且,如G5所示,在FW傳送完了之后,如G6所示開始HW傳送。
如上所述,在本實(shí)施例中,當(dāng)HWStart和FWStart同時(shí)為1時(shí),首先優(yōu)先開始FW傳送。這樣一來,對(duì)從對(duì)方節(jié)點(diǎn)來的要求信息包能夠立即返回響應(yīng)信息包。
圖23是FWStart先于HWStart有效時(shí)的時(shí)序波形圖。
如圖23的H1、H2所示,當(dāng)FWStart先于HWStart成為1時(shí),首先,如H3所示那樣先開始FW傳送。接著,如H4所示那樣,在FW傳送完1個(gè)信息包之后,如H5所示開始HW傳送。
如上所述,在本實(shí)施例中,當(dāng)在FWStart=1之后HWStart=1時(shí),先開始FW傳送,在FW傳送完后,開始HW傳送。這樣一來,對(duì)從對(duì)方節(jié)點(diǎn)來的要求信息包能夠立即返回響應(yīng)信息包。
4.2 HW用標(biāo)題區(qū)和通常標(biāo)題區(qū)之間的地址切換在本實(shí)施例中,標(biāo)題區(qū)(控制信息區(qū))分離成象圖8的AR2、AR3所示那樣的利用SBP-2核心寫入標(biāo)題(控制信息)的HW用標(biāo)題區(qū)(第2控制信息區(qū))和象AR4、AR6所示那樣的利用固件或連接核心等寫入標(biāo)題的通常的標(biāo)題區(qū)(第1控制信息區(qū))。
這樣,通過在SBP-2核心設(shè)置專用的HW用標(biāo)題區(qū),SBP-2核心能夠?qū)⑸傻臉?biāo)題連續(xù)寫入HW用標(biāo)題區(qū)。因此,能夠使SBP-2核心的處理和電路構(gòu)成簡(jiǎn)單化。即,若HW用標(biāo)題區(qū)不與通常的標(biāo)題區(qū)分離,SBP-2核心生成的標(biāo)題和其余的標(biāo)題混合在標(biāo)題區(qū)中。由此,出現(xiàn)使標(biāo)題寫入時(shí)的地址控制變得復(fù)雜、使SBP-2核心的電路規(guī)模增大的問題。象本實(shí)施例那樣,若在SBP-2核心設(shè)置專用的HW用標(biāo)題區(qū),就可以解決這樣的問題,能夠謀求SBP-2核心電路的小規(guī)模化。
而且,在本實(shí)施例中,圖10的地址發(fā)生電路420根據(jù)協(xié)調(diào)電路400來的協(xié)調(diào)結(jié)果的信號(hào)HWDMARun切換發(fā)生HW用標(biāo)題區(qū)和通常的標(biāo)題區(qū)的地址。
更具體一點(diǎn)說,例如,如圖24所示,當(dāng)HWDMARun=1時(shí)(HW傳送時(shí)),在HW用發(fā)送標(biāo)題區(qū)(AR3)設(shè)定指針PTR。而且,通過更新指針PTR產(chǎn)生由SBP-2核心生成的發(fā)送標(biāo)題的寫入地址。
另一方面,當(dāng)HWDMARun=0時(shí)(不是HW傳送時(shí)),在切換指針PTR,使指針PTR設(shè)在發(fā)送標(biāo)題區(qū)(AR6)。而且,通過更新指針PTR產(chǎn)生由固件等生成的發(fā)送標(biāo)題的寫入地址。
如上所述,在本實(shí)施例中,只通過利用從協(xié)調(diào)電路400來的信號(hào)HWDMARun這樣的簡(jiǎn)單方法,就成功地實(shí)現(xiàn)了HW用標(biāo)題區(qū)和通常標(biāo)題區(qū)間的地址切換。而且,因可以進(jìn)行這樣的地址切換,所以,能夠?qū)BP-2核心的專用HW用標(biāo)題區(qū)連續(xù)寫入由SBP-2核心生成的標(biāo)題。結(jié)果,利用硬件容易生成連續(xù)傳送的一連串信息包的標(biāo)題。
5.?dāng)?shù)據(jù)區(qū)的分離(分離成ORB區(qū)和數(shù)據(jù)流區(qū))在本實(shí)施例中,象圖8所示那樣,將圖7的RAM80(信息包存儲(chǔ)裝置)分離成標(biāo)題區(qū)(AR2、AR3、AR4、AR6)和數(shù)據(jù)區(qū)(AR5、AR7、AR8、AR9),同時(shí),將數(shù)據(jù)區(qū)分離成ORB區(qū)(AR5、AR7)和數(shù)據(jù)流區(qū)(AR8、AR9)。
即,通過將RAM分離成標(biāo)題區(qū)和數(shù)據(jù)區(qū),固件可以從標(biāo)題區(qū)連續(xù)讀出標(biāo)題,或?qū)?biāo)題連續(xù)寫入標(biāo)題區(qū)。因此,具有能夠在某種程度上減輕固件的處理負(fù)擔(dān)的優(yōu)點(diǎn)。但是,從更高速傳送數(shù)據(jù)的觀點(diǎn)來看,單單分離成標(biāo)題區(qū)和數(shù)據(jù)區(qū)還不夠。
例如,在圖25A中,信息包被分離成標(biāo)題和數(shù)據(jù),標(biāo)題1、2、3存儲(chǔ)在標(biāo)題區(qū),數(shù)據(jù)1、2、3存儲(chǔ)在數(shù)據(jù)區(qū)。
這里,如前所述,數(shù)據(jù)有SBP-2(第1層)用的ORB(第1數(shù)據(jù))和上層的應(yīng)用層(第2層)用的數(shù)據(jù)流。因此,只將RAM分離成標(biāo)題區(qū)和數(shù)據(jù)區(qū),如圖25A的D1、D2、D3所示那樣,在數(shù)據(jù)區(qū)ORB和數(shù)據(jù)流混在一起。
因此,例如,當(dāng)從RAM向應(yīng)用層的設(shè)備傳送數(shù)據(jù)流時(shí),必須進(jìn)行下面的處理。即,首先,將數(shù)據(jù)指針設(shè)定在D1的位置再讀出數(shù)據(jù)流11、12、13,其次,將數(shù)據(jù)指針變到D2的位置再讀出數(shù)據(jù)流21、22、23。然后,將數(shù)據(jù)指針變到D3的位置再讀出數(shù)據(jù)流31、32、33。
這樣,只將RAM分離成標(biāo)題區(qū)和數(shù)據(jù)區(qū),在向應(yīng)用層的設(shè)備傳送數(shù)據(jù)流時(shí),必須頻繁地控制切換數(shù)據(jù)指針的位置,會(huì)招致處理的復(fù)雜化和電路的大規(guī)?;?。此外,因不能連續(xù)從數(shù)據(jù)區(qū)讀出數(shù)據(jù)流,故不能把數(shù)據(jù)傳送控制裝置的實(shí)際傳送速度提得很高。
另一方面,在圖25B中,將數(shù)據(jù)區(qū)分離成ORB區(qū)和數(shù)據(jù)流區(qū)。這樣一來,固件能夠連續(xù)從ORB區(qū)讀出ORB1、2、3。此外,可以利用前述SBP-2核心84的功能,不經(jīng)過固件而將數(shù)據(jù)流11~33連續(xù)從RAM的數(shù)據(jù)流區(qū)讀出,并向應(yīng)用層的設(shè)備傳送。即,如圖26所示,能夠在對(duì)方節(jié)點(diǎn)123(例如個(gè)人計(jì)算機(jī))和應(yīng)用層的設(shè)備(例如進(jìn)行打印機(jī)的打印處理的設(shè)備)之間高速傳送數(shù)據(jù)流,而不經(jīng)過固件(CPU)66。結(jié)果,與圖25A相比,大大減輕了固件的處理負(fù)擔(dān),同時(shí),能夠使數(shù)據(jù)傳送更加高速化。
再有,通過將數(shù)據(jù)區(qū)分離成發(fā)送ORB區(qū)(圖8的AR7)和發(fā)送數(shù)據(jù)流區(qū)(AR8),數(shù)據(jù)傳送裝置120不僅對(duì)接收數(shù)據(jù)流,對(duì)發(fā)送數(shù)據(jù)流也能謀求數(shù)據(jù)傳送的高速化。即,不僅對(duì)如圖26的方向DR1所示那樣從對(duì)方節(jié)點(diǎn)123到應(yīng)用層的設(shè)備124(本節(jié)點(diǎn))傳送數(shù)據(jù)流的情況,對(duì)于象方向DR2所示那樣從應(yīng)用層的設(shè)備124到對(duì)方節(jié)點(diǎn)123傳送數(shù)據(jù)流的情況,也能謀求數(shù)據(jù)傳送的高速化。
6.利用事務(wù)處理標(biāo)簽切換寫入?yún)^(qū)在IEEE1394中,作為用于識(shí)別各事務(wù)處理的信息,使用稱之為事務(wù)處理標(biāo)簽t1的東西。
即,事務(wù)處理的要求節(jié)點(diǎn)在要求信息包中包含事務(wù)處理標(biāo)簽t1,并向響應(yīng)節(jié)點(diǎn)發(fā)送。而且,接收到該要求信息包的響應(yīng)節(jié)點(diǎn)在響應(yīng)信息包中包含與上述相同的t1,并返送回要求節(jié)點(diǎn)。要求節(jié)點(diǎn)通過識(shí)別返送的包含在響應(yīng)信息包中的t1,能夠確認(rèn)該響應(yīng)信息包是與本身要求的事務(wù)處理對(duì)應(yīng)的響應(yīng)。
事務(wù)處理標(biāo)簽t1若與響應(yīng)節(jié)點(diǎn)的關(guān)系是唯一的就足夠了。更具體一點(diǎn)說,例如,要求節(jié)點(diǎn)ND1對(duì)響應(yīng)節(jié)點(diǎn)ND2發(fā)送t1=TN1的事務(wù)處理時(shí),在該事務(wù)處理未完的期間,要求節(jié)點(diǎn)ND1不能對(duì)響應(yīng)節(jié)點(diǎn)ND2發(fā)送其它的附有t1=TN1的事務(wù)處理。即,各事務(wù)處理利用事務(wù)處理標(biāo)簽t1、源ID和目的地ID可以唯一地確定。換言之,事務(wù)處理標(biāo)簽t1只要遵守上述制約,可以使用任何值,其它的節(jié)點(diǎn)不管什么樣的t1必須都能接收。
當(dāng)要求節(jié)點(diǎn)發(fā)送要求信息包并等待返送響應(yīng)信息包時(shí),有時(shí)響應(yīng)信息包返送時(shí)進(jìn)行的處理是已經(jīng)決定的。因此,本實(shí)施例著眼于上述那樣的事務(wù)處理標(biāo)簽t1的性質(zhì),并采用下面的方法。
即,如圖27A所示,當(dāng)對(duì)響應(yīng)節(jié)點(diǎn)發(fā)送開始事務(wù)處理的要求信息包時(shí),在包含在要求信息包中的事務(wù)處理標(biāo)簽t1(廣義地說是事務(wù)處理識(shí)別信息)中,包含指示返送響應(yīng)信息包時(shí)應(yīng)進(jìn)行的處理的指示信息。而且,當(dāng)從響應(yīng)節(jié)點(diǎn)接收響應(yīng)信息包時(shí),執(zhí)行與包含在t1中的指示信息對(duì)應(yīng)的處理。
這樣一來,當(dāng)返送響應(yīng)信息包時(shí),可利用SBP-2核心84等的硬件去執(zhí)行與包含在t1中的指示信息對(duì)應(yīng)的處理,而與固件無關(guān)。因此,能夠減輕固件的處理負(fù)擔(dān),同時(shí)能謀求數(shù)據(jù)傳送的高速化,更具體一點(diǎn)說,在本實(shí)施例中,當(dāng)從響應(yīng)節(jié)點(diǎn)接收響應(yīng)信息包時(shí),將該響應(yīng)信息包存儲(chǔ)在由包含在t1中的指示信息指示的區(qū)域中。
即,如圖27B所示,將事務(wù)處理標(biāo)簽t1的位5、4作為表示指示信息的位預(yù)先給定。
而且,當(dāng)把返送來的響應(yīng)信息包寫入FW(固件)用區(qū)域時(shí),使要求信息包的t1的位5置1,并向響應(yīng)節(jié)點(diǎn)發(fā)送。另一方面,當(dāng)把返送來的響應(yīng)信息包寫入FW(固件)用區(qū)時(shí),使要求信息包的t1的位5置0,并向響應(yīng)節(jié)點(diǎn)發(fā)送。
此外,當(dāng)把返送來的響應(yīng)信息包寫入數(shù)據(jù)流區(qū)域時(shí),使要求信息包的t1的位4置1,并向響應(yīng)節(jié)點(diǎn)發(fā)送。另一方面,當(dāng)把返送來的響應(yīng)信息包寫入ORB區(qū)域時(shí),使要求信息包的t1的位4置0,并向響應(yīng)節(jié)點(diǎn)發(fā)送。
這樣一來,當(dāng)響應(yīng)信息包返送來時(shí),如圖28所示,將響應(yīng)信息包的標(biāo)題和數(shù)據(jù)寫入RAM的各區(qū)域內(nèi)。
即,當(dāng)t1=1×××××(×表示隨意)時(shí),響應(yīng)信息包的標(biāo)題寫入HW用接收標(biāo)題區(qū),當(dāng)t1=0×××××?xí)r,寫入FW用接收標(biāo)題區(qū)。
此外,當(dāng)t1=11××××?xí)r,響應(yīng)信息包的數(shù)據(jù)寫入HW用接收數(shù)據(jù)流區(qū),當(dāng)t1=10××××?xí)r,寫入HW用頁表區(qū)。此外,當(dāng)t1=01××××?xí)r,響應(yīng)信息包的數(shù)據(jù)寫入FW用接收數(shù)據(jù)流區(qū),當(dāng)t1=00××××?xí)r,寫入FW用接收ORB區(qū)。
這樣一來,可以不經(jīng)過固件由硬件(電路)自動(dòng)地將響應(yīng)信息包的標(biāo)題和數(shù)據(jù)寫入RAM的各區(qū)域內(nèi)。而且,可以使進(jìn)行將響應(yīng)信息包寫入RAM的處理的硬件的構(gòu)成簡(jiǎn)單化,可以謀求數(shù)據(jù)傳送裝置的小規(guī)?;?。
此外,如圖25已說明的那樣,因能夠自動(dòng)地將信息包的標(biāo)題寫入標(biāo)題區(qū)、將ORB寫入ORB區(qū)、數(shù)據(jù)流寫入數(shù)據(jù)流區(qū),故能夠使硬件處理簡(jiǎn)單化,使數(shù)據(jù)傳送高速化。
7.電子裝置下面,說明包含本實(shí)施例的數(shù)據(jù)傳送控制裝置的電子裝置的例子。
例如,圖29A示出作為電子裝置之一的打印機(jī)的內(nèi)部方框圖,圖30A示出其外觀圖。CPU(微機(jī))510對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部511用來由用戶操作打印機(jī)。在ROM516中存儲(chǔ)控制程序、字型等,RAM518起CPU510的工作區(qū)的作用。顯示面板519用來將打印機(jī)的工作狀態(tài)通知給用戶。
從個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)經(jīng)PHY設(shè)備502和數(shù)據(jù)傳送控制裝置500送過來的打印數(shù)據(jù)經(jīng)總線504直接送往打印處理部512。而且,利用打印處理部對(duì)打印數(shù)據(jù)進(jìn)行規(guī)定的處理,利用由打印頭等構(gòu)成的打印部(輸出數(shù)據(jù)的裝置)514,將打印數(shù)據(jù)打印在紙上。
圖29B示出作為電子裝置之一的掃描儀的內(nèi)部方框圖,圖30B示出其外觀圖。CPU520對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部521用來由用戶操作掃描儀。在ROM526中存儲(chǔ)控制程序等,RAM528起CPU520的工作區(qū)的作用。
利用由光源、光電變換器等構(gòu)成的圖象讀取部(用于取入數(shù)據(jù)的裝置)522讀取原稿的圖象,讀取的圖象數(shù)據(jù)由圖象處理部524處理。而且,處理后的圖象數(shù)據(jù)經(jīng)總線505直接送往數(shù)據(jù)傳送控制裝置500。數(shù)據(jù)傳送控制裝置500通過對(duì)該圖象數(shù)據(jù)附加標(biāo)題等來生成信息包,經(jīng)PHY設(shè)備502發(fā)送到個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)。
圖29C示出作為電子裝置之一的CD-RW驅(qū)動(dòng)器的內(nèi)部方框圖,圖30C示出其外觀圖。CPU530對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部531用來由用戶操作CD-RW。在ROM536中存儲(chǔ)控制程序等,RAM538起CPU530的工作區(qū)的作用。
利用由激光光源、電機(jī)和光學(xué)系統(tǒng)等構(gòu)成的讀取和寫入部(用于取入數(shù)據(jù)的裝置或用于存儲(chǔ)數(shù)據(jù)的裝置)533從CD-RW532讀取的數(shù)據(jù)輸入信號(hào)處理部534,進(jìn)行錯(cuò)誤改正處理等規(guī)定的信號(hào)處理。而且,信號(hào)處理后的數(shù)據(jù)經(jīng)總線506直接送往數(shù)據(jù)傳送控制裝置500。數(shù)據(jù)傳送控制裝置500通過對(duì)該數(shù)據(jù)附加標(biāo)題等來生成信息包,經(jīng)PHY設(shè)備502發(fā)送到個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)。
另一方面,從其它節(jié)點(diǎn)經(jīng)PHY設(shè)備502和數(shù)據(jù)傳送控制裝置500送過來的數(shù)據(jù)經(jīng)總線506直接送往信號(hào)處理部534。而且,利用信號(hào)處理部534對(duì)該數(shù)據(jù)進(jìn)行規(guī)定的信號(hào)處理,并利用讀出寫入部533存儲(chǔ)到CD-RW532中。
再有,在圖29A、圖29B和圖29C中,除了CPU510、520和530之外,也可以另外設(shè)置用于數(shù)據(jù)傳送控制裝置500的數(shù)據(jù)傳送控制的CPU。
此外,在圖29A、圖29B和圖29C中,RAM501(與圖7的RAM80相當(dāng))設(shè)在數(shù)據(jù)傳送控制裝置500的外部,但也可以將RAM501裝在數(shù)據(jù)傳送控制裝置500的內(nèi)部。
通過將本實(shí)施例的數(shù)據(jù)傳送控制裝置用于電子裝置,可以實(shí)現(xiàn)高速數(shù)據(jù)傳送。因此,當(dāng)用戶利用個(gè)人計(jì)算機(jī)等發(fā)出打印出來的指示時(shí),以很少的延時(shí)即可打印完畢。此外,當(dāng)向掃描儀發(fā)出取入圖象的指示后,能夠以很少的延時(shí)讓用戶看到讀取的圖象。此外,能夠高速進(jìn)行從CD-RW的數(shù)據(jù)讀取和向CD-RW的數(shù)據(jù)寫入。進(jìn)而,例如,將多臺(tái)電子裝置連接到1臺(tái)主機(jī)系統(tǒng)上使用,或?qū)⒍嗯_(tái)電子裝置連接到多個(gè)主機(jī)系統(tǒng)上使用,這都很容易。
此外,通過將本實(shí)施例的數(shù)據(jù)傳送控制裝置用于電子裝置,可以減輕在CPU上工作的固件的處理負(fù)擔(dān),可以使用便宜的CPU和低速總線。進(jìn)而,因可以謀求數(shù)據(jù)傳送控制裝置的低成本化和小規(guī)?;?,所以,也能夠謀求電子裝置的低成本化和小規(guī)模化。
再有,作為能夠使用本實(shí)施例的數(shù)據(jù)傳送控制裝置的電子裝置除上述之外,例如還可以考慮各種光盤驅(qū)動(dòng)器(CD-ROPM、DVD)、光磁盤驅(qū)動(dòng)器(MO)、硬盤驅(qū)動(dòng)器、TV、VTR、攝像機(jī)、錄放音機(jī)、電話機(jī)、投影儀、個(gè)人計(jì)算機(jī)、電子筆記本、文字處理器等。
再有,本發(fā)明不限于本實(shí)施例,在本發(fā)明的要點(diǎn)的范圍內(nèi)可以進(jìn)行各種變形實(shí)施。
例如,本發(fā)明的數(shù)據(jù)傳送控制裝置的構(gòu)成最好象圖7所示那樣構(gòu)成,但也不限于此。
此外,傳送執(zhí)行電路(SBP-2)的構(gòu)成最好象圖10所示那樣構(gòu)成,但也不限于此,至少,當(dāng)處理裝置(固件)發(fā)送第1開始命令(HW傳送開始命令)時(shí),只要是用來將傳送數(shù)據(jù)分割成一連串信息包后連續(xù)傳送的電路即可。例如,傳送執(zhí)行電路最好包括頁表取出電路、頁表生成電路、有效負(fù)載生成電路、傳送執(zhí)行控制電路、發(fā)送標(biāo)題生成電路(控制信息生成電路)等電路方框,但也可以構(gòu)成為不包含其中一部分電路方框。
此外,協(xié)調(diào)電路的協(xié)調(diào)方法最好是利用圖21、圖22和圖23等說明了的方法,但并不限于此。
此外,信息包的分離方法、向信息包存儲(chǔ)裝置的各區(qū)域?qū)懭胄畔蜃x出信息包的方法也不限于利用圖8、圖25B說明了的方法。
此外,特別地希望第1數(shù)據(jù)是事務(wù)處理層用的數(shù)據(jù),第2數(shù)據(jù)是應(yīng)用層用的數(shù)據(jù),但本發(fā)明的第1、第2數(shù)據(jù)并不限于此。
此外,本發(fā)明特別希望按IEEE1394規(guī)格進(jìn)行數(shù)據(jù)傳送,但并不限于此。例如,本發(fā)明也適用于按和IEEE1394有同樣思想的規(guī)格或發(fā)展了IEEE1394的規(guī)格的數(shù)據(jù)傳送。
權(quán)利要求
1.一種用來在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,其特征在于包括傳送執(zhí)行電路和協(xié)調(diào)電路,上述傳送執(zhí)行電路在處理裝置發(fā)送了指示利用硬件進(jìn)行的連續(xù)信息包傳送的第1開始命令時(shí),將傳送數(shù)據(jù)分割成一連串的信息包并執(zhí)行連續(xù)傳送已被分割的一連串信息包的處理,上述協(xié)調(diào)電路在處理裝置發(fā)送了在利用上述傳送執(zhí)行電路執(zhí)行了連續(xù)信息包的傳送處理的期間內(nèi)指示信息包傳送的第2開始命令時(shí),等待連續(xù)信息包傳送中的1個(gè)事務(wù)處理或1個(gè)信息包傳送的結(jié)束,允許利用上述第2開始命令進(jìn)行的信息包傳送。
2.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于上述傳送執(zhí)行電路包括當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中存在頁表時(shí)取出對(duì)方節(jié)點(diǎn)的該頁表的頁表取出電路;當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中不存在頁表時(shí)根據(jù)頁邊界信息生成虛擬頁表的頁表生成電路;將傳送數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的有效負(fù)載分割電路;控制數(shù)據(jù)傳送的執(zhí)行的傳送執(zhí)行控制電路;以及至少一個(gè)生成請(qǐng)求向?qū)Ψ焦?jié)點(diǎn)發(fā)送要求信息包的控制信息的控制信息生成電路。
3.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)在上述第1開始信號(hào)成為激活之后上述第2開始信號(hào)成為激活時(shí),首先開始由上述第1開始信號(hào)控制的傳送處理,當(dāng)上述結(jié)束信號(hào)成為激活之后,開始由上述第2開始信號(hào)控制的傳送處理。
4.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)上述第1、第2開始信號(hào)同時(shí)成為激活時(shí),由上述第2開始信號(hào)控制的傳送處理優(yōu)先。
5.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于上述協(xié)調(diào)電路接收在傳送開始要求時(shí)由上述傳送執(zhí)行電路使其成為激活的第1開始信號(hào)、在傳送開始要求時(shí)由上述第2開始命令使其成為激活的第2開始信號(hào)和傳送結(jié)束時(shí)成為激活的結(jié)束信號(hào),當(dāng)在上述第2開始信號(hào)成為激活之后上述第1開始信號(hào)成為激活時(shí),首先開始由上述第2開始信號(hào)控制的傳送處理,當(dāng)上述結(jié)束信號(hào)成為激活之后,開始由上述第1開始信號(hào)控制的傳送處理。
6.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包含具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū)的可隨機(jī)訪問的信息包存儲(chǔ)裝置;以及發(fā)生向上述信息包存儲(chǔ)裝置寫入的地址的地址發(fā)生電路,將上述信息包存儲(chǔ)裝置的上述控制信息區(qū)分離成第1控制信息區(qū)和由上述傳送執(zhí)行電路寫入控制信息的第2控制信息區(qū),上述地址發(fā)生電路根據(jù)從上述協(xié)調(diào)電路來的協(xié)調(diào)結(jié)果,切換發(fā)生第1控制信息區(qū)的地址或第2控制信息區(qū)的地址的某一個(gè)地址。
7.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包含可隨機(jī)訪問的信息包存儲(chǔ)裝置,上述信息包存儲(chǔ)裝置具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū),將上述信息包存儲(chǔ)裝置的上述數(shù)據(jù)區(qū)分離成存儲(chǔ)第1層用的第1數(shù)據(jù)的第1數(shù)據(jù)區(qū)和存儲(chǔ)成為上述傳送執(zhí)行電路的連續(xù)信息包傳送的對(duì)象的第2層用的第2數(shù)據(jù)的第2數(shù)據(jù)區(qū)。
8.按照權(quán)利要求7所述的數(shù)據(jù)傳送控制裝置,其特征在于當(dāng)把使事務(wù)處理開始的要求信息包向?qū)Ψ焦?jié)點(diǎn)發(fā)送時(shí),在包含在上述要求信息包中的事務(wù)處理識(shí)別信息中包含指示信息,用來指示從對(duì)方節(jié)點(diǎn)接收到響應(yīng)信息包時(shí)進(jìn)行的處理,當(dāng)從對(duì)方節(jié)點(diǎn)接收到響應(yīng)信息包時(shí),根據(jù)響應(yīng)信息包的事務(wù)處理識(shí)別信息包含的上述指示信息,將響應(yīng)信息包控制信息、第1、第2數(shù)據(jù)分別寫入上述控制信息區(qū)和上述第1、第2數(shù)據(jù)區(qū)。
9.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于以IEEE1394規(guī)格為標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳送。
10.一種電子裝置,其特征在于,包括權(quán)利要求1至9的任一項(xiàng)的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線從其它節(jié)點(diǎn)接收來的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于對(duì)已處理過的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的裝置。
11.一種電子裝置,其特征在于,包括權(quán)利要求1至9的任一項(xiàng)的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線傳送到其它節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于取入進(jìn)行處理的數(shù)據(jù)的裝置。
全文摘要
本發(fā)明的目的在于提供一種數(shù)據(jù)傳送控制裝置及電子裝置,其中,能夠減輕固件的處理的負(fù)擔(dān),以小規(guī)模的硬件實(shí)現(xiàn)高速數(shù)據(jù)傳送。在IEEE1394規(guī)格的數(shù)據(jù)傳送控制裝置中,當(dāng)在利用SBP-2核心執(zhí)行了連續(xù)信息包傳送(HW傳送)處理期間內(nèi)CPU發(fā)送FW傳送開始命令時(shí),協(xié)調(diào)電路等待連續(xù)信息包傳送的1個(gè)事務(wù)處理(或1個(gè)信息包傳送)結(jié)束時(shí)才允許FW傳送。當(dāng)HWStart和FWStart同時(shí)成為激活時(shí),優(yōu)先進(jìn)行FW傳送。
文檔編號(hào)H04L12/64GK1293410SQ00130688
公開日2001年5月2日 申請(qǐng)日期2000年10月16日 優(yōu)先權(quán)日1999年10月15日
發(fā)明者佐藤大輔, 堀內(nèi)浩 申請(qǐng)人:精工愛普生株式會(huì)社