KR19990063187A - 프로그램 제어 유니트 - Google Patents

프로그램 제어 유니트 Download PDF

Info

Publication number
KR19990063187A
KR19990063187A KR1019980055974A KR19980055974A KR19990063187A KR 19990063187 A KR19990063187 A KR 19990063187A KR 1019980055974 A KR1019980055974 A KR 1019980055974A KR 19980055974 A KR19980055974 A KR 19980055974A KR 19990063187 A KR19990063187 A KR 19990063187A
Authority
KR
South Korea
Prior art keywords
control unit
data
program control
output
memory device
Prior art date
Application number
KR1019980055974A
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 피터 토마스
Publication of KR19990063187A publication Critical patent/KR19990063187A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 제어 유니트는 내부 메모리 장치의 선택된 영역 내로 기록될 데이터가 부가로 내부 메모리 장치 내로 데이터 입력을 위해 프로그램 제어 유니트로부터 출력되도록 설계된다.

Description

프로그램 제어 유니트
본 발명은, 청구항 제 1항의 전제부에 따른 장치 즉, 내부 메모리 장치를 갖는 프로그램 제어 유니트에 관한 것이다.
프로그램 제어 유니트로는 예를 들어 마이크로 프로세서, 마이크로 콘트롤러, 신호 프로세서 등이 있다.
특히 프로그램 제어 유니트를 포함하는 시스템의 개발시 그리고 다른 경우에 있어서도 프로그램 제어 유니트에 의해 실행되는 프로그램의 정상적인 실행을 제어하고 및/또는 프로그램 실행에서 에러 발생 원인을 찾는 것이 때때로 요구된다.
이것을 위해 일반적으로 디버깅 장치나 에뮬레이터가 사용된다.
디버깅 장치는 저렴하게 구입할 수는 보조 장치이지만 언제 어디서나 사용될 수 있는 장치는 아니다. 이러한 제한적 사용 가능성은 특히 모니터링될 프로그램의 실행이 디버깅 장치의 작동 동안에 항상 중단되어야 하는 데에서 기인한다. 이는 예를 들어 디버깅 장치가 실시간 시스템에서의 응용을 모니터링 하는데 적합하지 않거나 기껏해야 제한적으로 적합한 결과를 가져온다.
이와는 달리, 에뮬레이터는 모니터링될 프로그램의 실행이 프로그램 제어 유니트의 중간 정지 없이 이루어지게 한다. 따라서, 실시간 시스템에서의 응용도 역시 모니터링될 수 있다. 그러나, 에뮬레이터는 언제 어디서나 사용될 수 없는 매우 복잡하고 비싼 장치이다. 게다가 에뮬레이터는 프로그램 제어 유니트를 포함하는 시스템으로의 연결이 필요하며, 이로 인해 상기 시스템이 테스트 동안에 실제 사용 조건으로 작동될 수 없게 된다.
본 발명의 목적은 간단한 방법으로 프로그램 제어 유니트 및/또는 상기 유니트에 의해 실행되는 프로그램을 모니터링 할 수 있는 방법을 제공하는 것이다.
도 1은 본 발명에 따른 프로그램 제어 유니트의 실시예의 구성을 나타낸 개략도.
* 도면의 주요 부분에 대한 부호의 설명 *
1: 마이크로 콘트롤러 11: 레지스터
12: 제어 유니트 13: 인터페이스
상기 목적은 본 발명에 따라 청구항 제 1항의 특징에 의해 달성된다.
이에 따라 프로그램 제어 유니트는 내부 메모리 장치의 선택된 영역 내로 기록될 데이터가 부가로 내부 메모리 장치 내로 데이터의 입력을 위해 프로그램 제어 유니트로부터 출력되도록 설계된다.
프로그램 제어 유니트의 내부에 저장될 데이터의 적어도 부분적인 출력은 매우 간단한 방법으로 프로그램 제어 유니트의 기능 및/또는 상기 유니트에 의해 실행되는 프로그램의 실행을 비싼 부가 장치 없이 실제 조건에서 모니터링할 수 있게 한다.
본 발명의 바람직한 개선예는 종속항, 다음의 설명 및 도면에 제시된다.
첨부한 도면을 참고로 본 발명의 실시예를 구체적으로 설명하면 하기와 같다.
다음에 더욱 자세히 설명되는 프로그램 제어 유니트는 마이크로 콘트롤러이다. 그러나 본 발명이 마이크로 콘트롤러에 한정되지는 않는다; 본 발명은 마이크로 프로세서, 신호 프로세서 등과 같은 임의의 다른 프로그램 제어 유니트에도 사용될 수 있다.
프로그램 제어 유니트는 하기 실시예에서 실시간 작동 시스템(RTOS)을 나타내는 프로그램을 실행하고, 상기 프로그램에 의해 미리 정해진 이벤트에 반응하여 즉시 또는 사후에 관련 사용자 프로그램들(Tasks)이 실행된다. 프로그램 제어 유니트는 실행되는 프로그램의 중단이나 기타의 영향 없이 데이터를 출력하도록 설계되어 있어 경우에 따라 생기는 태스크 변경을 실시간으로 추적할 수 있다.
대안으로 또는 부가로 프로그램 제어 유니트 및/또는 상기 유니트에 의해 실행되는 프로그램의 임의의 다른 상태, 이벤트, 패러미터, (중간)결과 및/또는 작용을 나타내는 데이터도 역시 출력될 수 있으며, 실시간 작동 시스템이 사용되지 않을 때도 전술한 데이터가 사용될 수 있다.
마이크로 콘트롤러는 도 1에서 도면 부호 (1)로 표시된다; 마이크로 콘트롤러의 내부 구성 중 레지스터(11), 제어 유니트(12) 및 인터페이스(13)만이 도시된다.
본 실시예에서 마이크로 콘트롤러(1)는 레지스터(11)에 기록되는 데이터가 부가로 제어 유니트(12)에 의한 제어 하에 인터페이스(13)를 통해 마이크로 콘트롤러로부터 출력되도록 설계된다. 나중에 더 자세히 설명되겠지만 인터페이스(13)를 통해 출력된 데이터는 예를 들어 데이터의 (에러)식별 및/또는 오리진 및/또는 의미를 나타내는 스테이트먼트와 같은 다른 정보를 포함할 수 있다.
레지스터에 저장된 데이터뿐만 아니라 대안으로 또는 부가로 마이크로 콘트롤러의 내부 메모리 장치(내부 램, 내부 플래시-EPROM 등)에 저장된 데이터가 상기 데이터의 오버라이트에 반응하여 출력될 수 있다. 즉, 도 1에서 도면 부호 (11)로 표시된 블록이 반드시 레지스터일 필요는 없으며 프로그램 제어 유니트의 임의의 다른 내부 메모리 장치이거나 그것의 선택된 영역일 수 있다.
본 실시예에서 레지스터(11)는 지금 실행된 태스크를 표시하는 데이터가 기록되는 태스크-ID-레지스터이다. 현재 실행중인 태스크를 표시하는 데이터는 예를 들어 액트브 태스크의 개시 어드레스로 이루어질 수 있으며 매직 넘버라 한다. 상기 매직 넘버는 거의 모든 실시간 작동 시스템에 의해 관리된다. 물론, 프로그램 제어 유니트 및/또는 상기 유니트에 의해 실행되는 프로그램의 임의의 다른 상태, 이벤트, 패러미터, (중간)결과 및/또는 작용을 나타내는 데이터가 레지스터(11)에 저장될 수 있다.
인터페이스(13)는 출력될 데이터을 개별적으로 한 비트 한 비트 출력하는 직렬 인터페이스이거나, 출력될 데이터를 병렬로 외부 버스로 보내는 병렬 인터페이스이다. 데이터를 출력하는 핀은 바람직하게는 레지스터(11) 내용(및 경우에 따라 전술한 부가 정보 내용)의 출력만을 위해 확보된다.
본 실시예에서 (경우에 따라 전술한 부가 정보와 함께) 인터페이스(13)를 통해 출력되는 데이터는 레지스터(11)에 저장된 데이터이지만, 새로운 데이터가 레지스터(11)에 기록될 때만 저장된 데이터가 출력된다. 레지스터(11)에 새로 기록된 데이터는 바람직하게는 상기 데이터가 레지스터에 기록되는 것과 동시에 인터페이스(13)로 전송된다.
제어 유니트(12)의 의무는 출력될 데이터를 인터페이스로 전달하고 인터페이스를 통한 데이터의 출력을 돕는 것이다. 여기서 제어 유니트(12)는 특히 레지스터(11)가 새로 기록되거나 또는 이미 기록되었고 인터페이스(13)로의 데이터 전송에 의해 인터페이스(13)에서 아직 출력되지 않은 데이터가 오버라이트되지 않을 때만, 데이터가 인터페이스(13)로 전송되며 상기 인터페이스로부터 출력되게 한다.
후자의 조건은 인터페이스로부터의 데이터 출력이 직렬로 그리고 비교적 천천히 이루어질 때 중요하다.
인터페이스(13)로의 새로운 레지스터 내용의 전송에 의해 거기서 아직 출력되지 않은 데이터가 오버라이트 되면, 전송이 제어 유니트(12)에 의해 방해되거나 적어도 지연된다. 부가로 (에러)식별 코드가 세팅되고 상기 (에러)식별 코드에 의해 인터페이스(13)를 통한 레지스터(11)의 내용의 출력이 불완전하게 또는 지연되어 이루어지는 것이 신호화된다. 상기 식별 코드는 레지스터(11)의 새로운 내용과 함께 마이크로 콘트롤러로부터 출력되는 전술한 부가 정보에 포함된다. 상기 식별 코드가 세팅된 상태는 출력된 데이터가 일시적으로 실제 상태 또는 실제 프로세스에 대한 정확한 추론을 불가능하게 한다는 것을 나타낸다.
특히 단지 레지스터(11)의 내용만이 또는 우선적으로 레지스터(11)의 내용이 중요하고(레지스터 내용의 변경 시점은 중요하지 않거나 약간 중요하고), 출력이 시간적으로 지연되는 경우에도 레지스터 내용이 사용되면, 레지스터(11)와 인터페이스(13) 사이에 도 1에 도시되지 않은 버퍼(예를 들어 다수의 워드를 포함하는 선입선출(FIFO)-레지스터)가 제공될 수 있고 상기 버퍼에 다수의 레지스터 내용(레지스터(11)의)이 중간 저장될 수 있다. 이로 인해, 레지스터 내용이 출력시 인터페이스의 과부하에 의한 영향을 받지 않거나 적은 레지스터 내용만이 영향을 받는다. 그러나, 전술한 (에러)식별 코드가 바람직하게는 부가로 또는 대안으로 버퍼가 꽉 찼거나 용량이 초과될 때 항상 세팅된다.
현재 실행중인 태스크를 표시하는 데이터의 출력은 매우 간단한 방법으로 마이크로 콘트롤러에서 이루어지는 실행 제어, 즉 각각의 태스크가 실행되는 순서 및 태스크 변경 시점(각각의 태스크가 실행되는 지속 시간)에 대한 제어를 모니터링할 수 있게 한다. 이를 위해 제공되는 방법들은 마이크로 콘트롤러에서 그리고 인터페이스(13)를 통해 출력되는 정보의 평가 시에 특별히 많은 비용을 필요로 하지 않는다. 이로 인해, 마이크로 콘트롤러를 포함하는 시스템 또는 마이크로 콘트롤러에 의해 실행되는 프로그램에서 특정한 에러가 에뮬레이터, 논리 분석기 등과 같은 비싼 측줴구 없이 신속하고 간단히 찾아질 수 있다. 많은 경우 에뮬레이터, 논리 분석기 등이 완전히 사용되지 않아도 되므로 소기업 및 엔지니어링 사무소가 복합한 시스템을 개발할 수 있다.
인터페이스(13)를 통해 출력되는 데이터가 실시간 작동 시스템으로 실행되지 않는 프로그램의 개별 부분(특히 서브 프로그램, 기능 등)을 예를 들어 전술한 매직 넘버와 비교될 수 있는 스테이트먼트로 표시하는 경우 상응하는 것이 적용된다. 이 경우 실시간 작동 시스템으로 실행되지 않는 프로그램의 실행이 이루어질 수 있다.
에뮬레이터, 논리 분석기 등의 기기 없이 에러를 찾을 수 있는 경우에는 인터페이스(13)를 통해 출력되는 데이터가 에뮬레이터, 논리 분석기 등을 트리거링하는 데 사용될 수 있다.
전술한 바와 같이, 막 실행된 태스크를 표시하는 데이터(레지스터(11)의 내용에서)에 부가해서 또는 대안으로서 하나 또는 다수의 다른 레지스터 또는 마이크로 콘트롤러(1)의 기타 내부 메모리 영역의 내용이 인터페이스(13)를 통해 출력될 수 있다. 인터페이스(13)를 통해 규칙적으로 또는 불규칙적으로 교대로 연속해서 다수의 레지스터 또는 메모리 영역의 데이터가 출력되어야 하는 경우에 바람직하게는 특히 해당 데이터의 의미 및/또는 오리진을 신호화하는 부가 정보가 고유의 새로운 레지스터 내용 또는 메모리 영역 내용과 함께 전송된다.
레지스터(레지스터들) 및/또는 기타 메모리 영역(기타 메모리 영역들)이 적어도 부분적으로 자유롭게 선택되는 것이, 마이크로 콘트롤러 및/또는 상기 마이크로 콘트롤러에 의해 실행되는 프로그램의 모니터링을 위해 바람직하다. 상기 레지스터 및/또는 기타 메모리 영역의 내용은 그 변경시 인터페이스(13)를 통해 출력된다. 레지스터 및/또는 기타 메모리 영역의 자유로운 선택은 예를 들어 제어 유니트(12) 및/또는 인터페이스(13) 앞에 연결된 하나 또는 다수의 멀티 플렉서를 제공함으로써 이루어진다; 상기 멀티 플렉서는 하드웨어적으로(예를 들어 마이크로 콘트롤러에 인가되는 신호에 의해) 또는 소프트웨어적으로(마이크로 콘트롤러에 의해 실행되는 프로그램에 의해) 트리거링될 수 있다.
대안으로 또는 부가로 그 변경이 중요한 데이터는 선택적으로 마이크로 콘트롤러의 임의의 레지스터 또는 메모리 영역에 저장될 수 있다. 그러면 출력이 중요한 데이터는 간단히 레지스터 또는 기타 메모리 영역에 저장되기만 하면 되고, 변경시 상기 레지스터 및/또는 기타 메모리 영역의 내용은 인터페이스(13)를 통해 출력된다.
실시예의 세부사항과 관계없이 전술한 프로그램 제어 유니트에서는 매우 간단한 방법으로 프로그램 제어 유니트 및/또는 상기 프로그램 제어 유니트에 의해 실행되는 프로그램의 실행을 모니터링하는 것이 가능해진다.
본 발명에 따라 간단한 방법으로 프로그램 제어 유니트 및/또는 상기 유니트에 의해 실행되는 프로그램이 모니터링된다.

Claims (10)

  1. 내부 메모리 장치(11)를 갖는 프로그램 제어 유니트에 있어서, 상기 프로그램 제어 유니트가 부가로 내부 메모리 장치의 선택된 영역 내로 기록될 데이터가 내부 메모리 장치 내로의 데이터 입력을 위해 프로그램 제어 유니트로부터 출력되도록 설계되는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서, 내부 메모리 장치(11)로의 데이터 기록 및 상기 데이터를 출력하는 프로그램 제어 유니트의 인터페이스로의 데이터 전송이 동시에 이루어지는 것을 특징으로 하는 장치.
  3. 제 2항에 있어서, 프로그램 제어 유니트는, 인터페이스(13)로의 데이터 전송에 의해 인터페이스에서 아직 출력되지 않은 데이터가 오버라이트되면 인터페이스(13)로의 데이터 전송을 방해하거나 지연시키도록 설계되는 것을 특징으로 하는 장치.
  4. 상기 항 중 어느 한 항에 있어서, 프로그램 제어 유니트로부터 데이터가 출력되는 내부 메모리 장치의 영역이 레지스터 또는 기타 메모리 영역을 포함하며, 상기 레지스터 또는 기타 메모리 영역에 프로그램 제어 유니트에 의해 현재 실행중인 태스크 및/또는 프로그램 제어 유니트에서 실행되는 프로그램의 현재 실행중인 부분을 표시하는 데이터가 저장되는 것을 특징으로 하는 장치.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 프로그램 제어 유니트로부터 그 내용이 출력되는 내부 메모리 장치의 영역이 다수의 영역으로부터 선택될 수 있는 영역인 것을 특징으로 하는 장치.
  6. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 프로그램 제어 유니트가 내부 메모리 장치의 상이한 영역의 내용을 교대로 출력하도록 설계되는 것을 특징으로 하는 장치.
  7. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 프로그램 제어 유니트는 선택적으로 다양한 패러미터를 나타내는 데이터가 프로그램 제어 유니트로부터 그 내용이 출력되는 내부 메모리 장치의 영역에 저장되도록 설계되는 것을 특징으로 하는 장치.
  8. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 프로그램 제어 유니트가 선택된 내부 메모리 장치 영역의 새로운 내용과 함께 부가 정보를 출력하도록 설계되는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서, 부가 정보가 데이터 출력이 불완전하게 또는 지연되어 이루어지는 것에 대한 정보를 포함하는 것을 특징으로 하는 장치.
  10. 제 9항에 있어서, 부가 정보가 데이터의 오리진 및/또는 데이터에 의해 나타나는 패러미터에 대한 스테이트먼트를 포함하는 것을 특징으로 하는 장치.
KR1019980055974A 1997-12-19 1998-12-18 프로그램 제어 유니트 KR19990063187A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19756850.5 1997-12-19
DE19756850 1997-12-19

Publications (1)

Publication Number Publication Date
KR19990063187A true KR19990063187A (ko) 1999-07-26

Family

ID=7852727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980055974A KR19990063187A (ko) 1997-12-19 1998-12-18 프로그램 제어 유니트

Country Status (3)

Country Link
EP (1) EP0924619A3 (ko)
JP (1) JPH11249929A (ko)
KR (1) KR19990063187A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3796111B2 (ja) 2000-11-10 2006-07-12 株式会社ルネサステクノロジ データプロセッサ
US7278073B2 (en) * 2003-04-17 2007-10-02 Arm Limited Diagnostic data capture within an integrated circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212775A (en) * 1990-01-04 1993-05-18 National Semiconductor Corporation Method and apparatus for observing internal memory-mapped registers
JPH05334459A (ja) * 1992-05-28 1993-12-17 Nec Corp マイクロコンピュータ
JP3846939B2 (ja) * 1995-08-30 2006-11-15 フリースケール セミコンダクター インコーポレイテッド データプロセッサ

Also Published As

Publication number Publication date
EP0924619A2 (de) 1999-06-23
JPH11249929A (ja) 1999-09-17
EP0924619A3 (de) 2004-01-07

Similar Documents

Publication Publication Date Title
US6154857A (en) Microprocessor-based device incorporating a cache for capturing software performance profiling data
US5630049A (en) Method and apparatus for testing software on a computer network
US6598178B1 (en) Peripheral breakpoint signaler
US7228264B2 (en) Program-controlled unit
US7200776B2 (en) System and method for generating trace data in a computing system
US6145122A (en) Development interface for a data processor
Fabre et al. Assessment of COTS microkernels by fault injection
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
GB2197506A (en) Providing and handling break points in a software monitor
KR20010006188A (ko) 마이크로프로세서 기반 장치용 트레이스 캐시
KR20010030956A (ko) 프로그램 제어 장치 및 상기 장치를 디버깅하기 위한 방법
US20060150021A1 (en) Device and method for analyzing embedded systems
KR970012153A (ko) 데이타 프로세서 및 중단점 작동 실행 방법
US20080162776A1 (en) Identifying Race Conditions Involving Asynchronous Memory Updates
US5280626A (en) Multi-process emulator suitable for testing software under multi-process environments
KR19990063187A (ko) 프로그램 제어 유니트
US6370589B1 (en) Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer
US5991899A (en) Method and apparatus for a real-time diagnostic tool using a non-intrusive trace technique
KR20180008629A (ko) 테스트 응답 제공 방법 및 그 장치
JP3002341B2 (ja) ロジックアナライザ
JPH07129430A (ja) プログラムの試験方法
JPH0736735A (ja) デバッグ装置
KR100619679B1 (ko) 프로세서의 실시간 모니터링 장치 및 방법
SU1545221A1 (ru) Устройство дл контрол микропроцессорной системы
KR940023126A (ko) 전전자 교환기의 디바이스 보드의 버스 액세스 상태 감시 및 보고방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee