KR0167307B1 - 프로그램 분기 제어회로 - Google Patents

프로그램 분기 제어회로 Download PDF

Info

Publication number
KR0167307B1
KR0167307B1 KR1019960006999A KR19960006999A KR0167307B1 KR 0167307 B1 KR0167307 B1 KR 0167307B1 KR 1019960006999 A KR1019960006999 A KR 1019960006999A KR 19960006999 A KR19960006999 A KR 19960006999A KR 0167307 B1 KR0167307 B1 KR 0167307B1
Authority
KR
South Korea
Prior art keywords
branch
address
jump
program
condition
Prior art date
Application number
KR1019960006999A
Other languages
English (en)
Other versions
KR970066854A (ko
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 문정환
Priority to KR1019960006999A priority Critical patent/KR0167307B1/ko
Publication of KR970066854A publication Critical patent/KR970066854A/ko
Application granted granted Critical
Publication of KR0167307B1 publication Critical patent/KR0167307B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 정보전송 페이즈(phase)의 종류에 따라 검사를 수행하는 프로그램 분기 제어회로에 관한 것으로, 프로그램 메모리의 주소(70)를 공급하는 프로그램 카운터(60)와, 프로그램 메모리주소(70)에 의해 읽혀진 오피-코드(20)와 분기조건(Jump Conditions)(30)들로 이루어진 명령어 코드(10)와, 상기 명령어 코드(10)의 분기조건(30)들을 주소로 하는 분기주소 저장레지스터화일(90)과, 다수의 내부/외부 신호에 의해 분기조건(Jump_OK)을 발생하는 조합논리부(combinational logic)(80)와, 상기 분기주소저장레지스터화일(90)에서 출력되는 분기할 주소(Data)와 상기 조합논리부(80)에서 발생한 분기조건(Jump_OK)을 입력받아 이 분기조건(Jump_OK)을 판단하여 상기 프로그램 카운터(60)로 출력할 값을 선택하는 분기선택부(40)와, 상기 프로그램 카운터(60)의 값을 자동으로 증가시켜 상기 분기선택부(40)로 공급하는 증가부(50)로 구성하여, 명령어의 분기조건에 의해 분기할 주소를 내보내주는 별도의 파일을 설치하여 분기조건의 검사과정을 단축하여 고성능이 요구되는 Ultra-SCSI 또는 멀티미디어 관련분야에서, 특히 SCSI 프로세서에 적용할 경우 정보전송 페이즈(Phase)의 종류에 따라 분기 과정을 단축시켜 소요되는 시간을 상당부분 감소시킬 수 있는 효과가 있다.

Description

프로그램 분기 제어회로
제1도는 종래 프로그램 분기 제어회로의 구성도.
제2도는 본 발명 프로그램 분기 제어회로의 구성도.
* 도면의 주요부분에 대한 부호의 설명
10 : 명령어 코드 20 : 오피-코드
30 : 분기조건 40 : 분기선택부
50 : 증가부 60 : 프로그램 카운터
70 : 프로그램 메모리주소 80 : 조합논리부
90 : 분기주소저장 레지스터화일
본 발명은 프로그램 분기 제어회로에 관한 것으로, 특히 정보전송 페이즈(phase)의 종류에 따라 수행하는 검사과정을 빠른 속도로 수행할 수 있게하여 고성능이 요구되는 Ultra-SCSI 또는 멀티미디어 관련분야에 적용 가능한 프로그램 분기 제어회로에 관한 것이다.
제1도는 종래 프로그램 분기 제어회로에 관한 것으로, 이에 도시한 바와같이, 프로그램 메모리의 주소(7)를 공급하는 프로그램 카운터(6)와, 프로그램 메모리주소(7)에 의해 읽혀진 오피-코드(2)와 분기주소(Jump Address)(3)로 이루어진 명령어 코드(1)와, 다수의 내부/외부 신호에 의해 분기조건(Jump_OK)을 발생하는 조합논리부(combinational logic)(8)와, 상기 조합논리부(8)에서 분기조건(Jump_OK)이 발생하면 상기 오피-코드(2)의 명령이 분기관련 명령인지를 디코딩하여 상기 프로그램 카운터(6)로 출력할 입력값을 선택하는 분기선택부(4)와, 상기 프로그램 카운터(6)의 값을 자동으로 증가시켜 상기 분기선택부(4)로 공급하는 증가부(5)로 구성되며, 이와같이 구성된 종래 장치의 동작은 다음과 같다.
조합논리부(8)에서 분기조건(Jump_OK)이 발생하면 분기선택부(4)에서는 이 분기조건(Jump_OK)이 발생하였음을 인식하고 프로그램 메모리 주소(7)에 의해 읽혀진 명령어 코드(1)의 오피-코드(2)에 의한 명령이 분기관련 명령인지를 디코딩하며, 상기 두가지의 경우 즉, 분기조건(Jump_OK)이 발생하고 상기 오피-코드(2)에 의한 명령이 분기관련 명령이라고 판단되면 상기 조합논리부(8)의 분기조건(Jump-OK)에 의해 분기주소(3)는 분기선택부(4)를 통하여 프로그램 카운터(6)로 인가되고 이 분기주소(3)로부터 상기 프로그램 카운터(6)는 프로그램 메모리 주소를 공급한다.
또한, 상기에서 두가지의 경우가 어느하나라도 만족되지 않으면 다음 명령어를 읽기 위하여 증가부(5)에서 자동으로 증가한 값이 분기선택부(4)를 통하여 프로그램 카운터(6)로 인가된다.
이와같이 동작하는 종래 장치를 사용하여 분기조건이 많은 시스템을 구성하는 경우 다음과 같은 과정을 수행함으로써 최종적인 조건이 결정된다.
SCSI Protocol에는 6가지의 정보전송 관련 페이즈(phase)와 4가지의 버스사용권 관련 페이즈(phase)가 있는데 프로세서(Processor)를 내장한 SCSI 콘트롤러(Controller)는 매 클럭마다 이들을 점검하여 다음에 수행할 동작을 결정한다.
따라서, 상기한 장치를 사용하면 10번의 검사과정을 거쳐야 하므로 반복되는 분기조건의 검사로 인하여 시간이 많이 소요되는 문제점이 있다.
이와같은 종래의 문제점을 해결하기 위한 본 발명은, 명령어의 분기조건에 의해 분기할 주소를 내보내주는 별도의 파일을 설치하여 분기조건의 검사과정을 단축하여 한번의 검사과정을 수행하고 다음 동작을 결정할 수 있게끔 안출한 것으로, 이를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
제2도는 본 발명 프로그램 분기 제어회로에 관한 것으로, 이에 도시한 바와같이, 프로그램 메모리의 주소(70)를 공급하는 프로그램 카운터(60)와, 프로그램 메모리주소(70)에 의해 읽혀진 오피-코드(20)와 분기조건(Jump Conditions)(30)들로 이루어진 명령어 코드(10)와, 상기 명령어 코드(10)의 분기조건(30)들을 주소로 하는 분기주소저장레지스터화일(90)과, 다수의 내부/외부 신호에 의해 분기조건(Jump_OK)을 발생하는 조합논리부(combinational logic)(80)와, 상기 분기주소저장레지스터화일(90)에서 출력되는 분기할 주소(Data)와 상기 조합논리부(80)에서 발생한 분기조건(Jump_OK)을 입력받아 이 분기조건(Jump_OK)을 판단하여 상기 프로그램 카운터(60)로 출력할 값을 선택하는 분기선택부(40)와, 상기 프로그램 카운터(60)의 값을 자동으로 증가시켜 상기 분기선택부(40)로 공급하는 증가부(50)로 구성되며, 이와같이 구성된 본 발명 프로그램 분기제어회로의 작용 및 효과는 다음과 같다.
조합논리부(80)에서 분기조건(Jump_OK)이 발생하면 분기선택부(40)에서는 이 분기조건(Jump_OK)이 발생하였음을 인식하고 또한 프로그램 메모리 주소(70)에 의해 읽혀진 명령어 코드(10)의 오피-코드(20)에 의한 명령이 분기관련 명령인지를 디코딩하며, 동시에 분기조건(30)들을 주소로 하는 분기주소저장레지스터화일(90)로부터 분기할 주소(Data)를 읽어들이게 된다.
이후, 상기 두가지의 경우 즉, 분기조건(Jump_OK)이 발생하고 상기 오피-코드(20)에 의한 명령이 분기관련 명령이라고 판단되면 상기 조합논리부(80)의 분기조건(Jump_OK)에 의해 적절한 분기조건에 해당하는 상황이 발생하였는지를 판단하게 된다.
판단한 결과가 만족되면, 분기주소(Data)는 분기선택부(40)를 통하여 프로그램 카운터(60)로 인가되고 이 분기주소(Data)로부터 상기 프로그램 카운터(60)는 프로그램 메모리 주소를 공급한다.
또한, 상기에서 두가지의 경우가 어느 하나라도 만족되지 않으면 다음 명령어를 읽기 위하여 증가부(50)에서 자동으로 증가한 값이 분기선택부(40)를 통하여 프로그램 카운터(60)로 인가된다.
이와같은 동작으로 분기조건이 많은 시스템을 구성하는 경우 다음과 같은 과정을 수행함으로써 최종적인 조건이 결정된다.
따라서, 6가지의 정보전송 관련 페이즈(phase)와 4가지의 버스사용권 관련 페이즈(phase)가 있는 SCSI Protocol에 상기 종래회로를 적용할 시 10번의 검사과정을 거치지 않고 단 한번의 검사과정으로 분기조건의 검사가 가능하게 된다.
이상에서 상세히 설명한 바와같이, 본 발명은 명령어의 분기조건에 의해 분기할 주소를 내보내주는 별도의 레지스터 파일을 설치하여 분기조건의 검사과정을 단축하여 한번의 검사과정을 수행하고 다음 동작을 결정할 수 있게끔하여 고성능이 요구되는 Ultra-SCSI 또는 멀티미디어 관련분야에서, 특히 SCSI 프로세서에 적용할 경우 정보전송 페이즈(Phase)의 종류에 따라 분기 과정을 단축시켜 이 분기과정에 소요되는 시간을 상당부분 감소시킬 수 있는 효과가 있다.

Claims (1)

  1. 프로그램 메모리의 주소를 공급하는 프로그램 카운터와, 프로그램 메모리주소에 의해 읽혀진 오피-코드와 분기조건들로 이루어진 명령어 코드의 분기조건들을 주소로 하는 분기주소저장부와, 다수의 내부/외부 신호에 의해 또하나의 분기조건을 발생하는 조합논리부와, 상기 분기주소저장부로부터의 분기할 주소와 상기 조합논리부에서 발생한 분기조건을 입력받아 이 분기조건을 판단하여 프로그램 카운터로 출력할 값을 선택하는 분기선택부와, 상기 프로그램 카운터의 값을 자동으로 증가시켜 상기 분기선택부로 공급하는 증가부로 구성하여 된 것을 특징으로 하는 프로그램 분기 제어회로.
KR1019960006999A 1996-03-15 1996-03-15 프로그램 분기 제어회로 KR0167307B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960006999A KR0167307B1 (ko) 1996-03-15 1996-03-15 프로그램 분기 제어회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960006999A KR0167307B1 (ko) 1996-03-15 1996-03-15 프로그램 분기 제어회로

Publications (2)

Publication Number Publication Date
KR970066854A KR970066854A (ko) 1997-10-13
KR0167307B1 true KR0167307B1 (ko) 1999-01-15

Family

ID=19453179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960006999A KR0167307B1 (ko) 1996-03-15 1996-03-15 프로그램 분기 제어회로

Country Status (1)

Country Link
KR (1) KR0167307B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162615B2 (en) 2014-12-11 2018-12-25 Samsung Electronics Co., Ltd. Compiler

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162615B2 (en) 2014-12-11 2018-12-25 Samsung Electronics Co., Ltd. Compiler

Also Published As

Publication number Publication date
KR970066854A (ko) 1997-10-13

Similar Documents

Publication Publication Date Title
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
EP1324190B1 (en) Data processing system having a read-modify-write unit
WO1983002018A1 (en) Branch predicting computer
US5628018A (en) Data processing apparatus handling plural divided interruption
US5475852A (en) Microprocessor implementing single-step or sequential microcode execution while in test mode
KR100206887B1 (ko) 프로그램 오동작 방지를 위한 씨피유
EP0070863A1 (en) CONTROL UNIT WITH SAVED PROGRAM.
US5307300A (en) High speed processing unit
KR100442306B1 (ko) 파이프라인마이크로프로세서테스트장치
WO1996037838A9 (en) Pipeline microprocessor test method and apparatus
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
KR0167307B1 (ko) 프로그램 분기 제어회로
US5483638A (en) Microcomputer with test mode switching function
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
US5893932A (en) Address path architecture
JPH1091430A (ja) 命令解読装置
EP0142562B1 (en) Pipeline system for microprogram control unit
CN111694697B (zh) 半导体装置及调试系统
KR20010052868A (ko) 에뮬레이터 시스템에서 사용자 메모리를 업데이트하기위한 방법 및 시스템
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
KR100681427B1 (ko) 다중 프로세서 시스템을 위한 리셋 회로
JP3097602B2 (ja) データ処理装置
KR100257772B1 (ko) 수퍼스칼라 마이크로프로세서의 정지점 생성 장치
KR19990047011A (ko) 마이크로컴퓨터의 테스트장치
JP2002287956A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050824

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee