欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)傳送控制裝置和電子裝置的制作方法

文檔序號(hào):6349142閱讀:164來(lái)源:國(guó)知局
專利名稱:數(shù)據(jù)傳送控制裝置和電子裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳送控制裝置和包含它的電子裝置,特別涉及在與總線連接的多個(gè)節(jié)點(diǎn)間進(jìn)行以IEEE1394等規(guī)格為標(biāo)準(zhǔn)的數(shù)據(jù)傳送的數(shù)據(jù)傳送控制裝置和包含它的電子裝置。
近年來(lái),稱之為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為標(biāo)準(zhǔn)的數(shù)據(jù)傳送裝置存在下面的課題。
即,若按照現(xiàn)在的IEEE1394標(biāo)準(zhǔn),可以實(shí)現(xiàn)最大400Mbps的傳送速率。但是,實(shí)際上,由于存在處理時(shí)間的額外消耗,所以整個(gè)系統(tǒng)的實(shí)際傳送速度比起它來(lái)要低得多。即,在CPU上工作的固件(firmware)(處理器)要準(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í)問(wèn)題變得非常重要。因此,希望出現(xiàn)能夠有效地解決這樣的超時(shí)問(wèn)題的技術(shù)。
此外,當(dāng)在個(gè)人計(jì)算機(jī)等的起始端(主機(jī))和CD-RW驅(qū)動(dòng)器及打印機(jī)等目標(biāo)(設(shè)備)之間進(jìn)行數(shù)據(jù)傳送時(shí),存在不允許超過(guò)起始端一側(cè)的數(shù)據(jù)緩沖器(存儲(chǔ)裝置)的各頁(yè)邊界的數(shù)據(jù)傳送的限制。而且,當(dāng)起始端使用頁(yè)表以間接地址方式指定地址時(shí),在目標(biāo)一側(cè)不必特別考慮這樣的限制。但是,還存在這樣的問(wèn)題,即當(dāng)起始端以直接地址方式指定地址時(shí),目標(biāo)一側(cè)在進(jìn)行數(shù)據(jù)傳送時(shí)就必須遵守該限制。
本發(fā)明是鑒于上述技術(shù)課題而提出的,其目的在于提供一種數(shù)據(jù)傳送控制裝置及使用它的電子裝置,不管存不存在頁(yè)表,都能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超過(guò)頁(yè)表邊界的限制。
為了解決上述課題,本發(fā)明是用來(lái)在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,其特征在于,包括當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中存在頁(yè)表時(shí)從對(duì)方節(jié)點(diǎn)取出該頁(yè)表的頁(yè)表取出電路;當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中不存在頁(yè)表時(shí)根據(jù)頁(yè)邊界信息生成虛擬的頁(yè)表的頁(yè)表生成電路;以及根據(jù)取出或被生成的頁(yè)表將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包并執(zhí)行傳送處理的傳送執(zhí)行電路。
若按照本發(fā)明,當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置存在頁(yè)表時(shí),從對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置取出該頁(yè)表,當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置不存在頁(yè)表時(shí),生成虛擬的頁(yè)表。而且使用該取出或生成的頁(yè)表將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包進(jìn)行傳送。這樣,若按照本發(fā)明,因即使頁(yè)表不存在時(shí)也能使用生成的虛擬頁(yè)表來(lái)傳送數(shù)據(jù),故可以使頁(yè)表取出或生成后的傳送執(zhí)行處理變成通用的處理。即,與存不存在頁(yè)表無(wú)關(guān),可以用同一內(nèi)容的傳送處理進(jìn)行數(shù)據(jù)傳送。因此,能謀求處理的簡(jiǎn)單化和電路的小規(guī)模化。此外,若按照本發(fā)明,當(dāng)不存在頁(yè)表時(shí),因使用虛擬頁(yè)表進(jìn)行數(shù)據(jù)傳送,故能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超過(guò)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置各頁(yè)表邊界的限制。
此外,本發(fā)明的特征在于當(dāng)處理裝置發(fā)送傳送了開始命令時(shí),上述頁(yè)表取出電路或上述頁(yè)表生成電路自動(dòng)地取出或生成頁(yè)表,上述傳送執(zhí)行電路自動(dòng)將1個(gè)頁(yè)表部分的傳送數(shù)據(jù)分割成一連串的信息包,并執(zhí)行連續(xù)傳送已分割的一連串信息包的處理。這樣一來(lái),當(dāng)處理裝置發(fā)送傳送開始命令時(shí),自動(dòng)地取出或生成頁(yè)表,自動(dòng)地將1個(gè)頁(yè)表的傳送數(shù)據(jù)分割成一連串的信息包并進(jìn)行傳送。因此,能大大減輕固件等處理裝置的處理負(fù)擔(dān),能大幅度提高數(shù)據(jù)的實(shí)際傳送速度。
此外,本發(fā)明的特征在于,包括根據(jù)頁(yè)表具有的頁(yè)表元素信息將傳送數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的有效負(fù)載分割電路。這樣一來(lái),因能夠由硬件自動(dòng)進(jìn)行信息包的有效負(fù)載分割,故能夠進(jìn)一步減輕固件等處理裝置的處理負(fù)擔(dān)。
此外,本發(fā)明的特征在于包含具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū)的可隨機(jī)存取的信息包存儲(chǔ)裝置,上述信息包存儲(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é)議使用的命令,上述第2數(shù)據(jù)最好是上述應(yīng)用層使用的數(shù)據(jù)。
此外,本發(fā)明當(dāng)把使事務(wù)處理開始的要求信息包向?qū)Ψ焦?jié)點(diǎn)發(fā)送時(shí),在包含在上述要求信息包中的事務(wù)處理識(shí)別信息中包含指示信息,用來(lái)指示在接收到對(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í),與固件等處理裝置無(wú)關(guān),自動(dòng)地將響應(yīng)信息包的控制信息、第1、第2數(shù)據(jù)寫入由指示信息指示的區(qū)域。因此,能夠大大減輕處理裝置的處理負(fù)擔(dān)。
此外,本發(fā)明的特征在于包含可隨機(jī)存取的信息包存儲(chǔ)裝置,上述信息包存儲(chǔ)裝置具有頁(yè)表區(qū),在該頁(yè)表區(qū)中,在取出頁(yè)表時(shí)存儲(chǔ)已取出的頁(yè)表,在生成頁(yè)表時(shí)存儲(chǔ)已生成的頁(yè)表。這樣一來(lái),傳送執(zhí)行電路能夠根據(jù)頁(yè)表區(qū)存儲(chǔ)的頁(yè)表執(zhí)行數(shù)據(jù)傳送處理,不管頁(yè)表是取出來(lái)的還是生成的。
此外,本發(fā)明的特征在于包含頁(yè)表尺寸寄存器,若是已取出的頁(yè)表,則表示已取出的頁(yè)表的尺寸,若是已生成的頁(yè)表,則表示已生成的頁(yè)表的尺寸。這樣一來(lái),傳送執(zhí)行電路能夠使用頁(yè)表寄存器存儲(chǔ)的頁(yè)表尺寸進(jìn)行所要的處理,不管頁(yè)表是取出來(lái)的還是生成的。
此外,本發(fā)明是用來(lái)在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,其特征在于包括頁(yè)表生成裝置和傳送執(zhí)行裝置,當(dāng)傳送數(shù)據(jù)的開頭地址在對(duì)方節(jié)點(diǎn)存儲(chǔ)裝置的第K-1、第K頁(yè)的邊界間或第K頁(yè)的邊界上、傳送數(shù)據(jù)的結(jié)束地址在第L、第L+1頁(yè)的邊界間或第L頁(yè)的邊界上時(shí),上述頁(yè)表生成裝置生成第K、第L頁(yè)邊界間的頁(yè)表元素?cái)?shù)為規(guī)定數(shù)的頁(yè)表,上述傳送執(zhí)行裝置根據(jù)已生成的頁(yè)表將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包,并執(zhí)行傳送處理。
若按照本發(fā)明,生成第K、第L頁(yè)邊界間的頁(yè)表元素?cái)?shù)為規(guī)定數(shù)(最好是1)的頁(yè)表。而且,使用已生成的頁(yè)表,將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包,并進(jìn)行傳送。因此,能夠?qū)㈨?yè)表尺寸壓縮到最小限度的尺寸,能夠節(jié)約存儲(chǔ)頁(yè)表的區(qū)域的使用存儲(chǔ)容量。此外,能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超過(guò)各頁(yè)邊界的限制。
此外,本發(fā)明的特征在于包含有效負(fù)載分割裝置,將傳送數(shù)據(jù)分割成最大有效負(fù)載尺寸是頁(yè)邊界尺寸的約數(shù)的有效負(fù)載尺寸的信息包。若這樣進(jìn)行有效負(fù)載分割使最大有效負(fù)載尺寸是頁(yè)邊界尺寸的約數(shù),生成第K、第L頁(yè)邊界間的頁(yè)表元素?cái)?shù)為規(guī)定數(shù)的頁(yè)表時(shí),也能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超過(guò)頁(yè)表邊界的限制。
此外,本發(fā)明的特征在于上述頁(yè)表生成裝置生成頁(yè)表,當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第L、第L+1頁(yè)的邊界間時(shí),開頭地址和第K頁(yè)邊界之間成為第1頁(yè)表元素,第K和第L的頁(yè)邊界之間成為第頁(yè)表元素,第L頁(yè)邊界和結(jié)束地址之間成為第3頁(yè)表元素。這樣一來(lái),因頁(yè)表元素?cái)?shù)最大是3,故能夠?qū)㈨?yè)表尺寸壓縮到最小限度。
此外,本發(fā)明的特征在于當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第K-1、第K頁(yè)的邊界間或第K頁(yè)的邊界上時(shí),上述頁(yè)表生成裝置生成開頭地址和結(jié)束地址之間成為第1頁(yè)表元素的頁(yè)表。這樣一來(lái),當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第K-1、第K頁(yè)的邊界間或第K頁(yè)的邊界上時(shí),能夠?qū)㈨?yè)表元素?cái)?shù)壓縮為1個(gè)。
此外,本發(fā)明的特征在于上述頁(yè)表生成裝置生成頁(yè)表,當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間,傳送數(shù)據(jù)的結(jié)束地址在第K頁(yè)的邊界的后面時(shí),開頭地址和第K頁(yè)邊界之間作為第1頁(yè)表元素,下一個(gè)頁(yè)表元素往后,假定傳送數(shù)據(jù)的開頭地址在第K頁(yè)的邊界上。這樣一來(lái),對(duì)于開頭地址在第K頁(yè)的邊界上和不在第K頁(yè)的邊界上的情況,往后的處理都能夠通用,能夠謀求處理的簡(jiǎ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)接收來(lái)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于對(duì)已處理過(guò)的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的裝置。此外,與本發(fā)明有關(guān)的電子裝置的特征還在于,包括上述任何一種數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線發(fā)送到其它節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用來(lái)取入已處理過(guò)的數(shù)據(jù)的裝置。
若按照本發(fā)明,在電子裝置中對(duì)從其它節(jié)點(diǎn)傳送來(lái)的數(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是用來(lái)說(shuō)明SBP-2的圖。
圖3是用來(lái)說(shuō)明SBP-2的數(shù)據(jù)傳送處理的原理的圖。
圖4是用來(lái)說(shuō)明將數(shù)據(jù)(流)從目標(biāo)向起始端傳送時(shí)的命令處理的圖。
圖5是用來(lái)說(shuō)明將數(shù)據(jù)(流)從起始端向目標(biāo)傳送時(shí)的命令處理的圖。
圖6A、圖6B、圖6C是用來(lái)說(shuō)明頁(yè)表的圖。
圖7是表示本實(shí)施例的數(shù)據(jù)傳送控制裝置的構(gòu)成例的圖。
圖8是用來(lái)說(shuō)明RAM(信息包存儲(chǔ)裝置)的分離(分割)方法的圖。
圖9是用來(lái)說(shuō)明本實(shí)施例的數(shù)據(jù)傳送方法的圖。
圖10是表示SBP-2的核心(傳送執(zhí)行電路)的構(gòu)成例的圖。
圖11是用來(lái)說(shuō)明主控制電路的動(dòng)作的流程圖。
圖12是用來(lái)說(shuō)明頁(yè)表取出電路的動(dòng)作的流程圖。
圖13是用來(lái)說(shuō)明本實(shí)施例的頁(yè)表的生成方法的圖。
圖14A、圖14B、圖14C是用來(lái)說(shuō)明本實(shí)施例的頁(yè)表生成方法的圖。
圖15是用來(lái)說(shuō)明本實(shí)施例的有效負(fù)載分割方法的圖。
圖16是用來(lái)說(shuō)明頁(yè)表生成電路的動(dòng)作的流程圖。
圖17是用來(lái)說(shuō)明頁(yè)表生成電路的動(dòng)作的流程圖。
圖18A、圖18B、圖18C、圖18D、圖18E是用來(lái)說(shuō)明各頁(yè)表元素的生成方法的圖。
圖19A、圖19B、圖19C、圖19D是用來(lái)說(shuō)明各頁(yè)表元素的生成方法的圖。
圖20A、圖20B是用來(lái)說(shuō)明各頁(yè)表元素的生成方法的圖。
圖21是用來(lái)說(shuō)明傳送執(zhí)行控制電路的動(dòng)作的流程圖。
圖22是用來(lái)說(shuō)明有效負(fù)載分割電路的動(dòng)作的流程圖。
圖23是用來(lái)說(shuō)明發(fā)送標(biāo)題生成電路、事物處理控制電路的動(dòng)作的流程圖。
圖24A、圖24B是用來(lái)說(shuō)明把數(shù)據(jù)區(qū)分離成ORB區(qū)和數(shù)據(jù)流區(qū)的方法的圖。
圖25是表示對(duì)方節(jié)點(diǎn)和應(yīng)用層的設(shè)備之間的數(shù)據(jù)流傳送的樣子的圖。
圖26A、圖26B是用來(lái)說(shuō)明事務(wù)處理標(biāo)簽的圖。
圖27是用來(lái)說(shuō)明利用事務(wù)處理標(biāo)簽將信息包的標(biāo)題和數(shù)據(jù)寫入RAM的各區(qū)域的方法的圖。
圖28A、圖28B、圖28C是各種電子裝置的內(nèi)部方框圖的例子。
圖29A、圖29B、圖29C是各種電子裝置的外觀圖的例子。
下面,參照附圖詳細(xì)說(shuō)明本發(fā)明的最佳實(shí)施例。
1、IEEE1394首先,簡(jiǎn)單說(shuō)明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ù)),并通過(guò)下層的連接層提供的接口執(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)。
連接層提供用來(lái)尋址、數(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中的命令。
接下來(lái),當(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í)則被打印出來(lái))。
若按照該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ǔ)裝置)中,有存在頁(yè)表和不存在頁(yè)表的情況。
而且,當(dāng)存在頁(yè)表時(shí),如圖6B所示,在起始端作成的ORB中,包含該頁(yè)表的地址和元素?cái)?shù)。而且,傳送數(shù)據(jù)的地址(讀出地址、寫入地址)使用該頁(yè)表間接地指定地址。
另一方面,當(dāng)不存在頁(yè)表時(shí),如圖6C所示,在ORB中,包含地址和數(shù)據(jù)長(zhǎng)度,傳送數(shù)據(jù)的地址是直接指定的地址。
2.整體構(gòu)成其次,使用圖7說(shuō)明本實(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是用來(lái)控制連接核心20的寄存器。
FIFO(Asynchronous Transmission Fifo)30、FIFO(IsochronousTransmission Fifo)32、FIFO(Reception Fifo)34分別是非同步發(fā)送用、同步發(fā)送用、接收用的FIFO,例如,由寄存器或半導(dǎo)體存儲(chǔ)器等硬件構(gòu)成。在本實(shí)施例中,這些FIFO30、32、34的級(jí)數(shù)非常少。例如,1個(gè)FIFO的級(jí)數(shù)最好在3級(jí)以下,理想的是2級(jí)以下。
DMAC40(讀出裝置)、DMAC42(讀出裝置)、DMAC44(寫入裝置)分別是ATF用、ITF用和RF用的DMA控制器。通過(guò)使用這些DMAC40、42、44,可以不通過(guò)CPU66而在RAM80和連接核心20之間進(jìn)行數(shù)據(jù)傳送。再有,寄存器46是用來(lái)控制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是用來(lái)管理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芯片)送來(lái)的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等來(lái)實(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)題(廣義地說(shuō)是控制信息)存儲(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(硬件)用頁(yè)表區(qū)、HW用的接收標(biāo)題區(qū)和HW用的發(fā)送標(biāo)題區(qū)是圖7所示的SBP-2核心84寫入或讀出頁(yè)表、接收標(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)是用來(lái)控制數(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是用來(lái)讀寫用于SBP-2核心84利用硬件實(shí)現(xiàn)SBP-2的標(biāo)題信息和頁(yè)表的總線(第5總線)。
緩存管理器70的協(xié)調(diào)電路74對(duì)從DMAC40、42、44、CPU接口60和DMAC86、54來(lái)的總線存取請(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所示,通過(guò)這樣一來(lái),能夠?qū)?shù)據(jù)傳送控制裝置120與應(yīng)用層的設(shè)備124之間的總線90、CPU總線96和數(shù)據(jù)傳送控制裝置120與RAM80之間的總線110分離開。因此,可以把CPU總線96只用于數(shù)據(jù)傳送控制。此外,能夠占用總線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í),不必使用高速總線來(lái)作為CPU總線96。因此,可以謀求電子裝置的低成本和小型化。
3.SBP-2核心(傳送執(zhí)行電路)的構(gòu)成圖10表示圖7的SBP-2核心84的構(gòu)成例。SBP-2核心84是用來(lái)將傳送的數(shù)據(jù)自動(dòng)分割成一連串的信息包并連續(xù)傳送已分割的一連串信息包的電路,利用硬件主要執(zhí)行由圖4的A3和圖5的B1所示的信息包的傳送。
主控制電路200是用來(lái)控制整個(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è)定頁(yè)表存在或不存在的寄存器。即,固件解析從起始端來(lái)的ORB,當(dāng)判斷起始端的數(shù)據(jù)緩存中不存在頁(yè)表時(shí),向寄存器208寫入1。另一方面,當(dāng)判斷存在時(shí)(圖6A的情況),向寄存器208寫入0。
頁(yè)表取出電路210是當(dāng)起始端(對(duì)方節(jié)點(diǎn))的數(shù)據(jù)緩存(存儲(chǔ)裝置)中存在頁(yè)表時(shí)進(jìn)行從起始端取出該頁(yè)表的處理的電路。更具體一點(diǎn)說(shuō),頁(yè)表取出電路210向發(fā)送標(biāo)題生成電路260指示取出頁(yè)表,當(dāng)取出結(jié)束時(shí),向頁(yè)表生成電路220指示更新頁(yè)表地址和頁(yè)表尺寸。
頁(yè)表生成電路220是當(dāng)起始端的數(shù)據(jù)緩存中不存在頁(yè)表時(shí),生成虛擬頁(yè)表的電路。更具體一點(diǎn)說(shuō),當(dāng)由主控制電路200指示生成頁(yè)表時(shí),便按照后述的算法生成頁(yè)表。而且,進(jìn)行用來(lái)經(jīng)元素保存電路230或緩存接口290將生成的頁(yè)表寫入RAM的HW用頁(yè)表區(qū)的處理。
再有,如前所述,頁(yè)表存在與否是根據(jù)寄存器208的設(shè)定值來(lái)判斷的。此外,由頁(yè)表取出電路21O和頁(yè)表生成電路220取出或生成的頁(yè)表存儲(chǔ)在RAM的HW用頁(yè)表區(qū)(圖8的AR1)。
在頁(yè)表生成電路220包含的寄存器222中,設(shè)定有由起始端來(lái)的ORB指定的頁(yè)邊界尺寸。此外,當(dāng)頁(yè)表存在時(shí),在寄存器224、226中,設(shè)定有由ORB指定的頁(yè)表地址和頁(yè)表尺寸(元素?cái)?shù))(參照?qǐng)D6B)。另一方面,當(dāng)不存在頁(yè)表時(shí),則設(shè)定傳送數(shù)據(jù)的開頭地址和數(shù)據(jù)長(zhǎng)度(參照?qǐng)D6C)。此外,元素計(jì)數(shù)器228在生成頁(yè)表時(shí)進(jìn)行對(duì)頁(yè)表的元素?cái)?shù)(元素指針)進(jìn)行計(jì)數(shù)的處理。
再有,當(dāng)頁(yè)表存在并已取出責(zé)表時(shí),寄存器226在固件讀的時(shí)候以字節(jié)為單位(元素?cái)?shù)×8字節(jié))表示已取出的頁(yè)表的尺寸。另一方面,當(dāng)頁(yè)表不存在而生成頁(yè)表時(shí),寄存器226在固件讀的時(shí)候以字節(jié)為單位(元素?cái)?shù)×8字節(jié))表示已生成的頁(yè)表的尺寸。
這樣,在本實(shí)施例中,不管是取出頁(yè)表還是生成頁(yè)表時(shí),寄存器226都以相同的字節(jié)為單位表示頁(yè)表尺寸。因此,固件和傳送執(zhí)行控制電路等其它電路方框不管是取出的頁(yè)表還是生成的頁(yè)表,都可以使用存儲(chǔ)于該寄存器226中的頁(yè)表尺寸進(jìn)行所要的處理。從而,可以謀求處理的簡(jiǎn)單化和硬件的小規(guī)?;?。
元素保存電路230是保存作為SBP-2核心的處理對(duì)象的頁(yè)表元素的信息的電路,包括保存頁(yè)表元素的段長(zhǎng)度的寄存器232和保存段偏移地址的寄存器234。
傳送執(zhí)行控制電路240是控制執(zhí)行SBP-2的數(shù)據(jù)傳送(數(shù)據(jù)流傳送)的電路,包括寄存器242和244。而且,寄存器242表示當(dāng)前處理中的頁(yè)表元素的序號(hào)。此外,在244寄存器中,由固件設(shè)定開始數(shù)據(jù)傳送的頁(yè)表元素的序號(hào)。因此,固件能夠從任意頁(yè)表元素開始進(jìn)行數(shù)據(jù)傳送。
再有,傳送執(zhí)行控制電路240通過(guò)把寄存器226的頁(yè)表尺寸除8得到的元素?cái)?shù)和寄存器242的當(dāng)前元素序號(hào)進(jìn)行比較,判斷所有的頁(yè)表元素處理是否結(jié)束。例如,當(dāng)取出24頁(yè)的頁(yè)表時(shí),在當(dāng)前元素序號(hào)是24的地方結(jié)束處理,當(dāng)生成了3頁(yè)的頁(yè)表時(shí),在當(dāng)前元素序號(hào)是3的地方結(jié)束處理。
有效負(fù)載分割電路250進(jìn)行將傳送的數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的處理。在有效負(fù)載分割電路250包含的寄存器252中,設(shè)定由ORB指定的最大有效負(fù)載尺寸。此外,寄存器254表示實(shí)際的有效負(fù)載尺寸。有效負(fù)載分割電路250根據(jù)從RAM的HW頁(yè)表區(qū)(圖8的AR1)讀出并保存在寄存器232中的頁(yè)表元素的段長(zhǎng)度和寄存器252中設(shè)定的最大有效負(fù)載尺寸進(jìn)行有效負(fù)載分割處理。
發(fā)送標(biāo)題生成電路260根據(jù)由固件設(shè)定的速度代碼和目的地ID等進(jìn)行生成圖4的A3、圖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有效,并通知頁(yè)表取出電路210和有效負(fù)載分割電路250。這樣,本實(shí)施例的SBP-2核心不以信息包為單位,而以事項(xiàng)為單位來(lái)管理數(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的流程圖說(shuō)明主控制電路200的動(dòng)作。
首先,判斷是否使用已存儲(chǔ)在HW用頁(yè)表區(qū)中的頁(yè)表(步驟S1),若使用,則轉(zhuǎn)到步驟S5,若不使用,則轉(zhuǎn)到步驟步驟S2。是否使用已存儲(chǔ)在HW用頁(yè)表區(qū)中的頁(yè)表的設(shè)定通過(guò)固件向規(guī)定的寄存器寫入規(guī)定的設(shè)定值來(lái)實(shí)現(xiàn)。
其次,根據(jù)圖10的寄存器208的設(shè)定值判斷起始端的數(shù)據(jù)緩存是否存在頁(yè)表(步驟S2)。而且,當(dāng)存在時(shí),向頁(yè)表取出電路210指示開始進(jìn)行頁(yè)表取出的處理(步驟S3)。另一方面,當(dāng)不存在時(shí),向頁(yè)表取出電路220指示開始進(jìn)行頁(yè)表生成的處理(步驟S4)。
而且,當(dāng)頁(yè)表的取出或生成處理完成時(shí),向傳送執(zhí)行控制電路240指示開始進(jìn)行傳送執(zhí)行處理(流式數(shù)據(jù)任務(wù))(步驟S5)。
3.2 頁(yè)表取出電路其次,使用圖12的流程圖說(shuō)明頁(yè)表取出電路210的動(dòng)作。
首先,準(zhǔn)備頁(yè)表地址和頁(yè)表尺寸(元素?cái)?shù))等取出頁(yè)表所必須要的參數(shù)(步驟S11)。其次,對(duì)發(fā)送標(biāo)題生成電路200指示開始執(zhí)行事務(wù)處理(步驟S12)。接著,當(dāng)由信號(hào)TComp通知事務(wù)處理結(jié)束時(shí),對(duì)頁(yè)表生成電路220指示更新頁(yè)表地址(步驟S13)。
其次,根據(jù)主控制電路200來(lái)的信號(hào)Pause判斷是否指示暫停(步驟S14)。即,當(dāng)固件發(fā)送暫停命令并將1寫入寄存器204時(shí),信號(hào)Pause變成有效,指示暫停。然后,當(dāng)固件發(fā)送重新開始命令并將1寫入寄存器206時(shí),信號(hào)Pause變成無(wú)效,暫停被解除,重新開始數(shù)據(jù)傳送處理(步驟S15)。
3.3 頁(yè)表生成電路頁(yè)表生成電路220是當(dāng)起始端的數(shù)據(jù)緩存不存在頁(yè)表時(shí)生成虛擬頁(yè)表的電路,生成的頁(yè)表存儲(chǔ)在RAM的HW用頁(yè)表區(qū)。而且,即使起始端的數(shù)據(jù)緩存不存在頁(yè)表時(shí),也可以根據(jù)該生成的虛擬頁(yè)表將傳送數(shù)分割成不超越頁(yè)邊界的信息包并進(jìn)行傳送處理。
例如,如圖13所示,傳送數(shù)據(jù)的開頭地址SA在頁(yè)邊界PB0、PB1之間,結(jié)束地址EA在頁(yè)邊界PB4、PB5之間。這時(shí),本實(shí)施例的頁(yè)表生成電路220生成在頁(yè)邊界PB1、PB4之間(第K和第L頁(yè)的邊界之間)的頁(yè)表元素?cái)?shù)為1(廣義地說(shuō)是規(guī)定數(shù))的虛擬頁(yè)表。
更具體一點(diǎn)說(shuō),生成3頁(yè)的頁(yè)表,在開頭地址SA和頁(yè)邊界PB1之間為X種頁(yè)表元素(第1頁(yè)表元素),在頁(yè)邊界PB1和PB4之間為Y種頁(yè)表元素(第2頁(yè)表元素),在頁(yè)邊界PB4和結(jié)束地址EA之間為Z種頁(yè)表元素(第3頁(yè)表元素)。
只是,如圖14A所示,當(dāng)傳送數(shù)據(jù)的開頭地址SA在頁(yè)邊界PB1(第K頁(yè)邊界)上時(shí),不生成X種頁(yè)表元素,而變成2頁(yè)的頁(yè)表。此外,如圖14B所示,當(dāng)傳送數(shù)據(jù)的結(jié)束地址EA在頁(yè)邊界PB4(第L頁(yè)邊界)上時(shí),不生成Z種頁(yè)表元素,而變成2頁(yè)的頁(yè)表。進(jìn)而,如圖14C所示,當(dāng)傳送數(shù)據(jù)的開頭地址SA在頁(yè)邊界PB0和PB1之間、結(jié)束地址EA在頁(yè)邊界PB0和PB1之間或PB1上時(shí),生成1頁(yè)的頁(yè)表,SA、EA間變成X種的頁(yè)表元素。
此外,在本實(shí)施例中,圖10的有效負(fù)載分割電路250把傳送數(shù)據(jù)分割成信息包,該信息包的最大有效負(fù)載尺寸是頁(yè)邊界尺寸的約數(shù)。即,在圖15中,分割成最大有效負(fù)載尺寸MaxPLS是頁(yè)邊界尺寸PBS的約數(shù)的信息包。
這樣,若使最大有效負(fù)載尺寸MaxPLS是頁(yè)邊界尺寸PBS的約數(shù),例如,如圖15的C1和C2所示那樣,在頁(yè)表邊界PB2和PB3中,信息包的有效負(fù)載不跨過(guò)頁(yè)邊界。因此,即使象本實(shí)施例那樣生成PB1、PB4間的頁(yè)表元素?cái)?shù)為1的頁(yè)表時(shí),也能夠遵守不跨過(guò)頁(yè)邊界的限制來(lái)進(jìn)行數(shù)據(jù)傳送。
其次,使用圖16、圖17的流程圖詳細(xì)說(shuō)明頁(yè)表生成電路的動(dòng)作。
首先,初始化圖10的元素計(jì)數(shù)器228的計(jì)數(shù)值(元素指針)(步驟S21)。在本實(shí)施例中,元素計(jì)數(shù)器228的計(jì)數(shù)值的范圍是0~2,初始化的計(jì)數(shù)值是0。
其次,判斷開頭地址是否在頁(yè)邊界上(步驟S22)。更具體一點(diǎn)說(shuō),由ORB利用直接地址指定的傳送數(shù)據(jù)的開頭地址(參照?qǐng)D6C)的低位位0~M(M是由頁(yè)邊界尺寸決定的值)是否為0。接著,當(dāng)?shù)臀晃?~M全是0時(shí),判斷開頭地址是在頁(yè)邊界上并轉(zhuǎn)到圖17的步驟S30。另一方面,若有1個(gè)低位位0~M不是0,判斷開頭地址不在頁(yè)邊界上并轉(zhuǎn)到圖17的步驟S23。
當(dāng)開頭地址不在頁(yè)邊界上而轉(zhuǎn)到圖17的步驟S23時(shí),將頁(yè)表尺寸PTS和從開頭地址到下頁(yè)的邊界的尺寸DS進(jìn)行比較。例如,在圖18A、18B中,頁(yè)表尺寸PTS比從開頭地址到下頁(yè)的邊界的尺寸DS大,這時(shí),轉(zhuǎn)到步驟S24并生成X種頁(yè)表元素。接著,進(jìn)行將該頁(yè)表元素寫入RAM的HW用頁(yè)表區(qū)(圖8的AR1)的處理(步驟S25)。更具體一點(diǎn)說(shuō),將從開頭地址到下頁(yè)的邊界的尺寸DS寫入圖10的段長(zhǎng)度寄存器232,將開頭地址SA寫入段偏移地址寄存器234。接著,指示緩存接口290,將這些寄存器232、234的值寫入RAM的HW用頁(yè)表區(qū)。
其次,更新開頭地址SA、頁(yè)表尺寸PTS和元素計(jì)數(shù)器228的計(jì)數(shù)值(步驟S26)。即,如圖18D、圖18E所示,將開頭地址SA更新成頁(yè)邊界PB1上的地址SA’(SA’=SA+DS),將頁(yè)表尺寸PTS更新成頁(yè)邊界PB1和結(jié)束地址EA間的尺寸PTS’(PTS’=PTS-DS)。此外,元素計(jì)數(shù)器228的計(jì)數(shù)值加1變成1。而且,轉(zhuǎn)到圖17的開頭地址在頁(yè)邊界上時(shí)的轉(zhuǎn)移目的地的步驟30中。
如上所述,在本實(shí)施例中,如圖18A、圖18B所示,當(dāng)開頭地址SA在頁(yè)邊界PB0、PB1之間、結(jié)束地址EA在PB1之后時(shí),使SA、PB1之間為X種頁(yè)表元素,同時(shí),在下一個(gè)頁(yè)表元素之后,將SA作為在PB1上進(jìn)行步驟S30以后的處理。通過(guò)這樣一來(lái),對(duì)于開頭地址SA是在頁(yè)邊界PB1上還是不在PB1上的情況,都能使步驟S30以后的處理通用。因此,可以謀求處理的簡(jiǎn)單化和硬件的小規(guī)?;?。
當(dāng)在步驟S23中判斷PTS≤DS并轉(zhuǎn)到步驟S27時(shí),如圖18C所示,生成X種的頁(yè)表元素。接著,進(jìn)行生成的頁(yè)表元素(段長(zhǎng)度、段偏移地址)的寫入處理和開頭地址SA、頁(yè)表尺寸PTS、頁(yè)表元素計(jì)數(shù)器228的計(jì)數(shù)值的更新處理(步驟S28、S29)。而且,這時(shí),如圖18C所示,在只生成1頁(yè)的X種的頁(yè)表元素后轉(zhuǎn)到圖17的步驟S38。
當(dāng)轉(zhuǎn)到圖17的步驟S30時(shí),將頁(yè)表尺寸PTS(高位位M+1~N)與頁(yè)邊界尺寸PBS進(jìn)行比較。接著如圖19A所示,在PTS<PBS時(shí)轉(zhuǎn)到步驟S35。另一方面,如圖19A、19B、19C所示,當(dāng)PTS≥PBS時(shí)轉(zhuǎn)到步驟S31。
當(dāng)轉(zhuǎn)到步驟S31時(shí),如圖19B、圖19D、圖19E所示,生成Y種的頁(yè)表元素。而且,進(jìn)行將頁(yè)表元素寫入RAM的HW用頁(yè)表區(qū)的處理(步驟S32)。更具體一點(diǎn)說(shuō),將頁(yè)表尺寸PTS的高位位M+1~N寫入圖10的段長(zhǎng)度寄存器232,將開頭地址SA寫入段偏移地址寄存器234。接著指示緩存接口290,將這些寄存器232、234的值寫入RAM的HW用頁(yè)表區(qū)。
再有,作為段長(zhǎng)度寫入的頁(yè)表尺寸PTS的高位位M+1~N在圖19B中跟SA與PB2之間的尺寸相當(dāng),在圖19C、圖19D中跟SA與PB3之間的尺寸相當(dāng)。
其次,更新開頭地址SA、頁(yè)表尺寸PTS、頁(yè)表元素計(jì)數(shù)器228的計(jì)數(shù)值(步驟S33)。即,在圖19B的情況下,如圖20A所示,將開頭地址SA更新成頁(yè)邊界PB2上的地址SA’,將PTS更新成PB2與EA之間的尺寸PTS’。在圖19D的情況下,如圖20B所示,將SA更新成PB3上的地址SA’,將PTS更新成PB3與EA之間的尺寸PTS’。此外,元素計(jì)數(shù)器228的計(jì)數(shù)值加1變成2。
其次,判斷更新后的頁(yè)表尺寸是不是變成0(步驟S34)。接著,例如在圖19B、圖19D的情況下,如圖20A、圖20B所示,因更新后的頁(yè)表尺寸PTS’不是0,故轉(zhuǎn)到步驟S35。另一方面,在圖19C的情況下,因更新后的頁(yè)表尺寸是0,故轉(zhuǎn)到步驟S38。
當(dāng)轉(zhuǎn)到步驟S35時(shí),如圖20A、圖20B所示,生成Z種的頁(yè)表元素。而且,進(jìn)行生成頁(yè)表元素的寫入處理和開頭地址SA、頁(yè)表尺寸PTS、頁(yè)表元素計(jì)數(shù)器228的計(jì)數(shù)值的更新處理(步驟S36、S37)。
其次,根據(jù)從主控制電路200來(lái)的信號(hào)Pause判斷是否暫停處理(步驟S38)。當(dāng)暫停時(shí),根據(jù)信號(hào)Pause判斷是否重新開始處理(步驟S39)。即,當(dāng)Pause有效時(shí),暫停處理,當(dāng)Pause無(wú)效時(shí),重新開始處理。
3.4 傳送執(zhí)行(流式任務(wù))控制電路其次,使用圖21的流程圖說(shuō)明傳送執(zhí)行控制電路240的動(dòng)作。
首先,在圖10的當(dāng)前元素序號(hào)的寄存器242中裝載寄存器244的開始元素序號(hào)(步驟S40)。接著,進(jìn)行從RAM的HW用頁(yè)表區(qū)讀出當(dāng)前元素序號(hào)的頁(yè)表元素的處理(步驟S41)。更具體一點(diǎn)說(shuō),傳送執(zhí)行控制電路240向緩存接口290指示讀出作為處理對(duì)象的頁(yè)表元素。這樣一來(lái),緩存接口290從RAM的HW用頁(yè)表區(qū)讀出作為處理對(duì)象的頁(yè)表元素,并將頁(yè)表元素的段長(zhǎng)度寫入寄存器232,將段偏移地址寫入寄存器234。
其次,向有效負(fù)載分割電路250指示開始有效負(fù)載分割處理(步驟S42)。
其次,判斷現(xiàn)在的頁(yè)表元素的處理是否結(jié)束(步驟S43),若未結(jié)束便返回S42。若已結(jié)束,則判斷所有的頁(yè)表元素處理是否結(jié)束(步驟S44),若未結(jié)束,使當(dāng)前元素序號(hào)+1(步驟S45)并返回步驟S41。
再有,所有的頁(yè)表元素處理是否結(jié)束是通過(guò)把寄存器226的頁(yè)表尺寸除8得到的元素?cái)?shù)與當(dāng)前元素序號(hào)進(jìn)行比較來(lái)判斷的。
3.5 有效負(fù)載分割電路其次,使用圖22的流程圖說(shuō)明有效負(fù)載分割電路250的動(dòng)作。有效負(fù)載分割電路250如圖15所示,是進(jìn)行把傳送數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的處理的電路。
首先,判斷存儲(chǔ)在圖10的寄存器232的頁(yè)表元素的段長(zhǎng)度的剩余字節(jié)數(shù)是否在最大有效負(fù)載尺寸之上(步驟S51)。接著,當(dāng)剩余字節(jié)數(shù)在最大有效負(fù)載尺寸之上時(shí),將信息包的有效負(fù)載尺寸設(shè)定成最大有效負(fù)載尺寸(步驟S52)。另一方面,如圖15的C3和C4所示那樣,當(dāng)剩余字節(jié)數(shù)是否小于最大有效負(fù)載尺寸時(shí),將信息包的有效負(fù)載尺寸設(shè)定成剩余字節(jié)數(shù)(步驟S53)。
再有,在本實(shí)施例中,如圖15說(shuō)明了的那樣,最大有效負(fù)載尺寸MaxPLS是頁(yè)邊界尺寸PBS的約數(shù)。因此,當(dāng)利用圖22所示的處理將Y種的頁(yè)表元素的傳送數(shù)據(jù)分割成最大有效負(fù)載尺寸MaxPLS的信息包時(shí),如圖15的C1和C2所示,信息包的有效負(fù)載沒有跨越頁(yè)邊界PB2、PB3。
有效負(fù)載設(shè)定后,向發(fā)送標(biāo)題生成電路260指示開始事務(wù)處理的執(zhí)行處理(生成發(fā)送標(biāo)題)(步驟S54)。接著,當(dāng)利用從事務(wù)處理控制電路270來(lái)的信號(hào)TComp通知事務(wù)處理完畢時(shí),向元素保存電路230指示更新存儲(chǔ)在寄存器232、234中的頁(yè)表元素的段長(zhǎng)度(剩余字節(jié)數(shù))和段偏移地址(開頭地址)(步驟S55)。
其次,根據(jù)從主控制電路200來(lái)的信號(hào)Pause判斷是否暫停處理(步驟S56)。當(dāng)已暫停時(shí),以信號(hào)Pause變成無(wú)效為條件,重新開始處理(步驟S57)。
3.6 發(fā)送標(biāo)題生成電路、事務(wù)處理控制電路其次,使用圖23的流程圖說(shuō)明發(fā)送標(biāo)題生成電路260和事務(wù)處理控制電路270的動(dòng)作。
首先,生成要求信息包的標(biāo)題,并寫入HW用發(fā)送標(biāo)題區(qū)(圖8的AR3)(步驟S61)。更具體一點(diǎn)說(shuō),當(dāng)象圖4的A3那樣向起始端發(fā)送數(shù)據(jù)時(shí),將寫要求(數(shù)據(jù)塊寫要求)信息包的標(biāo)題寫入HW用發(fā)送標(biāo)題區(qū)。另一方面,當(dāng)象圖5的B1那樣從起始端接收數(shù)據(jù)或象圖12那樣取出頁(yè)表時(shí),將讀要求信息包的標(biāo)題寫入HW用發(fā)送標(biāo)題區(qū)。
其次,激活傳送開始信號(hào)(HWStart)后指示開始傳送(步驟S62),等待接收從起始端來(lái)的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ù),當(dāng)接收理想時(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完成時(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)題,重新開始傳送。
如上所述,若按照本實(shí)施例,當(dāng)起始端的數(shù)據(jù)緩存存在頁(yè)表時(shí),取出該頁(yè)表,當(dāng)不存在時(shí),生成虛擬頁(yè)表。而且,根據(jù)該取出或生成的頁(yè)表執(zhí)行數(shù)據(jù)傳送。因此,能夠使頁(yè)表取出或生成后的傳送執(zhí)行處理通用化。即,從圖21、圖22、圖23可知,對(duì)頁(yè)表是生成的情況或頁(yè)表是取出的情況,傳送執(zhí)行控制電路240、有效負(fù)載分割電路250、發(fā)送標(biāo)題生成電路260和事務(wù)處理控制電路270的處理內(nèi)容都一樣。因此,在這些各電路方框中,沒有必要分別設(shè)置頁(yè)表取出時(shí)用的電路和頁(yè)表生成時(shí)用的電路,可以謀求處理的簡(jiǎn)單化和電路的小規(guī)?;?br> 此外,若按照本實(shí)施例,如圖13所示,生成頁(yè)邊界PB1與PB4之間(第K、第L頁(yè)邊界間)的頁(yè)表元素?cái)?shù)是1(規(guī)定數(shù))的虛擬頁(yè)表。因此,能夠把頁(yè)表尺寸壓縮成最小限度的尺寸(例如3頁(yè)以下)。由此,能夠節(jié)約存儲(chǔ)頁(yè)表的HW用頁(yè)表區(qū)的使用存儲(chǔ)容量。此外,當(dāng)起始端不存在頁(yè)表而以直接地址方式指定地址時(shí),如圖15所示,能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超越起始端一側(cè)的數(shù)據(jù)緩存的各頁(yè)邊界的限制。
此外,在本實(shí)施例中,圖8的AR1的HW用頁(yè)表區(qū)、圖10的頁(yè)表地址、頁(yè)表尺寸用寄存器224、226與取出還是生成頁(yè)表無(wú)關(guān),可以通用。因此,可以謀求各電路方框處理和固件處理的簡(jiǎn)單化。
此外,在本實(shí)施例中,圖4的A3和圖5的B1所示的處理由硬件自動(dòng)執(zhí)行。即,當(dāng)固件指示開始信息包的連續(xù)傳送處理時(shí)(使圖10的寄存器202寫入1),SBP-2核心84利用硬件自動(dòng)執(zhí)行頁(yè)表的取出或生成處理、有效負(fù)載分割處理、發(fā)送標(biāo)題的生成處理、各信息包的傳送開始處理和錯(cuò)誤處理等并自動(dòng)傳送一系列的信息包。因此,能夠大大減輕固件的處理負(fù)擔(dān),能大幅度提高數(shù)據(jù)傳送控制裝置的實(shí)際傳送速度。
4.?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)。
即,通過(guò)將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)來(lái)看,單單分離成標(biāo)題區(qū)和數(shù)據(jù)區(qū)還不夠。
例如,在圖24A中,信息包被分離成標(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ū),如圖24A的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í)際傳送速度提得很高。
另一方面,在圖24B中,將數(shù)據(jù)區(qū)分離成ORB區(qū)和數(shù)據(jù)流區(qū)。這樣一來(lái),固件能夠連續(xù)從ORB區(qū)讀出ORB1、2、3。此外,可以利用前述SBP-2核心84的功能,不經(jīng)過(guò)固件而將數(shù)據(jù)流11~33連續(xù)從RAM的數(shù)據(jù)流區(qū)讀出,并向應(yīng)用層的設(shè)備傳送。即,如圖25所示,能夠在對(duì)方節(jié)點(diǎn)123(例如個(gè)人計(jì)算機(jī))和應(yīng)用層的設(shè)備(例如進(jìn)行打印機(jī)的打印處理的設(shè)備)之間高速傳送數(shù)據(jù)流(例如打印數(shù)據(jù)),而不經(jīng)過(guò)固件(CPU)66。結(jié)果,與圖24A相比,大大減輕了固件的處理負(fù)擔(dān),同時(shí),能夠使數(shù)據(jù)傳送更加高速化。
再有,通過(guò)將數(shù)據(jù)區(qū)分離成發(fā)送ORB區(qū)(圖8的AR7)和發(fā)送數(shù)據(jù)流區(qū)(AR8),數(shù)據(jù)傳送裝置120不僅在接收數(shù)據(jù)流時(shí),而且在發(fā)送數(shù)據(jù)流時(shí),也能謀求數(shù)據(jù)傳送的高速化。即,不僅對(duì)如圖25的方向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ù)傳送的高速化。
5.利用事務(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)通過(guò)識(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)說(shuō),例如,要求節(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ì),采用下面這種方法。
即,如圖26A所示,當(dāng)對(duì)響應(yīng)節(jié)點(diǎn)發(fā)送開始事務(wù)處理的要求信息包時(shí),在包含在要求信息包中的事務(wù)處理標(biāo)簽t1(廣義地說(shuō)是事務(wù)處理識(shí)別信息)中,包含指示返送響應(yīng)信息包時(shí)應(yīng)進(jìn)行的處理的指示信息。而且,當(dāng)從響應(yīng)節(jié)點(diǎn)接收響應(yīng)信息包時(shí),執(zhí)行與包含在t1中的指示信息對(duì)應(yīng)的處理。
這樣一來(lái),當(dāng)返送響應(yīng)信息包時(shí),利用SBP-2核心84等的硬件去執(zhí)行與包含在t1中的指示信息對(duì)應(yīng)的處理,而與固件無(wú)關(guān)。因此,能夠減輕固件的處理負(fù)擔(dān),同時(shí)能謀求數(shù)據(jù)傳送的高速化,更具體一點(diǎn)說(shuō),在本實(shí)施例中,當(dāng)從響應(yīng)節(jié)點(diǎn)接收響應(yīng)信息包時(shí),將該響應(yīng)信息包存儲(chǔ)在由包含在t1中的指示信息指示的區(qū)域中。
即,如圖26B所示,將事務(wù)處理標(biāo)簽t1的位5、4作為表示指示信息的位預(yù)先給定。
而且,當(dāng)把返送來(lái)的響應(yīng)信息包寫入HW(硬件)用區(qū)域時(shí),使要求信息包的t1的位5置1,并向響應(yīng)節(jié)點(diǎn)發(fā)送。另一方面,當(dāng)把返送來(lái)的響應(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)把返送來(lái)的響應(yīng)信息包寫入ORB區(qū)域時(shí),使要求信息包的t1的位4置0,并向響應(yīng)節(jié)點(diǎn)發(fā)送。
這樣一來(lái),當(dāng)響應(yīng)信息包返回來(lái)時(shí),如圖27所示,將響應(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用頁(yè)表區(qū)。此外,當(dāng)t1=01××××?xí)r,響應(yīng)信息包的數(shù)據(jù)寫入FW用接收數(shù)據(jù)流區(qū),當(dāng)t1=00××××?xí)r,寫入FW用接收ORB區(qū)。
這樣一來(lái),可以不經(jīng)過(guò)固件由硬件(電路)自動(dòng)地將響應(yīng)信息包的標(biāo)題和數(shù)據(jù)寫入RAM的各區(qū)域內(nèi)。而且,可以使進(jìn)行將響應(yīng)信息包寫入RAM的處理的硬件的構(gòu)成簡(jiǎn)單化,可以謀求數(shù)據(jù)傳送裝置的小規(guī)?;?。
此外,如圖24B已說(shuō)明的那樣,因能夠自動(dòng)地將信息包的標(biāo)題寫入標(biāo)題區(qū)、將ORB寫入ORB區(qū)、數(shù)據(jù)流寫入數(shù)據(jù)流區(qū),故能夠使硬件處理簡(jiǎn)單化,使數(shù)據(jù)傳送高速化。
6.電子裝置下面,說(shuō)明包含本實(shí)施例的數(shù)據(jù)傳送控制裝置的電子裝置的例子。
例如,圖28A示出作為電子裝置之一的打印機(jī)的內(nèi)部方框圖,圖29A示出其外觀圖。CPU(微機(jī))510對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部511用來(lái)由用戶操作打印機(jī)。在ROM516中存儲(chǔ)控制程序、字型等,RAM518起CPU510的工作區(qū)的作用。顯示面板519用來(lái)將打印機(jī)的工作狀態(tài)通知給用戶。
從個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)經(jīng)PHY設(shè)備502和數(shù)據(jù)傳送控制裝置500送過(guò)來(lái)的打印數(shù)據(jù)經(jīng)總線504直接送往打印處理部512。而且,利用打印處理部512對(duì)打印數(shù)據(jù)進(jìn)行規(guī)定的處理,利用由打印頭等構(gòu)成的打印部(輸出數(shù)據(jù)的裝置)514,將打印數(shù)據(jù)打印在紙上。
圖28B示出作為電子裝置之一的掃描儀的內(nèi)部方框圖,圖29B示出其外觀圖。CPU520對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部521用來(lái)由用戶操作掃描儀。在ROM526中存儲(chǔ)控制程序等,RAM528起CPU520的工作區(qū)的作用。
利用由光源、光電變換器等構(gòu)成的圖象讀取部(用于取入數(shù)據(jù)的裝置)522讀取原稿的圖象,讀取的圖象數(shù)據(jù)由圖象處理部524處理。而且,處理后的圖象數(shù)據(jù)經(jīng)總線505直接送往數(shù)據(jù)傳送控制裝置500。數(shù)據(jù)傳送控制裝置500通過(guò)對(duì)該圖象數(shù)據(jù)附加標(biāo)題等來(lái)生成信息包,經(jīng)PHY設(shè)備502發(fā)送到個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)。
圖28C示出作為電子裝置之一的CD-RW驅(qū)動(dòng)器的內(nèi)部方框圖,圖29C示出其外觀圖。CPU530對(duì)整個(gè)系統(tǒng)進(jìn)行控制等。操作部531用來(lái)由用戶操作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通過(guò)對(duì)該數(shù)據(jù)附加標(biāo)題等來(lái)生成信息包,經(jīng)PHY設(shè)備502發(fā)送到個(gè)人計(jì)算機(jī)等其它節(jié)點(diǎn)。
另一方面,從其它節(jié)點(diǎn)經(jīng)PHY設(shè)備502和數(shù)據(jù)傳送控制裝置500送過(guò)來(lái)的數(shù)據(jù)經(jīng)總線506直接送往信號(hào)處理部534。而且,利用信號(hào)處理部534對(duì)該數(shù)據(jù)進(jìn)行規(guī)定的信號(hào)處理,并利用讀出寫入部533存儲(chǔ)到CD-RW532中。
再有,在圖28A、圖28B和圖28C中,除了CPU510、520和530之外,也可以另外設(shè)置用于數(shù)據(jù)傳送控制裝置500的數(shù)據(jù)傳送控制的CPU。
此外,在圖28A、圖28B和圖28C中,RAM501(與圖7的RAM80相當(dāng))設(shè)在數(shù)據(jù)傳送控制裝置500的外部,但也可以將RAM501裝在數(shù)據(jù)傳送控制裝置500的內(nèi)部。
通過(guò)將本實(shí)施例的數(shù)據(jù)傳送控制裝置用于電子裝置,可以實(shí)現(xiàn)高速數(shù)據(jù)傳送。因此,當(dāng)用戶利用個(gè)人計(jì)算機(jī)等發(fā)出打印出來(lái)的指示時(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)電子裝置連接到多臺(tái)主機(jī)系統(tǒng)上使用,這都很容易。
此外,通過(guò)將本實(shí)施例的數(shù)據(jù)傳送控制裝置用于電子裝置,可以減輕在CPU上工作的固件的處理負(fù)擔(dān),可以使用便宜的CPU和低速總線。進(jìn)而,因可以謀求數(shù)據(jù)傳送控制裝置的低成本化和小規(guī)?;?,所以,也能夠謀求電子裝置的低成本化和小規(guī)?;?br> 再有,作為能夠應(yīng)用本實(shí)施例的數(shù)據(jù)傳送控制裝置的電子裝置除上述之外,例如還可以考慮各種光盤驅(qū)動(dòng)器(CD-ROM、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)成,但也不限于此。
此外,頁(yè)表生成電路的頁(yè)表生成方法,最好是圖13~圖20B中說(shuō)明的方法,但也不限于此,至少,也可以根據(jù)頁(yè)邊界信息由硬件生成虛擬頁(yè)表。
此外,傳送執(zhí)行電路(SBP-2)的構(gòu)成最好象圖10所示那樣構(gòu)成,但也不限于此,至少,也可以是將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包再進(jìn)行傳送的電路。
此外,圖13~圖20B中說(shuō)明的頁(yè)表生成方法最好由硬件(電路)實(shí)現(xiàn),但也可以由軟件來(lái)實(shí)現(xiàn)。
此外,信息包的分離方法、向信息包存儲(chǔ)裝置的各區(qū)域?qū)懭胄畔蜃x出信息包的方法也不限于利用圖8、圖24B說(shuō)明了的方法。
此外,特別地希望第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.一種數(shù)據(jù)傳送控制裝置,用來(lái)在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù),其特征在于,包括當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中存在頁(yè)表時(shí)從對(duì)方節(jié)點(diǎn)取出該頁(yè)表的頁(yè)表取出電路;當(dāng)對(duì)方節(jié)點(diǎn)的存儲(chǔ)裝置中不存在頁(yè)表時(shí)根據(jù)頁(yè)邊界信息生成虛擬的頁(yè)表的頁(yè)表生成電路;以及根據(jù)取出或被生成的頁(yè)表將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包并執(zhí)行傳送處理的傳送執(zhí)行電路。
2.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于當(dāng)處理裝置發(fā)送了傳送開始命令時(shí),上述頁(yè)表取出電路或上述頁(yè)表生成電路自動(dòng)地取出或生成頁(yè)表,上述傳送執(zhí)行電路自動(dòng)地將1個(gè)頁(yè)表的傳送數(shù)據(jù)分割成一連串的信息包,并執(zhí)行連續(xù)傳送已被分割的一連串信息包的處理。
3.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包括根據(jù)頁(yè)表具有的頁(yè)表元素信息將傳送數(shù)據(jù)分割成有效負(fù)載尺寸的信息包的有效負(fù)載分割電路。
4.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包含具有存儲(chǔ)信息包的控制信息的控制信息區(qū)和存儲(chǔ)信息包的數(shù)據(jù)的數(shù)據(jù)區(qū)的可隨機(jī)存取的信息包存儲(chǔ)裝置,上述信息包存儲(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ū)。
5.按照權(quán)利要求4所述的數(shù)據(jù)傳送控制裝置,其特征在于當(dāng)把使事務(wù)處理開始的要求信息包向?qū)Ψ焦?jié)點(diǎn)發(fā)送時(shí),在包含在上述要求信息包中的事務(wù)處理識(shí)別信息中包含指示信息,用來(lái)指示在接收到對(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ū)。
6.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包含可隨機(jī)存取的信息包存儲(chǔ)裝置,上述信息包存儲(chǔ)裝置具有頁(yè)表區(qū),在該頁(yè)表區(qū)中,在取出頁(yè)表時(shí)存儲(chǔ)已取出的頁(yè)表,在生成了頁(yè)表時(shí)存儲(chǔ)已生成的頁(yè)表。
7.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于包含頁(yè)表尺寸寄存器,若是已取出的頁(yè)表,則表示取出頁(yè)表的尺寸,若是已生成的頁(yè)表,則表示已生成頁(yè)表的尺寸。
8.一種數(shù)據(jù)傳送控制裝置,用來(lái)在與總線連接的多個(gè)節(jié)點(diǎn)之間傳送數(shù)據(jù),其特征在于包括頁(yè)表生成裝置和傳送執(zhí)行裝置,當(dāng)傳送數(shù)據(jù)的開頭地址在對(duì)方節(jié)點(diǎn)存儲(chǔ)裝置的第K-1、第K頁(yè)的邊界間或第K頁(yè)的邊界上、傳送數(shù)據(jù)的結(jié)束地址在第L、第L+1頁(yè)的邊界間或第L頁(yè)的邊界上時(shí),上述頁(yè)表生成裝置生成第K、第L頁(yè)邊界間的頁(yè)表元素?cái)?shù)為規(guī)定數(shù)的頁(yè)表,上述傳送執(zhí)行裝置根據(jù)已生成的頁(yè)表將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的信息包,并執(zhí)行傳送處理。
9.按照權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于包含有效負(fù)載分割裝置,將傳送數(shù)據(jù)分割成最大有效負(fù)載尺寸是頁(yè)邊界尺寸的約數(shù)的有效負(fù)載尺寸的信息包。
10.按照權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于上述頁(yè)表生成裝置生成頁(yè)表,當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第L、第L+1頁(yè)的邊界間時(shí),開頭地址和第K頁(yè)邊界之間成為第1頁(yè)表元素,第K與第L的頁(yè)邊界之間成為第2頁(yè)表元素,第L頁(yè)邊界與結(jié)束地址之間成為第3頁(yè)表元素。
11.按照權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第K-1、第K頁(yè)的邊界間或第K頁(yè)的邊界上時(shí),上述頁(yè)表生成裝置生成開頭地址與結(jié)束地址之間成為第1頁(yè)表元素的頁(yè)表。
12.按照權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于上述頁(yè)表生成裝置以下述方式生成頁(yè)表,當(dāng)傳送數(shù)據(jù)的開頭地址在第K-1、第K頁(yè)的邊界間、傳送數(shù)據(jù)的結(jié)束地址在第K頁(yè)的邊界的后面時(shí),將開頭地址與第K頁(yè)邊界之間作為第1頁(yè)表元素,關(guān)于下一個(gè)頁(yè)表元素往后,假定傳送數(shù)據(jù)的開頭地址在第K頁(yè)的邊界上。
13.按照權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于以IEEE1394規(guī)格為標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳送。
14.按照權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于以IEEE1394規(guī)格為標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳送。
15.一種電子裝置,其特征在于,包括權(quán)利要求1至7和13中任何一項(xiàng)所述的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線從其它節(jié)點(diǎn)接收來(lái)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于對(duì)已處理過(guò)的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的裝置。
16.一種電子裝置,其特征在于,包括權(quán)利要求8至12和14中任何一項(xiàng)所述的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線從其它節(jié)點(diǎn)接收來(lái)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于對(duì)已處理過(guò)的數(shù)據(jù)進(jìn)行輸出或存儲(chǔ)的裝置。
17.一種電子裝置,其特征在于,包括權(quán)利要求1至7和13中任何一項(xiàng)所述的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線發(fā)送到其它節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于取入已處理過(guò)的數(shù)據(jù)的裝置。
18.一種電子裝置,其特征在于,包括權(quán)利要求8至12和14中任何一項(xiàng)所述的數(shù)據(jù)傳送控制裝置;對(duì)經(jīng)上述數(shù)據(jù)傳送控制裝置和總線發(fā)送到其它節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行給定的處理的裝置;以及用于取入已處理過(guò)的數(shù)據(jù)的裝置。
全文摘要
本發(fā)明的目的在于提供一種能夠?qū)崿F(xiàn)高速數(shù)據(jù)傳送而又能遵守不超越頁(yè)邊界的限制的數(shù)據(jù)傳送控制裝置及電子裝置。在IEEE1394規(guī)格的數(shù)據(jù)傳送控制裝置中,包括:當(dāng)起始端的數(shù)據(jù)緩存存在頁(yè)表時(shí)從對(duì)方節(jié)點(diǎn)取出頁(yè)表的頁(yè)表取出電路210;當(dāng)起始端的數(shù)據(jù)緩存不存在頁(yè)表時(shí)生成虛擬的頁(yè)表的頁(yè)表生成電路220;以及根據(jù)取出或生成的頁(yè)表自動(dòng)地將傳送數(shù)據(jù)分割成不超越各頁(yè)邊界的一連串信息包并進(jìn)行傳送的SBP-2核心。
文檔編號(hào)G06F13/38GK1293412SQ0013069
公開日2001年5月2日 申請(qǐng)日期2000年10月16日 優(yōu)先權(quán)日1999年10月15日
發(fā)明者佐藤大輔, 堀內(nèi)浩 申請(qǐng)人:精工愛普生株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
西畴县| 西安市| 枝江市| 锡林郭勒盟| 正安县| 博湖县| 德州市| 卢龙县| 瑞金市| 东兰县| 稷山县| 昌宁县| 门源| 兴文县| 南木林县| 黔东| 砚山县| 宜丰县| 黄山市| 额敏县| 江油市| 铁岭县| 黔东| 新和县| 合川市| 清河县| 高唐县| 靖边县| 沁阳市| 通榆县| 永福县| 平谷区| 资中县| 仁化县| 九江县| 民乐县| 克东县| 信宜市| 湘阴县| 墨江| 青神县|