ATE150191T1 - Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor - Google Patents

Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor

Info

Publication number
ATE150191T1
ATE150191T1 AT89308996T AT89308996T ATE150191T1 AT E150191 T1 ATE150191 T1 AT E150191T1 AT 89308996 T AT89308996 T AT 89308996T AT 89308996 T AT89308996 T AT 89308996T AT E150191 T1 ATE150191 T1 AT E150191T1
Authority
AT
Austria
Prior art keywords
specifiers
implied
express
processing unit
instructions
Prior art date
Application number
AT89308996T
Other languages
English (en)
Inventor
David B Fite
Mark A Firstenberg
John E Murray
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 ATE150191T1 publication Critical patent/ATE150191T1/de

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30003—Arrangements for executing specific machine instructions
    • G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054—Unconditional branch instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016—Decoding the operand specifier, e.g. specifier format
    • G06F9/30163—Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016—Decoding the operand specifier, e.g. specifier format
    • G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/3017—Runtime instruction translation, e.g. macros
    • G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3802—Instruction prefetching
    • G06F9/3816—Instruction alignment, e.g. cache line crossing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3818—Decoding for concurrent execution
    • G06F9/3822—Parallel decoding, e.g. parallel decode units
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3824—Operand accessing

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)
  • Image Processing (AREA)
AT89308996T 1989-02-03 1989-09-05 Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor ATE150191T1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/306,846 US5142633A (en) 1989-02-03 1989-02-03 Preprocessing implied specifiers in a pipelined processor

Publications (1)

Publication Number Publication Date
ATE150191T1 true ATE150191T1 (de) 1997-03-15

Family

ID=23187130

Family Applications (1)

Application Number Title Priority Date Filing Date
AT89308996T ATE150191T1 (de) 1989-02-03 1989-09-05 Verfahren und datenverarbeitungseinheit zur vorverarbeitung von implizierten spezifizierern in einem pipeline-prozessor

Country Status (6)

Country Link
US (1) US5142633A (de)
EP (1) EP0380849B1 (de)
JP (1) JPH031235A (de)
AT (1) ATE150191T1 (de)
CA (1) CA1323940C (de)
DE (1) DE68927855T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471591A (en) * 1990-06-29 1995-11-28 Digital Equipment Corporation Combined write-operand queue and read-after-write dependency scoreboard
EP0463965B1 (de) * 1990-06-29 1998-09-09 Digital Equipment Corporation Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
JP2956707B2 (ja) * 1990-10-29 1999-10-04 富士通株式会社 情報処理装置
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5321810A (en) * 1991-08-21 1994-06-14 Digital Equipment Corporation Address method for computer graphics system
WO1993004457A2 (en) * 1991-08-21 1993-03-04 Digital Equipment Corporation Address method for computer graphics system
WO1993020505A2 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
KR950701437A (ko) 1992-05-01 1995-03-23 요시오 야마자끼 슈퍼스칼라 마이크로프로세서에서의 명령어 회수를 위한 시스템 및 방법
KR100292300B1 (ko) 1992-12-31 2001-09-17 야스카와 히데아키 레지스터재명명시스템및방법
US5604912A (en) * 1992-12-31 1997-02-18 Seiko Epson Corporation System and method for assigning tags to instructions to control instruction execution
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
US5421022A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Apparatus and method for speculatively executing instructions in a computer system
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution
US6704861B1 (en) 1993-06-17 2004-03-09 Hewlett-Packard Development Company, L.P. Mechanism for executing computer instructions in parallel
US5428807A (en) * 1993-06-17 1995-06-27 Digital Equipment Corporation Method and apparatus for propagating exception conditions of a computer system
US6393550B1 (en) * 1993-12-30 2002-05-21 Intel Corporation Method and apparatus for pipeline streamlining where resources are immediate or certainly retired
US6101597A (en) * 1993-12-30 2000-08-08 Intel Corporation Method and apparatus for maximum throughput scheduling of dependent operations in a pipelined processor
US5553256A (en) * 1994-02-28 1996-09-03 Intel Corporation Apparatus for pipeline streamlining where resources are immediate or certainly retired
US5584037A (en) * 1994-03-01 1996-12-10 Intel Corporation Entry allocation in a circular buffer
GB9412434D0 (en) 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
JP3493369B2 (ja) * 1994-12-13 2004-02-03 株式会社ルネサステクノロジ コンピュータ
US6128720A (en) * 1994-12-29 2000-10-03 International Business Machines Corporation Distributed processing array with component processors performing customized interpretation of instructions
US6041403A (en) * 1996-09-27 2000-03-21 Intel Corporation Method and apparatus for generating a microinstruction responsive to the specification of an operand, in addition to a microinstruction based on the opcode, of a macroinstruction
US6192463B1 (en) 1997-10-07 2001-02-20 Microchip Technology, Inc. Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6098160A (en) * 1997-10-28 2000-08-01 Microchip Technology Incorporated Data pointer for outputting indirect addressing mode addresses within a single cycle and method therefor
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
WO2001069378A2 (en) * 2000-03-10 2001-09-20 Arc International Plc Method and apparatus for enhancing the performance of a pipelined data processor
GB2363869B (en) 2000-06-20 2004-06-23 Element 14 Inc Register addressing
US9304932B2 (en) 2012-12-20 2016-04-05 Qualcomm Incorporated Instruction cache having a multi-bit way prediction mask
WO2016171866A1 (en) * 2015-04-24 2016-10-27 Optimum Semiconductor Technologies, Inc. Computer processor with separate registers for addressing memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162519A (en) * 1975-01-20 1979-07-24 Nixdorf Computer Ag Data processor with address allocation to operations
US4241397A (en) * 1977-10-25 1980-12-23 Digital Equipment Corporation Central processor unit for executing instructions with a special operand specifier of indeterminate length
JPS54100634A (en) * 1978-01-26 1979-08-08 Toshiba Corp Computer
US4241399A (en) * 1978-10-25 1980-12-23 Digital Equipment Corporation Calling instructions for a data processing system
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
US4873629A (en) * 1984-06-20 1989-10-10 Convex Computer Corporation Instruction processing unit for computer
US4789925A (en) * 1985-07-31 1988-12-06 Unisys Corporation Vector data logical usage conflict detection
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
JPH06100967B2 (ja) * 1987-06-10 1994-12-12 三菱電機株式会社 パイプライン処理機構を持つデータ処理装置および処理方法
JPH07120278B2 (ja) * 1988-07-04 1995-12-20 三菱電機株式会社 データ処理装置

Also Published As

Publication number Publication date
CA1323940C (en) 1993-11-02
DE68927855D1 (de) 1997-04-17
DE68927855T2 (de) 1997-10-16
US5142633A (en) 1992-08-25
JPH031235A (ja) 1991-01-07
EP0380849A3 (de) 1992-08-12
EP0380849A2 (de) 1990-08-08
EP0380849B1 (de) 1997-03-12

Similar Documents

Publication Publication Date Title
DE68927855D1 (de) Verfahren und Datenverarbeitungseinheit zur Vorverarbeitung von implizierten Spezifizierern in einem Pipeline-Prozessor
DE69024068D1 (de) Verfahren und Datenverarbeitungseinheit zur Pipeline- Verarbeitung von Register- und Registeränderungs- Spezifizierern in dem gleichen Befehl
DE68928812D1 (de) Vorrichtung zur Auflösung von einer variablen Anzahl von möglichen Speicherzugriffskonflikten in einem Pipeline-Rechnersystem und Verfahren dazu
EP0335515A3 (de) Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem
ATE185205T1 (de) Risc mikroprozessorarchitektur mit mehrere registersätze von unterschiedlichen typen
ATE166471T1 (de) Verfahren und digitaler computer zur vorverarbeitung mehrerer befehle
CA2037708A1 (en) General purpose compound apparatus for instruction-level parallel processors
EP0735463A3 (de) Rechnerprozessor mit Registerspeicher mit reduzierter Bandbreite von Lese- und/oder Schreibtor
ATE161640T1 (de) Verfahren zur vorverarbeitung mehrerer befehle
DE69942011D1 (de) Programmkodekonvertierung mit verringerter Übersetzung
US6950926B1 (en) Use of a neutral instruction as a dependency indicator for a set of instructions
ATE242508T1 (de) Ausnahmebehandlung in einem datenprozessor
EP0354585A3 (de) Mikroprozessor mit Befehlspipeline
EP0331191A3 (de) Informationsverarbeitungssystem das geeignet ist, eine vorzeitige Ausführung durchzuführen
DE69033122D1 (de) Anordnung und Verfahren zur Übersetzung virtueller Adressen von nicht ausgerichteten Doppel-Wörtern
JPS57161943A (en) Data processing device
BR9810768A (pt) Processo de manuseio de instruções especìficas, e, processador
US5568622A (en) Method and apparatus for minimizing the number of control words in a brom control store of a microprogrammed central processor
SE8500156L (sv) Forfarande for behandling av maskinkodade instruktionsord och dataprocessor for utforande av forfarandet
JPS5730041A (en) Control system for local memory
JPS5633746A (en) Arithmetic processor having logging function
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JPS5472637A (en) Rom data reading method
JPS61262931A (ja) オペランド解析のための命令を有する情報処理装置
ATE118905T1 (de) Verfahren und anordnung zur verringerung der anzahl von verlustzyklen bei der bearbeitung von befehlen in nach dem fliessbandprinzip arbeitenden datenverarbeitungsanlagen.