KR0167307B1 - 프로그램 분기 제어회로 - Google Patents
프로그램 분기 제어회로 Download PDFInfo
- 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
Links
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/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/30058—Conditional branch instructions
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address 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)
- 프로그램 메모리의 주소를 공급하는 프로그램 카운터와, 프로그램 메모리주소에 의해 읽혀진 오피-코드와 분기조건들로 이루어진 명령어 코드의 분기조건들을 주소로 하는 분기주소저장부와, 다수의 내부/외부 신호에 의해 또하나의 분기조건을 발생하는 조합논리부와, 상기 분기주소저장부로부터의 분기할 주소와 상기 조합논리부에서 발생한 분기조건을 입력받아 이 분기조건을 판단하여 프로그램 카운터로 출력할 값을 선택하는 분기선택부와, 상기 프로그램 카운터의 값을 자동으로 증가시켜 상기 분기선택부로 공급하는 증가부로 구성하여 된 것을 특징으로 하는 프로그램 분기 제어회로.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162615B2 (en) | 2014-12-11 | 2018-12-25 | Samsung Electronics Co., Ltd. | Compiler |
-
1996
- 1996-03-15 KR KR1019960006999A patent/KR0167307B1/ko not_active IP Right Cessation
Cited By (1)
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 |