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

마이크로 프로세서 Download PDF

Info

Publication number
KR19990066417A
KR19990066417A KR1019980002334A KR19980002334A KR19990066417A KR 19990066417 A KR19990066417 A KR 19990066417A KR 1019980002334 A KR1019980002334 A KR 1019980002334A KR 19980002334 A KR19980002334 A KR 19980002334A KR 19990066417 A KR19990066417 A KR 19990066417A
Authority
KR
South Korea
Prior art keywords
microprocessor
address
emulation
unit
control signal
Prior art date
Application number
KR1019980002334A
Other languages
English (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 구본준
Priority to KR1019980002334A priority Critical patent/KR19990066417A/ko
Publication of KR19990066417A publication Critical patent/KR19990066417A/ko

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 마이크로 프로세서의 상태를 바꾸지 않고 내부상태를 모니터링(Monitoring)할 수 있도록 한 마이크로 프로세서에 관한 것으로서, 메모리 어드레스 제어신호 및 타이밍 제어신호를 발생하는 타이밍 제어부와, 상기 타이밍 제어부의 어드레스 제어신호를 받아 실행된 명령어 및 데이터를 저장하는 내부 메모리부와, 상기 타이밍 제어부의 어드레스 제어신호를 받아 실행될 명령어를 내부 메모리부로부터 페치하는 명령어 페치부와, 상기 명령어 페치부에서 페치된 명령어를 마이크로 프로세서의 명령어로 해석하는 명령어 해석부와, 상기 명령어 해석부의 명령어 실행신호와 타이밍 제어신호를 받는 마이크로 프로세서의 내부자원부와, 실행 및 정지될 어드레스 신호를 저장하는 레지스터 파일부와, 상기 타이밍 제어부의 타이밍 제어신호와 레지스터 파일부의 어드레스 신호를 받아 비교하여 일치/불일치를 나타내는 어드레스 확인신호를 출력하는 어드레스 비교부와, 그리고 상기 어드레스 비교부의 어드레스 확인신호를 받아 마이크로 프로세서의 상태를 감시하는 에뮬레이션 제어부를 포함하여 구성됨을 특징으로 한다.

Description

마이크로 프로세서
본 발명은 마이크로 프로세서에 관한 것으로, 특히 마이크로 프로세서의 상태를 바꾸지 않고 내부상태를 모니터링(Monitoring)할 수 있도록 한 마이크로 프로세서에 관한 것이다.
일반적으로 마이크로 프로세서를 사용하는 제품개발에서 인-서킷 에뮬레이션 기능을 사용하는 디버깅(Debugging)-수정 과정은 필수적 이다.
이 경우 에뮬레이션 기능을 사용하여 마이크로 프로세서의 내부상태(각종 레지스터의 값) 등을 확인하려면 반드시 마이크로 프로세서의 정상적인 동작을 멈추고 에뮬레이션 기능을 사용하여야만 가능하다.
이하, 첨부된 도면을 참고하여 종래 기술의 마이크로 프로세서를 설명하면 다음과 같다.
도 1은 종래 기술의 마이크로 프로세서의 내부를 나타낸 블록도이다.
도 1에 도시한 바와같이 명령어 데이터 또는 실행 데이터가 저장된 내부 메모리부(11)와, 상기 내부 메모리부(11)로부터 지정된 명령어를 받아 명령어의 기능을 수행하기 위한 명령어를 해석하는 명령어 해석부(12)와, 상기 명령어 해석부(12)에서 해석된 명령어를 받아 마이크로 프로세서의 실행을 제어하는 명령어 실행 제어부(13)와, 상기 명령어 실행 제어부(13)의 제어 신호를 받아 명령어의 실행에 필요한 어드레스를 제어하는 어드레스 제어부(14)와, 상기 어드레스 제어부(14)의 신호를 명령어의 실행에 필요한 어드레스 버스를 통해 받아 내부 메모리부(11)의 저장된 데이터를 실행 명령의 판독/변경을 위한 내부 명령어 버스를 통해 받아 마이크로 프로세서의 상태를 외부로 나타내는 에뮬레이션 제어부(15)를 포함하여 구성된다.
여기서 상기 명령어 실행 제어부(13)에서 명령어 실행을 위한 순서 및 타이밍 신호를 명령어 해석부(12)로 보낸다.
상기와 같이 구성된 종래 기술의 마이크로 프로세서는 인-서킷 에뮬레이션(In-Circuit Emulation) 기능을 수행하기 위하여 특수한 동작모드를 제어할 수 있는 명령어를 정의하며, 마이크로 프로세서의 실제동작과 그 내부상태를 에뮬레이션 호스트로 보내어 개발자가 그 정보를 사용할 수 있도록 하였다.
예를 들어, 실행명령이 저장된 내부 메모리부(11)의 특정 어드레스에 도달하면 마이크로 프로세서의 내부상태를 에뮬레이션 호스트를 통해 살펴보고자 하는 경우, 실제로 내부 메모리부(11)의 해당 어드레스에는 에뮬레이션용 특수 동작모드 제어용 명령어를 원래의 명령어와 바꾸어 저장한다.
이어, 명령어 실행 제어부(13)에서 이를 검출하면 동작을 멈추고 에뮬레이션 호스트로 에뮬레이션 제어부(15)의 제어를 통하여 마이크로 프로세서의 내부자원(레지스터, 메모리 등)의 변경된 내용을 에뮬레이션 인터페이스를 통해 전송한다.
따라서 에뮬레이션 호스트를 사용하는 개발자가 마이크로 프로세서 내부상태를 살펴보고자 할 경우에는 반드시 에뮬레이션 제어부(15)로 별도의 제어명령을 사용하여만 가능하고, 실행상태를 정지시킨 후 에뮬레이션 제어부(15)를 사용하여 마이크로 프로세서의 내부자원들에게 접근이 가능하다.
그러나 상기와 같은 종래 기술의 마이크로 프로세서에 있어서 다음과 같은 문제점이 있었다.
즉, 마이크로 프로세서의 내부상태를 살펴보기 위해서는 반드시 미리 정의된 명령어 또는 절차에 의해 실행상태를 바꾸어 통상의 동작을 멈춘 후, 별도의 에뮬레이션 제어부에 의해 원하는 부분의 상태 또는 값 등을 관찰 또는 수정할 수 있었다.
따라서 실시간상에서 이루어지는 마이크로 프로세서의 내부상태를 직접 모니터링 할 수가 없고, 상기와 같은 과정을 거쳐서 얻어진 상태 또는 값을 종합하여 실시간상의 동작으로 추정하는 것만이 가능하다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로 마이크로 프로세서의 실행중에도 내부상태를 제어할 수 있고, 에뮬레이션 호스트측에서 마이크로 프로세서의 내부상태를 지속적으로 관찰할 수 있도록 한 마이크로 프로세서를 제공하는데 그 목적이 있다.
도 1은 종래의 마이크로 프로세서의 내부를 나타낸 블록도
도 2는 본 발명에 의한 마이크로 프로세서의 내부를 나타낸 블록도
도 3은 본 발명에 의한 마이크로 프로세서의 내부상태의 제어 예를 나타낸 프로파일
도면의 주요부분에 대한 부호의 설명
21 : 타이밍 제어부 22 : 내부 메모리부
23 : 명령어 페치부 24 : 명령어 해석부
25 : 내부자원부 26 : 레지스터 파일부
27 : 어드레스 비교부 28 : 에뮬레이션 제어부
29 : 내부버스 30 : 에뮬레이션 버스
상기와 같은 목적을 달성하기 위한 본 발명에 의한 마이크로 프로세서는 메모리 어드레스 제어신호 및 타이밍 제어신호를 발생하는 타이밍 제어부와, 상기 타이밍 제어부의 어드레스 제어신호를 받아 실행된 명령어 및 데이터를 저장하는 내부 메모리부와, 상기 타이밍 제어부의 어드레스 제어신호를 받아 실행될 명령어를 내부 메모리부로부터 페치하는 명령어 페치부와, 상기 명령어 페치부에서 페치된 명령어를 마이크로 프로세서의 명령어로 해석하는 명령어 해석부와, 상기 명령어 해석부의 명령어 실행신호와 타이밍 제어신호를 받는 마이크로 프로세서의 내부자원부와, 실행 및 정지될 어드레스 신호를 저장하는 레지스터 파일부와, 상기 타이밍 제어부의 타이밍 제어신호와 레지스터 파일부의 어드레스 신호를 받아 비교하여 일치/불일치를 나타내는 어드레스 확인신호를 출력하는 어드레스 비교부와, 그리고 상기 어드레스 비교부의 어드레스 확인신호를 받아 마이크로 프로세서의 상태를 감시하는 에뮬레이션 제어부를 포함하여 구성됨을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명에 의한 마이크로 프로세서를 상세히 설명하면 다음과 같다.
도 2는 본 발명에 의한 마이크로 프로세서의 내부를 나타낸 블록도이다.
도 2에 도시한 바와같이 메모리 어드레스 제어신호 및 타이밍 제어신호를 발생하는 타이밍 제어부(21)와, 상기 타이밍 제어부(21)의 어드레스 제어신호를 받아 실행된 명령어 및 데이터를 저장하는 내부 메모리부(22)와, 상기 타이밍 제어부(21)의 어드레스 제어신호를 받아 실행될 명령어를 내부 메모리부(22)로부터 페치(Fetch)하는 명령어 페치부(23)와, 상기 명령어 페치부(23)에서 페치된 명령어를 마이크로 프로세서의 명령어로 해석하는 명령어 해석부(24)와, 상기 명령어 해석부(24)의 명령어 실행신호와 타이밍 제어신호를 받는 마이크로 프로세서의 내부자원부(25)와, 실행 및 정지될 어드레스 신호를 저장하는 레지스터 파일부(26)와, 상기 타이밍 제어부(21)의 타이밍 제어신호와 레지스터 파일부(26)의 어드레스 신호를 받아 비교하여 일치/불일치를 나타내는 어드레스 확인신호를 출력하는 어드레스 비교부(27)와, 상기 어드레스 비교부(27)의 어드레스 확인신호를 받아 마이크로 프로세서의 상태를 감시하는 에뮬레이션 제어부(28)를 포함하여 구성된다.
여기서 마이크로 프로세서 내부의 모든 자원간을 내부버스(29)를 통해 연결되고, 별도의 에뮬레이션 제어부(28)와 내부자원부(25)와 레지스터 파일부(26)들은 에뮬레이션 버스(30)등으로 연결된다.
그리고 상기 에뮬레이션 제어부(28)는 마이크로 프로세서의 타이밍 제어와 에뮬레이션 제어를 조절하는 에뮬레이션 타이밍 제어신호를 발생한다.
상기와 같이 구성된 본 발명에 의한 마이크로 프로세서는 에뮬레이션 제어부(28)가 마이크로 프로세서의 내부버스(29)와 별도의 에뮬레이션 버스(30)를 제어한다.
이어, 타이밍 제어부(21)의 타이밍 제어신호와 레지스터 파일부(26)의 어드레스 신호를 받아 어드레스 비교부(27)에서 비교하여 어드레스 확인신호의 출력을 사용하면, 마이크로 프로세서의 실행에 필요한 타이밍 제어신호와 별도의 에뮬레이션 제어신호를 얻는다. 이를 마이크로 프로세서 타이밍 제어신호와 연동시켜 명령어 실행시 내부상태의 변화를 에뮬레이션 제어부(28)에 전달하여 에뮬레이션 호스트로 보내진다.
도 3은 본 발명에 의한 마이크로 프로세서에 보여진 내부상태의 제어 예를 나타낸 프로파일이다.
도 3에 도시한 바와같이 마이크로 프로세서 동작의 원천이 되는 시스템 클럭은 다음의 세 가지 동작으로 구분되며, 이 과정의 반복으로 실제의 실행동작이 나타나게 된다.
먼저, 마이크로 프로세서의 첫 번째 동작인 페치단계(Fetch)는 실행할 명령어가 저장된 내부 메모리부(22)로부터 타이밍 제어신호와 어드레스 제어신호에서 지정하는 명령어를 명령어 해석부(24)로 가져온다.
이때 마이크로 프로세서의 내부버스(29)를 경유하여 명령어 해석부(25)로 천이(a)하게 되는데, 이와 동시에 에뮬레이션 버스(30)로 천이(a)하여 에뮬레이션 제어부(28)가 필요한 데이터를 에뮬레이션 호스트로 전송(b)할 수 있게 된다.
이어, 내부버스(29)에서 에뮬레이션 버스(30)로 천이(a)될 때의 어드레스는 어드레스 비교부(27)에서 레지스터 파일부(26)의 사용자 지정 어드레스들과 비교되고 어드레스 확인신호가 발생된 경우, 현재까지 수집된 내부 상태들을 에뮬레이션 호스트로 전송(b)하게 된다.
또한, 종래의 방법에서와 마찬가지로 사용자가 임의의 시점에서 실행상태를 중지시키고자 하는 경우에도, 전술한 절차에 따라 먼저 마이크로 프로세서로부터 내부상태를 받은 후 정지신호를 에뮬레이션 제어부(28)로 보내어(c) 에뮬레이션 제어상태에서 정지할 수 있다.
상기의 에뮬레이션 정지상태에서 사용자가 지정하는 내부자원의 별도지정을 원하는 경우 호스트 인터페이스를 통해 에뮬레이션 제어부(28)의 레지스터 또는 메모리에 전달한다(c).
이어, 마이크로 프로세서의 두 번째 동작인 명령어 해석단계(Decoder)에서는, 페치된 명령어의 동작에 필요한 타이밍 신호를 결정하고 이를 사용하여 마이크로 프로세서 내부 자원들을 제어하고, 내부버스(29)를 경유하여 실행단계로 들어간다.
상기 에뮬레이션 제어부(28)에 호스트로부터의 제어신호/데이터가 존재하는 경우, 에뮬레이션 제어부(28)의 레지스터/메모리의 내용을 내부버스에 천이(d)시켜 내부상태의 사용자 지정이 가능해진다.
그리고 세 번째 단계인 명령어 실행단계(Execute)에서는 실행명령을 위한 타이밍 제어신호와 에뮬레이션 제어신호를 사용하여 필요한 어드레스 제어신호와 함께 마이크로 프로세서의 내부자원부(25)를 내부버스(29)를 경유하여 사용한다.
상기 에뮬레이션 제어부(28)에 호스트로부터의 제어/데이터가 존재하여 내부상태의 사용자 지정이 필요한 경우의 천이는 이 실행 사이클일 때 내부버스 데이터 버스로의 천이(e)가 가능하게 된다.
따라서 종래의 방법과 달리, 사용자가 마이크로 프로세서의 내부상태를 살펴보고자 하는 경우에도 실행 상태를 중지할 필요가 없고, 에뮬레이션 제어부(28)에서 호스트 인터페이스를 사용하여 전송, 사용자에게 표시할 수 있다.
이상에서 설명한 바와같이 본 발명에 의한 마이크로 프로세서에 있어서 다음과 같은 효과가 있다.
첫째, 마이크로 프로세서의 실행중에 내부상태를 제어할 수 있기 때문에 제품 개발의 실장 테스트시에도 마이크로 프로세서의 프로그램 디버깅-수정에 의한 즉각적인 조치를 취할 수 있다.
둘째, 에뮬레이션 호스트측에서 마이크로 프로세서의 내부상태 변화를 지속적으로 관찰할 수 있으므로 이를 제품 개발 과정에 적용하면 마이크로 프로세서의 실시간 모니터링에 의한 보다 향상된 개발도구로써 사용할 수 있다.

Claims (6)

  1. 메모리 어드레스 제어신호 및 타이밍 제어신호를 발생하는 타이밍 제어부와,
    상기 타이밍 제어부의 어드레스 제어신호를 받아 실행된 명령어 및 데이터를 저장하는 내부 메모리부와,
    상기 타이밍 제어부의 어드레스 제어신호를 받아 실행될 명령어를 내부 메모리부로부터 페치하는 명령어 페치부와,
    상기 명령어 페치부에서 페치된 명령어를 마이크로 프로세서의 명령어로 해석하는 명령어 해석부와,
    상기 명령어 해석부의 명령어 실행신호와 타이밍 제어신호를 받는 마이크로 프로세서의 내부자원부와,
    실행 및 정지될 어드레스 신호를 저장하는 레지스터 파일부와,
    상기 타이밍 제어부의 타이밍 제어신호와 레지스터 파일부의 어드레스 신호를 받아 비교하여 일치/불일치를 나타내는 어드레스 확인신호를 출력하는 어드레스 비교부와, 그리고
    상기 어드레스 비교부의 어드레스 확인신호를 받아 마이크로 프로세서의 상태를 감시하는 에뮬레이션 제어부를 포함하여 구성됨을 특징으로 하는 마이크로 프로세서.
  2. 제 1 항에 있어서,
    상기 마이크로 프로세서 내부의 모든 자원간을 내부버스를 통해 연결되고, 별도의 에뮬레이션 제어부와 내부자원부와 레지스터 파일부들은 에뮬레이션 버스 등으로 연결됨을 특징으로 하는 마이크로 프로세서.
  3. 제 1 항에 있어서,
    상기 에뮬레이션 제어부는 마이크로 프로세서의 타이밍 제어와 에뮬레이션 제어를 조절하는 에뮬레이션 타이밍 제어신호를 발생함을 특징으로 하는 마이크로 프로세서.
  4. 제 1 항에 있어서,
    상기 에뮬레이션 제어부가 마이크로 프로세서의 내부버스와 별도의 에뮬레이션 버스를 제어함을 특징으로 하는 마이크로 프로세서.
  5. 제 1 항에 있어서,
    상기 타이밍 제어부의 타이밍 제어신호와 레지스터 파일부의 어드레스 신호를 받아 어드레스 비교부에서 비교하여 어드레스 확인신호의 출력을 사용하면, 마이크로 프로세서의 실행에 필요한 타이밍 제어신호와 별도의 에뮬레이션 제어신호를 얻는 것을 특징으로 하는 마이크로 프로세서.
  6. 제 5 항에 있어서,
    상기 마이크로 프로세서의 실행에 필요한 타이밍 제어신호와 별도의 에뮬레이션 제어신호를 마이크로 프로세서 타이밍 제어신호와 연동시켜 명령어 실행시 내부상태의 변화를 에뮬레이션 제어부에 전달하여 에뮬레이션 호스트로 보내는 것을 특징으로 하는 마이크로 프로세서.
KR1019980002334A 1998-01-26 1998-01-26 마이크로 프로세서 KR19990066417A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980002334A KR19990066417A (ko) 1998-01-26 1998-01-26 마이크로 프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980002334A KR19990066417A (ko) 1998-01-26 1998-01-26 마이크로 프로세서

Publications (1)

Publication Number Publication Date
KR19990066417A true KR19990066417A (ko) 1999-08-16

Family

ID=65892871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980002334A KR19990066417A (ko) 1998-01-26 1998-01-26 마이크로 프로세서

Country Status (1)

Country Link
KR (1) KR19990066417A (ko)

Similar Documents

Publication Publication Date Title
US7533302B2 (en) Trace and debug method and system for a processor
US6668339B1 (en) Microprocessor having a debug interruption function
JP2006507586A (ja) 埋め込みシステムの解析装置及び方法
EP0354654B1 (en) Method and apparatus for marking emulation analysis states
US6484275B1 (en) System and method for interfacing data with a test access port of a processor
KR19990066417A (ko) 마이크로 프로세서
JPH10254738A (ja) エミュレータ装置及びエミュレーション方法
JP2003122594A (ja) 半導体装置および評価装置
KR100386820B1 (ko) 반도체 시험 장치의 프로그램 실행 시스템
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
KR100200712B1 (ko) 노-타겟 시스템의 프로그램 디버깅 장치
JP2004046716A (ja) デバッグ装置
JP3358123B2 (ja) コントローラの入出力シミュレート方法および装置
KR20020079162A (ko) 하드웨어에 기반한 소프트웨어 디버깅 장치
JP2575025B2 (ja) インサ−キット・エミュレ−タ
JP2734382B2 (ja) インサーキットエミュレータおよびそのデバッグ方法
KR100538282B1 (ko) 체크 포인트를 이용한 실시간 병렬 프로그램 디버깅 방법
JPH07219808A (ja) エミュレータのトレース方法およびエミュレータ
KR20030058130A (ko) 프로세서의 실시간 디버깅 장치
JP2001051873A (ja) デバッグ装置
JPH0836505A (ja) マイクロコンピュータの開発支援システム
JPS63175940A (ja) マイクロコンピユ−タシステム開発サポ−トツ−ル
JPH09114692A (ja) インサーキットエミュレータ
KR20000037584A (ko) 조인트 테스트 액세스 그룹을 이용한 오류수정장치
JPH05282179A (ja) エミュレータ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application