CN1936873A - 一种控制两种不同速度总线间数据传送的方法 - Google Patents

一种控制两种不同速度总线间数据传送的方法 Download PDF

Info

Publication number
CN1936873A
CN1936873A CN 200510086446 CN200510086446A CN1936873A CN 1936873 A CN1936873 A CN 1936873A CN 200510086446 CN200510086446 CN 200510086446 CN 200510086446 A CN200510086446 A CN 200510086446A CN 1936873 A CN1936873 A CN 1936873A
Authority
CN
China
Prior art keywords
data
bus
write
read
fifo
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
Application number
CN 200510086446
Other languages
English (en)
Other versions
CN100414524C (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.)
Loongson Technology Corp Ltd
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005100864461A priority Critical patent/CN100414524C/zh
Publication of CN1936873A publication Critical patent/CN1936873A/zh
Application granted granted Critical
Publication of CN100414524C publication Critical patent/CN100414524C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种控制两种不同速度总线间数据传送的方法。该方法包含:传送不同方向数据用的读FIFO和写FIFO、用于从写FIFO中收集写数据的写缓冲区0和写缓冲区1、用于在另外一条总线的数据进入读FIFO前缓冲数据的读缓冲区。本发明的优点有:1)读、写FIFO的控制逻辑相对简单;2)以较小的写FIFO深度就可以在发起方总线上获得理想的效率;3)写数据在写FIFO中停留的时间短,可以尽早地在目标方总线上发起写操作;4)以流水的方式处理读数据地传送;5)通过目标方总线接口地读写缓冲区处理发起方总线和目标方总线宽度不一致地情况。本发明可应用于控制两种不同速度总线间数据传送的桥接芯片的设计中。

Description

一种控制两种不同速度总线间数据传送的方法
技术领域
本发明涉及控制总线间数据传送的方法,特别涉及一种控制两种不同速度总线间数据传送的方法。
背景技术
计算机系统中通常使用一种叫桥的芯片将不同的总线相互隔离。当一条总线上的设备要请求其它总线上的资源时,由桥负责将这条总线上的操作转换为其所请求资源所在总线上的操作。由于总线在物理和结构上的限制,每条总线上只能挂载数量有限的设备。因此很多计算机系统在结构上使用多条相互隔离的总线来提供系统功能的扩展。这些相互隔离的总线可以使用相同协议,也可以使用不同协议。不同总线间的协议转换由用来隔离这些总线的桥负责完成。经过桥的转换,一条总线上的设备就可以和其它总线上的设备相互交换数据。通常,桥对于与之相连的总线上的设备来说是透明的。在一条总线上的设备看来,桥也是这条总线上的设备。总线上的设备就是通过向桥发送读写请求来和与桥相连的其它总线上的设备交换数据的。
目前,已知的控制两种不同速度总线间数据传送的方法,比如文献1:Low costdata streaming mechanism(美国专利号:6,460,108)中公开的方法,该方法的主要方案是:在写传送中,发起方总线的接口将数据写入写FIFO(先入先出队列,FIFO是以first in first out方式组织的队列,以下简称FIFO),目标方总线接口通过写FIFO的控制信号判断写FIFO中是否有足够的数据在目标方总线上发起一次写操作,如果写FIFO中有足够的数据就在目标方总线发起写操作;在读传送中,发起方总线接口向目标方总线接口提交请求后,目标方总线接口在目标方总线上发起操作并将接收到的数据写入读FIFO,在读FIFO中数据长度达到阈值时发起方总线接口开始在发起方总线上返回数据,当读FIFO满或者已经在发起方总线上返回了足够的数据时目标方总线接口终止在目标方总线上的读操作。
但是,文献1中方法的不足在于:读FIFO和写FIFO需要比较复杂的控制逻辑表明FIFO中的有效数据的长度,写数据需要在写FIFO中停留较长的时间,为了提高发起方总线在写传送时的效率需要较大深度的写FIFO。当发起方总线和目标方总线的宽度不一致时文献1中的方法就不适用了,并且文献1并没有提及在读传送过程中,当目标方总线接口在向读FIFO中写入数据时发起方终止读操作的情况如何处理。
发明内容
本发明的目的是克服已知技术的不足,提供一种控制两种不同速度总线间数据传送的方法,该方法通过流水的方式处理总线设备间的读写请求,能够快速高效地完成访问。
为了达到上述目的,本发明采取的技术方案如下:
一种控制两种不同速度总线间数据传送的方法,包括:
对于写数据过程,包括如下步骤:
a)桥设备第一总线侧的接口发现该第一总线上的设备要将数据发送给第二总线;
b)桥设备接收第一总线上设备的写请求并把所写的地址和数据依次写入写FIFO;
c)桥设备第二总线侧的接口只要发现写FIFO非空就将写FIFO中的数据读入第一写缓冲区中直至第一写缓冲区被写满或读入第一总线设备写入的最后一个数据;
d)桥设备第二总线侧的接口将第一写缓冲区中准备好的数据读取到第二总线上直至读完第一写缓冲区中的数据,在将第一写缓冲区的数据读取到第二总线上的同时桥设备第二总线侧的接口继续将写FIFO中的数据写入第二写缓冲区中直至第一写缓冲区中的数据全部在第二总线上传送完或者第二写缓冲区满或者第一总线1侧设备写入的最后一个数据进入第二写缓冲区;
e)判断第二写缓冲区是否准备好?(第二写缓冲区准备好是指:第二写缓冲区满或者第一总线设备写入的最后一个数据进入第二写缓冲区),如果是,执行下一步骤f);如果否,继续从写FIFO中读取数据到第二写缓冲区中直至第二写缓冲区准备好,然后执行步骤f);
f)交换第二写缓冲区和第一写缓冲区的位置;
g)重复步骤f)-e)直到第一总线设备的最后一个写数据传送到第二总线上。
在上述技术方案中,所述第一总线指PCI总线、LPC总线或者其它接收方在地址周期时不知道传送数据长度的总线,所述第二总线指DDR总线或者桥片内部与内存控制器相连的内部总线。
在上述技术方案中,所述第二总线有比第一总线更宽的数据宽度和更高的频率;通常PCI总线是32位宽33MHZ的总线,DDR是64位宽100MHZ以上的频率。
在上述技术方案中,所述的每个写缓区的长度被设为桥片所处系统的cacheline长度或者DDR内存使用的burst长度。
在上述技术方案中,所述的每个写缓区的每个字节都有自己的位选表明这个字节的数据是否有效。
在上述技术方案中,所述的每个写缓区的最低字节的地址是和桥设备所处系统的cache line对齐的。
在上述技术方案中,所述的写FIFO的每一项包含数据、位选、标识位,该标识位标识该项数据的类型,如写地址、读地址、普通写数据或一次写的最后一个写数据等;其中数据的宽度和第一总线的数据宽度相同,位选的宽度和第一总线的位选宽度相同。
对于读数据过程,包括如下步骤:
1)桥设备第一总线侧的接口发现第一总线上的设备要请求第二总线一侧的数据;
2)桥设备接收第一总线上设备的读请求并把所请求的地址和相应的数据标识写入写FIFO;
3)桥设备第二总线侧的接口将从写FIFO中读到的读请求转换为第二总线上的读请求;
4)当第二总线上的第一个数据返回时,如果第一总线侧设备读请求的地址和在第二总线上发送的请求的地址不对齐,则第二总线侧的接口先将第一总线侧设备请求的数据直接写入读FIFO;
5)第二总线侧的接口继续在向第二总线上请求随后的数据并将得到的数据放入读缓冲区直至读缓冲区满或者第一总线侧的设备已经读到其期望的最后一个数据或者已经读到的数据量达到了阈值;
6)当读缓冲区满时,暂停在第二总线上的请求直到读缓冲区空闲的项数达到半满;
7)第二总线侧的接口在读缓冲区中有数据并且第一总线侧的数据还未读到其期望的最后一个数据时将读缓冲区中的数据导入读FIFO中;
8)当第一总线侧的设备在请求数据时,如果第一总线侧的接口看到读FIFO非空就将读FIFO中的数据返回给请求第一总线侧请求数据的设备直到读FIFO变空或者设备读到其期望的最后一个数据或者返回的数据已经达到阈值;
9)重复步骤5)-8)直到第一总线侧的设备已经读到其期望的最后一个数据或者返回给设备的数据长度已经达到阈值。
在上述技术方案中,所述第一总线指PCI总线、LPC总线或者其它接收方在地址周期时不知道传送数据长度的总线。
在上述技术方案中,所述第二总线指DDR总线或者桥芯片内部与内存控制器相连的内部总线。
在上述技术方案中,所述阈值通常设为读FIFO的深度或者一次允许总线一侧设备传送数据长度的最大值。
在上述技术方案中,所述“第一总线侧的设备已经读到其期望的最后一个数据”是指PCI总线上的设备在最后一个数据周期时桥设备有效。
在上述技术方案中,所述读FIFO每一项包含数据和标识此项数据是否为达到阈值的数据。
与现有技术相比,本发明的优点在于:
1)读、写FIFO的控制逻辑相对简单;
2)以较小的写FIFO深度就可以在发起方总线上获得理想的效率;
3)写数据在写FIFO中停留的时间短,可以尽早地在目标方总线上发起写操作;
4)以流水的方式处理读数据地传送;
5)通过目标方总线接口地读写缓冲区处理发起方总线和目标方总线宽度不一致地情况。
附图说明
图1表示一实施例用于连接PCI总线和DDR总线的桥芯片中控制PCI设备访问DDR内存的数据传送方法的逻辑结构。
具体实施方式
PCI(Peripheral Components Interconnect)总线是当前计算机系统中最常见最通用的外围设备总线。与PCI总线相连的桥在PCI总线上同时作为PCI总线上的一个master(发起方)和一个target(响应方)。在PCI总线上,一个设备典型的DMA工作方式是由处理器通过桥的PCI master接口向设备发送控制命令。设备根据收到的命令将数据通过桥的PCI TARGET接口传送到内存的指定区域或者从内存的指定区域读取数据。设备在数据传送完成后通过中断通知处理器发送新的命令。
PCI总线上的数据传送是以burst方式进行的。在一次传送操作的最后一个数据被传送前,target是不知道当前传送的长度的。已有的连接PCI总线和内存总线的桥芯片(例如Intel的440BX芯片)所连接的内存总线通常是SDRAM内存总线。随着主流的内存总线标准由SDRAM标准转变为DDR标准,使用原有的连接PCI和SDRAM的桥芯片将逐渐消失,随之而来的直接连接PCI总线和内存总线的桥片将转变为连接PCI总线和DDR总线的桥芯片。和SDRAM内存在burst长度上的灵活性不同,DDR内存只能使用固定长度的burst操作。由于内存总线行为的变化,控制PCI设备访问DDR内存的机制需要根据DDR内存的特点来制定才能获得理想的性能。
下面结合附图和具体实施方式对本发明作进一步详细描述:
利用本发明提供的方法解决PCI设备访问DDR内存的数据传送,通过流水的方式处理PCI设备的读写请求使PCI设备能够快速高效地完成对DDR内存的访问。
图1是本发明一实施例用于连接PCI总线和DDR总线的桥芯片中控制PCI设备访问DDR内存的数据传送机制的逻辑的结构,图中给出了本发明用来处理PCI设备读写内存资源涉及的主要存储和控制模块之间的关系。下面是对这些模块具体的功能的描述。
本实施例提供一种控制PCI设备访问存储资源的方法,所需要的硬件结构包括:与PCI总线相连的PCI TARGET接口逻辑、用于接收PCI设备提交的写请求和写数据以及读请求的写FIFO、用于将PCI设备请求的读数据返回的读FIFO、在将写数据提交到与内存控制器相连的内部总线上前用于从写FIFO中收集数据的写缓冲区、用于将内存控制器返回的数据写入读FIFO前转换数据宽度和进行流控的读缓冲区、根据写FIFO传送过来的读/写命令向与内存控制器相连的内部总线上发起读/写操作的内部总线MASTER接口。
写FIFO的每一项包含32位的数据4位的C/BE和两个控制位。控制位中的一位标识这一项是地址还是数据,另一位标识这项是否是一次写操作的最后一个数据。
读FIFO的每一项包含32位的数据和一个标识当前数据是否为最后一个数据的标识位。
PCI TARGET接口逻辑负责监听PCI总线上设备的请求,并按照PCI规范对这些请求做出相应的响应:
处理写请求的过程:
当PCI TARGET接口逻辑接收到PCI设备的写请求时,PCI TARGET接口首先检查写FIFO控制信号以判断写FIFO是否有足够的空间(写FIFO至少有两个空位)接收写地址和至少一个写数据。当PCI设备的写请求到来时如果写FIFO没有足够的空间,PCI TARGET接口将执行PCI协议中的retry操作。当写FIFO有足够的空间接收新的PCI写操作时,PCI TARGET接口陆续将写请求的地址和数据写入写FIFO中直到接收了PCI设备提交的最后一个写数据或者写FIFO满。当写FIFO还剩最后一个空位时出现在PCI总线上的写数据作为一次写操作的最后一个数据被写入写FIFO。当PCI TARGET接口已经开始接收写数据并且写FIFO只剩最后一个空位时,PCI TARGET接口执行PCI协议中的disconnect操作。
处理读请求的过程:
PCI TARGET接口在向写FIFO提交读请求时在接口内部需要同时记录下这个已经提交的读请求。用于记录这个已经提交的读请求的记录包含32位的读地址和记录是否有效的标识位。当PCI TARGET接口逻辑接收到PCI设备的读请求时,PCI TARGET接口检查读记录和写FIFO的控制信号。如果读记录标识位无效并且写FIFO未满,PCI TARGET接口就在读记录中记录这次请求并将读请求写入写FIFO中并执行PCI协议的retry操作。如果读记录标识位有效并且读请求的地址和读记录中的不符或者写FIFO满,PCI TARGET接口执行PCI协议的retry操作。当读记录标识位有效并且读请求的地址和读记录中的相符时,PCI TARGET接口等待读FIFO的非空信号。当读FIFO非空时PCI TARGET接口开始在PCI总线上返回读数据。如果PCI TARGET接口不能在PCI协议中的初始等待周期许可的时间内返回数据,PCI TARGET接口执行retry操作。每返回一项读数据,读记录中的地址就做相应的增加。当开始返回读数据时,读FIFO一旦变空,PCI TARGET接口就执行disconnect操作。当请求数据的设备读到了其请求的最后一个数据或者读FIFO的控制位标识当前返回的数据是内部总线MASTER接口此次返回的最后一个数据时,PCI TARGET接口清除读记录的有效位。当请求数据的设备读到了其请求的最后一个数据时,PCI TARGET接口向内部总线MASTER接口和读FIFO发送一个停止读操作的信号。
内部总线MASTER接口逻辑负责将通过写FIFO传送过来的读/写命令转换为内部总线上的读/写操作,并负责将写FIFO中的数据导入写缓冲区和将内部总线上返回的数据导入读缓冲区以及控制写FIFO的读使能和读FIFO的写使能。
内部总线MASTER接口处理写传送的流程如下:
写缓冲区被划分为两个大小相同的存储区域。每个存储区域所保存数据的长度由DDR控制器采用的最大burst长度确定。为了方便叙述这里称其中一个存储区域为写缓冲区0,另一个存储区域为写缓冲区1。
a)当内部总线MASTER接口从写FIFO的读端口看到有效的写命令后,内部总线MASTER接口从写FIFO中将地址载入接口的地址计数器随后开始加载写缓冲区的过程;
b)在从写FIFO加载了地址后,内部总线MASTER接口只要发现写FIFO非空就将写FIFO中的数据读入写缓冲区O中直至写缓冲区0被写满或读入设备在一次写传送中的最后一个数据;
c)完成写缓冲区0的加载后,内部总线MASTER接口将写缓冲区0中准备好的数据读取到内部总线上直至读完写缓冲区0中的数据,在将写缓冲区0的数据读取到内部总线上的同时内部总线MASTER接口继续将写FIFO中新到来的数据写入写缓冲区1中直至写缓冲区0中的数据全部在内部总线上传送完或者写缓冲区1满或者设备此次写传送的最后一个数据写入写缓冲区1;
d)如果写缓冲区1还没有准备好(写缓冲区1准备好是指:写缓冲区1满或者总线1设备写入的最后一个数据进入写缓冲区1),继续从写FIFO中读取数据到写缓冲区1中直至写缓冲区1准备好;
e)交换写缓冲区1和写缓冲区0的位置;
f)重复c)、d)、e)直到此次写传送最后一个写数据传送到内部总线上。
内部总线MASTER接口处理读传送的流程如下:
a)当内部总线MASTER接口从写FIFO的读端口看到有效的读命令后,内部总线MASTER接口从写FIFO中将地址载入接口的地址计数器随后开始在内部总线上发出读请求;
b)当内部总线上的第一个数据返回时,如果PCI设备读请求的地址和在内部总线上发送的请求的地址不对齐,内部总线MASTER接口先将地址不对齐的数据直接写入读FIFO;
c)内部总线MASTER接口继续在内部总线上请求随后的数据并将返回的数据缓冲到读缓区冲直至读缓冲区满或者接收到PCI TARGET接口发送的停止信号或者接收到的数据长度达到了阈值;
d)当读缓冲区满时,暂停在内部总线上的请求直到读缓冲区空闲的项数达到半满;
e)内部总线MASTER接口在读缓冲区中有数据并且PCI TARGET接口没有发送停止信号时将读缓冲区中的数据读入读FIFO中;
f)重复c)、d)、e)直到收到PCI TARGET接口发送的停止信号或者已经读到的数据长度达到了阈值。
这里的阈值根据读FIFO的深度或者一次传送数据的最大长度确定。
由于在内部总线上读数据返回的速度比内部总线MASTER接口将读数据写入读FIFO的速度快,内部总线MASTER接口需要使用读缓冲区将内部总线上返回的数据先缓冲下来。这样可以在不影响读数据进入读FIFO的前提下提高内部总线MASTER接口在内部总线上的效率。
PCI TARGET接口发送的停止信号需要送给读FIFO和内部总线MASTER接口。读FIFO在收到停止信号时需要清空读FIFO(所有的地址指针归位)。内部总线MASTER接口收到停止信号后需要停止将数据写入读FIFO,撤消在内部总线上的操作并且清空读缓冲区。
本实施例解决了以下难题:快速高效地完成PCI设备写数据的传送、高效地解决PCI设备读数据的返回问题、在典型的应用条件下(32位33MHZ的PCI总线、64位100MHZ以上的DDR总线)减少了对写FIFO容量的需求。由于PCI协议的特点,桥片在传送最后一个数据前是无法知道设备在此次传送中到底要传送多少数据的。在写传送中,如果等到桥片接收了设备一次写传送的所有数据后再将写传送的数据转换为其它接口的请求,桥片很容易因为FIFO满而不能处理新到来的写请求从而影响PCI设备在进行写操作时获得的带宽,而桥片为了在写传送中获得较高的带宽往往需要使用容量较大的写FIFO。
在本实施例中,写FIFO的主要作用不是在PCI设备的一次写传送完成前存储写数据而是让写数据从PCI的时钟域流向桥片内部的时钟域。内部总线MASTER接口不停的从写FIFO的读端口收集新进入的写数据,一旦收集齐规定长度的数据就在内部总线上发起一次写操作。为了加快写数据的收集,内部总线MASTER接口在执行写操作时继续收集下次内部总线上写操作需要的数据。在典型的应用条件下,内部总线MASTER接口收集写数据的速度大于PCI设备提交写数据的速度,内部总线MASTER接口在执行写操作的过程中收集不齐下次写操作的数据,内部总线MASTER接口在开始下次写操作前需要继续未完成的收集工作。这样PCI设备提交的写数据只在写FIFO中做短暂的停留便会被处理。而内部总线MASTER接口每次写操作都有足够的长度以充分利用内存控制器的带宽。在读传送中由于在收到读请求后桥片不知道设备期望得到多长的数据,PCI设备的读请求是一个较难进行高效处理的请求。在本实施例中,PCI设备的读请求被作为启动读数流水线的信号。一旦内部总线MASTER接口看到这个信号就开始不停地在内部总线上请求读数据直到PCI设备得到其期望的最后一个数据或者从内部总线上返回的数据长度已经达到规定值。本专利中使用读缓冲区作为内部总线上读数据进入读FIFO前的缓冲并利用读缓冲区进行内部总线上读操作的流控。在典型的应用环境下本专利使用的处理机制完全可以在PCI协议的16个初始等待周期结束前开始返回第一个读数据并连续返回剩余的读数据。
在FPGA芯片Altera Straix II EP2S60上采用本专利的实现了PCI总线和DDR总线之间的桥接芯片。桥接芯片内部总线采用OpenCores组织所发布的Wishbone总线接口。

Claims (9)

1、一种控制两种不同速度总线间数据传送的方法,
对于写数据过程,包括如下步骤:
a)桥设备第一总线侧的接口发现该第一总线上的设备要将数据发送给第二总线;
b)桥设备接收第一总线上设备的写请求并把所写的地址和数据依次写入写FIFO;
c)桥设备第二总线侧的接口只要发现写FIFO非空就将写FIFO中的数据读入第一写缓冲区中直至第一写缓冲区被写满或读入第一总线设备写入的最后一个数据;
d)桥设备第二总线侧的接口将第一写缓冲区中准备好的数据读取到第二总线上直至读完第一写缓冲区中的数据,在将第一写缓冲区的数据读取到第二总线上的同时桥设备第二总线侧的接口继续将写FIFO中的数据写入第二写缓冲区中直至第一写缓冲区中的数据全部在第二总线上传送完或者第二写缓冲区满或者第一总线1侧设备写入的最后一个数据进入第二写缓冲区;
e)判断第二写缓冲区是否准备好?如果是,执行下一步骤f);如果否,继续从写FIFO中读取数据到第二写缓冲区中直至第二写缓冲区准备好,然后执行步骤f);
f)交换第二写缓冲区和第一写缓冲区的位置;
g)重复步骤f)-e)直到第一总线设备的最后一个写数据传送到第二总线上;
对于读数据过程,包括如下步骤:
1)桥设备第一总线侧的接口发现第一总线上的设备要请求第二总线一侧的数据;
2)桥设备接收第一总线上设备的读请求并把所请求的地址和相应的数据标识写入写FIFO;
3)桥设备第二总线侧的接口将从写FIFO中读到的读请求转换为第二总线上的读请求;
4)当第二总线上的第一个数据返回时,如果第一总线侧设备读请求的地址和在第二总线上发送的请求的地址不对齐,则第二总线侧的接口先将第一总线侧设备请求的数据直接写入读FIFO;
5)第二总线侧的接口继续在向第二总线上请求随后的数据并将得到的数据放入读缓冲区直至读缓冲区满或者第一总线侧的设备已经读到其期望的最后一个数据或者已经读到的数据量达到了阈值;
6)当读缓冲区满时,暂停在第二总线上的请求直到读缓冲区空闲的项数达到半满;
7)第二总线侧的接口在读缓冲区中有数据并且第一总线侧的数据还未读到其期望的最后一个数据时将读缓冲区中的数据导入读FIFO中;
8)当第一总线侧的设备在请求数据时,如果第一总线侧的接口看到读FIFO非空就将读FIFO中的数据返回给请求第一总线侧请求数据的设备直到读FIFO变空或者设备读到其期望的最后一个数据或者返回的数据已经达到阈值;
9)重复步骤5)-8)直到第一总线侧的设备已经读到其期望的最后一个数据或者返回给设备的数据长度已经达到阈值。
2、根据权利要求1所述的控制两种不同速度总线间数据传送的方法,其特征是,所述第二总线有比第一总线更宽的数据宽度和更高的频率。
3、根据权利要求2所述的控制两种不同速度总线间数据传送的方法,其特征是,所述第一总线是接收方在地址周期时不知道传送数据长度的总线,如PCI总线、LPC总线,所述第二总线指DDR总线或者桥片内部与内存控制器相连的内部总线。
4、根据权利要求3所述的控制两种不同速度总线间数据传送的方法,其特征是,所述的每个写缓区的长度被设为桥片所处系统的cache line长度或者DDR内存使用的burst长度。
5、根据权利要求1所述的控制两种不同速度总线间数据传送的方法,其特征是,所述的每个写缓区的每个字节都有自己的位选表明这个字节的数据是否有效;所述的每个写缓区的最低字节的地址是和桥设备所处系统的cache line对齐的。
6、根据权利要求1所述的控制两种不同速度总线间数据传送的方法,其特征是,所述写FIFO的每一项包含数据、位选、标识位,该标识位标识该项数据的类型如写地址、读地址、普通写数据或一次写的最后一个写数据;其中数据的宽度和第一总线的数据宽度相同,位选的宽度和第一总线的位选宽度相同。
7、根据权利要求1所述的控制两种不同速度总线间数据传送的方法,其特征是,所述步骤5)中的阈值通常设为读FIFO的深度或者一次允许总线一侧设备传送数据长度的最大值。
8、根据权利要求1或3所述的控制两种不同速度总线间数据传送的方法,其特征是,所述“第一总线侧的设备已经读到其期望的最后一个数据”是指PCI总线上的设备在最后一个数据周期时桥设备有效。
9、根据权利要求1所述的控制两种不同速度总线间数据传送的方法,其特征是,所述读FIFO每一项包含数据和标识此项数据是否为达到阈值的数据。
CNB2005100864461A 2005-09-20 2005-09-20 一种控制两种不同速度总线间数据传送的方法 Active CN100414524C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100864461A CN100414524C (zh) 2005-09-20 2005-09-20 一种控制两种不同速度总线间数据传送的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100864461A CN100414524C (zh) 2005-09-20 2005-09-20 一种控制两种不同速度总线间数据传送的方法

Publications (2)

Publication Number Publication Date
CN1936873A true CN1936873A (zh) 2007-03-28
CN100414524C CN100414524C (zh) 2008-08-27

Family

ID=37954381

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100864461A Active CN100414524C (zh) 2005-09-20 2005-09-20 一种控制两种不同速度总线间数据传送的方法

Country Status (1)

Country Link
CN (1) CN100414524C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441610B (zh) * 2007-11-21 2010-09-01 中兴通讯股份有限公司 一种实现数据并串转换无缝输出的系统及方法
CN101882126A (zh) * 2010-07-13 2010-11-10 中国科学院计算技术研究所 多个HT总线到单个PCIe总线的桥接装置及其方法
CN102103740A (zh) * 2010-12-20 2011-06-22 福州瑞芯微电子有限公司 一种写入地址和宽度不对齐图像的处理方法和处理电路
CN101694646B (zh) * 2009-09-30 2012-04-18 中国科学院计算技术研究所 一种不同速度总线间读传送的控制方法及系统
CN102497544A (zh) * 2011-12-15 2012-06-13 中国科学院自动化研究所 一种对视频信号的存取进行控制的装置
CN102750244A (zh) * 2011-04-22 2012-10-24 安凯(广州)微电子技术有限公司 分级缓冲的dma传送装置及传送方法
CN109643391A (zh) * 2018-01-15 2019-04-16 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置
CN110196824A (zh) * 2018-05-31 2019-09-03 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备
CN110704345A (zh) * 2019-09-06 2020-01-17 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于pcie的高速多串口卡系统及其发送、接收方法
CN114826813A (zh) * 2022-03-23 2022-07-29 北京全路通信信号研究设计院集团有限公司 一种多路数据可靠传输的设备、系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941970A (en) * 1996-09-26 1999-08-24 Vlsi Technology, Inc. Address/data queuing arrangement and method for providing high data through-put across bus bridge
CN1191530C (zh) * 2001-01-18 2005-03-02 深圳市中兴集成电路设计有限责任公司 多命令部件共用主控器的pci主桥
CN1196988C (zh) * 2002-12-06 2005-04-13 浙江大学 Pci-片上总线连接器

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441610B (zh) * 2007-11-21 2010-09-01 中兴通讯股份有限公司 一种实现数据并串转换无缝输出的系统及方法
CN101694646B (zh) * 2009-09-30 2012-04-18 中国科学院计算技术研究所 一种不同速度总线间读传送的控制方法及系统
CN101882126A (zh) * 2010-07-13 2010-11-10 中国科学院计算技术研究所 多个HT总线到单个PCIe总线的桥接装置及其方法
CN101882126B (zh) * 2010-07-13 2012-01-04 中国科学院计算技术研究所 多个HT总线到单个PCIe总线的桥接装置及其方法
CN102103740B (zh) * 2010-12-20 2013-01-02 福州瑞芯微电子有限公司 一种写入地址和宽度不对齐图像的处理方法和处理电路
CN102103740A (zh) * 2010-12-20 2011-06-22 福州瑞芯微电子有限公司 一种写入地址和宽度不对齐图像的处理方法和处理电路
CN102750244B (zh) * 2011-04-22 2015-03-11 安凯(广州)微电子技术有限公司 分级缓冲的dma传送装置及传送方法
CN102750244A (zh) * 2011-04-22 2012-10-24 安凯(广州)微电子技术有限公司 分级缓冲的dma传送装置及传送方法
CN102497544A (zh) * 2011-12-15 2012-06-13 中国科学院自动化研究所 一种对视频信号的存取进行控制的装置
CN109643391A (zh) * 2018-01-15 2019-04-16 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置
WO2019136749A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置
US11349782B2 (en) 2018-01-15 2022-05-31 Shenzhen Corerain Technologies Co., Ltd. Stream processing interface structure, electronic device and electronic apparatus
CN109643391B (zh) * 2018-01-15 2023-06-13 深圳鲲云信息科技有限公司 流水处理接口结构、电子器件及电子装置
CN110196824A (zh) * 2018-05-31 2019-09-03 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备
US11481346B2 (en) 2018-05-31 2022-10-25 Tencent Technology (Shenzhen) Company Limited Method and apparatus for implementing data transmission, electronic device, and computer-readable storage medium
CN110704345A (zh) * 2019-09-06 2020-01-17 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于pcie的高速多串口卡系统及其发送、接收方法
CN114826813A (zh) * 2022-03-23 2022-07-29 北京全路通信信号研究设计院集团有限公司 一种多路数据可靠传输的设备、系统及方法

Also Published As

Publication number Publication date
CN100414524C (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
CN100414524C (zh) 一种控制两种不同速度总线间数据传送的方法
WO2020001459A1 (zh) 数据处理方法、远程直接访存网卡和设备
US5283872A (en) SCSI device having transfer parameter storage memory blocks which correspond to each apparatus
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
CN109960671A (zh) 一种数据传输系统、方法及计算机设备
CN106873904A (zh) 数据写入方法及固态硬盘
US7484030B2 (en) Storage controller and methods for using the same
US20060236001A1 (en) Direct memory access controller
CN104239252A (zh) 数据存储系统的数据传输方法、装置及系统
CN101308477A (zh) 系统总线的防死锁方法、装置及片上系统
JP2021522608A (ja) ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク
US20020078282A1 (en) Target directed completion for bus transactions
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
CN102646073B (zh) 数据处理方法及装置
US6327636B1 (en) Ordering for pipelined read transfers
CN101694646B (zh) 一种不同速度总线间读传送的控制方法及系统
JP2001067298A (ja) ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用
CN111045974A (zh) 一种基于交换结构的多处理器数据交互方法
CN102253896B (zh) 写操作处理方法及网络设备
CN117573043B (zh) 分布式存储数据的传输方法、装置、系统、设备和介质
JP2546901B2 (ja) 通信制御装置
JPH0916468A (ja) メモリアクセス方式
CN113849455B (zh) 一种基于混合式存储器的mcu及缓存数据的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing Loongson Zhongke Technology Service Center Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract fulfillment period: 2009.12.16 to 2028.12.31

Contract record no.: 2010990000062

Denomination of invention: Method for controlling data transmission between two different speed buses

Granted publication date: 20080827

License type: exclusive license

Record date: 20100128

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.12.16 TO 2028.12.31; CHANGE OF CONTRACT

Name of requester: BEIJING LOONGSON TECHNOLOGY SERVICE CENTER CO., LT

Effective date: 20100128

EC01 Cancellation of recordation of patent licensing contract

Assignee: Longxin Zhongke Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2010990000062

Date of cancellation: 20141231

EM01 Change of recordation of patent licensing contract

Change date: 20141231

Contract record no.: 2010990000062

Assignee after: Longxin Zhongke Technology Co., Ltd.

Assignee before: Beijing Loongson Zhongke Technology Service Center Co., Ltd.

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20070328

Assignee: Longxin Zhongke Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Denomination of invention: Method for controlling data transmission between two different speed buses

Granted publication date: 20080827

License type: Common License

Record date: 20150211

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200824

Address after: 100095, Beijing, Zhongguancun Haidian District environmental science and technology demonstration park, Liuzhou Industrial Park, No. 2 building

Patentee after: LOONGSON TECHNOLOGY Corp.,Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Date of cancellation: 20200928

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.