KR100316078B1 - 파이프라인방식프로세서 - Google Patents
파이프라인방식프로세서 Download PDFInfo
- Publication number
- KR100316078B1 KR100316078B1 KR1019970040002A KR19970040002A KR100316078B1 KR 100316078 B1 KR100316078 B1 KR 100316078B1 KR 1019970040002 A KR1019970040002 A KR 1019970040002A KR 19970040002 A KR19970040002 A KR 19970040002A KR 100316078 B1 KR100316078 B1 KR 100316078B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- arithmetic
- comparison
- units
- bits
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 17
- 239000000872 buffer Substances 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 claims 1
- 238000005457 optimization Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000001351 cycling effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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 or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (5)
- (2회정정) 구성가능한 논리 유니트, 명령 메모리(16), 디코더 유니트(18) 및데이터 저장인터페이스 수단(10, 36)을 포함하는, 슈퍼스케일 아키텍처를 가진 파이프라인 방식 프로세서에 있어서,프로그램의 실행시간 동안 다이내믹한 재구성/프로그래밍을 위해 프로그램 가능 하드웨어 구조를 가지며 멀티플렉스 제어되는 s-패러다임 유니트(s-유니트)(30, 34, 32, 24)를 가지며, 상기 s-패러다임 유니트는,- 논리 유니트로서 작용하는 프로그램 가능 구조 버퍼(30),- 정수/어드레스 명령 버퍼(32),- 데이터 저장 인터페이스 수단(36)과의 직접 통신을 위한 정수 레지스터 파일(24),- 프로그램 가능 구조를 가진 기능 유니트(34), 및- 상기 정수 레지스터 파일(24)의 내용을 상기 기능 유니트(34)로 연결하기 위해 멀티플렉서를 통해 접속된 다수의 데이터 링크를 포함하며,상기 기능 유니트(34)는,- 2개의 입력 버스의 2개의 오퍼랜드를 산술 및/또는 논리 연산하여 하나의 출력 버스상에 하나의 결과를 생성시키기 위한 다수의 산술 유니트(50),- 2개의 입력 버스 및 하나의 출력 비트를 가진 다수의 비교 유니트(52),- 상기 산술 유니트(50), 상기 비교 유니트(52) 및 상기 레지스터 파일(24) 사이에 제공되고, 다수의 입력 버스 및 하나 또는 2개의 출력 버스를 가지는 다수의 멀티플렉서(40, 58), 및- 목표 선택시 비교(CoU)의 결과를상기 s-유니트 내부의산술 유니트(50)에 공급하기 위한, 하나의 입력 비트 및 다수의 출력 비트를 가진 다수의 디멀티플렉서(46)를 포함하는 것을 특징으로 하는 프로세서.
- (1회정정) 제 1항에 있어서, 적합한연결을 갖는정수 레지스터 파일(24) 또는 이것에부가된부동 소수점 레지스터 파일을 포함하는 것을 특징으로 하는 프로세서.
- (1회정정) 제 1항 또는 2항에 있어서, 산술 유니트 및 비교 유니트가 프로그램 실행 동안 명령의 한 블록에 대해 그것의 기능면에서 다이내믹하게구성될 수 있고 프로그래밍될 수 있는 것을 특징으로 하는 프로세서.
- (2회정정) 제1항 또는 2항중 어느 한 항에 따른 파이프라인 방식 프로세서로 고속 계산을 하기 위한 방법에 있어서,-어셈블러 코딩 중에s-유니트에서 가급적 큰 블록을 형성하고결정 비트에 의해 실행되거나 또는 스킵되는 조건부 명령을 도입하고,- 부분 유니트에 대한 구성 비트가 프로그램 가능 구조 버퍼에 일시 기억되고 블록의 처리시 s-유니트 내로 로딩되며,상기 결정 비트는 비교에 의해 제어 흐름을 결정하므로, 다이내믹 멀티플렉서(산술 유니트의 서브 타입)가 비교기와 작용하여최상의 데이터 흐름 변환이 이루어지는 것을 특징으로 하는 방법.
- (신설) 제 3항에 따른 파이프라인 방식 프로세서로 고속 계산을 하기 위한 방법에 있어서,- 어셈블러 코딩 중에 s-유니트에서 가급적 큰 블록을 형성하고 결정 비트에 의해 실행되거나 또는 스킵되는 조건부 명령을 도입하고,- 부분 유니트에 대한 구성 비트가 프로그램 가능 구조 버퍼에 일시 기억되고 블록의 처리시 s-유니트 내로 로딩되며,상기 결정 비트는 비교에 의해 제어 흐름을 결정하므로, 다이내믹 멀티플렉서(산술 유니트의 서브 타입)가 비교기와 작용하여 최상의 데이터 흐름 변환이 이루어지는 것을 특징으로 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19634031.4 | 1996-08-23 | ||
DE19634031A DE19634031A1 (de) | 1996-08-23 | 1996-08-23 | Prozessor mit Pipelining-Aufbau |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980018874A KR19980018874A (ko) | 1998-06-05 |
KR100316078B1 true KR100316078B1 (ko) | 2002-01-12 |
Family
ID=7803454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970040002A KR100316078B1 (ko) | 1996-08-23 | 1997-08-22 | 파이프라인방식프로세서 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6061367A (ko) |
EP (1) | EP0825540B1 (ko) |
JP (1) | JPH10105402A (ko) |
KR (1) | KR100316078B1 (ko) |
DE (2) | DE19634031A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0978792A1 (en) * | 1998-08-05 | 2000-02-09 | Italtel s.p.a. | Programmable architecture computer |
DE19843663A1 (de) * | 1998-09-23 | 2000-03-30 | Siemens Ag | Konfigurierbarer Hardware-Block |
DE19843640A1 (de) | 1998-09-23 | 2000-03-30 | Siemens Ag | Verfahren zum Konfigurieren eines konfigurierbaren Hardware-Blocks |
US6237085B1 (en) * | 1998-12-08 | 2001-05-22 | International Business Machines Corporation | Processor and method for generating less than (LT), Greater than (GT), and equal to (EQ) condition code bits concurrent with a logical or complex operation |
US7200842B1 (en) * | 1999-02-02 | 2007-04-03 | Sun Microsystems, Inc. | Object-oriented instruction set for resource-constrained devices |
EP1073951A1 (en) | 1999-02-15 | 2001-02-07 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
EP1069513A1 (de) * | 1999-07-15 | 2001-01-17 | Infineon Technologies AG | Programmgesteuerte Einheit |
US6359827B1 (en) | 2000-08-22 | 2002-03-19 | Micron Technology, Inc. | Method of constructing a very wide, very fast distributed memory |
US6754801B1 (en) * | 2000-08-22 | 2004-06-22 | Micron Technology, Inc. | Method and apparatus for a shift register based interconnection for a massively parallel processor array |
US6754802B1 (en) | 2000-08-25 | 2004-06-22 | Micron Technology, Inc. | Single instruction multiple data massively parallel processor systems on a chip and system using same |
US6912626B1 (en) | 2000-08-31 | 2005-06-28 | Micron Technology, Inc. | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner |
TW567695B (en) * | 2001-01-17 | 2003-12-21 | Ibm | Digital baseband system |
EP1431872A1 (en) * | 2002-12-19 | 2004-06-23 | Alcatel | A digital signal processor with reconfigurable data path |
US9047094B2 (en) | 2004-03-31 | 2015-06-02 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US8484441B2 (en) * | 2004-03-31 | 2013-07-09 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths |
US7949856B2 (en) * | 2004-03-31 | 2011-05-24 | Icera Inc. | Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit |
GB2414474A (en) * | 2004-05-24 | 2005-11-30 | Bw Technologies Ltd | Device for purifying fluids, in particular water |
US11150721B2 (en) * | 2012-11-07 | 2021-10-19 | Nvidia Corporation | Providing hints to an execution unit to prepare for predicted subsequent arithmetic operations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485629A (en) * | 1993-01-22 | 1996-01-16 | Intel Corporation | Method and apparatus for executing control flow instructions in a control flow pipeline in parallel with arithmetic instructions being executed in arithmetic pipelines |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69032385T2 (de) * | 1989-09-12 | 1999-01-28 | Philips Electronics N.V., Eindhoven | Dynamisch rekonfigurierbarer Signalprozessor und Prozessoranordnung |
US5361373A (en) * | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5559975A (en) * | 1994-06-01 | 1996-09-24 | Advanced Micro Devices, Inc. | Program counter update mechanism |
TW305973B (ko) * | 1995-02-15 | 1997-05-21 | Siemens Ag | |
US5794062A (en) * | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
-
1996
- 1996-08-23 DE DE19634031A patent/DE19634031A1/de not_active Withdrawn
-
1997
- 1997-08-20 JP JP9238917A patent/JPH10105402A/ja not_active Withdrawn
- 1997-08-21 EP EP97114501A patent/EP0825540B1/de not_active Expired - Lifetime
- 1997-08-21 DE DE59710022T patent/DE59710022D1/de not_active Expired - Lifetime
- 1997-08-22 KR KR1019970040002A patent/KR100316078B1/ko not_active IP Right Cessation
- 1997-08-25 US US08/918,282 patent/US6061367A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485629A (en) * | 1993-01-22 | 1996-01-16 | Intel Corporation | Method and apparatus for executing control flow instructions in a control flow pipeline in parallel with arithmetic instructions being executed in arithmetic pipelines |
Also Published As
Publication number | Publication date |
---|---|
KR19980018874A (ko) | 1998-06-05 |
DE59710022D1 (de) | 2003-06-12 |
JPH10105402A (ja) | 1998-04-24 |
DE19634031A1 (de) | 1998-02-26 |
US6061367A (en) | 2000-05-09 |
EP0825540A1 (de) | 1998-02-25 |
EP0825540B1 (de) | 2003-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100316078B1 (ko) | 파이프라인방식프로세서 | |
US5958048A (en) | Architectural support for software pipelining of nested loops | |
US5233694A (en) | Pipelined data processor capable of performing instruction fetch stages of a plurality of instructions simultaneously | |
US9329866B2 (en) | Methods and apparatus for adapting pipeline stage latency based on instruction type | |
US5884060A (en) | Processor which performs dynamic instruction scheduling at time of execution within a single clock cycle | |
JP2550213B2 (ja) | 並列処理装置および並列処理方法 | |
KR100284789B1 (ko) | N-지로 분기를 갖는 슈퍼스칼라 또는 초장 명령어 워드컴퓨터에서 다음 명령어를 선택하는 방법 및 장치 | |
KR100309566B1 (ko) | 파이프라인프로세서에서다중명령어를무리짓고,그룹화된명령어를동시에발행하고,그룹화된명령어를실행시키는방법및장치 | |
US8677330B2 (en) | Processors and compiling methods for processors | |
JPH1165844A (ja) | パイプラインバイパス機能を有するデータ処理装置 | |
US20030120882A1 (en) | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor | |
US6064818A (en) | Straight path optimization for compilers | |
EP3746883B1 (en) | Processor having multiple execution lanes and coupling of wide memory interface via writeback circuit | |
US20030120900A1 (en) | Apparatus and method for a software pipeline loop procedure in a digital signal processor | |
US5778208A (en) | Flexible pipeline for interlock removal | |
KR100431975B1 (ko) | 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 | |
US20030120905A1 (en) | Apparatus and method for executing a nested loop program with a software pipeline loop procedure in a digital signal processor | |
US20030212881A1 (en) | Method and apparatus to enhance performance in a multi-threaded microprocessor with predication | |
JP2003316598A (ja) | 高信頼性モード動作併用長命令実行プロセッサ | |
JP2004021890A (ja) | データ処理装置 | |
US20030182511A1 (en) | Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor | |
WO2005036384A2 (en) | Instruction encoding for vliw processors | |
JP2008523523A (ja) | プログラム内のループ用のコンパイル方法、コンパイル装置およびコンピュータシステム | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
EP1117032A2 (en) | Processor with improved branch efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19970822 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19990315 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 19970822 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20001214 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20010827 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20011116 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20011117 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |