CN116126763A - 总线互联系统、数据处理方法、装置、电子设备及介质 - Google Patents
总线互联系统、数据处理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116126763A CN116126763A CN202310408949.4A CN202310408949A CN116126763A CN 116126763 A CN116126763 A CN 116126763A CN 202310408949 A CN202310408949 A CN 202310408949A CN 116126763 A CN116126763 A CN 116126763A
- Authority
- CN
- China
- Prior art keywords
- instruction
- slave device
- data
- target slave
- module
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 76
- 230000005540 biological transmission Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 claims description 77
- 230000004044 response Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 230000015556 catabolic process Effects 0.000 abstract description 15
- 238000006731 degradation reaction Methods 0.000 abstract description 15
- 230000008859 change Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了总线互联系统、数据处理方法、装置、电子设备及介质,该方法包括:将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块;根据指令信息确定直接在缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;在确定将指令传输至目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作。通过缓存模块的数据预取解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种总线互联系统、一种数据处理方法、一种数据处理装置、一种电子设备及一种计算机可读存储介质。
背景技术
随着集成电路的不断发展,对片上系统芯片的处理速度性能的要求越来越高。系统总线作为连接各个模块的中枢桥梁,对片上系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。
在芯片系统或片间互联系统中,使用不同主从接口的功能模块都挂载在总线系统中,由于功能模块划分及优先级等原因,在系统中常常存在多条总线的结构。
在多主多从的结构中,多个主从设备在工作时需要进行仲裁、信号路由等过程,因此指令或数据经过每一个总线时,一般都会存在几个时钟周期的延迟,同时,当存在两个芯片间的输出传输时,其延迟更大。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种总线互联系统、一种数据处理方法、一种数据处理装置、一种电子设备及一种计算机可读存储介质。
本发明实施例公开了一种总线互联系统,所述总线互联系统包括多个主设备、转换模块、缓存模块、多路选择器模块、指令分解模块、指令仲裁模块和多个从设备,所述多个主设备的接口格式不同,所述多个从设备的接口格式不同,
所述转换模块,用于将所述主设备发送的指令转换为符合所述缓存模块接口格式的指令后传输至所述缓存模块;
所述缓存模块,用于根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
所述多路选择器模块,用于在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,将指令传输至所述指令分解模块;
所述指令分解模块,用于根据指令类型和所述目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经所述指令仲裁模块传输至所述目标从设备中进行相应的读写操作。
可选地,
所述缓存模块,还用于若所述指令为读指令、所述指令的数据地址全部命中缓存地址且对应的读数据均为有效数据,则直接从所述缓存模块中获取读数据,并将获取到的读数据传输至所述转换模块;
所述转换模块,还用于将获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
可选地,
所述缓存模块,还用于若所述指令为读指令但所述指令的数据地址未全部命中缓存地址,则确定将所述指令传输至所述目标从设备进行相应的读操作,获取相应的读数据。
可选地,
所述缓存模块,还用于若所述指令为写指令且所述指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
可选地,
所述缓存模块,还用于若所述指令为写指令但所述指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
可选地,
所述从设备,用于作为所述目标从设备根据获取到的指令进行相应的读操作,获取相应的读数据,并将获取到的读数据传输至所述缓存模块进行缓存;
所述缓存模块,还用于将从所述目标从设备获取的读数据写入所述缓存模块中,并更新对应的数据有效状态,同时将该获取到的读数据传输至所述转换模块;
所述转换模块,还用于将获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
可选地,
所述从设备,用于作为所述目标从设备根据获取到的指令进行相应的写操作,生成对应的写操作响应信号,并将所述写操作响应信号传输至所述缓存模块;
所述缓存模块,还用于若所述写操作响应信号为成功信号,则更新所述缓存模块中对应的数据有效状态,同时将所述写操作响应信号传输至所述转换模块;
所述转换模块,还用于将获取到的所述写操作响应信号转换为符合所述主设备接口格式的信号后传输至所述主设备。
可选地,
所述指令分解模块,还用于若指令类型为递增指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为递增指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道获取所述指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
可选地,
所述指令分解模块,还用于若指令类型为递增指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
可选地,在指令类型为递增指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
可选地,
所述指令分解模块,还用于若指令类型为单指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为单指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道依次获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道依次获取所述指令的起始地址信息和突发长度信息,并通过写数据通道依次获取对应的写数据进行相应的写操作;其中,传输的所述突发长度信息所对应的突发长度值固定。
可选地,
所述指令分解模块,还用于若指令类型为单指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第三突发类型后传输至所述目标从设备。
可选地,在指令类型为单指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
可选地,
所述指令分解模块,还用于若指令类型为定长指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为定长指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道获取所述指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
可选地,
所述指令分解模块,还用于若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至所述目标从设备。
可选地,
所述指令分解模块,还用于若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度不为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
可选地,在指令类型为定长指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
本发明实施例公开了一种数据处理方法,应用于总线互联系统,所述方法包括:
将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至所述缓存模块;
根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;
根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作。
可选地,所述根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作,包括:
若所述指令为读指令、所述指令的数据地址全部命中缓存地址且对应的读数据均为有效数据,则直接从所述缓存模块中获取读数据,并将获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
可选地,所述根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作,包括:
若所述指令为读指令但所述指令的数据地址未全部命中缓存地址,则确定将所述指令传输至所述目标从设备进行相应的读操作,获取相应的读数据。
可选地,所述根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作,包括:
若所述指令为写指令且所述指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
可选地,所述根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作,包括:
若所述指令为写指令但所述指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
可选地,所述方法还包括:
将从所述目标从设备获取的读数据写入所述缓存模块中,并更新对应的数据有效状态,同时将该获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
可选地,所述方法还包括:
将所述目标从设备生成的写操作响应信号传输至所述缓存模块;
若所述写操作响应信号为成功信号,则更新所述缓存模块中对应的数据有效状态,同时将所述写操作响应信号转换为符合所述主设备接口格式的信号后传输至所述主设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为递增指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为递增指令且所述目标从设备的总线接口为第一接口的情况下,所述将所述指令分解并转换为第一突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,通过读地址通道传输所述指令的起始地址信息和突发长度信息至所述目标从设备;
在所述指令为写指令时,通过写地址通道传输所述指令的起始地址信息和突发长度信息,并通过写数据通道传输对应的写数据至所述目标从设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为递增指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
可选地,在指令类型为递增指令且所述目标从设备的总线接口为第二接口的情况下,所述将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,不经过独立通道直接传输所述指令的数据地址至所述目标从设备;
在所述指令为写指令时,不经过独立通道直接传输所述指令的数据地址和写数据至所述目标从设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为单指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为单指令且所述目标从设备的总线接口为第一接口的情况下,所述将所述指令分解并转换为第一突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,通过读地址通道依次传输所述指令的起始地址信息和突发长度信息至所述目标从设备;
在所述指令为写指令时,通过写地址通道依次传输所述指令的起始地址信息和突发长度信息,并通过写数据通道依次传输对应的写数据至所述目标从设备;其中,传输的所述突发长度信息所对应的突发长度值固定。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为单指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第三突发类型后传输至所述目标从设备。
可选地,在指令类型为单指令且所述目标从设备的总线接口为第二接口的情况下,所述将所述指令分解并转换为第三突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,不经过独立通道直接传输所述指令的数据地址至所述目标从设备;
在所述指令为写指令时,不经过独立通道直接传输所述指令的数据地址和写数据至所述目标从设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为定长指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
可选地,在指令类型为定长指令且所述目标从设备的总线接口为第一接口的情况下,所述将所述指令分解并转换为第一突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,通过读地址通道传输所述指令的起始地址信息和突发长度信息至所述目标从设备;
在所述指令为写指令时,通过写地址通道传输所述指令的起始地址信息和突发长度信息,并通过写数据通道传输对应的写数据至所述目标从设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至所述目标从设备。
可选地,所述根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作,包括:
若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度不为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
可选地,在指令类型为定长指令且所述目标从设备的总线接口为第二接口的情况下,所述将所述指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至所述目标从设备或所述将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备,包括:
在所述指令为读指令时,不经过独立通道直接传输所述指令的数据地址至所述目标从设备;
在所述指令为写指令时,不经过独立通道直接传输所述指令的数据地址和写数据至所述目标从设备。
本发明实施例还公开了一种数据处理装置,应用于总线互联系统,所述装置包括:
转换及传输模块,用于将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至所述缓存模块;
确定模块,用于根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
传输模式选择及传输模块,用于在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;
分解转换及传输模块,用于根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述一种数据处理方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述一种数据处理方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,总线互联系统包括多个主设备、多个从设备以及在主设备和从设备之间的转换模块、缓存模块、多路选择器模块、指令分解模块以及指令仲裁模块,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,转换模块可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块,缓存模块可以根据指令信息确定直接在缓存模块中进行相应的读写操作,或将指令传输至目标从设备进行相应的读写操作,在确定将指令传输至目标从设备进行相应的读写操作的情况下,多路选择器模块对指令进行传输模式选择,将指令传输至指令分解模块,指令分解模块可以根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。通过采用上述设计,提出了一种使用cache结构(缓存模块)的总线互联系统,通过缓存模块的数据预取,可以解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。
附图说明
图1是相关技术的一种多总线结构的示意图;
图2是本发明实施例提供的一种总线互联系统的结构框图;
图3是本发明实施例的一种总线互联系统的系统架构图;
图4是本发明实施例提供的一种数据处理方法的步骤流程图;
图5是本发明实施例提供的一种数据处理装置的结构框图;
图6是本发明实施例提供的一种电子设备的结构框图;
图7是本发明实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明保护的范围。
随着集成电路的不断发展,对SOC(System on Chip,系统级芯片,也称为片上系统)芯片的处理速度性能的要求越来越高。系统总线作为连接各个模块的中枢桥梁,对SOC系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。AMBA(AdvancedMicrocontroller Bus Architecture,高级微控制器总线架构)总线体系由芯片公司共同研发,用来满足SOC系统对于多用户高性能低功耗的需求,其中AXI(Advanced eXtensibleInterface,先进可扩展接口)和AHB(Advanced High Performance Bus,高级高性能总线)作为高速高性能总线,在SOC芯片中得到了广泛的应用。
下面对AXI总线和AHB总线进行简单介绍:
AXI总线是AMBA总线体系中的高速总线,由Master(主设备)、Slave(从设备)和Interconnect(中间互联部分,ICN)等基本器件搭建而成,为多主多从的结构。
AXI协议定义了5个独立的通道,每个通道通过VALID(数据有效)和READY(接收有效)信号完成握手机制。5个通道分别为:读地址通道(read address channel,AR)、读数据通道(read data address channel,RD)、写地址通道(write address channel,AW)、写数据通道(write data channel,WD)和写响应通道(write response channel,WR)。
AHB总线也是AMBA总线体系中的高速总线,在时钟上跳沿操作,支持连续传输和分段传输,可以连接多个主设备,支持总线宽度可配置,支持 byte(字节)、half-word(半字)以及 word(字)的传输。一个典型的 AHB 系统由多个主从设备和总线组成。
在实际的SOC芯片系统或片间互联(两个芯片实现互联通信)的系统中,使用不同主从接口的功能模块都挂载在总线系统中,因此成熟的系统总线一般同时支持AMBA的几个总线标准。与此同时,由于功能模块划分及优先级等原因,在系统中常常存在多条总线的结构,如图1所示。这都使得系统变得越来越复杂。
参照图1所示,为相关技术的一种多总线结构的示意图。图中多个主从设备通过NIC400(Network Inter Connect,网络互连)总线互连。图中NIC400总线为支持AXI、AHB等协议标准总线IP(Intellectual Property,知识产权),在芯片设计中广泛使用,其指代了这一类的由第三方公司提供的成熟的总线IP。在多总线的结构中,存在着以下两个问题:
1、系统性能下降
由于NIC400总线支持多主多从的结构,多个主从设备在工作时需要进行仲裁、信号路由等过程,因此指令或数据经过每一个NIC400总线时,一般都会存在几个时钟周期的延迟,同时,当存在两个芯片间的输出传输时,如图1中虚线所示,其延迟更大。最终经过一级一级的积累,会导致延迟变得难以接受。而在一次数据传输完成前,一般是不允许进行下一次传输的,因此会导致数据传输阻塞,降低了系统的性能。
2、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列芯片)原型验证时覆盖率低
在芯片设计过程中,一般会经过FPGA原型验证阶段,其是将设计好的芯片代码移植入FPGA中,使用FPGA模拟芯片的电路环境,进行不同条件下的测试。当原始的芯片代码在一个FPGA中放置不下时,就会使用2个FPGA进行验证,也会出现上述的多总线结构,同时也会存在片间传输过程。例如,主设备1为AHB接口,连续读取从设备5的数据,但是由于整个链路上存在较大的延迟,导致在第一组数据读取完成前,第二组数据无法读取,这就会导致连续的数据读取过程变成了多个不连续的过程。这就使得从设备5和主设备1无法验证连续读取数据这种情况,使得验证的覆盖率变低,从而带来风险。
在这样的背景下,提出了一种使用cache(缓存)结构的总线互联系统,通过cache的数据预取、不同接口间(AHB、AXI)的指令和数据分解等方式,解决了在多个主从设备、多条总线(AMBA总线)的架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。本发明还提供了上述方法的完整的硬件架构和实现步骤。
本发明实施例的核心构思之一在于,总线互联系统包括多个主设备、多个从设备以及在主设备和从设备之间的转换模块、缓存模块、多路选择器模块、指令分解模块以及指令仲裁模块,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,转换模块可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块,缓存模块可以根据指令信息确定直接在缓存模块中进行相应的读写操作,或将指令传输至目标从设备进行相应的读写操作,在确定将指令传输至目标从设备进行相应的读写操作的情况下,多路选择器模块对指令进行传输模式选择,将指令传输至指令分解模块,指令分解模块可以根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。通过采用上述设计,提出了一种使用cache结构(缓存模块)的总线互联系统,通过缓存模块的数据预取,可以解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。
参照图2,示出了本发明实施例提供的一种总线互联系统的结构框图,总线互联系统201包括多个主设备2011、转换模块2012、缓存模块2013、多路选择器模块2014、指令分解模块2015、指令仲裁模块2016和多个从设备2017,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,
转换模块2012,用于将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块;
缓存模块2013,用于根据指令信息确定直接在缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
多路选择器模块2014,用于在确定将指令传输至目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,将指令传输至指令分解模块;
指令分解模块2015,用于根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。
在本发明一种可选的实施例中,
缓存模块,还用于若指令为读指令、指令的数据地址全部命中缓存地址且对应的读数据均为有效数据,则直接从缓存模块中获取读数据,并将获取到的读数据传输至转换模块;
转换模块,还用于将获取到的读数据转换为符合主设备接口格式的读数据后传输至主设备。
在本发明一种可选的实施例中,
缓存模块,还用于若指令为读指令但指令的数据地址未全部命中缓存地址,则确定将指令传输至目标从设备进行相应的读操作,获取相应的读数据。
在本发明一种可选的实施例中,
缓存模块,还用于若指令为写指令且指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至缓存模块,并更新对应的数据有效状态,同时将指令传输至目标从设备进行相应的写操作。
在本发明一种可选的实施例中,
缓存模块,还用于若指令为写指令但指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入缓存模块,并更新对应的数据有效状态,同时将指令传输至目标从设备进行相应的写操作。
在本发明一种可选的实施例中,
从设备,用于作为目标从设备根据获取到的指令进行相应的读操作,获取相应的读数据,并将获取到的读数据传输至缓存模块进行缓存;
缓存模块,还用于将从目标从设备获取的读数据写入缓存模块中,并更新对应的数据有效状态,同时将该获取到的读数据传输至转换模块;
转换模块,还用于将获取到的读数据转换为符合主设备接口格式的读数据后传输至主设备。
在本发明一种可选的实施例中,
从设备,用于作为目标从设备根据获取到的指令进行相应的写操作,生成对应的写操作响应信号,并将写操作响应信号传输至缓存模块;
缓存模块,还用于若写操作响应信号为成功信号,则更新缓存模块中对应的数据有效状态,同时将写操作响应信号传输至转换模块;
转换模块,还用于将获取到的写操作响应信号转换为符合主设备接口格式的信号后传输至主设备。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为递增指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为递增指令且目标从设备的总线接口为第一接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备通过读地址通道获取指令的起始地址信息和突发长度信息进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备通过写地址通道获取指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为递增指令且目标从设备的总线接口为第二接口,则将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为递增指令且目标从设备的总线接口为第二接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备不经过独立通道直接获取指令的数据地址进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备不经过独立通道直接获取指令的数据地址和写数据进行相应的写操作。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为单指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为单指令且目标从设备的总线接口为第一接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备通过读地址通道依次获取指令的起始地址信息和突发长度信息进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备通过写地址通道依次获取指令的起始地址信息和突发长度信息,并通过写数据通道依次获取对应的写数据进行相应的写操作;其中,传输的突发长度信息所对应的突发长度值固定。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为单指令且目标从设备的总线接口为第二接口,则将指令分解并转换为第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为单指令且目标从设备的总线接口为第二接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备不经过独立通道直接获取指令的数据地址进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备不经过独立通道直接获取指令的数据地址和写数据进行相应的写操作。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为定长指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为定长指令且目标从设备的总线接口为第一接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备通过读地址通道获取指令的起始地址信息和突发长度信息进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备通过写地址通道获取指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为定长指令、目标从设备的总线接口为第二接口,且指令对应的写操作或读操作中剩余的读写数据长度为预设长度的整数倍,则将指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至目标从设备。
在本发明一种可选的实施例中,
指令分解模块,还用于若指令类型为定长指令、目标从设备的总线接口为第二接口,且指令对应的写操作或读操作中剩余的读写数据长度不为预设长度的整数倍,则将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为定长指令且目标从设备的总线接口为第二接口的情况下,
从设备,还用于在指令为读指令时,作为目标从设备不经过独立通道直接获取指令的数据地址进行相应的读操作;
从设备,还用于在指令为写指令时,作为目标从设备不经过独立通道直接获取指令的数据地址和写数据进行相应的写操作。
参照图3所示,为本发明实施例的一种总线互联系统的系统架构图,图中以2个主设备(1个为AXI接口,1个为AHB接口)和2个从设备(1个为AXI接口,1个为AHB接口)为例进行说明,但本发明的总线互联系统不仅限于此结构,其对多主多从设备结构都适用,主要包括以下模块:
1、转换模块
其中,转换模块可以包括A2C转换模块、H2C转换模块、C2A转换模块和C2H转换模块。
A2C转换模块:AXI接口格式指令数据与缓存模块接口格式转换,根据AXI读写地址及突发长度完成缓存行地址的转换。
H2C转换模块:AHB接口格式指令数据与缓存模块接口格式转换,根据AHB读写地址及突发长度完成缓存行地址的转换。
C2A转换模块:AXI接口格式指令数据与缓存模块接口格式转换,根据缓存行地址和数据转换为AXI读写数据格式。
C2H转换模块:AHB接口格式指令数据与缓存模块接口格式转换,根据缓存行地址和数据转换为AHB读写数据格式。
2、缓存模块(Cache)
实现cache缓存功能。
3、多路选择器模块(MUX)
根据功能需求选择后续的三种指令分解方式。
4、指令分解模块(INCR-S、SINGLE-S和FIXED-length)
进行递增指令(INCR-S)、单个指令(SINGLE-S)以及定长指令(FIXED-length)的分解。
5、指令仲裁模块(arb_0和arb_1)
仲裁后将对应的指令发至后级从设备。每一个从设备对应一个指令仲裁模块,若有N个从设备,则有N个指令仲裁模块。
综上,在本发明实施例中,总线互联系统包括多个主设备、多个从设备以及在主设备和从设备之间的转换模块、缓存模块、多路选择器模块、指令分解模块以及指令仲裁模块,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,转换模块可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块,缓存模块可以根据指令信息确定直接在缓存模块中进行相应的读写操作,或将指令传输至目标从设备进行相应的读写操作,在确定将指令传输至目标从设备进行相应的读写操作的情况下,多路选择器模块对指令进行传输模式选择,将指令传输至指令分解模块,指令分解模块可以根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。通过采用上述设计,提出了一种使用cache结构(缓存模块)的总线互联系统,通过缓存模块的数据预取,可以解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。
参照图4,示出了本发明实施例提供的一种数据处理方法的步骤流程图,应用于如上的总线互联系统,具体可以包括如下步骤:
步骤401,将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块。
缓存模块包括第一存储器和第二存储器,第一存储器用于实现地址的存储和命中判断;第二存储器用于存储数据和数据有效标志位。
缓存模块的接口格式与主设备的接口格式不同,因此,可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块。
其中,本发明的缓存模块与常用的缓存模块(用于中央处理器与外部存储器之间)结构存在一定的差别,这主要体现在缓存行(cache line)的位宽和缓存行的更新策略。
缓存模块的缓存行的位宽等于总线互联系统的总线位宽,例如当前总线位宽为32bit,则对应的缓存行的位宽也为32bit,从而保证总线在进行数据传输时,每个时钟周期都可以进行一次缓存命中判断。缓存模块的存储深度可以根据硬件系统的需求,灵活配置。在硬件结构上,缓存模块主要包括CAM(content-addressable memory,内容可寻址存储器)存储器和RAM(Random Access Memory,随机存取存储器)存储器,CAM存储器用于实现地址的存储和命中判断,RAM存储器用于存储数据和数据有效标志位。
需要说明的是,在部分总线互联结构中,其内部包含buffer(缓冲区),用于在多个指令同步执行时暂时保存数据,其主要是为了支持AXI协议的超前传输,本发明使用的cache(缓存)和上述的buffer(缓冲区),虽然都翻译为缓存,但两者存在着本质的区别,是完全不同的结构和工作方式。
缓存模块的具体工作流程可以包括:
当某个数据地址命中缓存地址时,说明缓存模块中本身已经存储了此地址及其对应的数据,因此只需要找到在RAM存储器中的地址,并将最新的数据更新至缓存模块中的对应RAM存储器中,并更新数据有效状态。
当某个数据地址在没有命中缓存地址时,需要去后级模块/设备读取相应的数据,之后将数据更新至缓存模块中,此时如果原有的RAM存储器中缓存空间未满,则将此部分数据存入空闲的RAM存储器的地址中,若原有的RAM存储器中缓存空间已满,则需要将其中的部分地址数据进行替换。
在一种可选的实施方式中,可以使用在上一次操作的地址基础上直接向下写覆盖的方式进行更新,并更新数据有效状态。
例如,有连续的4个地址(addr_1、addr_2、addr_3、addr_4)未命中缓存地址,由后级模块/设备读取的数据记为data_1、 data_2、 data_3、 data_4。
若在原有的RAM存储器中,有地址10、56对应的空间没有存储数据,则将上述data_1、 data_2数据存入这2个地址,并在CAM存储器中相应更新 addr_1、addr_2。
此时原有的RAM存储器中,所有地址对应的空间都有存储数据。此时需要将本身已经存有数据的地址空间中的数据进行更新。上一次操作的地址为56,直接向下写覆盖,即将上述 data_3、 data_4数据存入57、58这2个地址,并在CAM存储器中相应更新 addr_3、addr_4。
在本发明实施例中,多个主设备的总线接口可以为第一接口或第二接口,多个从设备的总线接口可以为第一接口或第二接口,第一接口对应AXI接口,第二接口对应AHB接口。
数据的接口格式转换具体可以是在对应的转换模块中完成的,其中转换模块可以包括A2C转换模块、H2C转换模块。A2C转换模块和H2C转换模块是独立并行的模块结构。
A2C转换模块用于将数据由第一接口的接口格式转换为符合缓存模块的接口格式。在AXI的标准协议下,地址通道和数据通道是分离的,而且在地址通道(包括写地址通道和读地址通道)中,只发送首地址、数据长度(突发长度)等,因此在接口格式转换过程中可以将读写数据对应的地址一一计算处理,之后用于后续进行缓存模块的命中匹配,具体转换公式可以如下所示:
a2c_addr_n = axi_addr+size_byte*n;
其中,a2c_addr_n为转换后的地址, axi_addr为首地址,size_byte为突发类型对应的传输字节数,n的取指范围为0 - axi_len,axi_len为突发长度。
H2C转换模块用于将数据由第二接口的接口格式转换为符合缓存模块的接口格式。在AHB的标准协议下,每个数据的读取时都有与之对应的地址,因此AHB协议的转换时,只需要将地址直接映射就可以, 转换后的地址为:
h2c_addr = HADDR(AHB 协议中的地址信号);
因此,在本发明实施例中,可以通过转换模块将主设备发送的指令转换为符合缓存模块接口格式的指令,之后传输至缓存模块。
步骤402,根据指令信息确定直接在缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作。
在本发明实施例中,可以根据指令信息确定直接在缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作。
在本发明一种可选的实施例中,步骤402中根据指令信息确定直接在缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作,具体可以包括如下子步骤:
若指令为读指令、指令的数据地址全部命中缓存地址且对应的读数据均为有效数据,则直接从缓存模块中获取读数据,并将获取到的读数据转换为符合主设备接口格式的读数据后传输至主设备。
若指令为读指令但指令的数据地址未全部命中缓存地址,则确定将指令传输至目标从设备进行相应的读操作,获取相应的读数据。
若指令为写指令且指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至缓存模块,并更新对应的数据有效状态,同时将指令传输至目标从设备进行相应的写操作。
若指令为写指令但指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入缓存模块,并更新对应的数据有效状态,同时将指令传输至目标从设备进行相应的写操作。
在本发明实施例中,如果该指令为读指令,指令中的数据地址全部命中缓存模块中的缓存地址,且缓存模块中对应存储的读数据为有效数据,则可以直接从缓存模块中获取读数据,之后将获取到的读数据转换为符合主设备接口格式的读数据后传输至主设备。
如果该指令为读指令,但指令中的数据地址未全部命中缓存地址,则确定需要将指令传输至目标从设备,在目标从设备中进行相应的读操作,获取相应的读数据。
如果该指令为写指令且指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至缓存模块,并更新对应的数据有效状态,同时将指令信息传输至目标从设备,以在目标从设备中进行相应的写操作。
如果指令为写指令但指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入缓存模块,并更新对应的数据有效状态,同时将指令信息传输至目标从设备,以在目标从设备中进行相应的写操作。
在本发明一种可选的实施例中,在从设备中进行相应的读操作,获取相应的读数据之后,具体还可以包括如下步骤:
将从目标从设备获取的读数据写入缓存模块中,并更新对应的数据有效状态,同时将该获取到的读数据转换为符合主设备接口格式的读数据后传输至主设备。
在本发明一种可选的实施例中,在从设备中进行相应的写操作之后,具体还可以包括如下步骤:
将目标从设备生成的写操作响应信号传输至缓存模块;
若写操作响应信号为成功信号,则更新缓存模块中对应的数据有效状态,同时将写操作响应信号转换为符合主设备接口格式的信号后传输至主设备。
在缓存模块中,读操作和写操作分开处理。
如果指令为读指令,同一组指令转换后的所有地址传输至缓存模块依次进行命中判断,如果所有地址都命中缓存地址且数据都是有效的(数据有效标志位为 1),则数据由缓存模块中取出,并根据原始指令的协议标准传递至对应的转换模块中。缓存模块中对应的数据有效状态不变;当存在部分或全部地址在缓存模块中未命中缓存地址时,将其传递至后级模块/设备,由对应的从设备获取数据。
由从设备返回的数据传递至缓存模块中,将数据写入缓存模块中(具体写入方式见上述缓存模块的具体工作流程说明),并更新对应的数据有效状态,即可以将数据有效标志位更改为1。同时将此部分数据传递至对应的转换模块中。
其中,转换模块还可以包括C2A转换模块和C2H转换模块。C2A转换模块用于将数据由缓存模块的接口格式转换为符合第一接口的接口格式,例如,将数据转换为对应的AXI协议的标准格式。C2H转换模块用于将数据由缓存模块的接口格式转换为符合第二接口的接口格式,例如,将数据转换为对应的AHB协议的标准格式。在进行接口格式转换后,可以将数据传输至对应的主设备,标志着一次读操作的完成。
如果指令为写指令,同一组指令转换后的所有地址传输至缓存模块依次进行命中判断,若对应的地址命中,则将对应的数据和地址更新至缓存模块中,并更新对应的数据有效状态,将数据有效标志位写为0。同时将数据和地址向后级模块/设备,进行相应的写操作;当对应的地址在缓存模块中未命中缓存地址时,将对应的数据和地址写入缓存模块中,并将数据有效标志位写为0,同时将其传递至后级模块/设备,进行相应的写操作。
由从设备返回的写操作响应信号传递至缓存模块中,如果对应的AHB或AXI写响应信号为写成功信号,则将缓存模块中对应的数据有效标志位更改为1。同时将此部分响应信号传递至C2H转换模块或C2A转换模块中
C2H和C2A转换模块将响应信号转换为对应的AHB或AXI的协议标准格式,传递至对应的主设备,标志着一次写操作的完成。
步骤403,在确定将指令传输至目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块。
在本发明实施例中,在确定将指令传输至目标从设备进行相应的读写操作的情况下,可以对指令进行传输模式选择,并将指令传输至指令分解模块。
其中,可以由多路选择器模块(Multiplexer,MXU)负责进行指令和数据传输模式的选择,并将指令和数据传输到后续的指令分解模块中。
下面对AHB协议的突发类型(传输方式)进行介绍:
SIGNLE单笔数据传输
INCR不定长的递增方式批量传输
INCR44个数据递增方式批量传输,是定长的
INCR88个数据递增方式批量传输,是定长的
INCR1616个数据递增方式批量传输,是定长的
WRAP4 WRAP8 WRAP16 回环方式传输,一般用于中央处理器等设备,本发明主要涉及多总线结构,因此并不支持此种传输方式。
下面对AXI协议的突发类型(传输方式)进行介绍:
INCR不定长的递增方式批量传输
FIXED不定长的固定地址方式批量传输, 本发明主要涉及多总线结构,因此并不支持此种传输方式。
WRAP回环方式传输,本发明中,同样不支持此方式。
本发明对上述突发类型进行再次分类,具体为:
ICNR-S(递增指令):AXI-INCR(对应第一突发类型)、AHB-INCR(对应第二突发类型);
SINGLE-S(单个指令):AHB-SINGLE(对应第三突发类型);
FIXED-length(定长指令):AHB-INCR4(对应第四突发类型)、 AHB-INCR8(对应第五突发类型)、 AHB-INCR16(对应第六突发类型)。
步骤404,根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作。
在本发明实施例中,可以根据指令类型以及目标从设备的接口格式类型确定指令分解方式。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为递增指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为递增指令且目标从设备的总线接口为第一接口的情况下,子步骤中将指令分解并转换为第一突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,通过读地址通道传输指令的起始地址信息和突发长度信息至目标从设备;
在指令为写指令时,通过写地址通道传输指令的起始地址信息和突发长度信息,并通过写数据通道传输对应的写数据至目标从设备。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为递增指令且目标从设备的总线接口为第二接口,则将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为递增指令且目标从设备的总线接口为第二接口的情况下,子步骤中将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,不经过独立通道直接传输指令的数据地址至目标从设备;
在指令为写指令时,不经过独立通道直接传输指令的数据地址和写数据至目标从设备。
对于ICNR-S递增指令,在向后级的从设备发送时,根据从设备的接口类型分为:
从设备为AXI接口类型时:分解并转换为第一突发类型。
上述步骤已经将原始的指令类型转换为每个地址的对应读写的格式,同时也已经进行了缓存模块的处理,当读指令的地址在缓存模块中命中时,直接返回读数据,否则需要传递至对应的从设备;写指令的数据全部传递至对应的从设备。
在转换为第一突发类型时,需要先判断一次读写操作中剩余的读写数据长度。如果是写操作,在写地址通道将起始地址、突发长度等信息发送,然后在写数据通道发送对应的写数据;如果是读操作,则只需要在读地址通道将起始地址、突发长度等信息发送。
从设备为AHB接口类型时:分解并转换为第二突发类型或第三突发类型,具体转换的类型可由上层软件配置,可以根据要求选择。这种情况下,只需要将前级发送过来的对应的数据和地址转换为符合AHB接口的格式,因前级发送过来的就是单个地址和数据的对应形式,因此直接对相应的信号进行连接即可。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为单指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为单指令且目标从设备的总线接口为第一接口的情况下,子步骤中将指令分解并转换为第一突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,通过读地址通道依次传输指令的起始地址信息和突发长度信息至目标从设备;
在指令为写指令时,通过写地址通道依次传输指令的起始地址信息和突发长度信息,并通过写数据通道依次传输对应的写数据至目标从设备;其中,传输的突发长度信息所对应的突发长度值固定。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为单指令且目标从设备的总线接口为第二接口,则将指令分解并转换为第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为单指令且目标从设备的总线接口为第二接口的情况下,子步骤中将指令分解并转换为第三突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,不经过独立通道直接传输指令的数据地址至目标从设备;
在指令为写指令时,不经过独立通道直接传输指令的数据地址和写数据至目标从设备。
对于SINGLE-S单个指令,在向后级的从设备发送时,根据从设备的接口类型分为:
从设备为AXI接口类型时:分解并转换为第一突发类型,且数据突发长度为1。
在转为第一突发类型时,将前级发送过来的地址和对应的数据逐个发送,若是写操作,在写地址通道将起始地址、突发长度(此时固定为1)等信息发送,然后在写数据通道发送对应的写数据,依次类推直至所有数据发送完成;若是读操作,则只需要在读地址通道将起始地址、突发长度(此时固定为1)等信息发送,依次类推直至所有数据读操作完成。
从设备为AHB接口类型时:分解并转换为第三突发类型。
这种情况下,只需要将前级发送过来的对应的数据和地址转换为符合AHB接口的格式,因前级发送的过来的就是单个地址和数据的对应形式,因此直接对相应的信号进行连接即可。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为定长指令且目标从设备的总线接口为第一接口,则将指令分解并转换为第一突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为定长指令且目标从设备的总线接口为第一接口的情况下,子步骤中将指令分解并转换为第一突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,通过读地址通道传输指令的起始地址信息和突发长度信息至目标从设备;
在指令为写指令时,通过写地址通道传输指令的起始地址信息和突发长度信息,并通过写数据通道传输对应的写数据至目标从设备。
在本发明一种可选的实施例中,步骤404中根据指令类型和目标从设备的接口格式类型,在指令分解模块中将指令分解转换为对应的突发类型后传输至目标从设备中进行相应的读写操作,具体可以包括如下子步骤:
若指令类型为定长指令、目标从设备的总线接口为第二接口,且指令对应的写操作或读操作中剩余的读写数据长度为预设长度的整数倍,则将指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至目标从设备;
若指令类型为定长指令、目标从设备的总线接口为第二接口,且指令对应的写操作或读操作中剩余的读写数据长度不为预设长度的整数倍,则将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备。
在本发明一种可选的实施例中,在指令类型为定长指令且目标从设备的总线接口为第二接口的情况下,子步骤中将指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至目标从设备或子步骤中将指令分解并转换为第二突发类型或第三突发类型后传输至目标从设备,具体可以包括如下子步骤:
在指令为读指令时,不经过独立通道直接传输指令的数据地址至目标从设备;
在指令为写指令时,不经过独立通道直接传输指令的数据地址和写数据至目标从设备。
对于FIXED-length 定长指令分解,在向后级的从设备发送时,根据从设备的接口类型分为:
从设备为AXI接口类型时:分解并转换为第一突发类型。
在转为为第一突发类型时,只需要先判断一次读写操作中剩余的读写数据长度。若是写操作,在写地址通道将起始地址、突发长度等信息发送,然后在写数据通道发送对应的写数据;若是读操作,则只需要在读地址通道将起始地址、突发长度等信息发送。
从设备为AHB接口类型时:分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型,具体转换的类型可由上层软件配置,可以根据要求选择。
这种情况下,首先需要先判断一次读写操作中剩余的读写数据长度,若刚好为4、8、16的整数倍,则可以根据上层软件的配置将其转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型,若不是则可以根据上层软件的配置将其转换为第二突发类型或第三突发类型。在实现时,只需要将前级发送过来的对应的数据和地址转换为符合AHB接口的格式,因前级发送的过来的就是单个地址和数据的对应形式,因此直接对相应的信号进行连接即可。
本发明实施例的总线互联系统还包括指令仲裁模块,当多个指令同时传输至同一个从设备时,先进行指令仲裁,仲裁后的指令再依次发给从设备。
从设备根据指令进行数据的读取,然后将数据及相应信号返回缓存模块。
综上,在本发明实施例中,总线互联系统包括多个主设备、多个从设备以及在主设备和从设备之间的转换模块、缓存模块、多路选择器模块、指令分解模块以及指令仲裁模块,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,转换模块可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块,缓存模块可以根据指令信息确定直接在缓存模块中进行相应的读写操作,或将指令传输至目标从设备进行相应的读写操作,在确定将指令传输至目标从设备进行相应的读写操作的情况下,多路选择器模块对指令进行传输模式选择,将指令传输至指令分解模块,指令分解模块可以根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。通过采用上述设计,提出了一种使用cache结构(缓存模块)的总线互联系统,通过缓存模块的数据预取,可以解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例提供的一种数据处理装置的结构框图,应用于总线互联系统,具体可以包括如下模块:
转换及传输模块501,用于将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至所述缓存模块;
确定模块502,用于根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
传输模式选择及传输模块503,用于在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;
分解转换及传输模块504,用于根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作。
综上,在本发明实施例中,总线互联系统包括多个主设备、多个从设备以及在主设备和从设备之间的转换模块、缓存模块、多路选择器模块、指令分解模块以及指令仲裁模块,多个主设备的接口格式不同,多个从设备的接口格式不同,其中,转换模块可以将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至缓存模块,缓存模块可以根据指令信息确定直接在缓存模块中进行相应的读写操作,或将指令传输至目标从设备进行相应的读写操作,在确定将指令传输至目标从设备进行相应的读写操作的情况下,多路选择器模块对指令进行传输模式选择,将指令传输至指令分解模块,指令分解模块可以根据指令类型和目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经指令仲裁模块传输至目标从设备中进行相应的读写操作。通过采用上述设计,提出了一种使用cache结构(缓存模块)的总线互联系统,通过缓存模块的数据预取,可以解决在多个主从设备、多条总线架构下导致的总线性能下降、输出传输方式改变(覆盖率下降)的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图6所示,包括:处理器601、存储器602及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,如图7所示,计算机可读存储介质上存储计算机程序701,所述计算机程序被处理器执行时实现上述一种数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理终端设备上,使得在计算机或其它可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种总线互联系统、一种数据处理方法、一种数据处理装置、一种电子设备及一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (24)
1.一种总线互联系统,其特征在于,所述总线互联系统包括多个主设备、转换模块、缓存模块、多路选择器模块、指令分解模块、指令仲裁模块和多个从设备,所述多个主设备的接口格式不同,所述多个从设备的接口格式不同,
所述转换模块,用于将所述主设备发送的指令转换为符合所述缓存模块接口格式的指令后传输至所述缓存模块;
所述缓存模块,用于根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
所述多路选择器模块,用于在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,将指令传输至所述指令分解模块;
所述指令分解模块,用于根据指令类型和所述目标从设备的接口格式类型,将指令分解转换为对应的突发类型后经所述指令仲裁模块传输至所述目标从设备中进行相应的读写操作。
2.根据权利要求1所述的总线互联系统,其特征在于,
所述缓存模块,还用于若所述指令为读指令、所述指令的数据地址全部命中缓存地址且对应的读数据均为有效数据,则直接从所述缓存模块中获取读数据,并将获取到的读数据传输至所述转换模块;
所述转换模块,还用于将获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
3.根据权利要求1所述的总线互联系统,其特征在于,
所述缓存模块,还用于若所述指令为读指令但所述指令的数据地址未全部命中缓存地址,则确定将所述指令传输至所述目标从设备进行相应的读操作,获取相应的读数据。
4.根据权利要求1所述的总线互联系统,其特征在于,
所述缓存模块,还用于若所述指令为写指令且所述指令的数据地址命中缓存地址,则将对应的数据地址和写数据更新至所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
5.根据权利要求1所述的总线互联系统,其特征在于,
所述缓存模块,还用于若所述指令为写指令但所述指令的数据地址未命中缓存地址,则将对应的数据地址和写数据写入所述缓存模块,并更新对应的数据有效状态,同时将所述指令传输至所述目标从设备进行相应的写操作。
6.根据权利要求3所述的总线互联系统,其特征在于,
所述从设备,用于作为所述目标从设备根据获取到的指令进行相应的读操作,获取相应的读数据,并将获取到的读数据传输至所述缓存模块进行缓存;
所述缓存模块,还用于将从所述目标从设备获取的读数据写入所述缓存模块中,并更新对应的数据有效状态,同时将该获取到的读数据传输至所述转换模块;
所述转换模块,还用于将获取到的读数据转换为符合所述主设备接口格式的读数据后传输至所述主设备。
7.根据权利要求4或5所述的总线互联系统,其特征在于,
所述从设备,用于作为所述目标从设备根据获取到的指令进行相应的写操作,生成对应的写操作响应信号,并将所述写操作响应信号传输至所述缓存模块;
所述缓存模块,还用于若所述写操作响应信号为成功信号,则更新所述缓存模块中对应的数据有效状态,同时将所述写操作响应信号传输至所述转换模块;
所述转换模块,还用于将获取到的所述写操作响应信号转换为符合所述主设备接口格式的信号后传输至所述主设备。
8.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为递增指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
9.根据权利要求8所述的总线互联系统,其特征在于,在指令类型为递增指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道获取所述指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
10.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为递增指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
11.根据权利要求10所述的总线互联系统,其特征在于,在指令类型为递增指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
12.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为单指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
13.根据权利要求12所述的总线互联系统,其特征在于,在指令类型为单指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道依次获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道依次获取所述指令的起始地址信息和突发长度信息,并通过写数据通道依次获取对应的写数据进行相应的写操作;其中,传输的所述突发长度信息所对应的突发长度值固定。
14.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为单指令且所述目标从设备的总线接口为第二接口,则将所述指令分解并转换为第三突发类型后传输至所述目标从设备。
15.根据权利要求14所述的总线互联系统,其特征在于,在指令类型为单指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
16.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为定长指令且所述目标从设备的总线接口为第一接口,则将所述指令分解并转换为第一突发类型后传输至所述目标从设备。
17.根据权利要求16所述的总线互联系统,其特征在于,在指令类型为定长指令且所述目标从设备的总线接口为第一接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备通过读地址通道获取所述指令的起始地址信息和突发长度信息进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备通过写地址通道获取所述指令的起始地址信息和突发长度信息,并通过写数据通道获取对应的写数据进行相应的写操作。
18.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型或第四突发类型或第五突发类型或第六突发类型后传输至所述目标从设备。
19.根据权利要求1所述的总线互联系统,其特征在于,
所述指令分解模块,还用于若指令类型为定长指令、所述目标从设备的总线接口为第二接口,且所述指令对应的写操作或读操作中剩余的读写数据长度不为预设长度的整数倍,则将所述指令分解并转换为第二突发类型或第三突发类型后传输至所述目标从设备。
20.根据权利要求18或19所述的总线互联系统,其特征在于,在指令类型为定长指令且所述目标从设备的总线接口为第二接口的情况下,
所述从设备,还用于在所述指令为读指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址进行相应的读操作;
所述从设备,还用于在所述指令为写指令时,作为所述目标从设备不经过独立通道直接获取所述指令的数据地址和写数据进行相应的写操作。
21.一种数据处理方法,其特征在于,应用于总线互联系统,所述方法包括:
将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至所述缓存模块;
根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;
根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作。
22.一种数据处理装置,其特征在于,应用于总线互联系统,所述装置包括:
转换及传输模块,用于将主设备发送的指令转换为符合缓存模块接口格式的指令后传输至所述缓存模块;
确定模块,用于根据指令信息确定直接在所述缓存模块中进行相应的读写操作或将指令传输至目标从设备进行相应的读写操作;
传输模式选择及传输模块,用于在确定将指令传输至所述目标从设备进行相应的读写操作的情况下,对指令进行传输模式选择,并将指令传输至指令分解模块;
分解转换及传输模块,用于根据指令类型和所述目标从设备的接口格式类型,在所述指令分解模块中将指令分解转换为对应的突发类型后传输至所述目标从设备中进行相应的读写操作。
23.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求21所述一种数据处理方法的步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求21所述一种数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310408949.4A CN116126763B (zh) | 2023-04-17 | 2023-04-17 | 总线互联系统、数据处理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310408949.4A CN116126763B (zh) | 2023-04-17 | 2023-04-17 | 总线互联系统、数据处理方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116126763A true CN116126763A (zh) | 2023-05-16 |
CN116126763B CN116126763B (zh) | 2023-07-14 |
Family
ID=86308499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310408949.4A Active CN116126763B (zh) | 2023-04-17 | 2023-04-17 | 总线互联系统、数据处理方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126763B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795746A (zh) * | 2023-08-29 | 2023-09-22 | 北京象帝先计算技术有限公司 | 数据传输装置、系统、组件、电子设备及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135993A (zh) * | 2007-09-20 | 2008-03-05 | 华为技术有限公司 | 一种嵌入式系统芯片及数据读写处理方法 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
CN113918508A (zh) * | 2021-12-15 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种缓存加速方法、装置、设备及可读存储介质 |
CN114265872A (zh) * | 2022-02-24 | 2022-04-01 | 苏州浪潮智能科技有限公司 | 一种用于总线的互联装置 |
CN115809210A (zh) * | 2022-12-22 | 2023-03-17 | 深圳市创达电子有限公司 | 一种基于fpga的lvds高速数据交换机 |
-
2023
- 2023-04-17 CN CN202310408949.4A patent/CN116126763B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135993A (zh) * | 2007-09-20 | 2008-03-05 | 华为技术有限公司 | 一种嵌入式系统芯片及数据读写处理方法 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
CN113918508A (zh) * | 2021-12-15 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种缓存加速方法、装置、设备及可读存储介质 |
CN114265872A (zh) * | 2022-02-24 | 2022-04-01 | 苏州浪潮智能科技有限公司 | 一种用于总线的互联装置 |
CN115809210A (zh) * | 2022-12-22 | 2023-03-17 | 深圳市创达电子有限公司 | 一种基于fpga的lvds高速数据交换机 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795746A (zh) * | 2023-08-29 | 2023-09-22 | 北京象帝先计算技术有限公司 | 数据传输装置、系统、组件、电子设备及方法 |
CN116795746B (zh) * | 2023-08-29 | 2023-12-19 | 北京象帝先计算技术有限公司 | 数据传输装置、系统、组件、电子设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116126763B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984562B (zh) | 寄存器突发访问控制的方法、电子设备及存储介质 | |
JP6377844B2 (ja) | Sfenceを用いずに最適化されたpio書込みシーケンスを用いるパケット送信 | |
KR101689998B1 (ko) | 고성능 인터커넥트 링크 계층 | |
US8918573B2 (en) | Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment | |
JP2584957B2 (ja) | ホスト指示結合式の装置 | |
US20040107265A1 (en) | Shared memory data transfer apparatus | |
CN114168520B (zh) | 光纤通信总线装置、设备和系统 | |
JP5209461B2 (ja) | 集積回路内のデバイス間のデータ転送 | |
CN116126763B (zh) | 总线互联系统、数据处理方法、装置、电子设备及介质 | |
CN105095254A (zh) | 一种实现数据一致性的方法及装置 | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
CN113168388A (zh) | 总线上的存储器请求链接 | |
GB2574614A (en) | Interconnection network for integrated circuit | |
CN117056249A (zh) | 一种mdio到ahb的转换方法、系统、设备及介质 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
EP4367581A1 (en) | Data elision | |
US7206886B2 (en) | Data ordering translation between linear and interleaved domains at a bus interface | |
CN115658588A (zh) | 一种axi总线的id压缩装置及方法 | |
CN112000592B (zh) | 一种模块间数据交互的方法和装置 | |
KR100642158B1 (ko) | 슬레이브 그룹 인터페이스 장치와, 슬레이브 그룹 인터페이스 장치를 통해 버스와 주변 장치를 인터페이스하는 방법 및 시스템 | |
CN104615570B (zh) | 基于主机与dsp的双向数据交换系统及方法 | |
CN217157097U (zh) | 一种用于实现多master优先级控制输出的双总线电路 | |
CN111324562B (zh) | 一种ahb总线跨时钟域的系统及工作方法 | |
KR100612454B1 (ko) | I2c 버스 정합 장치 및 방법 | |
KR20240148308A (ko) | 데이터 제거 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |