ATE131636T1 - Verfahren und datenverarbeitungseinheit zur pipeline- verarbeitung von register- und registeränderungs- spezifizierern in dem gleichen befehl - Google Patents

Verfahren und datenverarbeitungseinheit zur pipeline- verarbeitung von register- und registeränderungs- spezifizierern in dem gleichen befehl

Info

Publication number
ATE131636T1
ATE131636T1 AT90300994T AT90300994T ATE131636T1 AT E131636 T1 ATE131636 T1 AT E131636T1 AT 90300994 T AT90300994 T AT 90300994T AT 90300994 T AT90300994 T AT 90300994T AT E131636 T1 ATE131636 T1 AT E131636T1
Authority
AT
Austria
Prior art keywords
register
instruction
specifier
intra
read conflict
Prior art date
Application number
AT90300994T
Other languages
English (en)
Inventor
David B Fite
Mark A Firstenberg
Lawrence O Herman
John E Murray
Ronald M Salett
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of ATE131636T1 publication Critical patent/ATE131636T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
AT90300994T 1989-02-03 1990-01-31 Verfahren und datenverarbeitungseinheit zur pipeline- verarbeitung von register- und registeränderungs- spezifizierern in dem gleichen befehl ATE131636T1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/306,833 US5167026A (en) 1989-02-03 1989-02-03 Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers

Publications (1)

Publication Number Publication Date
ATE131636T1 true ATE131636T1 (de) 1995-12-15

Family

ID=23187069

Family Applications (1)

Application Number Title Priority Date Filing Date
AT90300994T ATE131636T1 (de) 1989-02-03 1990-01-31 Verfahren und datenverarbeitungseinheit zur pipeline- verarbeitung von register- und registeränderungs- spezifizierern in dem gleichen befehl

Country Status (6)

Country Link
US (1) US5167026A (de)
EP (1) EP0381469B1 (de)
JP (1) JPH02282826A (de)
AT (1) ATE131636T1 (de)
CA (1) CA2009163A1 (de)
DE (1) DE69024068T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2507638B2 (ja) * 1989-12-01 1996-06-12 三菱電機株式会社 デ―タ処理装置
DE69130129T2 (de) * 1990-02-23 1999-05-06 Nec Corp., Tokio/Tokyo Pipelinemikroprozessor mit Vorberechnung der effektiven Adresse
US5432918A (en) * 1990-06-29 1995-07-11 Digital Equipment Corporation Method and apparatus for ordering read and write operations using conflict bits in a write queue
US5471591A (en) * 1990-06-29 1995-11-28 Digital Equipment Corporation Combined write-operand queue and read-after-write dependency scoreboard
DE69130138T2 (de) * 1990-06-29 1999-05-06 Digital Equipment Corp., Maynard, Mass. Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
US5450555A (en) * 1990-06-29 1995-09-12 Digital Equipment Corporation Register logging in pipelined computer using register log queue of register content changes and base queue of register log queue pointers for respective instructions
JP2556182B2 (ja) * 1990-08-29 1996-11-20 三菱電機株式会社 デ−タ処理装置
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5826055A (en) * 1991-07-08 1998-10-20 Seiko Epson Corporation System and method for retiring instructions in a superscalar microprocessor
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5414821A (en) * 1991-12-17 1995-05-09 Unisys Corporation Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
SG45269A1 (en) * 1992-02-06 1998-01-16 Intel Corp End bit markers for instruction decode
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp., Tokio/Tokyo Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (de) * 1992-05-01 1997-03-05 Seiko Epson Corporation Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
WO1994016384A1 (en) * 1992-12-31 1994-07-21 Seiko Epson Corporation System and method for register renaming
US5404559A (en) * 1993-03-22 1995-04-04 Compaq Computer Corporation Apparatus for asserting an end of cycle signal to a processor bus in a computer system if a special cycle is detected on the processor bus without taking action on the special cycle
US6003120A (en) * 1993-12-30 1999-12-14 Intel Corporation Method and apparatus for performing variable length processor write cycles
US5758116A (en) * 1994-09-30 1998-05-26 Intel Corporation Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions
JP3400458B2 (ja) * 1995-03-06 2003-04-28 株式会社 日立製作所 情報処理装置
US5943494A (en) * 1995-06-07 1999-08-24 International Business Machines Corporation Method and system for processing multiple branch instructions that write to count and link registers
US5872947A (en) * 1995-10-24 1999-02-16 Advanced Micro Devices, Inc. Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions
US5809272A (en) * 1995-11-29 1998-09-15 Exponential Technology Inc. Early instruction-length pre-decode of variable-length instructions in a superscalar processor
US5895497A (en) * 1995-12-06 1999-04-20 Texas Instruments Incorporated Microprocessor with pipelining, memory size evaluation, micro-op code and tags
US5822559A (en) * 1996-01-02 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for aligning variable byte-length instructions to a plurality of issue positions
US5867680A (en) * 1996-07-24 1999-02-02 Advanced Micro Devices, Inc. Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions
US6049863A (en) * 1996-07-24 2000-04-11 Advanced Micro Devices, Inc. Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor
US6151705A (en) * 1997-10-30 2000-11-21 Hewlett-Packard Company Efficient use of the base register auto-increment feature of memory access instructions
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US6775764B1 (en) * 2001-04-24 2004-08-10 Cisco Technology, Inc Search function for data lookup
JP2005006381A (ja) 2003-06-10 2005-01-06 Hitachi Ltd スイッチング素子の駆動回路
US9240023B1 (en) * 2013-01-30 2016-01-19 Amazon Technologies, Inc. Precomputing processes associated with requests
GB2522990B (en) * 2013-12-20 2016-08-03 Imagination Tech Ltd Processor with virtualized instruction set architecture and methods
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5931734B2 (ja) * 1977-10-25 1984-08-03 デイジタル イクイプメント コ−ポレ−シヨン 特別のオペランド指定子を持つた命令を実行する中央処理装置
FR2420168B1 (fr) * 1978-03-16 1986-09-26 Ibm Dispositif de pre-traitement d'instructions dans un systeme de traitement de donnees
US4305124A (en) * 1978-06-09 1981-12-08 Ncr Corporation Pipelined computer
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
USRE32493E (en) * 1980-05-19 1987-09-01 Hitachi, Ltd. Data processing unit with pipelined operands
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
JPS61160142A (ja) * 1984-12-29 1986-07-19 Hitachi Ltd デ−タ処理装置
US4789925A (en) * 1985-07-31 1988-12-06 Unisys Corporation Vector data logical usage conflict detection
US4903196A (en) * 1986-05-02 1990-02-20 International Business Machines Corporation Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US4891753A (en) * 1986-11-26 1990-01-02 Intel Corporation Register scorboarding on a microprocessor chip
JPH0810430B2 (ja) * 1986-11-28 1996-01-31 株式会社日立製作所 情報処理装置
US4991078A (en) * 1987-09-29 1991-02-05 Digital Equipment Corporation Apparatus and method for a pipelined central processing unit in a data processing system
JPH07120278B2 (ja) * 1988-07-04 1995-12-20 三菱電機株式会社 データ処理装置

Also Published As

Publication number Publication date
EP0381469B1 (de) 1995-12-13
DE69024068T2 (de) 1996-10-17
US5167026A (en) 1992-11-24
EP0381469A3 (de) 1992-09-02
JPH02282826A (ja) 1990-11-20
CA2009163A1 (en) 1990-08-03
DE69024068D1 (de) 1996-01-25
EP0381469A2 (de) 1990-08-08

Similar Documents

Publication Publication Date Title
ATE131636T1 (de) Verfahren und datenverarbeitungseinheit zur pipeline- verarbeitung von register- und registeränderungs- spezifizierern in dem gleichen befehl
ATE150191T1 (de) Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor
ATE161640T1 (de) Verfahren zur vorverarbeitung mehrerer befehle
EP0399762A3 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
EP0335515A3 (de) Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem
EP0913767A3 (de) Verfahren und Anordnung zur Veränderung der Durchführung eines Nachfolgebefehls in einem Dataprozessor
CA2029088A1 (en) Instructing method and execution system
ATE166471T1 (de) Verfahren und digitaler computer zur vorverarbeitung mehrerer befehle
DE3579507D1 (de) Virtuelle vektorregister fuer vektorverarbeitungssystem.
CA2123448A1 (en) Blackout Logic for Dual Execution Unit Processor
KR900006853A (ko) 마이크로 프로세서
EP0354585A3 (de) Mikroprozessor mit Befehlspipeline
EP0984358A3 (de) Datenverarbeitungsvorrichtung
JPH056894B2 (de)
JPS5729153A (en) Control system for instruction processing order
JPS6488837A (en) Data processor
KR890012224A (ko) 정보처리장치
JPS57161943A (en) Data processing device
JPS5760441A (en) Information processing equipment
JPS6355634A (ja) デ−タ処理システム
SE9702762L (sv) Metod vid processor för att hantera villkorade hoppinstruktioner samt processor anpassad att verka enligt den angivna metoden
DE3688506D1 (de) Datenverarbeitungsanlage.
JPS57196356A (en) Data processing method
JPS6455602A (en) Instruction processing circuit for programmable controller
JPS5633746A (en) Arithmetic processor having logging function

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties