CN1146801C - 数据传送控制装置和电子装置 - Google Patents

数据传送控制装置和电子装置 Download PDF

Info

Publication number
CN1146801C
CN1146801C CNB001306936A CN00130693A CN1146801C CN 1146801 C CN1146801 C CN 1146801C CN B001306936 A CNB001306936 A CN B001306936A CN 00130693 A CN00130693 A CN 00130693A CN 1146801 C CN1146801 C CN 1146801C
Authority
CN
China
Prior art keywords
page table
data
mentioned
page
information
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.)
Expired - Fee Related
Application number
CNB001306936A
Other languages
English (en)
Other versions
CN1293412A (zh
Inventor
�ٴ�����
佐藤大辅
堀内浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1293412A publication Critical patent/CN1293412A/zh
Application granted granted Critical
Publication of CN1146801C publication Critical patent/CN1146801C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Facsimiles In General (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

本发明的目的在于提供一种能够实现高速数据传送而又能遵守不超越页边界的限制的数据传送控制装置及电子装置。在IEEE1394规格的数据传送控制装置中,包括:当起始端的数据缓存存在页表时从对方节点取出页表的页表取出电路210;当起始端的数据缓存不存在页表时生成虚拟的页表的页表生成电路220;以及根据取出或生成的页表自动地将传送数据分割成不超越各页边界的一连串信息包并进行传送的SBP-2核心。

Description

数据传送控制装置和电子装置
技术领域
本发明涉及数据传送控制装置和包含它的电子装置,特别涉及在与总线连接的多个节点间进行以IEEE1394等规格为标准的数据传送的数据传送控制装置和包含它的电子装置。
背景技术
近年来,称之为IEEE1394的接口规格显露头角。该IEEE1394是将可适用于下一代多媒体的高速串行总线接口标准化的接口。若按照该IEEE1394,对于活动图象等要求实时性的数据也能进行处理。此外,IEEE1394的总线不仅能与打印机、扫描仪、CD-RW驱动器、硬盘驱动器等计算机的外设连接,还能够与摄像机、VTR、TV等家用电器连接。因此,可以期望能够促进电子装置数字化的飞快发展。
但是,以该IEEE1394为标准的数据传送装置存在下面的课题。
即,若按照现在的IEEE1394标准,可以实现最大400Mbps的传送速率。但是,实际上,由于存在处理时间的额外消耗,所以整个系统的实际传送速度比起它来要低得多。即,在CPU上工作的固件(firmware)(处理器)要准备传送数据,要将传送数据分割成组,要发送传送开始命令等,需要大量时间进行处理,即使总线上传送速度快,最终还是不能实现高速数据传送。
特别,装在外设中的CPU与装在个人计算机等主机系统中的CPU相比,其处理能力低。因此,固件等的处理超时问题变得非常重要。因此,希望出现能够有效地解决这样的超时问题的技术。
此外,当在个人计算机等的起始端(主机)和CD-RW驱动器及打印机等目标(设备)之间进行数据传送时,存在不允许超过起始端一侧的数据缓冲器(存储装置)的各页边界的数据传送的限制。而且,当起始端使用页表以间接地址方式指定地址时,在目标一侧不必特别考虑这样的限制。但是,还存在这样的问题,即当起始端以直接地址方式指定地址时,目标一侧在进行数据传送时就必须遵守该限制。
发明内容
本发明是鉴于上述技术课题而提出的,其目的在于提供一种数据传送控制装置及使用它的电子装置,不管存不存在页表,都能够实现高速数据传送而又能遵守不超过页表边界的限制。
为了解决上述课题,本发明是用来在与总线连接的多个节点之间传送数据的数据传送控制装置,其特征在于,包括:当对方节点的存储装置中存在页表时从对方节点取出该页表的页表取出电路;当对方节点的存储装置中不存在页表时根据页边界信息和传送数据的开头地址和页表尺寸生成虚拟的页表的页表生成电路;根据上述取出的页表或上述被生成的页表中的页表元素的段长度,和规定的最大有效负载尺寸,将传送数据有效负载分割成为不超越各页边界的、并且在上述最大有效负载尺寸以下的信息包、并执行传送处理的传送执行电路;以及与上述页表取出电路、上述页表生成电路、上述传送执行电路连接、在页表存在于对方节点的存储装置时,对上述页表取出电路指示页表的取出处理的开始,在页表不存在于对方节点的存储装置时,对上述页表生成电路指示页表的生成处理的开始,在页表的取出处理或生成处理完了时,对上述传送执行电路指示传送执行处理的开始的主控制电路。
若按照本发明,当对方节点的存储装置存在页表时,从对方节点的存储装置取出该页表,当对方节点的存储装置不存在页表时,生成虚拟的页表。而且使用该取出或生成的页表将传送数据分割成不超越各页边界的信息包进行传送。这样,若按照本发明,因即使页表不存在时也能使用生成的虚拟页表来传送数据,故可以使页表取出或生成后的传送执行处理变成通用的处理。即,与存不存在页表无关,可以用同一内容的传送处理进行数据传送。因此,能谋求处理的简单化和电路的小规模化。此外,若按照本发明,当不存在页表时,因使用虚拟页表进行数据传送,故能够实现高速数据传送而又能遵守不超过对方节点的存储装置各页表边界的限制。
此外,本发明的特征在于:当处理装置发送传送了开始命令时,上述页表取出电路或上述页表生成电路自动地取出或生成页表,上述传送执行电路自动将1个页表部分的传送数据分割成一连串的信息包,并执行连续传送已分割的一连串信息包的处理。这样一来,当处理装置发送传送开始命令时,自动地取出或生成页表,自动地将1个页表的传送数据分割成一连串的信息包并进行传送。因此,能大大减轻固件等处理装置的处理负担,能大幅度提高数据的实际传送速度。
此外,本发明的特征在于,包括根据页表具有的页表元素信息将传送数据分割成有效负载尺寸的信息包的有效负载分割电路。这样一来,因能够由硬件自动进行信息包的有效负载分割,故能够进一步减轻固件等处理装置的处理负担。
此外,本发明的特征在于:包含具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区的可随机存取的信息包存储装置,上述信息包存储装置的上述数据区分离成存储第1层用的第1数据的第1数据区和存储成为上述传送执行电路的连续信息包传送的对象的第2层用的第2数据的第2数据区。若按照本发明,信息包控制信息(例如标题、脚注)存储在控制信息区,信息包的第1数据(例如事务处理层用的数据)存储在第1数据区,信息包的第2数据(例如应用层用的数据)存储在第2数据区。若这样,可以从第2数据区连续读出第2数据再传送到第2层。因此,可以大大地实现数据传送的高速化。
再有,在本发明中,上述第1数据最好是上述第1层协议使用的命令,上述第2数据最好是上述应用层使用的数据。
此外,本发明当把使事务处理开始的要求信息包向对方节点发送时,在包含在上述要求信息包中的事务处理识别信息中包含指示信息,用来指示在接收到对方节点的响应信息包时进行的处理,当接收到对方节点的响应信息包时,根据响应信息包的事务处理识别信息包含的上述指示信息,将响应信息包控制信息、第1、第2数据分别写入上述控制信息区和上述第1、第2数据区。若这样,在从响应节点返送响应信息包时,与固件等处理装置无关,自动地将响应信息包的控制信息、第1、第2数据写入由指示信息指示的区域。因此,能够大大减轻处理装置的处理负担。
此外,本发明的特征在于:包含可随机存取的信息包存储装置,上述信息包存储装置具有页表区,在该页表区中,在取出页表时存储已取出的页表,在生成页表时存储已生成的页表。这样一来,传送执行电路能够根据页表区存储的页表执行数据传送处理,不管页表是取出来的还是生成的。
此外,本发明的特征在于:包含页表尺寸寄存器,若是已取出的页表,则表示已取出的页表的尺寸,若是已生成的页表,则表示已生成的页表的尺寸。这样一来,传送执行电路能够使用页表寄存器存储的页表尺寸进行所要的处理,不管页表是取出来的还是生成的。
此外,本发明是用来在与总线连接的多个节点之间传送数据的数据传送控制装置,其特征在于:包括页表生成装置,根据页表边界信息和传送数据的开头地址和页表尺寸,当传送数据的开头地址在对方节点的存储装置的第K-1、第K页的边界间、传送数据的结束地址在第L、第L+1页的边界间时,开头地址和第K页边界之间成为第1页表元素,第K与第L的页边界之间成为第2页表元素,第L页边界与结束地址之间成为第3页表元素的页表;传送执行装置,根据已生成的页表将传送数据分割成不超越各页边界的信息包,并执行传送处理;以及主控制电路,与上述页表生成装置,上述传送执行装置连接,在页表不存在于对方节点的存储装置时,对上述页表生成装置指示页表的生成处理的开始,在页表的生成处理完了时,对上述传送执行装置指示传送执行处理的开始。
若按照本发明,生成第K、第L页边界间的页表元素数为规定数(最好是1)的页表。而且,使用已生成的页表,将传送数据分割成不超越各页边界的信息包,并进行传送。因此,能够将页表尺寸压缩到最小限度的尺寸,能够节约存储页表的区域的使用存储容量。此外,能够实现高速数据传送而又能遵守不超过各页边界的限制。
此外,本发明的特征在于:包含有效负载分割装置,将传送数据分割成最大有效负载尺寸是页边界尺寸的约数的有效负载尺寸的信息包。若这样进行有效负载分割使最大有效负载尺寸是页边界尺寸的约数,生成第K、第L页边界间的页表元素数为规定数的页表时,也能够实现高速数据传送而又能遵守不超过页表边界的限制。
此外,本发明的特征在于:上述页表生成装置生成页表,当传送数据的开头地址在第K-1、第K页的边界间、传送数据的结束地址在第L、第L+1页的边界间时,开头地址和第K页边界之间成为第1页表元素,第K和第L的页边界之间成为第页表元素,第L页边界和结束地址之间成为第3页表元素。这样一来,因页表元素数最大是3,故能够将页表尺寸压缩到最小限度。
此外,本发明的特征在于:当传送数据的开头地址在第K-1、第K页的边界间、传送数据的结束地址在第K-1、第K页的边界间或第K页的边界上时,上述页表生成装置生成开头地址和结束地址之间成为第1页表元素的页表。这样一来,当传送数据的开头地址在第K-1、第K页的边界间、传送数据的结束地址在第K-1、第K页的边界间或第K页的边界上时,能够将页表元素数压缩为1个。
此外,本发明的特征在于:上述页表生成装置生成页表,当传送数据的开头地址在第K-1、第K页的边界间,传送数据的结束地址在第K页的边界的后面时,开头地址和第K页边界之间作为第1页表元素,下一个页表元素往后,假定传送数据的开头地址在第K页的边界上。这样一来,对于开头地址在第K页的边界上和不在第K页的边界上的情况,往后的处理都能够通用,能够谋求处理的简单化。
此外,在本发明中,最好以IEEE1394规格为标准进行数据传送。
此外,与本发明有关的电子装置的特征在于,包括:上述任何一种数据传送控制装置;对经上述数据传送装置和总线从其它节点接收来的数据进行给定的处理的装置;以及用于对已处理过的数据进行输出或存储的装置。此外,与本发明有关的电子装置的特征还在于,包括:上述任何一种数据传送控制装置;对经上述数据传送控制装置和总线发送到其它节点的数据进行给定的处理的装置;以及用来取入已处理过的数据的装置。
若按照本发明,在电子装置中对从其它节点传送来的数据进行输出或存储的处理,或者在电子装置中把取入的数据传送到其它节点的处理,都可以实现高速化。此外,若按照本发明,可以使数据传送装置小型化,同时,能够减轻控制数据传送的固件等的处理负担,所以,可以谋求电子装置的低成本和小型化等。
附图说明
图1是表示IEEE1394的层结构的图。
图2是用来说明SBP-2的图。(SBP是串联总线协议的简称)。
图3是用来说明SBP-2的数据传送处理的原理的图。
图4是用来说明将数据(流)从目标向起始端传送时的命令处理的图。
图5是用来说明将数据(流)从起始端向目标传送时的命令处理的图。
图6A、图6B、图6C是用来说明页表的图。
图7是表示本实施例的数据传送控制装置的构成例的图。
图8是用来说明RAM(信息包存储装置)的分离(分割)方法的图。
图9是用来说明本实施例的数据传送方法的图。
图10是表示SBP-2的核心(传送执行电路)的构成例的图。
图11是用来说明主控制电路的动作的流程图。
图12是用来说明页表取出电路的动作的流程图。
图13是用来说明本实施例的页表的生成方法的图。
图14A、图14B、图14C是用来说明本实施例的页表生成方法的图。
图15是用来说明本实施例的有效负载分割方法的图。
图16是用来说明页表生成电路的动作的流程图。
图17是用来说明页表生成电路的动作的流程图。
图18A、图18B、图18C、图18D、图18E是用来说明各页表元素的生成方法的图。
图19A、图19B、图19C、图19D是用来说明各页表元素的生成方法的图。
图20A、图20B是用来说明各页表元素的生成方法的图。
图21是用来说明传送执行控制电路的动作的流程图。
图22是用来说明有效负载分割电路的动作的流程图。
图23是用来说明发送标题生成电路、事物处理控制电路的动作的流程图。
图24A、图24B是用来说明把数据区分离成ORB区和数据流区的方法的图。
图25是表示对方节点和应用层的设备之间的数据流传送的样子的图。
图26A、图26B是用来说明事务处理标签的图。
图27是用来说明利用事务处理标签将信息包的标题和数据写入RAM的各区域的方法的图。
图28A、图28B、图28C是各种电子装置的内部方框图的例子。
图29A、图29B、图29C是各种电子装置的外观图的例于。
具体实施方式
下面,参照附图详细说明本发明的最佳实施例。
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 BusProtocol-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(异步传输先进先出,即ATF)30、FIFO(同步传输先进先出,即ITF)32、FIFO(接收先进先出,即RF)34分别是非同步发送用、同步发送用、接收用的FIFO,例如,由寄存器或半导体存储器等硬件构成。在本实施例中,这些FIFO30、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利用硬件实现8BP-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分离开。因此,可以把CPU总线96只用于数据传送控制。此外,能够占用总线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在生成页表时进行对页表的元素数(元素指针)进行计数的处理。
再有,当页表存在并已取出责表时,寄存器226在固件读的时候以字节为单位(元素数×8字节)表示已取出的页表的尺寸。另一方面,当页表不存在而生成页表时,寄存器226在固件读的时候以字节为单位(元素数×8字节)表示已生成的页表的尺寸。
这样,在本实施例中,不管是取出页表还是生成页表时,寄存器226都以相同的字节为单位表示页表尺寸。因此,固件和传送执行控制电路等其它电路方框不管是取出的页表还是生成的页表,都可以使用存储于该寄存器226中的页表尺寸进行所要的处理。从而,可以谋求处理的简单化和硬件的小规模化。
元素保存电路230是保存作为SBP-2核心的处理对象的页表元素的信息的电路,包括保存页表元素的段长度的寄存器232和保存段偏移地址的寄存器234。
传送执行控制电路240是控制执行SBP-2的数据传送(数据流传送)的电路,包括寄存器242和244。而且,寄存器242表示当前处理中的页表元素的序号。此外,在244寄存器中,由固件设定开始数据传送的页表元素的序号。因此,固件能够从任意页表元素开始进行数据传送。
再有,传送执行控制电路240通过把寄存器226的页表尺寸除8得到的元素数和寄存器242的当前元素序号进行比较,判断所有的页表元素处理是否结束。例如,当取出24页的页表时,在当前元素序号是24的地方结束处理,当生成了3页的页表时,在当前元素序号是3的地方结束处理。
有效负载分割电路250进行将传送的数据分割成有效负载尺寸的信息包的处理。在有效负载分割电路250包含的寄存器252中,设定由ORB指定的最大有效负载尺寸。此外,寄存器254表示实际的有效负载尺寸。有效负载分割电路250根据从RAM的HW页表区(图8的AR1)读出并保存在寄存器232中的页表元素的段长度和寄存器252中设定的最大有效负载尺寸进行有效负载分割处理。
发送标题生成电路260根据由固件设定的速度代码和目的地ID等进行生成图4的A3、图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)。
3.2页表取出电路
其次,使用图12的流程图说明页表取出电路210的动作。
首先,准备页表地址和页表尺寸(元素数)等取出页表所必须要的参数(步骤S11)。其次,对发送标题生成电路200指示开始执行事务处理(步骤S12)。接着,当由信号TComp通知事务处理结束时,对页表生成电路220指示更新页表地址(步骤S13)。
其次,根据主控制电路200来的信号Pause判断是否指示暂停(步骤S14)。即,当固件发送暂停命令并将1写入寄存器204时,信号Pause变成有效,指示暂停。然后,当固件发送重新开始命令并将1写入寄存器206时,信号Pause变成无效,暂停被解除,重新开始数据传送处理(步骤S15)。
3.3页表生成电路
页表生成电路220是当起始端的数据缓存不存在页表时生成虚拟页表的电路,生成的页表存储在RAM的HW用页表区。而且,即使起始端的数据缓存不存在页表时,也可以根据该生成的虚拟页表将传送数分割成不超越页边界的信息包并进行传送处理。
例如,如图13所示,传送数据的开头地址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页表元素)。
只是,如图14A所示,当传送数据的开头地址SA在页边界PB1(第K页边界)上时,不生成X种页表元素,而变成2页的页表。此外,如图14B所示,当传送数据的结束地址EA在页边界PB4(第L页边界)上时,不生成Z种页表元素,而变成2页的页表。进而,如图14C所示,当传送数据的开头地址SA在页边界PB0和PB1之间、结束地址EA在页边界PB0和PB1之间或PB1上时,生成1页的页表,SA、EA间变成X种的页表元素。
此外,在本实施例中,图10的有效负载分割电路250把传送数据分割成信息包,该信息包的最大有效负载尺寸是页边界尺寸的约数。即,在图15中,分割成最大有效负载尺寸MaxPLS是页边界尺寸PBS的约数的信息包。
这样,若使最大有效负载尺寸MaxPLS是页边界尺寸PBS的约数,例如,如图15的C1和C2所示那样,在页表边界PB2和PB3中,信息包的有效负载不跨过页边界。因此,即使象本实施例那样生成PB1、PB4间的页表元素数为1的页表时,也能够遵守不跨过页边界的限制来进行数据传送。
其次,使用图16、图17的流程图详细说明页表生成电路的动作。
首先,初始化图10的元素计数器228的计数值(元素指针)(步骤S21)。在本实施例中,元素计数器228的计数值的范围是0~2,初始化的计数值是0。
其次,判断开头地址是否在页边界上(步骤S22)。更具体一点说,由ORB利用直接地址指定的传送数据的开头地址(参照图6C)的低位位0~M(M是由页边界尺寸决定的值)是否为0。接着,当低位位0~M全是0时,判断开头地址是在页边界上并转到图17的步骤S30。另一方面,若有1个低位位0~M不是0,判断开头地址不在页边界上并转到图17的步骤S23。
当开头地址不在页边界上而转到图17的步骤S23时,将页表尺寸PTS和从开头地址到下页的边界的尺寸DS进行比较。例如,在图18A、18B中,页表尺寸PTS比从开头地址到下页的边界的尺寸DS大,这时,转到步骤S24并生成X种页表元素。接着,进行将该页表元素写入RAM的HW用页表区(图8的AR1)的处理(步骤S25)。更具体一点说,将从开头地址到下页的边界的尺寸DS写入图10的段长度寄存器232,将开头地址SA写入段偏移地址寄存器234。接着,指示缓存接口290,将这些寄存器232、234的值写入RAM的HW用页表区。
其次,更新开头地址SA、页表尺寸PTS和元素计数器228的计数值(步骤S26)。即,如图18D、图18E所示,将开头地址SA更新成页边界PB1上的地址SA’(SA’=SA+DS),将页表尺寸PTS更新成页边界PB1和结束地址EA间的尺寸PTS’(PTS’=PTS-DS)。此外,元素计数器228的计数值加1变成1。而且,转到图17的开头地址在页边界上时的转移目的地的步骤30中。
如上所述,在本实施例中,如图18A、图18B所示,当开头地址SA在页边界PB0、PB1之间、结束地址EA在PB1之后时,使SA、PB1之间为X种页表元素,同时,在下一个页表元素之后,将SA作为在PB1上进行步骤S30以后的处理。通过这样一来,对于开头地址SA是在页边界PB1上还是不在PB1上的情况,都能使步骤S30以后的处理通用。因此,可以谋求处理的简单化和硬件的小规模化。
当在步骤S23中判断PTS≤DS并转到步骤S27时,如图18C所示,生成X种的页表元素。接着,进行生成的页表元素(段长度、段偏移地址)的写入处理和开头地址SA、页表尺寸PTS、页表元素计数器228的计数值的更新处理(步骤S28、S29)。而且,这时,如图18C所示,在只生成1页的X种的页表元素后转到图17的步骤S38。
当转到图17的步骤S30时,将页表尺寸PTS(高位位M+1~N)与页边界尺寸PBS进行比较。接着如图19A所示,在PTS<PBS时转到步骤S35。另一方面,如图19A、19B。19C所示,当PTS≥PBS时转到步骤S31。
当转到步骤S31时,如图19B、图19D、图19E所示,生成Y种的页表元素。而且,进行将页表元素写入RAM的HW用页表区的处理(步骤S32)。更具体一点说,将页表尺寸PTS的高位位M+1~N写入图10的段长度寄存器232,将开头地址SA写入段偏移地址寄存器234。接着指示缓存接口290,将这些寄存器232、234的值写2RAM的HW用页表区。
再有,作为段长度写入的页表尺寸PTS的高位位M+1~N在图19B中跟SA与PB2之间的尺寸相当,在图19C、图19D中跟SA与PB3之间的尺寸相当。
其次,更新开头地址SA、页表尺寸PTS、页表元素计数器228的计数值(步骤S33)。即,在图19B的情况下,如图20A所示,将开头地址SA更新成页边界PB2上的地址SA’,将PTS更新成PB2与EA之间的尺寸PTS’。在图19D的情况下,如图20B所示,将SA更新成PB3上的地址SA’,将PTS更新成PB3与EA之间的尺寸PTS’。此外,元素计数器228的计数值加1变成2。
其次,判断更新后的页表尺寸是不是变成0(步骤S34)。接着,例如在图19B、图19D的情况下,如图20A、图20B所示,因更新后的页表尺寸PTS’不是0,故转到步骤S35。另一方面,在图19C的情况下,因更新后的页表尺寸是0,故转到步骤S38。
当转到步骤S35时,如图20A、图20B所示,生成Z种的页表元素。而且,进行生成页表元素的写入处理和开头地址SA、页表尺寸PTS、页表元素计数器228的计数值的更新处理(步骤S36、S37)。
其次,根据从主控制电路200来的信号Pause判断是否暂停处理(步骤S38)。当暂停时,根据信号Pause判断是否重新开始处理(步骤S39)。即,当Pause有效时,暂停处理,当Pause无效时,重新开始处理。
3.4传送执行(流式任务)控制电路
其次,使用图21的流程图说明传送执行控制电路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.5有效负载分割电路
其次,使用图22的流程图说明有效负载分割电路250的动作。有效负载分割电路250如图15所示,是进行把传送数据分割成有效负载尺寸的信息包的处理的电路。
首先,判断存储在图10的寄存器232的页表元素的段长度的剩余字节数是否在最大有效负载尺寸之上(步骤S51)。接着,当剩余字节数在最大有效负载尺寸之上时,将信息包的有效负载尺寸设定成最大有效负载尺寸(步骤S52)。另一方面,如图15的C3和C4所示那样,当剩余字节数是否小于最大有效负载尺寸时,将信息包的有效负载尺寸设定成剩余字节数(步骤S53)。
再有,在本实施例中,如图15说明了的那样,最大有效负载尺寸MaxPLS是页边界尺寸PBS的约数。因此,当利用图22所示的处理将Y种的页表元素的传送数据分割成最大有效负载尺寸MaxPLS的信息包时,如图15的C1和C2所示,信息包的有效负载没有跨越页边界PB2、PB3。
有效负载设定后,向发送标题生成电路260指示开始事务处理的执行处理(生成发送标题)(步骤S54)。接着,当利用从事务处理控制电路270来的信号TComp通知事务处理完毕时,向元素保存电路230指示更新存储在寄存器232、234中的页表元素的段长度(剩余字节数)和段偏移地址(开头地址)(步骤S55)。
其次,根据从主控制电路200来的信号Pause判断是否暂停处理(步骤S56)。当已暂停时,以信号Pause变成无效为条件,重新开始处理(步骤S57)。
3.6发送标题生成电路、事务处理控制电路
其次,使用图23的流程图说明发送标题生成电路260和事务处理控制电路270的动作。
首先,生成要求信息包的标题,并写入HW用发送标题区(图8的AR3)(步骤S61)。更具体一点说,当象图4的A3那样向起始端发送数据时,将写要求(数据块写要求)信息包的标题写入HW用发送标题区。另一方面,当象图5的B1那样从起始端接收数据或象图12那样取出页表时,将读要求信息包的标题写入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用发送标题区的发送标题,重新开始传送。
如上所述,若按照本实施例,当起始端的数据缓存存在页表时,取出该页表,当不存在时,生成虚拟页表。而且,根据该取出或生成的页表执行数据传送。因此,能够使页表取出或生成后的传送执行处理通用化。即,从图21、图22、图23可知,对页表是生成的情况或页表是取出的情况,传送执行控制电路240、有效负载分割电路250、发送标题生成电路260和事务处理控制电路270的处理内容都一样。因此,在这些各电路方框中,没有必要分别设置页表取出时用的电路和页表生成时用的电路,可以谋求处理的简单化和电路的小规模化。
此外,若按照本实施例,如图13所示,生成页边界PB1与PB4之间(第K、第L页边界间)的页表元素数是1(规定数)的虚拟页表。因此,能够把页表尺寸压缩成最小限度的尺寸(例如3页以下)。由此,能够节约存储页表的HW用页表区的使用存储容量。此外,当起始端不存在页表而以直接地址方式指定地址时,如图15所示,能够实现高速数据传送而又能遵守不超越起始端一侧的数据缓存的各页边界的限制。
此外,在本实施例中,图8的AR1的HW用页表区、图10的页表地址、页表尺寸用寄存器224、226与取出还是生成页表无关,可以通用。因此,可以谋求各电路方框处理和固件处理的简单化。
此外,在本实施例中,图4的A3和图5的B1所示的处理由硬件自动执行。即,当固件指示开始信息包的连续传送处理时(使图10的寄存器202写入1),SBP-2核心84利用硬件自动执行页表的取出或生成处理、有效负载分割处理、发送标题的生成处理、各信息包的传送开始处理和错误处理等并自动传送一系列的信息包。因此,能够大大减轻固件的处理负担,能大幅度提高数据传送控制装置的实际传送速度。
4.数据区的分离(分离成ORB区和数据流区)
在本实施例中,象图8所示那样,将图7的RAM80(信息包存储装置)分离成标题区(AR2、AR3、AR4、AR6)和数据区(AR5、AR7、AR8、AR9),同时,将数据区分离成ORB区(AR5、AR7)和数据流区(AR8、AR9)。
即,通过将RAM分离成标题区和数据区,固件可以从标题区连续读出标题,或将标题连续写入标题区。因此,具有能够在某种程度上减轻固件的处理负担的优点。但是,从更高速传送数据的观点来看,单单分离成标题区和数据区还不够。
例如,在图24A中,信息包被分离成标题和数据,标题1、2、3存储在标题区,数据1、2、3存储在数据区。
这里,如前所述,数据有SBP-2(第1层)用的ORB(第1数据)和上层的应用层(第2层)用的数据流。因此,只将RAM分离成标题区和数据区,如图24A的D1、D2、D3所示那样,在数据区将ORB和数据流混在一起。
因此,例如,当从RAM向应用层的设备传送数据流时,必须进行下面的处理。即,首先,将数据指针设定在D1的位置再读出数据流11、12、13,其次,将数据指针变到D2的位置再读出数据流21、22、23。然后,将数据指针变到D3的位置再读出数据流31、32、33。
这样,只将RAM分离成标题区和数据区,在向应用层的设备传送数据流时,必须频繁地控制切换数据指针的位置,会招致处理的复杂化和电路的大规模化。此外,因不能连续从数据区读出数据流,故不能把数据传送控制装置的实际传送速度提得很高。
另一方面,在图24B中,将数据区分离成ORB区和数据流区。这样一来,固件能够连续从ORB区读出ORB1、2、3。此外,可以利用前述SBP-2核心84的功能,不经过固件而将数据流11~33连续从RAM的数据流区读出,并向应用层的设备传送。即,如图25所示,能够在对方节点123(例如个人计算机)和应用层的设备(例如进行打印机的打印处理的设备)之间高速传送数据流(例如打印数据),而不经过固件(CPU)66。结果,与图24A相比,大大减轻了固件的处理负担,同时,能够使数据传送更加高速化。
再有,通过将数据区分离成发送ORB区(图8的AR7)和发送数据流区(AR8),数据传送装置120不仅在接收数据流时,而且在发送数据流时,也能谋求数据传送的高速化。即,不仅对如图25的方向DR1所示那样从对方节点123到应用层的设备124(本节点)传送数据流的情况,对于象方向DR2所示那样从应用层的设备124到对方节点123传送数据流的情况,也能谋求数据传送的高速化。
5.利用事务处理标签切换写入区
在IEEE1394中,作为用于识别各事务处理的信息,使用称之为事务处理标签t1的东西。
即,事务处理的要求节点在要求信息包中包含事务处理标签t1,并向响应节点发送。而且,接收该要求信息包的响应节点在响应信息包中包含与上述相同的t1,并返送回要求节点。要求节点通过识别返回的包含在响应信息包中的t1,能够确认该响应信息包是与本身要求的事务处理对应的响应。
事务处理标签t1若与响应节点的关系是唯一的就足够了。更具体一点说,例如,要求节点ND1对响应节点ND2发送t1=TN1的事务处理时,在该事务处理未完的期间,要求节点ND1不能对响应节点ND2发送其它的附有t1=TN1的事务处理。即,各事务处理利用事务处理标签t1、源ID和目的地ID可以唯一地确定。反之,事务处理标签t1只要遵守上述限制,可以使用任何值,其它的节点不管什么样的t1必须都能接收。
当要求节点发送要求信息包并等待返回响应信息包时,有时响应信息包返回时进行的处理是已经决定的。因此,本实施例着眼于上述那样的事务处理标签t1的性质,采用下面这种方法。
即,如图26A所示,当对响应节点发送开始事务处理的要求信息包时,在包含在要求信息包中的事务处理标签t1(广义地说是事务处理识别信息)中,包含指示返送响应信息包时应进行的处理的指示信息。而且,当从响应节点接收响应信息包时,执行与包含在t1中的指示信息对应的处理。
这样一来,当返送响应信息包时,利用SBP-2核心84等的硬件去执行与包含在t1中的指示信息对应的处理,而与固件无关。因此,能够减轻固件的处理负担,同时能谋求数据传送的高速化,
更具体一点说,在本实施例中,当从响应节点接收响应信息包时,将该响应信息包存储在由包含在t1中的指示信息指示的区域中。
即,如图26B所示,将事务处理标签t1的位5、4作为表示指示信息的位预先给定。
而且,当把返送来的响应信息包写入HW(硬件)用区域时,使要求信息包的t1的位5置1,并向响应节点发送。另一方面,当把返送来的响应信息包写入FW(固件)用区域时,使要求信息包的t1的位5置0,并向响应节点发送。
此外,当把返回的响应信息包写入数据流区域时,使要求信息包的t1的位4置1,并向响应节点发送。另一方面,当把返送来的响应信息包写入ORB区域时,使要求信息包的t1的位4置0,并向响应节点发送。
这样一来,当响应信息包返回来时,如图27所示,将响应信息包的标题和数据写入RAM的各区域内。
即,当t1=1×××××(×表示随意)时,响应信息包的标题写入HW用接收标题区,当t1=0×××××时,写入FW用接收标题区。
此外,当t1=11××××时,响应信息包的数据写入HW用接收数据流区,当t1=10××××时,写入HW用页表区。此外,当t1=01××××时,响应信息包的数据写入FW用接收数据流区,当t1=00××××时,写入FW用接收ORB区。
这样一来,可以不经过固件由硬件(电路)自动地将响应信息包的标题和数据写入RAM的各区域内。而且,可以使进行将响应信息包写入RAM的处理的硬件的构成简单化,可以谋求数据传送装置的小规模化。
此外,如图24B已说明的那样,因能够自动地将信息包的标题写入标题区、将ORB写入ORB区、数据流写入数据流区,故能够使硬件处理简单化,使数据传送高速化。
6.电子装置
下面,说明包含本实施例的数据传送控制装置的电子装置的例子。
例如,图28A示出作为电子装置之一的打印机的内部方框图,图29A示出其外观图。CPU(微机)510对整个系统进行控制等。操作部511用来由用户操作打印机。在ROM516中存储控制程序、字型等,RAM518起CPU510的工作区的作用。显示面板519用来将打印机的工作状态通知给用户。
从个人计算机等其它节点经PHY设备502和数据传送控制装置500送过来的打印数据经总线504直接送往打印处理部512。而且,利用打印处理部512对打印数据进行规定的处理,利用由打印头等构成的打印部(输出数据的装置)514,将打印数据打印在纸上。
图28B示出作为电子装置之一的扫描仪的内部方框图,图29B示出其外观图。CPU520对整个系统进行控制等。操作部521用来由用户操作扫描仪。在ROM526中存储控制程序等,RAM528起CPU520的工作区的作用。
利用由光源、光电变换器等构成的图象读取部(用于取入数据的装置)522读取原稿的图象,读取的图象数据由图象处理部524处理。而且,处理后的图象数据经总线505直接送往数据传送控制装置500。数据传送控制装置500通过对该图象数据附加标题等来生成信息包,经PHY设备502发送到个人计算机等其它节点。
图28C示出作为电子装置之一的CD-RW驱动器的内部方框图,图29C示出其外观图。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中。
再有,在图28A、图28B和图28C中,除了CPU510、520和530之外,也可以另外设置用于数据传送控制装置500的数据传送控制的CPU。
此外,在图28A、图28B和图28C中,RAM501(与图7的RAM80相当)设在数据传送控制装置500的外部,但也可以将RAM501装在数据传送控制装置500的内部。
通过将本实施例的数据传送控制装置用于电子装置,可以实现高速数据传送。因此,当用户利用个人计算机等发出打印出来的指示时,以很少的延时即可打印完毕。此外,当向扫描仪发出取入图象的指示后,能够以很少的延时让用户看到读取的图象。此外,能够高速进行从CD-RW的数据读取和向CD-RW的数据写入。进而,例如,将多台电子装置连接到1台主机系统上使用,或将多台电子装置连接到多台主机系统上使用,这都很容易。
此外,通过将本实施例的数据传送控制装置用于电子装置,可以减轻在CPU上工作的固件的处理负担,可以使用便宜的CPU和低速总线。进而,因可以谋求数据传送控制装置的低成本化和小规模化,所以,也能够谋求电子装置的低成本化和小规模化。
再有,作为能够应用本实施例的数据传送控制装置的电子装置除上述之外,例如还可以考虑各种光盘驱动器(CD-ROM、DVD)、光磁盘驱动器(MO)、硬盘驱动器、TV、VTR、摄像机、录放音机、电话机、投影仪、个人计算机、电子笔记本、文字处理器等。
再有,本发明不限于本实施例,在本发明的要点的范围内可以进行各种变形实施。
例如,本发明的数据传送控制装置的构成最好象图7所示那样构成,但也不限于此。
此外,页表生成电路的页表生成方法,最好是图13~图20B中说明的方法,但也不限于此,至少,也可以根据页边界信息由硬件生成虚拟页表。
此外,传送执行电路(SBP-2)的构成最好象图10所示那样构成,但也不限于此,至少,也可以是将传送数据分割成不超越各页边界的信息包再进行传送的电路。
此外,图13~图20B中说明的页表生成方法最好由硬件(电路)实现,但也可以由软件来实现。
此外,信息包的分离方法、向信息包存储装置的各区域写入信息包或读出信息包的方法也不限于利用图8、图24B说明了的方法。
此外,特别地希望第1数据是事务处理层用的数据,第2数据是应用层用的数据,但本发明的第1、第2数据并不限于此。
此外,本发明特别希望按IEEE1394规格进行数据传送,但并不限于此。例如,本发明也适用于按和IEEE1394有同样思想的规格或发展了IEEE1394的规格的数据传送。

Claims (17)

1、一种数据传送控制装置,用来在与总线连接的多个节点之间传送数据,其特征在于,包括:
当对方节点的存储装置中存在页表时从对方节点取出该页表的页表取出电路;
当对方节点的存储装置中不存在页表时根据页边界信息和传送数据的开头地址和页表尺寸生成虚拟的页表的页表生成电路;
根据上述取出的页表或上述被生成的页表中的页表元素的段长度,和规定的最大有效负载尺寸,将传送数据有效负载分割成为不超越各页边界的、并且在上述最大有效负载尺寸以下的信息包、并执行传送处理的传送执行电路;以及
与上述页表取出电路、上述页表生成电路、上述传送执行电路连接、在页表存在于对方节点的存储装置时,对上述页表取出电路指示页表的取出处理的开始,在页表不存在于对方节点的存储装置时,对上述页表生成电路指示页表的生成处理的开始,在页表的取出处理或生成处理完了时,对上述传送执行电路指示传送执行处理的开始的主控制电路。
2、按照权利要求1所述的数据传送控制装置,其特征在于:
当处理装置发送了传送开始命令时,上述页表取出电路或上述页表生成电路自动地取出或生成页表,
上述传送执行电路自动地将1个页表的传送数据分割成一连串的信息包,并执行连续传送已被分割的一连串信息包的处理。
3、按照权利要求1所述的数据传送控制装置,其特征在于:
包括根据页表具有的页表元素信息将传送数据分割成有效负载尺寸的信息包的有效负载分割电路。
4、按照权利要求1所述的数据传送控制装置,其特征在于:
包含具有存储信息包的控制信息的控制信息区和存储信息包的数据的数据区的可随机存取的信息包存储装置,
上述信息包存储装置的上述数据区分离成存储第1层用的第1数据的第1数据区和存储成为上述传送执行电路的连续信息包传送的对象的第2层用的第2数据的第2数据区;
上述第1数据是在上述第1层的协议中用的命令数据,上述第2数据是在应用层中用的数据。
5、按照权利要求4所述的数据传送控制装置,其特征在于:
当把使事务处理开始的要求信息包向对方节点发送时,在包含在上述要求信息包中的事务处理识别信息中包含指示信息,用来指示在接收到来自对方节点的对应于上述要求信息包的响应信息包时进行的处理,
当接收到来自对方节点的对应于上述要求信息包的响应信息包时,根据响应信息包的事务处理识别信息包含的上述指示信息,将响应信息包控制信息、第1、第2数据分别写入上述控制信息区和上述第1、第2数据区。
6、按照权利要求1所述的数据传送控制装置,其特征在于:
包含可随机存取的信息包存储装置,
上述信息包存储装置具有页表区,在该页表区中,在取出页表时存储已取出的页表,在生成了页表时存储已生成的页表。
7、按照权利要求1所述的数据传送控制装置,其特征在于:
包含页表尺寸寄存器,若是已取出的页表,则表示取出页表的尺寸,若是已生成的页表,则表示已生成页表的尺寸。
8、按照权利要求1所述的数据传送控制装置,其特征在于:
以IEEE1394规格为标准进行数据传送。
9、一种电子装置,其特征在于,包括:
权利要求1至8中任何一项所述的数据传送控制装置;
与上述数据传送控制装置连接、对经上述数据传送控制装置和总线从其它节点接收来的数据进行给定的处理的第1装置;以及
与上述第1装置连接、用于对已由上述第1装置处理过的数据进行输出或存储的第2装置。
10、一种电子装置,其特征在于,包括:
权利要求1至8中任何一项所述的数据传送控制装置;
与上述数据传送控制装置连接、对经上述数据传送控制装置和总线发送到其它节点的数据进行给定的处理的第1装置;以及
与上述第1装置连接、用于取入已由上述第1装置处理过的数据的第2装置。
11、一种数据传送控制装置,用来在与总线连接的多个节点之间传送数据,其特征在于:包括
页表生成装置,根据页表边界信息和传送数据的开头地址和页表尺寸,当传送数据的开头地址在对方节点的存储装置的第K-1、第K页的边界间、传送数据的结束地址在第L、第L+1页的边界间时,开头地址和第K页边界之间成为第1页表元素,第K与第L的页边界之间成为第2页表元素,第L页边界与结束地址之间成为第3页表元素的页表;
传送执行装置,根据已生成的页表将传送数据分割成不超越各页边界的信息包,并执行传送处理;以及
主控制电路,与上述页表生成装置,上述传送执行装置连接,在页表不存在于对方节点的存储装置时,对上述页表生成装置指示页表的生成处理的开始,在页表的生成处理完了时,对上述传送执行装置指示传送执行处理的开始。
12、按照权利要求11所述的数据传送控制装置,其特征在于:
包含有效负载分割装置,将传送数据分割成最大有效负载尺寸是页边界尺寸的约数的有效负载尺寸的信息包。
13、按照权利要求11所述的数据传送控制装置,其特征在于:
当传送数据的开头地址在第K-1、第K页的边界间、传送数据的结束地址在第K-1、第K页的边界间或第K页的边界上时,上述页表生成装置生成开头地址与结束地址之间成为第1页表元素的页表。
14、按照权利要求11所述的数据传送控制装置,其特征在于:
上述页表生成装置以下述方式生成页表,当传送数据的开头地址在第K-1、第K页的边界间、传送数据的结束地址在第K页的边界的后面时,将开头地址与第K页边界之间作为第1页表元素,关于下一个页表元素往后,假定传送数据的开头地址在第K页的边界上。
15、按照权利要求11所述的数据传送控制装置,其特征在于:
以IEEE1394规格为标准进行数据传送。
16、一种电子装置,其特征在于,包括:
权利要求11至15中任何一项所述的数据传送控制装置;
与上述数据传送控制装置连接、对经上述数据传送控制装置和总线从其它节点接收来的数据进行给定的处理的第1装置;以及
与上述第1装置连接、用于对已由上述第1装置处理过的数据进行输出或存储的第2装置。
17、一种电子装置,其特征在于,包括:
权利要求11至15中任何一项所述的数据传送控制装置;
与上述数据传送控制装置连接、对经上述数据传送控制装置和总线发送到其它节点的数据进行给定的处理的第1装置;以及
与上述第1装置连接、用于取入已由上述第1装置处理过的数据的第2装置。
CNB001306936A 1999-10-15 2000-10-16 数据传送控制装置和电子装置 Expired - Fee Related CN1146801C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP293588/1999 1999-10-15
JP29358899A JP3780776B2 (ja) 1999-10-15 1999-10-15 データ転送制御装置及び電子機器

Publications (2)

Publication Number Publication Date
CN1293412A CN1293412A (zh) 2001-05-02
CN1146801C true CN1146801C (zh) 2004-04-21

Family

ID=17796676

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001306936A Expired - Fee Related CN1146801C (zh) 1999-10-15 2000-10-16 数据传送控制装置和电子装置

Country Status (8)

Country Link
US (2) US6810445B1 (zh)
EP (1) EP1093269B1 (zh)
JP (1) JP3780776B2 (zh)
KR (1) KR100381647B1 (zh)
CN (1) CN1146801C (zh)
AT (1) ATE339834T1 (zh)
DE (1) DE60030655D1 (zh)
TW (1) TW498209B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3606133B2 (ja) * 1999-10-15 2005-01-05 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20030031152A1 (en) * 2000-02-23 2003-02-13 Wataru Gohda Asynchronous transmission method
JP3740379B2 (ja) * 2000-04-19 2006-02-01 キヤノン株式会社 画像処理装置及び画像処理方法
JP4097891B2 (ja) * 2000-11-27 2008-06-11 三菱電機株式会社 Ieee1394を用いた同期システム
US7315388B2 (en) * 2001-01-24 2008-01-01 Canon Kabushiki Kaisha Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
SE521753C2 (sv) * 2002-02-08 2003-12-02 Xelerated Ab Förfarande och system för att uppfylla realtidskrav för en dataprocessor
JP3775318B2 (ja) 2002-03-20 2006-05-17 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2003281071A (ja) 2002-03-20 2003-10-03 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
US7500047B1 (en) * 2004-12-03 2009-03-03 Crossroads Systems, Inc. System and method for processing commands
JP2007179273A (ja) * 2005-12-27 2007-07-12 Sony Corp ファイル転送システム、ファイル記憶装置、ファイル記憶方法及びプログラム
US20080034147A1 (en) * 2006-08-01 2008-02-07 Robert Stubbs Method and system for transferring packets between devices connected to a PCI-Express bus
US9747363B1 (en) * 2012-03-01 2017-08-29 Attivio, Inc. Efficient storage and retrieval of sparse arrays of identifier-value pairs
JP5867206B2 (ja) * 2012-03-16 2016-02-24 富士通株式会社 移動制御装置,プログラム及びストレージ装置
JP7270387B2 (ja) * 2019-01-15 2023-05-10 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
CN112560090B (zh) * 2020-12-15 2023-01-24 建信金融科技有限责任公司 一种数据检测方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4993846A (en) * 1989-07-21 1991-02-19 Sidney Diamond Soft bag and expander
US5313582A (en) 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
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
JPH10178438A (ja) 1996-12-18 1998-06-30 Sony Corp データ通信システム、データ通信装置および方法
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
JPH11224220A (ja) 1998-02-09 1999-08-17 Hitachi Ltd メモリ管理方式
JP3376956B2 (ja) * 1999-05-14 2003-02-17 日本電気株式会社 プロセッサ間通信装置

Also Published As

Publication number Publication date
KR100381647B1 (ko) 2003-04-26
US7249204B2 (en) 2007-07-24
JP3780776B2 (ja) 2006-05-31
JP2001119414A (ja) 2001-04-27
ATE339834T1 (de) 2006-10-15
CN1293412A (zh) 2001-05-02
US20050044291A1 (en) 2005-02-24
DE60030655D1 (de) 2006-10-26
EP1093269A2 (en) 2001-04-18
EP1093269A3 (en) 2002-09-11
TW498209B (en) 2002-08-11
US6810445B1 (en) 2004-10-26
KR20010051013A (ko) 2001-06-25
EP1093269B1 (en) 2006-09-13

Similar Documents

Publication Publication Date Title
CN1201242C (zh) 数据传送控制装置和电子装置
CN1146801C (zh) 数据传送控制装置和电子装置
CN1146798C (zh) 数据传输控制装置及电子设备
CN1303549C (zh) 内容使用方法和系统,用于该系统的服务器和电子设备
CN1287256C (zh) 电子设备与功率控制方法
CN1138211C (zh) 数据传输控制装置及电子设备
CN1119001C (zh) 数据发送装置及其方法
CN100351816C (zh) 数据传送控制装置、电子装置和数据传送控制方法
CN1188998C (zh) 数据传输控制装置和电子设备
CN101030929A (zh) 网络中继装置
CN101048989A (zh) 发送设备、接收设备、以及文件传输系统
CN1658184A (zh) 网络系统、分布式处理方法和信息处理装置
CN1947106A (zh) 通知方法、连接装置、通信方法以及程序
CN1788247A (zh) 网络服务系统、服务代理处理方法、存储程序的计算机可读存储介质、及其程序
CN1855900A (zh) 网关系统
CN1301476C (zh) 网关卡、网关控制方法以及网关装置
CN1871821A (zh) 集线装置、中继控制方法、中继控制程序、记录了中继控制程序的记录介质、信息处理装置、动态主机配置协议服务器、动态主机配置协议处理方法、动态主机配置协议处理程序、记录了动态主机配置协议处理程序的记录介质、以及信息处理系统
CN1184786C (zh) 数据通信系统、方法、装置和数字接口
CN1179521C (zh) 数据传输控制装置和电子仪器
CN1545017A (zh) 网络系统和网络接口卡
CN1132395C (zh) 数据通信系统和数据通信方法
CN1739296A (zh) 视频网络
CN1241126C (zh) 数据传输控制系统及方法
CN1532754A (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: 20040421

Termination date: 20131016