【技术实现步骤摘要】
本专利技术涉及计算机系统数据传输
,特别是涉及一种不同速度总线间读传送的控制方法及系统。
技术介绍
计算机系统中通常使用一种叫做桥的芯片将不同的总线相互隔离。当一条总线上 的设备要请求其它总线上的资源时,由桥负责将这条总线上的操作转换为其所请求资源所 在总线上的操作。由于总线在物理和结构上的限制,每条总线上只能挂载数量有限的设备。 因此很多计算机系统在结构上使用多条相互隔离的总线来提供系统功能的扩展。这些相互 隔离的总线可以使用相同协议,也可以使用不同协议。不同总线间的协议转换由用来隔离 这些总线的桥负责完成。经过桥的转换,一条总线上的设备就可以和其它总线上的设备相 互交换数据。通常,桥对于与之相连的总线上的设备来说是透明的。在一条总线上的设备 看来,桥也是这条总线上的设备。总线上的设备是通过向桥发送读写请求来和与桥相连的 其它总线上的设备交换数据的。 美国专利号为6, 460, 108的专利中公开的方法,该方法的主要方案是在写传送 中,发起方总线的接口将数据写入写FIFO,目标方总线接口通过写FIFO的控制信号判断写 FIFO中是否有足够的数据在目标方总线上发起一次写操作,如果写FIFO中有足够的数据 就在目标方总线发起写操作;在读传送中,发起方总线接口向目标方总线接口提交请求后, 目标方总线接口在目标方总线上发起操作并将接收到的数据写入读FIFO,当读FIFO中的 数据量达到FIFO容量的一半(64字节)时,发起方总线接口开始在发起方总线上返回数 据;只要读FIFO未满,目标方总线接口就保持在目标方总线上得数据预取直到发起方总线 上返回了足够 ...
【技术保护点】
一种不同速度总线间读传送的控制方法,其特征在于,所述方法,包括下列步骤: 步骤A.桥设备B类总线侧接口发出B类总线上的设备要请求A类总线一侧的数据的B类总线读请求,并将所述B类总线读请求的地址和数据标识送入请求FIFO,并从读FIFO中读取请求的数据并返回给B类总线上的设备; 步骤B.桥设备A类总线侧的接口从所述请求FIFO看到所述B类总线读请求后将所述B类总线读请求取出并开始在A类总线上发起A类总线读请求,对所述B类总线读请求所请求的读数据进行两个阶段的数据预取,并将A类总线上返回的读数据送入读FIFO。
【技术特征摘要】
一种不同速度总线间读传送的控制方法,其特征在于,所述方法,包括下列步骤步骤A.桥设备B类总线侧接口发出B类总线上的设备要请求A类总线一侧的数据的B类总线读请求,并将所述B类总线读请求的地址和数据标识送入请求FIFO,并从读FIFO中读取请求的数据并返回给B类总线上的设备;步骤B.桥设备A类总线侧的接口从所述请求FIFO看到所述B类总线读请求后将所述B类总线读请求取出并开始在A类总线上发起A类总线读请求,对所述B类总线读请求所请求的读数据进行两个阶段的数据预取,并将A类总线上返回的读数据送入读FIFO。2. 根据权利要求1所述的不同速度总线间读传送的控制方法,其特征在于,所述步骤 A,包括下列步骤步骤Al.桥设备B类总线侧接口等待B类总线上的设备提交读请求,在接收到B类总 线上的设备的B类总线读请求时,桥设备B类总线侧的接口在其接口内部的读记录中,记录 已经提交的B类总线读请求;步骤A2.桥设备B类总线侧的接口发现B类总线上的设备要请求A类总线一侧的数据 的B类总线读请求后,桥设备B类总线侧的接口检查所述读记录,判断所述读记录的标识位 是否有效,若是,则执行步骤A4 ;否则,执行步骤A3 ;步骤A3.判断所述请求FIF0是否已满,若是,则执行步骤A7 ;否则,执行步骤A5 ;步骤A4.判断所述B类总线读请求的地址和所述读记录中记录的地址是否相符,若是, 则执行步骤A6 ;否则,执行步骤A7 ;步骤A5.所述桥设备B类总线侧的接口在所述读记录中记录当前B类总线读请求并将 该B类总线读请求送入所述请求FIF0,然后执行步骤A7 ;步骤A6.所述桥设备B类总线侧的接口等待读FIFO的非空信号,读FIFO的非空信号 有效则执行步骤A8 ;否则,执行步骤A7 ;步骤A7.所述桥设备B类总线侧的接口执行PCI协议的重试操作,返回步骤A1 ;步骤A8.所述桥设备B类总线侧的接口从读FIFO中读取数据并在B类总线上为设备 返回读数据。3. 根据权利要求2所述的不同速度总线间读传送的控制方法,其特征在于,所述读记 录,用于记录所述已经提交的B类总线读请求的记录,包含一个用于记录B类总线读请求地 址的32位寄存器和一个标识B类总线读记录是否有效的1位寄存器。4. 根据权利要求2所述的不同速度总线间读传送的控制方法,其特征在于,步骤A8中, 所述桥设备B类总线侧的接口在B类总线上每返回一个数据周期的数据,就将读记录标识 中32位的地址寄存器的值增加一个数据周期数据的长度。5. 根据权利要求2所述的不同速度总线间读传送的控制方法,其特征在于,所述桥设 备B类总线侧接口每在B类总线上返回长度为vl的数据并且请求数据的B类总线上设备 尚未读取其所需全部数据时,就向桥设备A类总线侧接口发送一次增加预取信号;如果B类 总线上当前读取数据的设备获得了其全部所需的数据,桥设备B类总线侧接口在产生读传 送终止信号的同时执行步骤Al 。6. 根据权利要求2所述的不同速度总线间读传送的控制方法,其特征在于,所述步骤 B,包括下列步骤步骤Bl.第一阶段数据预取桥设备A类总线侧的接口从所述请求FIFO的读端口看到B类总线读请求后,将B类总线读请求取出并开始在A类总线上对B类总线上设备所需的读 数据进行长度最长为v0的读数据预取,并将返回的读数据送入读FIFO ;步骤B2.第二阶段数据预取根据桥设备B类总线侧的接口对B类总线上已传送的读 数据的计数,每传送长度为阈值vl的读数据并且B类总线上设备尚未完成当前B类总线读 请求则桥设备B类总线侧的接口通知桥设备A类总线侧的接口增加预取长度为阈值vl的 数据,同时将A类总线上返回的读数据送入读FIFO。步骤B3. A类总线侧接口停止未完成的预取读数据操作并丢弃读数据通路上所有的读 数据;随后返回步骤Bl。7. 根据权利要求6所述的不同速度总线间读传送的控制方法,其特征在于,所述步骤 Bl,包括下列步骤步骤Bl 1.桥设备A类总线侧接口检查所述请求FIFO中是否有B类总线侧接口提交的 新的读请求,若是,则执行步骤B12,否则保持步骤Bll ;步骤B12.桥设备A类总线侧的接口从所述请求FIFO中将B类总线读请求的地址载入 所述桥设备A类总线侧的接口中的地址计数器,同时将所述桥设备A类总线侧的接口中的 预取数据计数器的值设为阈值v0,随后执行步骤B13 ;步骤B13.判断是否收到B类总线侧接口发送的读传送终止信号,若是,则执行步骤B3 ; 否则,执行步骤B14;步骤B14.判断是否满足预取数据计数器的值等于0或者收到B类总线侧接口发送的 增加预取信号二者其一,若任何一个得到满足,则执行步骤B2,进行第二阶段数据预取;否 则执行步骤B15 ;步骤B15. A类总线侧接口在A类总线上每发送一个A类总线读请求,预取数据计数器 的值减去这个A类总线读请求在A类总线上读取数据的长度值,A类总线侧的接口上的待 返回数据计数器的值增加当前A类总线读请求所请求的读数据的长度值;同时当读数据返 回时,将预取的数据送入所述读FIFO, A类总线侧的接口上的待返回数据计数器的值减去 当前返回的读数据的长度值;A类总线侧接口在A类总线上完成一次读请求的发送后,返回 步骤B13。8. 根据权利要求6所述的不同速度总线间读传送的控制方...
【专利技术属性】
技术研发人员:蔡飞,沈海华,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:11[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。