KR910012915A - 소프트웨어 예정 기법을 사용한 파이프라인 브레이크 최소화 프로세스 - Google Patents

소프트웨어 예정 기법을 사용한 파이프라인 브레이크 최소화 프로세스 Download PDF

Info

Publication number
KR910012915A
KR910012915A KR1019900021027A KR900021027A KR910012915A KR 910012915 A KR910012915 A KR 910012915A KR 1019900021027 A KR1019900021027 A KR 1019900021027A KR 900021027 A KR900021027 A KR 900021027A KR 910012915 A KR910012915 A KR 910012915A
Authority
KR
South Korea
Prior art keywords
buffer
instruction
proceeding
transfer
control
Prior art date
Application number
KR1019900021027A
Other languages
English (en)
Other versions
KR970005458B1 (en
Inventor
이.킹 스테펜
Original Assignee
루이스 피. 엘빈저
뷸 에이치엔 인포오메이숀 시스템즈 인코오포레이티드
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 루이스 피. 엘빈저, 뷸 에이치엔 인포오메이숀 시스템즈 인코오포레이티드 filed Critical 루이스 피. 엘빈저
Publication of KR910012915A publication Critical patent/KR910012915A/ko
Application granted granted Critical
Publication of KR970005458B1 publication Critical patent/KR970005458B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • G06F8/4451Avoiding pipeline stalls

Abstract

내용 없음.

Description

소프트웨어 예정 기법을 사용한 파이프라인 브레이크 최소화 프로세스
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제6도는 본 발명의 제1서브-프로세스 구성요소에 주어진 상세한 플로우챠트.
제8도는 파이프라인 브레이크를 방지하도록 본 발명에 따라 기록된 파이프 라인내의 명령을 나타내는 표로서 제1도와 유사한 도면.

Claims (6)

  1. 파이프라인 브레이크를 최소화시키도록 파이프라인식 아키텍쳐 프로세서에 사용을 위해 콤파일 프로그램의 명령 순서를 예정하는 프로세스에 있어서, A)명령 버퍼내에 이미 있는 명령의 표시와 관련하여 프로세스될 새로운 명령의 표시를 수신하도록 명령을 설정하는 단계; B)프로세스될 명령이 남아 있는 경우, 새로운 명령을 호출하고 상기 프로세스를 종결하는 단계; C)상기 새로운 명령이 프로세서되도록 그 메모리 및 레지스터의 사용과 관련하여 상기 명령상에 정보를 제공하는 어트리뷰트 필드를 설정하는 단계; D)상기 새로운 명령의 어트리뷰트 필드와 버퍼내에 표시된 명령의 어트리뷰트 필드 사이의 불일치를 확인하도록 그들을 논리적으로 비교하는 단계; E) 상기 단계 D)에서 불일치가 없는 것으로 확인되는 경우 단계 F)로 진행하는 단계; F)버퍼내에 표시된 최구의 명령을 목적 모듈로 전송하고, 새로운 명령의 표시를 상기 버퍼내로 인입시키는 단계 G)상기 단계 B)로 복귀하는 단계; H)상기 단계 D)에서 불일치가 없는 것으로 확인되는 경우 단계 I)로 진행하는 단계 I)버퍼내에 존재하는 최신의 명령을 버퍼내의 앞쪽의 위치로 전송될 캔리테이트 Im으로서 지정하는 단계; J)명령 Im과 In의 버퍼내의 위치가 안전하게 교환될 수 있는지 여부를 판단하도록 Im보다 앞족의 위치에 있는 버퍼내에 표시된 명령중 하나인 In의 어트리뷰트 필드와 Im의 어트리뷰트 필드를 대칭적으로 비교하는 단계; K)Im과 In이 안전하게 교환될 수 있는 경우, Im이 버퍼내에서 아직도 앞쪽으로 전송될 수 있는지 여부를 판단하도록 상기 교환을 효과적으로 하여 단계 J)로 복귀하는 단계; 및, L)Im과 In이 안전하게 교환될 수 없는 경우 또는 In으로서 지정을 하기 위한 명령이 버퍼내에 없는 경우 단계 F)로 진행하는 단계를 포함하는 것을 특징으로 하는 프로세스.
  2. 제1항에 있어서, 상기 단계 C)는 어드레싱 수행될 수 있는 즉, 레지스터가 사용되는 방식, 레지스터가 사용되고, 레지스터가 수정되는 방식 및 예정 프로세스가 적용되는 소정의 컴퓨터 프로세서의 레퍼터리내에 레지스터가 각 명령에 대해 수정되는 방식의 인코드 묘사를 포함하는 명령 어트리뷰트 테이블의 내용을 액세싱함으로써 이루어지는 것을 특징으로 하는 프로세스.
  3. 제1항에 있어서, 중간 단계 G)와 B)는 M) 버퍼내에 방급 인입된 새로운 명령이 제어의 전달인지 여부를 판단하는 단계; N)상기 단계 M)에서의 판단이 제어의 전달인 경우 목적 모듈로 버퍼를 플러슁하여 단계 B)로 진행하는 단계; 및 O)상기 단계 M)에서의 판단이 제어의 전달이 아닌 경우 단계 B)로 진행하는 단계를 추가로 포함하는 것을 특징으로 하는 프로세서.
  4. 제2항에 있어서, 상기 중간 단계 G)와 B)는 M)버퍼내에 방금 인입된 새로운 명령이 제어의 전달인지 여부를 판단하는 단계; N)상기 단계M)에서의 판단이 제어의 전달인 경우 목적모듈로 버퍼를 플러슁하여 단계 B)로 진행하는 단계 및, O)상기 단계 M)에서의 판단이 제어의 전달이 아닌 경우 단계 B)로 진행하는 단계로 추가로 포함하는 것을 특징으로 하는 프로세스.
  5. 제3항에 있어서, 단계N)동안, 그 적정한 시간에서 상기 프로세스의 재진입을 위해 수신지 라벨이 발생되는 것을 특징으로 하는 프로세스.
  6. 제4항에 있어서, 단계N)동안, 그 적정한 시간에서 상기 프로세서의 재진입을 위해 수신지 라벨이 발생되는 것을 특징으로 하는 프로세스.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR90021027A 1989-12-21 1990-12-19 Minimizing hardware pipeline breaks using software scheduling techniques KR970005458B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US454,222 1989-12-21
US07/454,222 US5119495A (en) 1989-12-21 1989-12-21 Minimizing hardware pipeline breaks using software scheduling techniques during compilation

Publications (2)

Publication Number Publication Date
KR910012915A true KR910012915A (ko) 1991-08-08
KR970005458B1 KR970005458B1 (en) 1997-04-16

Family

ID=23803794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR90021027A KR970005458B1 (en) 1989-12-21 1990-12-19 Minimizing hardware pipeline breaks using software scheduling techniques

Country Status (8)

Country Link
US (1) US5119495A (ko)
EP (1) EP0433864B1 (ko)
JP (1) JP2898105B2 (ko)
KR (1) KR970005458B1 (ko)
AU (1) AU642927B2 (ko)
CA (1) CA2031112C (ko)
DE (1) DE69032394T2 (ko)
SG (1) SG48834A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68927946T2 (de) * 1988-08-02 1997-10-16 Philips Electronics Nv Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre
JPH02234274A (ja) * 1989-03-08 1990-09-17 Hitachi Ltd パイプライン制御論理の自動生成方法及び制御論理
CA2010067C (en) * 1990-02-14 1993-10-26 Steven Murray Hoxey Reducing pipeline delays in compilers by code hoisting
IL98248A0 (en) * 1991-05-23 1992-06-21 Ibm Israel Instruction scheduler for a computer
US5404469A (en) * 1992-02-25 1995-04-04 Industrial Technology Research Institute Multi-threaded microprocessor architecture utilizing static interleaving
DE4237417C2 (de) * 1992-03-25 1997-01-30 Hewlett Packard Co Datenverarbeitungssystem
WO1994007197A1 (de) * 1992-09-22 1994-03-31 Siemens Aktiengesellschaft Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem
JP3338488B2 (ja) * 1992-11-18 2002-10-28 富士通株式会社 データ処理装置の検証方法及び装置
GB9412439D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction pipelining
JP3113792B2 (ja) * 1995-04-27 2000-12-04 松下電器産業株式会社 最適化装置
US5815676A (en) * 1995-04-28 1998-09-29 Apple Computer, Inc. Address bus arbiter for pipelined transactions on a split bus
US5901295A (en) * 1995-04-28 1999-05-04 Apple Computer, Inc. Address and data bus arbiter for pipelined transactions on a split bus
EP0755003A2 (en) * 1995-07-19 1997-01-22 Sun Microsystems, Inc. Method and apparatus for reordering components of computer programs
US6230317B1 (en) * 1997-07-11 2001-05-08 Intel Corporation Method and apparatus for software pipelining of nested loops
JP3220055B2 (ja) * 1997-07-17 2001-10-22 松下電器産業株式会社 機械語命令列またはアセンブリ言語命令列を最適化する最適化装置、及び、高級言語で記載されたソースプログラムを機械語またはアセンブリ言語の命令列に変換するコンパイラ装置。
US6332214B1 (en) * 1998-05-08 2001-12-18 Intel Corporation Accurate invalidation profiling for cost effective data speculation
US6381691B1 (en) * 1999-08-13 2002-04-30 International Business Machines Corporation Method and apparatus for reordering memory operations along multiple execution paths in a processor
US7401328B2 (en) * 2003-12-18 2008-07-15 Lsi Corporation Software-implemented grouping techniques for use in a superscalar data processing system
US8612951B2 (en) * 2009-04-21 2013-12-17 Oracle International Corporation Method of determining which computer program functions are changed by an arbitrary source code modification
US8423981B2 (en) * 2009-06-18 2013-04-16 National Instruments Corporation Compiling a graphical program having a textual language program portion for a real time target

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295193A (en) * 1979-06-29 1981-10-13 International Business Machines Corporation Machine for multiple instruction execution
US4493027A (en) * 1981-05-22 1985-01-08 Data General Corporation Method of performing a call operation in a digital data processing system having microcode call and return operations
JPS62259142A (ja) * 1986-05-02 1987-11-11 Nec Corp 命令のスケジユ−リング処理方式
US4965724A (en) * 1987-03-05 1990-10-23 Oki Electric Industry Co., Ltd. Compiler system using reordering of microoperations to eliminate interlocked instructions for pipelined processing of assembler source program

Also Published As

Publication number Publication date
SG48834A1 (en) 1998-05-18
JP2898105B2 (ja) 1999-05-31
DE69032394D1 (de) 1998-07-16
JPH03291726A (ja) 1991-12-20
EP0433864A3 (en) 1993-06-09
EP0433864B1 (en) 1998-06-10
KR970005458B1 (en) 1997-04-16
AU6696690A (en) 1991-06-27
CA2031112C (en) 1997-05-06
AU642927B2 (en) 1993-11-04
DE69032394T2 (de) 1999-03-25
CA2031112A1 (en) 1991-06-22
EP0433864A2 (en) 1991-06-26
US5119495A (en) 1992-06-02

Similar Documents

Publication Publication Date Title
KR910012915A (ko) 소프트웨어 예정 기법을 사용한 파이프라인 브레이크 최소화 프로세스
US4841436A (en) Tag Data processing apparatus for a data flow computer
KR910012913A (ko) 명령태그(tag)장치를 구비한 테이터처리시스팀
KR960032172A (ko) 컴퓨터 시스템
KR870000643A (ko) 쌍방향성 분기 예상 및 최적화방법 및 장치
KR900012155A (ko) 데이타 처리 시스템
KR910010301A (ko) 명령 지정방법 및 실행장치
JP2730007B2 (ja) データ処理装置およびコンピュータ・プログラムの実行方法
KR950027561A (ko) 처리 시스템 및 그의 동작 방법
KR920001323A (ko) 브랜치를 제거하여 컴퓨터 성능을 개선하는 프로세서 동작방법
KR950027565A (ko) 처리 시스템 및 그의 동작 방법
KR910008565A (ko) 분기 제어 회로
US5442761A (en) Method by which packet handler inserts data load instructions in instruction sequence fetched by instruction fetch unit
GB2016753A (en) Data Processing System
EP0422784B1 (en) Information transfer in information processing systems
JPS6240538A (ja) デ−タ処理装置
US20230028929A1 (en) Execution elision of intermediate instruction by processor
JPS62282332A (ja) 情報処理装置
JPS56147246A (en) Program control device
KR960001081B1 (ko) 호스트 시스템에서 실시간 데이타베이스 관리 시스팀(dbms)의 시뮬레이션 방법
JPS63303432A (ja) 分岐ヒストリテーブル書込制御方式
JPS61208129A (ja) 命令先読制御方式
JPS6031646A (ja) デ−タ処理装置
KR850002910A (ko) 데이타 처리 시스템
KR880004383A (ko) 마이크로 프로세서 시스템

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090819

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee