CN1608249A - 多核心多线程处理器 - Google Patents

多核心多线程处理器 Download PDF

Info

Publication number
CN1608249A
CN1608249A CNA028259432A CN02825943A CN1608249A CN 1608249 A CN1608249 A CN 1608249A CN A028259432 A CNA028259432 A CN A028259432A CN 02825943 A CN02825943 A CN 02825943A CN 1608249 A CN1608249 A CN 1608249A
Authority
CN
China
Prior art keywords
processor
core
cores
server
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028259432A
Other languages
English (en)
Other versions
CN1286019C (zh
Inventor
L·D·科恩
K·A·奥卢科顿
M·K·王
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23354532&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1608249(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1608249A publication Critical patent/CN1608249A/zh
Application granted granted Critical
Publication of CN1286019C publication Critical patent/CN1286019C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

在一个实施例中提供一种处理器。该处理器包括至少两个核心,其中每一个核心都包括一个一级高速缓存。每一个核心都被多线程。在另一个实施例中,每一个核心都包括四个线程。在另一个实施例中包括一个纵横开关。提供多个二级缓存区,通过纵横开关与该核心连通。多个缓存区存储器的每一个都与一个主存储器接口连通。在另一个实施例中还包括与多个缓存区存储器连通的一个缓存交换核心。还提供了用于优化一个多线程处理器核心的应用的服务器和方法。

Description

多核心多线程处理器
发明背景
1.发明领域
本发明涉及服务器,尤其涉及用于经过网络把数据供应到客户机的一种处理器结构和方法。
2.相关技术的描述
随互联网的引入而带来的网络蓬勃发展,具有用于服务多客户机的多线程的服务器应用量正在增加。电子商务创造了大企业服务于潜在的数百万消费者的需求。为了支持这种不可阻挡的需求,该服务应用具有的存储器特性不同于用于桌面应用的存储器特性。具体地说,该服务应用要求大的主存储器带宽并且具有相对差的缓存性能,以便适应大量的客户机。
此外,传统的处理器关注的是指令级提高性能的并行性。因此,处理器趋向于很大并且流水线很复杂。结果是,由于处理器,例如INTEL处理器流水线的复杂性,在冲模上仅有一个核心。因此,当出现缓存错过主存储器或某些其它长等待时间事件时,例如分支丢失预测时,通常出现拖延而引起流水线空载。结果是,具有大存储器覆盖区和不良缓存位置和分支可预测性的服务应用程序每线程将有很小的指令级并行性。因此,因为传统的处理器关注在指令级的并行性,所以利用服务器工作负荷的应用程序的传统的处理器的实施方案的特性将导致不良的硬件利用和不必要的功率耗散。
另外,基于指令级并行性的处理器的性能作为冲模尺寸的函数,其功率和复杂性达到了一个饱和点。图1的曲线描述了基于指令级并行性的传统处理器的性能与功率/尺寸之间的关系。如图1曲线100所示,由于该指令级并行性(ILP)结构的约束,增加传统处理器的功率和尺寸将不同时提供性能的线性增加。传统的ILP处理器包括公知处理器,如PENTIUMTM、ITANTUMTM、POWERTM、ULTRASPARCTM等家族。
由前述内容看来,需要一种具有更好地适合于服务应用程序的结构的处理器,其中该结构的构成来开发服务应用程序的多的线程特性。
发明概要
概括地说,本发明通过提供具有构成来高效处理服务器应用程序的一个结构的处理器而满足了这些需要。应该理解,本发明能够以很多方式实施,包含如一个设备、一个系统、一种装置或一个方法。下面描述本发明有创造性的几个实施例。
在一个实施例中提供一种处理器。该处理器包括至少两个核心,其中每一个核心都包括第一级高速缓存。每一个核心都被多线程。在另一个实施例中,每一个核心都包括四个线程。包括一个纵横开关。提供多个二级缓存区,通过纵横开关与该核心连通。多个二级缓存区存储器的每一个都与一个主存储器接口连通。还包括与多个缓存区存储器连通的一个缓存交换核心。
在另一个实施例中,提供一个服务器。该服务器包括一个应用程序处理器芯片。该应用程序处理器芯片包括多个多线程的中央处理单元核心。多个多线程的中央处理单元核心的每一个都包括一个一级高速缓存。该应用程序处理器芯片包括一个纵横开关和多个通过该纵横开关与该核心连通的缓存区存储器。多个二级缓存区存储器的每一个都与一个主存储器接口连通。该应用程序处理器芯片包括与多个缓存区存储器的每一个连通的一个缓存交换核心。
在另一实施例中,提供了用于优化一个多线程处理器核心的利用方法。该方法以通过一个第一线程操作接入一个处理器的操作开始。随后,在该第一线程操作已经完成接入该处理器核心之后,经过该第一线程执行一个长等待操作。随后中止该第一线程。随后,标识和选择准备接入该处理器核心的第二线程操作。在该背景下该第一线程执行该长等待时间操作的同时,通过该处理器核心处理该第二线程操作。
从下列结合附图的以实例的方式对本发明原理的详细描述中,本发明的其它方面和优点将变得显见。
附图描述
通过下面结合附图的详述描述将容易理解本发明,并且相同的参考数字表示相同的结构成分。
图1的曲线描述了基于指令级并行性的传统处理器的性能与功率/尺寸之间的关系。
图2是根据本发明一个实施例的服务器的高级简化示意图,利用具有基于线程等级并行性(TLP)的结构的一个处理器。
图3是根据本发明一个实施例的具有利用多线程的多个处理核心的处理器芯片的简化示意图,其中每一个核心都包括一级缓存和多核心共享的二级缓存。
图4是根据本发明一个实施例的具有8个多线程处理器核心的一个处理器芯片的更详细的示意图。
图5是根据本发明一个实施例的具有32个多线程处理器核心的一个处理器芯片的更详细的示意图。
图6是图5的处理器芯片的一种可选示意表示。
图7是根据本发明一个实施例的利用具有四个线程的一个处理器核心的流水线的图形表示。
图8是根据本发明一个实施例的按在一个线程中执行的流水线顺序用于单一发送的流水线级的简化示意图。
图9是根据本发明一个实施例的用于优化多线程处理器核心的利用的操作方法的流程图。
最佳实施例的详细描述
下面描述用于提高运行商业应用程序工作负荷的处理器的吞吐量和效率的设备和方法的一个发明。但是本专业技术人员显然知道本发明本发明可以在没有这些详细说明的某些或全部的条件下实践。在其它情况中,没有详细描述公知的处理操作,以便避免不必要地淡化本发明。其中使用的术语‘大约’是指对应值的+/-10%的范围。
在此描述的实施例具有在一个芯片上的多个简单的核心,其中每一个核心都具有其自己的一级缓存,并且该核心通过一个纵横开关而共享一个二级缓存。另外,每一核心都具有两个或多个线程。通过多线程,隐藏了由于存储器加载、缓存丢失、分支和其它长等待时间事件引起的等待时间。在一个实施例中,长等待时间指令使得一个线程被中止直到指令的结果被准备好为止。随即选择被保持准备好在该核心上运行线程的指令的结果,在随后的时钟上在该流水线中执行(不引入内容转换的额外开销)。在一个实施例中,一种编排算法在该准备好的指令当中选择,以便在每一个核心运行线程。因此,由于在该背景中执行该长等待时间事件并且该中央处理单元的使用由该多线程所优化,所以实现一种高吞吐量的结构。
图2是根据本发明一个实施例的服务器的高级简化示意图,利用具有基于线程等级并行性(TLP)的结构的一个处理器。服务器110包括处理器112,例如一种中央处理单元(CPU)。处理器112包括在一个芯片上的多个核心,其中多个核心的每一个都具有两个或多个线程,如下面将更详细地解释的那样。服务器110与例如互联网络114的一个分布式网络连通,使得服务器110能够连通1-n个客户机116a-116n。在一个实施例中,服务器110是用于一个商业应用程序的服务器,例如应用服务器应用程序、数据库应用程序等。
图3是根据本发明一个实施例的具有利用多线程的多个处理核心的处理器芯片的简化示意图,其中每一个核心都包括一级缓存和多核心共享的二级缓存。处理器芯片112包括处理器核心0至n,118-1至118-n。在一个实施例中,处理器芯片112包括8个处理器核心,但是应该理解,本发明不局限于8个处理器核心。处理器核心118-1至118-n的每一个都分别包括一级缓存124-1至124-n。每一核心都通过纵横开关120共享二级缓存122。纵横开关120使得能够在处理器核心118-1至118-n和二级缓存122之间沟通。在一个实施例中,纵横开关120被配置来适应在每一个时钟周期上进行的大量独立存取。
图4是根据本发明一个实施例的具有8个多线程处理器核心的一个处理器芯片的更详细的示意图。线程核心118-1至118-8的每一个都分别包括一级缓存124-1至124-8。一级缓存124-1包括指令缓存(I$)部分和数据缓存(D$)部分。负载/存储单元128-1包括在线程核心118-1之内。应该理解,处理器核心118-1至118-8的每一个都包括一个指令缓存、一个数据缓存和一个负载存储单元。在另一个实施例中,每一处理器核心都基于本发明受让人的PARC V9结构。处理器核心118-1至118-8的每一个都与纵横开关120连通。针对处理器的业务量优化纵横开关120,其中期望获得很低的等待时间。2级(L2)缓存区122-1至122-4由处理器核心118-1至118-8共享。应该理解,通过共享L2缓存区122-1至122-4,实现同时对多个区的并行存取,从而限定一个高带宽的存储系统。在一个实施例中,每一个L2缓存区具有大约1兆字节(MM)的大小。应该理解,虽然图4示出了四个L2缓存区122-1至122-4,但是本发明不局限于四个L2缓存区。即,L2缓存区的数量足以提供来自L2缓存充足带宽,以便保持大部分情况下的所有的核心的占用。在一个实施例中,每一个处理器核心包括4个线程。因此,具有八个核心的单个处理器芯片将在此结构中具有32个线程。L2缓存区122-1至122-4的每一个都与主存储器接口126-1至126-4连通,以便提供对主存储器的接入。应该理解,由于图4是示例性的而不是限制,所以虽然在处理器芯片上描述了8个核心,但是能够包括更多或更少的核心。对本专业技术人员显见的是,由该互连结构,即纵横开关120和缓冲交换核心130提供的功能可以通过适于在缓存区122-1至122-4、处理核心118-1至118-8和I/O装置132-1至132-n之间处理信号的等效的并且在本专业公知的结构来提供。
仍然参考图4,缓存器交换核心(BSC)130是一个被优化来对该主存储器提供用于I/O直接存储器存取(DMA)事务处理的最大带宽的一个单元。在一个实施例中,由于不同的I/O装置和与BSC 130连通的I/O接口,BSC 130的转换结构可以起到一个DMA业务开关的作用,用于控制若干端口。在另一个实施例中,BSC 130实现执行存储器排队。BSC 130包括配置用于把各种不同I/O接口通过I/O端口连通并且缓冲由I/O装置产生的DMA业务的电路。缓存的信号被排队,然后发送到L2缓存区122-1至122-4中。反过来,L2缓存区122-1至122-4保持着在L2缓存区中的数据和在主存储器中的对应数据之间的连贯性。
在一个实施例中,包括图4的BCS 130 L2缓存区122-1至122-4和主存储器接口126-1至126-4的通道被用于执行在I/O装置132-1至132-n以及主存储器之间的直接存储器存取(DMA)。为了控制对该I/O装置的寄存器访问,在纵横开关120上的一个附加端口与I/O桥接器134连通,I/O桥接器134又与I/O装置132-1至132-n连通。因此,处理器核心118-1至118-8实现对I/O装置132-1至132-n的任何之一中的寄存器的直接存取而不通过存储器。例如,处理器核心118-1至118-8之一可以发送一个加载指令到纵横开关120。然后纵横开关120把该信号发送到I/O桥接器134,而不是L2缓存区122-1至122-4。然后I/O桥接器134产生对应于I/O装置132-1至132-n的一个事务处理,以便获得必要的数据。一旦数据已经由I/O桥接器134接收,则该数据被发送回到纵横开关120,并且随后发送到分别的处理器核心118-1至118-8。因此,处理器核心118-1至118-8的任何之一、或处理器核心的任意线程都能够访问I/O装置132-1至132-n,同时旁路L2缓存区122-1至122-4,以便编程该I/O装置用于DMA传送。对本专业技术人员显见的是,在执行DMA传送之前,某些参数必须被设置在I/O装置132-1至132-n中。在I/O装置132-1至132-n中设置的参数示例包括传输长度、传送地址和传送数目等。在一个实施例中,I/O桥接器134处理控制信号,例如指令建立控制信号和读出一个状态。因此,在I/O装置132-1至132-n、I/O桥接器134和纵横开关120之间的通道定义了一个控制路径。在纵横开关120、缓存区122-1至122-4、BSC130和主存储器接口126-1至126-4之间定义的通道限定了一个数据通道。
图5是根据本发明一个实施例的具有32个多线程处理器核心的一个处理器芯片的更详细的示意图。其中,在处理器芯片140上提供了4组处理器核心118a1-118a8、118b1-118b8、118c1-118c8、和118d1-118d8。四组的每一个都包括8个核心。在一个实施例中,每一个处理器核心都包括四个线程,因此在本实施例中的处理器芯片140包括线程的总数为128。当然,每一处理器能够包括更多或更少的线程,并且在该处理器芯片上能够包括更多或更少的处理器核心。如上参照图4所述,针对处理器核心的每一组的数据通道通过纵横开关120、分别的L2缓存区122a1-122a4、122b1-122b4、122c1-122c4和122d1-122d4、缓冲交换核心(BSC)130以及分别的主存储器接口126a1-126a4、126b1-126b4、126c1-126c4和126d1-126d4来定义。应该理解,由于说明的局限性该BSC130被示出了四次。即,其中单一BSC 130把全部的I/O装置132a1-132an、132b1-132bn、132c1-132cn和132d1-132dn连接到二级缓存区122a1-122a4、122b1-122b4、122c1-122c4和122d1-122d4的每一个。同样,针对每一处理器核心组的控制通道通过纵横开关120、I/O桥接器134、以及分别的I/O装置132a1-132an、132b1-132bn、132c1-132cn和132d1-132dn定义。如将在下面更详细地解释的那样,通过使用按顺序执行的单一发出流水线而针对每一处理器核心来优化功率和冲模尺寸比性能的折衷。因此,通过提供具有多线程的多个简单核心来增加该性能,其中线程等级并行性结合一个简化的流水线,使得该处理器芯片能够安装在一个更小的冲模上,消耗比基于指令级并行性的一个传统处理器更少的功率。
图6是图5的处理器芯片的一种可选示意表示。其中,纵横开关120与数据通道144a-144d、BSC 130和L2缓存区122连通。应该理解,由于以二维示出此结构的限制,仅示出两组缓存区122。提供另外两个没示出的缓存区,使得数据通道144a-144d的每一个都与一个缓存区相关。以太网接口142a和142b提供了对于分布式网络的接入。在一个实施例中,以太网接口142a和142b是吉比特以太网接口。一级高速缓存146a-146d被提供用于每一个处理器核心与数据通道144a-144d的关联。
图7是根据本发明一个实施例的针对具有四个线程的一个处理器核心的高吞吐量结构的图形表示。线程0使用中央处理单元(CPU)然后在存储器中启动。例如,一个长等待时间事件可能使得该线程在存储器中启动。在线程0在存储器中启动的同时,线程1接入CPU,用于线程3和4的每一个。应该理解,在存储器中的启动的线程的操作是在该背景中执行的。而且,由于在此描述的存储系统是一个并行存储器系统,所以能够同时出现多个基准。因此,以一种交错技术按核心优化CPU的使用。流水线复杂性较低,即单一发出流水线而没有指令级并行性,并且能够在与传统指令级并行流水线相同的区域被复制若干次。本质上,该流水线重叠该多线程的执行来最大化CPU流水线的利用。
图8是根据本发明一个实施例的按在一个线程中执行的流水线顺序用于单一发送的流水线级的简化示意图。流水线的第一级是取指令,其中获得一个指令。流水线的第二级是解码级,也称作一个寄存器取出级,其中解码指令操作码、运算信源/目的地以及控制信号。第三级是切换级,选择一个线程以便发送到属于是该流水线的第四级的该执行级,在每一个时钟周期执行。应该理解,如上所述该处理器核心具有四个线程,四个硬件线程被提供用于级1-3。在一个实施例中,针对在级4中的负载和存储指令计算有效地址。在另一个实施例中,贯穿全部级1-6,以任何一个级处理一个指令,即该流水线属于是单一发出流水线,与传统的ILP处理器相反,其中在对应的级可能存在一个以上的指令。级5是寄存器误码校正级,而级6是写回级,其中一个具体线程的结果被写到一个寄存器文件。
图9是根据本发明一个实施例的用于优化多线程处理器核心的利用的操作方法的流程图。该方法以操作160启始,其中通过一个第一线程操作接入一个处理器。应该理解,该处理器核心是一个多线程核心,具有如上所述的至少两个线程。该方法随后进到操作162,其中在该第一线程操作已经完全接入该处理器核心之后,执行一个长等待时间操作。例如,该线程可被按照参照图7讨论的那样被启动。该长等待时间操作包括一个缓存丢失、一个分支和一个浮点操作。然后该方法进到操作164,中止该第一线程。如参考图7提到的那样,在该背景中正在运行存储器中同时启动的第一线程。该方法随后进入操作166,其中标识准备好接入该处理器核心的一个第二线程操作。如参考图8提到的那样,在该流水线的交换级标识和选择该第二线程操作。在一个实施例中,一种编排算法被用于选择该第二线程。该方法随后进到操作168,其中通过处理器核心处理该第二线程操作,同时在该背景中执行与该第一线程相关的长等待时间操作,例如在存储器中的启动。当然,可从第二线程发送多个指令,直到该第一线程的长等待时间指令结束为止。因此,多个线程被重叠以便最大化流水线使用。
总之,上述实施例提供了在一个芯片上的多个核心,其中每一个核心都至少具有两个线程。该多线程的多个核心限定一个高吞吐量结构,构成来高效支持能够服务若干客户的一个服务器应用程序。另外,该结构开发一个服务器应用程序的多个线程。在一个实施例中,由于该线程级并行性以及该简化的流水线,即单一发出流水线,简化了该处理器的结构。
而且本发明可以利用其它计算机系统结构实践,包括手持装置、微处理机系统、以微处理机为基础或可编程的消费电子装置、小型计算机、大型计算机等。本发明还可以在分布式计算环境中实践,其中通过经贯穿一个络链接的远程处理装置执行任务。
考虑上述的实施例,应该理解,本发明可以采用包括存储在计算机系统中的数据的各种计算机执行的操作。这些操作是物理量所需要的物理操作。尽管不是必须,但这些量通常采用的是能够由存储、传输、组合、比较以及其它操作所处理得电或磁信号的形式。而且,执行的操作时常称之为例如产生、标识、确定或比较。
在此描述的形成本发明一部分的任何操作都是有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。该设备可以是用于需要用途的专门构成的设备,或可以是一个通用计算机,由存储在该计算机中的一个计算机程序有选择地启动或配置。具体地说,利用根据在此指教的计算机程序的写入而可以使用各种常规用途的计算机,或可以更方便地构成一个多专用设备来执行需要的操作。
虽然为了清晰理解的目的已经相当详细地描述了上述发明,但是在所附的权利要求书的范围之内显见将有某些改变和改进可以实践。因此,该本实施例被认为被说明性的而不是限制性的,并且本发明将并不局限于其中给出的细节,而是可以在所附的权利要求书的等效范围之内修改。

Claims (20)

1.一种处理器,包括:
至少两个核心,该至少两个核心的每一个都具有一级高速缓存,该至少两个核心的每一个都是多线程的核心;
一个互连结构;
通过该互连结构与该至少两个核心连通的多个缓存区存储器,多个缓存区内存的每一个都与一个主存储器接口连通。
2.权利要求1的处理器,其中该互连结构包括与多个缓存区存储器和至少两个核心连通的一个纵横开关,以及与多个缓存区存储器的每一个连通的一个缓存器交换核心。
3.权利要求2的处理器,进一步包括:
与该纵横开关和一个输入输出设备连通的一个输入/输出桥接器,该输入/输出桥接器实现控制寄存器与该输入/输出装置的传送。
4.权利要求2的处理器,其中该缓存器交换核心实现直接存储器存取。
5.权利要求1的处理器,其中该一级高速缓存包括一个指令缓存单元和一个数据缓存单元。
6.权利要求1的处理器,其中与该至少两个核心相关的每一个线程被构成在一个流水线上运行。
7.权利要求5的处理器,其中该流水线是单一发出流水线。
8.权利要求1的处理器,其中该缓存区存储器是单一端口的静态随机存取存储器。
9.一种服务器,包括:
一个应用程序处理器芯片,该应用程序处理器芯片包括:
多个多线程的中央处理单元核心,该多个多线程的中央处理单元核心的每一个都具有一个一级高速缓存;
一个互连结构;
通过该互连结构与该至少两个核心连通的多个缓存区存储器,多个缓存区内存的每一个都与一个主存储器接口连通。
10.权利要求9的服务器,其中该互连结构包括与多个缓存区存储器和多个多线程的中央处理单元核心的每一个连通的一个纵横开关,以及与多个缓存区存储器的每一个连通的一个缓存器交换核心。
11.权利要求9的服务器,其中该服务器是从包括Web服务器、应用服务器和数据库服务器的组中所选的服务器。
12.权利要求10的服务器,其中该应用程序处理器芯片包括:与纵横开关和输入输出设备连通的一个输入/输出桥接器,该输入/输出桥接器实现控制寄存器与该输入/输出设备的传送。
13.权利要求9的服务器,其中该一级高速缓存包括一个指令缓存单元和一个数据缓存单元。
14.权利要求9的服务器,该中央处理单元核心的每一个线程被构成来在单一发出流水线上运行。
15.用于优化一个多线程处理器核心的应用的方法,包括步骤:
通过一个第一线程操作接入一个处理器核心;
通过该第一线程发出一个长等待时间操作;
中止该第一线程;
标识一个第二线程操作准备好接入该处理器核心;和
通过该处理器核心处理该第二线程操作,同时该第一线程执行在该背景中的长等待时间操作。
16.权利要求15的方法,其中标识一个第二线程操作准备好接入该处理器核心的方法操作包括步骤:
根据一个编排算法选择该第二线程操作。
17.权利要求15的方法,其中核心包括四个线程。
18.权利要求15的方法,进一步包括步骤:
提供具有八个处理器核心的一个集成电路芯片,其中每一个处理器核心都包括四个线程。
19.权利要求15的方法,其中中止该第一线程的方法操作包括步骤;
从该长等待时间操作获得一个结果;和
在从该长等待时间操作获得该结果之后,指示该第一线程已准备好在该处理器核心上运行。
20.权利要求15的方法,其中该多线程处理器核心的每一个线程被配置为使用按顺序执行的单一发出流水线。
CNB028259432A 2001-10-22 2002-10-21 多核心多线程处理器 Expired - Fee Related CN1286019C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34531501P 2001-10-22 2001-10-22
US60/345,315 2001-10-22

Publications (2)

Publication Number Publication Date
CN1608249A true CN1608249A (zh) 2005-04-20
CN1286019C CN1286019C (zh) 2006-11-22

Family

ID=23354532

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028259432A Expired - Fee Related CN1286019C (zh) 2001-10-22 2002-10-21 多核心多线程处理器

Country Status (10)

Country Link
US (7) US7248585B2 (zh)
EP (6) EP1442355B1 (zh)
JP (6) JP3789454B2 (zh)
KR (6) KR20040083464A (zh)
CN (1) CN1286019C (zh)
AT (1) ATE518192T1 (zh)
AU (2) AU2002335878A1 (zh)
DE (4) DE60236309D1 (zh)
TW (1) TWI240163B (zh)
WO (6) WO2003036450A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452757C (zh) * 2006-10-12 2009-01-14 杭州华三通信技术有限公司 报文转发方法和装置
CN100458757C (zh) * 2005-07-28 2009-02-04 大唐移动通信设备有限公司 嵌入式实时操作系统中多核处理器的核间通信方法及装置
CN101799750A (zh) * 2009-02-11 2010-08-11 上海芯豪微电子有限公司 一种数据处理的方法与装置
CN101350010B (zh) * 2007-07-20 2011-08-17 迈普通信技术股份有限公司 一种哈希表的操作方法
US8200900B2 (en) 2008-05-28 2012-06-12 Fujitsu Limited Method and apparatus for controlling cache memory
CN101405706B (zh) * 2006-03-23 2012-08-22 英特尔公司 弹性地保持多核处理器的状态信息
CN102783090A (zh) * 2009-12-23 2012-11-14 思杰系统有限公司 用于多核系统中的对象速率限制的系统和方法
CN101960418B (zh) * 2008-03-26 2013-04-24 英特尔公司 多核计算系统和用于控制对共享资源的访问的方法
CN104572275A (zh) * 2013-10-23 2015-04-29 华为技术有限公司 一种进程加载方法、装置及系统

Families Citing this family (354)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2728559B1 (fr) * 1994-12-23 1997-01-31 Saint Gobain Vitrage Substrats en verre revetus d'un empilement de couches minces a proprietes de reflexion dans l'infrarouge et/ou dans le domaine du rayonnement solaire
US7600131B1 (en) 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip
EP1272479A2 (en) * 2000-03-30 2003-01-08 The Penn State Research Foundation Novel compounds for enhancing chemotherapy
US7013302B2 (en) * 2000-12-22 2006-03-14 Nortel Networks Limited Bit field manipulation
US7529242B1 (en) * 2002-02-15 2009-05-05 Symantec Corporation Routing network packets for multi-processor network flow analysis
US7400722B2 (en) * 2002-03-28 2008-07-15 Broadcom Corporation Methods and apparatus for performing hash operations in a cryptography accelerator
US7415723B2 (en) * 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
US7944920B2 (en) * 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
US7631107B2 (en) * 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
US20040010781A1 (en) * 2002-07-12 2004-01-15 Maly John Warren Parameter parsing system
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US20050044324A1 (en) * 2002-10-08 2005-02-24 Abbas Rashid Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads
US7461215B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor with implementation of memory ordering on a ring based data movement network
US7924828B2 (en) * 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US8015567B2 (en) * 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US20050033889A1 (en) * 2002-10-08 2005-02-10 Hass David T. Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US20040103248A1 (en) * 2002-10-08 2004-05-27 Hass David T. Advanced telecommunications processor
US8176298B2 (en) * 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US20050033831A1 (en) * 2002-10-08 2005-02-10 Abbas Rashid Advanced processor with a thread aware return address stack optimally used across active threads
US7467243B2 (en) * 2002-10-08 2008-12-16 Rmi Corporation Advanced processor with scheme for optimal packet flow in a multi-processor system on a chip
US7461213B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor system using request, data, snoop, and response rings
US9088474B2 (en) * 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US7346757B2 (en) * 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US8478811B2 (en) * 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7627721B2 (en) * 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US7961723B2 (en) * 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7984268B2 (en) * 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US7673118B2 (en) * 2003-02-12 2010-03-02 Swarztrauber Paul N System and method for vector-parallel multiprocessor communication
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7502943B2 (en) 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7925891B2 (en) 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7539876B2 (en) 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US8060755B2 (en) 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7519833B2 (en) 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7529368B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7392400B2 (en) 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7529367B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7844053B2 (en) 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7536560B2 (en) 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7392399B2 (en) * 2003-05-05 2008-06-24 Sun Microsystems, Inc. Methods and systems for efficiently integrating a cryptographic co-processor
CA2467140A1 (en) * 2003-05-12 2004-11-12 Auckland Uniservices Limited An integrity mechanism for file transfer in communications networks
US20040230813A1 (en) * 2003-05-12 2004-11-18 International Business Machines Corporation Cryptographic coprocessor on a general purpose microprocessor
US8266379B2 (en) * 2003-06-02 2012-09-11 Infineon Technologies Ag Multithreaded processor with multiple caches
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US8730923B2 (en) * 2003-06-11 2014-05-20 Alcatel Lucent Method for controlling resource allocation in a wireless communication system
JP3761544B2 (ja) 2003-06-25 2006-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
US7996839B2 (en) * 2003-07-16 2011-08-09 Hewlett-Packard Development Company, L.P. Heterogeneous processor core systems for improved throughput
US7873785B2 (en) * 2003-08-19 2011-01-18 Oracle America, Inc. Multi-core multi-thread processor
US20050044320A1 (en) * 2003-08-19 2005-02-24 Sun Microsystems, Inc. Cache bank interface unit
US8463996B2 (en) * 2003-08-19 2013-06-11 Oracle America, Inc. Multi-core multi-thread processor crossbar architecture
US7133950B2 (en) 2003-08-19 2006-11-07 Sun Microsystems, Inc. Request arbitration in multi-core processor
EP1522923A3 (fr) * 2003-10-08 2011-06-22 STMicroelectronics SA Architecture de processeur à plusieurs contextes d'exécution simultanés
US7536692B2 (en) * 2003-11-06 2009-05-19 Intel Corporation Thread-based engine cache partitioning
US7617241B2 (en) * 2003-11-07 2009-11-10 Rmi Corporation Method and apparatus for enhanced hashing
US8516179B2 (en) * 2003-12-03 2013-08-20 Digital Rna, Llc Integrated circuit with coupled processing cores
US7222299B1 (en) * 2003-12-19 2007-05-22 Google, Inc. Detecting quoted text
US7007128B2 (en) * 2004-01-07 2006-02-28 International Business Machines Corporation Multiprocessor data processing system having a data routing mechanism regulated through control communication
US7308558B2 (en) * 2004-01-07 2007-12-11 International Business Machines Corporation Multiprocessor data processing system having scalable data interconnect and data routing mechanism
US7634655B2 (en) * 2004-02-13 2009-12-15 Microsoft Corporation Efficient hash table protection for data transport protocols
US7564381B1 (en) * 2004-02-16 2009-07-21 Cisco Technology, Inc. System and method for code-based compression in a communications environment
US8028164B2 (en) * 2004-03-19 2011-09-27 Nokia Corporation Practical and secure storage encryption
US7292591B2 (en) 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7649879B2 (en) * 2004-03-30 2010-01-19 Extreme Networks, Inc. Pipelined packet processor
US7580350B1 (en) 2004-03-30 2009-08-25 Extreme Networks, Inc. System for deriving packet quality of service indicator
US7889750B1 (en) 2004-04-28 2011-02-15 Extreme Networks, Inc. Method of extending default fixed number of processing cycles in pipelined packet processor architecture
US7480302B2 (en) * 2004-05-11 2009-01-20 Samsung Electronics Co., Ltd. Packet classification method through hierarchical rulebase partitioning
KR100594755B1 (ko) * 2004-05-11 2006-06-30 삼성전자주식회사 계층적 룰베이스 분할을 통한 패킷 분류 방법
US7418582B1 (en) 2004-05-13 2008-08-26 Sun Microsystems, Inc. Versatile register file design for a multi-threaded processor utilizing different modes and register windows
US7664810B2 (en) * 2004-05-14 2010-02-16 Via Technologies, Inc. Microprocessor apparatus and method for modular exponentiation
US20060041715A1 (en) * 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect
US7369557B1 (en) * 2004-06-03 2008-05-06 Cisco Technology, Inc. Distribution of flows in a flow-based multi-processor system
US7760719B2 (en) 2004-06-30 2010-07-20 Conexant Systems, Inc. Combined pipelined classification and address search method and apparatus for switching environments
US7509484B1 (en) 2004-06-30 2009-03-24 Sun Microsystems, Inc. Handling cache misses by selectively flushing the pipeline
US7543132B1 (en) 2004-06-30 2009-06-02 Sun Microsystems, Inc. Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes
US7571284B1 (en) 2004-06-30 2009-08-04 Sun Microsystems, Inc. Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor
US20060009265A1 (en) * 2004-06-30 2006-01-12 Clapper Edward O Communication blackout feature
US7366829B1 (en) 2004-06-30 2008-04-29 Sun Microsystems, Inc. TLB tag parity checking without CAM read
US7290116B1 (en) 2004-06-30 2007-10-30 Sun Microsystems, Inc. Level 2 cache index hashing to avoid hot spots
US7519796B1 (en) 2004-06-30 2009-04-14 Sun Microsystems, Inc. Efficient utilization of a store buffer using counters
US7492763B1 (en) * 2004-07-16 2009-02-17 Applied Micro Circuits Corporation User-specified key creation from attributes independent of encapsulation type
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7594081B2 (en) * 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
EP1794979B1 (en) * 2004-09-10 2017-04-12 Cavium, Inc. Selective replication of data structure
US9626194B2 (en) 2004-09-23 2017-04-18 Intel Corporation Thread livelock unit
US7748001B2 (en) * 2004-09-23 2010-06-29 Intel Corporation Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7564847B2 (en) * 2004-12-13 2009-07-21 Intel Corporation Flow assignment
US7920701B1 (en) 2004-12-15 2011-04-05 Nvidia Corporation System and method for digital content protection
US8473750B2 (en) * 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
US8756605B2 (en) 2004-12-17 2014-06-17 Oracle America, Inc. Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
US7937709B2 (en) 2004-12-29 2011-05-03 Intel Corporation Synchronizing multiple threads efficiently
US7430643B2 (en) * 2004-12-30 2008-09-30 Sun Microsystems, Inc. Multiple contexts for efficient use of translation lookaside buffer
US8719819B2 (en) 2005-06-30 2014-05-06 Intel Corporation Mechanism for instruction set based thread execution on a plurality of instruction sequencers
US7428619B2 (en) * 2005-01-18 2008-09-23 Sony Computer Entertainment Inc. Methods and apparatus for providing synchronization of shared data
US7426649B2 (en) * 2005-02-09 2008-09-16 International Business Machines Corporation Power management via DIMM read operation limiter
US7421598B2 (en) * 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7769858B2 (en) * 2005-02-23 2010-08-03 International Business Machines Corporation Method for efficiently hashing packet keys into a firewall connection table
US7443878B2 (en) 2005-04-04 2008-10-28 Sun Microsystems, Inc. System for scaling by parallelizing network workload
US7716377B2 (en) * 2005-05-25 2010-05-11 Harris Steven T Clustering server providing virtual machine data sharing
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US7639613B1 (en) * 2005-06-24 2009-12-29 Packeteer, Inc. Adaptive, flow-based network traffic measurement and monitoring system
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US7386656B2 (en) * 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US7472220B2 (en) * 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US20070005899A1 (en) * 2005-06-30 2007-01-04 Sistla Krishnakanth V Processing multicore evictions in a CMP multiprocessor
US8407432B2 (en) * 2005-06-30 2013-03-26 Intel Corporation Cache coherency sequencing implementation and adaptive LLC access priority control for CMP
US20070086456A1 (en) * 2005-08-12 2007-04-19 Electronics And Telecommunications Research Institute Integrated layer frame processing device including variable protocol header
GB2444663B (en) 2005-09-02 2011-12-07 Metaram Inc Methods and apparatus of stacking drams
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US7159082B1 (en) * 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US7984180B2 (en) 2005-10-20 2011-07-19 Solarflare Communications, Inc. Hashing algorithm for network receive filtering
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US20070124728A1 (en) * 2005-11-28 2007-05-31 Mark Rosenbluth Passing work between threads
WO2007067562A2 (en) * 2005-12-06 2007-06-14 Boston Circuits, Inc. Methods and apparatus for multi-core processing with dedicated thread management
KR100893980B1 (ko) * 2005-12-14 2009-04-20 엔비디아 코포레이션 칩세트 보안 오프로드 엔진
US7750915B1 (en) * 2005-12-19 2010-07-06 Nvidia Corporation Concurrent access of data elements stored across multiple banks in a shared memory resource
US20070168377A1 (en) * 2005-12-29 2007-07-19 Arabella Software Ltd. Method and apparatus for classifying Internet Protocol data packets
US7817633B1 (en) 2005-12-30 2010-10-19 Extreme Networks, Inc. Method of providing virtual router functionality through abstracted virtual identifiers
US7725624B2 (en) * 2005-12-30 2010-05-25 Intel Corporation System and method for cryptography processing units and multiplier
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US20070157030A1 (en) * 2005-12-30 2007-07-05 Feghali Wajdi K Cryptographic system component
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
US7900022B2 (en) * 2005-12-30 2011-03-01 Intel Corporation Programmable processing unit with an input buffer and output buffer configured to exclusively exchange data with either a shared memory logic or a multiplier based upon a mode instruction
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7610330B1 (en) * 2006-03-30 2009-10-27 Packeteer, Inc. Multi-dimensional computation distribution in a packet processing device having multiple processing architecture
CN100407705C (zh) * 2006-04-12 2008-07-30 华为技术有限公司 一种路由器控制方法和系统
WO2007123520A1 (en) 2006-04-21 2007-11-01 Sun Microsystems, Inc. Method and system for scaling by parallelizing network workload
US7852850B2 (en) * 2006-04-26 2010-12-14 Marvell Israel (M.I.S.L.) Ltd. Double-hash lookup mechanism for searching addresses in a network device
US7865694B2 (en) * 2006-05-12 2011-01-04 International Business Machines Corporation Three-dimensional networking structure
EP1858228A1 (en) * 2006-05-16 2007-11-21 THOMSON Licensing Network data storage system with distributed file management
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
DE102006025133A1 (de) * 2006-05-30 2007-12-06 Infineon Technologies Ag Speicher- und Speicherkommunikationssystem
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7584286B2 (en) 2006-06-28 2009-09-01 Intel Corporation Flexible and extensible receive side scaling
EP2035928A2 (en) * 2006-06-30 2009-03-18 Symbol Technologies, Inc. Systems and methods for processing data packets using a multi-core abstraction layer (mcal)
US20080002681A1 (en) * 2006-06-30 2008-01-03 Symbol Technologies, Inc. Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL)
US20080002702A1 (en) * 2006-06-30 2008-01-03 Symbol Technologies, Inc. Systems and methods for processing data packets using a multi-core abstraction layer (MCAL)
KR100724527B1 (ko) * 2006-07-11 2007-06-04 이평범 농산물의 잔류 농약을 제거한 파우더의 제조 방법 및 그제조 시스템
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7493439B2 (en) * 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
WO2008045341A1 (en) * 2006-10-05 2008-04-17 Arc International Inter-processor communication method
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
WO2008050248A2 (en) * 2006-10-27 2008-05-02 Nokia Corporation System and method for improved broadband wireless gateway reliability
US8356361B2 (en) * 2006-11-07 2013-01-15 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
CN101043446A (zh) * 2007-03-08 2007-09-26 华为技术有限公司 数据转发处理的方法和装置
US8095782B1 (en) 2007-04-05 2012-01-10 Nvidia Corporation Multiple simultaneous context architecture for rebalancing contexts on multithreaded processing cores upon a context change
US7979683B1 (en) * 2007-04-05 2011-07-12 Nvidia Corporation Multiple simultaneous context architecture
PL1997737T3 (pl) * 2007-05-11 2010-11-30 Sca Hygiene Prod Ab Urządzenie pakujące i podające do grupowania wyrobów
US7552241B2 (en) * 2007-05-18 2009-06-23 Tilera Corporation Method and system for managing a plurality of I/O interfaces with an array of multicore processor resources in a semiconductor chip
US7840821B2 (en) * 2007-05-18 2010-11-23 Globalfoundries Inc. Method and apparatus for monitoring energy consumption of an electronic device
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US20090034734A1 (en) * 2007-07-31 2009-02-05 Viasat, Inc. Multi-Level Key Manager
US20090064287A1 (en) * 2007-08-28 2009-03-05 Rohati Systems, Inc. Application protection architecture with triangulated authorization
US8082482B2 (en) 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US7840748B2 (en) * 2007-08-31 2010-11-23 International Business Machines Corporation Buffered memory module with multiple memory device data interface ports supporting double the memory capacity
US7818497B2 (en) * 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
US7584308B2 (en) * 2007-08-31 2009-09-01 International Business Machines Corporation System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel
US7899983B2 (en) * 2007-08-31 2011-03-01 International Business Machines Corporation Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US7861014B2 (en) * 2007-08-31 2010-12-28 International Business Machines Corporation System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel
US7865674B2 (en) * 2007-08-31 2011-01-04 International Business Machines Corporation System for enhancing the memory bandwidth available through a memory module
US7558887B2 (en) * 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
US8019919B2 (en) 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
KR100899526B1 (ko) * 2007-09-07 2009-05-27 삼성네트웍스 주식회사 다중 프로세서 기반의 패킷 처리 장치 및 방법
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US7890472B2 (en) 2007-09-18 2011-02-15 Microsoft Corporation Parallel nested transactions in transactional memory
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
IL187038A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure data processing for unaligned data
US20090119114A1 (en) * 2007-11-02 2009-05-07 David Alaniz Systems and Methods for Enabling Customer Service
US8838817B1 (en) * 2007-11-07 2014-09-16 Netapp, Inc. Application-controlled network packet classification
US8019970B2 (en) * 2007-11-28 2011-09-13 International Business Machines Corporation Three-dimensional networking design structure
US8086825B2 (en) * 2007-12-31 2011-12-27 Advanced Micro Devices, Inc. Processing pipeline having stage-specific thread selection and method thereof
US20090172370A1 (en) * 2007-12-31 2009-07-02 Advanced Micro Devices, Inc. Eager execution in a processing pipeline having multiple integer execution units
US7793080B2 (en) * 2007-12-31 2010-09-07 Globalfoundries Inc. Processing pipeline having parallel dispatch and method thereof
US8375395B2 (en) * 2008-01-03 2013-02-12 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
US7930470B2 (en) * 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
US7930469B2 (en) * 2008-01-24 2011-04-19 International Business Machines Corporation System to provide memory system power reduction without reducing overall memory system performance
US7925826B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US7925824B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US7770077B2 (en) * 2008-01-24 2010-08-03 International Business Machines Corporation Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem
US8140936B2 (en) 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US7925825B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to support a full asynchronous interface within a memory hub device
US9596324B2 (en) * 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
JP4621747B2 (ja) * 2008-02-15 2011-01-26 株式会社東芝 通信制御装置および情報処理装置
US8510370B2 (en) * 2008-02-26 2013-08-13 Avid Technology, Inc. Array-based distributed storage system with parity
US8566833B1 (en) 2008-03-11 2013-10-22 Netapp, Inc. Combined network and application processing in a multiprocessing environment
KR100976628B1 (ko) * 2008-05-09 2010-08-18 한국전자통신연구원 다중 프로세서 시스템 및 그 시스템에서의 다중 프로세싱방법
US20090288104A1 (en) * 2008-05-19 2009-11-19 Rohati Systems, Inc. Extensibility framework of a network element
US8667556B2 (en) * 2008-05-19 2014-03-04 Cisco Technology, Inc. Method and apparatus for building and managing policies
US8677453B2 (en) * 2008-05-19 2014-03-18 Cisco Technology, Inc. Highly parallel evaluation of XACML policies
US8094560B2 (en) * 2008-05-19 2012-01-10 Cisco Technology, Inc. Multi-stage multi-core processing of network packets
CN102047316B (zh) * 2008-05-30 2016-08-24 先进微装置公司 具有分布式第一阶缓存系统及集中式第二阶缓存的着色组合
US8194582B2 (en) * 2008-06-30 2012-06-05 The Boeing Company Method and apparatus for hosting commercially-derived packet routers on satellite payloads
US8031627B2 (en) 2008-07-10 2011-10-04 At&T Intellectual Property I, L.P. Methods and apparatus to deploy and monitor network layer functionalities
TWI362596B (en) * 2008-07-23 2012-04-21 Inst Information Industry Intermediary apparatus, intermediary method, computer program product for storing a data in a storage apparatus, and data storage system comprising the same
US7979671B2 (en) * 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
JP5395383B2 (ja) * 2008-08-21 2014-01-22 株式会社東芝 パイプライン演算プロセッサを備える制御システム
US20100070471A1 (en) * 2008-09-17 2010-03-18 Rohati Systems, Inc. Transactional application events
US8484421B1 (en) 2008-11-25 2013-07-09 Marvell Israel (M.I.S.L) Ltd. Cache pre-fetch architecture and method
US8688911B1 (en) * 2008-11-25 2014-04-01 Marvell Israel (M.I.S.L) Ltd. Transparent processing core and L2 cache connection
US8549260B2 (en) * 2009-01-29 2013-10-01 Infineon Technologies Ag Apparatus for processing data and method for generating manipulated and re-manipulated configuration data for processor
JP5081847B2 (ja) * 2009-02-20 2012-11-28 株式会社日立製作所 マルチプロセッサによるパケット処理装置およびパケット処理方法
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8514874B2 (en) * 2010-03-12 2013-08-20 Lsi Corporation Thread synchronization in a multi-thread network communications processor architecture
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
JP2010288233A (ja) * 2009-06-15 2010-12-24 Toshiba Corp 暗号処理装置
US8565239B2 (en) * 2009-07-14 2013-10-22 Broadcom Corporation Node based path selection randomization
US8503456B2 (en) * 2009-07-14 2013-08-06 Broadcom Corporation Flow based path selection randomization
US8949695B2 (en) * 2009-08-27 2015-02-03 Cleversafe, Inc. Method and apparatus for nested dispersed storage
US8473818B2 (en) * 2009-10-12 2013-06-25 Empire Technology Development Llc Reliable communications in on-chip networks
US8484439B1 (en) 2009-10-27 2013-07-09 Juniper Networks, Inc. Scalable hash tables
US8446824B2 (en) * 2009-12-17 2013-05-21 Intel Corporation NUMA-aware scaling for network devices
US9367462B2 (en) 2009-12-29 2016-06-14 Empire Technology Development Llc Shared memories for energy efficient multi-core processors
US8532129B2 (en) * 2009-12-30 2013-09-10 International Business Machines Corporation Assigning work from multiple sources to multiple sinks given assignment constraints
US8391305B2 (en) * 2009-12-30 2013-03-05 International Business Machines Corporation Assignment constraint matrix for assigning work from multiple sources to multiple sinks
US8295305B2 (en) * 2009-12-30 2012-10-23 International Business Machines Corporation Dual scheduling of work from multiple sources to multiple sinks using source and sink attributes to achieve fairness and processing efficiency
JP5477112B2 (ja) * 2010-03-31 2014-04-23 富士通株式会社 ネットワークシステムの試験方法
US9015441B2 (en) 2010-04-30 2015-04-21 Microsoft Technology Licensing, Llc Memory usage scanning
US8699484B2 (en) 2010-05-24 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to route packets in a network
US9491085B2 (en) 2010-05-24 2016-11-08 At&T Intellectual Property I, L.P. Methods and apparatus to route control packets based on address partitioning
US8559332B2 (en) * 2010-05-25 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Method for enhancing table lookups with exact and wildcards matching for parallel environments
US8381004B2 (en) * 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
WO2012001783A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 データ復元プログラム、データ復元装置およびデータ復元方法
US8681973B2 (en) * 2010-09-15 2014-03-25 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for performing homomorphic encryption and decryption on individual operations
CN102446087B (zh) * 2010-10-12 2014-02-26 无锡江南计算技术研究所 指令预取方法与预取装置
GB2485142A (en) 2010-10-27 2012-05-09 Nds Ltd Secure broadcast/multicast of media content
US8751720B2 (en) 2010-11-08 2014-06-10 Moon J. Kim Computationally-networked unified data bus
KR101153940B1 (ko) * 2010-11-09 2012-06-08 아주대학교산학협력단 패킷 분류 장치 및 그 방법
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
FR2971872B1 (fr) * 2011-02-18 2014-06-20 Bull Sas Circuit integre programmable de cryptographie
US9158592B2 (en) 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
CN102779110B (zh) * 2011-05-11 2014-08-06 扬智科技股份有限公司 基于远端代码调用和数据访问的多核心系统及其控制方法
JP2012243105A (ja) * 2011-05-19 2012-12-10 Buffalo Inc ファイル管理装置及びその制御プログラム
US9996403B2 (en) 2011-09-30 2018-06-12 Oracle International Corporation System and method for providing message queues for multinode applications in a middleware machine environment
US9612934B2 (en) * 2011-10-28 2017-04-04 Cavium, Inc. Network processor with distributed trace buffers
US9330002B2 (en) * 2011-10-31 2016-05-03 Cavium, Inc. Multi-core interconnect in a network processor
US8850557B2 (en) 2012-02-29 2014-09-30 International Business Machines Corporation Processor and data processing method with non-hierarchical computer security enhancements for context states
WO2013072773A2 (en) * 2011-11-18 2013-05-23 Marvell World Trade Ltd. Data path acceleration using hw virtualization
WO2013081744A1 (en) * 2011-11-30 2013-06-06 Axis Semiconductor, Inc. Herarchical multi-core processor and method of programming for efficient data processing
WO2013100984A1 (en) * 2011-12-28 2013-07-04 Intel Corporation High bandwidth full-block write commands
US9069912B2 (en) * 2012-03-31 2015-06-30 Qualcomm Technologies, Inc. System and method of distributed initiator-local reorder buffers
US9311228B2 (en) 2012-04-04 2016-04-12 International Business Machines Corporation Power reduction in server memory system
US9237128B2 (en) * 2013-03-15 2016-01-12 International Business Machines Corporation Firewall packet filtering
US9420008B1 (en) * 2012-05-10 2016-08-16 Bae Systems Information And Electronic Systems Integration Inc. Method for repurposing of communications cryptographic capabilities
US8910179B2 (en) * 2012-05-15 2014-12-09 Freescale Semiconductor, Inc. Systems and methods for providing semaphore-based protection of system resources
US9514069B1 (en) 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
WO2014038582A1 (ja) * 2012-09-04 2014-03-13 日本電気株式会社 パケット振分装置、パケット振分方法、およびパケット振分プログラム
US9164570B2 (en) * 2012-12-13 2015-10-20 Advanced Micro Devices, Inc. Dynamic re-configuration for low power in a data processor
US9361116B2 (en) 2012-12-28 2016-06-07 Intel Corporation Apparatus and method for low-latency invocation of accelerators
US9417873B2 (en) 2012-12-28 2016-08-16 Intel Corporation Apparatus and method for a hybrid latency-throughput processor
US10140129B2 (en) 2012-12-28 2018-11-27 Intel Corporation Processing core having shared front end unit
US10346195B2 (en) 2012-12-29 2019-07-09 Intel Corporation Apparatus and method for invocation of a multi threaded accelerator
KR101448951B1 (ko) * 2013-02-27 2014-10-13 주식회사 시큐아이 패킷 처리 장치 및 방법
US8954992B2 (en) * 2013-03-15 2015-02-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Distributed and scaled-out network switch and packet processing
WO2014167419A2 (en) * 2013-04-11 2014-10-16 Marvell Israel (M.I.S.L) Ltd. Exact match lookup with variable key sizes
JP5803972B2 (ja) 2013-04-18 2015-11-04 株式会社デンソー マルチコアプロセッサ
KR101499890B1 (ko) * 2013-05-15 2015-03-06 주식회사 코스콤 Low Latency 프레임워크 시스템
US9454196B2 (en) 2013-06-27 2016-09-27 Apple Inc. Active peak power management of a high performance embedded microprocessor cluster
CN104302100A (zh) * 2013-07-18 2015-01-21 群联电子股份有限公司 焊垫结构及应用其的印刷电路板与存储器存储装置
JP5742908B2 (ja) * 2013-10-03 2015-07-01 富士通株式会社 マルチコアプロセッサシステム、制御方法および制御プログラム
US9825857B2 (en) * 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
GB201322883D0 (en) * 2013-12-23 2014-02-12 Bae Systems Plc Data capture
EP3087700B1 (en) 2013-12-23 2020-08-26 BAE Systems PLC Data capture
KR20150086718A (ko) * 2014-01-20 2015-07-29 삼성전자주식회사 메모리를 이용하여 파이프라인이 데이터를 처리하는 방법 및 장치
US10078613B1 (en) * 2014-03-05 2018-09-18 Mellanox Technologies, Ltd. Computing in parallel processing environments
US9547331B2 (en) 2014-04-03 2017-01-17 Qualcomm Incorporated Apparatus and method to set the speed of a clock
US10721160B2 (en) 2014-05-15 2020-07-21 Samsung Electronics Co., Ltd. Method of distributing data and device supporting the same
US9413783B1 (en) * 2014-06-02 2016-08-09 Amazon Technologies, Inc. Network interface with on-board packet processing
CN105591914B (zh) * 2014-10-21 2020-07-03 中兴通讯股份有限公司 一种openflow流表的查表方法和装置
US10230824B2 (en) * 2014-11-17 2019-03-12 Keysight Technologies Singapore (Holdings) Pte. Lte. Packet classification using memory pointer information
CN104391821A (zh) * 2014-11-20 2015-03-04 天津大学 一种多核共享simd协处理器的系统级模型构建方法
DE102015200301A1 (de) 2015-01-13 2016-07-14 Robert Bosch Gmbh Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
US9830187B1 (en) 2015-06-05 2017-11-28 Apple Inc. Scheduler and CPU performance controller cooperation
US10552619B2 (en) * 2015-07-20 2020-02-04 Intel Corporation Technologies for secure trusted I/O access control
CN105468705A (zh) * 2015-11-18 2016-04-06 广东南方通信建设有限公司 一种移动通信后台数据文件导入方法
CN106059792B (zh) * 2016-05-13 2019-03-29 北京英诺威尔科技股份有限公司 一种低延迟的流量解析处理方法
WO2018018611A1 (zh) * 2016-07-29 2018-02-01 华为技术有限公司 一种任务处理方法以及网卡
US10348506B2 (en) 2016-09-30 2019-07-09 International Business Machines Corporation Determination of state of padding operation
US20180122038A1 (en) * 2016-10-28 2018-05-03 Qualcomm Incorporated Multi-layer fetch during composition
US11392488B2 (en) 2017-04-07 2022-07-19 Keysight Technologies Singapore (Sales) Pte. Ltd. Optimizing storage of application data in memory
JP6390748B1 (ja) * 2017-04-19 2018-09-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US10956220B2 (en) 2017-06-04 2021-03-23 Apple Inc. Scheduler for amp architecture using a closed loop performance and thermal controller
US10681607B2 (en) * 2018-06-22 2020-06-09 Intel Corporation Receive-side scaling for wireless communication devices
CN109729021A (zh) * 2018-12-27 2019-05-07 北京天融信网络安全技术有限公司 一种报文处理方法及电子设备
US11488650B2 (en) * 2020-04-06 2022-11-01 Memryx Incorporated Memory processing unit architecture
CN111225021B (zh) * 2019-11-13 2020-11-27 北京连山时代科技有限公司 一种基于文件破碎与重组的多链路并发传输方法和系统
US11210248B2 (en) 2019-12-20 2021-12-28 Advanced Micro Devices, Inc. System direct memory access engine offload
WO2021234765A1 (ja) * 2020-05-18 2021-11-25 日本電信電話株式会社 パケット識別装置、パケット識別方法およびパケット識別プログラム
US11689493B2 (en) * 2020-07-02 2023-06-27 Vmware, Inc. Connection tracking records for a very large scale NAT engine
US11115381B1 (en) 2020-11-30 2021-09-07 Vmware, Inc. Hybrid and efficient method to sync NAT sessions
US11762794B2 (en) * 2021-05-26 2023-09-19 Stmicroelectronics Application Gmbh Processing system, related integrated circuit, device and method

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3736569A (en) * 1971-10-13 1973-05-29 Ibm System for controlling power consumption in a computer
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
US4754394A (en) 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US5226171A (en) * 1984-12-03 1993-07-06 Cray Research, Inc. Parallel vector processing system for individual and broadcast distribution of operands and control information
US4744078A (en) * 1985-05-13 1988-05-10 Gould Inc. Multiple path multiplexed host to network data communication system
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
WO1992010032A1 (en) * 1990-11-26 1992-06-11 Adaptive Solutions, Inc. Temperature-sensing control system and method for integrated circuits
US5422654A (en) * 1991-10-17 1995-06-06 Chips And Technologies, Inc. Data stream converter with increased grey levels
US5583561A (en) * 1994-06-07 1996-12-10 Unisys Corporation Multi-cast digital video data server using synchronization groups
DE4421640C1 (de) * 1994-06-21 1995-08-03 Siemens Ag Hash-Adressierungs- und Speicherverfahren zum Ablegen und Wiedergewinnen von Daten in einem adressierbaren Speicher
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
US5838603A (en) * 1994-10-11 1998-11-17 Matsushita Electric Industrial Co., Ltd. Semiconductor device and method for fabricating the same, memory core chip and memory peripheral circuit chip
US5878217A (en) * 1994-11-21 1999-03-02 Cirrus Logic, Inc. Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
JP3132749B2 (ja) 1994-12-05 2001-02-05 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチプロセッサ・データ処理システム
JPH096633A (ja) 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
EP0777182B1 (en) * 1995-11-28 2001-07-04 Bull S.A. A memory access limiter for random access dynamic memories
US5923654A (en) * 1996-04-25 1999-07-13 Compaq Computer Corp. Network switch that includes a plurality of shared packet buffers
US5764896A (en) * 1996-06-28 1998-06-09 Compaq Computer Corporation Method and system for reducing transfer latency when transferring data from a network to a computer system
US5802576A (en) * 1996-07-01 1998-09-01 Sun Microsystems, Inc. Speculative cache snoop during DMA line update
US5778243A (en) * 1996-07-03 1998-07-07 International Business Machines Corporation Multi-threaded cell for a memory
DE19630861A1 (de) * 1996-07-31 1998-02-05 Philips Patentverwaltung Datenverarbeitungseinrichtung mit einem Mikroprozessor und einer zusätzlichen Recheneinheit
US5828753A (en) * 1996-10-25 1998-10-27 Intel Corporation Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US5895487A (en) 1996-11-13 1999-04-20 International Business Machines Corporation Integrated processing and L2 DRAM cache
US6088788A (en) 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
US6098110A (en) * 1996-12-30 2000-08-01 Compaq Computer Corporation Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses
US5974496A (en) * 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card
US6108342A (en) * 1997-02-14 2000-08-22 Advanced Micro Devices, Inc. Management information base (MIB) accumulation processor
US6151681A (en) * 1997-06-25 2000-11-21 Texas Instruments Incorporated Dynamic device power management
US5892966A (en) * 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6272520B1 (en) 1997-12-31 2001-08-07 Intel Corporation Method for detecting thread switch events
FR2775369B1 (fr) * 1998-02-26 2001-08-03 Sgs Thomson Microelectronics Procede de mise en oeuvre d'une multiplication modulaire specifique relative a la methode de montgomery
US6151685A (en) * 1998-05-15 2000-11-21 International Business Machines Corporation System and method for recovering a segment directory for a log structured array
US6216205B1 (en) * 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
US6021076A (en) * 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
US6320964B1 (en) * 1998-08-26 2001-11-20 Intel Corporation Cryptographic accelerator
JP3374820B2 (ja) * 1999-01-08 2003-02-10 セイコーエプソン株式会社 出力バッファ回路
US6453360B1 (en) * 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US7243133B2 (en) * 1999-03-30 2007-07-10 Sedna Patent Services, Llc Method and apparatus for reducing latency in an interactive information distribution system
US6341347B1 (en) * 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
US6938147B1 (en) * 1999-05-11 2005-08-30 Sun Microsystems, Inc. Processor with multiple-thread, vertically-threaded pipeline
JP2001043084A (ja) * 1999-05-24 2001-02-16 Toshiba Microelectronics Corp プロセッサ装置
US6334180B1 (en) * 1999-06-27 2001-12-25 Sun Microsystems, Inc. Processor coupled by visible register set to modular coprocessor including integrated multimedia unit
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6434662B1 (en) * 1999-11-02 2002-08-13 Juniper Networks, Inc. System and method for searching an associative memory utilizing first and second hash functions
US6950434B1 (en) * 1999-12-07 2005-09-27 Advanced Micro Devices, Inc. Arrangement for searching packet policies using multi-key hash searches in a network switch
TW536672B (en) * 2000-01-12 2003-06-11 Hitachi Ltd IC card and microcomputer
AU5297201A (en) * 2000-03-31 2001-10-15 General Dynamics Decision Systems, Inc. Scalable cryptographic engine
AU4870801A (en) 2000-04-11 2001-10-23 P-Cube Ltd. A method and apparatus for wire-speed application layer classification of data packets
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
US6845099B2 (en) * 2000-06-14 2005-01-18 Mindspeed Technologies, Inc. Communication packet processor with a look-up engine and content-addressable memory for modifying selectors to retrieve context information for a core processor
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
US6567900B1 (en) * 2000-08-31 2003-05-20 Hewlett-Packard Development Company, L.P. Efficient address interleaving with simultaneous multiple locality options
US6785783B2 (en) 2000-11-30 2004-08-31 International Business Machines Corporation NUMA system with redundant main memory architecture
US6963977B2 (en) * 2000-12-19 2005-11-08 International Business Machines Corporation Circuits and methods for modular exponentiation
US20020083344A1 (en) * 2000-12-21 2002-06-27 Vairavan Kannan P. Integrated intelligent inter/intra networking device
US6463510B1 (en) * 2000-12-29 2002-10-08 Compaq Information Technologies Group, L.P. Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
US6980550B1 (en) * 2001-01-16 2005-12-27 Extreme Networks, Inc Method and apparatus for server load balancing
US6968453B2 (en) * 2001-01-17 2005-11-22 International Business Machines Corporation Secure integrated device with secure, dynamically-selectable capabilities
US20020184487A1 (en) * 2001-03-23 2002-12-05 Badamo Michael J. System and method for distributing security processing functions for network applications
US6874014B2 (en) * 2001-05-29 2005-03-29 Hewlett-Packard Development Company, L.P. Chip multiprocessor with multiple operating systems
US7114011B2 (en) * 2001-08-30 2006-09-26 Intel Corporation Multiprocessor-scalable streaming data server arrangement
US6904040B2 (en) * 2001-10-05 2005-06-07 International Business Machines Corporaiton Packet preprocessing interface for multiprocessor network handler
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7036040B2 (en) * 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458757C (zh) * 2005-07-28 2009-02-04 大唐移动通信设备有限公司 嵌入式实时操作系统中多核处理器的核间通信方法及装置
CN101405706B (zh) * 2006-03-23 2012-08-22 英特尔公司 弹性地保持多核处理器的状态信息
CN100452757C (zh) * 2006-10-12 2009-01-14 杭州华三通信技术有限公司 报文转发方法和装置
CN101350010B (zh) * 2007-07-20 2011-08-17 迈普通信技术股份有限公司 一种哈希表的操作方法
CN101960418B (zh) * 2008-03-26 2013-04-24 英特尔公司 多核计算系统和用于控制对共享资源的访问的方法
US8200900B2 (en) 2008-05-28 2012-06-12 Fujitsu Limited Method and apparatus for controlling cache memory
CN101593158B (zh) * 2008-05-28 2012-07-25 富士通株式会社 控制高速缓冲存储器的方法和装置
CN101799750A (zh) * 2009-02-11 2010-08-11 上海芯豪微电子有限公司 一种数据处理的方法与装置
CN101799750B (zh) * 2009-02-11 2015-05-06 上海芯豪微电子有限公司 一种数据处理的方法与装置
CN102783090A (zh) * 2009-12-23 2012-11-14 思杰系统有限公司 用于多核系统中的对象速率限制的系统和方法
CN102783090B (zh) * 2009-12-23 2015-05-20 思杰系统有限公司 用于多核系统中的对象速率限制的系统和方法
CN104572275A (zh) * 2013-10-23 2015-04-29 华为技术有限公司 一种进程加载方法、装置及系统
CN104572275B (zh) * 2013-10-23 2017-12-29 华为技术有限公司 一种进程加载方法、装置及系统

Also Published As

Publication number Publication date
EP1442355B1 (en) 2010-05-05
WO2003036508A3 (en) 2003-12-18
EP1442355A2 (en) 2004-08-04
JP2005507212A (ja) 2005-03-10
WO2003036902A3 (en) 2003-08-21
KR20040091608A (ko) 2004-10-28
EP1442374B1 (en) 2011-07-27
CN1286019C (zh) 2006-11-22
WO2003036884A2 (en) 2003-05-01
WO2003036508A2 (en) 2003-05-01
JP3926795B2 (ja) 2007-06-06
KR20040084893A (ko) 2004-10-06
JP3789454B2 (ja) 2006-06-21
EP1466448A2 (en) 2004-10-13
JP2005507111A (ja) 2005-03-10
KR20040080431A (ko) 2004-09-18
US20070162911A1 (en) 2007-07-12
US7248585B2 (en) 2007-07-24
WO2003036482A2 (en) 2003-05-01
JP3768993B2 (ja) 2006-04-19
JP4472339B2 (ja) 2010-06-02
JP2005532604A (ja) 2005-10-27
DE60237222D1 (de) 2010-09-16
EP1466448B1 (en) 2011-02-16
WO2003036485A3 (en) 2003-11-06
DE60211730D1 (de) 2006-06-29
US7865667B2 (en) 2011-01-04
ATE518192T1 (de) 2011-08-15
TWI240163B (en) 2005-09-21
JP2005507115A (ja) 2005-03-10
WO2003036482A3 (en) 2003-12-18
US20030097518A1 (en) 2003-05-22
WO2003036450A3 (en) 2003-12-31
AU2002337940A1 (en) 2003-05-06
JP2005507117A (ja) 2005-03-10
WO2003036902A2 (en) 2003-05-01
US20030093614A1 (en) 2003-05-15
WO2003036450A2 (en) 2003-05-01
DE60239227D1 (de) 2011-03-31
DE60211730T2 (de) 2007-05-16
DE60236309D1 (de) 2010-06-17
EP1438667B1 (en) 2006-05-24
US7209996B2 (en) 2007-04-24
AU2002335878A1 (en) 2003-05-06
EP1442374A2 (en) 2004-08-04
US20030088610A1 (en) 2003-05-08
EP1438818B1 (en) 2010-08-04
EP1438667A2 (en) 2004-07-21
WO2003036884A3 (en) 2004-08-12
US20030105907A1 (en) 2003-06-05
US6901491B2 (en) 2005-05-31
KR20040083464A (ko) 2004-10-02
EP1442365A2 (en) 2004-08-04
KR20050012220A (ko) 2005-01-31
US20030084309A1 (en) 2003-05-01
WO2003036485A2 (en) 2003-05-01
US20030081615A1 (en) 2003-05-01
US6938119B2 (en) 2005-08-30
JP2005508032A (ja) 2005-03-24
EP1438818A2 (en) 2004-07-21
KR20050013191A (ko) 2005-02-03

Similar Documents

Publication Publication Date Title
CN1286019C (zh) 多核心多线程处理器
US8516280B2 (en) Parallel processing computer systems with reduced power consumption and methods for providing the same
EP1137984B1 (en) A multiple-thread processor for threaded software applications
US9606797B2 (en) Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor
US7437534B2 (en) Local and global register partitioning technique
US6988186B2 (en) Shared resource queue for simultaneous multithreading processing wherein entries allocated to different threads are capable of being interspersed among each other and a head pointer for one thread is capable of wrapping around its own tail in order to access a free entry
US6343348B1 (en) Apparatus and method for optimizing die utilization and speed performance by register file splitting
US6925643B2 (en) Method and apparatus for thread-based memory access in a multithreaded processor
US5689677A (en) Circuit for enhancing performance of a computer for personal use
EP1623318B1 (en) Processing system with instruction- and thread-level parallelism
US6757807B1 (en) Explicitly clustered register file and execution unit architecture
US9003168B1 (en) Control system for resource selection between or among conjoined-cores
Lin et al. DRAM-level prefetching for fully-buffered DIMM: Design, performance and power saving
EP4002117A1 (en) Systems, methods, and devices for shuffle acceleration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee