CN101004674A - 处理器体系结构 - Google Patents

处理器体系结构 Download PDF

Info

Publication number
CN101004674A
CN101004674A CNA2006101683311A CN200610168331A CN101004674A CN 101004674 A CN101004674 A CN 101004674A CN A2006101683311 A CNA2006101683311 A CN A2006101683311A CN 200610168331 A CN200610168331 A CN 200610168331A CN 101004674 A CN101004674 A CN 101004674A
Authority
CN
China
Prior art keywords
data
bus
module
memory module
handling system
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
CNA2006101683311A
Other languages
English (en)
Other versions
CN101004674B (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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN101004674A publication Critical patent/CN101004674A/zh
Application granted granted Critical
Publication of CN101004674B publication Critical patent/CN101004674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种处理器体系结构。根据该处理器体系结构的处理系统包括具有N个端口的多端口存储器模块、N条数据通信总线,以及在N条数据通信总线中的相应一条数据通信总线上与N个端口中的相应一个端口进行通信的N个硬件加速模块。所述N个硬件加速模块中的第一个对数据执行第一处理任务并且在所述N条数据通信总线中的第一条上把该数据发送到所述多端口存储器模块。所述N个硬件加速模块中的第二个在所述N条数据通信总线中的第二条上接收来自所述多端口存储器模块的数据并且对该数据执行第二处理任务。其中N是大于一的整数。

Description

处理器体系结构
技术领域
本发明涉及数据处理体系结构,更具体地说涉及用于处理的多端口数据存储器体系结构。
背景技术
通常,可通过在软件与硬件之间划分任务来执行数据处理。例如,某些任务比较复杂但不一定是计算密集型,因此用软件执行这些任务就足够了。其他任务计算更加密集,因此用硬件来执行这些任务更有效率。并行处理可被用来加速计算密集型任务的处理。并行处理可被用于视频处理、游戏、复杂数学建模、视频会议和/或其他应用。
各种中央处理单元(CPU)和硬件加速模块通常通过片上(on-chip)总线连接在一起。CPU和/或硬件加速模块之间的数据传输需要较高的带宽。增加总线的数目或片上总线的带宽使数据传输的可用带宽增加。然而,该方法通常效能成本不合算。例如,能够处理多视频流的多通道视频处理器具有高带宽要求。
现在参照图1,数据处理系统的体系结构10被示出。数据处理系统10包括诸如CPU 12-1和12-2(总称为CPU 12)这样的处理器模块和硬件加速模块(即硬件处理模块)14-1和14-2(总称为硬件加速模块14)。CPU 12、硬件加速模块14、动态随机存取存储器(DRAM)模块20和DRAM控制器22通过通信总线24通信。CPU 12、硬件加速模块14、通信总线24、DRAM模块20和/或DRAM控制器22可被包括在印刷电路板(PCB)上或者通过片上系统(SOC)26而集成。CPU 12、硬件加速模块14和DRAM控制器22经由通信总线24与存储模块28进行通信。处理系统10的处理性能受到通信总线24的容量的限制。换言之,处理速度受到通信总线24的速度和/或带宽的限制。
相关申请的交叉引用
本申请要求在2006年8月14号提交的美国临时申请No.60/822,320、在2006年7月31日提交的美国临时申请No.60/820,871、2006年5月8日提交的美国临时申请No.60/798,569、以及2006年1月18日提交的美国临时申请No.60/759,868的优先权,并且与在2005年12月20日提交的美国临时申请No.60/752,522有关。上述申请的公开全部通过引用被结合在这里。
发明内容
一种数据处理系统包括具有N个端口的多端口存储器模块和N条数据通信总线。N个硬件加速模块在所述N条数据通信总线中的相应数据通信总线上与N个端口中的相应端口进行通信。所述N个硬件加速模块中的第一个对数据执行第一处理任务并且在所述N条数据通信总线中的第一条上把该数据发送到所述多端口存储器模块。所述N个硬件加速模块中的第二个在所述N条数据通信总线中的第二条上接收来自所述多端口存储器模块的所述数据并且对该数据执行第二处理任务。N是大于一的整数。
在本发明的其他特征中,所述数据包括视频数据和控制数据中的至少一种。所述多端口存储器模块可包括具有交错的多存储体存储器。所述多端口存储器模块包括多端口数据紧密耦合型存储(MP-DTCM)模块。所述多端口存储器模块包括J个附加端口和J条附加数据通信总线。J-A个处理器模块和J-B个动态随机存取存储器(DRAM)模块在所述J条数据通信总线中的相应数据通信总线上与所述多端口存储器模块进行通信。J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。所述N条数据通信总线中的第一条和第二条数据通信总线中的至少一条具有第一数据宽度,并且所述J条数据通信总线具有第二数据宽度。所述第一数据宽度具有比所述第二数据宽度少的位。所述第一数据宽度是8位和16位中的至少一种,并且所述第二数据宽度是32位、64位和128位中的至少一种。
在本发明的其他特征中,所述数据处理系统还包括至少一个可编程边带(sideband)处理器模块。所述至少一个可编程边带处理器模块包括指令紧密耦合型存储(ITCM)模块、处理器核心,以及数据紧密耦合型存储(DTCM)模块。所述DTCM模块与所述多端口存储器模块进行通信,所述直接存储器存取(DMA)模块控制所述DTCM模块与所述存储模块之间的数据传输。所述DTCM模块是双端口的和多存储体的中的至少一种。所述数据处理系统还包括共享总线。所述共享总线包括第一总线部分和第二总线部分。总线桥与所述第一总线部分和所述第二总线部分进行通信。所述N个硬件加速模块在所述第一总线部分上以第一速率进行通信,并且所述J-A个处理器模块和J-B个DRAM模块在所述第二总线部分上以第二速率进行通信。
在本发明的其他特征中,所述可编程边带处理器模块对16位数据的倍数和8位数据中的至少一种进行处理。所述可编程边带处理器模块包括单指令多数据(SIMD)处理器。一种高清晰电视机(HDTV)包括所述数据处理系统。
一种数据处理系统包括具有N+M个端口的多端口存储器模块和N+M条数据通信总线。N个硬件加速模块在所述N条数据通信总线中的相应一条数据通信总线上与所述N个端口中的相应一个端口进行通信。M个可编程边带处理器模块在所述M条数据通信总线中的相应一条数据通信总线上与所述M个端口中的相应一个端口进行通信。所述N个硬件加速模块之一对数据执行第一处理任务并在所述N条数据通信总线之一上把该数据发送到所述多端口存储器模块,并且所述M个可编程边带处理器模块之一在所述M条数据通信总线之一上接收来自所述多端口存储器模块的所述数据并对该数据执行第二处理任务。N和M是大于等于一的整数。
在本发明的其他特征中,所述多端口存储器模块包括J个附加端口。共享总线包括第一总线部分、第二总线部分和总线桥,所述第一总线部分与所述N个硬件加速模块和所述M个可编程边带处理器模块以第一速率进行通信,所述第二总线部分与J-A个处理器模块和J-B个RAM模块以第二速率进行通信,所述总线桥与所述第一总线部分和所述第二总线部分进行通信。J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。
一种数据处理系统包括用于存储数据并具有N个端口的多端口存储装置、用于传输数据的N个数据通信总线装置,以及用于在所述N条数据通信总线中的相应一条数据通信总线上与N个端口中的相应一个端口进行通信的N个硬件加速装置。所述N个硬件加速装置中的第一个对数据执行第一处理任务并且在所述N条数据通信总线装置中的第一条上把该数据发送到所述多端口存储装置。所述N个硬件加速装置中的第二个在所述N个数据通信总线装置中的第二个上接收来自所述多端口存储装置的所述数据并且对该数据执行第二处理任务。N是大于一的整数。
在本发明的其他特征中,所述数据包括视频数据和控制数据中的至少一种。所述多端口存储装置包括多端口数据紧密耦合型存储(MP-DTCM)模块。所述多端口存储装置包括J个附加端口和J条附加数据通信总线。所述数据处理系统包括在所述J条数据通信总线装置中的相应一条数据通信总线装置上与所述多端口存储装置进行通信的J-A个处理器装置和J-B个动态随机存取存储器(DRAM)装置。J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。所述N条数据通信总线装置中的第一条和第二条数据通信总线装置中的至少一条具有第一数据宽度,并且J个数据通信总线装置具有第二数据宽度。所述第一数据宽度具有比所述第二数据宽度少的位。所述第一数据宽度是8位和16位中的至少一种,并且所述第二数据宽度是32位、64位和128位中的至少一种。
在本发明的其他特征中,所述数据处理系统还包括至少一个用于执行硬件加速功能的可编程边带处理器装置。所述至少一个可编程边带处理器装置包括指令紧密耦合型存储(ITCM)模块、处理器核心,以及数据紧密耦合型存储(DTCM)模块。所述DTCM模块与所述多端口存储装置进行通信,所述直接存储器存取(DMA)模块控制所述DTCM模块与所述多端口存储装置之间的数据传输。所述DTCM模块是双端口的和多存储体的中的至少一种。所述数据处理系统还包括共享总线。所述共享总线包括第一总线部分装置、第二总线部分装置和总线桥装置,所述第一总线部分装置用于与所述N个硬件加速装置以第一速率进行通信,所述第二总线部分装置用于与所述处理器装置和所述DRAM装置中的至少一个以第二速率进行通信,所述总线桥用于与所述第一总线部分装置和所述第二总线部分装置进行通信。
在本发明的其他特征中,所述可编程边带处理器装置对16位数据的倍数和8位数据中的至少一种进行处理。所述可编程边带处理器装置包括单指令多数据(SIMD)处理器。一种高清晰电视机(HDTV)包括所述数据处理系统。
一种数据处理方法包括在N个硬件加速模块中的第一个处对数据执行第一处理任务,在N条数据通信总线中的相应第一条数据通信总线上把该数据发送到多端口存储器模块的N个端口中的相应的第一个端口,在所述N条数据通信总线中的相应第二条数据通信总线上在所述N个硬件加速模块中的第二个处接收来自所述多端口存储器模块的N个端口中的相应第二个端口的所述数据,以及在所述N个硬件加速模块中的第二个处对该数据执行第二处理任务。N是大于一的整数。
在本发明的其他特征中,所述数据包括视频数据和控制数据中的至少一种。所述多端口存储器模块包括多端口数据紧密耦合型存储(MP-DTCM)模块。所述数据处理方法还包括J-A个处理器模块和J-B个动态随机存取存储器(DRAM)模块中的至少一个在J条附加数据通信总线中的相应数据通信总线上与所述多端口存储器模块进行通信。J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。所述N条数据通信总线中的第一条和第二条数据通信总线中的至少一条具有第一数据宽度,并且J条附加数据通信总线具有第二数据宽度。所述第一数据宽度具有比所述第二数据宽度少的位。所述第一数据宽度是8位和16位中的至少一种,并且所述第二数据宽度是32位、64位和128位中的至少一种。
在本发明的其他特征中,所述数据处理方法还包括用可编程边带处理器模块执行硬件加速功能。所述可编程边带处理器模块包括指令紧密耦合型存储(ITCM)模块、处理器核心,以及数据紧密耦合型存储(DTCM)模块。所述DTCM模块与所述多端口存储器模块进行通信,所述直接存储器存取(DMA)模块控制所述DTCM模块与所述存储模块之间的数据传输。所述DTCM模块是双端口的和多存储体的中的至少一种。所述数据处理方法嗨包括在共享总线的第一总线部分上与所述N个硬件加速模块以第一速率进行通信,在所述共享总线的第二总线部分上与所述J-A个处理器模块和J-B个DRAM模块以第二速率进行通信,以及用总线桥与所述第一总线部分和所述第二总线部分进行通信。所述可编程边带处理器模块对16位数据的倍数和8位数据中的至少一种进行处理。所述可编程边带处理器模块包括单指令多数据(SIMD)处理器。
在其他特征中,上面所描述的系统和方法是通过由一个或多个处理器执行的计算机程序来实现的。所述计算机程序可驻留于计算机可读介质,例如但不限于存储器、非易失性数据存储介质和/或其他合适的有形存储介质。
本发明的其他应用领域从下文所提供的详细描述将变得清楚。应该明白,详细描述和特定示例在指示本发明优选实施例的同时意图仅是为了说明而非意图限制本发明的范围。
附图说明
从具体实施方式和附图将更加充分地理解本发明,其中:
图1是根据现有技术的数据处理系统的功能框图;
图2是根据本发明的多端口存储器模块的功能框图;
图3是根据本发明的包括多端口存储器模块的多端口存储器系统的功能框图;
图4是根据本发明的与硬件加速模块进行通信的多端口存储器系统的功能框图;
图5是根据本发明的包括可编程边带处理器模块的多端口存储器系统的功能框图;
图6A和6B是根据本发明的可编程边带处理器模块的功能框图;
图7是图示了根据本发明的数据处理方法的步骤的流程图;
图8A是高清晰电视的功能框图;
图8B是机顶盒的功能框图;以及
图8C是媒体播放器的功能框图。
具体实施方式
下列描述本质上仅是示范性质的,并且决不打算限制本发明、其应用或使用。为了清楚,附图中将使用相同的标号来标识相似的元件。如在这里所使用的,术语模块、电路和/或设备指的是专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群)和存储器、组合逻辑电路,和/或提供所述功能的其他合适组件。如在这里所使用的,短语“A、B和C中的至少一个”应被解释为表示使用非互斥逻辑或的逻辑(A或B或C)。应该明白一种方法中的步骤可按照不同顺序执行而不改变本发明的原理。
根据本发明,处理系统包括多端口数据存储器体系结构。示范性的多端口存储器体系结构在2003年11月5日提交的美国专利申请No.10/702,744的“Multiport Memory Architecture,Devices and SystemsIncluding the Same,and Methods of Using the Same(多端口存储器体系结构、包括它的设备和系统,以及其使用方法)”中被描述,上述申请全部通过引用被包括在这里。
现在参照图2,多端口存储器模块100(即根据多端口存储器体系结构布置的存储模块)分别包括存储器阵列110、写端口缓冲器112-1、112-2、112-3...112-n(总称为写端口缓冲器112)、读端口缓冲器113-1、113-2、113-3...113-m(总称为读端口缓冲器113)、写端口114-1、114-2、114-3...114-n(总称为写端口114)、读端口115-1、115-2、115-3...115-m(总称为读端口115)、分别为并行读和写寄存器的116和118,以及“监听(snoop)”寄存器120。
端口缓冲器112包括适于在端口114与存储器阵列110之间发送和接收数据的一个或多个寄存器,或触发器、锁存器、寄存器体,和/或任何其他设备或模块。端口缓冲器112和存储器阵列110经由总线(例如公共存储器写总线122和公共存储器读总线124)通信。虽然多端口存储器模块100被示出为具有单端口存储结构,但是本领域技术人员可明白也可以使用双端口存储器结构。
存储器阵列110可包括多个存储子阵列(未示出)。这些子阵列可包括存储器一个或多个行、列、块和/或页。这些存储器行、列、块和/或页中的每一个可通过与该行、列、块和/或页相对应的唯一存储地址来识别和/或访问。在存储器阵列110与端口缓冲器112之一之间传输的每块数据包括一页数据。通常,存储器阵列110的最小密度是256kb或1Mb。当存储器阵列110的最大密度不受限制时,通常的最大密度是32Mb、64Mb或128Mb。存储器阵列110可包括锁存器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、磁性随机存取存储器(MRAM)、电可擦可编程只读存储器(EEPROM),以及闪速存储器。存储器阵列110还可是同步或异步的。
端口缓冲器112可被“紧密耦合”到存储器阵列110。当存储器体系结构是紧密耦合的时,多个处理器被直接耦合到存储模块或经由一共享型存储总线耦合到存储模块。存储总线122和124被设计为使诸如总线长度(对应于电阻)和/或总线中相邻金属线之间的寄生电容这样的电阻电容(RC)成分减少或最小化。结果,带宽和存储器访问效率被增加。端口缓冲器112与存储器阵列110之间的通信最好不被端口缓冲器(被紧密耦合到存储器阵列)中的时钟驱动(clocked)电路元件延迟。
存储器阵列110可以包括多存储体动态随机存取存储器(MDRAM)来代替紧密耦合存储器,和/或可以包括紧密耦合存储器和MDRAM。传统的存储器设计通常把存储器的单个整体的“块”用于缓冲器。MDRAM把其存储器分解成可独立存取的多个32KB存储体。结果,可以在存储器体之间交错执行存储器存取,以允许存储器存取的重叠并提供更好的性能。
现在参照图3,多端口存储器系统140包括多端口存储器模块100。多端口存储器系统140包括处理器模块(CPU)142-1、142-2...142-x(总称为CPU 142)、硬件加速模块144-1、144-2...144-y(总称为硬件加速模块144)、DRAM控制器146和DRAM模块148。例如,CPU 142是执行通用软件和固件指令的处理器。硬件加速模块144每个经由独立(即专用)总线150-1、150-2...150-y(总称为总线150)与多端口存储器模块100进行通信。更具体地说,硬件加速模块144每个经由专用总线而不是如上面图1中所示的共享公共总线来与多端口存储器模块100进行通信。CPU 142和DRAM控制器146可共享单条总线或者在所示的独立总线156和158-1、158-2...158-x(总称为总线158)上通信。
现在参照图4,每个硬件加速模块144经由总线160和162与多端口存储器模块100单独地通信。通常,硬件加速总线具有32位的数据宽度。这里,总线160和162可更窄以使配线拥塞最小化并使管芯尺寸减小。例如,总线160和162可具有8或16位的数据宽度。总线160是与多端口存储器模块100的写端口缓冲器112(经由图2所示的写端口114)进行通信的写总线。相反地,总线162是与读端口缓冲器113(经由图2所示的读端口115)进行通信的读总线。多端口存储器模块100可包括与CPU 142和/或DRAM控制器146进行通信的附加读端口缓冲器164-1、164-2...164-z(总称为读端口缓冲器164)。读端口缓冲器164具有64位、128位或更宽的总线宽度。换言之,CPU 142和/或DRAM控制器146可经由总线与多端口存储器模块100通信,所述总线维持比硬件加速模块144更宽的数据宽度。
现在参照图3和4,每个硬件加速模块144在执行数据处理的同时把中间数据存储在多端口存储器模块100中。硬件加速模块144中的第一个首先经由写端口缓冲器112把数据传输到多端口存储器模块100,而不是把数据直接传输到另一个硬件加速模块144。接着,数据经由读端口缓冲器113从多端口存储器模块100传输到其他硬件加速模块144之一。这样,每个硬件加速模块能够单独处理数据而无需图1所示的传统系统中所需的仲裁和/或争用。
由于该体系结构,相对于图1所示的共享总线体系结构,多端口存储器系统140的带宽大约可被加倍。然而,本领域技术人员可意识到进一步增加硬件加速模块144的任何单独总线(即,总线160和162)的带宽比增加共享型片上总线的带宽实现起来要容易地多。例如,多端口存储器模块100可包括如图4所述的多端口缓冲器,从而允许独立硬件加速模块144的总带宽被解耦。换言之,因为共享总线体系结构被排除,所以每个硬件加速模块144需要低得多的带宽资源。作为代替,每个硬件加速模块144利用诸如总线160和162这样的较窄的专用单独总线通信。由于总线160和162的点对点性质(即在多端口存储器模块100与每个硬件加速模块144之间),高密度定额(rating)和高时钟频率的操作易于实现。
例如,当多端口存储器模块100的存储器阵列具有a×128的配置(即数据宽度是128位的倍数)时,通过以400MHz运行存储核心可实现51.2吉比特(Gbit)的带宽。相似地,当硬件加速模块144的每个端口(即读端口和写端口)具有a×16的配置(即数据宽度是16位的倍数)时,每个端口通过使用200MHz时钟可实现3.2Gbit的带宽。通常,1920×1080像素的高清晰电视机(HDTV)对进入或离开中央存储器的每个数据传输需要大约1.5Gbit/秒的带宽。例如,通过在硬件加速模块144和多端口存储器模块100之间使用200MHz时钟,如图3和4所示的多端口存储器系统140能够处理2个按照1.5Gbit/秒要求的视频数据流。通过使用400MHz时钟,多端口存储器系统140能够处理4个按照1.5Gbit/秒要求的视频数据流。
多端口存储器系统140的另一个优势是硬件加速模块144可被单独设计。例如,每个独立硬件加速模块144可被设计为优化硬件加速模块144的性能,而不考虑共享型片上总线的带宽限制。硬件加速模块144可为特定功能而优化,该特定功能可能增加多端口存储器系统140的总带宽。换言之,系统140的数据处理能力是可扩展的。
现在参照图5,硬件加速模块(和附加的相应端口和缓冲器,未示出)的数目可被增加,以扩展(即增加)多端口存储器系统140的数据处理能力。例如,系统140可包括主要对去往和来自多端口存储器模块100的数据进行处理的处理器(例如,边带处理器)。处理器可被按需加入多端口存储器系统140以实现希望水平的数据处理能力。
例如,系统140可包括一个或多个可编程边带处理器模块172-1...172-z(总称为可编程边带处理器模块172)。可编程边带处理器模块172经由单独总线174-1...174-z(总称为总线174)与多端口存储器模块100通信。总线174类似于如图4所述的总线160和162。例如,总线174具有16位的数据宽度。
通常,硬件加速模块被设计为节省空间并被设计为执行固定、特定的功能。例如,硬件加速模块可被设计为处理速度重要的应用。对硬件加速模块的任何改变都需要改变包括硬件加速模块的集成电路(IC)。与此相反,每个可编程边带处理器模块172可被编程来改变可编程边带处理器模块172的一个或多个功能而不改变IC。例如,用户或制造商可对可编程边带处理器模块172之一进行编程以遵守各种操作标准和/或处理不同功能。
如图5所示,可编程边带处理器模块172可被专用于处理硬件加速模块144不会另行执行的任务。换言之,每个可编程边带处理器模块172被设计为执行一个或多个特定硬件加速功能并且可具有比CPU 142或硬件加速模块144更小的特征集。
多端口存储器系统140可包括共享总线180。CPU 142、硬件加速模块144、DRAM控制器146和可编程边带处理器模块172经由共享总线180互相通信。例如,可编程边带处理器模块172可在共享总线180上传递控制消息以避免总线拥塞。相似地,CPU 142可在共享总线180上传递消息和控制信息。共享总线180包括总线桥182,该总线桥182允许CPU 142和DRAM控制器146在共享总线180上以第一速率发送/接收数据,并允许硬件加速模块144和可编程边带处理器模块172在共享总线180上以第二速率发送/接收数据。例如,共享总线180可包括以低或中速率工作的第一部分184和以高速率工作的第二部分186。
现在参照图6A和6B,示范性的可编程边带处理器被更详细地示出。在图6A中,每个可编程边带处理器模块172包括指令紧密耦合型存储(ITCM)模块190、处理器核心192,以及数据紧密耦合型存储(DTCM)模块194。紧密耦合型存储结构的更详细的描述可在2005年12月20日提交的美国临时申请No.60/752,522中找到,上述申请的全部内容通过引用被结合在这里。另一方面,指令存储器190’和与数据控制模块194’相关联的数据存储器196’可以包括具有交错的MDRAM。
ITCM模块190优选包括足够的存储器,以使每个可编程边带处理器模块172能够执行相应的任务。换言之,对可编程边带处理器模块172进行编程可能包括改变ITCM模块190上存储的指令。例如,可编程边带处理器模块172之一可被编程为对硬件加速模块144之一进行仿真。换言之,可编程边带处理器模块172允许灵活实现多端口存储器系统140。通过对驻留于可编程边带处理器模块172的指令进行修改可以将可编程边带处理器模块172编程为具有新功能。
可编程边带处理器模块172包括DMA模块196,该DMA模块196独立于边带处理器的活动,对进出DTCM模块194的数据进行传输。例如,DTCM模块194是双端口的和多存储体的中的至少一种。结果,处理器核心192可以与去往和来自多端口存储器模块100的数据传输并发地存取DTCM模块194,而不中断或阻碍边带处理器的活动。
诸如视频数据这样的至少两宏块(macro block)的数据可在任意给定时间驻留在可编程边带处理器模块172中。例如,第一宏块的数据位于可编程边带处理模块172中待处理,并且第二宏块的数据可能位于可编程边带处理器模块172中,用于随后传递向多端口存储器模块100或从多端口存储器模块100传递走。
ITCM模块190、处理器核心192和DTCM模块194在内部总线198和如图5中所述的共享总线180上通信。DTCM模块194经由单条双向总线200或两条单向总线(未示出)与多端口存储器模块100进行通信。
如图6A和6B所示,可编程边带处理器模块172可不包括高速缓冲存储器以使管芯尺寸最小化并使边带处理器数据处理最大化。例如,对于1920×1080像素HDTV,以1GHz工作的可编程边带处理器模块172可允许的每个象素操作的约16个周期。照此,可编程边带处理器模块172理想地使得用于编码执行而非用于传输去往和来自DTCM模块194的数据(如果可编程边带处理器模块172包括高速缓冲存储器的话,将会是必要的)的可用周期最大化。虽然本实现省略了高速缓冲存储器,但是本领域技术人员可意识到包括高速缓冲存储器的可编程边带处理器模块172被预期。
可编程处理器模块172可被优化为对16位数据的倍数和/或8位数据进行处理。例如,可编程边带处理器模块172可实现单指令多数据(SIMD)处理器,该SIMD处理器被配置为对16位数据的倍数和/或8位数据进行处理。任何复杂的32位操作可以用软件来支持,以减少可编程边带处理器模块172的功率消耗。
现在参照图7,根据本发明的多端口存储器体系结构的数据处理方法300开始于步骤302。在步骤304中,第一硬件加速模块对数据执行第一处理任务。在步骤306中,第一硬件加速模块在第一数据总线上把数据传输到多端口存储器模块。在步骤308中,多端口存储器模块在第二数据总线上把数据传输到第二硬件加速模块。在步骤310中,第二硬件加速模块对数据执行第二处理任务。在步骤312中,第二硬件加速模块在第二数据总线上把数据传输到多端口存储器模块。方法300以步骤314结束。
现在参照图8A-8C,本发明的各种示例性实现被示出。现在参照图8A,本发明可被实现在HDTV420中。HDTV 420包括信号处理和/或控制电路(在图8A中被总地标为422)、WLAN接口、HDTV 420的海量数据存储设备,和/或电源423。本发明可实现和/或被实现于信号处理和/或控制电路422两者或任一个中。HDTV 420接收有线或无线格式的HDTV输入信号并且为显示器426生成HDTV输出信号。在一些实现中,HDTV420的信号处理和/或控制电路422和/或其他电路(未示出)可处理数据、执行编码和/或加密、执行计算,格式化数据和/或执行可能需要的任何其他类型的HDTV处理。
HDTV 420可与诸如光和/或磁存储设备这样的以非易失性方式存储数据的海量数据存储设备427进行通信。HDTV 420可被连接到诸如RAM、ROM这样的存储器428、诸如闪存这样的低等待时间非易失性存储器和/或其他合适的电子数据存储设备。HDTV 420还可支持经由WLAN网络接口429与WLAN进行连接。
现在参照图8B,本发明可被实现在机顶盒480中。机顶盒480包括信号处理和/或控制电路(在图8B中被总地标为484)、WLAN接口、机顶盒480的海量数据存储设备和/或电源483。本发明可实现和/或被实现于信号处理和/或控制电路484两者或任一个中。机顶盒480从诸如宽带源这样的源接收信号并且输出适于诸如电视机和/或监视器和/或其他视频和/或音频输出设备这样的显示器488的标准和/或高清晰音频/视频信号。机顶盒480的信号处理和/或控制电路484和/或其他电路(未示出)可处理数据、执行编码和/或加密、执行计算、格式化数据和/或执行任何其他的机顶盒功能。
机顶盒480可与以非易失性方式存储数据的海量数据存储设备490进行通信。海量数据存储设备490可包括诸如硬盘驱动器(HDD)和/或数字通用光盘(DVD)这样的光和/或磁存储设备。HDD可以是包括一个或多个直径小于约1.8英寸的盘片的微型HDD。机顶盒480可被连接到诸如RAM、ROM、诸如闪存这样的低等待时间非易失性存储器和/或其他合适的电子数据存储设备这样的存储器494。机顶盒480还可支持经由WLAN网络接口496与WLAN进行连接。
现在参照图8C,本发明可被实现在包括视频能力的媒体播放器500中。媒体播放器500包括信号处理和/或控制电路(在图8C中被总地标为504)、WLAN接口、媒体播放器500的海量数据存储设备和/或电源513。本发明可实现和/或被实现于信号处理和/或控制电路504两者或任一个中。在一些实现中,媒体播放器500包括显示器507和/或诸如小键盘、触摸盘等这样的用户输入设备508。在一些实现中,媒体播放器500可使用通常采用菜单、下拉菜单、图标的图形用户界面(GUI)和/或利用显示器507和/或用户输入设备508的指取(point-and-click)接口。媒体播放器500还包括诸如扬声器和/或音频输出插座这样的音频输出509。媒体播放器500的信号处理和/或控制电路504和/或其他电路(未示出)可处理数据、执行编码和/或加密、执行计算、格式化数据和/或执行任何其他媒体播放器功能。
媒体播放器500可与以非易失性方式存储诸如压缩音频和/或视频内容这样的数据的海量数据存储设备510进行通信。在一些实现中,压缩音频文件包括与MP3格式或其他合适的压缩音频和/或视频格式兼容的文件。海量数据存储设备可包括诸如硬盘驱动器HDD和/或DVD这样的光和/或磁存储设备。HDD可以是包括一个或多个直径小于约1.8英寸的盘片的微型HDD。媒体播放器500可被连接到诸如RAM、ROM、诸如闪存这样的低等待时间非易失性存储器和/或其他合适的电子数据存储设备这样的存储器514。媒体播放器500还可支持经由WLAN网络接口516与WLAN进行连接。除上述那些之外的其他实现仍可预期。
本领域技术人员现在可从前面的描述意识到本发明的普遍教导可以各种形式实现。因此,虽然已结合具体示例描述了本发明,但是本发明的实际范围不应这样受限,因为当研究过附图、说明书和所附权利要求书之后其他修改对本领域技术人员将变得显而易见。

Claims (18)

1.一种数据处理系统,包括:
具有N个端口的多端口存储器模块;
N条数据通信总线;以及
N个硬件加速模块,所述硬件加速模块在N条数据通信总线中的相应一条数据通信总线上与所述N个端口中的相应一个端口进行通信,
其中,所述N个硬件加速模块中的第一个对数据执行第一处理任务并且在所述N条数据通信总线中的第一条上把该数据发送到所述多端口存储器模块,所述N个硬件加速模块中的第二个在所述N条数据通信总线中的第二条上接收来自所述多端口存储器模块的所述数据并且对该数据执行第二处理任务,其中N是大于一的整数。
2.根据权利要求1所述的数据处理系统,其中,所述数据包括视频数据和控制数据中的至少一种。
3.根据权利要求1所述的数据处理系统,其中,所述多端口存储器模块包括多端口数据紧密耦合型存储器模块。
4.根据权利要求1所述的数据处理系统,其中,所述多端口存储器模块包括J个附加端口和J条附加数据通信总线,还包括在所述J条数据通信总线中的相应数据通信总线上与所述多端口存储器模块进行通信的J-A个处理器模块和J-B个动态随机存取存储器模块,其中J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。
5.根据权利要求4所述的数据处理系统,其中,所述N条数据通信总线中的第一条和第二条数据通信总线中的至少一条具有第一数据宽度,并且所述J条数据通信总线具有第二数据宽度。
6.根据权利要求5所述的数据处理系统,其中,所述第一数据宽度具有比所述第二数据宽度少的位。
7.根据权利要求6所述的数据处理系统,其中,所述第一数据宽度是8位和16位中的至少一种,并且所述第二数据宽度是32位、64位和128位中的至少一种。
8.根据权利要求1所述的数据处理系统,还包括至少一个可编程边带处理器模块。
9.根据权利要求8所述的数据处理系统,其中,所述至少一个可编程边带处理器模块包括:
指令紧密耦合型存储器模块;
处理器核心;以及
数据紧密耦合型存储器模块。
10.根据权利要求9所述的数据处理系统,其中,所述数据紧密耦合型存储器模块与所述多端口存储器模块进行通信,所述直接存储器存取模块控制所述数据紧密耦合型存储器模块与所述多端口存储器模块之间的数据传输。
11.根据权利要求9所述的数据处理系统,其中,所述数据紧密耦合型存储器模块是双端口的和多存储体的中的至少一种。
12.根据权利要求4所述的数据处理系统,还包括共享总线。
13.根据权利要求12所述的数据处理系统,其中,所述共享总线包括:
第一总线部分;
第二总线部分;以及
与所述第一总线部分和所述第二总线部分进行通信的总线桥,
其中,所述N个硬件加速模块在所述第一总线部分上以第一速率进行通信,并且所述J-A个处理器模块和J-B个动态随机存取存储器模块在所述第二总线部分上以第二速率进行通信。
14.根据权利要求8所述的数据处理系统,其中,所述可编程边带处理器模块对16位数据的倍数和8位数据中的至少一种进行处理。
15.根据权利要求14所述的数据处理系统,其中,所述可编程边带处理器模块包括单指令多数据处理器。
16.一种包括权利要求1所述的数据处理系统的高清晰度电视机。
17.一种数据处理系统,包括:
具有N+M个端口的多端口存储器模块;
N+M条数据通信总线;
N个硬件加速模块,所述硬件加速模块在所述N条数据通信总线中的相应一条数据通信总线上与所述N个端口中的相应一个端口进行通信;以及
M个可编程边带处理器模块,所述可编程边带处理器模块在所述M条数据通信总线中的相应一条数据通信总线上与所述M个端口中的相应一个端口进行通信,
其中,所述N个硬件加速模块之一对数据执行第一处理任务并在所述N条数据通信总线之一上把该数据发送到所述多端口存储器模块,并且所述M个可编程边带处理器模块之一在所述M条数据通信总线之一上接收来自所述多端口存储器模块的所述数据并对该数据执行第二处理任务,其中N和M是大于等于一的整数。
18.根据权利要求17所述的数据处理系统,其中,所述多端口存储器模块包括J个附加端口,并且还包括:
共享总线,其包括第一总线部分、第二总线部分和总线桥,所述第一总线部分与所述N个硬件加速模块和所述M个可编程边带处理器模块以第一速率进行通信,所述第二总线部分与J-A个处理器模块和J-B个随机存取存储器模块以第二速率进行通信,所述总线桥与所述第一总线部分和所述第二总线部分进行通信,其中J是大于一的整数,A和B是大于等于一的整数,并且A+B=J。
CN2006101683311A 2006-01-18 2006-12-18 数据处理系统和包括数据处理系统的高清晰度电视机 Active CN101004674B (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US75986806P 2006-01-18 2006-01-18
US60/759,868 2006-01-18
US79856906P 2006-05-08 2006-05-08
US60/798,569 2006-05-08
US82087106P 2006-07-31 2006-07-31
US60/820,871 2006-07-31
US82232006P 2006-08-14 2006-08-14
US60/822,320 2006-08-14
US11/504,962 2006-08-16
US11/504,962 US7600081B2 (en) 2006-01-18 2006-08-16 Processor architecture having multi-ported memory

Publications (2)

Publication Number Publication Date
CN101004674A true CN101004674A (zh) 2007-07-25
CN101004674B CN101004674B (zh) 2012-05-30

Family

ID=37989043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101683311A Active CN101004674B (zh) 2006-01-18 2006-12-18 数据处理系统和包括数据处理系统的高清晰度电视机

Country Status (7)

Country Link
US (2) US7600081B2 (zh)
EP (1) EP1811398B1 (zh)
JP (1) JP5302507B2 (zh)
CN (1) CN101004674B (zh)
DE (1) DE602006021129D1 (zh)
SG (1) SG134211A1 (zh)
TW (1) TWI514165B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114402308A (zh) * 2019-09-17 2022-04-26 美光科技公司 连接单芯片系统与加速器芯片的存储器芯片

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036061B2 (en) * 2009-02-13 2011-10-11 Apple Inc. Integrated circuit with multiported memory supercell and data path switching circuitry
JP4970579B2 (ja) 2010-08-26 2012-07-11 株式会社東芝 テレビジョン装置
US9336008B2 (en) * 2011-12-28 2016-05-10 Intel Corporation Shared function multi-ported ROM apparatus and method
US9491505B2 (en) 2012-02-28 2016-11-08 Qualcomm Incorporated Frame capture and buffering at source device in wireless display system
JP5756990B2 (ja) * 2013-04-01 2015-07-29 株式会社アクセル 通信システム、通信方法
KR102396435B1 (ko) 2015-08-11 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치, 버퍼 메모리 및 컨트롤러를 포함하는 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법
US11409681B2 (en) * 2020-09-04 2022-08-09 Paypal, Inc. Computer system communication via sideband processor

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347856A (ja) * 1986-08-15 1988-02-29 Toshiba Corp メモリシステム
CN1008018B (zh) * 1986-09-27 1990-05-16 徐肇昌 一种具有合作能力的同构型多计算机系统及其合作方法
JPH01177672A (ja) * 1988-01-08 1989-07-13 Yuuseishiyou Tsushin Sogo Kenkyusho ディジタル信号処理装置
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0371364A (ja) * 1989-08-11 1991-03-27 Toyo Commun Equip Co Ltd プロセッサ
JP2965043B2 (ja) * 1990-04-10 1999-10-18 三菱電機株式会社 デュアルポートメモリ
JPH04257048A (ja) * 1991-02-12 1992-09-11 Mitsubishi Electric Corp デュアルポートメモリ
US5361370A (en) * 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
US5639094A (en) * 1995-03-29 1997-06-17 Manchester; Vance Word game
US6029242A (en) * 1995-08-16 2000-02-22 Sharp Electronics Corporation Data processing system using a shared register bank and a plurality of processors
US6067595A (en) * 1997-09-23 2000-05-23 Icore Technologies, Inc. Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6292862B1 (en) * 1998-07-28 2001-09-18 Siemens Aktiengesellschaft Bridge module
US6938253B2 (en) * 2001-05-02 2005-08-30 Portalplayer, Inc. Multiprocessor communication system and method
US6816889B1 (en) * 2001-07-03 2004-11-09 Advanced Micro Devices, Inc. Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node
KR20040019335A (ko) * 2001-07-18 2004-03-05 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 다중프로세서 디바이스 및 동기화 최적화 방법 및 액세스제어 방법
JP2003114797A (ja) * 2001-10-04 2003-04-18 Matsushita Electric Ind Co Ltd データ処理装置
GB0204144D0 (en) * 2002-02-22 2002-04-10 Koninkl Philips Electronics Nv Transferring data between differently clocked busses
US7571287B2 (en) 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
US7236525B2 (en) * 2003-05-22 2007-06-26 Lsi Corporation Reconfigurable computing based multi-standard video codec
US20050094729A1 (en) 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP4498848B2 (ja) * 2004-07-28 2010-07-07 三菱電機株式会社 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114402308A (zh) * 2019-09-17 2022-04-26 美光科技公司 连接单芯片系统与加速器芯片的存储器芯片
CN114402308B (zh) * 2019-09-17 2024-05-24 美光科技公司 连接单芯片系统与加速器芯片的存储器芯片

Also Published As

Publication number Publication date
US7600081B2 (en) 2009-10-06
CN101004674B (zh) 2012-05-30
US7761668B2 (en) 2010-07-20
US20070168622A1 (en) 2007-07-19
TWI514165B (zh) 2015-12-21
EP1811398B1 (en) 2011-04-06
JP2007220085A (ja) 2007-08-30
US20100023705A1 (en) 2010-01-28
SG134211A1 (en) 2007-08-29
TW200741480A (en) 2007-11-01
JP5302507B2 (ja) 2013-10-02
DE602006021129D1 (de) 2011-05-19
EP1811398A1 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
CN101004674B (zh) 数据处理系统和包括数据处理系统的高清晰度电视机
US7155554B2 (en) Methods and apparatuses for generating a single request for block transactions over a communication fabric
US7702827B2 (en) System and method for a credit based flow device that utilizes PCI express packets having modified headers wherein ID fields includes non-ID data
US9430432B2 (en) Optimized multi-root input output virtualization aware switch
US7277975B2 (en) Methods and apparatuses for decoupling a request from one or more solicited responses
KR20090108710A (ko) Pci 고속 패킷 다이제스트 수정 디바이스, 시스템 및 방법
CN101568904A (zh) 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路
CN116841932B (zh) 一种可灵活连接的便携式高速数据存取设备及其工作方法
CN102622192A (zh) 一种弱相关多端口并行存储控制器
CN209149287U (zh) 大数据运算加速系统
US7657711B2 (en) Dynamic memory bandwidth allocation
JP5643896B2 (ja) デイジーチェーン接続されたデバイスのための高速インターフェイス
CN116583823A (zh) 使用长向量仲裁的异步管线合并
CN116737624B (zh) 一种高性能数据存取装置
CN112817774B (zh) 用于片上网络中的事务广播的系统和方法
CN209560543U (zh) 大数据运算芯片
CN105117353A (zh) 带有通用数据交互模块的fpga及采用该fpga的信息处理系统
WO2004068362A1 (en) Processor array
US7817651B2 (en) Method and apparatus for controlling storage of data
US7984212B2 (en) System and method for utilizing first-in-first-out (FIFO) resources for handling differences in data rates between peripherals via a merge module that merges FIFO channels
CN104049915A (zh) 一种存储系统及通信方法
CN112148653A (zh) 数据传输装置、数据处理系统、数据处理方法和介质
CN100485656C (zh) 数字信号处理集成电路及执行信号处理操作的方法
CN110889500A (zh) 共享的数据存储模块、神经网络处理器和电子设备
JP2005235216A (ja) ダイレクト・メモリ・アクセス制御

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1109471

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1109471

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200427

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200427

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200427

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Michael

Patentee before: MARVELL WORLD TRADE Ltd.