CN1332303C - 用于多线程处理器中基于线程的存储器存取的方法和装置 - Google Patents
用于多线程处理器中基于线程的存储器存取的方法和装置 Download PDFInfo
- Publication number
- CN1332303C CN1332303C CNB2003801023335A CN200380102333A CN1332303C CN 1332303 C CN1332303 C CN 1332303C CN B2003801023335 A CNB2003801023335 A CN B2003801023335A CN 200380102333 A CN200380102333 A CN 200380102333A CN 1332303 C CN1332303 C CN 1332303C
- Authority
- CN
- China
- Prior art keywords
- thread
- memory
- processor
- multiline procedure
- thread identifier
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000001960 triggered effect Effects 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150005267 Add1 gene Proteins 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 235000000434 Melocanna baccifera Nutrition 0.000 description 1
- 241001497770 Melocanna baccifera Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 101150060298 add2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/269,247 US6925643B2 (en) | 2002-10-11 | 2002-10-11 | Method and apparatus for thread-based memory access in a multithreaded processor |
US10/269,247 | 2002-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1708747A CN1708747A (zh) | 2005-12-14 |
CN1332303C true CN1332303C (zh) | 2007-08-15 |
Family
ID=32068735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801023335A Expired - Lifetime CN1332303C (zh) | 2002-10-11 | 2003-10-09 | 用于多线程处理器中基于线程的存储器存取的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6925643B2 (zh) |
EP (1) | EP1550032B1 (zh) |
JP (1) | JP2006502507A (zh) |
KR (1) | KR100980536B1 (zh) |
CN (1) | CN1332303C (zh) |
AU (1) | AU2003282511A1 (zh) |
ES (1) | ES2758623T3 (zh) |
HU (1) | HUE046355T2 (zh) |
WO (1) | WO2004034218A2 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100591755B1 (ko) * | 2003-07-22 | 2006-06-22 | 삼성전자주식회사 | 복수의 스레드를 동시에 처리하는 장치 및 방법 |
US20050102494A1 (en) * | 2003-11-12 | 2005-05-12 | Grochowski Edward T. | Method and apparatus for register stack implementation using micro-operations |
US7797363B2 (en) * | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
US7475222B2 (en) * | 2004-04-07 | 2009-01-06 | Sandbridge Technologies, Inc. | Multi-threaded processor having compound instruction and operation formats |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
US7280428B2 (en) | 2004-09-30 | 2007-10-09 | Rambus Inc. | Multi-column addressing mode memory system including an integrated circuit memory device |
US7797728B2 (en) * | 2004-10-27 | 2010-09-14 | Intel Corporation | Mechanism to generate restricted and unrestricted execution environments |
TW200625097A (en) * | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
US8595459B2 (en) | 2004-11-29 | 2013-11-26 | Rambus Inc. | Micro-threaded memory |
US20060136681A1 (en) * | 2004-12-21 | 2006-06-22 | Sanjeev Jain | Method and apparatus to support multiple memory banks with a memory block |
WO2007014261A2 (en) * | 2005-07-25 | 2007-02-01 | Sysair, Inc. | Cellular pc modem architecture and method of operation |
WO2007033203A2 (en) | 2005-09-13 | 2007-03-22 | Freescale Semiconductor Inc. | Multi-threaded processor architecture |
KR101305490B1 (ko) * | 2005-10-01 | 2013-09-06 | 삼성전자주식회사 | 메모리 맵핑 방법 및 장치 |
US7788468B1 (en) | 2005-12-15 | 2010-08-31 | Nvidia Corporation | Synchronization of threads in a cooperative thread array |
US7861060B1 (en) * | 2005-12-15 | 2010-12-28 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior |
US7584342B1 (en) * | 2005-12-15 | 2009-09-01 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and SIMD instruction issue |
US20070260841A1 (en) | 2006-05-02 | 2007-11-08 | Hampel Craig E | Memory module with reduced access granularity |
JP5076418B2 (ja) * | 2006-09-19 | 2012-11-21 | ソニー株式会社 | 共有メモリ装置 |
US8819099B2 (en) * | 2006-09-26 | 2014-08-26 | Qualcomm Incorporated | Software implementation of matrix inversion in a wireless communication system |
US9110726B2 (en) * | 2006-11-10 | 2015-08-18 | Qualcomm Incorporated | Method and system for parallelization of pipelined computations |
US7596668B2 (en) * | 2007-02-20 | 2009-09-29 | International Business Machines Corporation | Method, system and program product for associating threads within non-related processes based on memory paging behaviors |
EP2210171A1 (en) * | 2007-11-05 | 2010-07-28 | Sandbridge Technologies, Inc. | Method of encoding register instruction fields |
EP2250539A1 (en) * | 2008-01-30 | 2010-11-17 | Sandbridge Technologies, Inc. | Method for enabling multi-processor synchronization |
KR20100133964A (ko) * | 2008-03-13 | 2010-12-22 | 아스펜 액퀴지션 코포레이션 | 유효 어레이를 비활성화함으로써 전력을 절약하기 위한 방법 |
JP2011530744A (ja) | 2008-08-06 | 2011-12-22 | アスペン・アクイジション・コーポレーション | 停止可能および再始動可能dmaエンジン |
CN101739242B (zh) * | 2009-11-27 | 2013-07-31 | 深圳中微电科技有限公司 | 一种流数据处理方法及流处理器 |
CN102141905B (zh) * | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US9268719B2 (en) | 2011-08-05 | 2016-02-23 | Rambus Inc. | Memory signal buffers and modules supporting variable access granularity |
GB2519813B (en) | 2013-10-31 | 2016-03-30 | Silicon Tailor Ltd | Pipelined configurable processor |
US9436501B2 (en) * | 2014-08-26 | 2016-09-06 | International Business Machines Corporation | Thread-based cache content saving for task switching |
CN104461961B (zh) * | 2014-11-20 | 2018-02-27 | 上海宝存信息科技有限公司 | 一种多核多线程的闪存装置及闪存控制方法 |
CN114968358A (zh) * | 2020-10-21 | 2022-08-30 | 上海壁仞智能科技有限公司 | 配置向量运算系统中的协作线程束的装置和方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0553158B1 (en) * | 1990-10-19 | 1994-12-28 | Cray Research, Inc. | A scalable parallel vector computer system |
US6128720A (en) | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5682491A (en) | 1994-12-29 | 1997-10-28 | International Business Machines Corporation | Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier |
US5649135A (en) | 1995-01-17 | 1997-07-15 | International Business Machines Corporation | Parallel processing system and method using surrogate instructions |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
GB2311882B (en) * | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US6317872B1 (en) * | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
US6263404B1 (en) * | 1997-11-21 | 2001-07-17 | International Business Machines Corporation | Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system |
US6079010A (en) | 1998-03-31 | 2000-06-20 | Lucent Technologies Inc. | Multiple machine view execution in a computer system |
US6317821B1 (en) | 1998-05-18 | 2001-11-13 | Lucent Technologies Inc. | Virtual single-cycle execution in pipelined processors |
US6269425B1 (en) * | 1998-08-20 | 2001-07-31 | International Business Machines Corporation | Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system |
US6260189B1 (en) | 1998-09-14 | 2001-07-10 | Lucent Technologies Inc. | Compiler-controlled dynamic instruction dispatch in pipelined processors |
US6256725B1 (en) | 1998-12-04 | 2001-07-03 | Agere Systems Guardian Corp. | Shared datapath processor utilizing stack-based and register-based storage spaces |
US6341338B1 (en) * | 1999-02-04 | 2002-01-22 | Sun Microsystems, Inc. | Protocol for coordinating the distribution of shared memory |
US6230251B1 (en) | 1999-03-22 | 2001-05-08 | Agere Systems Guardian Corp. | File replication methods and apparatus for reducing port pressure in a clustered processor |
US6282585B1 (en) | 1999-03-22 | 2001-08-28 | Agere Systems Guardian Corp. | Cooperative interconnection for reducing port pressure in clustered microprocessors |
US6269437B1 (en) | 1999-03-22 | 2001-07-31 | Agere Systems Guardian Corp. | Duplicator interconnection methods and apparatus for reducing port pressure in a clustered processor |
US6351808B1 (en) * | 1999-05-11 | 2002-02-26 | Sun Microsystems, Inc. | Vertically and horizontally threaded processor with multidimensional storage for storing thread data |
US20020103990A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Programmed load precession machine |
-
2002
- 2002-10-11 US US10/269,247 patent/US6925643B2/en not_active Expired - Lifetime
-
2003
- 2003-10-09 WO PCT/US2003/031961 patent/WO2004034218A2/en active Application Filing
- 2003-10-09 KR KR1020057005888A patent/KR100980536B1/ko active IP Right Grant
- 2003-10-09 ES ES03774703T patent/ES2758623T3/es not_active Expired - Lifetime
- 2003-10-09 EP EP03774703.7A patent/EP1550032B1/en not_active Expired - Lifetime
- 2003-10-09 HU HUE03774703A patent/HUE046355T2/hu unknown
- 2003-10-09 CN CNB2003801023335A patent/CN1332303C/zh not_active Expired - Lifetime
- 2003-10-09 JP JP2004543571A patent/JP2006502507A/ja not_active Withdrawn
- 2003-10-09 AU AU2003282511A patent/AU2003282511A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1550032A2 (en) | 2005-07-06 |
AU2003282511A8 (en) | 2004-05-04 |
HUE046355T2 (hu) | 2020-03-30 |
US6925643B2 (en) | 2005-08-02 |
US20040073772A1 (en) | 2004-04-15 |
EP1550032B1 (en) | 2019-09-11 |
KR20050046819A (ko) | 2005-05-18 |
KR100980536B1 (ko) | 2010-09-06 |
EP1550032A4 (en) | 2008-03-12 |
JP2006502507A (ja) | 2006-01-19 |
ES2758623T3 (es) | 2020-05-06 |
WO2004034218A2 (en) | 2004-04-22 |
CN1708747A (zh) | 2005-12-14 |
AU2003282511A1 (en) | 2004-05-04 |
WO2004034218A3 (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1332303C (zh) | 用于多线程处理器中基于线程的存储器存取的方法和装置 | |
US6842848B2 (en) | Method and apparatus for token triggered multithreading | |
CN100342325C (zh) | 减少多线程处理器中寄存器文件端口的方法和装置 | |
EP1047989B1 (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
US20160202989A1 (en) | Reconfigurable parallel execution and load-store slice processor | |
US20060288193A1 (en) | Register-collecting mechanism for multi-threaded processors and method using the same | |
WO2008043287A1 (en) | Configurable single instruction multiple data unit | |
US7340591B1 (en) | Providing parallel operand functions using register file and extra path storage | |
US7581086B2 (en) | Digital signal processor | |
JP3517139B2 (ja) | 情報処理装置 | |
CN114296804A (zh) | 双模指令集架构下的阵列处理器可避免load_use冒险停顿 | |
JP3299663B2 (ja) | 演算装置 | |
JP2000148585A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: ASPEN ACQUISITION CORP. Free format text: FORMER OWNER: SANDBRIDGE TECHNOLOGIES INC. Effective date: 20110318 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: NEW YORK, THE USA TO: CALIFORNIA, THE USA |
|
TR01 | Transfer of patent right |
Effective date of registration: 20110318 Address after: California, USA Patentee after: SANDBRIDGE TECHNOLOGIES, Inc. Address before: American New York Patentee before: Sandbridge Technologies, Inc. |
|
ASS | Succession or assignment of patent right |
Owner name: QUALCOMM INC. Free format text: FORMER OWNER: ASPEN ACQUISITION CORP. Effective date: 20130109 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20130109 Address after: California, USA Patentee after: QUALCOMM Inc. Address before: California, USA Patentee before: SANDBRIDGE TECHNOLOGIES, Inc. |
|
CX01 | Expiry of patent term |
Granted publication date: 20070815 |
|
CX01 | Expiry of patent term |