KR100631495B1 - 마이크로 프로세서 - Google Patents

마이크로 프로세서 Download PDF

Info

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
Application number
KR1019990060185A
Other languages
English (en)
Other versions
KR20010063195A (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 KR1019990060185A priority Critical patent/KR100631495B1/ko
Publication of KR20010063195A publication Critical patent/KR20010063195A/ko
Application granted granted Critical
Publication of KR100631495B1 publication Critical patent/KR100631495B1/ko

Links

Images

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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • 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/30098Register arrangements
    • G06F9/3012Organisation 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

마이크로 프로세서{MICROPROCESSOR}
도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. 특정 기능을 수행하는 서브 블록들과 메인 제어부가 병렬 구성된 마이크로 프로세서에 있어서,
    명령어를 입력받아 이를 상기 다수의 서브 블록에 출력함과 아울러 그 다수의 서브 블록으로부터 연산 결과를 입력받아 그에 따라 시스템을 제어하는 메인제어부와;
    상기 메인제어부로부터 명령어를 각기 입력받아 이를 디코딩하여 자신이 동작하여야 할 연산을 파악하고, 해당 연산 시점을 다른 서브 블록들로부터 수신한 상태 정보를 통해 판단하여 해당 연산을 수행하며, 자신의 상태 정보를 포함하는 연산 결과를 상기 메인제어부로 출력함과 아울러 다른 서브 블록에도 자신의 상태 정보를 출력하는 다수의 서브 블록으로 구성한 것을 특징으로 하는 마이크로 프로세서.
  2. 제1 항에 있어서, 상기 메인제어부는 상기 다수의 서브 블록에서 입력되는 상태 정보를 종합하여 그에 따라 명령어를 더 읽을것인지 각 서브 블록이 자신에게 주어진 연산을 완료할 때까지 대기할 것인지를 결정하는 것을 특징으로 하는 마이크로 프로세서.
  3. 제1 항에 있어서, 상기 서브 블록은 명령어를 미리 저장하는 하나 이상의 버퍼를 포함하여 구성하는 것을 특징으로 하는 마이크로 프로세서.
  4. 제1 항에 있어서, 상기 서브 블록은 다른 서브 블록의 상태 정보를 수신하여 저장하는 상태레지스터를 포함하여 구성한 것을 특징으로 하는 마이크로 프로세서.
  5. 제 1항에 있어서, 상기 서브 블록은 다른 서브 블록이 버틀 넥에 걸려 자신이 대기할때 자신을 아이들 상태로 만드는 로직을 포함하여 구성한 것을 특징으로 하는 마이크로 프로세서.
KR1019990060185A 1999-12-22 1999-12-22 마이크로 프로세서 KR100631495B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 윤종용 마스터의 이미지 버퍼를 통한 슬레이브 모듈의 제어회로

Patent Citations (4)

* Cited by examiner, † Cited by third party
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