ES2165375T3 - Envio de instrucciones a multiples unidades de ejecucion. - Google Patents
Envio de instrucciones a multiples unidades de ejecucion.Info
- Publication number
- ES2165375T3 ES2165375T3 ES94306765T ES94306765T ES2165375T3 ES 2165375 T3 ES2165375 T3 ES 2165375T3 ES 94306765 T ES94306765 T ES 94306765T ES 94306765 T ES94306765 T ES 94306765T ES 2165375 T3 ES2165375 T3 ES 2165375T3
- Authority
- ES
- Spain
- Prior art keywords
- instruction
- instructions
- buffer
- unit
- dependent
- 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
- 239000000872 buffer Substances 0.000 abstract 6
- 230000001419 dependent effect Effects 0.000 abstract 3
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/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Abstract
SE PROPORCIONA UN SISTEMA DE PROCESAMIENTO CON MULTIPLES UNIDADES DE EJECUCION DONDE CADA UNIDAD DE EJECUCION 17,19 TIENE UN BUFFER DE INSTRUCCION ASOCIADO 2,4 Y TODAS LAS INSTRUCCIONES SE EJECUTAN EN ORDEN. LA PRIMERA UNIDAD DE EJECUCION (UNIDAD 0) CONTENDRA SIEMPRE LA INSTRUCCION MAS ANTIGUA Y LA SEGUNDA UNIDAD (UNIDAD 1) LA MAS NUEVA. SE PROPORCIONAN INSTRUCCIONES DE PROCESADOR, TALES COMO CARGAR, ALMACENAR, SUMAR Y SIMILARES, A CADA UNO DE LOS BUFFERS DE INSTRUCCION (0,1) DESDE UN BUFFER DE CACHE DE INSTRUCCION. LA PRIMERA INSTRUCCION (LA MAS ANTIGUA) SE COLOCA EN EL BUFFER 0 Y LA SIGUIENTE (SEGUNDA) INSTRUCCION SE ALMACENA EN EL BUFFER 1. SE DETERMINA DURANTE LA FASE DE CODIFICACION SI LAS INSTRUCCIONES SON DEPENDIENTES DE UNA INSTRUCCION INMEDIATAMENTE PRECEDENTE. SI AMBAS INSTRUCCIONES SON INDEPENDIENTES DE OTRAS INSTRUCCIONES, ENTONCES PUEDEN EJECUTARSE EN PARALELO. EN CUALQUIER CASO, SI LA SEGUNDA INSTRUCCION ES DEPENDIENTE DE LA PRIMERA, ENTONCES (SUBSECUENTE A LA PRIMERA INSTRUCCION QUE SE ESTA EJECUTANDO) SE LA CAMBIA DE POSICION LATERALMENTE HACIA EL PRIMER BUFFER DE INSTRUCCION. LAS INSTRUCCIONES ESTAN TAMBIEN DEFINIDAS COMO SIENDO DEPENDIENTES DE UN RECURSO NO DISPONIBLE. EN LA MAYORIA DE LOS CASOS, SE PERMITE A ESTAS INSTRUCCIONES "NO DISPONIBLES" EJECUTARSE EN PARALELO SOBRE LAS UNIDADES DE EJECUCION.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12382893A | 1993-09-20 | 1993-09-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2165375T3 true ES2165375T3 (es) | 2002-03-16 |
Family
ID=22411140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES94306765T Expired - Lifetime ES2165375T3 (es) | 1993-09-20 | 1994-09-15 | Envio de instrucciones a multiples unidades de ejecucion. |
Country Status (11)
Country | Link |
---|---|
US (1) | US5613080A (es) |
EP (1) | EP0644482B1 (es) |
JP (1) | JP2788605B2 (es) |
KR (1) | KR0133238B1 (es) |
CN (1) | CN1047677C (es) |
AT (1) | ATE209794T1 (es) |
BR (1) | BR9403516A (es) |
CA (1) | CA2123442A1 (es) |
DE (1) | DE69429226T2 (es) |
ES (1) | ES2165375T3 (es) |
TW (1) | TW393622B (es) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684971A (en) * | 1993-12-27 | 1997-11-04 | Intel Corporation | Reservation station with a pseudo-FIFO circuit for scheduling dispatch of instructions |
US5717882A (en) * | 1994-01-04 | 1998-02-10 | Intel Corporation | Method and apparatus for dispatching and executing a load operation to memory |
TW353732B (en) * | 1994-03-31 | 1999-03-01 | Ibm | Processing system and method of operation |
JP3180175B2 (ja) * | 1995-02-13 | 2001-06-25 | 株式会社日立製作所 | 命令レベルの並列処理制御方法およびプロセッサ |
TW448403B (en) * | 1995-03-03 | 2001-08-01 | Matsushita Electric Ind Co Ltd | Pipeline data processing device and method for executing multiple data processing data dependent relationship |
US5802346A (en) * | 1995-06-02 | 1998-09-01 | International Business Machines Corporation | Method and system for minimizing the delay in executing branch-on-register instructions |
GB9514433D0 (en) * | 1995-07-14 | 1995-09-13 | Sgs Thomson Microelectronics | Computer instruction execution |
US5930490A (en) * | 1996-01-02 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions |
US5799167A (en) * | 1996-05-15 | 1998-08-25 | Hewlett-Packard Company | Instruction nullification system and method for a processor that executes instructions out of order |
US5796975A (en) * | 1996-05-24 | 1998-08-18 | Hewlett-Packard Company | Operand dependency tracking system and method for a processor that executes instructions out of order |
US6049864A (en) * | 1996-08-20 | 2000-04-11 | Intel Corporation | Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor |
KR100222039B1 (ko) * | 1996-12-20 | 1999-10-01 | 윤종용 | 수퍼 스칼라 프로세서의 명령 종속성 검증 장치 및 방법 |
US5963723A (en) * | 1997-03-26 | 1999-10-05 | International Business Machines Corporation | System for pairing dependent instructions having non-contiguous addresses during dispatch |
US5918034A (en) * | 1997-06-27 | 1999-06-29 | Sun Microsystems, Inc. | Method for decoupling pipeline stages |
US5928355A (en) * | 1997-06-27 | 1999-07-27 | Sun Microsystems Incorporated | Apparatus for reducing instruction issue stage stalls through use of a staging register |
US6035388A (en) | 1997-06-27 | 2000-03-07 | Sandcraft, Inc. | Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units |
US5870578A (en) * | 1997-12-09 | 1999-02-09 | Advanced Micro Devices, Inc. | Workload balancing in a microprocessor for reduced instruction dispatch stalling |
US6393551B1 (en) | 1999-05-26 | 2002-05-21 | Infineon Technologies North America Corp. | Reducing instruction transactions in a microprocessor |
US6490653B1 (en) * | 1999-06-03 | 2002-12-03 | International Business Machines Corporation | Method and system for optimally issuing dependent instructions based on speculative L2 cache hit in a data processing system |
JP3878508B2 (ja) * | 2001-11-08 | 2007-02-07 | 松下電器産業株式会社 | 回路群制御システム |
US6895497B2 (en) | 2002-03-06 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Multidispatch CPU integrated circuit having virtualized and modular resources and adjustable dispatch priority |
KR100473390B1 (ko) * | 2002-05-24 | 2005-03-08 | 창 원 석 | 케이블티브이용 채널분배기 |
US20040128476A1 (en) * | 2002-12-26 | 2004-07-01 | Robert Nuckolls | Scheme to simplify instruction buffer logic supporting multiple strands |
US20080168260A1 (en) * | 2007-01-08 | 2008-07-10 | Victor Zyuban | Symbolic Execution of Instructions on In-Order Processors |
JP5491071B2 (ja) | 2009-05-20 | 2014-05-14 | エヌイーシーコンピュータテクノ株式会社 | 命令融合演算装置および命令融合演算方法 |
US9122487B2 (en) * | 2009-06-23 | 2015-09-01 | Oracle America, Inc. | System and method for balancing instruction loads between multiple execution units using assignment history |
US9733941B2 (en) * | 2012-10-09 | 2017-08-15 | Advanced Micro Devices, Inc. | Technique for translating dependent instructions |
US9372695B2 (en) | 2013-06-28 | 2016-06-21 | Globalfoundries Inc. | Optimization of instruction groups across group boundaries |
US9348596B2 (en) | 2013-06-28 | 2016-05-24 | International Business Machines Corporation | Forming instruction groups based on decode time instruction optimization |
US10417152B2 (en) * | 2016-06-03 | 2019-09-17 | International Business Machines Corporation | Operation of a multi-slice processor implementing datapath steering |
JP7032647B2 (ja) * | 2018-04-17 | 2022-03-09 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN112559054B (zh) * | 2020-12-22 | 2022-02-01 | 上海壁仞智能科技有限公司 | 用于同步指令的方法和计算系统 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771141A (en) * | 1971-11-08 | 1973-11-06 | Culler Harrison Inc | Data processor with parallel operations per instruction |
JPS5140043A (ja) * | 1974-10-01 | 1976-04-03 | Nippon Telegraph & Telephone | Hanyonyushutsuryokuseigyosochi |
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
US4130885A (en) * | 1976-08-19 | 1978-12-19 | Massachusetts Institute Of Technology | Packet memory system for processing many independent memory transactions concurrently |
US4232366A (en) * | 1978-10-25 | 1980-11-04 | Digital Equipment Corporation | Bus for a data processing system with overlapped sequences |
US4376976A (en) * | 1980-07-31 | 1983-03-15 | Sperry Corporation | Overlapped macro instruction control system |
JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
US5051940A (en) * | 1990-04-04 | 1991-09-24 | International Business Machines Corporation | Data dependency collapsing hardware apparatus |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
JPH0810430B2 (ja) * | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
US4837678A (en) * | 1987-04-07 | 1989-06-06 | Culler Glen J | Instruction sequencer for parallel operation of functional units |
EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
US5247628A (en) * | 1987-11-30 | 1993-09-21 | International Business Machines Corporation | Parallel processor instruction dispatch apparatus with interrupt handler |
US4974155A (en) * | 1988-08-15 | 1990-11-27 | Evans & Sutherland Computer Corp. | Variable delay branch system |
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US5099421A (en) * | 1988-12-30 | 1992-03-24 | International Business Machine Corporation | Variable length pipe operations sequencing |
US5127091A (en) * | 1989-01-13 | 1992-06-30 | International Business Machines Corporation | System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor |
US5075840A (en) * | 1989-01-13 | 1991-12-24 | International Business Machines Corporation | Tightly coupled multiprocessor instruction synchronization |
US5113515A (en) * | 1989-02-03 | 1992-05-12 | Digital Equipment Corporation | Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer |
US5093908A (en) * | 1989-04-17 | 1992-03-03 | International Business Machines Corporation | Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor |
US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
JP2816248B2 (ja) * | 1989-11-08 | 1998-10-27 | 株式会社日立製作所 | データプロセッサ |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
US5251306A (en) * | 1990-01-16 | 1993-10-05 | Advanced Micro Devices, Inc. | Apparatus for controlling execution of a program in a computing device |
JP2866421B2 (ja) * | 1990-01-19 | 1999-03-08 | 株式会社日立製作所 | 複数パス並列処理方法 |
US5301341A (en) * | 1990-11-28 | 1994-04-05 | International Business Machines Corporation | Overflow determination for three-operand alus in a scalable compound instruction set machine which compounds two arithmetic instructions |
US5295249A (en) * | 1990-05-04 | 1994-03-15 | International Business Machines Corporation | Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel |
EP0454985B1 (en) * | 1990-05-04 | 1996-12-18 | International Business Machines Corporation | Scalable compound instruction set machine architecture |
US5504932A (en) * | 1990-05-04 | 1996-04-02 | International Business Machines Corporation | System for executing scalar instructions in parallel based on control bits appended by compounding decoder |
JP2834292B2 (ja) * | 1990-08-15 | 1998-12-09 | 株式会社日立製作所 | データ・プロセッサ |
US5257354A (en) * | 1991-01-16 | 1993-10-26 | International Business Machines Corporation | System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results |
US5283874A (en) * | 1991-10-21 | 1994-02-01 | Intel Corporation | Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee |
JPH05127903A (ja) * | 1991-10-31 | 1993-05-25 | Toshiba Corp | 並列処理マイクロプロセツサ |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
-
1994
- 1994-05-12 CA CA002123442A patent/CA2123442A1/en not_active Abandoned
- 1994-07-15 JP JP6163633A patent/JP2788605B2/ja not_active Expired - Fee Related
- 1994-09-12 BR BR9403516A patent/BR9403516A/pt not_active Application Discontinuation
- 1994-09-14 KR KR1019940023113A patent/KR0133238B1/ko not_active IP Right Cessation
- 1994-09-14 CN CN94115166A patent/CN1047677C/zh not_active Expired - Fee Related
- 1994-09-15 EP EP94306765A patent/EP0644482B1/en not_active Expired - Lifetime
- 1994-09-15 ES ES94306765T patent/ES2165375T3/es not_active Expired - Lifetime
- 1994-09-15 DE DE69429226T patent/DE69429226T2/de not_active Expired - Fee Related
- 1994-09-15 AT AT94306765T patent/ATE209794T1/de not_active IP Right Cessation
- 1994-09-23 TW TW083108818A patent/TW393622B/zh not_active IP Right Cessation
-
1996
- 1996-08-08 US US08/695,750 patent/US5613080A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0644482A1 (en) | 1995-03-22 |
DE69429226D1 (de) | 2002-01-10 |
EP0644482B1 (en) | 2001-11-28 |
JP2788605B2 (ja) | 1998-08-20 |
KR950009453A (ko) | 1995-04-24 |
BR9403516A (pt) | 1995-06-20 |
CA2123442A1 (en) | 1995-03-21 |
KR0133238B1 (ko) | 1998-04-24 |
US5613080A (en) | 1997-03-18 |
TW393622B (en) | 2000-06-11 |
DE69429226T2 (de) | 2002-08-08 |
ATE209794T1 (de) | 2001-12-15 |
CN1120195A (zh) | 1996-04-10 |
CN1047677C (zh) | 1999-12-22 |
JPH07105002A (ja) | 1995-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2165375T3 (es) | Envio de instrucciones a multiples unidades de ejecucion. | |
WO1998021684A3 (en) | Processor having replay architecture | |
AU639953B2 (en) | Data processing system with instruction tag apparatus | |
EP0849665A3 (en) | System and method for register renaming | |
MY105754A (en) | Tightly coupled multiprocessor instruction synchronization. | |
GB2287111B (en) | Method for pipeline processing of instructions by controlling access to a reorder buffer using a register file outside the reorder buffer | |
KR970016945A (ko) | 다중 인스트럭션 실행 방법 및 수퍼스칼라 마이크로프로세서 | |
ATE475930T1 (de) | Verzweigungsbefehl für einen mehrfachverarbeitungsprozessor | |
EP0947926A3 (en) | System and method for multi-tasking, resource sharing, and execution of computer instructions | |
KR940018757A (ko) | 슈퍼스칼라 프로페서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템 | |
KR950027561A (ko) | 처리 시스템 및 그의 동작 방법 | |
US6898700B2 (en) | Efficient saving and restoring state in task switching | |
US6108768A (en) | Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system | |
US6088787A (en) | Enhanced program counter stack for multi-tasking central processing unit | |
KR960029963A (ko) | 프로세서의 인스트럭션 디스패치 대기시간 감소 방법 및 시스템 | |
KR940018743A (ko) | 슈퍼스칼라 프로세서 시스템에서 비순차적 명령어의 디스패치 및 실행을 위한 방법 및 시스템 | |
US6237086B1 (en) | 1 Method to prevent pipeline stalls in superscalar stack based computing systems | |
KR910008565A (ko) | 분기 제어 회로 | |
US5442761A (en) | Method by which packet handler inserts data load instructions in instruction sequence fetched by instruction fetch unit | |
SE9902373D0 (sv) | A processing system and method | |
US7257698B2 (en) | Instruction buffer and method of controlling the instruction buffer where buffer entries are issued in a predetermined order | |
US6170050B1 (en) | Length decoder for variable length data | |
KR910014823A (ko) | 정보처리시스템 | |
BR9403859A (pt) | Sistemas de processamento de informação e método de operá-los | |
JPH01291327A (ja) | 処理モード先取り制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 644482 Country of ref document: ES |