CN1293410A - 数据传送控制装置和电子装置 - Google Patents
数据传送控制装置和电子装置 Download PDFInfo
- Publication number
- CN1293410A CN1293410A CN00130688A CN00130688A CN1293410A CN 1293410 A CN1293410 A CN 1293410A CN 00130688 A CN00130688 A CN 00130688A CN 00130688 A CN00130688 A CN 00130688A CN 1293410 A CN1293410 A CN 1293410A
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- information
- transmission
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus arbitration
Abstract
本发明的目的在于提供一种数据传送控制装置及电子装置,其中,能够减轻固件的处理的负担,以小规模的硬件实现高速数据传送。在IEEE1394规格的数据传送控制装置中,当在利用SBP-2核心执行了连续信息包传送(HW传送)处理期间内CPU发送FW传送开始命令时,协调电路等待连续信息包传送的1个事务处理(或1个信息包传送)结束时才允许FW传送。当HWStart和FWStart同时成为激活时,优先进行FW传送。
Description
本发明涉及数据传送控制装置和包含它的电子装置,特别涉及在与总线连接的多个节点间进行以IEEE1394等为标准的数据传送的数据传送控制装置和包含它的电子装置。
近年来,称之为IEEE1394的接口规格显露头角。该IEEE1394是将可适用于下一代多媒体的高速串行总线接口标准化的接口。若按照该IEEE1394,对于活动图象等要求实时性的数据也能进行处理。此外,IEEE1394的总线不仅能与打印机、扫描仪、CD-RW驱动器、硬盘驱动器等计算机的外设连接,还能够与摄像机、VTR、TV等家用电器连接。因此,可以期望能够促进电子装置数字化的飞快发展。
在该IEEE1394中,当电子装置和总线重新连接、或将电子装置从总线断开、这样使与总线连接的节点增减时,发生所谓总线复位。而且,当发生总线复位时,节点的布局信息被清除,然后,自动地再设定布局信息。即,在发生总线复位后,进行树识别(路由节点的决定)和自己识别,然后,同步资源管理等管理节点被确定。接着开始通常的信息包传送。
但是,可以判定,以该IEEE1394为标准的数据传送装置存在下面的课题。
即,若按照现在的IEEE1394标准,可以实现最大400Mbps的传送速率。但是,实际上,由于存在处理时间的额外消耗,所以整个系统的实际传送速度比起它来要低得多。即,在CPU上工作的固件(处理器)要准备传送数据,要将传送数据分割成组,要发送传送开始命令等,需要大量时间进行处理,即使总线上传送速度快,最终还是不能实现高速数据传送。
特别,装在外设中的CPU与装在个人计算机等主机系统中的CPU相比,其处理能力低。因此,固件等的处理超时问题变得非常重要。因此,希望出现能够有效地解决这样的超时问题的技术。
本发明是鉴于上述技术课题而提出的,其目的在于提供一种数据传送控制装置及使用它的电子装置,能减轻固件等的处理超时,用小规模硬件实现高速数据传送。
为了解决上述课题,本发明是用来在与总线连接的多个节点之间传送数据的数据传送控制装置,其特征在于:包括传送执行电路和协调电路,该传送执行电路在处理装置发送了指示利用硬件进行的连续信息包传送的第1开始命令时,将传送数据分割成一连串的信息包并执行连续传送已分割的一连串信息包的处理;该协调电路在处理装置发送了在利用上述传送执行电路执行连续信息包的传送处理的期间内指示信息包传送的第2开始命令时,等待连续信息包传送的1个事务处理或1个信息包传送的结束,允许利用上述第2开始命令进行的信息包传送。
若按照本发明,当处理装置发送第1开始命令时,利用硬件将传送数据分割成多个信息包并连续传送。因此,处理装置在发送第1开始命令之后,只要等待连续信息包传送的结束即可,可以大大减轻处理装置的处理负担。
而且,一旦开始这样的连续信息包的传送,直到所有的信息包传送完毕,必须要一定的等待时间。因此,等待连续信息包传送的结束有可能对利用第2开始命令的信息包传送不利。
若按照本发明,能够在连续信息包传送的过程中插入利用第2开始命令的信息包传送,所以,不必等待连续信息包传送完全结束,就能够执行利用第2开始命令的信息包传送。因此,能有效地防止上述不利情况的发生。
此外,本发明的特征在于,上述传送执行电路包括:当对方节点的存储装置存在页表时取出对方节点的该页表的页表取出电路;当对方节点的存储装置不存在页表时根据页边界信息生成虚拟页表的页表生成电路;将传送数据分割成有效负载尺寸的信息包的有效负载分割电路;控制数据传送的执行的传送执行控制电路;至少一个生成请求向对方节点发送要求信息包的控制信息的控制信息生成电路。通过包含这样的电路方框,利用硬件可以执行页表的取出生成处理、信息包的有效分割处理、控制数据传送的执行的处理和生成要求信息包的控制信息(标题等)的处理等。因此,能大大减轻处理装置的负担。
此外,本发明的特征在于:上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当在上述第1开始信号成为激活之后上述第2开始信号成为激活时,首先开始由上述第1开始信号控制的传送处理,当上述结束信号成为激活之后,开始由上述第2开始信号控制的传送处理。若这样,当第1开始信号先于第2开始信号成为激活时,则执行由第1开始信号控制的传送处理(事务处理、信息包传送),在等待该传送处理的结束后就能够执行由第2开始信号控制的传送处理。
此外,本发明的特征在于:上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当上述第1、第2开始信号同时成为激活时,由上述第2开始信号控制的传送处理优先。若这样,例如当从对方节点传送过来要求信息包等时,对该要求信息包立即返回响应信息包。
此外,本发明的特征在于:上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当在上述第2开始信号成为激活之后上述第1开始信号成为激活时,首先开始由上述第2开始信号控制的传送处理,当上述结束信号成为激活之后,开始由上述第1开始信号控制的传送处理。若这样,当第2开始信号先于第1开始信号成为激活时,则执行由第2开始信号控制的传送处理(事务处理、信息包传送),在等待该传送处理的结束后就能够执行由第1开始信号控制的传送处理。
此外,本发明的特征在于:包含具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区的可随机访问的信息包存储装置和发生向上述信息包存储装置写入的地址的地址发生电路,上述信息包存储装置的上述控制信息区分离成第1控制信息区和由上述传送执行电路写入控制信息的第2控制信息区,上述地址发生电路根据上述协调电路的协调结果,切换发生第1控制信息区的地址或第2控制信息区的地址。若这样,通过简单的处理就能够切换第1、第2控制信息区的地址。而且,通过可以进行这样的地址切换,可以对第2控制信息区连续写入由传送执行电路生成的控制信息,可以谋求由硬件实现控制信息的生成、写入处理的简单化。
此外,本发明的特征在于:包含可随机访问的信息包存储装置,上述信息包存储装置具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区,上述信息包存储装置的上述数据区分离成存储第1层用的第1数据的第1数据区和存储成为上述传送执行电路的连续信息包传送的对象的第2层用的第2数据的第2数据区。若按照本发明,信息包控制信息(例如标题、脚注)存储在控制信息区,信息包的第1数据(例如事务处理层用的数据)存储在第1数据区,信息包的第2数据(例如应用层用的数据)存储在第2数据区。若这样,可以从第2数据区连续读出第2数据再传送到第2层。因此,可以大大地实现数据传送的高速化。
再有,在本发明中,上述第1数据最好是上述第1层协议使用的命令数据,上述第2数据最好是上述应用层使用的数据。
此外,本发明当把使事务处理开始的要求信息包向对方节点发送时,在包含在上述要求信息包中的事务处理识别信息中包含指示信息,用来指示在接收到对方节点的响应信息包时进行的处理,当接收到对方节点的响应信息包时,根据响应信息包的事务处理识别信息包含的上述指示信息,将响应信息包控制信息、第1、第2数据分别写入上述控制信息区和上述第1、第2数据区。若这样,在从响应节点返送响应信息包时,与固件等处理装置无关,自动地将响应信息包的控制信息、第1、第2数据写入由指示信息指示的区域。因此,能够大大减轻处理装置的处理负担。
此外,在本发明中,最好以IEEE1394规格为标准进行数据传送。
此外,与本发明有关的电子装置的特征在于,包括:上述任何一种数据传送控制装置;对经上述数据传送装置和总线从其它节点接收来的数据进行给定的处理的装置;以及用于对已处理过的数据进行输出或存储的装置。此外,与本发明有关的电子装置的特征还在于,包括:上述任何一种数据传送控制装置;对经上述数据传送装置和总线传送到其它节点的数据进行给定的处理的装置;以及取入已处理过的数据的装置。
若按照本发明,在电子装置中对从其它节点传送来的数据进行输出或存储的处理,或者在电子装置中把取入的数据传送到其它节点的处理,都可以实现高速化。此外,若按照本发明,可以使数据传送装置小型化,同时,能够减轻控制数据传送的固件等的处理负担,所以,可以谋求电子装置的低成本和小型化等。
图1是表示IEEE1394的层结构的图。
图2是用来说明SBP-2的图。
图3是用来说明SBP-2的数据传送处理的原理图。
图4是用来说明将数据(流)从目标向起始端传送时的命令处理的图。
图5是用来说明将数据(流)从起始端向目标传送时的命令处理的图。
图6A、图6B、图6C是用来说明页表的图。
图7是表示本实施例的数据传送控制装置的构成例的图。
图8是用来说明RAM(信息包存储装置)的分离(分割)方法的图。
图9是用来说明本实施例的数据传送方法的图。
图10是表示SBP-2的核心(传送执行电路)的构成例的图。
图11是用来说明主控制电路的动作的流程图。
图12是用来说明页表的生成方法的图。
图13是用来说明信息包的有效负载分割方法的图
图14是用来说明传送执行控制电路的动作的流程图。
图15是用来说明有效负载分割电路的动作的流程图。
图16是用来说明发送标题生成电路、事物处理控制电路的动作的流程图。
图17是用来说明HW传送和FW传送的协调方法的图。
图18是表示包含本实施例的协调电路的DMAC的构成例的图。
图19A、图19B是用来说明协调电路的动作的状态迁移图。
图20是用来说明协调电路的动作的状态迁移图。
图21是HWStart先于FWStart有效时的时序波形图。
图22是HWStart和FWStart同时有效时的时序波形图。
图23是FWStart先于HWStart有效时的时序波形图。
图24是用来说明根据从协调电路来的HWDMARun切换发生HW用标题区和通常的标题区的地址的方法的图。
图25A、图25B是用来说明将数据区分离成ORB区和数据流区的方法的图。
图26是表示对方节点和应用层的设备之间的数据流传送的样子的图。
图27A、图27B是用来说明事务处理标签的图。
图28是用来说明利用事务处理标签将信息包的标题和数据(ORB、数据流)写入RAM的各区域的方法的图。
图29A、图29B、图29C是各种电子装置的内部方框图的例子。
图30A、图30B、图30C是各种电子装置的外观图的例子。
下面,参照附图详细说明本发明的最佳的实施例。
1、IEEE1394
首先,简单说明IEEE1394。
1.1概要
在IEEE1394(IEEE1394-1995、P1394.a)中,可以实现100~400Mbps的高速数据传送(在P1394.b中是800~3200Mbps)。此外,可以允许传送速度不同的节点与总线连接。
各节点连接成树状,1根总线最多可以连接63个节点。再有,若使用总线桥,可以连接大约64000个节点。
在IEEE1394中,作为信息包传送方式准备有非同步传送和同步传送。这里,非同步传送是适合要求可靠性高的数据传送的传送方式,同步传送是适合要求实时性好的活动图象和声音等的数据传送的传送方式。
1.2层结构
图1示出IEEE1394的层结构(协议构成)。
IEEE1394的协议由事务处理层,连接层和物理层构成。此外,串行总线管理进行事务处理层,连接层和物理层的监视和控制之类的工作,并提供用于进行节点的控制和总线的资源管理的各种功能。
事务处理层向高位层提供事务处理单位的接口(服务),并通过下层的连接层提供的接口执行读处理、写处理和锁定处理等事务处理。
这里,在读事务处理中,数据从响应节点传送到要求节点。另一方面,在写事务处理中,数据从要求节点传送到响应节点。此外,在锁定事务处理中,数据从要求节点传送到响应节点,响应节点对该数据进行处理后返送到要求节点。
连接层提供用来寻址、数据检验、信息包收发的数据成帧和同步传送用的周期控制等。
物理层提供由连接层使用的逻辑信号到电信号的变换、总线的协调和总线的物理接口。
1.3 SBP-2
如图2所示,作为包含IEEE1394的事务处理层的部分功能的上位的协议,提出了一种称之为SBP-2(Serial Bus Protocol-2)的协议。
这里,SBP-2是为了使SCSI的命令集能够在IEEE1394的协议上使用而提出的协议。若使用该SBP-2,只要对现有的SCSI规格的电子装置使用的SCSI的命令集作很小的变动,就能够用于IEEE1394规格的电子装置。因此,可以使电子装置的设计和开发变得容易。此外,因不仅对SCSI的命令、对设备固有的命令也可以压缩后进行利用,故通用性很强。
在图3所示的SBP-2中,首先,使用由起始端(例如个人计算机)作成的注册ORB(Operation Request Block)进行注册处理(步骤T1)。其次,使用伪ORB进行读取工具初始化处理(步骤T2)。而且,使用标准命令ORB进行命令处理(步骤T3),最后,使用注销ORB进行注销处理(步骤T4)。
在步骤T3的命令处理中,如图4A1所示那样,起始端传送写要求信息包(发送写要求事务),与目标的门铃寄存器连接。这样,如A2所示,目标传送读要求信息包,起始端返回对应的读响应信息包。因此,起始端作成的ORB(标准命令ORB)从目标的数据缓存中取出。而且,目标解析包含在取出的ORB中的命令。
接下来,当包含在ORB中的命令是SCSI的读命令时,如A3所示,目标向起始端传送一连串的写要求信息包。由此,例如,从目标的媒体(CD-RW)读出的数据(流)传送到起始端的数据缓存中。
另一方面,当包含在ORB中的命令是SCSI的写命令时,如图5的B1所示,目标向起始端传送读要求信息包,起始端返送对应的读响应信息包。由此,存储在起始端的数据缓存中的数据(流)传送到目标,并写入目标的媒体中(当目标是打印机时则被打印出来)。
若按照该SBP-2,目标在适当的时候能够传送要求信息包(发送事务),收发数据。因此,因起始端和目标不必同步动作,故能够提高数据的传送效率。
再有,作为IEEE1394的高位协议,除SBP-2之外,还提出了称之为FCP(Function Control Protocol功能控制协议)等协议。
当在目标和起始端之间传送数据时,如图6A所示,在起始端(对方节点)的数据缓存(存储装置)中,有存在页表和不存在页表的情况。
而且,当存在页表时,如图6B所示,在起始端作成的ORB中,包含该页表的地址和元素数。而且,传送数据的地址(读出地址、写入地址)使用该页表间接地指定地址。
另一方面,当不存在页表时,如图6C所示,在ORB中,包含地址和数据长度,传送数据的地址是直接指定的地址。
2.整体构成
其次,使用图7说明本实施例的数据传送控制装置的整体构成的例子。
在图7中,PHY接口10是进行与PHY设备(物理层的设备)接口的电路。
连接核心20(连接装置)是利用硬件实现连接层的协议和部分事务层的协议的一部分电路,提高用于节点间的信息包传送的各种服务。寄存器22是用来控制连接核心20的寄存器。
FIFO(Asynchronous Transmission Fifo)30、FIFO(IsochronousTransmission Fifo)32、FIFO(Reception Fifo)34分别是非同步发送用、同步发送用、接收用的FIFO,例如,由寄存器或半导体存储器等硬件构成。在本实施例中,这些FIFO3O、32、34的级数非常少。例如,1个FIFO的级数最好在3级以下,理想的是2级以下。
DMAC40(读出装置)、DMAC42(读出装置)、DMAC44(写入装置)分别是ATF用、ITF用和RF用的DMA控制器。通过使用这些DMAC40、42、44,可以不通过CPU66而在RAM80和连接核心20之间进行数据传送。再有,寄存器46是用来控制DMAC40、42、44等的寄存器。
接口50是进行与应用层的设备(例如打印机的进行打印处理的设备)接口的电路。
FIFO(PF)52是用于应用层的设备之间的数据传送的FIFO,DMAC54是PF用的DMA控制器。寄存器56是控制接口50和DMAC54的寄存器。
SBP-2核心84(传送执行电路)是利用硬件实现部分SBP-2的协议和部分事务层的协议的电路。利用该SBP-2核心84的功能,可以将传送的数据分割成一连串的信息包,再对已分割的一连串的信息包进行连续传送处理。再有,寄存器88是用于控制SBP-2核心84的寄存器,DMAC(SBP-2用)86是SBP-2核心84用的DMA控制器。
RAM区管理电路300是用来管理RAM80的各区域的电路。RAM区管理电路300在RAM80的各区域满或空时,使用各种满信号和空信号去控制DMAC40、42、44、54、86。
CPU接口60是进行与控制数据传送控制装置的CPU66(处理装置)的接口的电路。CPU接口60包含地址译码器62、数据同步电路63和中断控制器64。时钟控制电路68是控制本实施例使用的时钟的电路,输入从PHY设备(PHY芯片)送来的SCLK(数据传送控制装置的系统时钟)、HCLK(CPU66的工作时钟)。
缓存管理器70是管理与RAM80接口的电路。缓存管理器70包含用于缓存管理器的控制的寄存器72、协调总线与RAM80的连接的协调电路74和生成各种控制信号的序列发生器76。
RAM80作为可随机访问的信息包存储装置期作用,其功能例如由SRAM、SDRAM、DRAM等来实现。
再有,特别希望将RAM80装在本实施例的数据传送控制装置内,但也可以将其一部分或全部装在外面。
图8示出RAM80的存储器图的一例。如图8所示,在本实施例中,将RAM80分离成标题区(AR2、AR3、AR4、AR6)和数据区(AR5、AR7、AR8、AR9)。而且,信息包的标题(广义地说是控制信息)存储在标题区,信息包的数据(ORB、数据流)存储在数据区。
此外,在本实施例中,如图8所示,RAM80的数据区(AR5、AR7、AR8、AR9)分离成ORB区(AR5、AR7)和数据流区(AR8、AR9)。
进而,在本实施例中,RAM80分离成接收区(AR2、AR4、AR5、AR9)和发送区(AR3、AR6、AR7、AR8)。
再有,ORB(第1层用的第1数据)如上所述是SBP-2用的数据。另一方面,数据流(第1层的上面的第2层用的第2数据)是应用层用的数据(打印机的打印数据、CD-RW的读出、写入数据、扫描仪的输入图象数据)
此外,AR1、AR2、AR3所示HW(硬件)用页表区、HW用的接收标题区和HW用的发送标题区是图7所示的SBP-2核心84写入或读出页表或接收标题或发送标题用的的区域。
再有,在图8中,AR4、AR5、AR8、AR9所示的区域是所谓环形缓冲器的结构。
图7的总线90(或总线92、94)是与应用层的设备连接的总线(第1总线)。总线95(或总线96)是用来控制数据传送控制装置或读写数据的总线,与控制数据传送控制装置的设备(例如CPU)进行电连接(第2总线)。总线100(或总线102、104、105、106、107、108、109)是与物理层的设备(PHY设备)进行电连接的总线(第3总线)。此外,总线110是与作为克随机访问的存储装置的RAM80进行电连接的总线(第4总线)。总线99是用来读写用于SBP-2核心84利用硬件实现SBP-2的标题信息和页表的总线(第5总线)。
缓存管理器70的协调电路74对从DMAC40、42、44、CPU接口60和DMAC86、54来的总线访问请求进行协调。而且,根据该协调结果分别确定总线105、107、109、96、99、94中任何一根总线与RAM80的总线110之间的数据通路(确定第1、第2、第3、第5总线中的任何一根总线与第4总线之间的数据通路)。
本实施例的一个特征在于:设置存储信息包的可随机访问的RAM80,同时设置相互分离的总线90、95、99、100和使这些总线与RAM80的总线110连接的协调电路74。
如图9所示,通过这样一来,能够将数据传送控制装置120与应用层的设备124之间的总线90、CPU总线96和数据传送控制装置120与RAM80之间的总线110分离开。此外,能够占用总线90进行数据传送控制装置120和应用层的设备124之间的数据传送。例如,当组装了数据传送控制装置120的电子装置是打印机时,可以占用总线90传送打印数据。结果,可以减轻CPU66的处理负担,能够提高系统整体的实际传送速度。此外,还可以使用便宜的CPU作为CPU66,同时,不必使用高速总线来作为CPU总线96。因此,可以谋求电子装置的低成本和小型化。
3.SBP-2核心(传送执行电路)的构成
图10表示图7的SBP-2核心84的构成例。SBP-2核心84是用来将传送的数据自动分割成一连串的信息包并连续传送已分割的一连串信息包的电路,利用硬件主要执行由图4的A3和图5的B1所示的信息包的传送。
主控制电路200是用来控制整个SBP-2核心84的电路,包含寄存器202、204、206、208。
这里,寄存器202、204、206分别是用于固件(CPU)发送数据传送(硬件SBP-2的处理)的开始命令、暂停命令和重新开始(resume)命令的寄存器。即,当固件向寄存器202写入1时,将传送数据分割成一连串的信息包并开始连续传送处理。而且,在该传送处理中,当固件向寄存器204写入1时,数据传送处理暂停,向寄存器206写入1时,重新开始暂停的数据传送处理。
寄存器208是用于设定页表存在或不存在的寄存器。即,固件解析从起始端来的ORB,当判断起始端的数据缓存中不存在页表时,向寄存器208写入1。另一方面,当判断存在时(图6A的情况),向寄存器208写入0。
页表取出电路210是当起始端(对方节点)的数据缓存(存储装置)中存在页表时进行从起始端取出该页表的处理的电路。更具体一点说,页表取出电路210向发送标题生成电路260指示取出页表,当取出结束时,向页表生成电路220指示更新页表地址和页表尺寸。
页表生成电路220是当起始端的数据缓存中不存在页表时生成虚拟页表的电路。更具体一点说,当由主控制电路200指示生成页表时,便按照规定的算法生成页表。而且,进行用来经元素保存电路230或缓存接口290将生成的页表写入RAM的HW用页表区的处理。
再有,如前所述,页表存在与否是根据寄存器208的设定值来判断的。此外,由页表取出电路210和页表生成电路220取出或生成的页表存储在RAM的HW用页表区(图8的AR1)。
在页表生成电路220包含的寄存器222中,设定有由起始端来的ORB指定的页边界尺寸。此外,当页表存在时,在寄存器224、226中,设定有由ORB指定的页表地址和页表尺寸(元素数)(参照图6B)。另一方面,当不存在页表时,则设定传送数据的开头地址和数据长度(参照图6C)。此外,元素计数器228在生成页表时进行对页表的元素数(元素指针)进行计数的处理。
元素保存电路230是保存作为SBP-2的处理对象的页表元素的信息的电路,包括保存页表元素的段长度的寄存器232和保存段偏移地址的寄存器234。
传送执行控制电路240是控制执行SBP-2核心的数据传送(数据流传送)的电路,包括寄存器242和244。而且,寄存器242表示当前处理中的页表元素的序号。此外,在244寄存器中,由固件设定开始数据传送的页表元素的序号。因此,固件能够从任意页表元素开始进行数据传送。
有效负载分割电路250进行将传送的数据分割成有效负载尺寸的信息包的处理。在有效负载分割电路250包含的寄存器252中,设定由0RB指定的最大有效负载尺寸。此外,寄存器254表示实际的有效负载尺寸。有效负载分割电路250根据从RAM的HW页表区(图8的AR1)读出并保存在寄存器232中的页表元素的段长度和寄存器252中设定的最大有效负载尺寸进行有效负载分割处理。
发送标题生成电路260根据由固件设定的速度代码和目的地ID等进行生成图5的B1的各要求信息包的标题的处理。而且,将生成的标题存储在RAM的HW用发送标题区(图8的AR3)。这样,在本实施例中,因由硬件自动生成连续传送的一连串的要求信息包的标题,故能够大大地减轻固件的处理负担。
事务处理控制电路270从连接核心等外部电路方框接收错误信息和状态信息,并进行用于执行事务处理的各种处理。而且,当事务处理执行完毕,使事务处理结束信号TComp有效,并通知页表取出电路210和有效负载分割电路250。这样,本实施例的SBP-2核心不以信息包为单位,而以事项为单位来管理数据传送处理。
分割定时器280在事务处理开始时装载分割时间并开始递减计数。而且,若计数值变成0,则通知事务处理控制电路270已超时。
缓存接口290是起图7的缓存管理器70和接口作用的电路。SBP-2核心84的各方框经该缓存接口290对缓存管理器70要求向RAM80进行访问。
3.1主控制电路
其次,使用图11的流程图说明主控制电路200的动作。
首先,判断是否使用已存储在HW用页表区中的页表(步骤S1),若使用,则转到步骤S5,若不使用,则转到步骤步骤S2。设定是否使用已存储在HW用页表区中的页表通过固件向规定的寄存器写入规定的设定值来实现。
其次,根据图10的寄存器208的设定值判断起始端的数据缓存是否存在页表(步骤S2)。而且,当存在时,向页表取出电路210指示开始进行页表取出的处理(步骤S3)。另一方面,当不存在时,向页表取出电路220指示开始进行页表生成的处理(步骤S4)。
而且,当页表的取出或生成处理完成时,向传送执行控制电路240指示开始进行传送执行处理(流式数据任务)(步骤S5)。
再有,本实施例的页表生成电路220通过以下说明的方法生成页表。
例如,如图12所示,传送数据的开头地址SA在页边界PB0、PB1之间,结束地址EA在页边界PB4、PB5之间。这时,页表生成电路220生成在页边界PB1、PB4之间(第K和第L页的边界之间)的页表元素数为1(广义地说是规定数)的虚拟页表。
更具体一点说,生成3页的页表,在开头地址SA和页边界PB1之间为X种页表元素(第1页表元素),在页边界PB1和PB4之间为Y种页表元素(第2页表元素),在页边界PB4和结束地址EA之间为Z种页表元素(第3页表元素)。
只是,当传送数据的开头地址SA在页边界PB1上时,不生成X种页表元素,而变成2页的页表。此外,当传送数据的结束地址EA在页边界PB4(第L页边界)上时,不生成Z种页表元素,而变成2页的页表。进而,当传送数据的开头地址SA在页边界PB0和PB1之间、结束地址EA在页边界PB0和PB1之间或PB1上时,生成1页的页表,在SA、EA之间变成X种的页表元素。
此外,在本实施例中,图10的有效负载分割电路250把传送数据分割成最大有效负载尺寸的信息包,该信息包的最大有效负载尺寸是页边界尺寸的约数。即,在图13中,分割成最大有效负载尺寸MaxPLS是页边界尺寸PBS的约数的信息包。
这样,若使最大有效负载尺寸MaxPLS是页边界尺寸PBS的约数,例如,如图13的C1和C2所示那样,在页表边界PB2和PB3中,信息包的有效负载不跨过页边界。因此,即使象本实施例那样生成PB1、PB4间的页表元素数为1的页表时,也能够遵守不跨过页边界的制约来进行数据传送。
3.2传送执行(流式任务)控制电路
其次,使用图14的流程图说明传送执行控制电路240的动作。
首先,在图10的当前元素序号的寄存器242中装载寄存器244的开始元素序号(步骤S40)。接着,进行从RAM的HW用页表区读出当前元素序号的页表元素的处理(步骤S41)。更具体一点说,传送执行控制电路240向缓存接口290指示读出作为处理对象的页表元素。这样一来,缓存接口290从RAM的HW用页表区读出作为处理对象的页表元素,并将页表元素的段长度写入寄存器232,将段偏移地址写入寄存器234。
其次,向有效负载分割电路250指示开始有效负载分割处理(步骤S42)。
其次,判断现在的页表元素的处理是否结束(步骤S43),若未结束时便返回步骤S42。另一方面,若已结束时,则判断所有的页表元素处理是否结束(步骤S44),若未结束时,使当前元素序号+1(步骤S45)并返回步骤S41。
再有,所有的页表元素处理是否结束是通过把寄存器226的页表尺寸除8得到的元素数与当前元素序号进行比较来判断的。
3.3有效负载分割电路
其次,使用图15的流程图说明有效负载分割电路250的动作。有效负载分割电路250是进行把传送数据分割成图13所示的有效负载尺寸的信息包的处理的电路。
首先,判断存储在图10的寄存器232的页表元素的段长度的剩余字节数是否在最大有效负载尺寸之上(步骤S51)。接着,当剩余字节数在最大有效负载尺寸之上时,将信息包的有效负载尺寸设定成最大有效负载尺寸(步骤S52)。另一方面,如图13的C3和C4所示那样,当剩余字节数小于最大有效负载尺寸时,将信息包的有效负载尺寸设定成剩余字节数(步骤S53)。
有效负载尺寸设定后,向发送标题生成电路260指示开始事务处理的执行处理(生成发送标题)(步骤S54)。接着,当利用从事务处理控制电路270来的信号TComp通知事务处理完毕时,向元素保存电路230指示更新存储在寄存器232、234中的页表元素的段长度(剩余字节数)和段偏移地址(开头地址)(步骤S55)。
其次,根据从主控制电路200来的信号Pause判断是否暂停处理(步骤S56)。即,当信号Pause有效时暂停处理。当已暂停时,以信号Pause变成无效为条件,重新开始处理(步骤S57)。
3.4发送标题生成电路、事务处理控制电路
其次,使用图16的流程图说明发送标题生成电路260和事务处理控制电路270的动作。
首先,生成要求信息包的标题,并写入HW用发送标题区(图8的AR3)(步骤S61)。更具体一点说,当象图4的A3那样向起始端发送数据时,将写要求(数据块写要求)信息包的标题写入HW用发送标题区。另一方面,当象图5的B1那样从起始端发送数据或取出页表时,将读要求信息包的标题写入HW用发送标题区。
其次,激活传送开始信号(HWStart)后指示开始传送(步骤S62),等待接收从起始端来的ACK(步骤S63)。
其次,当发送信息包是读要求信息包时,判断ACK是否挂起(步骤S65),当ACK不是挂起时,则转到步骤S72使其变成错误暂停状态。另一方面,当ACK挂起时,指示起动分割定时器(步骤S66),等待接收响应信息包(步骤S67)。
其次,判断响应信息包的接收是否理想(步骤S68),当是DCE时,再次等待接收响应数据,等接收理想时,便转到步骤S69,其余的情况则转到步骤S72使其变成错误暂停状态。接着,当转到步骤S69时指示分割定时器停止工作,激活信号TComp并更新传送数据的指针(步骤S70)。
另一方面,当发送信息包是写要求信息包时,首先,判断ACK是否挂起(步骤S71)。接着,当ACK挂起时,则转到步骤S66,当ACK执行时,则转到步骤S70,其余情况则转到步骤S72使其变成错误暂停状态。
再有,当转到步骤S72使其变成错误暂停状态时,以处理重新开始为条件,转到步骤S62(步骤S73)。即,这时,再利用已写入HW用发送标题区的发送标题,重新开始传送。
4.HW(硬件)传送和FW(固件)传送的协调
若象上述那样按照本实施例,图4的A3和图5的B1所示的连续信息包传送由硬件自动执行。更具体一点说,首先,固件发送指示连续传送的HW传送开始命令(第1开始命令)(向图10的寄存器202写入1)。这样,SBP-2核心利用硬件自动执行页表的取出或生成处理、有效负载分割处理、发送标题的生成处理、各信息包的传送开始处理和错误处理等。因此,页表部分的传送数据(由ORB的读命令和写命令指定的数据量的传送数据)被分割成一连串的信息包自动进行传送。而且,当所有的信息包传送完毕时,使用中断等将这一情况通知固件。因此,固件在发送HW传送开始命令后,只要等待连续信息包传送的结束即可。结果,可以大大减轻固件的处理负担,可以大幅度提高数据传送控制装置的实际传送速度。
除了指示这样的连续信息包传送(HW传送)的HW传送开始命令之外,还有固件发送指示单一信息包传送的FW传送开始命令(第2开始命令)的情况。例如,当从对方节点传送过来要求信息包时,有必要向对方节点传送与该要求信息包对应的响应信息包。这时,固件发送用于传送该响应信息包的FW传送开始命令。而且,响应信息包必须在对方节点的分割定时器变成超时之前传送。因此,固件在接收到要求信息包之后要尽可能快地发送FW传送开始命令并传送响应信息包。
但是,一旦开始HW传送(连续信息包传送),直到所有的信息包传送结束,必须等待一定的时间。特别当传送数据的规模大时,该等待时间非常长。因此,等待HW传送的结束有可能产生使对方节点的分割定时器超时等不好的情况。
因此,在本实施例中,当在HW传送期间发送FW传送开始命令时,进行协调,等待HW传送完1个事务处理(或1个信息包传送),就允许FW传送(由FW传送开始命令指示的信息包传送)。
例如,在图17中,在E1时发送HW传送开始命令,由此开始E2所示的HW传送。这时,若象E3那样发送FW传送开始命令,则如E4所示那样等待事务处理4结束后进行FW传送的1个信息包的传送。而且,当FW传送结束后则如E5所示那样重新开始HW传送。
这样一来,可以在HW传送的过程中进行FW传送的中断,不必等待HW传送结束就能够执行FW传送。因此,能够防止因FW传送需要等待而产生的使对方节点的分割定时器超时等不好的情况。
此外,如图17的E4所示那样,因等待1个事务处理结束才进行FW传送,故不会产生在HW传送时出现传送错误等不良现象。
进而,在从1个事务处理结束后到下一个1个事务处理开始的期间,下层的连接核心和PHY设备不被SBP-2核心占用。因此,若在该期间进行FW传送的中断处理,则可以利用没有被SBP-2占用的连接核心和PHY设备来传送信息包,这是求之不得的。
再有,以上说明了等待1个事务处理(要求信息包和与该要求信息包对应的响应信息包)结束后进行FW传送的情况,但也可以在等待1个信息包传送结束之后进行FW传送。
4.1协调电路的构成和动作
下面,说明具体本实施例的协调电路的构成和动作。
图18示出图7的DMAC40的详细构成例。
在图18中,DMAC40包括协调电路400、访问要求发生电路410、地址发生电路420和访问要求执行电路430。
这里,协调电路400是协调HW传送和FW传送的电路。更具体一点说,当在HW传送的执行中发送FW传送开始命令时,进行协调,要等待HW传送中的1个事务处理(或1个信息包传送)结束后,才允许进行由FW传送命令指示的信息包传送。
例如,当CPU(固件)发送HW传送开始命令(第1开始命令)并将1写入寄存器202时,开始由SBP-2核心84(传送执行电路)执行的HW传送。接着,如图16的步骤S63所示,SBP-2核心84每当要求开始各信息包(事务)的传送时使HWStart(第1开始信号)置1(有效)。
另一方面,当CPU发送FW传送开始命令(第2开始命令)并将1写入寄存器440时,要求开始FW传送,FWStart(第2开始信号)有效。
接着,协调电路400接收这些HWStart、FWStart和从连接核心20来的Comp、NotComp、SelfID,进行协调处理。
访问要求发生电路410接收从缓存管理器70来的作为读出确认的RACK和从FIFO30来的FULL,向缓存管理器70输出作为读出要求的RREQ。
地址发生电路420接收从协调电路400来的HWBMARun、RealGo和从缓存管理器70来的RDATA等,发生作为RAM80的读出地址的RADR。
访问要求执行电路430接收从协调电路400来的RealGo、从FIFO30来的EMPTY和从连接核心20来的各种控制信号,进行执行各种访问要求的处理。
图19A、图19B、图20示出协调电路400的状态迁移图。
在图19A中,在状态S00,HWRequested=0。而且,在该状态下,当HWStart=1且SelfID(自己识别期间信号)=0时,在下一个时钟周期转到S01,HWRequested=1。即,在不是自己识别的期间中若HWStart=1时,表示要求HW传送的信号HWRequested变成1。
此外,在图19B中,在状态S10,FWRequested=0。而且,在该状态下,当FWStart=1且SelfID=0时,在下一个时钟周期转到S11,FWRequested=1。即,在不是自己识别的期间若FWStart=1时,表示要求FW传送的信号FWRequested变成1。
在图20中,在状态S20,HWGo、FWGo、HWDMARun、FWDMARun、HWComp、FWComp、HWNotComp、FWNotComp变成0。
在状态S20中,当HWRequested=1(图19A的状态S01)且HWRequested=0时,在下一个时钟周期转到S21,使HW传送的开始信号HWGo=1。而且在下一个时钟周期HWGo=0、HWDMARun=1(状态S22)。
其次,当从连接核心20来的传送结束信号Comp=1时,在下一个时钟周期HWComp=1、HWDMARun=0(状态S23)。另一方面,当表示传送没有正确完成的信号NotComp=1时,在下一个时钟周期HWNotComp=1,HWDMARun=0(状态S24)。
另一方面,在状态S20中,当FWRequested=1(图19B的状态S11)时,在下一个时钟周期转到状态S25,作为开始FW传送的信号FWGo=1。而且,在下一个时钟周期FWGo=0、FWDMARun=1(状态S26)。
其次,当Comp=1时,在下一个时钟周期FWComp=1、FWDMARun=0(状态S27)。第一方面,当NotComp=1时,在下一个时钟周期FWNotComp=1、FWDMARun=0(状态S28)。
下面,使用图21、图22、图23的时序波形图说明协调电路400的动作。
图21是HWStart(第1开始信号)先于FWStart(第2开始信号)有效时的时序波形图。
如图21的F1所示那样,当从SBP-2核心84来的HWStart为1时,如F2所示那样HWRequsted=1(图19A的状态S01)。这样,如F3所示那样,HWGo=1(图20的状态S21),如F4所示那样,作为向地址发生电路420、访问要求执行电路430输出的RealGo=1。因此,开始由地址发生电路420、访问要求执行电路430执行的HW传送处理。
当HWGo=1时,如F5所示那样,作为向地址发生电路420输出的HWDMARun=1(状态S22)。而且,当事务处理(信息包传送)结束且如F6所示从连接核心20来的结束信号Comp=1时,则如F7、F8所示那样,HWComp=1、HWDMARun=0(状态S23)。而且,如图9所示,返回HWRequest=0(图19B的状态S00)。
另一方面,当在HW传送过程中发送FW传送开始命令时,即,如F10所示那样,在HWStart=1之后Comp=1之前FWStart=1时,如F11所示那样,FWRequsted=1(图19B的状态S11)。但是,这时,如F12所示,FWGo不立即变成1。而且,如F7所示那样,当HWComp=1之后,如F13所示,FWGo=1(状态S25),如F14所示那样,RealGo=1。
当FWGo=1时,如F16所示那样,作为向寄存器440输出的FWDMARun=1。因此,直到FWDMARun=0之前,CPU向寄存器440的写入被屏蔽。
接着,当如F17所示结束信号Comp=1时,如F1、F19所示那样,FWComp=1,FWDMARun=0(状态S27)。其次,如F20所示,返回FWRequsted=0(图19B的状态S10)。接着,如F21所示那样重新开始HW传送。
如上所述,在本实施例中,当在HWStart=1之后FWStart=1时,先开始HW传送,在HW传送完1个事务处理后,开始FW传送。接着,当FW传送结时就重新开始HW传送。
图22是HWStart和FWStart同时有效时的时序波形图。
如图22的G1、G2所示,当HWStart和FWStart同时为1时,象G3所示那样优先进行FW传送。从图20的状态S20、S21可知,这是因为如图22的G4所示那样,当FWRequested=1时,不管HWRequested是0还是1,都是FWGo=1。而且,如G5所示,在FW传送完了之后,如G6所示开始HW传送。
如上所述,在本实施例中,当HWStart和FWStart同时为1时,首先优先开始FW传送。这样一来,对从对方节点来的要求信息包能够立即返回响应信息包。
图23是FWStart先于HWStart有效时的时序波形图。
如图23的H1、H2所示,当FWStart先于HWStart成为1时,首先,如H3所示那样先开始FW传送。接着,如H4所示那样,在FW传送完1个信息包之后,如H5所示开始HW传送。
如上所述,在本实施例中,当在FWStart=1之后HWStart=1时,先开始FW传送,在FW传送完后,开始HW传送。这样一来,对从对方节点来的要求信息包能够立即返回响应信息包。
4.2 HW用标题区和通常标题区之间的地址切换
在本实施例中,标题区(控制信息区)分离成象图8的AR2、AR3所示那样的利用SBP-2核心写入标题(控制信息)的HW用标题区(第2控制信息区)和象AR4、AR6所示那样的利用固件或连接核心等写入标题的通常的标题区(第1控制信息区)。
这样,通过在SBP-2核心设置专用的HW用标题区,SBP-2核心能够将生成的标题连续写入HW用标题区。因此,能够使SBP-2核心的处理和电路构成简单化。即,若HW用标题区不与通常的标题区分离,SBP-2核心生成的标题和其余的标题混合在标题区中。由此,出现使标题写入时的地址控制变得复杂、使SBP-2核心的电路规模增大的问题。象本实施例那样,若在SBP-2核心设置专用的HW用标题区,就可以解决这样的问题,能够谋求SBP-2核心电路的小规模化。
而且,在本实施例中,图10的地址发生电路420根据协调电路400来的协调结果的信号HWDMARun切换发生HW用标题区和通常的标题区的地址。
更具体一点说,例如,如图24所示,当HWDMARun=1时(HW传送时),在HW用发送标题区(AR3)设定指针PTR。而且,通过更新指针PTR产生由SBP-2核心生成的发送标题的写入地址。
另一方面,当HWDMARun=0时(不是HW传送时),在切换指针PTR,使指针PTR设在发送标题区(AR6)。而且,通过更新指针PTR产生由固件等生成的发送标题的写入地址。
如上所述,在本实施例中,只通过利用从协调电路400来的信号HWDMARun这样的简单方法,就成功地实现了HW用标题区和通常标题区间的地址切换。而且,因可以进行这样的地址切换,所以,能够对SBP-2核心的专用HW用标题区连续写入由SBP-2核心生成的标题。结果,利用硬件容易生成连续传送的一连串信息包的标题。
5.数据区的分离(分离成ORB区和数据流区)
在本实施例中,象图8所示那样,将图7的RAM80(信息包存储装置)分离成标题区(AR2、AR3、AR4、AR6)和数据区(AR5、AR7、AR8、AR9),同时,将数据区分离成ORB区(AR5、AR7)和数据流区(AR8、AR9)。
即,通过将RAM分离成标题区和数据区,固件可以从标题区连续读出标题,或将标题连续写入标题区。因此,具有能够在某种程度上减轻固件的处理负担的优点。但是,从更高速传送数据的观点来看,单单分离成标题区和数据区还不够。
例如,在图25A中,信息包被分离成标题和数据,标题1、2、3存储在标题区,数据1、2、3存储在数据区。
这里,如前所述,数据有SBP-2(第1层)用的ORB(第1数据)和上层的应用层(第2层)用的数据流。因此,只将RAM分离成标题区和数据区,如图25A的D1、D2、D3所示那样,在数据区ORB和数据流混在一起。
因此,例如,当从RAM向应用层的设备传送数据流时,必须进行下面的处理。即,首先,将数据指针设定在D1的位置再读出数据流11、12、13,其次,将数据指针变到D2的位置再读出数据流21、22、23。然后,将数据指针变到D3的位置再读出数据流31、32、33。
这样,只将RAM分离成标题区和数据区,在向应用层的设备传送数据流时,必须频繁地控制切换数据指针的位置,会招致处理的复杂化和电路的大规模化。此外,因不能连续从数据区读出数据流,故不能把数据传送控制装置的实际传送速度提得很高。
另一方面,在图25B中,将数据区分离成ORB区和数据流区。这样一来,固件能够连续从ORB区读出ORB1、2、3。此外,可以利用前述SBP-2核心84的功能,不经过固件而将数据流11~33连续从RAM的数据流区读出,并向应用层的设备传送。即,如图26所示,能够在对方节点123(例如个人计算机)和应用层的设备(例如进行打印机的打印处理的设备)之间高速传送数据流,而不经过固件(CPU)66。结果,与图25A相比,大大减轻了固件的处理负担,同时,能够使数据传送更加高速化。
再有,通过将数据区分离成发送ORB区(图8的AR7)和发送数据流区(AR8),数据传送装置120不仅对接收数据流,对发送数据流也能谋求数据传送的高速化。即,不仅对如图26的方向DR1所示那样从对方节点123到应用层的设备124(本节点)传送数据流的情况,对于象方向DR2所示那样从应用层的设备124到对方节点123传送数据流的情况,也能谋求数据传送的高速化。
6.利用事务处理标签切换写入区
在IEEE1394中,作为用于识别各事务处理的信息,使用称之为事务处理标签t1的东西。
即,事务处理的要求节点在要求信息包中包含事务处理标签t1,并向响应节点发送。而且,接收到该要求信息包的响应节点在响应信息包中包含与上述相同的t1,并返送回要求节点。要求节点通过识别返送的包含在响应信息包中的t1,能够确认该响应信息包是与本身要求的事务处理对应的响应。
事务处理标签t1若与响应节点的关系是唯一的就足够了。更具体一点说,例如,要求节点ND1对响应节点ND2发送t1=TN1的事务处理时,在该事务处理未完的期间,要求节点ND1不能对响应节点ND2发送其它的附有t1=TN1的事务处理。即,各事务处理利用事务处理标签t1、源ID和目的地ID可以唯一地确定。换言之,事务处理标签t1只要遵守上述制约,可以使用任何值,其它的节点不管什么样的t1必须都能接收。
当要求节点发送要求信息包并等待返送响应信息包时,有时响应信息包返送时进行的处理是已经决定的。因此,本实施例着眼于上述那样的事务处理标签t1的性质,并采用下面的方法。
即,如图27A所示,当对响应节点发送开始事务处理的要求信息包时,在包含在要求信息包中的事务处理标签t1(广义地说是事务处理识别信息)中,包含指示返送响应信息包时应进行的处理的指示信息。而且,当从响应节点接收响应信息包时,执行与包含在t1中的指示信息对应的处理。
这样一来,当返送响应信息包时,可利用SBP-2核心84等的硬件去执行与包含在t1中的指示信息对应的处理,而与固件无关。因此,能够减轻固件的处理负担,同时能谋求数据传送的高速化,
更具体一点说,在本实施例中,当从响应节点接收响应信息包时,将该响应信息包存储在由包含在t1中的指示信息指示的区域中。
即,如图27B所示,将事务处理标签t1的位5、4作为表示指示信息的位预先给定。
而且,当把返送来的响应信息包写入FW(固件)用区域时,使要求信息包的t1的位5置1,并向响应节点发送。另一方面,当把返送来的响应信息包写入FW(固件)用区时,使要求信息包的t1的位5置0,并向响应节点发送。
此外,当把返送来的响应信息包写入数据流区域时,使要求信息包的t1的位4置1,并向响应节点发送。另一方面,当把返送来的响应信息包写入ORB区域时,使要求信息包的t1的位4置0,并向响应节点发送。
这样一来,当响应信息包返送来时,如图28所示,将响应信息包的标题和数据写入RAM的各区域内。
即,当t1=1×××××(×表示随意)时,响应信息包的标题写入HW用接收标题区,当t1=0×××××时,写入FW用接收标题区。
此外,当t1=11××××时,响应信息包的数据写入HW用接收数据流区,当t1=10××××时,写入HW用页表区。此外,当t1=01××××时,响应信息包的数据写入FW用接收数据流区,当t1=00××××时,写入FW用接收ORB区。
这样一来,可以不经过固件由硬件(电路)自动地将响应信息包的标题和数据写入RAM的各区域内。而且,可以使进行将响应信息包写入RAM的处理的硬件的构成简单化,可以谋求数据传送装置的小规模化。
此外,如图25已说明的那样,因能够自动地将信息包的标题写入标题区、将ORB写入ORB区、数据流写入数据流区,故能够使硬件处理简单化,使数据传送高速化。
7.电子装置
下面,说明包含本实施例的数据传送控制装置的电子装置的例子。
例如,图29A示出作为电子装置之一的打印机的内部方框图,图30A示出其外观图。CPU(微机)510对整个系统进行控制等。操作部511用来由用户操作打印机。在ROM516中存储控制程序、字型等,RAM518起CPU510的工作区的作用。显示面板519用来将打印机的工作状态通知给用户。
从个人计算机等其它节点经PHY设备502和数据传送控制装置500送过来的打印数据经总线504直接送往打印处理部512。而且,利用打印处理部对打印数据进行规定的处理,利用由打印头等构成的打印部(输出数据的装置)514,将打印数据打印在纸上。
图29B示出作为电子装置之一的扫描仪的内部方框图,图30B示出其外观图。CPU520对整个系统进行控制等。操作部521用来由用户操作扫描仪。在ROM526中存储控制程序等,RAM528起CPU520的工作区的作用。
利用由光源、光电变换器等构成的图象读取部(用于取入数据的装置)522读取原稿的图象,读取的图象数据由图象处理部524处理。而且,处理后的图象数据经总线505直接送往数据传送控制装置500。数据传送控制装置500通过对该图象数据附加标题等来生成信息包,经PHY设备502发送到个人计算机等其它节点。
图29C示出作为电子装置之一的CD-RW驱动器的内部方框图,图30C示出其外观图。CPU530对整个系统进行控制等。操作部531用来由用户操作CD-RW。在ROM536中存储控制程序等,RAM538起CPU530的工作区的作用。
利用由激光光源、电机和光学系统等构成的读取和写入部(用于取入数据的装置或用于存储数据的装置)533从CD-RW532读取的数据输入信号处理部534,进行错误改正处理等规定的信号处理。而且,信号处理后的数据经总线506直接送往数据传送控制装置500。数据传送控制装置500通过对该数据附加标题等来生成信息包,经PHY设备502发送到个人计算机等其它节点。
另一方面,从其它节点经PHY设备502和数据传送控制装置500送过来的数据经总线506直接送往信号处理部534。而且,利用信号处理部534对该数据进行规定的信号处理,并利用读出写入部533存储到CD-RW532中。
再有,在图29A、图29B和图29C中,除了CPU510、520和530之外,也可以另外设置用于数据传送控制装置500的数据传送控制的CPU。
此外,在图29A、图29B和图29C中,RAM501(与图7的RAM80相当)设在数据传送控制装置500的外部,但也可以将RAM501装在数据传送控制装置500的内部。
通过将本实施例的数据传送控制装置用于电子装置,可以实现高速数据传送。因此,当用户利用个人计算机等发出打印出来的指示时,以很少的延时即可打印完毕。此外,当向扫描仪发出取入图象的指示后,能够以很少的延时让用户看到读取的图象。此外,能够高速进行从CD-RW的数据读取和向CD-RW的数据写入。进而,例如,将多台电子装置连接到1台主机系统上使用,或将多台电子装置连接到多个主机系统上使用,这都很容易。
此外,通过将本实施例的数据传送控制装置用于电子装置,可以减轻在CPU上工作的固件的处理负担,可以使用便宜的CPU和低速总线。进而,因可以谋求数据传送控制装置的低成本化和小规模化,所以,也能够谋求电子装置的低成本化和小规模化。
再有,作为能够使用本实施例的数据传送控制装置的电子装置除上述之外,例如还可以考虑各种光盘驱动器(CD-ROPM、DVD)、光磁盘驱动器(MO)、硬盘驱动器、TV、VTR、摄像机、录放音机、电话机、投影仪、个人计算机、电子笔记本、文字处理器等。
再有,本发明不限于本实施例,在本发明的要点的范围内可以进行各种变形实施。
例如,本发明的数据传送控制装置的构成最好象图7所示那样构成,但也不限于此。
此外,传送执行电路(SBP-2)的构成最好象图10所示那样构成,但也不限于此,至少,当处理装置(固件)发送第1开始命令(HW传送开始命令)时,只要是用来将传送数据分割成一连串信息包后连续传送的电路即可。例如,传送执行电路最好包括页表取出电路、页表生成电路、有效负载生成电路、传送执行控制电路、发送标题生成电路(控制信息生成电路)等电路方框,但也可以构成为不包含其中一部分电路方框。
此外,协调电路的协调方法最好是利用图21、图22和图23等说明了的方法,但并不限于此。
此外,信息包的分离方法、向信息包存储装置的各区域写入信息包或读出信息包的方法也不限于利用图8、图25B说明了的方法。
此外,特别地希望第1数据是事务处理层用的数据,第2数据是应用层用的数据,但本发明的第1、第2数据并不限于此。
此外,本发明特别希望按IEEE1394规格进行数据传送,但并不限于此。例如,本发明也适用于按和IEEE1394有同样思想的规格或发展了IEEE1394的规格的数据传送。
Claims (11)
1、一种用来在与总线连接的多个节点之间传送数据的数据传送控制装置,其特征在于:包括传送执行电路和协调电路,
上述传送执行电路在处理装置发送了指示利用硬件进行的连续信息包传送的第1开始命令时,将传送数据分割成一连串的信息包并执行连续传送已被分割的一连串信息包的处理,
上述协调电路在处理装置发送了在利用上述传送执行电路执行了连续信息包的传送处理的期间内指示信息包传送的第2开始命令时,等待连续信息包传送中的1个事务处理或1个信息包传送的结束,允许利用上述第2开始命令进行的信息包传送。
2、按照权利要求1所述的数据传送控制装置,其特征在于:
上述传送执行电路包括:
当对方节点的存储装置中存在页表时取出对方节点的该页表的页表取出电路;当对方节点的存储装置中不存在页表时根据页边界信息生成虚拟页表的页表生成电路;将传送数据分割成有效负载尺寸的信息包的有效负载分割电路;控制数据传送的执行的传送执行控制电路;以及至少一个生成请求向对方节点发送要求信息包的控制信息的控制信息生成电路。
3、按照权利要求1所述的数据传送控制装置,其特征在于:
上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当在上述第1开始信号成为激活之后上述第2开始信号成为激活时,首先开始由上述第1开始信号控制的传送处理,当上述结束信号成为激活之后,开始由上述第2开始信号控制的传送处理。
4、按照权利要求1所述的数据传送控制装置,其特征在于:
上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当上述第1、第2开始信号同时成为激活时,由上述第2开始信号控制的传送处理优先。
5、按照权利要求1所述的数据传送控制装置,其特征在于:
上述协调电路接收在传送开始要求时由上述传送执行电路使其成为激活的第1开始信号、在传送开始要求时由上述第2开始命令使其成为激活的第2开始信号和传送结束时成为激活的结束信号,当在上述第2开始信号成为激活之后上述第1开始信号成为激活时,首先开始由上述第2开始信号控制的传送处理,当上述结束信号成为激活之后,开始由上述第1开始信号控制的传送处理。
6、按照权利要求1所述的数据传送控制装置,其特征在于:
包含:具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区的可随机访问的信息包存储装置;以及
发生向上述信息包存储装置写入的地址的地址发生电路,
将上述信息包存储装置的上述控制信息区分离成第1控制信息区和由上述传送执行电路写入控制信息的第2控制信息区,
上述地址发生电路根据从上述协调电路来的协调结果,切换发生第1控制信息区的地址或第2控制信息区的地址的某一个地址。
7、按照权利要求1所述的数据传送控制装置,其特征在于:
包含可随机访问的信息包存储装置,上述信息包存储装置具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区,
将上述信息包存储装置的上述数据区分离成存储第1层用的第1数据的第1数据区和存储成为上述传送执行电路的连续信息包传送的对象的第2层用的第2数据的第2数据区。
8、按照权利要求7所述的数据传送控制装置,其特征在于:
当把使事务处理开始的要求信息包向对方节点发送时,在包含在上述要求信息包中的事务处理识别信息中包含指示信息,用来指示从对方节点接收到响应信息包时进行的处理,
当从对方节点接收到响应信息包时,根据响应信息包的事务处理识别信息包含的上述指示信息,将响应信息包控制信息、第1、第2数据分别写入上述控制信息区和上述第1、第2数据区。
9、按照权利要求1所述的数据传送控制装置,其特征在于:
以IEEE1394规格为标准进行数据传送。
10、一种电子装置,其特征在于,包括:
权利要求1至9的任一项的数据传送控制装置;
对经上述数据传送控制装置和总线从其它节点接收来的数据进行给定的处理的装置;以及
用于对已处理过的数据进行输出或存储的装置。
11、一种电子装置,其特征在于,包括:
权利要求1至9的任一项的数据传送控制装置;
对经上述数据传送控制装置和总线传送到其它节点的数据进行给定的处理的装置;以及
用于取入进行处理的数据的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29359099A JP3843667B2 (ja) | 1999-10-15 | 1999-10-15 | データ転送制御装置及び電子機器 |
JP293590/1999 | 1999-10-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1293410A true CN1293410A (zh) | 2001-05-02 |
CN1201242C CN1201242C (zh) | 2005-05-11 |
Family
ID=17796700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB00130688XA Expired - Fee Related CN1201242C (zh) | 1999-10-15 | 2000-10-16 | 数据传送控制装置和电子装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6947442B1 (zh) |
EP (1) | EP1093252A3 (zh) |
JP (1) | JP3843667B2 (zh) |
KR (1) | KR100381646B1 (zh) |
CN (1) | CN1201242C (zh) |
TW (1) | TW498208B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214150A (zh) * | 2010-04-01 | 2011-10-12 | 联发科技股份有限公司 | 信号处理装置、信号处理方法及对应电子装置 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328349B2 (en) | 2001-12-14 | 2008-02-05 | Bbn Technologies Corp. | Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US7200105B1 (en) * | 2001-01-12 | 2007-04-03 | Bbn Technologies Corp. | Systems and methods for point of ingress traceback of a network attack |
CA2461500A1 (en) * | 2001-09-26 | 2003-04-03 | Siemens Aktiengesellschaft | Method for processing consistent data sets |
JP3636160B2 (ja) | 2002-04-26 | 2005-04-06 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及びデータ転送制御方法 |
JP2004021613A (ja) | 2002-06-17 | 2004-01-22 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
JP2005250683A (ja) * | 2004-03-02 | 2005-09-15 | Renesas Technology Corp | マイクロコンピュータ |
DE102004038212A1 (de) | 2004-08-05 | 2006-03-16 | Robert Bosch Gmbh | FlexRay-Kommunikationsbaustein |
DE112005002450T5 (de) * | 2004-12-07 | 2007-10-25 | Advantest Corp. | Prüfvorrichtung |
US8059551B2 (en) * | 2005-02-15 | 2011-11-15 | Raytheon Bbn Technologies Corp. | Method for source-spoofed IP packet traceback |
US7792137B2 (en) * | 2006-07-05 | 2010-09-07 | Abidanet, Llc | Self-organized and self-managed ad hoc communications network |
JP5811073B2 (ja) | 2012-11-07 | 2015-11-11 | 株式会社デンソー | 電子制御装置 |
US9830289B2 (en) | 2014-09-16 | 2017-11-28 | Apple Inc. | Methods and apparatus for aggregating packet transfer over a virtual bus interface |
US9971397B2 (en) | 2014-10-08 | 2018-05-15 | Apple Inc. | Methods and apparatus for managing power with an inter-processor communication link between independently operable processors |
US10042794B2 (en) | 2015-06-12 | 2018-08-07 | Apple Inc. | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link |
US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
US10558580B2 (en) | 2016-02-29 | 2020-02-11 | Apple Inc. | Methods and apparatus for loading firmware on demand |
US10191859B2 (en) | 2016-03-31 | 2019-01-29 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
US10551902B2 (en) | 2016-11-10 | 2020-02-04 | Apple Inc. | Methods and apparatus for providing access to peripheral sub-system registers |
US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
US10346226B2 (en) | 2017-08-07 | 2019-07-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface |
US10331612B1 (en) | 2018-01-09 | 2019-06-25 | Apple Inc. | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors |
US11381514B2 (en) | 2018-05-07 | 2022-07-05 | Apple Inc. | Methods and apparatus for early delivery of data link layer packets |
US10430352B1 (en) | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
US10585699B2 (en) | 2018-07-30 | 2020-03-10 | Apple Inc. | Methods and apparatus for verifying completion of groups of data transactions between processors |
US10719376B2 (en) | 2018-08-24 | 2020-07-21 | Apple Inc. | Methods and apparatus for multiplexing data flows via a single data structure |
US10838450B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Methods and apparatus for synchronization of time between independently operable processors |
US10789110B2 (en) | 2018-09-28 | 2020-09-29 | Apple Inc. | Methods and apparatus for correcting out-of-order data transactions between processors |
JP7270387B2 (ja) * | 2019-01-15 | 2023-05-10 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法、およびプログラム |
CN111193650B (zh) * | 2019-12-10 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于sae as5643标准的节点收发控制装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5343473A (en) * | 1992-08-07 | 1994-08-30 | International Business Machines Corporation | Method of determining whether to use preempt/resume or alternate protocol for data transmission |
EP0684719A1 (en) * | 1994-05-25 | 1995-11-29 | International Business Machines Corporation | Method and apparatus for transmission of high priority traffic on low speed communication links |
US5822568A (en) * | 1996-05-20 | 1998-10-13 | Advanced Micro Devices, Inc. | System for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller |
JPH10178438A (ja) | 1996-12-18 | 1998-06-30 | Sony Corp | データ通信システム、データ通信装置および方法 |
JP3733699B2 (ja) * | 1997-06-20 | 2006-01-11 | ソニー株式会社 | シリアルインタフェース回路 |
US6473816B1 (en) * | 1997-12-04 | 2002-10-29 | Canon Kabushiki Kaisha | Apparatus and method for determining bus use right |
US6032261A (en) * | 1997-12-30 | 2000-02-29 | Philips Electronics North America Corp. | Bus bridge with distribution of a common cycle clock to all bridge portals to provide synchronization of local buses, and method of operation thereof |
JP3277874B2 (ja) * | 1998-01-29 | 2002-04-22 | 日本電気株式会社 | Ieee1394ブリッジ |
US6523058B1 (en) * | 1998-09-29 | 2003-02-18 | Stmicroelectronics Inc. | State machine driven transport protocol interface |
US6574688B1 (en) * | 1999-01-05 | 2003-06-03 | Agere Systems Inc. | Port manager controller for connecting various function modules |
US6584539B1 (en) * | 1999-03-19 | 2003-06-24 | Sony Corporation | Method and system for message broadcast flow control on a bus bridge interconnect |
US6693905B1 (en) * | 1999-04-09 | 2004-02-17 | Matsushita Electric Industrial Co., Ltd. | Data exchange unit |
US6633547B1 (en) * | 1999-04-29 | 2003-10-14 | Mitsubishi Electric Research Laboratories, Inc. | Command and control transfer |
US6374319B1 (en) * | 1999-06-22 | 2002-04-16 | Philips Electronics North America Corporation | Flag-controlled arbitration of requesting agents |
US6463489B1 (en) * | 1999-08-26 | 2002-10-08 | Sony Corporation | System and method for effectively performing isochronous data transfers |
-
1999
- 1999-10-15 JP JP29359099A patent/JP3843667B2/ja not_active Expired - Fee Related
-
2000
- 2000-10-12 EP EP00121378A patent/EP1093252A3/en not_active Withdrawn
- 2000-10-12 US US09/688,045 patent/US6947442B1/en not_active Expired - Fee Related
- 2000-10-13 KR KR10-2000-0060230A patent/KR100381646B1/ko not_active IP Right Cessation
- 2000-10-13 TW TW089121401A patent/TW498208B/zh not_active IP Right Cessation
- 2000-10-16 CN CNB00130688XA patent/CN1201242C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214150A (zh) * | 2010-04-01 | 2011-10-12 | 联发科技股份有限公司 | 信号处理装置、信号处理方法及对应电子装置 |
CN102214150B (zh) * | 2010-04-01 | 2014-11-19 | 联发科技股份有限公司 | 信号处理装置、信号处理方法及对应电子装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3843667B2 (ja) | 2006-11-08 |
CN1201242C (zh) | 2005-05-11 |
JP2001119415A (ja) | 2001-04-27 |
KR20010051014A (ko) | 2001-06-25 |
EP1093252A2 (en) | 2001-04-18 |
KR100381646B1 (ko) | 2003-04-26 |
EP1093252A3 (en) | 2002-11-13 |
US6947442B1 (en) | 2005-09-20 |
TW498208B (en) | 2002-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1201242C (zh) | 数据传送控制装置和电子装置 | |
CN1146801C (zh) | 数据传送控制装置和电子装置 | |
CN1126343C (zh) | 数据通信方法、设备和系统 | |
CN1138211C (zh) | 数据传输控制装置及电子设备 | |
CN1292121A (zh) | 数据传输控制装置及电子设备 | |
CN1272946C (zh) | 可伸缩的网络处理器及操作该网络处理器的方法和装置 | |
CN1172249C (zh) | 数据传送控制装置和电子设备 | |
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN101030929A (zh) | 网络中继装置 | |
CN1160634C (zh) | 串行/并行转换电路、数据传送控制装置和电子设备 | |
CN1399738A (zh) | 网络交换机和部件及其操作方法 | |
CN1174471A (zh) | 打印机系统及其动作控制方法 | |
CN1224873A (zh) | 电力控制系统和电力控制方法 | |
CN1385794A (zh) | 数据传送控制装置、电子装置和数据传送控制方法 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1184786C (zh) | 数据通信系统、方法、装置和数字接口 | |
CN1132395C (zh) | 数据通信系统和数据通信方法 | |
CN1487439A (zh) | 网关卡、网关控制程序以及网关装置 | |
CN1545017A (zh) | 网络系统和网络接口卡 | |
CN1179521C (zh) | 数据传输控制装置和电子仪器 | |
CN1739296A (zh) | 视频网络 | |
CN1241126C (zh) | 数据传输控制系统及方法 | |
CN1134729C (zh) | 接口装置及其控制方法 | |
CN1137444C (zh) | 数据传输控制装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050511 Termination date: 20131016 |