KR100631495B1 - 마이크로 프로세서 - Google Patents
마이크로 프로세서 Download PDFInfo
- Publication number
- KR100631495B1 KR100631495B1 KR1019990060185A KR19990060185A KR100631495B1 KR 100631495 B1 KR100631495 B1 KR 100631495B1 KR 1019990060185 A KR1019990060185 A KR 1019990060185A KR 19990060185 A KR19990060185 A KR 19990060185A KR 100631495 B1 KR100631495 B1 KR 100631495B1
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- blocks
- command
- microprocessor
- block
- Prior art date
Links
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/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
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
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)
Abstract
본 발명은 마이크로 프로세서에 관한 것으로, 종래에는 상기 명령어신호의 체계가 점점 다양해지거나, 앞,뒤 명령어간에 의존성이 발생하거나 또는 같은 기능을 하는 서브 블록이 여러개 존재하게 되는 상황이 점점 많아지면 상기 메인제어부는 단순히 서브 블록의 동작에 관련된 제어뿐만 아니라 각 서브 블록(1~n)에 대한 스케줄 문제까지 고려하게 되어 연산속도의 저하 및 전력소모의 증가를 초래하게 되는 문제점이 있었다. 따라서, 본 발명은 명령어를 입력받아 이를 후술할 다수의 서브 블록에 출력함과 아울러 그 다수의 서브 블록으로부터 연산 결과를 입력받아 그에 따라 시스템을 제어하는 메인제어부와; 상기 메인제어부로부터 명령어를 각기 입력받아 이를 디코딩하여 자신이 동작하여야 할 연산을 파악하고, 해당 연산 시점을 다른 서브 블록들로부터 수신한 상태 정보를 통해 판단하여 해당 연산을 수행하며, 자신의 상태 정보를 포함하는 연산 결과를 상기 메인제어부로 출력함과 아울러 다른 서브 블록에도 자신의 상태 정보를 출력하는 다수의 서브 블록으로 구성함으로써 개별 서브 블록을 독립적으로 동작하게 하여 마이크로 프로세서의 디코딩 문제를 해결함으로써 속도를 향상시킬 수있음과 아울러 제어 블록의 디버깅을 용이하게 할 수 있고, 또한 동작이 필요없는 서브 블록을 아이들 상태로 가게 하여 전력소모를 줄일 수 있는 효과가 있다.
Description
도1은 종래 마이크로 프로세서의 개략적인 구성을 보인 블록도.
도2는 본 발명 마이크로 프로세서의 개략적인 구성을 보인 블록도.
*****도면의 주요부분에 대한 부호의 설명*****
1~n:서브 블록 MC:메인제어부
본 발명은 마이크로 프로세서에 관한 것으로, 특히 각 서브 블록이 필요한 경우에만 동작하도록 하여 연산속도를 향상시킬 수 있도록 한 마이크로 프로세서에 관한 것이다.
일반적으로, 마이크로 프로세서의 기능이 복잡 다양해지면서 설계자는 마이크로 프로세서를 하나의 모듈로 설계하기 보다는 특정기능을 가진 회로들끼리 나누어 여러개의 서브 블록을 구성하고 이들을 제어하는 블록으로 분리하여 설계한다.
즉, 마이크로 프로세서는 특정 기능별로 묶어 여러개의 서브 블록으로 설계하는데, 이와같은 종래 마이크로 프로세서를 첨부한 도면을 참조하여 상세히 설명한다.
도1은 종래 마이크로 프로세서의 개략적인 구성을 보인 블록도로서, 이에 도시된 바와같이 전체 시스템 제어를 위한 명령어를 입력받아 이를 디코딩하여 그에 따른 제어신호를 발생하는 메인제어부(MC)와; 상기 메인제어부(MC)의 제어신호에 의해 연산을 수행하여 그에 따른 결과를 상기 메인제어부(MC)로 전달하는 다수의 서브 블록(1~n)으로 구성되며, 이와 같이 구성된 장치의 동작을 설명한다.
먼저, 사용자에 의해 외부로부터 소정 명령어가 입력되면, 메인제어부(MC)는 상기 명령어를 디코딩하여 그에 따른 제어신호를 후술할 다수의 서브 블록(1~n)에 인가한다.
그러면, 상기 다수의 서브 블록(1~n)은 상기 메인제어부(MC)로부터 자신에 해당되는 제어신호를 입력받아 그에 따라 연산을 수행한후, 그 연산결과를 상기 메인제어부(MC)로 전달하게 된다.
이때, 상기 메인제어부(MC)는 명령어를 읽고 이를 해독하여 각 서브 블록(1~n)이 동작해야 하는 시점과 내용을 모두 알고 이에 맞게 제어신호를 전송하는데, 즉 다수의 서브 블록(1~n)은 메인제어부(MC)의 제어신호에 의해서만 동작한다.
그러나, 상기와 같은 종래 기술은 상기 명령어신호의 체계가 점점 다양해지거나, 앞,뒤 명령어간에 의존성이 발생하거나 또는 같은 기능을 하는 서브 블록이 여러개 존재하게 되는 상황이 점점 많아지면 상기 메인제어부는 단순히 서브 블록의 동작에 관련된 제어뿐만 아니라 각 서브 블록에 대한 스케줄 문제까지 고려하게 되어 연산 속도의 저하 및 전력 소모의 증가를 초래하게 되는 문제점이 있었다.
또한, 메인제어부에서 시스템 전체의 동작을 고려해야 하므로 에러의 발생 가능성이 높고, 디버깅이 어려워 한번 에러가 발생하면 전체 시스템 동작을 저해하게 되는 문제점이 있었다.
또한, 메인제어부의 성격에 따라 각 서브 블록의 동작이 결정되므로 같은 성격을 지닌 서브 블록을 차우에 다른 프로세서에서 사용하고자 할때 그 기능이 현저히 저하되는 문제점이 있었다.
따라서, 상기와 같은 문제점을 감안하여 창안한 본 발명은 메인 제어 블록에 서 행하는 서브 블록 제어에 관련된 디코딩을 각 서브 블록으로 옮겨서 자신이 동작해야 하는 시점을 스스로 판단하여 동작함으로써 고속으로 연산을 수행할 수 있도록 한 마이크로 프로세서를 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은 명령어를 입력받아 이를 후술할 다수의 서브 블록에 출력함과 아울러 그 다수의 서브 블록으로부터 연산 결과를 입력받아 그에 따라 시스템을 제어하는 메인제어부와; 상기 메인제어부로부터 명령어를 각기 입력받아 이를 디코딩하여 자신이 동작하여야 할 연산을 파악하고, 해당 연산 시점을 다른 서브 블록들로부터 수신한 상태 정보를 통해 판단하여 해당 연산을 수행하며, 자신의 상태 정보를 포함하는 연산 결과를 상기 메인제어부로 출력함과 아울러 다른 서브 블록에도 자신의 상태 정보를 출력하는 다수의 서브 블록으로 구성한 것을 특징으로 한다.
이하, 본 발명에 의한 마이크로 프로세서에 대한 작용 및 효과를 첨부한 도면을 참조하여 상세히 설명한다.
도 2는 본 발명 마이크로 프로세서에 대한 구성을 보인 블록도로서, 이에 도시한 바와같이 명령어를 입력받아 이를 후술할 다수의 서브 블록(1~n)에 출력함과 아울러 후술할 그 서브 블록(1~n)으로부터 연산 결과를 입력받아 그에 따라 시스템을 제어하는 메인제어부(MC)와; 상기 메인제어부(MC)로부터 명령어를 각기 입력받아 이를 디코딩하여 자신이 동작하여야 할 시점에만 연산을 수행하고, 그 연산 결과를 상기 메인제어부(MC)로 출력함과 아울러 다른 서브 블록(1~n)에 자신의 상태 정보를 출력하는 다수의 서브 블록(1~n)으로 구성하며, 이와 같이 구성한 본 발명의 동작을 설명한다.
먼저, 메인제어부(MC)는 명령어를 입력받아 이를 후술할 다수의 서브 블록(1~n)에 출력하고, 이후 상기 다수의 서브 블록(1~n)은 상기 메인제어부(MC)로부터 각기 명령어를 입력받아 이를 디코딩하여 자신이 동작하여야 할 시점에만 연산을 수행한후, 그 연산결과를 상기 메인제어부(MC)로 출력함과 아울러 다른 서브 블록(1~n)에 자신의 상태 정보를 출력한다.
이때, 상기 다수의 서브 블록(1~n)은 각기 명령어를 내부에 구비된 버퍼에 미리 일시 저장한후 디코딩하는데, 다른 서브 블록(1~n)의 상태를 표시하는 상태레지스터에 의해 자신이 동작해야 하는 지를 결정한다.
또한, 상기 다수의 서브 블록(1~n)은 각기 서로 다른 서브 블록(1~n)으로 입력받은 데이터를 저장할 수 있는 버퍼와 다른 서브 블록(1~n)의 동작시 대기하기 위해 자신을 아이들(Idle) 상태로 만드는 로직이 구비된다.
다시 말해서, 메인제어부(MC)에서 명령어를 입력받아 서브 블록(1~n)의 제어에 해당되는 명령어를 디코딩하지 않고, 각 서브 블록(1~n)에서 자신의 동작에 해당되는 명령을 디코딩하도록 하는데, 상기 다수의 서브 블록(1~n)은 각기 명령어를 디코딩하여 자신이 동작하여야 할 시점에만 연산 동작을 수행하고 그 연산 결과를 상기 메인제어부(MC)에 전달한다.
이때, 상기 연산 결과에는 자신의 상태를 표시하는 비트를 포함하게 되는데, 각 서브 블록(1~n)에서 전달된 상태 비트를 메인제어부(MC)에서 종합하여 명령어를 추가로 읽을 것인지, 각 서브 블록(1~n)이 자신에게 주어진 연산을 완료할 때까지 대기할 것인지를 결정한다.
또한, 다수의 서브 블록(1~n)은 다른 서브 블록(1~n)의 상태를 표시하는 레지스터를 구비하여 그 레지스터의 상태 데이터를 가지고 각 서브 블록(1~n)의 동작시기를 결정할 때 다른 서브 블록(1~n)의 동작에 맞추어 동작되게 한다.
즉, 본 발명은 메인제어부(MC)에서 수행하는 다수의 서브 블록(1~n)의 제어에 관련된 명령어의 디코딩을 각 서브 블록(1~n)에서 수행하도록 하여, 각 서브 블록(1~n)이 자신이 동작해야하는 시점 및 역활을 스스로 판단하게 함으로써 메인제어부(MC)의 과부하를 줄이고 데이터의 처리속도를 향상시킨다.
이상에서 상세히 설명한 바와같이 본 발명은 개별 서브 블록을 독립적으로 동작하게 하여 마이크로 프로세서의 디코딩 문제를 해결함으로써 속도를 향상시킬 수있음과 아울러 제어 블록의 디버깅을 용이하게 할 수 있고, 또한 동작이 필요없는 서브 블록을 아이들 상태로 가게 하여 전력소모를 줄일 수 있는 효과가 있다.
Claims (5)
- 특정 기능을 수행하는 서브 블록들과 메인 제어부가 병렬 구성된 마이크로 프로세서에 있어서,명령어를 입력받아 이를 상기 다수의 서브 블록에 출력함과 아울러 그 다수의 서브 블록으로부터 연산 결과를 입력받아 그에 따라 시스템을 제어하는 메인제어부와;상기 메인제어부로부터 명령어를 각기 입력받아 이를 디코딩하여 자신이 동작하여야 할 연산을 파악하고, 해당 연산 시점을 다른 서브 블록들로부터 수신한 상태 정보를 통해 판단하여 해당 연산을 수행하며, 자신의 상태 정보를 포함하는 연산 결과를 상기 메인제어부로 출력함과 아울러 다른 서브 블록에도 자신의 상태 정보를 출력하는 다수의 서브 블록으로 구성한 것을 특징으로 하는 마이크로 프로세서.
- 제1 항에 있어서, 상기 메인제어부는 상기 다수의 서브 블록에서 입력되는 상태 정보를 종합하여 그에 따라 명령어를 더 읽을것인지 각 서브 블록이 자신에게 주어진 연산을 완료할 때까지 대기할 것인지를 결정하는 것을 특징으로 하는 마이크로 프로세서.
- 제1 항에 있어서, 상기 서브 블록은 명령어를 미리 저장하는 하나 이상의 버퍼를 포함하여 구성하는 것을 특징으로 하는 마이크로 프로세서.
- 제1 항에 있어서, 상기 서브 블록은 다른 서브 블록의 상태 정보를 수신하여 저장하는 상태레지스터를 포함하여 구성한 것을 특징으로 하는 마이크로 프로세서.
- 제 1항에 있어서, 상기 서브 블록은 다른 서브 블록이 버틀 넥에 걸려 자신이 대기할때 자신을 아이들 상태로 만드는 로직을 포함하여 구성한 것을 특징으로 하는 마이크로 프로세서.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990060185A KR100631495B1 (ko) | 1999-12-22 | 1999-12-22 | 마이크로 프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990060185A KR100631495B1 (ko) | 1999-12-22 | 1999-12-22 | 마이크로 프로세서 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010063195A KR20010063195A (ko) | 2001-07-09 |
KR100631495B1 true KR100631495B1 (ko) | 2006-10-09 |
Family
ID=19627936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990060185A KR100631495B1 (ko) | 1999-12-22 | 1999-12-22 | 마이크로 프로세서 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100631495B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040037300A (ko) * | 2002-10-28 | 2004-05-07 | 삼성전자주식회사 | 다중 프로세서를 갖는 장치의 디버깅 방법 |
KR100817625B1 (ko) * | 2006-03-14 | 2008-03-31 | 장성태 | 분리 1차 명령어 캐쉬를 구비한 프로세서 시스템 및 그제어 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4872003A (en) * | 1984-11-30 | 1989-10-03 | Nec Corporation | Serial interface system flexibly applicable to a one-to-plurality connection |
US5453737A (en) * | 1993-10-08 | 1995-09-26 | Adc Telecommunications, Inc. | Control and communications apparatus |
US5754780A (en) * | 1994-01-19 | 1998-05-19 | Tokyo Electron Limited | Apparatus and method for performing serial communication between master and slave devices |
KR19990054379A (ko) * | 1997-12-26 | 1999-07-15 | 윤종용 | 마스터의 이미지 버퍼를 통한 슬레이브 모듈의 제어회로 |
-
1999
- 1999-12-22 KR KR1019990060185A patent/KR100631495B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4872003A (en) * | 1984-11-30 | 1989-10-03 | Nec Corporation | Serial interface system flexibly applicable to a one-to-plurality connection |
US5453737A (en) * | 1993-10-08 | 1995-09-26 | Adc Telecommunications, Inc. | Control and communications apparatus |
US5754780A (en) * | 1994-01-19 | 1998-05-19 | Tokyo Electron Limited | Apparatus and method for performing serial communication between master and slave devices |
KR19990054379A (ko) * | 1997-12-26 | 1999-07-15 | 윤종용 | 마스터의 이미지 버퍼를 통한 슬레이브 모듈의 제어회로 |
Also Published As
Publication number | Publication date |
---|---|
KR20010063195A (ko) | 2001-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100319600B1 (ko) | 셀프-타임드시스템의전력소모감소장치및방법 | |
US5887129A (en) | Asynchronous data processing apparatus | |
JP2001022582A5 (ko) | ||
KR101581414B1 (ko) | 전력 소모 감소를 위한 재구성 가능 프로세서 및 그 동작 방법 | |
KR100631495B1 (ko) | 마이크로 프로세서 | |
US8171259B2 (en) | Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal | |
US6055620A (en) | Apparatus and method for system control using a self-timed asynchronous control structure | |
EP1408405A1 (en) | "A reconfigurable control structure for CPUs and method of operating same" | |
JPH11307725A (ja) | 半導体集積回路 | |
KR100206680B1 (ko) | 내부 및 외부 메모리 상황을 모니터하기 위한 겸용 터미널을 갖춘 데이타 프로세서 | |
Lee et al. | A novel asynchronous pipeline architecture for CISC type embedded controller, A8051 | |
JP5414323B2 (ja) | 半導体集積回路装置 | |
JP3729142B2 (ja) | 並列演算処理装置 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JP3211750B2 (ja) | 情報処理装置及びパイプライン処理方法 | |
JP4498705B2 (ja) | キャッシュシステム | |
KR100261175B1 (ko) | 인터럽트 회로 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JPH09330208A (ja) | 加算回路 | |
KR100284288B1 (ko) | 프로세서의 전력 절감 장치 및 방법 | |
JPS61118840A (ja) | 電子計算機の制御方式 | |
KR20040008714A (ko) | 마이크로 제어 시스템에 있어서 메모리 정보를 읽는 장치 | |
JPS62145430A (ja) | デ−タ処理装置 | |
Talvala | Designing the Port Interface Unit for the Lutonium Asynchronous Microcontroller | |
JP2003122561A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |