DE60022345T2 - Mechanismus zur reduzierung von softwaredatenvorausladenkosten - Google Patents

Mechanismus zur reduzierung von softwaredatenvorausladenkosten Download PDF

Info

Publication number
DE60022345T2
DE60022345T2 DE60022345T DE60022345T DE60022345T2 DE 60022345 T2 DE60022345 T2 DE 60022345T2 DE 60022345 T DE60022345 T DE 60022345T DE 60022345 T DE60022345 T DE 60022345T DE 60022345 T2 DE60022345 T2 DE 60022345T2
Authority
DE
Germany
Prior art keywords
software distribution
distribution cost
reducing software
reducing
cost
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60022345T
Other languages
English (en)
Other versions
DE60022345D1 (de
Inventor
B Doshi
Kalyan Muthukumar
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE60022345D1 publication Critical patent/DE60022345D1/de
Publication of DE60022345T2 publication Critical patent/DE60022345T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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/30047Prefetch instructions; cache control instructions
    • 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/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • G06F9/30127Register windows
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • 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/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
DE60022345T 1999-05-28 2000-05-12 Mechanismus zur reduzierung von softwaredatenvorausladenkosten Expired - Lifetime DE60022345T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/322,196 US6321330B1 (en) 1999-05-28 1999-05-28 Each iteration array selective loop data prefetch in multiple data width prefetch system using rotating register and parameterization to avoid redundant prefetch
PCT/US2000/013165 WO2000073897A1 (en) 1999-05-28 2000-05-12 Mechanism to reduce the overhead of software data prefetches

Publications (2)

Publication Number Publication Date
DE60022345D1 DE60022345D1 (de) 2005-10-06
DE60022345T2 true DE60022345T2 (de) 2006-06-14

Family

ID=23253840

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60022345T Expired - Lifetime DE60022345T2 (de) 1999-05-28 2000-05-12 Mechanismus zur reduzierung von softwaredatenvorausladenkosten

Country Status (8)

Country Link
US (1) US6321330B1 (de)
EP (1) EP1185925B1 (de)
KR (1) KR100456507B1 (de)
CN (1) CN1255723C (de)
AU (1) AU4847800A (de)
DE (1) DE60022345T2 (de)
PL (1) PL351960A1 (de)
WO (1) WO2000073897A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505345B1 (en) * 2000-01-18 2003-01-07 Intel Corporation Optimization of initialization of parallel compare predicates in a computer system
DE10216240A1 (de) * 2002-04-12 2003-10-30 Infineon Technologies Ag Verfahren und Vorrichtung zur Berechnung eines iterierten Zustands einer rückgekoppelten Schieberegisteranordnung
US6760818B2 (en) * 2002-05-01 2004-07-06 Koninklijke Philips Electronics N.V. Memory region based data pre-fetching
US6981099B2 (en) 2002-12-16 2005-12-27 Sun Microsystems, Inc. Smart-prefetch
US20050066151A1 (en) * 2003-09-19 2005-03-24 Sailesh Kottapalli Method and apparatus for handling predicated instructions in an out-of-order processor
US7290253B1 (en) * 2003-09-30 2007-10-30 Vmware, Inc. Prediction mechanism for subroutine returns in binary translation sub-systems of computers
US7493621B2 (en) * 2003-12-18 2009-02-17 International Business Machines Corporation Context switch data prefetching in multithreaded computer
US7617496B2 (en) 2004-04-23 2009-11-10 Apple Inc. Macroscalar processor architecture
US7395419B1 (en) * 2004-04-23 2008-07-01 Apple Inc. Macroscalar processor architecture
US7937709B2 (en) * 2004-12-29 2011-05-03 Intel Corporation Synchronizing multiple threads efficiently
US7421540B2 (en) * 2005-05-03 2008-09-02 International Business Machines Corporation Method, apparatus, and program to efficiently calculate cache prefetching patterns for loops
KR100662846B1 (ko) * 2005-11-09 2007-01-02 삼성전자주식회사 데이터 처리 시스템 및 데이터 처리방법
US7707388B2 (en) * 2005-11-29 2010-04-27 Xmtt Inc. Computer memory architecture for hybrid serial and parallel computing systems
KR100776802B1 (ko) * 2005-12-08 2007-11-19 한국전자통신연구원 소프트웨어 스트리밍 서비스에서의 요청열 기반 프리페칭제공 방법 및 이를 이용한 소프트웨어 스트리밍 시스템
US8209488B2 (en) * 2008-02-01 2012-06-26 International Business Machines Corporation Techniques for prediction-based indirect data prefetching
US8161264B2 (en) * 2008-02-01 2012-04-17 International Business Machines Corporation Techniques for data prefetching using indirect addressing with offset
CN102736894B (zh) * 2011-04-01 2017-10-24 中兴通讯股份有限公司 一种跳转指令编码的方法和系统
US20130185516A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Use of Loop and Addressing Mode Instruction Set Semantics to Direct Hardware Prefetching
US9519586B2 (en) * 2013-01-21 2016-12-13 Qualcomm Incorporated Methods and apparatus to reduce cache pollution caused by data prefetching
US9280476B2 (en) 2014-06-04 2016-03-08 Oracle International Corporation Hardware stream prefetcher with dynamically adjustable stride
US9256541B2 (en) 2014-06-04 2016-02-09 Oracle International Corporation Dynamically adjusting the hardware stream prefetcher prefetch ahead distance
US20230004391A1 (en) * 2017-06-28 2023-01-05 Texas Instruments Incorporated Streaming engine with stream metadata saving for context switching
US11048509B2 (en) * 2018-06-05 2021-06-29 Qualcomm Incorporated Providing multi-element multi-vector (MEMV) register file access in vector-processor-based devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers
JP3598139B2 (ja) * 1994-12-28 2004-12-08 株式会社日立製作所 データ処理装置
US5704053A (en) * 1995-05-18 1997-12-30 Hewlett-Packard Company Efficient explicit data prefetching analysis and code generation in a low-level optimizer for inserting prefetch instructions into loops of applications
US5752037A (en) * 1996-04-26 1998-05-12 Hewlett-Packard Company Method of prefetching data for references with multiple stride directions
US5889985A (en) * 1996-08-07 1999-03-30 Elbrus International Array prefetch apparatus and method
WO1998006041A1 (en) 1996-08-07 1998-02-12 Sun Microsystems, Inc. Array prefetch apparatus and method
US5854934A (en) * 1996-08-23 1998-12-29 Hewlett-Packard Company Optimizing compiler having data cache prefetch spreading
GB2317464A (en) 1996-09-23 1998-03-25 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
JP3546341B2 (ja) * 1997-04-17 2004-07-28 株式会社日立製作所 多重ループ向けデータプリフェッチ方法およびプログラム生成方法

Also Published As

Publication number Publication date
CN1255723C (zh) 2006-05-10
KR20020022056A (ko) 2002-03-23
AU4847800A (en) 2000-12-18
CN1353832A (zh) 2002-06-12
US6321330B1 (en) 2001-11-20
PL351960A1 (en) 2003-07-14
EP1185925A1 (de) 2002-03-13
DE60022345D1 (de) 2005-10-06
WO2000073897A1 (en) 2000-12-07
KR100456507B1 (ko) 2004-11-09
EP1185925B1 (de) 2005-08-31

Similar Documents

Publication Publication Date Title
DE60022345T2 (de) Mechanismus zur reduzierung von softwaredatenvorausladenkosten
NO20013138D0 (no) Innholdsforsyningssystem
ID28965A (id) Azabisikloalkana sebagai modulator ccr5
DE60041430D1 (de) Zusammensetzung zur Entfernung von Photoresist
DE60042810D1 (de) Benutzerzentrierte programm-verteilung
DK1011851T3 (da) Homogeniseringsventil
DE60033236D1 (de) System zur vermeidung von heckcrashs bei flugzeugen
NO20020191D0 (no) Applikator for reflexoterapi
DE60034526D1 (de) System zur reduzierung von energieverbrauch
FI19992495A (fi) Lippujärjestelmä
ID21009A (id) Komposisi untuk supositori
DE69806167D1 (de) Ausgiessvorrichtung
DE69905931D1 (de) Bankautomat zur selbstbedienung
DE69827969D1 (de) Ausgiessvorrichtung
DE50000547D1 (de) Regelungssystem
DE60006295D1 (de) Drucksystem
PT102182A (pt) Mecanismo de distribuicao
DE19917146B4 (de) Nullpunktspannsystem
DE69840366D1 (de) System zur probeentnahme
ID23196A (id) Gandaran untuk lampuflouresen
DE59912389D1 (de) Photoinitiatoren zur kationischen Härtung
FR2782671B3 (fr) Livre
DE50015688D1 (de) Pflastersteinsystem
ATE231982T1 (de) Verteilervorrichtung
DE60005107D1 (de) System zum Verteilen von digitalen Inhalten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806