KR100506112B1 - 트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터 - Google Patents

트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터 Download PDF

Info

Publication number
KR100506112B1
KR100506112B1 KR10-2003-0018939A KR20030018939A KR100506112B1 KR 100506112 B1 KR100506112 B1 KR 100506112B1 KR 20030018939 A KR20030018939 A KR 20030018939A KR 100506112 B1 KR100506112 B1 KR 100506112B1
Authority
KR
South Korea
Prior art keywords
data
address
information
circuit
output
Prior art date
Application number
KR10-2003-0018939A
Other languages
English (en)
Other versions
KR20030077475A (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 가부시끼가이샤 도시바
Publication of KR20030077475A publication Critical patent/KR20030077475A/ko
Application granted granted Critical
Publication of KR100506112B1 publication Critical patent/KR100506112B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

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)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

본 발명에 따른 트레이스 데이터 압축 장치는, 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 취득하는 데이터 취득 회로와, 상기 데이터 취득 회로에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 회로와, 상기 데이터 취득 회로에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 회로와, 상기 어드레스 정보 압축 회로와 상기 데이터 정보 압축 회로로부터 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 회로를 포함한다.

Description

트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법 및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터{TRACE DATA COMPRESSION APPARATUS, TRACE DATA COMPRESSION METHOD AND MICROCOMPUTER HAVING TRACE DATA COMPRESSION CIRCUIT}
본 발명은 2002년 3월 26일에 출원된 일본특허출원 제P2002-086737호를 우선권으로 하며 그 권리를 주장하고, 이 출원의 전체 내용이 본 명세서에 참조로써 포함되어 있다.
본 발명은 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 압축하여 출력하는 트레이스 데이터 압축 장치 및 트레이스 데이터 압축 방법, 및 소정의 처리를 행하여, 이 처리에서 출력된 데이터를 압축하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터에 관한 것이다.
최근, 마이크로컴퓨터의 보급은 현저하여, 모든 기기에 마이크로컴퓨터가 사용되고 있다.
마이크로컴퓨터란, IC 칩 상에 다양한 정보의 연산이나 처리에 필요한 모든 기능을 집적한 것으로, 한번에 처리할 수 있는 데이터의 폭으로부터 4 비트, 8 비트, 16 비트, 32 비트 등의 종류가 있다. 마이크로컴퓨터는 차, 청소기, 전자 레인지, 냉장고, 에어컨, 자동차 등, 모든 전기 제품에 내장되어 있다.
마이크로컴퓨터는 퍼스널 컴퓨터 등과 접속되어, 기술자가 퍼스널 컴퓨터를 사용하여 프로그램하여, 소정의 처리를 행할 수 있다.
이에 수반하여, 기술자가 행한 프로그램이 맞는지 여부, 검증(디버그)을 행할 필요가 있다. 데이터의 처리 시간을 확인하고, 임의의 데이터를 입력하여 처리되고, 출력된 데이터를 확인하는 등, 다양한 디버그 방법이 있다.
이 디버그 방법 중에, 또한 메모리나 IO 영역 등으로의 데이터 액세스의 이력을 조사하는 데이터 트레이스를 예로 들 수 있다.
종래의 데이터 트레이스 시스템을 도 1에 도시한다. 도 1에 도시한 종래의 데이터 트레이스 시스템은 타깃이 되는 마이크로컴퓨터 대신에, IC 소켓이 탑재된 타깃 시스템(103)과 IC 소켓에 접속되고, 타깃이 되는 마이크로컴퓨터와 동일한 처리를 행하는 에뮬레이션 칩(에바칩)(105)과, 에뮬레이션 칩의 입출력을 트레이스하는 퍼스널 컴퓨터(101)를 포함하고 있다. 여기서, 퍼스널 컴퓨터(101)와 에뮬레이션 칩(105)은 데이터 트레이스 정보 수집 장치라고 한다.
그러나, 도 1에 도시한 데이터 트레이스 시스템에서는, 타깃이 되는 마이크로컴퓨터가 아니고, 그것과 동일한 처리를 행하는 에뮬레이션 칩(105)으로 처리를 행하게 된다. 이 에뮬레이션 칩(105)을 작성하는 데, 수십만 게이트 내지 수백만 게이트의 회로 규모를 필요로 하며, 수백만엔 내지 수천만엔의 비용이 필요하게 된다. 또한, 타깃이 되는 마이크로컴퓨터를 직접 디버그를 행하는 것은 아니므로, 에뮬레이션 칩(105)의 정밀도로는, 충분한 디버그를 행할 수 없었다. 또한, 에뮬레이션 칩(105)과 IC 소켓의 접속에 어려움이 있다. 또한, 이 때, 전용 프로브로 접속하기 때문에, 케이블 노이즈 등으로 정확하게 에뮬레이션 칩이 동작하지 않는 경우가 있었다.
이들 문제를 해결하기 위해 생각해 낸 데이터 트레이스 시스템을 도 2에 도시한다. 도 2에 도시한 데이터 트레이스 시스템에서는, DSU-ICE(102)를 통해 퍼스널 컴퓨터(101)는 타깃 시스템(103)으로부터 데이터 트레이스를 행할 수 있다.
도 2에 도시한 데이터 트레이스 시스템에서는, 마이크로컴퓨터에 대하여, 직접 디버그를 행할 수 있다. 따라서, 도 1에 도시한 데이터 트레이스 시스템과 비교하여, 에뮬레이션 칩을 작성하는 비용을 삭감시킬 수 있고, 마이크로컴퓨터에 대하여 직접 디버그를 행하므로, 정확한 디버그를 행할 수 있다는 등의 장점이 있다.
그러나, 도 2에 도시한 데이터 트레이스 시스템에서는, 예를 들면 32 비트의 마이크로컴퓨터를 디버그하는 경우, 어드레스 정보로서 32 비트, 데이터(피연산자) 정보로서 32 비트, 스테이터스 정보로서 6 비트의 합계 70 비트를 출력하기 위해, 70개의 출력 단자가 필요하게 된다. 이에 의해, 마이크로컴퓨터의 대규모화, 고비용화 등을 야기하게 되었다.
또한, 단자 수를 줄인 디버그 기능이 있는 마이크로컴퓨터도 있지만, 이 마이크로컴퓨터로는 트레이스 정보를 분할하여 출력해야한다. 그 결과, 모든 정보를 출력하는데 시간을 필요로 하고, 이어서 출력하는 정보와 오버랩하여, 실질적으로 모든 정보를 출력할 수 있는 비율이 적어지고 있는 추세이다.
본 발명에 따른 트레이스 데이터 압축 장치는, 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 취득하는 데이터 취득 회로와, 상기 데이터 취득 회로에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 회로와, 상기 데이터 취득 회로에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 회로와, 상기 어드레스 정보 압축 회로와 상기 데이터 정보 압축 회로로부터 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 회로를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 트레이스 데이터 압축 방법은, 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 취득하는 데이터 취득 단계와, 상기 데이터 취득 단계에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 단계와, 상기 데이터 취득 단계에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 단계와, 상기 어드레스 정보 압축 단계와 상기 데이터 정보 압축 단계에서 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 트레이스 데이터 압축 회로를 내장하는 마이크로컴퓨터는, 소정의 처리를 행하고, 상기 처리에서 출력된 데이터를 트레이스하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터로서, 소정의 처리를 행하는 처리 회로와, 상기 처리 회로로부터, 상기 처리 회로가 데이터 액세스를 행한 어드레스 정보 및 데이터 정보를 취득하는 데이터 취득 회로와, 상기 데이터 취득 회로에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 회로와, 상기 데이터 취득 회로에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 회로와, 상기 어드레스 정보 압축 회로와 상기 데이터 정보 압축 회로로부터 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 회로를 포함하는 것을 특징으로 한다.
이하, 첨부하는 도면을 참조하여 본 발명의 다양한 실시 형태에 대하여 설명한다. 첨부하는 도면 전체를 통하여 동일 또는 유사한 부분 및 엘리먼트에 대해서는 동일 또는 유사한 도면 참조 번호를 부여하고, 동일 또는 유사한 부분 및 엘리먼트에 대한 설명은 생략 또는 단순화한다.
일반적으로 반도체 디바이스를 표시할 때는 늘 그러하듯이, 다수의 도면들은 스케일이 일정하게 되어 있지 않으며 또한 특정한 도면 내에서도 스케일이 일정하게 되어 있지 않으며, 특히 층 두께는 도면의 판독을 용이하게 하기 위해 임의로 작성되어 있다.
다음 설명에서, 다수의 특정 실시예에서는 본 발명의 이해를 위해서 특정한 신호값 등이 제시되어 있다. 그러나, 본 기술 분야에 숙련된 자에게는 이러한 특정한 상세 없이도 본 발명을 실시할 수 있음은 자명한 것이다. 가령, 공지된 회로들은 본 발명을 불필요하게 모호하게 하지 않도록 블록도로 도시되어 있다.
(제1 실시 형태)
(트레이스 데이터 압축 장치)
본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 장치(1)의 기능 블록도를 도 3에 도시한다.
트레이스 데이터 압축 장치(1)는 소정의 처리를 행하는 마이크로컴퓨터 (CPU 코어 : 19)로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 데이터 정보를 압축하여 출력하는 장치이다.
예를 들면, 32 비트의 마이크로컴퓨터를 이용한 경우, 마이크로컴퓨터(19)로부터, 어드레스 정보로서 32 비트, 데이터 정보로서 32 비트, 스테이터스 정보로서 6 비트의 합계 70 비트의 신호가 트레이스 데이터 압축 장치(1)에 입력되고, 트레이스 데이터 압축 장치(1)는 9 비트의 신호로 압축하여, 9개의 단자로 출력한다.
9개의 단자 중 8개는 정보 출력으로서 사용되고, 나머지 하나는 트레이스 데이터 압축 장치(1)의 처리 능력을 초과하는 경우의 오버플로우 스테이터스로서 사용된다. 제1 실시 형태에서는 트레이스 데이터 압축 장치의 전송 레이트는, 마이크로컴퓨터(19)의 클럭 주파수와 동일하게 한다. 또한, 전송 레이트는 마이크로컴퓨터(19)의 클럭 주파수의 2배의 주파수이어도 무방하며, 1/2배의 주파수이어도 무방하다.
마이크로컴퓨터(19)에서, 데이터 액세스가 발생한 경우, 그 어드레스, 데이터, 스테이터스 정보를 8개의 정보 출력 단자로 분할하여 출력한다.
본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 장치(1)는 버퍼 기억 장치(11), 데이터 취득 회로(12), 리드/라이트 판별 회로(13), 어드레스 정보 압축 회로(14), 데이터 정보 압축 회로(15), 오버플로우 감시 회로(16), 데이터 출력 회로(17), 데이터 인터페이스(18)를 포함하고 있다.
버퍼 기억 장치(11)는 리드/라이트 판별 회로(13), 어드레스 정보 압축 회로(14) 및 데이터 정보 압축 회로(15)로부터 출력된 데이터를 버퍼로서 보존하는 기억 장치이다.
마이크로컴퓨터(19)의 데이터 액세스 정보를 8개의 출력 단자로부터 분할하여 출력하는 도중에, 다시 마이크로컴퓨터(19)에 다음 데이터 액세스가 있던 경우, 이 버퍼 기억 장치(11)에 기억하여, 데이터 액세스가 원활하지 않을 때에 축적한 정보를 순차적으로 방출할 수 있게 한다.
데이터 인터페이스(18)는 트레이스 데이터 압축 장치(1)의 출력 인터페이스이다. 데이터 인터페이스(18)는 데이터 출력용으로 8개, 버퍼 기억 장치(11)의 오버플로우 신호로서 하나의 출력 단자를 포함하고 있다.
데이터 취득 회로(12)는 마이크로컴퓨터(19)로부터, 마이크로컴퓨터(19)가 데이터 액세스를 행한 어드레스 정보 및 데이터 정보를 취득하는 회로이다. 마이크로컴퓨터(19)에서 데이터 액세스가 밀접하여 행해진 경우에도 대응할 수 있도록, 어드레스 정보 및 데이터 정보를, 버퍼 기억 장치(11)에 한번 저장하고, 버퍼 기억 장치(11)로부터 취득해도 된다. 이러한 경우에는 데이터 액세스가 원활하지 않을 때, 버퍼 기억 장치(11)로부터 순차적으로 정보를 취득하는 것이 바람직하다.
리드/라이트 판별 회로(13)는 마이크로컴퓨터(19)가, 소정의 어드레스 영역에 데이터를 기입한 것인지, 혹은 판독한 것인지 판별하여, 신호를 출력하는 회로이다. 예를 들면, 데이터를 기입한 경우에는 「0」을, 데이터를 판독하는 경우에는 「1」을, 각각 1 비트의 신호로서 출력한다.
어드레스 정보 압축 회로(14)는 데이터 취득 회로(12)에서 취득된 어드레스 정보를 압축하여 출력하는 회로이다.
데이터 정보 압축 회로(15)는 데이터 취득 회로(12)에서 취득된 데이터 정보를 압축하여 출력하는 회로이다.
오버플로우 감시 회로(16)는 버퍼 기억 장치(11)의 기억 용량을 감시하고, 버퍼 기억 장치(11)의 기억 용량을 초과하여, 버퍼 기억 장치(11)에 데이터를 더 기억하려는 경우, 오버플로우 신호를 송신하는 회로이다. 오버플로우 신호의 출력 횟수를 카운트함으로써, 오버플로우가 몇번 되었는지 파악할 수 있다.
데이터 출력 회로(17)는 리드/라이트 판별 회로(13), 어드레스 정보 압축 회로(14)와 데이터 정보 압축 회로(15)로부터 출력된, 리드/라이트 신호, 압축된 상기 어드레스 정보와 상기 데이터 정보를, 데이터 인터페이스(18)를 통해 출력하는 회로이다. 여기서는, 스타트 비트를 더 부가하여, 유효 정보를 포함하는 가변 길이의 데이터를 출력하는 것이 바람직하다. 또한, 가변 길이의 데이터를 버킷으로 분할하고 출력해도 된다.
(어드레스 정보 압축 회로)
어드레스 정보 압축 회로(14)의 상세한 기능 블록도를 도 4a 내지 도 4b에 도시한다.
도 4a에 도시한 바와 같이, 어드레스 정보 압축 회로(14)는 레지스터부(21), 일치 비교 회로(27), 하위 어드레스 출력 회로(29), 트레이스 단자(28)를 포함하고 있다.
어드레스 정보 압축 회로(14)는 데이터 취득 회로(12)에서 취득된 어드레스 정보인 어드레스 정보(26)를 압축하고, 트레이스 단자(28)에 출력한다. 어드레스 정보(26)는 상위 어드레스를 나타내는 에리어 코드와, 하위 어드레스로 분할하여 출력된다. 여기서, 상위 어드레스란 어드레스의 상위 비트 열을 의미하고, 하위 어드레스란 어드레스의 하위 비트 열을 의미한다. 상위 어드레스와 하위 어드레스에 의해, 하나의 완전한 어드레스로 된다. 따라서, 트레이스 단자(28)는 에리어 코드 단자(28a)와 하위 어드레스 단자(28b)를 포함하고 있다.
레지스터부(21)는 빈출하는 어드레스의 에리어를 사전에 등록하는 레지스터로서, 도 4a 내지 도 4b에서는 15개의 어드레스의 에리어를 등록할 수 있다. 레지스터부(21)는 금지/허가 레지스터(22), 비교 어드레스 레지스터(25a), 마스크 레지스터(24a)를 포함하고 있다.
비교 어드레스 레지스터(25a)는 빈출하는 어드레스의 상위 어드레스를 기억하는 레지스터이다. 예를 들면, 상위 4 비트, 상위 8 비트, 상위 16 비트 등의 상위 어드레스를 기억할 수 있다. 여기서는, 제31 비트로부터 제2 비트의 30 비트를 비교 어드레스로서 기억할 수 있으므로, 최대 30 비트의 데이터를 상위 어드레스로서 등록할 수 있다.
마스크 레지스터(24a)는 비교 어드레스 레지스터(25a)에 기억된 데이터에 마스크하는 레지스터이다. 마스크 레지스터(24a)의 제3 비트는 비교 어드레스 레지스터(25a)의 제31 비트로부터 제24 비트를 마스크하고, 마스크 레지스터(24a)의 제2 비트는 비교 어드레스 레지스터(25a)의 제23 비트로부터 제16 비트를 마스크하고, 마스크 레지스터(24a)의 제1 비트는 비교 어드레스 레지스터(25a)의 제15 비트로부터 제8 비트를 마스크하고, 마스크 레지스터(24a)의 제0 비트는 비교 어드레스 레지스터(25a)의 제7 비트로부터 제0 비트를 마스크한다. 이 마스크 레지스터(25a)에 의해, 상위 어드레스를 제외한 하위 어드레스의 출력 범위를 지정할 수 있다. 따라서, 이 마스크 지정의 범위에 따라, 어드레스 출력의 길이는 바이트 단위로써 서로 다르다.
비교 어드레스 레지스터(25a)와 마스크 레지스터(24a)를 포함한 회로(23a)는 15개의 상위 어드레스를 등록할 수 있도록, 15개의 회로(23a 내지 23o)가 마련되어 있다.
또한, 15개 마련된 회로(23a 내지 23o)를 사용할지의 여부를 제어하는, 금지/허가 레지스터(22)를 포함하고 있다. 금지/허가 레지스터(22)는 15개의 회로(23a 내지 23o)를 제어할 수 있는 15 비트의 레지스터이다.
일치 비교 회로(27)는 데이터 취득 회로(12)에서 취득된 어드레스 정보(26)와, 레지스터부(21)를 비교하는 회로이다. 비교 어드레스 레지스터(25a)에서 지정된 상위 어드레스와, 어드레스 정보(26)의 상위 어드레스가 일치한 경우, 비교 어드레스 레지스터(25a)에서 지정된 상위 어드레스의 식별자인 에리어 코드를 출력한다. 본 발명의 실시 형태에서는, 이 때 출력하는 에리어 코드를 AR[3:0]이라고 나타낸다.
비교 어드레스 레지스터 및 마스크 레지스터로, 15개의 상위 어드레스를 등록할 수 있는 경우, 에리어 코드는 「0」 내지「14」의 에리어 코드를 가지므로, 4 비트의 데이터로 된다. 또한, 일치 비교 회로(27)에서, 어느 한 비교 어드레스 레지스터에 등록한 것과 일치하지 않은 경우에는 에리어 코드를 「15 (16진수 표현으로 0xf)」를 출력한다.
하위 어드레스 출력 회로(29)는 마스크 레지스터(24a)와, 후술하는 도 5a의 마스크 어드레스 출력 회로(40)로부터 출력된 어드레스 A를 참조하여, 마스크된 어드레스를 취득하고, 하위 어드레스 단자(28b)에 출력하는 회로이다.
도 4b는 하나의 상위 어드레스를 등록하는데 필요하게 되는 레지스터를 도시한 도면이다. 상술한 바와 같이, 하나의 상위 어드레스를 등록하기 위해, 그 상위 어드레스를 사용하는 비교를 허가할지 금지할지를 나타내는 금지/허가 레지스터를 1 비트, 마스크 레지스터를 4 비트, 비교 어드레스 레지스터를 30 비트 포함한다.
본 발명의 어드레스 정보 압축 회로에 따르면, 빈출하는 상위 어드레스를 사전에 등록하여, 보다 짧은 비트로 표현한다.
마이크로컴퓨터(19)의 특성으로서, 처리 속도를 향상시키기 위해, 임의의 처리에 대하여 사용하는 어드레스에서, 근변(近邊)의 어드레스를 사용하는 경우가 많다. 따라서, 메모리 영역의 전역이 랜덤하게 사용되는 것은 아니며, 임의의 에리어에 고정되어 사용된다.
그 에리어에 공통되는 어드레스의 상위 비트를 상위 어드레스로서 등록함으로써, 어드레스 정보를 압축할 수 있다.
예를 들면, 32 비트의 마이크로컴퓨터를 이용하여 본 실시예를 적용하면, 상위 24 비트의 어드레스를 상위 어드레스로서 사전에 등록한 경우, 상위 24 비트의 데이터는, 4 비트의 에리어 코드로 압축할 수 있다. 또한, 8 비트의 상위 어드레스를 제외한 하위 어드레스를 가변인 어드레스로서 출력하면 된다. 따라서, 32 비트의 어드레스는 12 비트로 압축되게 된다.
(데이터 정보 압축 회로)
데이터 정보 압축 회로(15)의 상세한 기능 블록도를 도 5a에 도시한다. 데이터 정보 압축 회로(15)는 비트 패턴 출력 회로(37), 레지스터부(31), 일치 비교 회로(39), 마스크 어드레스 출력 회로(40)를 포함한다.
데이터 정보 압축 회로(15)가 포함하는 비트 패턴 출력 회로(37)에 대하여 상세히 설명한다.
비트 패턴 출력 회로(37)는 데이터 정보(38)를, 예를 들면 바이트 단위로 복수의 레인으로 분할하고, 레인에 출력하는 데이터 정보가 있는 경우, 레인을 유효하게 하여, 레인에 출력하는 데이터 정보가 없는 경우, 레인을 무효로 하는 비트 패턴 정보를 출력하는 회로이다. 마이크로컴퓨터(19)가 32 비트인 경우, 4 바이트의 데이터를 취급하므로, 바이트마다 설정한 레인이 유효한지 무효인지 출력하므로, 비트 패턴 정보는 4 비트의 데이터를 갖는다. 본 발명의 실시 형태에서는, 이 때 출력하는 데이터를 BE[3: 0]으로 나타낸다. 여기서, BE는 Byte Enable의 약어이다.
도 6에 비트 패턴 정보의 예를 도시한다. 도 6에는 마이크로컴퓨터(19)가 출력할 가능성이 있는 데이터의 에리어를 도시한다.
도 6의 (a) 패턴은, 워드 액세스라고 하며, 32 비트 모두를 사용하여 피연산자 데이터를 이용하는 경우이다. 이 때, BE[3:0] = 1111로 된다.
도 6의 (b) 패턴은 바이트 액세스라고 하며, 8 비트를 사용하여 피연산자 데이터를 액세스하는 경우이다. 하위 8 비트를 사용했을 때, BE[3:0] = 0001로 된다.
도 6의 (c) 패턴은 하프 워드 액세스라고 하며, 16 비트를 사용하여 피연산자 데이터를 액세스하는 경우이다. 하위 16 비트를 사용했을 때, BE[3:0〕= 0011로 된다.
도 6의 (d) 패턴은 24 비트를 사용하여 피연산자 데이터를 액세스하는 경우 이다. 하위 24 비트를 사용했을 때, BE[3:0] = 0111로 된다.
도 6의 (e) 패턴은 제15 비트로부터 제8 비트를 사용하여 피연산자 데이터를액세스하는 경우로, 이 때 BE[3:0] = 0010으로 된다.
도 6의 (f) 패턴은 제31 비트로부터 제8 비트를 사용하여 피연산자 데이터를액세스하는 경우로, 이 때 BE[3:0〕= 1110으로 된다.
도 6의 (g) 패턴은 제31 비트로부터 제24 비트를 사용하여 피연산자 데이터를 액세스하는 경우로, 이 때 BE[3:0] = 1000으로 된다.
도 6의 (h) 패턴은 제23 비트로부터 제16 비트를 사용하여 피연산자 데이터를 액세스하는 경우로, 이 때 BE[3:0] = 0100으로 된다.
도 6의 (i) 패턴은 제31 비트로부터 제16 비트를 사용하여 피연산자 데이터를 액세스하는 경우로, 이 때 BE[3:0] = 1100로 된다.
비트 패턴 출력 회로(37)에 의해, 유효한 데이터 정보가 없는 에리어의 데이터를 출력하지 않으므로, 데이터 정보를 압축할 수 있다.
예를 들면, 도 6의 (b) 패턴인 경우, 데이터 정보를 압축하지 않은 경우에는, 32 비트의 데이터를 송신하게 된다. 그러나, 실시 형태의 비트 패턴 출력 회로(37)에 의해, 에리어 정보로서 4 비트 출력하고, 제7 비트로부터 제0 비트의 데이터 정보만을 출력하면 되므로, 합계 12비트의 데이터를 출력하게 된다. 따라서, 본 발명의 비트 패턴 출력 회로(37)에 따르면, 20 비트의 데이터를 압축할 수 있다.
이어서, 데이터 정보 압축 회로(15) 중 비트 패턴 출력 회로(37)를 제외한 회로에 대하여 상세히 설명한다.
데이터 정보 압축 회로(15)는 데이터 Fill이나 데이터 클리어 등, 고정 데이터의 반복 패턴도 압축할 수 있다. 이 때, 마이크로컴퓨터(19)의 동작의 성질상 있을 수 없는 비트 패턴 정보에 이들 반복 패턴을 할당한다.
도 7에, 마이크로컴퓨터(19)가 출력할 가능성이 없는 비트 패턴 정보의 예를 도시한다. 이 「출력할 가능성이 없는 비트 패턴 정보」는 마이크로컴퓨터(19)의 특성에 의존한다.
도 7의 (a) 패턴은 32 비트 모든 비트에 있어서, 데이터 정보가 없는 경우로, 이 때 BE[3:0] = 0000으로 된다.
도 7의 (b) 패턴은 제23 비트로부터 제16 비트, 제7 비트로부터 제0 비트만 데이터 정보가 있는 경우로, 이 때 BE[3:0] = 0101로 된다.
도 7의 (c) 패턴은 제31 비트로부터 제24 비트, 제7 비트로부터 제0 비트만 데이터 정보가 있는 경우로, 이 때 BE[3:0] = 1001로 된다.
도 7의 (d) 패턴은 제31 비트로부터 제24 비트, 제15 비트로부터 제8 비트만 데이터 정보가 있는 경우로, 이 때 BE[3:0] = 1010으로 된다.
도 7의 (e) 패턴은 제31 비트로부터 제24 비트, 제15 비트로부터 제0 비트만 데이터 정보가 있는 경우로, 이 때 BE[3:0] = 1011로 된다.
도 7의 (f) 패턴은 제31 비트로부터 제16 비트, 제7 비트로부터 제0 비트만 데이터 정보가 있는 경우로, 이 때 BE[3:0] = 1101로 된다.
본 발명의 실시 형태에서는, 도 7에 도시한 BE[3:0] = 0000, 0101, 1001, 1010, 1011, 1101에 반복 패턴을 할당할 수 있다.
레지스터부(31)는 할당할 수 있는 BE를 사전에 등록하는 레지스터로서, 도 5에서는 6개의 BE를 등록할 수 있다. 레지스터부(31)는 금지/허가 레지스터(32), BE 지정 레지스터(34a), 데이터 패턴 레지스터(35a), 마스크 어드레스 금지/허가 레지스터(36a)를 포함하고 있다.
BE 지정 레지스터(34a)는 도 7에 도시한 출력할 가능성이 없는 비트 패턴 정보 중 어느 하나가 기억되어 있다. a로 지정된 비트 패턴 정보에 할당되는 데이터 패턴이 기억되어 있다. 구체적으로는, 데이터 필(Fill)인 경우에는 「0xffff」가, 데이터 클리어인 경우에는 「0x0000」이 할당되어 있다.
마스크 어드레스 금지/허가 레지스터(36a)는 데이터 정보(38)가 데이터 패턴 레지스터(35a)에 기억된 데이터와 일치했을 때에, 어드레스 정보 압축 회로(14)의 마스크 레지스터(24a)에서 마스크 지정한 어드레스를 출력할지의 여부를 지정할 수 있다.
BE 지정 레지스터(34a), 데이터 패턴 레지스터(35a)와 마스크 어드레스 금지/허가 레지스터(36a)를 포함한 회로(33a)는 본 발명의 실시 형태에서는 6개의 데이터 패턴을 등록할 수 있도록, 6개의 회로(33a ∼ 33f)가 마련되어 있다. 여기서 마련되는 회로의 수는 마이크로컴퓨터(19)의 특성에 의존하며, 마이크로컴퓨터(19)가 출력할 가능성이 없는 비트 패턴 정보의 수만큼 회로가 마련되는 것이 바람직하다.
또한, 6개 마련된 회로(33a ∼ 33f)를 사용할지의 여부를 제어하는, 금지/허가 레지스터(32)를 포함하고 있다. 금지/허가 레지스터(32)는 6개의 회로(33a ∼ 33f)를 제어할 수 있는 6 비트의 레지스터이다.
일치 비교 회로(39)는 데이터 취득 회로(12)에서 취득된 데이터 정보(피연산자 데이터)와 레지스터부(31)를 비교하는 회로이다. 데이터 패턴 레지스터(35a)에서 지정된 데이터와, 피연산자 데이터가 일치한 경우, BE 지정 레지스터(34a)에 기억된 BE 데이터(비트 패턴 정보)를 출력한다. 일치하지 않은 경우에는, 마스크 어드레스 출력 회로는, 비트 패턴 출력 회로(37)에서 데이터가 있다고 판단된 에리어의 정보를 출력한다.
마스크 어드레스 출력 회로(40)는 마스터 지정한 어드레스를 출력한다. 통상적으로, 어드레스 정보 압축 회로의 마스크 레지스터(24a)로 마스크한 어드레스는 트레이스 단자(28)에서 출력된다. 여기서, AR[3:2] = 0 또한 AR[1:0] 중 어느 하나가 유효하다는 것을 나타내는 신호가 입력된다. 이에 의해, 트레이스 압축 장치(1)가 출력하는 패킷을 최소로 할 수 있다.
또한 여기서, 마스크 지정한 어드레스를 출력하지 않는 옵션도 지정할 수 있다. 마스크 어드레스 금지/허가 레지스터(36a)에서 금지로 지정하면, 대응하는 어드레스 에리어에서 데이터 패턴이 일치했을 때, 마스크한 어드레스를 출력하지 않는다.
본 발명의 데이터 정보 압축 회로(15)에 따르면, 데이터 패턴이 일치한 경우에는 비트 패턴 정보를 출력하므로, 데이터를 압축할 수 있다.
예를 들면, 본 발명의 실시 형태에서는 32 비트의 피연산자 데이터가 데이터 패턴 레지스터(35a)와 일치한 경우, 4 비트의 BE 지정 레지스터(34a)에 기억된 BE 데이터를 출력하면 되므로 28 비트의 데이터를 압축할 수 있다.
(트레이스 데이터 압축 방법)
본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 방법의 흐름도를 도 8에 도시한다. 기재한 실행 단계는 실시 형태의 일례로서, 이 순서대로 실행될 필요는 없다.
우선, 단계 S101에서, 데이터 취득 회로(12)에 의해, 마이크로컴퓨터(19)로부터, 데이터 액세스가 있던 어드레스의 어드레스 정보와, 피연산자의 데이터 정보를 취득한다.
이어서, 단계 S102에서, 리드/라이트 판별 회로(13)에 의해, 어드레스의 피연산자를 판독하거나, 피연산자를 기입하거나, 리드 또는 라이트의 스테이터스를 취득한다. 본 발명의 실시 형태에서는 리드인 경우에는 「0」을, 라이트인 경우에는 「1」을 출력한다.
이어서, 단계 S103으로부터 단계 S106에서, 데이터 정보 압축 회로(15)에 의해 데이터 정보를 압축한다.
우선, 단계 S103에서, 일치 비교 회로(39)에 의해 데이터 패턴 레지스터(35a ∼ 35f) 중 어느 하나의 값과 일치하는지 검증한다. 데이터 패턴 레지스터(35a ∼ 35f) 중 어느 하나의 값과 일치하면, 단계 S104에서 대응하는 BE 지정 레지스터(34a ∼ 34f)로부터 BE 정보를 취득한다.
여기서, 마스크 어드레스 금지/허가 레지스터(36a ∼ 36f)의 데이터를 이용하여, 마스크 어드레스 출력 회로(40)에 의해 AR[1:0]의 마스크 어드레스를 출력할 수도 있다.
일치하지 않으면, 단계 S105에서, 비트 패턴 출력 회로(37)에 의해 BE 정보를 취득하고, 단계 S106에서 단계 S105에서 취득한 BE 정보를 참조하여, 데이터 정보 중 유효한 에리어의 데이터만을 취득한다.
이어서, 단계 S103으로부터 단계 S110에서, 어드레스 정보 압축 회로(14)에 의해, 어드레스 정보를 압축한다.
우선, 단계 S107에서 어드레스 정보 압축 회로(14)에 의해, 단계 S101에서 취득한 어드레스 정보의 상위 어드레스와, 비교 어드레스 레지스터(25a ∼ 25o) 중 어느 하나의 값과 일치하는지 검증한다. 비교 어드레스 레지스터(25a ∼ 25o) 중 어디에도 일치하지 않는 경우에는, 단계 S108에서 에리어 코드로서, AR[3:0] = 0xf를 출력한다.
일치하는 경우, 단계 S109에서 일치한 비교 어드레스 레지스터에 대응하는 에리어 코드를 취득한다.
또한, 단계 S110에서 하위 어드레스 출력 회로(29)에 의해 하위 어드레스를 출력한다.
또한, 단계 S111에서 단계 S102 내지 단계 S111에서 취득된 데이터에 스타트 비트를 부가하고, 또한 패킷으로 분할하고, 단계 S112에서 데이터 출력 회로(17)에 의해 패킷을 송신한다.
도 9는 오버플로우 감시 회로(16)의 흐름도이다. 기재한 실행 단계는 실시 형태의 일례로서, 이 순서대로 실행될 필요는 없다.
우선, 데이터 액세스에 의한 트레이스 데이터가 발생하면, 단계 S201에서 트레이스 정보를 버퍼 기억 장치(11)에 기입하는 시도를 행한다.
이어서, 단계 S202에서 버퍼 기억 장치(11)의 용량이 가득 찬 경우, 단계 S203에서 오버플로우 플래그를 출력하고, 기입한 트레이스 정보를 파기한다.
한편, 단계 S202에서, 버퍼 기억 장치(11)의 용량이 가득차지 않은 경우, 단계 S204에서 트레이스 정보를 버퍼 기억 장치(11)에 기록한다.
이 일련의 처리가 종료하면, 다음 트레이스 데이터를 대기한다.
이것에 의하면, 버퍼 기억 장치(11)가 오버플로우할 때마다 신호가 발생하므로, 트레이스 데이터로서 취득할 수 없던 데이터의 수를 카운트할 수 있다.
또한, 클럭 주파수에서 동기를 취함으로써, 어느 타이밍에서 오버플로우가 발생했는지 판별할 수 있다.
도 10a 내지 도 10c는 본 발명의 제1 실시 형태에 의해 출력된 압축된 트레이스 데이터의 예이다.
도 10a에서는, 에리어0에 워드 데이터0xffffffff를 라이트한 경우의 출력 예이다.
여기서, DTR[7:0]은 출력하는 데이터이며, 1 클럭 주파수로 출력하는 데이터는 1 패킷 8 비트이다. TOV는 오버플로우 감시 회로(16)가 출력한 오버플로우 플래그이며, 1 클럭 주파수로 출력하는 데이터는 1 비트이다. DCLK는 마이크로컴퓨터(19)의 클럭 주파수에 동기한 데이터 전송 레이트를 나타내고 있다.
여기서는, 트레이스 데이터 압축 장치(1)는 이하의 조건을 갖추고 있다.
(1) 에리어0은 어드레스 하위 8 비트를 마스크
(2) 데이터 0xffffffff는 데이터 패턴 레지스터로 지정
(3) 데이터 패턴 일치 시에 에리어0의 마스크 어드레스는 출력하지 않음
우선, 스타트 비트로서 「0」을 출력한다. 또한, 데이터를 라이트하고 있으므로, R/W 비트로서 라이트를 나타내는 「1」을 출력한다. 또한, 라이트된 데이터 0xffffffff는 데이터 패턴 레지스터로 지정되어 있으므로, 이것에 대응하는 BE 지정 레지스터의 값인 「0101」을, BE[3:0] 데이터로서 출력한다.
또한, 에리어 코드는 0이므로, AR[1:0] = 0을 출력한다.
이 때, 에리어0의 마스크 어드레스는 출력하지 않으므로, 도 10a에서 출력하는 패킷은 이상과 같으며, 1 패킷의 데이터에 압축되어 전송된다.
도 10b에서는, 도 10a와 마찬가지로, 에리어0에 워드 데이터 0xffffffff를 라이트한 경우의 출력예를 도시하지만, 조건이 서로 다르다.
여기서는, 트레이스 데이터 압축 장치(1)는 이하의 조건을 갖추고 있다.
(1) 에리어0은 어드레스 하위 8 비트를 마스크
(2) 데이터 0xffffffff는 데이터 패턴1로 지정
우선, 스타트 비트로서 「0」을 출력한다. 또한, 데이터를 라이트하고 있으므로, R/W 비트로서 라이트를 나타내는 「1」을 출력한다. 또한, 라이트된 데이터 0xffffffff는 데이터 패턴 레지스터로 지정되어 있으므로, 이것에 대응하는 BE 지정 레지스터의 값인 「0101」을 BE[3:0] 데이터로서 출력한다.
또한, 에리어 코드는 0이므로, AR[3:0] = 0을 출력한다. 단, 여기서는, AR[1:0]과 AR[3:2]과, 다른 패킷으로 분할되어 있다.
여기까지는 도 10a와 마찬가지이다.
도 10b에서는 데이터 패턴 일치 시에 에리어0의 마스크 어드레스를 출력하므로, A[7:2] = 어드레스(임의의 어드레스값)로서, 어드레스를 출력한다.
도 10b에서 출력하는 패킷은 이상과 같으며, 2 패킷의 데이터에 압축되어 전송된다.
도 10c에서는 에리어0에 워드 데이터 0xfffffffe를 라이트한 경우의 출력 예이다.
여기서는, 트레이스 데이터 압축 장치(1)는 이하의 조건을 갖추고 있다.
(1) 에리어0은 어드레스 하위 8 비트를 마스크
(2) 데이터 0xffffffff는 데이터 패턴 레지스터로 지정
(3) 정보 출력 중 3 클럭 째에 다음 데이터 액세스가 있었지만, 버퍼 기억 장치(11)가 가득하여 데이터를 파기
우선, 스타트 비트로서 「0」을 출력한다. 또한, 데이터를 라이트하고 있으므로, R/W 비트로서 라이트를 나타내는 「1」을 출력한다. 여기서, 라이트된 데이터 0xfffffffe는 데이터 패턴 레지스터로 지정되어 있지 않다. 따라서, 워드 액세스이었으므로, BE[3:0] = 1111을 출력한다.
또한, 에리어 코드는 0이므로, AR[3:0] = 0을 출력한다. 단, 여기서는 AR[1:0]과 AR[3:2]과, 다른 패킷으로 분할되어 있다. 어드레스 정보의 하위 어드레스를, A[7:2] = Adress(임의의 어드레스값)로서 어드레스를 출력한다.
또한, 라이트된 데이터를, 8 비트씩의 패킷으로 분할하여 D[7:0] = 0xfe, D[15:8] = 0xff, D[23:16] = 0xff, D[31:24] = 0xff를 출력한다.
또한, 정보 출력 중 3 블럭째에, 다음 데이터 액세스가 있었지만, 버퍼 기억 장치(11)가 가득하여 데이터를 파기하고 있으므로, 3블럭째의 TOV 신호의 플래그를 1로 하여 출력하고 있다.
도 11은 트레이스 데이터 압축 장치(1)가 출력하는 패킷을 모식적으로 도시한 도면이다.
[3:0] 정보, 에리어 코드 중 AR[1:0]을 출력한다.
제2 패킷 이후의 패킷은 제1 패킷의 정보에 따라 가변이다.
제2 패킷은, 에리어 코드 중 AR[3:2]과, 하위 어드레스의 A[7:2]를 출력한다. 또한, 제3 패킷으로부터 제5 패킷을 이용하여, 하위 어드레스 [31:8]을 출력한다. 출력하는 어드레스의 크기는, 에리어 코드에 따라 가변이며, 에리어 코드가 지정한 상위 어드레스의 비트가 크면, 출력하는 하위 어드레스는 적어진다.
제6 패킷으로부터 제9 패킷은 데이터 액세스가 있던 피연산자 데이터가 출력된다. 단, BE[3:0〕정보로서, 있을 수 없는 패턴의 정보가 지정되어 있는 경우에는, 데이터 패턴이 일치한 경우이므로, 제6 패킷으로부터 제9 패킷은 출력하지 않는다. 또한, BE[3:0]로서, 무효라고 판정된 에리어의 정보는 출력되지 않으므로, 그 경우에는 출력되는 패킷의 수가 감소한다.
본 발명의 제1 실시 형태에 따르면, 적은 단자로 데이터 트레이스를 행할 수 있으므로, 사용자의 어플리케이션에 사용하는 단자 수 제한의 부담을 경감시킬 수 있다.
또한, 데이터 트레이스의 정보를 짧은 시간에 출력할 수 있으므로, 트레이스 정보의 누락을 방지할 수 있다.
또한, 트레이스 정보가 누락했다고 해도, 그 개소와 갯수를 알 수 있으며, 트레이스할 수 없던 개소를 특정할 수 있다.
또한, 데이터 트레이스 정보를 패턴화하여 출력하기 때문에, 제3자에게 정보를 은폐할 수 있다.
(제2 실시 형태)
(트레이스 데이터 해석 장치)
본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치(2)를 설명한다. 본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치(2)는 본 발명의 제1 실시 형태에서 설명한, 마이크로컴퓨터(19)의 트레이스를 행하는 트레이스 데이터 압축 장치(1)에서 압축된 트레이스 데이터를 해석하는 장치이다.
본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치(2)의 기능 블록도를 도 12에 도시한다.
본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치(2)는, 마스크 어드레스 출력 옵션 기억 장치(51), 에리어 정보 기억 장치(52), 데이터 패턴 기억 장치(53), 데이터 인터페이스(54), 데이터 취득 수단(55), 리드/라이트 판별 수단(56), 어드레스 정보 해석 수단(57), 데이터 정보 해석 수단(58), 오버플로우 취득 수단(59), 오버플로우 카운트 수단(60), 출력 장치(61)를 포함하고 있다.
데이터 패턴 기억 장치(53)는 대상으로 되는 마이크로컴퓨터(19)의 성질상, 출력할 가능성이 없는 비트 패턴 정보에, 0xffffffff나 0x00000000 등 빈번히 사용되고 있는 데이터 정보를 대응시킨 것이다.
에리어 정보 기억 장치(52)는 마이크로컴퓨터(19) 상의 어드레스 영역 중 빈출하는 어드레스 영역의 상위 어드레스를, 에리어 코드라고 하는 식별자에 대응시키는 기억 장치이다.
마스크 어드레스 출력 옵션 기억 장치(51)는 데이터 패턴 기억 장치(53)에 기억된 데이터 패턴에 일치한 경우에, 하위 어드레스를 출력할지의 여부의 옵션을 지정하는 기억 장치이다.
데이터 인터페이스(54)는 트레이스 데이터 압축 장치(1)로부터 출력된 데이터의 인터페이스로 되는 장치로서, 트레이스 데이터 압축 장치(1)에 대응하여, 트레이스 데이터 출력용 8 비트의 신호와, 오버플로우용 1 비트의 신호를, 트레이스 데이터 압축 장치(1)로부터 수신한다.
데이터 취득 수단(55)은 데이터 인터페이스(54)에서 취득된 압축된 트레이스 데이터를 취득하는 수단이다. 이 압축된 트레이스 데이터는, 도 11에 도시한 바와 같은 스타트 비트로 시작하여, 8 비트마다 패킷을 형성한 데이터이다.
리드/라이트 판별 수단(56)은 취득한 데이터의 제1 패킷의 2 비트째부터, 데이터 액세스로 리드한 것인지, 라이트한 것인지를 판별한다. 예를 들면 제1 패킷의 2 비트째 데이터가 「1」인 경우에는 리드, 「0」인 경우에는 라이트라고 판별한다.
어드레스 정보 해석 수단(57)은 취득한 압축된 트레이스 데이터로부터 어드레스 정보를 취득하는 수단이다.
어드레스 정보 해석 수단(57)은 제1 패킷의 제3 비트로부터 제6 비트를 취득하고, 데이터 패턴 기억 장치(53)를 참조하여, BE 정보가 일치하는지의 여부를 대조한다. 일치하는 경우로서, 마스크 어드레스 출력 옵션 기억 장치(51)에서 마스크 어드레스를 출력하도록 지정되어 있으면, 제1 패킷의 제7 비트 내지 제8 비트, 및 제2 패킷의 제1 비트 내지 제2 비트를 취득하여, 에리어 코드를 취득한다. 또한, 후속 패킷의 데이터를 취득하여, 어드레스 정보를 취득한다. 일치하지 않는 경우에는, 제1 패킷의 제7 비트 내지 제8 비트, 및 제2 패킷의 제1 비트 내지 제2 비트를 취득하고, 에리어 코드를 취득하고, 에리어 정보 기억 장치(52)를 참조하여, 에리어 코드에 대응하는 상위 어드레스를 취득한다. 또한, 제2 패킷의 제3 비트 내지 제8 비트, 제3 패킷 내지 제5 패킷을 참조하여, 하위 어드레스를 취득한다. 취득한 상위 어드레스와 하위 어드레스로부터, 32 비트의 어드레스 정보를 취득한다.
여기서 취득하는 하위 어드레스의 비트 수는 에리어 코드에 대응하는 상위 어드레스의 비트 수에 의존한다. 또한, 취득한 에리어 코드가 0xf인 경우에는 에리어 코드를 무효로 한다.
데이터 정보 해석 수단(58)은 취득한 압축된 트레이스 데이터로부터 데이터 정보를 취득하는 수단이다.
데이터 정보 해석 수단(58)은 제1 패킷의 제3 비트로부터 제6 비트를 취득하고, 비트 패턴 정보인 BE[3:0]을 취득한다. 또한, 제6 패킷 이후의 데이터를 취득한다. 제6 패킷 이후의 데이터는 BE에서 유효하게 된 바이트 에리어의 데이터뿐이므로, BE[3:0]와 제6 버킷 이후의 데이터로부터 32 비트의 데이터 정보를 취득한다.
한편, 오버플로우 취득 수단(59)은 데이터 인터페이스(54)에서 취득된 오버플로우 플래그를 취득하고, 취득한 타이밍으로 출력 장치(61)에 오버플로우를 취득한 취지를 표시하는 수단이다.
오버플로우 카운트 수단(60)은 오버플로우 취득 수단(59)에서 취득된 오버플로우 플래그를 카운트하는 수단이다. 여기서는, 압축된 트레이스 데이터의 전송 레이트에 대응하여, 오버플로우 플래그의 취득 이력을 기록하는 것이 바람직하다.
출력 장치(61)는 CRT 디스플레이, 액정 디스플레이 등의 표시 장치, 하드디스크, 테이프 등의 기억 장치 등이다. 트레이스 데이터 해석 장치(2)에서 취득된 어드레스 정보, 데이터 정보, 오버플로우 플래그 등의 정보는 출력 장치(61)에 의해 출력된다.
(트레이스 데이터 해석 방법)
본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 방법의 흐름도를 도 13에 도시한다. 기재한 실행 단계는 실시 형태의 일례로서, 이 순서대로 실행될 필요는 없다.
우선, 단계 S201에서 리드/라이트 판별 수단(56)에 의해, 리드·라이트의 스테이터스를 취득한다.
이어서, 단계 S202에서 BE 정보를 취득하고, 단계 S203에서 데이터 정보 해석 수단(58)에 의해, 취득한 BE 정보와 데이터 패턴 기억 장치(53)에 기억된 데이터 패턴에 대응하는 BE 정보가 일치하는지 대조한다. 대조한 경우에는, 단계 S204에서 BE 정보에 대응하는 데이터 패턴을 취득하여, 데이터 정보로 한다.
일치하지 않는 경우에는, 단계 S205에서, 데이터 정보 해석 수단(58)에 의해, BE 정보와 데이터 정보로부터 32 비트의 데이터를 형성한다.
이어서, 단계 S206에서 어드레스 정보 해석 수단(57)에 의해, 에리어 코드 AR[3:0]이 0xf인지 검증한다. 0xf인 경우에는 단계 S207에서, 상위 어드레스를 무효로 한다. 0xf가 아닌 경우에는, 단계 S208에서 에리어 정보 기억 장치(52)를 참조하여, 취득한 에리어 코드에 대응하는 상위 어드레스를 취득한다. 또한, 단계 S208에서 하위 어드레스를 취득하고, 단계 S210에서 상위 어드레스와 하위 어드레스로부터 32 비트의 어드레스 정보를 형성한다.
또한, 단계 S211에서 취득한 어드레스 정보와 데이터 정보를 출력한다.
도 14는 트레이스 데이터 해석 장치(2)로부터 출력 장치(61)에 출력되는 화면의 일례이다.
여기서, 데이터 액세스가 있었던, 어드레스, 데이터, 리드 혹은 라이트가 각각 「ADDRS」 항목, 「DATA」 항목, 「R/W」 항목에 표시된다. 또한, 오버플로우 플래그를 취득한 경우에는 「TOVR」 항목에 그 취지가 기재되고, 또한 오버플로우한 횟수, 즉 트레이스 데이터를 파기한 횟수를 표시한다.
본 발명의 제2 실시 형태에 기재한 트레이스 데이터 해석 장치는 일반적인 컴퓨터 상에 마찬가지의 기능을 실현시켜도 된다.
본 발명의 제2 실시 형태에 따르면, 적은 단자로 취득된 트레이스 데이터를 해석할 수 있으므로, 사용자의 어플리케이션에서 사용하는 단자 수 제한의 부담을 경감시킬 수 있다.
또한, 데이터 트레이스의 정보를 짧은 시간에 취득하여, 해석할 수 있으므로, 트레이스 정보의 누락을 방지할 수 있다.
또한, 트레이스 정보가 누락했다고 해도, 그 개소와 갯수를 알 수 있고, 트레이스할 수 없던 개소를 특정할 수 있다.
(제3 실시 형태)
본 발명의 제3 실시 형태에 따른 마이크로컴퓨터(3)의 기능 블록도를 도 15에 도시한다.
본 발명의 제3 실시 형태에 따른 마이크로컴퓨터는 소정의 처리를 행하는 처리 회로(4)와, 트레이스 데이터 압축 회로(5)를 포함하고 있다. 처리 회로(4)는 도 3에 도시한 마이크로컴퓨터(19)와 마찬가지의 기능을 갖는 것이다. 트레이스 데이터 압축 회로(5)는 도 3에 도시한 제1 실시 형태에 따른 트레이스 데이터 압축 장치(1)와 동등한 기능을 갖는 것이다.
즉, 본 발명의 제3 실시 형태에 따른 마이크로컴퓨터(3)는 트레이스 데이터 압축 회로(5)를 내장한 마이크로컴퓨터이다.
본 발명의 제3 실시 형태에 의한 마이크로컴퓨터에 의하면, 데이터 트레이스에 필요한 데이터를 출력하는 단자가 적으므로, 마이크로컴퓨터(3)의 단자 수 제한의 부담을 경감시킬 수 있다.
(제4 실시 형태)
본 발명의 제4 실시 형태에 따른 데이터 트레이스 시스템의 시스템 구성도를 도 16에 도시한다.
본 발명의 제4 실시 형태에 따른 데이터 트레이스 시스템은 트레이스 데이터 압축 장치(1)와 트레이스 데이터 해석 장치(2)를 포함한다. 여기서, 트레이스 데이터 압축 장치(1)는 본 발명의 제1 실시 형태에서 설명한 트레이스 데이터 압축 장치(1)이고, 트레이스 데이터 해석 장치(2)는 본 발명의 제2 실시 형태에서 설명한 트레이스 데이터 해석 장치(2)이다.
본 발명의 제4 실시 형태에 따른 데이터 트레이스 시스템에 의하면, 트레이스 데이터 압축 장치(1)와 트레이스 데이터 해석 장치(2)는 공통된 룰에 따라 압축 및 해석을 행할 수 있으며, 데이터 트레이스 기능을 실현할 수 있다.
(제5 실시 형태)
본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템을 설명한다. 본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템은 압축 및 해석의 룰을 변경하고, 트레이스 데이터 압축 장치(1)와 트레이스 데이터 해석 장치(2)에서 공통된 룰에 의해 트레이스 기능을 실현하는 것이다.
본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템에 이용되는 트레이스 데이터 압축 장치(1)의 기능 블록도를 도 17에 도시한다.
도 17에 도시한 트레이스 데이터 압축 장치(1)는 도 3에 도시한 본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 장치(1)와 비교하여, 환경 설정 회로(20)를 포함하는 점이 서로 다르다.
환경 설정 회로(20)는 어드레스 정보 압축 회로(14) 및 데이터 정보 압축 회로(15)에서 할당된 에리어 코드, 데이터 패턴, BE 정보 등의 환경의 설정을 변경하는 회로이다.
구체적으로는, 어드레스 정보 압축 회로(14)의 비교 어드레스 레지스터(25a ∼ 25o)에서 할당되어 있는 빈출하는 어드레스 에리어의 상위 어드레스와, 그것에 대응하는 에리어 코드, 데이터 정보 압축 회로(15)의 데이터 패턴 레지스터(35a)에서 할당된 빈출하는 데이터 패턴과, 그것에 대응하는 BE 정보 등의 정보를, 환경 설정 회로(20)는 변경할 수 있다. 또한, 마스크 어드레스를 출력할지의 여부의 옵션도 설정할 수 있다.
환경 설정 회로(20)는 트레이스 데이터 해석 장치(2)로부터 수신한 환경 데이터에 의해 환경 설정을 행한다. 또한, 이미 환경이 설정되어 있는 경우, 그 환경을 변경할 수 있다.
본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템에 이용되는 트레이스 데이터 해석 장치(2)의 기능 블럭도를 도 18에 도시한다.
도 18에 도시한 트레이스 데이터 해석 장치(2)는 도 12에 도시한 본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치(2)와 비교하여, 입력 장치(62), 환경 설정 수단(63), 환경 송신 수단(64)을 포함하는 점이 서로 다르다.
입력 장치(62)는 일반적인 마우스, 키보드 등의 입력 장치이다.
환경 설정 수단(63)은 사전에 설정한 파일이나, 컴파일러가 출력된 설정 파일에 의해 마스크 어드레스 출력 옵션 기억 장치(51), 에리어 정보 기억 장치(52), 데이터 패턴 기억 장치(53)에 환경을 자동으로 설정하는 수단이다.
또한, 환경 설정 수단(63)은 입력 장치(62)의 조작에 의해 환경을 수동으로 설정하는 경우도 있다.
환경 송신 수단(64)은 마스크 어드레스 출력 옵션 기억 장치(51), 에리어 정보 기억 장치(52), 데이터 패턴 기억 장치(53)를 참조하여, 설정된 환경 데이터를 데이터 인터페이스(54)를 통해 트레이스 데이터 압축 장치(1)로 송신하는 수단이다.
본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템에서는, 이미 설정되어 있는 데이터를 변경하여, 트레이스 데이터 압축 장치(1)와 트레이스 데이터 해석 장치(2)에서 다시 공통된 룰로 데이터 트레이스를 행할 수 있다.
(그 밖의 실시 형태)
상기한 바와 같이, 본 발명의 제1 및 제5 실시 형태에 의해 기재했지만, 이 개시된 일부를 이루는 논술 및 도면은 본 발명을 한정하는 것이라고 이해해서는 안된다. 이 개시로부터 당업자에게는 다양한 대체 실시 형태, 실시예 및 운용 기술이 분명해진다.
본 발명의 실시 형태에서 설명한 회로, 수단 등은 평행하게 행해져도 된다. 구체적으로 설명하면, 제1 실시 형태에 따른 트레이스 데이터 압축 장치에서, 데이터 취득 회로에 의해 어드레스 정보와 데이터 정보가 취득된 후에는 리드/라이트 판별 회로(13), 어드레스 정보 압축 회로(14), 데이터 정보 압축 회로(15)에서 평행하게 처리되어도 무관하다.
이와 같은, 본 발명은 여기서는 기재하지 않은 다양한 실시 형태 등을 포함하는 것은 물론이다. 따라서, 본 발명의 기술적 범위는 상기한 설명으로부터 타당한 특허 청구의 범위에 따른 발명 특정 사항에 의해서만 정해지는 것이다.
본 기술 분야에 숙련된 자에게는 본 발명의 개시의 교시로 본 발명의 영역을 벗어남이 없이 다양한 변형 실시예가 가능할 것이다.
본 발명에 따르면, 적은 단자로 데이터 트레이스를 행할 수 있으므로, 사용자의 어플리케이션에 사용하는 단자 수 제한의 부담을 경감시킬 수 있다.
또한, 데이터 트레이스의 정보를 짧은 시간에 출력할 수 있으므로, 트레이스 정보의 누락을 방지할 수 있다.
또한, 트레이스 정보가 누락했다고 해도, 그 개소와 갯수를 알 수 있으며, 트레이스할 수 없던 개소를 특정할 수 있다.
또한, 데이터 트레이스 정보를 패턴화하여 출력하기 때문에, 제3자에게 정보를 은폐할 수 있다.
도 1은 종래의 데이터 트레이스 시스템을 도시한 도면(그 1).
도 2는 종래의 데이터 트레이스 시스템을 도시한 도면(그 2).
도 3은 본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 장치의 기능 블록도.
도 4a 내지 도 4b는 본 발명의 제1 실시 형태에 따른 어드레스 정보 압축 회로의 상세한 기능 블록도.
도 5a 내지 도 5b는 본 발명의 제1 실시 형태에 따른 데이터 정보 압축 회로의 상세한 기능 블록도.
도 6은 본 발명의 제1 실시 형태에 따른 비트 패턴 정보의 예를 도시한 도면.
도 7은 본 발명의 제1 실시 형태에서의 마이크로컴퓨터가 출력할 가능성이 없는 비트 패턴 정보의 예를 도시한 도면.
도 8은 본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 방법의 흐름도.
도 9는 본 발명의 제1 실시 형태에 따른 오버플로우 감시 회로의 흐름도.
도 10a 내지 도 10c는 본 발명의 제1 실시 형태에 의해 출력된 압축된 트레이스 데이터의 예를 도시한 도면.
도 11은 본 발명의 제1 실시 형태에 따른 트레이스 데이터 압축 장치가 출력하는 패킷을 모식적으로 도시한 도면.
도 12는 본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치의 기능 블록도.
도 13은 본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 방법의 흐름도.
도 14는 본 발명의 제2 실시 형태에 따른 트레이스 데이터 해석 장치가 출력하는 화면의 일례를 도시한 도면.
도 15는 본 발명의 제3 실시 형태에 따른 마이크로컴퓨터의 기능 블록도.
도 16은 본 발명의 제4 실시 형태에 따른 데이터 트레이스 시스템의 시스템 구성도.
도 17은 본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템에 이용되는 트레이스 데이터 압축 장치의 기능 블록도.
도 18은 본 발명의 제5 실시 형태에 따른 데이터 트레이스 시스템에 이용되는 트레이스 데이터 해석 장치의 기능 블록도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 트레이스 데이터 압축 장치
11 : 버퍼 기억 장치
12 : 데이터 취득 회로
13 : 리드/라이트 판별 회로
14 : 어드레스 정보 압축 회로
15 : 데이터 정보 압축 회로
16 : 오버플로우 감시 회로
17 : 데이터 출력 회로
18 : 데이터 인터페이스
19 : 마이크로컴퓨터

Claims (16)

  1. 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 취득하는 데이터 취득 회로와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 회로와,
    상기 데이터 취득 회로에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 회로와,
    상기 어드레스 정보 압축 회로와 상기 데이터 정보 압축 회로로부터 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  2. 제1항에 있어서,
    상기 데이터 출력 회로는, 상기 가변 길이의 데이터를 패킷으로 분할하여 출력하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  3. 제1항에 있어서,
    상기 데이터 취득 회로에서 취득된 상기 어드레스 정보 및 상기 데이터 정보를 버퍼 기억 장치에 기억하는 버퍼 기억 수단을 더 포함하고,
    상기 데이터 취득 회로는, 상기 버퍼 기억 장치로부터 상기 어드레스 정보 및 상기 데이터 정보를 더 취득하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  4. 제3항에 있어서,
    상기 버퍼 기억 장치의 기억 용량을 감시하고, 상기 버퍼 기억 장치의 기억 용량을 초과한 경우, 오버플로우 신호를 송신하는 오버플로우 감시 회로
    를 더 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  5. 제1항에 있어서,
    상기 어드레스 정보 압축 회로는,
    사전에 빈출하는 상위 어드레스를 기억한 비교 어드레스 레지스터와,
    상기 비교 어드레스 레지스터에 마스크를 거는 마스크 레지스터와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스의 상위 어드레스와, 상기 비교 어드레스 레지스터에 기억된 상기 빈출하는 어드레스의 상위 어드레스를 비교하여, 일치한 상기 빈출하는 어드레스의 상위 어드레스의 식별자를 출력하는 일치 비교 회로와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스의 하위 어드레스를 출력하는 하위 어드레스 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  6. 제1항에 있어서,
    상기 데이터 정보 압축 회로는,
    상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보를 출력하는 비트 패턴 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  7. 제1항에 있어서,
    상기 데이터 정보 압축 회로는,
    상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보로서, 상기 데이터 정보에 있을 수 없는 상기 비트 패턴 정보를 기억한 비트 패턴 지정 레지스터와,
    상기 비트 패턴 지정 레지스터에 대응하는 데이터 정보를 기억하는 데이터 패턴 레지스터와,
    상기 데이터 정보와 상기 데이터 패턴 레지스터가 일치하는 경우, 상기 데이터 패턴 레지스터에 대응하는 상기 비트 패턴 지정 레지스터가 기억한 비트 패턴 정보를 출력하고, 일치하지 않는 경우에는 상기 데이터 정보를 출력하는 일치 비교 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  8. 제1항에 있어서,
    상기 마이크로컴퓨터가 상기 어드레스에 상기 데이터를 기입한 것인지 혹은 판독한 것인지를 판별하는 신호를 출력하는 리드/라이트 출력 회로
    를 더 포함하는 것을 특징으로 하는 트레이스 데이터 압축 장치.
  9. 소정의 처리를 행하는 마이크로컴퓨터로 기입 및 판독된, 어드레스의 식별자인 어드레스 정보와, 상기 어드레스에 기억되어 있는 피연산자 데이터인 데이터 정보를 취득하는 데이터 취득 단계와,
    상기 데이터 취득 단계에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 단계와,
    상기 데이터 취득 단계에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 단계와,
    상기 어드레스 정보 압축 단계와 상기 데이터 정보 압축 단계에서 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 단계
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 방법.
  10. 제9항에 있어서,
    상기 어드레스 정보 압축 단계는,
    비교 어드레스 레지스터에, 사전에 빈출하는 상위 어드레스를 기억하는 단계와,
    마스크 레지스터에, 상기 비교 어드레스 레지스터에 마스크를 거는 단계와,
    상기 데이터 취득 단계에서 취득된 상기 어드레스의 상위 어드레스와, 상기 비교 어드레스 레지스터에 기억된 상기 빈출하는 어드레스의 상위 어드레스를 비교하고, 일치한 상기 빈출하는 어드레스의 상위 어드레스의 식별자를 출력하는 일치 비교 단계와,
    상기 데이터 취득 단계에서 취득된 상기 어드레스의 하위 어드레스를 출력하는 하위 어드레스 출력 단계
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 방법.
  11. 제9항에 있어서,
    상기 데이터 정보 압축 단계는,
    상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보를 출력하는 비트 패턴 출력 단계
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 방법.
  12. 제9항에 있어서,
    상기 데이터 정보 압축 단계는,
    비트 패턴 지정 레지스터에, 상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보로서, 상기 데이터 정보에 있을 수 없는 상기 비트 패턴 정보를 기억하는 단계와,
    데이터 패턴 레지스터에 상기 비트 패턴 지정 레지스터에 대응하는 데이터 정보를 기억하는 단계와,
    상기 데이터 정보와 상기 데이터 패턴 레지스터가 일치하는 경우, 상기 데이터 패턴 레지스터에 대응하는 상기 비트 패턴 지정 레지스터가 기억하는 비트 패턴 정보를 출력하고, 일치하지 않은 경우에는 상기 데이터 정보를 출력하는 일치 비교 단계
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 방법.
  13. 소정의 처리를 행하고, 상기 처리에 의해 출력된 데이터를 트레이스하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터로서,
    소정의 처리를 행하는 처리 회로와,
    상기 처리 회로로부터, 상기 처리 회로가 데이터 액세스를 행한 어드레스 정보 및 데이터 정보를 취득하는 데이터 취득 회로와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스 정보를 압축하여 출력하는 어드레스 정보 압축 회로와,
    상기 데이터 취득 회로에서 취득된 상기 데이터 정보를 압축하여 출력하는 데이터 정보 압축 회로와,
    상기 어드레스 정보 압축 회로와 상기 데이터 정보 압축 회로로부터 출력된, 압축된 상기 어드레스 정보와 상기 데이터 정보를 포함하는 가변 길이의 데이터를 출력하는 데이터 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터.
  14. 제13항에 있어서,
    상기 어드레스 정보 압축 회로는,
    사전에 빈출하는 상위 어드레스를 기억하는 비교 어드레스 레지스터와,
    상기 비교 어드레스 레지스터에 마스크를 거는 마스크 레지스터와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스의 상위 어드레스와, 상기 비교 어드레스 레지스터에 기억된 상기 빈출하는 어드레스의 상위 어드레스를 비교하여, 일치한 상기 빈출하는 어드레스의 상위 어드레스의 식별자를 출력하는 일치 비교 회로와,
    상기 데이터 취득 회로에서 취득된 상기 어드레스의 하위 어드레스를 출력하는 하위 어드레스 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터.
  15. 제13항에 있어서,
    상기 데이터 정보 압축 회로는,
    상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보를 출력하는 비트 패턴 출력 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터.
  16. 제13항에 있어서,
    상기 데이터 정보 압축 회로는,
    상기 데이터 정보를 복수의 레인으로 분할하고, 출력하는 상기 데이터 정보가 있는 상기 레인에 대해서는 유효로 하고, 출력하는 상기 데이터 정보가 없는 상기 레인에 대해서는 무효로 하는 비트 패턴 정보로서, 상기 데이터 정보에 있을 수 없는 상기 비트 패턴 정보를 기억하는 비트 패턴 지정 레지스터와, 상기 비트 패턴 지정 레지스터에 대응하는 데이터 정보를 기억하는 데이터 패턴 레지스터와,
    상기 데이터 정보와 상기 데이터 패턴 레지스터가 일치하는 경우, 상기 데이터 패턴 레지스터에 대응하는 상기 비트 패턴 지정 레지스터가 기억한 비트 패턴 정보를 출력하고, 일치하지 않은 경우에는 상기 데이터 정보를 출력하는 일치 비교 회로
    를 포함하는 것을 특징으로 하는 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터.
KR10-2003-0018939A 2002-03-26 2003-03-26 트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터 KR100506112B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002086737A JP3609794B2 (ja) 2002-03-26 2002-03-26 トレースデータ圧縮装置、トレースデータ圧縮方法及びトレースデータ圧縮回路を内蔵したマイクロコンピュータ
JPJP-P-2002-00086737 2002-03-26

Publications (2)

Publication Number Publication Date
KR20030077475A KR20030077475A (ko) 2003-10-01
KR100506112B1 true KR100506112B1 (ko) 2005-08-04

Family

ID=27800450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0018939A KR100506112B1 (ko) 2002-03-26 2003-03-26 트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터

Country Status (4)

Country Link
US (1) US7330809B2 (ko)
EP (1) EP1349074B1 (ko)
JP (1) JP3609794B2 (ko)
KR (1) KR100506112B1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947884B2 (en) * 2000-03-02 2005-09-20 Texas Instruments Incorporated Scan interface with TDM feature for permitting signal overlay
US7185234B1 (en) * 2001-04-30 2007-02-27 Mips Technologies, Inc. Trace control from hardware and software
US8099273B2 (en) * 2003-06-05 2012-01-17 Mentor Graphics Corporation Compression of emulation trace data
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US7434108B2 (en) * 2004-04-30 2008-10-07 Freescale Semiconductor, Inc. Masking within a data processing system having applicability for a development interface
US8136096B1 (en) 2004-07-23 2012-03-13 Green Hills Software, Inc. Backward post-execution software debugger
US8132159B1 (en) 2004-07-23 2012-03-06 Green Hills Software, Inc. Post-execution software debugger with event display
US8015552B1 (en) 2004-07-23 2011-09-06 Green Hills Software, Inc. Post-execution software debugger with coverage display
US8271955B1 (en) 2004-07-23 2012-09-18 Green Hille Software, Inc. Forward post-execution software debugger
US7562259B2 (en) * 2005-05-13 2009-07-14 Texas Instruments Incorporated Distributed depth trace receiver
US8527958B2 (en) * 2005-05-16 2013-09-03 Texas Instruments Incorporated Profiling operating context and tracing program on a target processor
US8250542B1 (en) 2006-01-03 2012-08-21 Altera Corporation Method and apparatus for performing trace data compression
US8301936B2 (en) 2006-11-02 2012-10-30 Nec Corporation Apparatus and method for performing a screening test of semiconductor integrated circuits
TWI384397B (zh) * 2007-04-18 2013-02-01 Mediatek Inc 資料位址追蹤方法及資料位址追蹤裝置、資料追蹤方法及資料追蹤裝置
JP2009042815A (ja) * 2007-08-06 2009-02-26 Renesas Technology Corp 半導体集積回路及びデバッグシステム
EP2110750B1 (en) * 2008-04-18 2017-03-22 MediaTek Inc. Data access tracing
JP2010123050A (ja) * 2008-11-21 2010-06-03 Renesas Technology Corp 半導体装置
GB2483509B (en) * 2010-09-13 2017-08-02 Advanced Risc Mach Ltd Data processing apparatus, trace unit and diagnostic apparatus
KR101738640B1 (ko) * 2011-01-18 2017-05-24 삼성전자주식회사 트레이스 데이터 압축 장치 및 방법
KR20130066402A (ko) * 2011-12-12 2013-06-20 삼성전자주식회사 트레이스 데이터 저장 장치 및 방법
US20130159781A1 (en) * 2011-12-16 2013-06-20 Mips Technologies, Inc. System For Compression Of Fixed Width Values In A Processor Hardware Trace
US9495169B2 (en) 2012-04-18 2016-11-15 Freescale Semiconductor, Inc. Predicate trace compression
US9830245B2 (en) * 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9256399B2 (en) 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
US9645870B2 (en) 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9542298B2 (en) * 2014-07-08 2017-01-10 International Business Machines Corporation Reducing resource overhead in verbose trace using recursive object pruning prior to string serialization
US20160188333A1 (en) * 2014-12-27 2016-06-30 Intel Coporation Method and apparatus for compressing a mask value
US10042737B2 (en) 2016-08-31 2018-08-07 Microsoft Technology Licensing, Llc Program tracing for time travel debugging and analysis
US10031834B2 (en) 2016-08-31 2018-07-24 Microsoft Technology Licensing, Llc Cache-based tracing for time travel debugging and analysis
US10310963B2 (en) 2016-10-20 2019-06-04 Microsoft Technology Licensing, Llc Facilitating recording a trace file of code execution using index bits in a processor cache
US10310977B2 (en) 2016-10-20 2019-06-04 Microsoft Technology Licensing, Llc Facilitating recording a trace file of code execution using a processor cache
US10489273B2 (en) 2016-10-20 2019-11-26 Microsoft Technology Licensing, Llc Reuse of a related thread's cache while recording a trace file of code execution
CN106568168A (zh) * 2016-10-27 2017-04-19 珠海格力电器股份有限公司 一种调试方法、调试器及系统
US10394648B2 (en) 2016-11-07 2019-08-27 Samsung Electronics Co., Ltd. Method to deliver in-DRAM ECC information through DDR bus
US10540250B2 (en) * 2016-11-11 2020-01-21 Microsoft Technology Licensing, Llc Reducing storage requirements for storing memory addresses and values
US10318332B2 (en) 2017-04-01 2019-06-11 Microsoft Technology Licensing, Llc Virtual machine execution tracing
CN109711998B (zh) * 2018-08-20 2023-10-20 中国平安人寿保险股份有限公司 数据传输方法、装置、设备及可读存储介质
US11573883B1 (en) * 2018-12-13 2023-02-07 Cadence Design Systems, Inc. Systems and methods for enhanced compression of trace data in an emulation system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61278947A (ja) 1985-06-03 1986-12-09 Nec Corp 中央処理装置のデ−タトレ−ス装置
JP2798767B2 (ja) 1990-02-14 1998-09-17 富士通株式会社 画像データ圧縮方式
JPH03296818A (ja) 1990-04-16 1991-12-27 Mitsubishi Electric Corp データ行列の記憶方法
JPH06282468A (ja) 1993-03-30 1994-10-07 Toshiba Corp 情報処理装置
US5724505A (en) * 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface
JPH10275092A (ja) 1997-03-31 1998-10-13 Hewlett Packard Japan Ltd マイクロプロセッサのトレース情報出力方法
US6191710B1 (en) * 1998-12-30 2001-02-20 Intel Corp. Data compression and decompression method and system for data compression and decompression
JP2000267876A (ja) 1999-03-17 2000-09-29 Toshiba Corp エミュレータ及びマイクロコンピュータ
JP4335999B2 (ja) 1999-05-20 2009-09-30 株式会社ルネサステクノロジ プロセッサ内蔵半導体集積回路装置
US6298394B1 (en) * 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6732307B1 (en) * 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6947884B2 (en) * 2000-03-02 2005-09-20 Texas Instruments Incorporated Scan interface with TDM feature for permitting signal overlay
US7069544B1 (en) * 2001-04-30 2006-06-27 Mips Technologies, Inc. Dynamic selection of a compression algorithm for trace data
US6802031B2 (en) * 2001-05-24 2004-10-05 International Business Machines Corporation Method and apparatus for increasing the effectiveness of system debug and analysis
US7043668B1 (en) * 2001-06-29 2006-05-09 Mips Technologies, Inc. Optimized external trace formats
US6691207B2 (en) * 2001-12-28 2004-02-10 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing loop compression in a program counter trace
US6670897B1 (en) * 2002-10-03 2003-12-30 Motorola, Inc. Compression/decompression techniques based on tokens and Huffman coding

Also Published As

Publication number Publication date
KR20030077475A (ko) 2003-10-01
JP3609794B2 (ja) 2005-01-12
EP1349074A3 (en) 2005-11-09
US20040073838A1 (en) 2004-04-15
JP2003280941A (ja) 2003-10-03
US7330809B2 (en) 2008-02-12
EP1349074B1 (en) 2014-09-10
EP1349074A2 (en) 2003-10-01

Similar Documents

Publication Publication Date Title
KR100506112B1 (ko) 트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터
JP3277900B2 (ja) プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
EP1130518B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
GB2317247A (en) Displaying buffer accesses
JP6653756B2 (ja) 回路設計をデバッグするための方法および回路
US20140372652A1 (en) Simulation card and i2c bus testing system with simulation card
US20060271347A1 (en) Method for generating commands for testing hardware device models
US7861070B2 (en) Trace compression method for debug and trace interface wherein differences of register contents between logically adjacent registers are packed and increases of program counter addresses are categorized
CN112597064B (zh) 对程序进行仿真的方法、电子设备及存储介质
US20050131666A1 (en) Circuit simulation bus transaction analysis
US7552363B2 (en) Generation of trace elements within a data processing apparatus
US20080216065A1 (en) Information processing device, patch code application system, electronic instrument, and patch code application method
CN110192178B (zh) 程序打补丁的方法、装置、微控制单元和终端设备
US20060282585A1 (en) Method and system for identifying peripheral component interconnect device information
CN113127283A (zh) 芯片修复系统、方法、装置、计算机设备和存储介质
CN109902001B (zh) 对未初始化变量的检测方法及终端设备
CN109189671B (zh) 逐层夹逼式变量定位方法、系统及终端设备
CN107688681A (zh) 一种提供动态配置参数的硬件加速器验证方法
CN110489164A (zh) 一种隐藏断言信息的获取方法、装置、介质和设备
US10816600B1 (en) Protocol analysis and visualization during simulation
US6813751B2 (en) Creating standard VHDL test environments
CN112733151A (zh) 嵌入式设备固件解析方法、装置、介质及电子设备
EP1100017A1 (en) Memory access monitoring and debugging device
US9779012B1 (en) Dynamic and global in-system debugger
US6883117B2 (en) Bus trace analysis a posteriori

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: 20120629

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee