CN100412848C - 计算机网络和计算机系统 - Google Patents

计算机网络和计算机系统 Download PDF

Info

Publication number
CN100412848C
CN100412848C CNB028057783A CN02805778A CN100412848C CN 100412848 C CN100412848 C CN 100412848C CN B028057783 A CNB028057783 A CN B028057783A CN 02805778 A CN02805778 A CN 02805778A CN 100412848 C CN100412848 C CN 100412848C
Authority
CN
China
Prior art keywords
apu
data
network
unit
processor
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 - Lifetime
Application number
CNB028057783A
Other languages
English (en)
Other versions
CN1494690A (zh
Inventor
铃置雅一
山崎刚
哈姆·彼德·霍夫施泰德
马丁·E·霍普金斯
查尔斯·雷·约翰斯
詹姆斯·阿兰·卡尔
浅野滋博
国松敦
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.)
Toshiba Corp
Sony Interactive Entertainment Inc
International Business Machines Corp
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN1494690A publication Critical patent/CN1494690A/zh
Application granted granted Critical
Publication of CN100412848C publication Critical patent/CN100412848C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

提供一种用于宽带网络上的高速处理的计算机体系结构和编程模型。该体系结构使用一致的模块化结构、公用计算模块和统一的软件单元。公用计算模块包括一个控制处理器、多个处理单元、处理单元从其处理程序的多个局部存储器、一个直接存储器存取控制器和一个共享的主存储器。还提供了一种用于协调处理单元从/向共享的主存储器进行数据读/写的同步系统和方法。提供了硬件沙箱结构,用于确保处理单元正在处理的程序之间的数据不会被破坏。

Description

计算机网络和计算机系统
技术领域
本发明涉及用于计算机处理器和计算机网络的体系结构,特别涉及用于宽带环境中的计算机处理器和计算机网络的体系结构。本发明还涉及用于这种体系结构的编程模型。
背景技术
目前的计算机网络,例如,办公室网络中使用的局域网(LAN)、以及象Internet等这样的全局网络,其中的计算机和计算设备主要是为单机计算设计的。通过计算机网络共享数据和应用程序(“应用”)不是这些计算机和计算设备的主要设计目的。这些计算机和计算设备通常被设计为可广泛使用由多个不同的生产商生产的不同种类的处理器,例如,摩托罗拉(Motorola)、英特尔(Intel)、德州仪器(Texas Instruments),索尼(Sony)以及其它-些公司。这些处理器中的每一个都具有它自己独特的指令集和指令集体系结构(ISA,instruction set architecture),即,它自己独特的汇编语言指令集和用于执行这些指令的主要计算单元和存储单元的结构。因此,程序员需要理解每个处理器的指令集和ISA,以便写出用于这些处理器的应用程序。在现今的计算机网络上的这种不同类型的计算机和计算设备的组合使得数据及应用程序的处理和共享变得复杂化。而且,同一个应用程序经常需要多个版本,以便适应这种多机种的环境。
连接到全局网络,尤其是Internet上的计算机和计算设备的种类是非常广泛的。除个人计算机(PC)和服务器外,这些计算设备还包括蜂窝式电话、移动计算机、个人数字助理(PDA)、顶置盒、数字电视以及许多其它设备。在这种分类的计算机和计算设备之间共享数据和应用程序呈现出相当大的问题。
为努力克服这些问题,使用了很多技术。其中,这些技术包括高级的接口和复杂的编程技术。这些解决方案的实现通常需要处理能力有实质性的增加。他们还经常导致在网络上处理应用程序和传输数据时所需的时间实质性地延长。
典型地,数据经由Internet从相应的应用程序独立地进行传送。该方法避免了应用程序必须和与该应用程序对应的每组数据一起发送的必要性。虽然该方法使得带宽需求达到最小,但它还是经常引起用户间的阻塞。可能在客户的计算机上得不到用于所发送数据的正确应用程序或者最新的应用程序。该方法还需要对每个应用程序编写多个版本,以用于网络上的处理器所采用的多种不同ISA和指令集。
Java模式企图解决这个问题。该模式使用服从严格安全协议的小应用程序(“applet”)。applet从服务器通过网络被发送,以便在客户计算机(“client”)上运行。为避免不得不向使用不同ISA的客户发送同一个applet的不同版本,所有的applet都在客户机的Java虚拟机上运行。Java虚拟机是一个模拟具有Java ISA和Java指令集的计算机的软件。然而,该软件运行在客户的ISA和客户的指令集上。为客户的每个不同的ISA和指令集提供一个版本的Java虚拟机。这样,每个applet就不需要有多个不同版本。每个客户仅下载适用于其独特的ISA和指令集的正确的Java虚拟机就可运行所有的Javaapplet。
Java处理模式为不得不为每个不同的ISA和指令集编写应用程序的不同版本的问题提供了解决方案,尽管如此,在客户计算机上仍需要一个附加的软件层。这个附加的软件层极大地降低了处理器的处理速度。这种速度的降低对于实时、多媒体应用程序尤其明显。下载的Java applet还可能含有病毒、处理故障等。这些病毒和故障会破坏客户的数据库,并造成其它损坏。虽然,Java模式中使用的安全协议试图通过实现软件“沙箱(sandbox)”来解决这个问题,“沙箱”就是客户机存储器中的一个空间,超出此空间则Java applet不能写数据,但是,这个软件驱动的安全模式在其执行过程中经常是不安全的,并且需要更多的处理。
实时、多媒体、网络应用变得越来越重要。这些网络应用极需要快的处理速度。将来,对于这类应用,每秒钟可能需要几千兆比特的数据。目前的网络体系结构,特别是Internet的体系结构,以及当前具体体现为例如Java模式的编程模式,要达到这样的处理速度相当困难。
因此,需要一种新的计算机体系结构、一种新的计算机网络体系结构和一种新的编程模式。这种新的体系结构和编程模式应该解决在各种不同网络成员之间共享数据和应用程序而无需附加计算负担的问题。这种新的计算机体系结构和编程模式还应该解决网络成员之间共享应用程序和数据时所固有的安全问题。
发明内容
一方面,本发明提供一种用于计算机、计算设备和计算机网络的新的体系结构。另一方面,本发明提供一种用于这些计算机、计算设备和计算机网络的新的编程模式。
根据本发明,计算机网络的所有成员,即,网络中所有的计算机和计算设备,都用公用的计算模块构建。这种公用计算模块具有一致的结构,并且最好是使用相同的ISA。网络的成员可以是,例如,客户机、服务器、PC、移动计算机、游戏机、PDA、顶置盒、电器设备、数字电视、以及其它使用计算机处理器的设备。一致的模块化结构使能够使网络成员有效、高速地处理应用程序和数据,并使应用程序和数据在网络上快速传输。这种结构还使各种规模和处理能力的网络成员的建立、以及由这些成员处理的应用程序的准备得以简化。另外,根据本发明的一个实施例,提供了一个计算机网络,该计算机网络包含连接到所述网络的多个处理器,每个所述处理器包含具有相同指令集体系结构的多个第一处理单元,以及用于控制所述第一处理单元的第二处理单元,所述第一处理单元可用于处理经由所述网络传输的软件单元,每个所述软件单元包含与所述指令集体系结构兼容的程序、与所述程序相关的数据、以及用于在通过所述网络传输的全部所述软件单元中唯一标识所述软件单元的标识符。该标识符最好是在通过所述网络传输的全部所述软件单元中唯一标识所述软件单元的标识号。
另一方面,本发明提供了一种用于通过网络传输数据和应用程序,以及用于在网络成员之间处理数据和应用程序的新的编程模式。该编程模式采用一个通过网络传输的、由网络成员中的任何一个处理的软件单元。每个软件单元具有相同的结构,并可既包含应用程序又包含数据。由于由模块化的计算机体系结构提供高速处理和传输速度,这些单元可以被快速处理。应用程序的代码最好是依据相同的公用指令集和ISA。每个软件单元最好包含一个全局标识(global ID)和说明该单元处理所需的计算资源量的信息。由于所有的计算资源具有相同的基本结构,并使用相同的ISA,所以执行这个处理的特定资源可以位于网络上的任何地方,并且可以动态分配。
基本的处理模块是一个处理器元件(PE)。一个PE最好包括一个处理单元(PU)、一个直接存储器存取控制器(DMAC)、以及多个附属处理单元(APU)。在优选实施例中,一个PE包含八个APU。该PU和APU与最好具有交错(cross-bar)体系结构的共享动态随机存取存储器(DRAM)相互配合。PU对APU处理的数据和应用程序进行计划和编排。APU以并行和独立的方式执行这种处理。DMAC控制PU和APU对存储在共享DRAM中的数据和应用程序的存取。
根据这种模块化的结构,网络成员所使用的PE的数目根据那个成员所需要的处理能力决定。例如,一个服务器可能使用四个PE,一个工作站可能使用两个PE,而一个PDA可能使用一个PE。被分配用来处理特定软件单元的一个PE中的APU的数目取决于该单元中的程序和数据的复杂程度和量的大小。
在优选实施例中,多个PE与一个共享的DRAM有关。最好将DRAM分割成多个区(section),并将这些区中的每一个分割成多个存储体(memory bank)。在一个特别的优选实施例中,一个DRAM包含64个存储体,并且每个存储体具有一兆字节的存储容量。DRAM的每个区最好由存储体控制器控制,并且一个PE的每个DMAC最好访问每个存储体控制器。因此,该实施例中每个PE的DMAC可访问共享的DRAM中的任何部分。
另一方面,本发明提供用于APU从共享的DRAM读取数据、以及向其写入数据的同步系统和方法。该系统避免了共享DRAM的多个APU和多个PE之间的冲突。根据该系统和方法,将DRAM中的一个区域指定为用于存储多个全空位。这些全空位中的每一个对应于该DRAM的一个指定的区域。将同步系统集成到该DRAM的硬件中,因此,避免了用软件实现的数据同步方案的计算上的额外消耗。
本发明还在DRAM中实现沙箱,以提供安全性,防止正由一个APU处理的程序的数据被正由另一个APU处理的程序的数据破坏。每个沙箱定义了共享的DRAM中的一个区域,超出此区域,特定的APU或APU组不能读数据或写数据。
另一方面,本发明提供用于PU向APU发布命令、以启动APU处理应用程序和数据的系统和方法。这些命令被称为APU远程过程调用(ARPC),能够使PU配合和协调APU对应用程序和数据进行并行处理,而无需APU执行协处理器的任务。
在另一方面,本发明提供用于建立专用流水线结构以处理流数据(streaming data)的系统和方法。根据该系统和方法,PU建立协同的APU组、以及与这些APU相关的协同的存储器沙箱组,以用于这些数据的处理。在不处理数据的期间,流水线专用的APU和存储器沙箱仍保留为流水线专用。换句话说,在这些期间中,将专用的APU及其相关的沙箱置于保留状态。
在另一方面,本发明提供用于处理任务的绝对定时器(absolutetimer)。该绝对定时器独立于处理应用程序和数据的APU所使用的时钟频率。根据绝对定时器定义的任务时间周期来写应用程序。如果是由于,例如APU增强的原因,而使APU使用的时钟频率提高了,则由绝对时钟定义的给定任务的时间周期保持不变。该方案能够增强新版本APU的处理时间,同时使这些较新的APU能够处理为较早的APU的较慢的处理时间而编写的较早的应用程序。
本发明还提供使具有较快处理速度的较新APU能够处理为较早的APU的较慢的处理速度而编写的较早的应用程序的另外一种备选方案。在该备选方案中,针对协调APU并行处理中由增强速度所产生的问题,在处理期间,对处理这些较早的应用程序的APU所使用的特殊指令或微代码进行分析。在由这些APU中的某一些执行的指令中插入“不操作”(“NOOP”)指令,以使APU保持按程序预期的顺序完成处理。通过在这些指令中插入这些NOOP,保持了APU执行所有指令的正确的定时。
在另一方面,本发明提供包含集成光波导的集成电路的芯片封装(chip package)。
附图说明
图1说明了本发明的计算机网络的整体体系结构。
图2说明了本发明的处理器元件(PE)的结构。
图3说明了本发明的宽带引擎(BE)的结构。
图4说明了本发明的附属处理单元(APU)的结构。
图5说明了本发明的处理器元件、观察器(VS)和光接口的结构。
图6说明了本发明的处理器元件的一种组合。
图7说明了本发明的处理器元件的另外一种组合。
图8说明了本发明的处理器元件的另外一种组合。
图9说明了本发明的处理器元件的再一种组合。
图10说明了本发明的处理器元件的再一种组合。
图11A说明了本发明的芯片封装中的光接口的集成。
图11B是使用图11A的光接口的处理器的一种结构图。
图11C是使用图11A的光接口的处理器的另外一种结构图。
图12A说明了本发明的存储器系统的结构。
图12B是本发明的从第一宽带引擎向第二宽带引擎写数据的示意图。
图13是本发明的用于处理器元件的共享存储器的结构图。
图14A说明了图13中的存储器的存储体的一种结构。
图14B说明了图13中的存储器的存储体的另一种结构。
图15说明了本发明的直接存储器存取控制器的结构。
图16说明了本发明的直接存储器存取控制器的另一种结构。
图17A-17O说明了本发明的数据同步操作。
图18是根据本发明的数据同步方案的、说明存储单元的不同状态的三状态存储器图。
图19说明了本发明的、用于硬件沙箱的关键字控制表的结构。
图20说明了本发明的、用于存储硬件沙箱的存储器存取关键字的方案。
图21说明了本发明的、用于硬件沙箱的存储器存取控制表的结构。
图22是使用图19的关键字控制表和图21的存储器存取控制表访问存储器沙箱的步骤流程图。
图23说明了本发明的软件单元的结构。
图24是本发明的、向APU发出远程过程调用的步骤流程图。
图25说明了本发明的、用于处理流数据的专用流水线的结构。
图26A-26B是本发明的、图25的专用流水线在处理流数据中执行的步骤的流程图。
图27说明了本发明的、用于处理流数据的专用流水线的另外一替代结构。
图28说明了本发明的、用于协调APU对应用程序和数据的并行处理的绝对定时器的方案。
具体实施方式
图1示出了本发明的计算系统101的整体体系结构。
如图中所示,系统101包括网络104,其上连接了多个计算机和计算设备。网络104可以是一个LAN、象Internet这样的全局网、或者任何其它的计算机网络。
连接到网络104的计算机和计算设备(网络“成员”)包括,例如,客户计算机106、服务器计算机108、个人数字助理(PDA)110、数字电视(DTV)112、以及其它有线的或无线的计算机和计算设备。网络104的成员使用的处理器由相同的公用计算模块构建。这些处理器最好还都具有相同的ISA,并依据相同的指令集执行处理。任何一个特定的处理器中包含的模块数目取决于该处理器所需的处理能力。
例如,由于系统101中的服务器108比客户106执行更多的数据和应用程序处理,所以服务器108比客户106包含的计算模块多。另一方面,PDA 110执行的处理量最少,因此PDA 110包含的计算模块最少。DTV 112执行的处理量介于客户106的和服务器108之间,因此,它包含的计算模块的数目也介于客户106和服务器108之间。如下面讨论的,每个计算模块包含一个处理控制器和多个同样的处理单元,用于对经网络104传输的数据和应用程序执行并行处理。
系统101的这种一致的结构促进了适应性、处理速度和处理效率。因为系统101的每个成员使用相同的计算模块中的一个或多个(或某些部分)来执行处理,所以执行数据和应用程序的实际处理的具体计算机或计算设备是不重要的。而且,特定应用程序和数据的处理可以在网络成员间共享。通过在整个系统中唯一地标识包含由系统101处理的数据和应用程序的单元,无论处理在哪儿进行,都可以将该处理结果传输到请求该处理的计算机或计算设备。因为执行该处理的模块具有公用的结构并使用公用的ISA,所以避免了实现处理器之间的兼容性的附加软件层的计算负担。该体系结构和编程模式促进了执行,例如,实时、多媒体应用程序所必需的处理速度。
为了进一步利用系统101带来的处理速度和效率,将该系统处理的数据和应用程序打包成唯一标识的、统一格式的软件单元102中。每个软件单元102既(可以)包含应用程序又(可以)包含数据。每个软件单元还包含在整个网络104和系统101中全局性地标识该单元的ID。软件单元结构的这种一致性以及软件单元在整个网络中的唯一标识,有利于在网络中的任何一个计算机或计算设备上处理应用程序和数据。例如,客户机106可以形成(formulate)一个软件单元102,但是,因为客户106的处理能力有限,可以将该软件单元发送到服务器108来进行处理。因此,软件单元可在整个网络104中迁移,以便根据网络上的可利用处理资源来进行处理。
系统101的处理器和软件单元的一致的结构还避免了现今的多机种网络的许多问题。例如,设法在使用任何指令集的任何ISA上处理应用程序,诸如Java虚拟机这样的虚拟机,这种低效的编程模式得以避免。因此,系统101可远比现今的网络更有效地、更高效率地实现宽带处理。
用于网络104的所有成员的基本处理模块是处理器元件(PE)。图2说明了一个PE的结构。如图所示,PE 201包含一个处理单元(PU)203、一个直接存储器存取控制器(DMAC)205和多个附属处理单元(APU),即,APU 207、APU 209、APU 211、APU 213、APU215、APU 217、APU 219和APU 221.一条局部PE总线223在APU、DMAC 205和PU 203间传输数据和应用程序。局部PE总线223可具有,例如,传统体系结构,或者被实现为一个分组交换网络。当需要更多的硬件时,实现为一个分组交换网络可增加可用带宽。
可使用用于实现数字逻辑的各种方法来构建PE 201.然而,PE201最好被构成为单个集成电路,通过在硅衬底上使用互补金属氧化物半导体(CMOS)来构建。可替代的衬底材料包括砷化镓、镓铝砷、以及其它使用各种搀杂物的所谓的III-B型化合物。还可使用超导材料,例如,快速单磁通量子(RSFQ)逻辑来实现PE。
PE 201通过高带宽存储器连接227与动态随机存取存储器(DRAM)225紧密相关。DRAM 225用作PE 201的主存储器。虽然DRAM 225最好是一个动态随机存取存储器,但DRAM 225也可使用其它装置实现,例如,静态随机存取存储器(SRAM)、磁性随机存取存储器(MRAM)、光存储器或全息存储器。DMAC 205促进DRAM 225与PE 201的APU和PU之间的数据传输。如下面进一步讨论的,DMAC 205在DRAM 225中为每个APU指定一个独占的区域,只有该APU可以往里写数据和从中读数据。这个独占的区域被称为“沙箱”。
PE 203可以是一个,例如,能够独立处理数据和应用程序的标准处理器。在操作中,PU 203调度并编排APU对数据和应用程序的处理。APU最好是单指令多数据(SIMD)处理器。在PU 203的控制下,这些APU以并行和独立的方式执行这些数据和应用程序的处理。DMAC 205控制PU 203和APU对存储在共享DRAM 225中的数据和应用程序的存取。虽然PE 201最好包括八个APU,但也可根据所需的处理能力在PE中使用更多或更少数目的APU。并且,可将许多的像PE 201这样的PE连接或封装在一起以提供增强的处理能力。
例如,如图3所示,可在,例如,一个或多个芯片封装中,将四个PE封装或连接在一起,以便形成用于网络104的成员的单一的处理器。这种结构被称为宽带引擎(BE)。如图3所示,BE 301包含四个PE,即,PE 303、PE 305、PE 307和PE 309。通过BE总线311进行这些PE之间的通信。宽带宽存储器连接313提供共享DRAM 315与这些PE之间的通信。作为BE总线311的替代,可通过DRAM 315和这个存储器连接器进行BE 301的PE之间的通信。
输入/输出(I/O)接口317和外部总线319提供宽带引擎301和网络104的其它成员之间的通信。与一个PE的APU执行应用程序和数据的处理相类似,BE 301的每个PE以并行和独立的方式执行数据和应用程序的处理。
图4说明了APU的结构。APU 402包括局部存储器406、寄存器410、四个浮点单元412和四个整数单元414。然而,同样,根据所需要的处理能力,可以使用更多或更少数目的浮点单元412和整数单元414。在优选实施例中,局部存储器406包含128千字节的存储量,并且,寄存器410的容量是128×128位。浮点单元412最好以每秒钟320亿次(32GFLOPS)浮点运算的速度工作,整数单元414最好以每秒钟320(32GOPS)亿次运算的速度工作。
局部存储器402不是高速缓冲存储器。局部存储器402最好是一个SRAM。支持APU的超高速缓存相关性是没有必要的。PU可能需要超高速缓存相关性支持,用于由PU启动的直接存储器存取。然而,对于由APU启动的直接存储器存取或从/到外部设备的存取,则不需要超高速缓存相关性支持。
APU 402还包总线404,用于向/从APU传送应用程序和数据。在优选实施例中,该总线的宽度是1024位。APU 402还包括内部总线408、420和418。在优选实施例中,总线408的宽度是256位,提供局部存储器406与寄存器410之间的通信。总线420和418分别提供寄存器410和浮点单元412、寄存器410和整数单元414之间的通信。在优选实施例中,从寄存器410到浮点单元或整数单元的总线418和420的宽度是384位,从浮点或整数单元到寄存器410的总线418和420的宽度是128位。这些总线中,从寄存器410到浮点或整数单元比从这些单元到寄存器410的总线宽度大,这样可适应处理期间来自寄存器410的较大的数据流。每次计算需要三个字的最大值。然而,每次计算的结果通常只是一个字。
图5-10进一步说明了网络104的成员的处理器的模块化结构。例如,如图5所示,处理器可以仅包含一个PE 502。如上所述,该PE典型地包含一个PU、一个DMAC和八个APU。每个APU包括局部存储器(LS)。另一方面,处理器可包含可观察器(VS)505的结构。如图5所示,VS 505包含PU 512、DMAC 514和四个APU,即,APU 516、APU 518、APU 520和APU 522。通常,在芯片封装内由一个PE的其它四个APU占有的空间,在这种情况下被象素引擎508、图象高速缓存510、以及阴极射线管控制器(CRTC)504占用。根据PE 502或VS 505所需要的通信速度,光接口506也可被包括在该芯片封装内。
使用这种标准的、模块化的结构,可以很容易地、有效地构建处理器的许多其他变种。例如,图6所示的处理器包含两个芯片封装,即,包含一个BE的芯片封装602和包含四个VS的芯片封装604。输入/输出(I/O)606提供芯片封装602的BE与网络104之间的接口。总线608提供芯片封装602与芯片封装604之间的通信。输入输出处理器(IOP)610控制流入和流出I/O 606的数据流。I/O 606可以制造成应用程序专用集成电路(ASIC)。从VS输出的是视频信号612。
图7说明了用于带有两个光接口704和706的BE 702的芯片封装,其光接口用于提供与网络104的其它成员(或本地连接的其它芯片封装)的超高速通信。BE 702可用作,例如,网络104上的一个服务器。
图8的芯片封装包含两个PE 802和804、两个VS 806和808。I/O 810提供芯片封装与网络104间的接口。从芯片封装输出的是视频信号。这种结构可用作,例如,一个图形工作站。
图9说明了另外一种结构。该结构包含图8中说明的结构的处理能力的一半。不是两个PE,而是提供一个PE 902,不是两个VS,而是提供一个VS 904。I/O 906的带宽是图8中说明的I/O带宽的一半。然而,这样的处理器也可用作一个图形工作站。
最后一种结构示于图10。该处理器仅由一个单一的VS 1002和一个I/O 1004组成。这种结构可用作,例如,一个PDA。
图11A说明了将光接口集成到网络104的处理器的芯片封装上。这些光接口将光信号转换成电信号,并将电信号转换成光信号,它们可以用多种材料构成,包括,例如,砷化镓、镓铝砷、锗以及其它元素或化合物。如图中所示,光接口1104和1106被做在BE 1102的芯片封装上。BE总线1108提供BE 1102的多个PE,即,PE1110、PE 1112、PE 1114、PE 1116与这些光接口之间的通信。光接口1104包括两个端口,即端口1118和端口1120,并且光接口1106也包括两个端口,即端口1122和端口1124。端口1118、1120、1122和1124分别连接到光波导1126、1128、1130和1132。通过光接口1104和1106的端口、经这些光波导向或从BE 1102传送光信号。
使用每个BE的这种光波导和四个光端口,可将多个BE按各种结构连接在一起。例如,如图11B所示,通过这些光端口可将两个或多个BE,例如,BE 1152、BE 1154和BE 1156,串接在一起。在该例中,BE 1152的光接口1166通过其光端口连接到BE 1154的光接口1160的光端口。以类似的方式,BE 1154上光接口1162的光端口连接到BE 1156上的光接口的光端口。
图11C说明了一种矩阵结构。在该结构中,每个BE的光接口连接到另外两个BE上。如图中所示,BE 1172的光接口1188的光端口之一连接到BE 1176的光接口1182的一个光端口。光接口1188的另一个光端口连接到BE 1178的光接口1184的一个光端口。以类似的方式,BE 1174的光接口1190的光端口之一连接到BE 1178的光接口1184的另一个光端口。光接口1190的另一个光端口连接到BE1180的光接口1186的一个光端口。这种矩阵结构可按类似的方式向其它BE扩展。
使用串联结构或矩阵结构,可构建任何所需大小和能力的用于网络104的处理器。当然,可以向BE的光接口,或者向具有的PE数目比一个BE多或少的处理器增加附加端口,以形成其它的结构。
图12A说明了用于一个BE的DRAM的控制系统和结构。类似的控制系统和结构在具有其它大小和包含更多或更少PE的处理器中被采用。如图中所示,交错开关(cross-bar switch)将构成BE 1201的四个PE的每个DMAC 1210连接到八个存储体控制器1206。每个存储体控制器1206控制DRAM 1204的八个存储体1208(图中只画出了四个)。因此,DRAM 1204总共包含64个存储体。在优选实施例中,DRAM 1204具有64兆字节的容量,并且每个存储体具有1兆字节的容量。在该优选实施例中,每个存储体中最小的可寻址单位是1024位大小的块。
BE 1201还包括开关单元1212。开关单元1212能够使BE上的其它的APU紧密地耦合到BE 1201,以便访问DRAM 1204。因此,第二BE可以紧密地耦合到第一BE上,并且每个BE的每个APU可以寻址的存储单元的数量是通常可由一个APU访问的存储单元的数量的两倍。通过开关单元,例如开关单元1212,可以从第一BE的DRAM到第二BE的DRAM,或从第二BE的DRAM到第一BE的DRAM直接读或写数据。
例如,如图12B所示,为完成这种写操作,第一BE的APU,例如,BE 1222的APU 1220,向第二BE的DRAM的存储单元,例如,BE 1226的DRAM 1228(而不是象通常的情况那样向BE 1222的DRAM 1224),发出写命令。BE 1222的DMAC 1230通过交错开关1221向存储体控制器1234发送该写命令,并且存储体控制器1234向连接到存储体1234的外部端口1232发送该命令。BE 1226的DMAC 1238接收该写命令,并将该命令传送到BE 1226的开关单元1240。开关单元1240识别包含在写命令中的DRAM地址,并通过BE 1226的存储体控制器1242向DRAM 1228的存储体1244发送存储在该地址中的数据。因此,开关单元1240能够使DRAM 1224和DRAM 1228两者都充当用于BE 1222的APU的单独存储空间。
图13说明了一个DRAM的64个存储体的配置。这些存储体排列成八行,即,行1302、1304、1306、1308、1310、1312、1314和1316,以及八列,即,列1320、1322、1324、1326、1328、1330、1332和1334。每行由一个存储体控制器控制。因此,每个存储体控制器控制存储器的八兆字节。
图14A和14B说明了用于存储和访问DRAM的最小可寻址存储单位,例如,大小为1024位的块,的不同结构。在图14A中,DMAC 1402在单个存储体1404中存储八个1024位的块1406。另一方面,在图14B中,当DMAC 1412读和写包含1024位的数据块时,这些块在两个存储体,即,存储体1414和存储体1416之间交错。因此,这些存储体中的每一个包含16个数据块,并且每个数据块包含512位。这种交错可有利于更快速地访问DRAM,并且在某些应用程序的处理中是非常有用的。
图15说明了用于PE中的DMAC 1506的体系结构。如图中所示,构成DMAC 1506的结构硬件在整个PE中分布,以致于每个APU 1502都具有对DMAC 1506的结构节点1504的直接存取。每个节点执行适合于由该节点能够直接存取的APU进行存储器访问的逻辑。
图16示出DMAC的一个替代实施例,即,非分布型体系结构。在这种情况下,DMAC 1606的结构硬件是集中式的。APU 1602和PU1604通过局部PE总线1607与DMAC 1606通信。DMAC 1606通过交错开关连接到总线1608。总线1608连接到DRAM 1610。
如上所述,PE的所有多个APU可独立访问共享DRAM中的数据。结果,在某一时刻,可能第一APU正在对其局部存储器中的特定数据进行操作,而此时第二APU请求这些数据。如果在上述的时刻,将数据从共享DRAM提供到第二APU,则数据可能是无效的,这是因为第一APU正在进行的处理可能改变数据的值。因此,如果在上述时刻第二处理器接收到来自共享DRAM的数据,则第二处理器可能会产生错误的结果。例如,数据可能是用于全局变量的特殊值。如果第一处理器在其处理过程中改变了该值,则第二处理器会接收到一个过时的值。因此,必须有一种方案来同步APU从/向共享DRAM中的存储单元读/写数据。该方案必须防止从另一APU目前正在其局部存储器中进行操作的存储单元中读数据,以及防止向存储当前数据的存储单元写数据,这不一定是当前正在操作的。
为了解决这些问题,对DRAM的每个可寻址的存储单元,在DRAM中分配一个附加的存储段,以用于存储与存储在该存储单元中的数据相关的状态信息。这种状态信息包括一个满/空(F/E)位、请求从存储单元读数据的APU的标识(APU ID)、以及要读入请求数据的APU局部存储器的地址(LS地址)。DRAM的可寻址存储单元可以是任何大小。在优选实施例中,该大小是1024位。
将F/E位设成1表示存储在相关存储单元中的数据是当前的。相反,将F/E位设成0表示存储在相关存储单元中的数据不是当前的。如果APU请求数据时该位被设成0时,则禁止APU立即读取数据。这样,将标识请求数据的APU的APU ID、标识在数据变为当前数据时要读入数据的这个APU的局部存储器中的存储单元的LS地址,记入到附加存储段中。
对于APU的局部存储器中的每个存储单元,也分配一个附加的存储段。该附加存储段存储一个位,称为“忙碌位(busy bit)”。该忙碌位用于保留相关的LS存储单元,用于存储从DRAM取回的特定数据。如果将用于局部存储器中一个特定存储单元的忙碌位设成1,则APU只能将该存储单元用于写这些特定数据。反之,如果用于局部存储器中一个特定存储单元的忙碌位被设成0,则APU可将该存储单元用于写任何数据。
图17A-17O是说明使用F/E位、APU ID、LS地址以及忙碌位来同步从和向一个PE的共享DRAM读和写数据的方式的几个例子。
如图17A所示,一个或多个PE,例如,PE 1720,与DRAM1702相配合。PE 1720包括APU 1722和APU 1740。APU 1722包括控制逻辑1724,而APU 1740包括控制逻辑1742。APU 1722还包括局部存储器1726。该局部存储器包括多个可寻址存储单元1728。APU1740包括局部存储器1744,该局部存储器还包括多个可寻址存储单元1746。所有这些可寻址存储单元的大小最好都是1024位。
附加的存储段与每个LS可寻址存储单元相关。例如,存储段1729和1734分别与局部存储单元1731和1732相关,并且,存储段1752与局部存储单元1750相关。如上所述,“忙碌位”存储在这些附加存储段的每一个中。局部存储单元1732中的几个X表示该存储单元包含数据。
DRAM 1702包含多个可寻址存储单元1704,包括存储单元1706和1708。这些存储单元的大小最好也是1024位。附加的存储段也与这些存储单元中的每一个相关。例如,附加存储段1760与存储单元1706相关,并且附加存储段1762与存储单元1708相关。与存储在每个存储单元的数据相关的状态信息存储在与该存储单元相关的存储段中。如上所述,该状态信息包括F/E位、APU ID和LS地址。例如,对于存储单元1708,该状态信息包括F/E位1712、APU ID 1714和LS地址1716。
使用状态信息和忙碌位,能够实现在一个PE或一组PE的多个的APU之间进行从和向共享DRAM同步读写数据。
图17B说明了从APU 1722的LS存储单元1732向DRAM 1702的存储单元1708进行同步写数据的启动。APU 1722的控制器1724启动这些数据的同步写入。因为存储单元1708是空的,所以F/E位1712设为0。结果,可以将LS存储单元1732中的数据写入存储单元1708中。相反,如果该位设为1,表明存储单元1708是满的,并且包含的数据是当前的和有效的,则控制器1722将收到一个错误信息,并且被禁止向该存储单元写入数据。
图17C示出了成功地向存储单元1708同步写入数据的结果。写入的数据存储在存储单元1708中,并将F/E位1712设成1。该设定表明存储单元1708是满的,并且该存储单元中的数据是当前的和有效的。
图17D说明了从DRAM 1702的存储单元1708同步读数据到局部存储器1744的LS存储单元1750的启动。为启动该读操作,将LS存储单元1750的存储段1752中的忙碌位设成1,以为这些数据保留该存储单元。将该忙碌位设成1可禁止APU 1740在该存储单元中存储其它数据。
接着,如图17E所示,控制逻辑1742对DRAM 1702的存储单元1708发出同步读命令。因为与该存储单元相关的F/E位1712被设成了1,所以存储在存储单元1708中的数据被认为是当前的和有效的。因此,将F/E位1712设成0,以便为将数据从存储单元1708传送到LS存储单元1750中作准备。该设定示于图17F中。将该位设成0表示,在读取这些数据之后,存储单元1708中的数据将成为无效的。
接下来,如图17G所示,将存储单元1708中的数据从存储单元1708读到LS存储单元1750中。图17H示出了最终的状态。将存储单元1708中的数据的一个副本存储到了LS存储单元1750中。F/E位被设成0以表示存储单元1708中的数据是无效的。这种无效是由APU1740对这些数据进行变更的结果。存储段1752中的忙碌位也被设成0。该设定表示LS存储单元1750现在可被APU 1740用于任何用途,即,该LS存储单元不再处于等待接收特定数据的保留状态。因此,APU 1740可对LS存储单元1750进行用于任何用途的访问。
图17I-17O说明了当DRAM 1702的存储单元的F/E位设成0、以表示该存储单元中的数据不是当前的或有效的时,从DRAM 1702的存储单元同步读数据到APU的局部存储器的LS存储单元的操作,例如,从存储单元1708同步读数据到局部存储器1744的LS存储单元1752。如图17I所示,为启动这种传输,将LS存储单元1750的存储段1752中的忙碌位设成1,以保留该LS存储单元用于该数据传输。接下来,如图17J所示,控制逻辑1742对DRAM 1702的存储单元1708发出同步读命令。由于与该存储单元相关的F/E位1712被设成0,所以存储单元1708中的存储的数据是无效的。结果,向控制逻辑1742发送一个信号,以阻止从该存储单元中立即读取数据。
接着,如图17K所示,将用于该读命令的APU ID 1714和LS地址1716写入到存储段1762中。这样,将用于APU 1740的APU ID和用于LS存储单元1750的LS存储单元写入到存储段1762中。因此,当存储单元1708中的数据变成当前的时,使用该APU ID和LS存储单元来确定当前数据要被发送到的位置。
当APU将数据写入该存储单元时,存储单元1708中的数据变为有效的和当前的。图17L说明了从,例如,APU 1722的存储单元1732到存储单元1708的同步写数据的过程。因为用于该存储单元的F/E位被设为0,所以这些数据的这种同步写是许可的。
如图17M所示,在写操作之后,存储单元1708中的数据变成当前的和有效的。因此,立即从存储段1762读取来自存储段1762的APU ID 1714和LS地址,然后将该信息从该存储段中删除。将F/E位1712设成0,以准备立即读取存储单元1708中的数据。如图17N所示,一旦读取了APU ID 1714和LS地址1716,立即将该信息用于将存储单元1708中的有效数据读到APU 1740的LS存储单元1750中。最终状态示于图17O。该图示出从存储单元1708复制到存储单元1750的有效数据,存储段1752中的忙碌位设为0,并且存储段1762中的F/E位1712设为0。将忙碌位设成0可使LS存储单元1750现在能够被APU 1740访问以用于任何用途。将F/E位设成0表示存储单元1708中的数据不再是当前的和有效的。
图18根据该存储单元所对应的存储段中存储的F/E位、APU ID和LS地址的状态,概括了以上描述的操作和DRAM的存储单元的各种状态。存储单元可有三种状态。这三种状态是:空状态1880,在这种状态下,F/E位设成0,并且不向APU ID或LS地址提供信息;满状态1882,在这种状态下,F/E位设成1,并且不向APU ID或LS地址提供信息;阻塞状态1884,在这种状态下,F/E位设成0,并且向APU ID和LS地址提供信息。
如图所示,在空状态1880中,允许同步写操作,并且导致向满状态1882转变。而同步读操作导致向阻塞状态1884转变,这是因为当存储单元处于空状态时,存储单元中的数据不是当前的。
在满状态1882中,允许同步读操作,并导致向空状态1880转变。另一方面,在满状态1882中禁止同步写操作,以防止覆盖有效数据。如果在这种状态下试图进行这种写操作,则不发生状态改变,并且向APU的相应控制逻辑发送一个错误消息。
在阻塞状态1884中,允许对存储单元进行同步数据写操作,并导致向空状态1880转变。另一方面,在阻塞状态1884中禁止同步读操作,以防止与较早的、导致这种状态的同步读操作发生冲突。如果在状态1884下试图进行同步读操作,则不发生状态改变,并且向APU的相应控制逻辑发送一个错误消息。
上述用于从和向共享DRAM进行同步读和写数据的方案,还可用于省掉通常由用于从外部设备读数据和向外部设备写数据的处理器专用的计算资源。该输入/输出(I/O)功能可由一个PU执行。然而,使用该同步方案的一个改进方案,一个运行适当程序的APU可执行该功能。例如,使用该方案,接收由外部设备发出的、对从I/O接口传输数据的中断请求的PU可以委托该APU来处理这个请求。然后,该APU向I/O接口发出同步写命令。该接口依次向外部设备发出现在可以向DRAM写数据的信号。接下来,APU向DRAM发出同步读命令,以将DRAM的有关存储空间设成阻塞状态。APU还将用于接收数据所需的APU的局部存储器的存储单元的忙碌位设成1。在阻塞状态中,与DRAM的有关存储空间相关的附加存储段包含APU的ID和APU的局部存储器的有关存储单元的地址。接着,外部设备发出同步写命令,以直接向DRAM的有关存储空间写数据。由于该存储空间处于阻塞状态,所以立即将数据从该空间读到附加存储段所标识的APU的局部存储器的存储单元中。然后将这些存储单元的忙碌位设成0。当外部设备完成数据的写操作时,APU向PU发出传输完成的信号。
因此,使用这个方案,可处理来自外部设备的数据传输,并使PU的计算负荷最小。然而,被委派此功能的APU应该能够向PU发出中断请求,并且外部设备应具有对DRAM的直接访问。
每个PE的DRAM包括多个“沙箱”。一个沙箱定义了共享DRAM的一个区域,超出此区域,特定的一个APU或一组APU就不能读或写数据。这些沙箱可防止正被一个APU处理的数据被另一个APU处理的数据破坏,从而提供安全性。这些沙箱还允许从网络104向特定沙箱下载软件单元,而不存在软件单元破坏DRAM中的任何数据的可能性。在本发明中,用DRAM和DMAC的硬件来实现沙箱。通过用硬件实现沙箱而不是用软件实现,有利于获得速度和安全方面的优势。
一个PE的PU控制分配给APU的多个沙箱。由于PU通常只操作受托(trusted)程序,例如操作系统,所以该方案不会危及安全性。根据该方案,PU建立并维护一个关键字控制表。图19示出了该关键字控制表。如图所示,关键字控制表1902的每个表项包含用于APU的标识(ID)1904、用于该APU的APU关键字1906、和关键字掩码(key mask)1908。该关键字掩码的使用将在后面进行说明。关键字控制表1902最好存储在相对较快的存储器中,例如静态随机存取存储器(SRAM),并且与DMAC相关。关键字控制表1902中的表项由PU控制。当APU请求向DRAM的一个特定存储单元写数据,或从其中读数据时,DMAC对照与那个存储单元相关的存储器存取关键字,来评估关键字控制表1902中分配给那个APU的APU关键字1906。
如图20所示,给DRAM 2002的每个可寻址存储单元2006分配一个专用的存储段2010。在该专用存储段中存储用于存储单元的存储器存取关键字2012。如上所述,还有一个附加的专用存储段2008,其也与每个可寻址存储单元2006相关,它存储用于向存储单元写数据和从存储单元读数据的同步信息。
在操作中,一个APU向DMAC发出一个DMA命令。该命令包括DRAM 2002的一个存储单元2006的地址。在执行该命令之前,DMAC使用该APU的ID 1904,在关键字控制表1902中查找发出请求的APU的关键字1906。然后,DMAC将发出请求的APU的APU关键字1906同、与APU试图访问的DRAM的存储单元相关的专用存储段2010中存储的存储器存取关键字2012进行比较。如果这两个关键字不匹配,则不执行该DMA命令。反之,如果这两关键字匹配,则DMA命令继续进行,并且执行被请求的存储器访问。
图21说明了另一替代实施例。在该实施例中,PU同样也维护存储器存取控制表2102。存储器存取控制表2102对DRAM中的每个沙箱包含一个表项。在图21的特定例子中,DRAM包含64个沙箱。存储器存取控制表2102中的每个表项包含沙箱的标识(ID)2104、存储器基地2106、沙箱大小2108、存储器存取关键字2110和存取关键字掩码2112。存储器基地址2106提供DRAM中的、开始特定存储器沙箱的地址。沙箱大小2108提供沙箱的大小,并且,因此,提供特定沙箱的终点。
图22是使用关键字控制表1902和存储器存取控制表2102执行DMA命令的步骤流程图。在步骤2202中,一个APU向DMAC发出访问沙箱中的一个特定存储单元或多个单元的DMA命令。该命令包括一个沙箱ID 2104,用于标识被请求访问的特定沙箱。在步骤2204中,DMAC使用APU的ID 1904在关键字控制表1902中查找发出请求的APU的关键字1906。在步骤2206中,DMAC使用命令中的沙箱ID 2104,在存储器存取控制表2102中查找与那个沙箱相关的存储器存取关键字2110。在步骤2208中,DMAC将分配给发出请求的APU的APU关键字1906同、与沙箱相关的存取关键字2110进行比较。在步骤2210中,确定这两个关键字是否匹配。如果这两个关键字不匹配,则处理转到步骤2212,在该步骤中,DMA命令不再继续进行,并向发出请求的APU和PU中的任何一个或两个发送一个错误消息。另一方面,如果在步骤2210中,两个关键字匹配,则处理进行到步骤2214,在该步骤中,DMAC执行该DMA命令。
用于APU关键字和存储器存取关键字的关键字掩码为该系统提供了更大的灵活性。用于一个关键字的关键字掩码将掩码位(maskedbit)转换成通配符。例如,如果与APU关键字1906相关的关键字掩码1908的最后两位被设成1,并以此将这些位设为“mask”,那么APU关键字可以是1或0,并且仍然匹配于存储器存取关键字。例如,APU关键字可能是1010。该APU关键字通常只允许访问具有存取关键字为1010的沙箱。然而,如果将用于该APU关键字的APU关键字掩码设成0001,则可使用该APU关键字来实现访问存取关键字为1010或1011的沙箱。类似地,掩码设为0001的存取关键字1010可被APU关键字为1010或1011的APU访问。因为可同时使用APU关键字掩码和存储器关键字掩码,所以可建立APU对沙箱的可访问性的多种变化。
本发明还提供用于系统101的处理器的新的编程模式。该编程模式使用软件单元102。可以将这些单元发送到网络104上的任何处理器来进行处理。这种新的编程模式还利用系统101和系统101的处理器的唯一的模块化体系结构。
直接由APU从APU局部存储器中处理软件单元。APU不直接对DRAM中的任何数据或程序进行操作。APU先将DRAM中的数据和程序读取到APU的局部存储器中,然后再对这些数据和程序进行处理。因此,APU的局部存储器包括一个程序计数器、堆栈、和用于执行这些程序的其它的软件要素。PU通过向DMAC发出直接存储器存取(DMA)命令来控制APU。
图23示出了软件单元102的结构。如图所示,软件单元,例如,软件单元2302,包含路由信息部分2304和主体(body)2306。路由信息部分2304中包含的信息依赖于网络104的协议。路由信息部分2304包含标头(header)2308、目的ID 2310、源ID 2312和回复ID2314。目的ID包括一个网络地址。例如,在TCP/IP协议下,网络地址是Internet协议(IP)地址。目的ID 2310还包括要向其发送单元以进行处理的PE和APU的身份。源ID 2314包含一个网络地址,并标识发出单元的PE和APU,以便在必要时使目的PE和APU能够得到关于单元的附加信息。回复ID 2314包含一个网络地址,并标识关于单元的查询和单元处理的结果应该指向的PE和APU。
单元主体2306包含与网络协议无关的信息。图23的分解部分示出了单元主体2306的详细情况。单元主体2306的标头2320标识单元主体的开始。单元接口(cell interface)2322包含使用单元所必需的信息。该信息包括全局唯一ID 2324、所需的APU 2326、沙箱大小2328、以及前一个单元ID 2330。
全局唯一ID 2324在整个网络104中唯一地标识软件单元2302。全局唯一ID 2324根据源ID 2312产生,例如,源ID 2312中的PE或APU的唯一标识、以及软件单元2302的产生或发送时间和日期。所需的APU 2326提供执行该单元所需的最小APU数。沙箱大小2328提供执行单元所需要的、与所需的APU相关的DRAM中的受保护存储器的数量。前一个单元ID 2330提供需要按顺序执行的一组单元,例如,流数据,中的前一个单元的标识。
执行部分2332包含单元的核心信息。该信息包括DMA命令列表2334、程序2336、以及数据2338。程序2336包含要由APU运行的程序(称为“apulets”),例如,APU程序2360和2362,而数据2338包含要与这些程序一起被处理的数据。DMA命令列表2334包含开始程序所需要的一系列DMA命令。这些DMA命令包括DMA命令2340、2350、2355和2358。PU向DMAC发出这些DMA命令。
DMA命令2340包括VID 2342。VID 2342是一个APU的虚拟ID,它在DMA命令发出时被映射到一个物理ID。DMA命令2340还包括装入命令2344和地址2346。装入命令2344指示APU将特定信息从DRAM读取到局部存储器中。地址2346提供包含该信息的DRAM中的虚拟地址。该信息可以是,例如,来自程序部分2336的程序、来自数据部分2338的数据、或者其它数据。最后,DMA命令2340包括局部存储器地址2348。该地址标识局部存储器中信息要装入的地址。DMA命令2350包含类似的信息。也可能有其它的DMA命令。
DMA命令列表2334还包括一系列的跳转命令,例如,跳转(kick)命令2355和2358。跳转命令是由PU向APU发出的、用来启动单元处理的命令。DMA跳转命令2355包括虚拟APU ID 2352、跳转命令2354、以及程序计数器2356。虚拟APU ID 2352标识要被跳转的APU,跳转命令2354提供有关的跳转命令,程序计数器2356提供用于执行该程序的程序计数器的地址。DMA跳转命令2358为同一个APU或另一个APU提供类似的信息。
如前面提到的,PU把APU看作独立的处理器,而不是协处理器。因此,为了控制APU执行的处理,PU使用类似于远程过程调用的命令。这些命令被叫做“APU远程过程调用”(ARPC)。一个PU通过向DMAC发出一系列的DMA来执行一次ARPC。DMAC将APU程序及其相关的栈帧装入到APU的局部存储器中。然后,PU向APU发出初始跳转来执行该APU程序。
图24说明了用于执行一个apulet的ARPC的步骤。图24的第一部分2402说明了在由指定的APU启动对apulet进行处理的过程中,PU执行的步骤,并且图24的第二部分2404说明了指定的APU在处理apulet时执行的步骤。
在步骤2410中,PU对apulet进行评估,并且然后指定一个用于处理该apulet的APU。在步骤2412中,PU向DMAC发出一个设定用于所需的一个或多个沙箱的存储器存取关键字的DMA命令,由此在DRAM中分配用于执行apulet的空间。在步骤2414中,PU启用对指定APU的中断请求,以发出apulet完成的信号。在步骤2418中,PU向DMAC发出将apulet从DRAM中装入到APU的局部存储器中的DMA命令。在步骤2420中,执行该DMA命令,并且将apulet从DRAM中读取到APU的局部存储器中。在步骤2422中,PU向DMAC发出将与apulet相关的栈帧从DRAM装入到APU的局部存储器中的DMA命令。在步骤2423中,执行该DMA命令,并且将栈帧从DRAM中读取到APU的局部存储器中。在步骤2424中,PU向DMAC发出向APU分配一个关键字、以允许该APU从/向在步骤2412中指定的一个或多个硬件沙箱中读/写数据的DMA命令。在步骤2426中,DMAC用分配给APU的关键字更新关键字控制表(KTAB)。在步骤2428中,PU向APU发出启动程序处理的DMA命令“跳转”。依据特定的apulet,在执行特定的ARPC时,PU可能发出其它的DMA命令。
如上面所指出的,图24中的第二部分2404说明了在执行apulet的过程中APU所执行的步骤。在步骤2430中,APU响应在步骤2428发出的跳转命令开始执行apulet。在步骤2432中,在apulet的指导下,APU评估apulet的相关栈帧。在步骤2434中,APU向DMAC发出多个DMA命令以将指定为栈帧需要的数据从DRAM装入到APU的局部存储器中。在步骤2436中,执行这些DMA命令,将数据从DRAM读取到APU的局部存储器中。在步骤2438中,APU执行apulet并产生一个结果。在步骤2440中,APU向DMAC发出一个DMA命令以把结果存储在DRAM中。在步骤2442中,执行该DMA命令,并将apulet的结果从APU的局部存储器写到DRAM中。在步骤2444中,APU向PU发出一个中断请求,以发出ARPC已经完成的信号。
APU在一个PU的指导下独立执行任务的能力,使一个PU能够将一组APU、以及与一组APU相关的存储器资源专用于执行长期(extended)的任务。例如,PU可以将一个或多个APU、以及与这一个或多个APU相关的一组存储器沙箱,专用于接收在一个持续的期间内通过网络104发送的数据,并用于将该期间内接收到的数据导向一个或多个其它的APU及其相关的存储器沙箱,以便进行进一步的处理。该能力尤其有利于处理通过网络104传输的流数据,例如,MPEG流或ATRAC音频或视频流数据。一个PU可将一个或多个APU及其相关的存储器沙箱专用于接收这些数据,并将一个或多个其它的APU及其相关的存储器沙箱专用于解压缩和进一步处理这些数据。换句话说,PU可在一组APU及其相关的存储器沙箱之间建立用于处理这些数据的专用的流水线关系。
然而,为了有效地执行这种处理,在不处理包含数据流的apulet时,流水线专用的APU和存储器沙箱也仍要保持为该流水线专用。换句话说,在这些期间中,专用的APU及其相关的沙箱应处于一种保留状态。在完成apulet的处理时进行的APU及其相关的一个或多个存储器沙箱的保留称为“驻留终止(resident termination)”。响应来自一个PU的指令而发生驻留终止。
图25、图26A和图26B说明了用于处理流数据,例如,MPEG流数据,的由一组APU及其相关沙箱构成的专用流水线结构的建立。如图25所示,该流水线结构的部件包括PE 2502和DRAM 2518。PE2502包括PU 2504、DMAC 2506和多个APU,包括APU 2508、APU2510和APU 2512。PU 2504、DMAC 2506和这些APU之间的通信通过PE总线2514进行。宽带总线2516将DMAC 2506连接到DRAM2518。DRAM 2518包括多个沙箱,例如,沙箱2520、沙箱2522、沙箱2524和沙箱2526。
图26A说明了建立专用流水线的步骤。在步骤2610中,PU 2504分配APU 2508以处理一个网络apulet。一个网络apulet包含一个用于处理网络104的网络协议的程序。在这种情况下,该协议是传输控制协议/网际协议(TCP/IP)。符合该协议的TCP/IP数据包通过网络104进行传输。一旦接收到数据包,APU 2508处理这些数据包,并将包中的数据组合成软件单元102。在步骤2612中,一旦网络apulet的处理完成,PU 2504便命令APU 2508执行驻留终止。步骤2614中,PU2504指定APU 2510和2512来处理MPEG apulet。在步骤2615中,一旦MEPG apulet处理完成,PU 2504也命令APU 2510和2512执行驻留终止。在步骤2616中,PU 2504指定沙箱2520作为由APU 2510访问的源沙箱和由APU 2508访问的目的沙箱。在步骤2618中,PU2504指定沙箱2522作为由APU 2510访问的目的沙箱和由APU 2512访问的源沙箱。在步骤2620中,PU 2504指定沙箱2524作为由APU2512访问的目的沙箱和用于该流水线中另一个APU的源沙箱。在步骤2622中,PU 2504指定沙箱2526作为由该流水线中其他各APU访问的目的和源沙箱。在步骤2624中,APU 2510和APU 2512分别向源沙箱2520和源沙箱2522中的存储器块发送同步读命令,以便将存储器的这些块设成阻塞状态。最后,处理转到步骤2628,在该步骤中,完成专用流水线的建立,并且保留专用于该流水线的资源。因此,APU 2508、2510、2512等以及与其相关的沙箱2520、2522、2524和2526进入保留状态。
图26B说明了通过这个专用流水线处理MPEG流数据的步骤。在步骤2630中,处理网络apulet的APU 2508在其局部存储器中接收来自网络104的TCP/IP数据包。在步骤2632中,APU 2508处理这些TCP/IP数据包,并将这些包中的数据组合成软件单元102。在步骤2634中,APU 2508检查软件单元的标头2320(图23),以确定这些单元中是否包含MEPG数据。如果一个单元中不包含MPEG数据,则在步骤2636中,APU 2508将该单元发送到在DRAM 2518中指定的一个通用沙箱,该通用沙箱用于由不包括在专用流水线中的其它APU来处理其它数据。APU 2508还将此次发送通知给PU 2504。
另一方面,如果一个软件单元中包含MPEG数据,则在步骤2638中,APU 2508检查该单元的前一个单元ID 2330(图23),以识别该单元所属的MPEG数据流。在步骤2640中,APU 2508选择用于处理该单元的专用流水线的一个APU。在这种情况下,APU 2508选择APU 2510来处理这些数据。该选择是根据前一个单元ID 2330和负荷平衡因素来进行的。例如,如果前一个单元ID 2330表明该软件单元所属的MPEG数据流的前一个软件单元已被发送到APU 2510进行处理,则通常也会将当前的软件单元发送到APU 2510进行处理。在步骤2642中,APU 2508发出将MPEG数据写到沙箱2520的同步写命令。由于该沙箱在此之前已被设成阻塞状态,所以在步骤2644中,自动将MPEG数据从沙箱2520读到APU 2510的局部存储器中。在步骤2646中,APU 2510在其局部存储器中处理MPEG数据以产生视频数据。在步骤2648中,APU 2510将视频数据写到沙箱2522中。在步骤2650中,APU 2510向沙箱2520发出一个同步读取命令,以使该沙箱准备接收另外的MPEG数据。在步骤2652中,APU 2510处理驻留终止。这种处理使这个APU进入保留状态,在该保留状态下,该APU等待处理MPEG数据流中另外的MPEG数据。
在一组APU及其相关的沙箱之间可建立用于处理其它类型数据的其它专用结构。例如,如图27所示,可以建立专用的APU组,例如,APU 2702、2708和2714,用于对三维物体执行几何变换以产生二维显示表。其它的APU可进一步处理(表现(rendered))这些二维显示表以产生象素数据。为执行这种处理,将沙箱专用于APU 2702、2708和2414,以存储三维物体、以及对这些物体进行处理而产生的显示表。例如,源沙箱2704、2710和2716专用于存储分别由APU2702、APU 2708和APU 2714处理的三维物体。以类似的方式,目的沙箱2706、2712和2718专用于存储分别由APU 2702、APU 2708和APU 2714对这些三维物体进行处理而得到的显示表。
协调APU 2720专用于在其局部存储器中接收来自目的沙箱2706、2712和2718的显示表。APU 2720在这些显示表中进行判优,并把它们发送到其它用于表现象素数据的APU。
系统101的处理器还使用一个绝对定时器。绝对定时器向APU及PE的其它元件提供一个时钟信号,该时钟信号独立于并快于驱动这些元件的时钟信号。绝对定时器的使用示于图28。
如图所示,绝对定时器为APU执行任务建立时间预算。该时间预算提供完成这些任务的时间,该时间要比APU处理这些任务所需的时间长。结果,对于每项任务,在时间预算内都有一个忙用期间和一个等待期间。所有的apulet都编写成根据该与APU的实际处理时间和速度无关的时间预算进行处理。
例如,对于一个PE的特定APU,可在时间预算2804的忙用期间2802中执行一个特定任务。由于忙用期间2802比时间预算2804短,所以在时间预算中出现等待期间2806。在该等待期间中,APU进入休眠模式,在该模式下,APU消耗的功率较小。
直到时间预算2804期满,其它的APU或PE的其它元件才有可能得到处理任务的结果。因此,使用由绝对定时器建立的时间预算,不管APU的实际处理速度如何,APU的处理结果总是协调的。
将来,APU的处理速度会变得更快。然而,由绝对定时器建立的时间预算将保持不变。例如,如图28所示,将来的APU将在更短的时间内执行一个任务,因而将有更长的等待期间。因此,忙用期间2808比忙用期间2802短,而等待期间2810比等待期间2806长。然而,由于程序编写是根据由绝对定时器建立的相同的时间预算进行处理,因此,仍然保持APU之间处理结果的协调。结果,较快的APU可以处理为较慢的APU编写的处理程序,而不会在期待该处理结果的时间上引起冲突。
代替在APU之间建立用于协调的绝对定时器,对于由增强的或不同的运算速度而产生的APU并行处理的协调方面的问题,PU、或一个或多个指定的APU可在处理apulet过程中,对正由APU执行的特定指令或微代码进行分析。可以在指令中插入“不操作”(“NOOP”)指令,并由某些APU来执行,以便使APU保持按apulet预期的正确时序完成处理。通过在指令中插入这些NOOP,可以保持APU执行所有指令的正确的定时。
虽然这里参照特定实施例对本发明进行了说明,但是我们应该理解,这些实施例只是为了示例性地说明本发明的原理和应用。因此,我们应该理解,在不脱离由所附权利要求限定的本发明的精神和范围的条件下,可以对示例性的实施例进行许多种修改,以及,可以设计出其它的方案。

Claims (17)

1. 一种计算机网络,包括:
连接到所述网络的多个处理器,每个所述处理器包含多个具有相同指令集体系结构的第一处理单元、和用于控制所述第一处理单元的第二处理单元,所述第一处理单元可用于处理通过所述网络传输的软件单元,每个所述软件单元包含与所述指令集体系结构兼容的程序、与所述程序相关的数据、以及在通过所述网络传输的所有所述软件单元中唯一地标识所述软件单元的标识符。
2. 如权利要求1所述的网络,其中,所述第二处理单元通过确定由所述第一处理单元处理的所述软件单元的程序来控制所述第一处理单元。
3. 如权利要求2所述的网络,其中,每个所述第一处理单元包括独占地与所述第一处理单元相关的局部存储器,并且所述第一处理单元处理来自所述局部存储器的所述程序。
4. 如权利要求3所述的网络,其中,每个所述处理器还包括主存储器,所述主存储器包括多个存储体,每个所述存储体包括多个块,每个所述块是所述主存储器的最小可寻址单元并且在所述主存储器中具有相关的存储器空间,该存储器空间用于存储关于所述块中存储的数据的状态的信息、用于第一处理单元的标识、以及与所述第一处理单元相关的局部存储器的地址。
5. 如权利要求4所述的网络,其中,所述第一处理单元包含用于使用所述相关的存储器空间来同步所述第一处理单元从所述块读数据和向所述块写数据的操作的装置。
6. 如权利要求1所述的网络,其中每个所述处理器还包含直接存储器存取控制器。
7. 如权利要求4所述的网络,其中,每个所述第一处理单元可用于传输将数据从所述主存储器读取到与所述第一处理单元相关的局部存储器中的同步读命令,以及传输将数据从所述局部存储器写到所述主存储器中的同步写命令。
8. 一种计算机系统,包括:
包括多个处理器的计算机网络;和
多个软件单元,被配置为在所述计算机网络上进行传输,其中每个所述软件单元包括:
由一个或多个所述处理器处理的程序;
与所述程序相关的数据;以及
在于所述网络上被传输的所有软件单元中唯一地标识所述软件单元的全局标识。
9. 如权利要求8所述的计算机系统,其中,每个所述软件单元还包含用于在所述网络上路由所述软件单元的信息。
10. 如权利要求9所述的计算机系统,其中,所述信息包括用于所述多个处理器之一的标识,该所述一个处理器是所述软件单元将被传输到其中进行处理的处理器。
11. 如权利要求10所述的计算机系统,其中,所述标识包括网际协议地址。
12. 如权利要求9所述的计算机系统,其中,所述信息包括用于所述多个处理器之一的标识,该所述一个处理器是始发所述软件单元的处理器。
13. 如权利要求9所述的计算机系统,其中,所述信息包括用于所述多个处理器之一的标识,该所述一个处理器是与所述软件单元的处理有关的信息将被传输到其中的处理器。
14. 如权利要求8所述的计算机系统,其中,每个所述软件单元还包含用于提供针对所述处理器之一的多个直接存储器存取命令的信息。
15. 如权利要求14所述的计算机系统,其中,所述信息包含用于所述一个处理器的虚拟标识、和与所述一个处理器相关的用以执行所述直接存储器存取命令的存储器的地址。
16. 如权利要求8所述的计算机系统,其中,所述全局标识基于所述多个处理器中的一个用于创建所述软件单元的处理器的身份、以及所述创建的时间和日期。
17. 如权利要求8所述的计算机系统,其中,所述全局标识基于所述多个处理器中的一个用于传输所述软件单元的处理器的身份、以及所述传输的时间和日期。
CNB028057783A 2001-03-22 2002-03-19 计算机网络和计算机系统 Expired - Lifetime CN100412848C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/816,004 US7233998B2 (en) 2001-03-22 2001-03-22 Computer architecture and software cells for broadband networks
US09/816,004 2001-03-22

Publications (2)

Publication Number Publication Date
CN1494690A CN1494690A (zh) 2004-05-05
CN100412848C true CN100412848C (zh) 2008-08-20

Family

ID=25219414

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028057783A Expired - Lifetime CN100412848C (zh) 2001-03-22 2002-03-19 计算机网络和计算机系统

Country Status (7)

Country Link
US (11) US7233998B2 (zh)
EP (2) EP2296090B1 (zh)
JP (2) JP2002366533A (zh)
KR (2) KR100891063B1 (zh)
CN (1) CN100412848C (zh)
TW (1) TWI266200B (zh)
WO (1) WO2002077845A1 (zh)

Families Citing this family (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP4193990B2 (ja) * 2002-03-22 2008-12-10 ディーリング,マイケル,エフ. スケーラブルな高性能3dグラフィックス
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US7225301B2 (en) * 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US20050071828A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for compiling source code for multi-processor environments
US7516456B2 (en) * 2003-09-25 2009-04-07 International Business Machines Corporation Asymmetric heterogeneous multi-threaded operating system
US7549145B2 (en) * 2003-09-25 2009-06-16 International Business Machines Corporation Processor dedicated code handling in a multi-processor environment
US20050071578A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for manipulating data with a plurality of processors
US7236998B2 (en) * 2003-09-25 2007-06-26 International Business Machines Corporation System and method for solving a large system of dense linear equations
US7475257B2 (en) * 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
US7146529B2 (en) * 2003-09-25 2006-12-05 International Business Machines Corporation System and method for processor thread acting as a system service processor
US7444632B2 (en) * 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US7523157B2 (en) * 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7496917B2 (en) * 2003-09-25 2009-02-24 International Business Machines Corporation Virtual devices using a pluarlity of processors
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
US7318218B2 (en) * 2003-09-25 2008-01-08 International Business Machines Corporation System and method for processor thread for software debugging
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7321958B2 (en) * 2003-10-30 2008-01-22 International Business Machines Corporation System and method for sharing memory by heterogeneous processors
US7793276B2 (en) * 2003-11-14 2010-09-07 Intel Corporation Apparatus and method for automatically parallelizing network applications through pipelining transformation
US7856632B2 (en) * 2004-01-29 2010-12-21 Klingman Edwin E iMEM ASCII architecture for executing system operators and processing data operators
US7823161B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device with variable size task architecture
US7984442B2 (en) * 2004-01-29 2011-07-19 Klingman Edwin E Intelligent memory device multilevel ASCII interpreter
US7908603B2 (en) * 2004-01-29 2011-03-15 Klingman Edwin E Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor
US8108870B2 (en) 2004-01-29 2012-01-31 Klingman Edwin E Intelligent memory device having ASCII-named task registers mapped to addresses of a task
US7882504B2 (en) * 2004-01-29 2011-02-01 Klingman Edwin E Intelligent memory device with wakeup feature
TW200532466A (en) * 2004-02-03 2005-10-01 Sony Corp Information processing device, information processing method, information processing system and information processing program of accessible media
JP2005235019A (ja) 2004-02-20 2005-09-02 Sony Corp ネットワークシステム、分散処理方法、情報処理装置
US8028292B2 (en) 2004-02-20 2011-09-27 Sony Computer Entertainment Inc. Processor task migration over a network in a multi-processor system
US20090006156A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a granting matrix with an analytic platform
US7565653B2 (en) 2004-02-20 2009-07-21 Sony Computer Entertainment Inc. Methods and apparatus for processor task migration in a multi-processor system
US7614053B2 (en) 2004-02-20 2009-11-03 Sony Computer Entertainment Inc. Methods and apparatus for task management in a multi-processor system
JP2005242598A (ja) * 2004-02-26 2005-09-08 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP4586526B2 (ja) 2004-02-27 2010-11-24 ソニー株式会社 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
JP4325438B2 (ja) 2004-03-01 2009-09-02 ソニー株式会社 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
CN100418074C (zh) * 2004-03-05 2008-09-10 菲尼萨公司 光学收发机中的分级和字节可配置存储器
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP4855655B2 (ja) * 2004-06-15 2012-01-18 株式会社ソニー・コンピュータエンタテインメント 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
JP2006004008A (ja) * 2004-06-15 2006-01-05 Sony Computer Entertainment Inc 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
JP3805344B2 (ja) * 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
JP4465598B2 (ja) 2004-07-05 2010-05-19 ソニー株式会社 集積回路およびその処理制御方法、並びに、プログラム
JP4552540B2 (ja) * 2004-07-09 2010-09-29 ソニー株式会社 コンテンツ記録装置、コンテンツ再生装置、コンテンツ記録方法、コンテンツ再生方法及びプログラム
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP4599923B2 (ja) 2004-07-16 2010-12-15 ソニー株式会社 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2006033646A (ja) 2004-07-20 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP2006031525A (ja) 2004-07-20 2006-02-02 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
US7363397B2 (en) * 2004-08-26 2008-04-22 International Business Machines Corporation System and method for DMA controller with multi-dimensional line-walking functionality
US7240137B2 (en) * 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
JPWO2006025255A1 (ja) * 2004-08-30 2008-05-08 松下電器産業株式会社 多人数参加型アプリケーションを実行するクライアント端末装置、グループ形成方法及びグループ形成プログラム
JPWO2006025322A1 (ja) * 2004-08-30 2008-05-08 松下電器産業株式会社 記録装置
JP2006079280A (ja) 2004-09-08 2006-03-23 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
US7240182B2 (en) * 2004-09-16 2007-07-03 International Business Machines Corporation System and method for providing a persistent function server
US8001294B2 (en) * 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US20060070069A1 (en) * 2004-09-30 2006-03-30 International Business Machines Corporation System and method for sharing resources between real-time and virtualizing operating systems
US7290112B2 (en) * 2004-09-30 2007-10-30 International Business Machines Corporation System and method for virtualization of processor resources
JP2007334379A (ja) 2004-10-05 2007-12-27 Matsushita Electric Ind Co Ltd 処理装置
US7506325B2 (en) 2004-10-07 2009-03-17 International Business Machines Corporation Partitioning processor resources based on memory usage
US20060080661A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation System and method for hiding memory latency
EP1805627B1 (en) * 2004-10-15 2011-02-16 Sony Computer Entertainment Inc. Methods and apparatus for supporting multiple configurations in a multi-processor system
US7512699B2 (en) * 2004-11-12 2009-03-31 International Business Machines Corporation Managing position independent code using a software framework
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7512936B2 (en) * 2004-12-17 2009-03-31 Sap Aktiengesellschaft Code diversification
US7689814B2 (en) 2004-12-20 2010-03-30 Sony Computer Entertainment Inc. Methods and apparatus for disabling error countermeasures in a processing system
US7644255B2 (en) * 2005-01-13 2010-01-05 Sony Computer Entertainment Inc. Method and apparatus for enable/disable control of SIMD processor slices
US7337291B2 (en) * 2005-01-14 2008-02-26 Microsoft Corporation Software memory access control
JP2008527465A (ja) * 2005-01-19 2008-07-24 松下電器産業株式会社 電子回路
US20060184296A1 (en) * 2005-02-17 2006-08-17 Hunter Engineering Company Machine vision vehicle wheel alignment systems
US20080162877A1 (en) * 2005-02-24 2008-07-03 Erik Richter Altman Non-Homogeneous Multi-Processor System With Shared Memory
US8239238B2 (en) * 2005-03-21 2012-08-07 Microsoft Corporation Methods and apparatus for encoding a work item type definition
US8849968B2 (en) * 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8037474B2 (en) * 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US7522168B2 (en) * 2005-09-27 2009-04-21 Sony Computer Entertainment Inc. Cell processor task and data management
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
US7659899B2 (en) * 2005-08-08 2010-02-09 Via Technologies, Inc. System and method to manage data processing stages of a logical graphics pipeline
US7659898B2 (en) * 2005-08-08 2010-02-09 Via Technologies, Inc. Multi-execution resource graphics processor
US20070030280A1 (en) * 2005-08-08 2007-02-08 Via Technologies, Inc. Global spreader and method for a parallel graphics processor
US20070030277A1 (en) * 2005-08-08 2007-02-08 Via Technologies, Inc. Method for processing vertex, triangle, and pixel graphics data packets
US7421566B2 (en) * 2005-08-12 2008-09-02 International Business Machines Corporation Implementing instruction set architectures with non-contiguous register file specifiers
US20070038984A1 (en) 2005-08-12 2007-02-15 Gschwind Michael K Methods for generating code for an architecture encoding an extended register specification
US7694107B2 (en) * 2005-08-18 2010-04-06 Hewlett-Packard Development Company, L.P. Dynamic performance ratio proportionate distribution of threads with evenly divided workload by homogeneous algorithm to heterogeneous computing units
US7506123B1 (en) 2005-09-27 2009-03-17 Sony Computer Entertainment Inc. Method and system for performing memory copy function on a cell processor
US7975269B2 (en) * 2005-09-27 2011-07-05 Sony Computer Entertainment Inc. Parallel processor methods and apparatus
US8141076B2 (en) * 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US7734827B2 (en) * 2005-09-27 2010-06-08 Sony Computer Entertainment, Inc. Operation of cell processors
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US20070094435A1 (en) * 2005-10-25 2007-04-26 Fry Walter G Computer docking system and method
US20070094495A1 (en) * 2005-10-26 2007-04-26 Microsoft Corporation Statically Verifiable Inter-Process-Communicative Isolated Processes
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
JP2007156987A (ja) * 2005-12-07 2007-06-21 Toshiba Corp ソフトウェア部品およびソフトウェア部品管理システム
US8595747B2 (en) * 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US7725682B2 (en) * 2006-01-10 2010-05-25 International Business Machines Corporation Method and apparatus for sharing storage and execution resources between architectural units in a microprocessor using a polymorphic function unit
US8622837B2 (en) 2006-03-20 2014-01-07 Sony Computer Entertainment America Llc Managing game metrics and authorizations
US8010953B2 (en) * 2006-04-04 2011-08-30 International Business Machines Corporation Method for compiling scalar code for a single instruction multiple data (SIMD) execution engine
US8904151B2 (en) 2006-05-02 2014-12-02 International Business Machines Corporation Method and apparatus for the dynamic identification and merging of instructions for execution on a wide datapath
EP2030111A4 (en) * 2006-06-22 2010-09-22 Nordnav Technologies Ab SPREAD-SPECTRUM SIGNAL PROCESSING BASED ON SOFTWARE
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US8132169B2 (en) * 2006-07-21 2012-03-06 International Business Machines Corporation System and method for dynamically partitioning an application across multiple processing elements in a heterogeneous processing environment
US7987464B2 (en) * 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US7529849B2 (en) * 2006-07-27 2009-05-05 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
US8028290B2 (en) 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US20080126761A1 (en) * 2006-09-26 2008-05-29 Fontenot Nathan D Method and apparatus for scheduling optimization
US7620797B2 (en) * 2006-11-01 2009-11-17 Apple Inc. Instructions for efficiently accessing unaligned vectors
US7624251B2 (en) * 2006-11-01 2009-11-24 Apple Inc. Instructions for efficiently accessing unaligned partial vectors
US7934179B2 (en) * 2006-11-20 2011-04-26 Et International, Inc. Systems and methods for logic verification
US11244727B2 (en) * 2006-11-29 2022-02-08 Rambus Inc. Dynamic memory rank configuration
US9390158B2 (en) * 2007-01-26 2016-07-12 Information Resources, Inc. Dimensional compression using an analytic platform
US9262503B2 (en) 2007-01-26 2016-02-16 Information Resources, Inc. Similarity matching of products based on multiple classification schemes
US20090006788A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Associating a flexible data hierarchy with an availability condition in a granting matrix
US8160984B2 (en) * 2007-01-26 2012-04-17 Symphonyiri Group, Inc. Similarity matching of a competitor's products
US10621203B2 (en) * 2007-01-26 2020-04-14 Information Resources, Inc. Cross-category view of a dataset using an analytic platform
US8504598B2 (en) 2007-01-26 2013-08-06 Information Resources, Inc. Data perturbation of non-unique values
US20090006309A1 (en) 2007-01-26 2009-01-01 Herbert Dennis Hunt Cluster processing of an aggregated dataset
US7747634B2 (en) * 2007-03-08 2010-06-29 Microsoft Corporation Rich data tunneling
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
JP4913685B2 (ja) * 2007-07-04 2012-04-11 株式会社リコー Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法
CN101369233A (zh) * 2007-08-14 2009-02-18 国际商业机器公司 程序编译方法和编译器
US8156307B2 (en) 2007-08-20 2012-04-10 Convey Computer Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
US9015399B2 (en) 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US8095735B2 (en) 2008-08-05 2012-01-10 Convey Computer Memory interleave for heterogeneous computing
US8122229B2 (en) * 2007-09-12 2012-02-21 Convey Computer Dispatch mechanism for dispatching instructions from a host processor to a co-processor
US8561037B2 (en) 2007-08-29 2013-10-15 Convey Computer Compiler for generating an executable comprising instructions for a plurality of different instruction sets
US9710384B2 (en) * 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
CN101398803B (zh) 2007-09-28 2011-04-06 国际商业机器公司 管理数据移动的方法和使用该方法的细胞宽带引擎处理器
US8296743B2 (en) * 2007-12-17 2012-10-23 Intel Corporation Compiler and runtime for heterogeneous multiprocessor systems
US8923510B2 (en) 2007-12-28 2014-12-30 Intel Corporation Method and apparatus for efficiently implementing the advanced encryption standard
US7916295B2 (en) * 2008-09-03 2011-03-29 Macronix International Co., Ltd. Alignment mark and method of getting position reference for wafer
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8438404B2 (en) 2008-09-30 2013-05-07 International Business Machines Corporation Main processing element for delegating virtualized control threads controlling clock speed and power consumption to groups of sub-processing elements in a system such that a group of sub-processing elements can be designated as pseudo main processing element
US8732716B2 (en) 2008-09-30 2014-05-20 International Business Machines Corporation Virtualization across physical partitions of a multi-core processor (MCP)
US8205066B2 (en) * 2008-10-31 2012-06-19 Convey Computer Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor
US20100115233A1 (en) * 2008-10-31 2010-05-06 Convey Computer Dynamically-selectable vector register partitioning
US20100153934A1 (en) * 2008-12-12 2010-06-17 Peter Lachner Prefetch for systems with heterogeneous architectures
JP5167410B2 (ja) * 2009-01-09 2013-03-21 株式会社日立製作所 複数のマイクロプロセッサを有するストレージシステム、及び、そのストレージシステムにおける処理分担方法
US8667476B1 (en) * 2009-01-20 2014-03-04 Adaptmicrosys LLC Instruction grouping and ungrouping apparatus and method for an adaptive microprocessor system
US8881157B2 (en) * 2009-09-11 2014-11-04 Empire Technology Development Llc Allocating threads to cores based on threads falling behind thread completion target deadline
US9189282B2 (en) * 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US9569270B2 (en) * 2009-04-21 2017-02-14 Empire Technology Development Llc Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
US20110066830A1 (en) * 2009-09-11 2011-03-17 Andrew Wolfe Cache prefill on thread migration
KR101603202B1 (ko) * 2009-09-21 2016-03-14 삼성전자주식회사 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치
US8423745B1 (en) 2009-11-16 2013-04-16 Convey Computer Systems and methods for mapping a neighborhood of data to general registers of a processing element
US9043769B2 (en) * 2009-12-28 2015-05-26 Hyperion Core Inc. Optimization of loops and data flow sections in multi-core processor environment
US8862827B2 (en) * 2009-12-29 2014-10-14 International Business Machines Corporation Efficient multi-level software cache using SIMD vector permute functionality
US20110202845A1 (en) * 2010-02-17 2011-08-18 Anthony Jon Mountjoy System and method for generating and distributing three dimensional interactive content
US9645854B2 (en) * 2010-12-15 2017-05-09 Advanced Micro Devices, Inc. Dynamic work partitioning on heterogeneous processing devices
US9235458B2 (en) 2011-01-06 2016-01-12 International Business Machines Corporation Methods and systems for delegating work objects across a mixed computer environment
US9052968B2 (en) * 2011-01-17 2015-06-09 International Business Machines Corporation Methods and systems for linking objects across a mixed computer environment
US9038088B2 (en) * 2011-03-10 2015-05-19 Nec Laboratories America, Inc. Load balancing on hetrogenous processing cluster based on exceeded load imbalance factor threshold determined by total completion time of multiple processing phases
US8914515B2 (en) 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
CN103999063B (zh) 2011-12-16 2016-10-05 国际商业机器公司 处理器的存储器共享
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US20140068581A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Optimized division of work among processors in a heterogeneous processing system
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US20140189666A1 (en) * 2012-12-27 2014-07-03 Scott A. Krig Automatic pipeline composition
US9329900B2 (en) 2012-12-28 2016-05-03 Intel Corporation Hetergeneous processor apparatus and method
US9448829B2 (en) 2012-12-28 2016-09-20 Intel Corporation Hetergeneous processor apparatus and method
US9672046B2 (en) 2012-12-28 2017-06-06 Intel Corporation Apparatus and method for intelligently powering heterogeneous processor components
US9639372B2 (en) * 2012-12-28 2017-05-02 Intel Corporation Apparatus and method for heterogeneous processors mapping to virtual cores
US8909219B2 (en) 2013-01-17 2014-12-09 Qualcomm Incorporated Methods and apparatus for providing unified wireless communication through efficient memory management
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
US9600346B2 (en) 2013-07-10 2017-03-21 International Business Machines Corporation Thread scheduling across heterogeneous processing elements with resource mapping
KR101529877B1 (ko) * 2013-07-26 2015-06-18 서울시립대학교 산학협력단 원격 데이터 연산 방법 및 시스템
US20150095842A1 (en) 2013-09-30 2015-04-02 Microsoft Corporation Extendable blade sequence along pannable canvas direction
GB2516995B (en) * 2013-12-18 2015-08-19 Imagination Tech Ltd Task execution in a SIMD processing unit
CN107408331B (zh) * 2014-04-04 2021-06-18 通用电子有限公司 用于配置便携式设备的遥控功能的系统和方法
DE102015006670A1 (de) * 2014-06-26 2015-12-31 Intel Corporation Befehle und logik zum bereitstellen von kryptographischer allzweck-gf(256)-simd- arithmetikfunktionalität
WO2016090554A1 (en) * 2014-12-09 2016-06-16 Intel Corporation System and method for execution of application code compiled according to two instruction set architectures
WO2016156908A1 (en) * 2015-03-27 2016-10-06 Intel Corporation Apparatus and method for inter-strand communication
WO2016154795A1 (en) 2015-03-27 2016-10-06 Intel Corporation Efficient address translation
US9565168B1 (en) * 2015-05-05 2017-02-07 Sprint Communications Company L.P. System and method of a trusted computing operation mode
US9686240B1 (en) 2015-07-07 2017-06-20 Sprint Communications Company L.P. IPv6 to IPv4 data packet migration in a trusted security zone
US9749294B1 (en) 2015-09-08 2017-08-29 Sprint Communications Company L.P. System and method of establishing trusted operability between networks in a network functions virtualization environment
US10542115B1 (en) 2015-10-01 2020-01-21 Sprint Communications Company L.P. Securing communications in a network function virtualization (NFV) core network
US9811686B1 (en) 2015-10-09 2017-11-07 Sprint Communications Company L.P. Support systems interactions with virtual network functions in a trusted security zone
US9781016B1 (en) 2015-11-02 2017-10-03 Sprint Communications Company L.P. Dynamic addition of network function services
US9733911B2 (en) * 2015-11-11 2017-08-15 National Instruments Corporation Value transfer between program variables using dynamic memory resource mapping
US11513805B2 (en) * 2016-08-19 2022-11-29 Wisconsin Alumni Research Foundation Computer architecture with synergistic heterogeneous processors
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US10365824B2 (en) 2017-04-24 2019-07-30 Advanced Micro Devices, Inc. Silent active page migration faults
US10310985B2 (en) 2017-06-26 2019-06-04 Ati Technologies Ulc Systems and methods for accessing and managing a computing system memory
US10318344B2 (en) * 2017-07-13 2019-06-11 Advanced Micro Devices, Inc. Predicting page migration granularity for heterogeneous memory systems
EP3662474B1 (en) * 2017-07-30 2023-02-22 NeuroBlade Ltd. A memory-based distributed processor architecture
US10348488B1 (en) 2017-08-25 2019-07-09 Sprint Communications Company L.P. Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network
US11526278B2 (en) 2017-12-21 2022-12-13 Advanced Micro Devices, Inc. Adaptive page close prediction
US10691658B2 (en) 2018-05-09 2020-06-23 International Business Machines Corporation Automatically optimizing resource usage on a target database management system to increase workload performance
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
CN108900639B (zh) * 2018-08-10 2021-04-06 乾元云硕科技(深圳)有限公司 集群式云计算系统
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10915370B2 (en) * 2018-11-29 2021-02-09 International Business Machines Corporation Inter-host communication without data copy in disaggregated systems
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
WO2020150728A1 (en) * 2019-01-18 2020-07-23 Quadric. Io, Inc. Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11847205B1 (en) 2020-10-26 2023-12-19 T-Mobile Innovations Llc Trusted 5G network function virtualization of virtual network function elements embedded on a system-on-chip
US11467995B2 (en) * 2020-12-01 2022-10-11 Micron Technology, Inc. Pin mapping for memory devices
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11902129B1 (en) 2023-03-24 2024-02-13 T-Mobile Usa, Inc. Vendor-agnostic real-time monitoring of telecommunications networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180018A (ja) * 1994-12-26 1996-07-12 Toshiba Corp 分散処理システム及び分散処理方法
JPH08249261A (ja) * 1995-03-08 1996-09-27 Mitsubishi Electric Corp メッセージ管理システム

Family Cites Families (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US517972A (en) * 1894-04-10 Billiard-ball
US3576544A (en) * 1968-10-18 1971-04-27 Ibm Storage protection system
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
JPS5412643A (en) 1977-06-30 1979-01-30 Hitachi Ltd Main memory protective device
JPS54146555A (en) 1978-05-09 1979-11-15 Nec Corp Data transfer system between processors
US4332009A (en) * 1980-01-21 1982-05-25 Mostek Corporation Memory protection system
JPS5812613B2 (ja) 1980-02-08 1983-03-09 工業技術院長 並列デ−タ処理装置
JPS5835295B2 (ja) 1980-03-03 1983-08-02 オムロン株式会社 マスタ・スレ−ブ・システムにおけるデ−タ転送方式
US4430705A (en) * 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
JPS576952A (en) 1980-06-16 1982-01-13 Nippon Telegr & Teleph Corp <Ntt> Storage protecting system
JPS57176456A (en) 1981-04-22 1982-10-29 Fanuc Ltd Data processing system
EP0063626B1 (en) * 1981-04-28 1985-07-17 International Business Machines Corporation Bus arrangement for interconnectiong circuit chips
US4394727A (en) 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
JPS58134357A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトルプロセッサ
AU542447B2 (en) * 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
JPS5958700A (ja) * 1982-09-29 1984-04-04 Fujitsu Ltd 記憶保護判定方式
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US5159700A (en) * 1984-01-16 1992-10-27 Texas Instruments Incorporated Substrate with optical communication systems between chips mounted thereon and monolithic integration of optical I/O on silicon substrates
JPS61180352A (ja) 1984-12-30 1986-08-13 Fujitsu Ltd プログラムダウンロ−ド方式
IT1184553B (it) * 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
US4972314A (en) * 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US4945479A (en) * 1985-07-31 1990-07-31 Unisys Corporation Tightly coupled scientific processing system
US4732446A (en) * 1985-10-02 1988-03-22 Lamar Gipson Electrical circuit and optical data buss
CA1280829C (en) * 1985-11-13 1991-02-26 Toshio Matsumoto Main storage access control system for virtual computing function system
US4787057A (en) * 1986-06-04 1988-11-22 General Electric Company Finite element analysis method using multiprocessor for matrix manipulations with special handling of diagonal elements
JPS6319058A (ja) 1986-07-11 1988-01-26 Fujitsu Ltd メモリ装置
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
JP2960415B2 (ja) * 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
JPS6412364U (zh) 1987-07-11 1989-01-23
JPH0719704Y2 (ja) 1987-07-31 1995-05-10 シャープ株式会社 生産ラインの生産管理装置
US4862407A (en) * 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
JP2594979B2 (ja) * 1987-10-23 1997-03-26 株式会社日立製作所 マルチプロセツサシステム
US5261113A (en) * 1988-01-25 1993-11-09 Digital Equipment Corporation Apparatus and method for single operand register array for vector and scalar data processing operations
JP2677589B2 (ja) 1988-02-26 1997-11-17 株式会社東芝 携帯可能電子装置およびicチップ
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
JPH0212361A (ja) 1988-06-29 1990-01-17 Fujitsu Ltd 階層化バスによる並列計算機システム
US4939682A (en) * 1988-07-15 1990-07-03 The Boeing Company Integrated electro-optic arithmetic/logic unit and method for making the same
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
JP2837413B2 (ja) 1988-08-24 1998-12-16 株式会社日立メディコ 複数端末cpuを有するct装置
EP0369052A1 (en) * 1988-11-17 1990-05-23 International Business Machines Corporation Data base access system
JPH02210542A (ja) 1989-02-10 1990-08-21 Fujitsu Ltd 仮想計算機システムにおける実行制御方式
CA2011807C (en) * 1989-03-20 1999-02-23 Katsumi Hayashi Data base processing system using multiprocessor system
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
JPH0640324B2 (ja) * 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
US5037173A (en) * 1989-11-22 1991-08-06 Texas Instruments Incorporated Optical interconnection network
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
EP0509055A4 (en) * 1990-01-05 1994-07-27 Maspar Computer Corp Parallel processor memory system
EP0461926B1 (en) 1990-06-15 1998-09-02 Compaq Computer Corporation Multilevel inclusion in multilevel cache hierarchies
US5093879A (en) * 1990-06-22 1992-03-03 International Business Machines Corporation Electro-optical connectors
US5144691A (en) * 1990-07-20 1992-09-01 Cray Research, Inc. Computer signal interconnect apparatus
DE69131763T2 (de) * 1990-08-31 2000-03-09 Texas Instruments Inc Verfahren zur Kommunikation zwischen Prozessoren eines Mehrprozessorsystems
EP0481735A3 (en) * 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
KR940004404B1 (ko) * 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US5131054A (en) * 1991-01-09 1992-07-14 Thinking Machines Corporation Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity
US5978831A (en) 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
JPH04284754A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd Atm交換装置
JPH04288643A (ja) 1991-03-18 1992-10-13 Nec Corp マルチプロセッサシステムのメモリマッピング方式
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
DE69232431T2 (de) 1991-07-12 2002-09-19 Matsushita Electric Ind Co Ltd Vorrichtung zur Lösung von linearen Gleichungssystem
US5519875A (en) * 1991-08-08 1996-05-21 Hitachi, Ltd. Distributed processing system for modules, each having modularized objects
US5630128A (en) * 1991-08-09 1997-05-13 International Business Machines Corporation Controlled scheduling of program threads in a multitasking operating system
US5185861A (en) 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
JPH0554009A (ja) 1991-08-29 1993-03-05 Nec Eng Ltd プログラムロード方式
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
JP3364937B2 (ja) 1991-11-29 2003-01-08 株式会社日立製作所 並列演算装置
US5359721A (en) * 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5394547A (en) * 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5268973A (en) * 1992-01-21 1993-12-07 The University Of Texas System Wafer-scale optical bus
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JPH05324589A (ja) * 1992-03-25 1993-12-07 Nippon Sheet Glass Co Ltd 並列コンピュータ装置および光結合装置
JPH0612333A (ja) 1992-06-25 1994-01-21 Hitachi Ltd 情報処理装置の記憶保護方式
JPH0644110A (ja) 1992-07-23 1994-02-18 Fuji Xerox Co Ltd インストール方法
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
US5437042A (en) * 1992-10-02 1995-07-25 Compaq Computer Corporation Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
JPH08506198A (ja) 1993-01-22 1996-07-02 ユニバーシティ コーポレイション フォーアトモスフェリック リサーチ 多重パイプライン多重プロセッサシステム
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
EP0610583A1 (en) * 1993-02-08 1994-08-17 International Business Machines Corporation Multizone relocation facility computer memory system
US5619671A (en) * 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
US5438513A (en) * 1993-11-19 1995-08-01 Chrysler Corporation Automotive electronics test system
US5487146A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5560030A (en) 1994-03-08 1996-09-24 Texas Instruments Incorporated Transfer processor with transparency
JP3639323B2 (ja) * 1994-03-31 2005-04-20 富士通株式会社 メモリ分散型並列計算機による連立1次方程式計算処理方法および計算機
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
JPH07287064A (ja) 1994-04-20 1995-10-31 Mitsubishi Electric Corp レーダ信号処理装置
DE69519449T2 (de) * 1994-05-05 2001-06-21 Conexant Systems Inc Raumzeigersdatenpfad
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
US5535419A (en) * 1994-05-27 1996-07-09 Advanced Micro Devices Sytem and method for merging disk change data from a floppy disk controller with data relating to an IDE drive controller
DE19580738T1 (de) * 1994-05-31 1996-08-22 Fujitsu Ltd System und Verfahren zur Jobausführung zwischen verschiedenen Betriebssystemen
JPH0895757A (ja) 1994-09-19 1996-04-12 Internatl Business Mach Corp <Ibm> マイクロカーネル・データ処理システム用のマスタ・サーバ・プログラム・ロード方法および装置
US5754817A (en) 1994-09-29 1998-05-19 Intel Corporation Execution in place of a file stored non-contiguously in a non-volatile memory
US5548798A (en) * 1994-11-10 1996-08-20 Intel Corporation Method and apparatus for solving dense systems of linear equations with an iterative method that employs partial multiplications using rank compressed SVD basis matrices of the partitioned submatrices of the coefficient matrix
JP3493772B2 (ja) 1994-11-18 2004-02-03 富士ゼロックス株式会社 制御ソフトウェア仕様変更システム
JPH08161283A (ja) 1994-12-07 1996-06-21 Sony Corp 複数プロセツサシステム
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US5537606A (en) * 1995-01-31 1996-07-16 International Business Machines Corporation Scalar pipeline replication for parallel vector element processing
JPH08212178A (ja) 1995-02-08 1996-08-20 Hitachi Ltd 並列計算機
JP2731742B2 (ja) 1995-02-28 1998-03-25 甲府日本電気株式会社 クラスタ構成の並列計算機
CA2170468A1 (en) 1995-02-28 1996-08-29 Noriyuki Ando Multi-processor system with virtually addressable communication registers and controlling method thereof
DE19508723A1 (de) * 1995-03-10 1996-09-12 Siemens Ag Mehrbenutzerdatenverarbeitungsanlage mit Speicherschutz
KR100325658B1 (ko) * 1995-03-17 2002-08-08 가부시끼가이샤 히다치 세이사꾸쇼 프로세서
US5850534A (en) * 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
US5819065A (en) * 1995-06-28 1998-10-06 Quickturn Design Systems, Inc. System and method for emulating memory
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
FR2742248B1 (fr) * 1995-12-06 1998-01-23 Thomson Multimedia Sa Procede de traitement de donnees dans des reseaux matriciels dans un systeme d'estimation de mouvement
JP3786993B2 (ja) * 1995-12-14 2006-06-21 株式会社日立製作所 データ記憶ユニット及び該ユニットを用いたデータ記憶装置
US6886167B1 (en) * 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
JPH09198361A (ja) 1996-01-23 1997-07-31 Kofu Nippon Denki Kk マルチプロセッサシステム
US5729712A (en) * 1996-01-26 1998-03-17 Unisys Corporation Smart fill system for multiple cache network
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
JP3926866B2 (ja) * 1996-05-10 2007-06-06 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、及び描画システム
JPH09311839A (ja) 1996-05-21 1997-12-02 Hitachi Ltd データ共用方式
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5787309A (en) * 1996-05-23 1998-07-28 International Business Machines Corporation Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits
US5900019A (en) * 1996-05-23 1999-05-04 International Business Machines Corporation Apparatus for protecting memory storage blocks from I/O accesses
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
AT1751U1 (de) * 1996-09-30 1997-10-27 Kuehn Eva Koordinations-system
JPH10126771A (ja) 1996-10-15 1998-05-15 Toshiba Corp 画像データ転送システムにおける画像データ送出レート制御方法および画像データ転送方法
US6006315A (en) * 1996-10-18 1999-12-21 Samsung Electronics Co., Ltd. Computer methods for writing a scalar value to a vector
US5745500A (en) * 1996-10-22 1998-04-28 The United States Of America As Represented By The Secretary Of The Army Built-in self testing for the identification of faulty integrated circuit chips in a multichip module
US6513057B1 (en) * 1996-10-28 2003-01-28 Unisys Corporation Heterogeneous symmetric multi-processing system
US5835775A (en) * 1996-12-12 1998-11-10 Ncr Corporation Method and apparatus for executing a family generic processor specific application
US5961628A (en) * 1997-01-28 1999-10-05 Samsung Electronics Co., Ltd. Load and store unit for a vector processor
JP3421526B2 (ja) * 1997-02-14 2003-06-30 モトローラ株式会社 デ−タ処理装置
US6424988B2 (en) * 1997-02-19 2002-07-23 Unisys Corporation Multicomputer system
US6192514B1 (en) * 1997-02-19 2001-02-20 Unisys Corporation Multicomputer system
US6289434B1 (en) * 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
DE19710504C2 (de) * 1997-03-13 2001-06-13 Siemens Ag Optisch-elektrisches Modul
JP3739888B2 (ja) * 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
JP3681026B2 (ja) * 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US6212605B1 (en) * 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
JPH1139215A (ja) 1997-05-22 1999-02-12 Matsushita Electric Ind Co Ltd キャッシュメモリおよびキャッシュメモリを制御する方法
JPH10334055A (ja) 1997-06-03 1998-12-18 Sony Corp マルチプロセッサ・システム
JP3490256B2 (ja) 1997-06-12 2004-01-26 三菱電機株式会社 エージェント方式
US5892966A (en) * 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6360303B1 (en) * 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6209065B1 (en) * 1997-10-24 2001-03-27 Compaq Computer Corporation Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6173389B1 (en) * 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
US6128724A (en) * 1997-12-11 2000-10-03 Leland Stanford Junior University Computation using codes for controlling configurable computational circuit
KR100257046B1 (ko) * 1998-03-03 2000-05-15 윤종용 인터페이스 기능 전환을 위한 지능형 입/출력 제어기
US6105111A (en) * 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique
US6192467B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Executing partial-width packed data instructions
US6473897B1 (en) * 1998-04-13 2002-10-29 Intel Corporation Method and apparatus for generating multiple processor-specific code segments in a single executable
US6049668A (en) * 1998-04-13 2000-04-11 Intel Corporation Method and apparatus for supporting multiple processor-specific code segments in a single executable
US6167430A (en) * 1998-05-12 2000-12-26 Unisys Corporation Multicomputer with distributed directory and operating system
US6292822B1 (en) * 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6088511A (en) * 1998-05-13 2000-07-11 Microsoft Corporation Nested parallel 2D Delaunay triangulation method
US6292935B1 (en) 1998-05-29 2001-09-18 Intel Corporation Method for fast translation of java byte codes into efficient native processor code
US6336187B1 (en) * 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
JP3224782B2 (ja) 1998-08-03 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理分担動的変更方法及びコンピュータ
US6415353B1 (en) * 1998-10-01 2002-07-02 Monolithic System Technology, Inc. Read/write buffers for complete hiding of the refresh of a semiconductor memory and method of operating same
US6643708B1 (en) * 1998-10-29 2003-11-04 International Business Machines Corporation Systems, methods and computer program products for chaining Java servlets across networks
US6480818B1 (en) * 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6714217B2 (en) 1998-12-18 2004-03-30 Sprint Communication Company, L.P. System and method for providing a graphical user interface to, for building, and/or for monitoring a telecommunication network
US6381693B2 (en) * 1998-12-31 2002-04-30 Intel Corp. Arrangements having firmware support for different processor types
US6381659B2 (en) * 1999-01-19 2002-04-30 Maxtor Corporation Method and circuit for controlling a first-in-first-out (FIFO) buffer using a bank of FIFO address registers capturing and saving beginning and ending write-pointer addresses
JP3790060B2 (ja) 1999-01-29 2006-06-28 株式会社山武 演算処理装置
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6308252B1 (en) * 1999-02-04 2001-10-23 Kabushiki Kaisha Toshiba Processor method and apparatus for performing single operand operation and multiple parallel operand operation
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6480941B1 (en) * 1999-02-23 2002-11-12 International Business Machines Corporation Secure partitioning of shared memory based multiprocessor system
US6647208B1 (en) * 1999-03-18 2003-11-11 Massachusetts Institute Of Technology Hybrid electronic/optical switch system
US6728961B1 (en) * 1999-03-31 2004-04-27 International Business Machines Corporation Method and system for dynamically load balancing a process over a plurality of peer machines
US6845498B1 (en) * 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
US6477170B1 (en) * 1999-05-21 2002-11-05 Advanced Micro Devices, Inc. Method and apparatus for interfacing between systems operating under different clock regimes with interlocking to prevent overwriting of data
US6463521B1 (en) 1999-06-23 2002-10-08 Sun Microsystems, Inc. Opcode numbering for meta-data encoding
DE60039554D1 (de) * 1999-06-25 2008-09-04 Canon Res Ct France S A Verteilte Verwaltung von Datenobjekten in einem Kommunikations-Netzwerk
US6446218B1 (en) * 1999-06-30 2002-09-03 B-Hub, Inc. Techniques for maintaining fault tolerance for software programs in a clustered computer system
US6467012B1 (en) * 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US7124170B1 (en) 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6401175B1 (en) * 1999-10-01 2002-06-04 Sun Microsystems, Inc. Shared write buffer for use by multiple processor units
US6530011B1 (en) * 1999-10-20 2003-03-04 Sandcraft, Inc. Method and apparatus for vector register with scalar values
JP2001167066A (ja) * 1999-12-08 2001-06-22 Nec Corp プロセッサ間通信方法及びマルチプロセッサシステム
US6577311B1 (en) * 1999-12-16 2003-06-10 Picture Iq Corporation Techniques for automatically providing a high-resolution rendering of a low resolution digital image in a distributed network
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
JP2001195230A (ja) * 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
US7137115B2 (en) * 2000-01-25 2006-11-14 Fujitsu Limited Method for controlling multithreading
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
JP3543942B2 (ja) * 2000-03-02 2004-07-21 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
TW501045B (en) * 2000-03-03 2002-09-01 Sony Computer Entertainment Inc Entertainment device and computer system having exchangeability
JP2001319243A (ja) * 2000-03-03 2001-11-16 Sony Computer Entertainment Inc 画像生成装置、画像生成装置におけるジオメトリ処理形態の切換方法、記録媒体、コンピュータプログラム、半導体デバイス
US6631439B2 (en) * 2000-03-08 2003-10-07 Sun Microsystems, Inc. VLIW computer processing architecture with on-chip dynamic RAM
US7080234B2 (en) * 2000-03-08 2006-07-18 Sun Microsystems, Inc. VLIW computer processing architecture having the problem counter stored in a register file register
US6988181B2 (en) * 2000-03-08 2006-01-17 Sun Microsystems, Inc. VLIW computer processing architecture having a scalable number of register files
US6738967B1 (en) * 2000-03-14 2004-05-18 Microsoft Corporation Compiling for multiple virtual machines targeting different processor architectures
US6578155B1 (en) * 2000-03-16 2003-06-10 International Business Machines Corporation Data processing system with adjustable clocks for partitioned synchronous interfaces
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
US6799207B1 (en) * 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
US20030188045A1 (en) * 2000-04-13 2003-10-02 Jacobson Michael B. System and method for distributing storage controller tasks
US6684390B1 (en) * 2000-04-17 2004-01-27 Koninklijke Philips Electronics N.V. Multi-processor JAVA subsystem
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US7103664B1 (en) * 2000-05-31 2006-09-05 International Business Machines Corporation Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
JP4640880B2 (ja) 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
US6892298B2 (en) * 2000-07-26 2005-05-10 Times N Systems, Inc. Load/store micropacket handling system
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6704926B1 (en) 2000-09-28 2004-03-09 International Business Machines Corporation Bimodal Java just-in-time complier
JP2002207685A (ja) * 2000-10-12 2002-07-26 Sony Computer Entertainment Inc 仮想世界システム、サーバコンピュータおよび情報処理装置
US6895479B2 (en) * 2000-11-15 2005-05-17 Texas Instruments Incorporated Multicore DSP device having shared program memory with conditional write protection
US6433043B1 (en) * 2000-11-28 2002-08-13 Transitions Optical, Inc. Removable imbibition composition of photochromic compound and kinetic enhancing additive
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6865631B2 (en) * 2000-12-14 2005-03-08 International Business Machines Corporation Reduction of interrupts in remote procedure calls
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US6748501B2 (en) * 2000-12-30 2004-06-08 International Business Machines Corporation Microprocessor reservation mechanism for a hashed address system
US6751753B2 (en) 2001-02-27 2004-06-15 Sun Microsystems, Inc. Method, system, and program for monitoring system components
US7165108B2 (en) * 2001-03-19 2007-01-16 Sun Microsystems, Inc. Method and apparatus for providing application specific strategies to a JAVA platform including load balancing policies
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
JP3716753B2 (ja) * 2001-03-21 2005-11-16 日本電気株式会社 マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム
US6809734B2 (en) * 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7093104B2 (en) 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6966015B2 (en) 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6922726B2 (en) * 2001-03-23 2005-07-26 International Business Machines Corporation Web accessibility service apparatus and method
US6578128B1 (en) * 2001-03-29 2003-06-10 Emc Corporation Address management for a shared memory region on a multi-processor controller board
US6966057B2 (en) 2001-03-30 2005-11-15 Intel Corporation Static compilation of instrumentation code for debugging support
US7210022B2 (en) 2001-05-15 2007-04-24 Cloudshield Technologies, Inc. Apparatus and method for interconnecting a processor to co-processors using a shared memory as the communication interface
JP2003033576A (ja) * 2001-05-18 2003-02-04 Sony Computer Entertainment Inc エンタテインメントシステム、通信システム、通信プログラム、通信プログラムを格納したコンピュータ読み取り可能な記録媒体、及び通信方法
US20030056207A1 (en) * 2001-06-06 2003-03-20 Claudius Fischer Process for deploying software from a central computer system to remotely located devices
KR100441115B1 (ko) 2001-06-27 2004-07-19 주식회사 인터와이즈 정보 단말기의 자바 프로그램 처리 속도 향상을 위한 자바컴파일 온 디멘드 서비스 시스템 및 그 방법
US7178145B2 (en) * 2001-06-29 2007-02-13 Emc Corporation Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system
US6862608B2 (en) * 2001-07-17 2005-03-01 Storage Technology Corporation System and method for a distributed shared memory
US6839828B2 (en) * 2001-08-14 2005-01-04 International Business Machines Corporation SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
JP2003140912A (ja) 2001-10-29 2003-05-16 Sony Corp データ処理システム及びデータ処理方法、並びに記憶媒体
JP3673245B2 (ja) * 2002-06-28 2005-07-20 株式会社東芝 情報処理装置および同装置における電源制御方法
US7093258B1 (en) * 2002-07-30 2006-08-15 Unisys Corporation Method and system for managing distribution of computer-executable program threads between central processing units in a multi-central processing unit computer system
US7167916B2 (en) * 2002-08-30 2007-01-23 Unisys Corporation Computer OS dispatcher operation with virtual switching queue and IP queues
JP2004103347A (ja) * 2002-09-09 2004-04-02 Sumitomo Wiring Syst Ltd コネクタ
US7127709B2 (en) 2002-09-25 2006-10-24 Microsoft Corporation System and method for jointly managing dynamically generated code and data
WO2004046950A1 (en) * 2002-11-15 2004-06-03 Infineon Technologies Ag Mailbox interface between processors
US7043579B2 (en) * 2002-12-05 2006-05-09 International Business Machines Corporation Ring-topology based multiprocessor data access bus
US7080242B2 (en) * 2002-12-19 2006-07-18 Hewlett-Packard Development Company, L.P. Instruction set reconciliation for heterogeneous symmetric-multiprocessor systems
US7146542B2 (en) 2002-12-20 2006-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for diagnosis and repair of computer devices and device drivers
US8423976B2 (en) * 2003-03-13 2013-04-16 Northrop Grumman Corporation Extreme pipeline and optimized reordering technology
US20040193838A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Vector instructions composed from scalar instructions
US7114042B2 (en) * 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US6981072B2 (en) * 2003-06-05 2005-12-27 International Business Machines Corporation Memory management in multiprocessor system
US7133978B1 (en) * 2003-06-19 2006-11-07 Xilinx, Inc. Method and apparatus for processing data stored in a memory shared among a plurality of processors
US7472112B2 (en) 2003-06-23 2008-12-30 Microsoft Corporation Distributed query engine pipeline method and system
US7134007B2 (en) * 2003-06-30 2006-11-07 Intel Corporation Method for sharing firmware across heterogeneous processor architectures
US7200689B2 (en) * 2003-07-31 2007-04-03 International Business Machines Corporation Cacheable DMA
US20050028148A1 (en) * 2003-08-01 2005-02-03 Sun Microsystems, Inc. Method for dynamic recompilation of a program
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
US6981074B2 (en) * 2003-10-14 2005-12-27 Broadcom Corporation Descriptor-based load balancing
US7321958B2 (en) * 2003-10-30 2008-01-22 International Business Machines Corporation System and method for sharing memory by heterogeneous processors
GB2409067B (en) * 2003-12-09 2006-12-13 Advanced Risc Mach Ltd Endianess compensation within a SIMD data processing system
EP1805627B1 (en) * 2004-10-15 2011-02-16 Sony Computer Entertainment Inc. Methods and apparatus for supporting multiple configurations in a multi-processor system
US20060179277A1 (en) * 2005-02-04 2006-08-10 Flachs Brian K System and method for instruction line buffer holding a branch target buffer
US7840954B2 (en) * 2005-11-29 2010-11-23 International Business Machines Corporation Compilation for a SIMD RISC processor
US20070174825A1 (en) * 2006-01-25 2007-07-26 Eichenberger Alexandre E Apparatus and method for optimizing scalar code executed on a SIMD engine by alignment of SIMD slots
US7809925B2 (en) * 2007-12-07 2010-10-05 International Business Machines Corporation Processing unit incorporating vectorizable execution unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180018A (ja) * 1994-12-26 1996-07-12 Toshiba Corp 分散処理システム及び分散処理方法
JPH08249261A (ja) * 1995-03-08 1996-09-27 Mitsubishi Electric Corp メッセージ管理システム

Also Published As

Publication number Publication date
US20050160097A1 (en) 2005-07-21
EP2296090B1 (en) 2013-02-13
EP1370968B1 (en) 2011-11-16
JP2002366533A (ja) 2002-12-20
KR20080108588A (ko) 2008-12-15
US20050138325A1 (en) 2005-06-23
EP2296090A3 (en) 2011-03-23
EP2296090A2 (en) 2011-03-16
US20070168538A1 (en) 2007-07-19
US8091078B2 (en) 2012-01-03
TWI266200B (en) 2006-11-11
KR20030085037A (ko) 2003-11-01
EP1370968A4 (en) 2010-03-03
US20050081181A1 (en) 2005-04-14
JP4455822B2 (ja) 2010-04-21
KR100891063B1 (ko) 2009-03-31
US7392511B2 (en) 2008-06-24
US7496673B2 (en) 2009-02-24
JP2003271570A (ja) 2003-09-26
US20070288701A1 (en) 2007-12-13
US20080256275A1 (en) 2008-10-16
US7233998B2 (en) 2007-06-19
US20050268048A1 (en) 2005-12-01
KR100959748B1 (ko) 2010-05-25
US7720982B2 (en) 2010-05-18
US20080250414A1 (en) 2008-10-09
US7509457B2 (en) 2009-03-24
US20020138637A1 (en) 2002-09-26
WO2002077845A1 (en) 2002-10-03
EP1370968A1 (en) 2003-12-17
US20060190614A1 (en) 2006-08-24
CN1494690A (zh) 2004-05-05
US20070186077A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
CN100412848C (zh) 计算机网络和计算机系统
CN1496516B (zh) 宽带网络计算机体系结构的资源专用系统和方法
CN101040268B (zh) 宽带网络计算机体系结构中的外部数据接口
JP4597553B2 (ja) コンピュータ・プロセッサ及び処理装置
JP4489399B2 (ja) プロセッサでのデータ処理方法及びデータ処理システム
JP4334901B2 (ja) コンピュータ処理システム及びコンピュータで実行される処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1064167

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090327

Address after: Tokyo

Co-patentee after: Toshiba Corp

Patentee after: SONY Computer Entertainment Company

Co-patentee after: International Business Machines Corp.

Address before: Tokyo, Japan

Patentee before: Sony Computer Entertainment Inc.

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1064167

Country of ref document: HK

CX01 Expiry of patent term

Granted publication date: 20080820

CX01 Expiry of patent term