KR20090054478A - 메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체 - Google Patents

메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20090054478A
KR20090054478A KR1020097008178A KR20097008178A KR20090054478A KR 20090054478 A KR20090054478 A KR 20090054478A KR 1020097008178 A KR1020097008178 A KR 1020097008178A KR 20097008178 A KR20097008178 A KR 20097008178A KR 20090054478 A KR20090054478 A KR 20090054478A
Authority
KR
South Korea
Prior art keywords
message
time
trace
buffer
time stamp
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020097008178A
Other languages
English (en)
Other versions
KR101054109B1 (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 KR20090054478A publication Critical patent/KR20090054478A/ko
Application granted granted Critical
Publication of KR101054109B1 publication Critical patent/KR101054109B1/ko
Assigned to 노키아 테크놀로지스 오와이 reassignment 노키아 테크놀로지스 오와이 권리의 전부이전등록 Assignors: 노키아 코포레이션
Assigned to 프라버넌스 어셋 그룹 엘엘씨 reassignment 프라버넌스 어셋 그룹 엘엘씨 권리의 전부이전등록 Assignors: 노키아 테크놀로지스 오와이
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

메시지 큐 시간을 계산하는 방법은, 제 1 시간에 버퍼에 메시지를 큐잉하는 단계와, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와, 상기 메시지를 다른 장치로 송신하는 단계와, 상기 타임 스탬프 메시지를 트레이스 장치로 송신하는 단계와, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 단계를 포함한다.

Description

메시지의 타임 스탬핑 방법{A METHOD FOR TIME-STAMPING MESSAGES}
본 발명의 실시예는 전반적으로 데이터 큐에서의 타임 스탬핑 처리에 관한 것이다.
트레이스되고 있는 소스 또는 장치와, 트레이스 데이터를 해석하는 데 사용되고 있는 타켓 또는 장치와의 사이에 FIFO 버퍼가 존재하는 경우에, 통상의 방법을 사용하면, 하나의 주문형 집적 회로(ASIC) 내부의 복수의 트레이스 소스로부터 상대적인 쓰루 타임(relative through time)을 정확하게 측정하기가 어렵다.
현재의 방법은 ASIC 내의 시간을 측정하는 데 타임 스탬프 카운터를 사용하지만, 이러한 처리는 정확한 타이밍 측정을 위해서 상당히 큰 카운터를 ASIC 내부에 구현하여야 한다. 메시지에 대한 쓰루 타임을 정확하게 측정하는 문제를 보다 복잡하게 하는 것은, 통상적인 방법론이 카운터 기반 타임 스탬프에 의해 소비되는 대역폭을 감소시키기 위해 타임 스탬프의 크기에 직접적으로 비례하는 타임 스탬프의 정확도를 줄이는 것을 요구한다는 것이다. 또한, 전력 소비를 줄이기 위해서, ASIC의 딥 슬립(deep sleep) 중에 시간을 추적하도록 통상 추가적인 슬립 클럭 카 운터를 사용하는데, 이는 딥 슬립으로부터 벗어난 후에 소프트웨어에 의해 타임 스탬프 카운터를 조정하는 처리뿐만 아니라 그러한 추가적인 카운터를 필요로 한다. 이는 제어할 추가적인 타이머 및 소프트웨어 통합으로 인해 타임 스탬핑 처리를 복잡하게 한다.
따라서, 최소한의 물리적 하드웨어 오버헤드 및 최소한의 대역폭을 소비하면서, 정확하게 메시지 큐 시간을 측정하도록 구성된 장치 및 방법을 필요로 한다.
발명의 개시
본 발명의 실시예는 전반적으로, 최소한의 물리적 하드웨어 오버헤드 및 최소한의 대역폭을 소비하면서, 메시지 큐 시간을 정확하게 측정하도록 구성된 장치 및 방법을 제공한다. 상기 메시지 큐 시간을 측정하기 위해서, 수신 시간, 메시지 큐잉시의 FIFO 버퍼 상태, 및 이전 메시지의 길이가, 메시지 송신의 수신기 측에서의 타임 스탬프를 계산하는 데 사용된다.
본 발명의 실시예는 메시지 큐 시간을 계산하는 방법도 제공할 수 있다. 이 방법은, 제 1 시간에 버퍼로 메시지를 큐잉하는 단계와, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와, 상기 메시지를 다른 장치로 송신하는 단계와, 상기 타임 스탬프 메시지를 트레이스 장치로 송신하는 단계와, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 단계를 포함한다.
본 발명의 실시예는 메시지 큐 시간을 결정하는 시스템도 제공할 수 있다. 이 시스템은, 집적 회로 상에 위치하고, 제 1 시간에 버퍼로 메시지를 큐잉함과 아울러, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하도록 구성된 트레이스 인터페이스 장치와, 상기 트레이스 인터페이스 장치와 외부 트레이스 장치를 접속하는 출력을 포함하되, 상기 외부 트레이스 장치는, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하도록 구성되어 있다.
본 발명의 실시예는 메시지 큐 시간을 계산하는 회로도 제공할 수 있다. 이 회로는, 제 1 시간에 버퍼로 메시지를 큐잉하도록 구성된 큐잉 모듈과, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하도록 구성된 타임 스탬프 생성 모듈과, 상기 메시지를 다른 장치로 송신할 수 있도록 구성된 통신 링크와, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하도록 구성된 트레이스 모듈을 포함한다.
본 발명의 실시예는 메시지 큐 시간을 계산하는 시스템도 제공할 수 있다. 이 시스템은, 제 1 시간에 버퍼로 메시지를 큐잉하는 큐잉 수단과, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 타임 스탬프 생성 수단과, 상기 메시지를 다른 장치로 송신할 수 있하도록 구성된 통신 수단과, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 계산 수단을 포함한다.
본 발명의 실시예는 컴퓨터 판독 가능한 매체에 내장된 컴퓨터 프로그램도 제공할 수 있는데, 이 컴퓨터 프로그램은, 상기 컴퓨터 프로그램을 실행하는 프로세서를 통해서, 메시지 큐 시간을 계산하는 방법을 제어하도록 구성되어 있다. 상기 방법은, 제 1 시간에 버퍼로 메시지를 큐잉하는 단계와, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와, 상기 메시지를 다른 장치로 송신하는 단계와, 상기 타임 스탬프 메시지를 트레이스 장치로 송신하는 단계와, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 단계를 포함한다.
본 발명의 적절한 이해를 위해서 첨부 도면을 참조한다.
도 1은 본 발명의 대표적인 외부 트레이스 인터페이스(XTI) 시스템의 하이 레벨 블록도,
도 2는 구성요소들에 대한 구동 클럭을 나타내는 본 발명의 대표적인 XTI 시스템의 하이 레벨 블록도,
도 3은 본 발명의 대표적인 XTI 시스템 출력의 상대적인 타이밍을 나타내는 도면,
도 4는 본 발명의 대표적인 방법의 흐름도,
도 5는 본 발명의 다른 대표적인 XTI 시스템 출력의 상대적인 타이밍을 나타내는 도면.
도 1은 ASIC(101) 상에 위치한 본 발명의 대표적인 외부 트레이스 인터페이스(XTI) 시스템(100)의 하이 레벨 블록도이다. 본 실시예에서는 상기 시스템(100)이 ASIC(100) 상에 위치하고 있지만, 이와 달리 상기 시스템(100)은 소정의 별도의 회로 상에 위치할 수 있으며, 본 발명은 ASIC에서의 사용에 한정되지 않는다. 통상, XTI 시스템(100)은 중재기(106)와 통신하는 시스템 트레이스 모듈(STM)(102)을 포함한다. 또한, 중재기(106)는 일반적으로 소프트웨어 데이터 접속(107)(SW 데이터)을 통해서 복수의 프로세서 및 DMA 제어기(108)와 통신한다. 시스템(100)은 메모리와, 중재기(106)와 통신하는 주변기기(110)와, STM(102)와 통신하는 외부 트레이스 장치(112)와, 외부 트레이스 장치(112)와 통신하는 PC(114)을 더 포함한다. 외부 트레이스 장치(112) 및 PC(114)는 DTS(debut and test system)(115)의 일부로서 포함되어 있다.
도 2는 구성요소들에 대한 구동 클럭을 나타내는 대표적인 XTI 시스템(100) 서브 블록의 하이 레벨 블록도이다. 보다 구체적으로, 대표적인 XTI 시스템(100)에서, 도면의 왼쪽 구성요소(구성 인터페이스 장치(201), 클럭 제어 장치(202), 트레이스 버스 인터페이스 장치(203), 메시지 생성 장치(204))는 모두 버스 클럭으로 클럭킹된다. 반대로, 도면의 오른쪽에 표시된 구성요소(FIFO 판독 로직(205) 및 출력 제어(206))는 XTI 출력 클럭 도메인에서 클럭킹된다. 반대로, 도면의 오른쪽 구성요소(FIFO 판독 로직(205), 출력 제어(206))는 XTI 출력 클럭 도메인에서 클럭된다. 그러나, FIFO 버퍼(207)는 2개의 클럭 도메인 사이를 연결한다. XTI 서브 블록으로의 메인 입력은 거기에 접속된 2개의 버스이다. 일반적으로 구성 버스(105)라고 불리는 제 1 버스는, 런타임 구성(다른 마스터의 활성/비활성, 내부 클럭 세팅의 설정, 등)을 설정하는 데 통상적으로 사용되고, 반면에 트레이스 버스(103)라고 불리는 제 2 버스는, STM(102)과 중재기(106) 사이에 위치하고 또한 트레이스 데이터를 챕쳐(capture)하는 데 사용된다.
도 1에 도시된 시스템(100)의 설명으로 되돌아가면, STM(102)은 연산형 코어 프로토콜(Operational Core Porotocol: OCP)의 크로스바형 구조를 통해서 버스 마스터에 접속되어 있어, 이는 복수의 마스터가 트레이싱에 STM(102)을 이용하는 것을 가능하게 한다. 통상, STM(102)은 OCP 버스형 슬레이브 모듈로서, STM(102)과 중재기(106) 사이에 위치한 트레이스 버스(103) 상의 기입 전송(write transfers)을 수용한다. STM(102)은 ASIC(101)의 오버헤드를 사용함이 없이, 후속 처리를 위해서, 데이터를 캡슐화하여 외부 트레이스 장치(112)로 전달하도록 구성될 수도 있다.
도 2에 도시된 구성 버스(105)는, 통상, 단순한 MByteEn OCP 확장을 갖는 표준 OCP 인터페이스이다. 구성 레지스터 그 자체는 구현에 따라 달라질 수 있지만, STM(102)에 접속된 각 마스터에 대한 비트를 인에이블하는 세팅을 적어도 포함해야 하고, 마스터가 디스에이블되면, STM(102)은 통상, 디스에이블된 마스터로부터 수신된 트레이스 데이터를 폐기한다. 또한, 구성 레지스터는 통상, STM(102)과 외부 트레이스 장치(112) 사이의 인터페이스의 클럭 레이트를 조정하는 데 사용될 수 있는 클럭 조정 레지스터를 포함한다.
트레이스 버스(103)는 STM(102)과 중재기(106) 사이에 위치한 기입형(write-only-type) OCP 인터페이스이다. 트레이스 버스(103)는 일반적으로 MByteEn 확장에 부가해서 MReqInfo 확장을 사용하여, STM(102)에 트레이스 데이터를 기입한다. 통상, TraceMReqInfo 신호는 OCP 버스 마스터를 서로 구분하는 데 사용된다. 트레이스 버스(103)는 일반적으로 ASIC 구조에 따라 32 또는 64 비트폭이고, 또한 트레이스 버스(103)는 일반적으로 8, 16, 32, 64 비트 액세스를 지원한다. 트레이스 버스(103) 어드레스는 일반적으로 64비트 시스템에 대해서는 12비트폭이거나, 혹은 32비트 시스템에 대해서는 11비트이다. STM(102)은 일반적으로 서브 워드 어드레싱(sub-word addressing)을 폐기, 즉 64비트 시스템의 어드레스에서의 3개의 최하위 비트, 또는 32비트 시스템의 어드레스에서의 2개의 최하위 비트를 폐기하고, 부분 워드 액세스(partial word access)를 위해 TraceMByteEn만을 사용한다. 64비트 STM(102)이 사용되면, 16 및 32비트 액세스는 일반적으로 적절한 워드 경계(word boundaries)에 맞춰서 정렬된다. 마찬가지로, 32비트 STM(102)가 사용되면, 16비트 액세스는 일반적으로 16비트 워드 경계에 맞춰서 정렬된다.
트레이스 데이터의 손실을 방지하기 위해서, STM(102)은 일반적으로 트레이스 버스(103)를 중지하도록 구성 및 제어되고, 즉 FIFO 버퍼(207)가 가득 차면, 트레이스 버스(103) 상에서의 더 이상의 전송을 허용하지 않는다. 또한, STM(102)가 MASTER, OVRF, 또는 A8 메시지를 큐잉하는 경우에, 추가적인 대기 상태가 생성될 수도 있다. STM(102)은 하나의 클럭 사이클에서 하나의 메시지만을 FIFO에 저장하므로, STM(102)이 접속되어 있는 마스터는, 일반적으로, STM(102)이 FIFO 내의 공간을 비우고 있는 동안에 비교적 긴 대기 시간을 처리할 수 있거나, 혹은 STM(102)으로의 기입 전에 불필요한 데이터를 폐기할 수 있다. 이들 특별한 상황을 제외하고, STM(102)은 일반적으로 클럭 사이클당 하나의 액세스를 수용하도록 구성되어, 마스터에 대해 추가적인 대기 상태를 야기시키지 않는다.
트레이스 버스 인터페이스에 의해 캡쳐된 액세스는, 트레이스 장치로의 데이터 메시지를 생성하기 위해서, 메시지 생성 서브 블록에서 캡슐화된다. XTI 시스템은 2개의 다른 트레이싱 모드를 인식한다. 각 마스터는, 상이한 형태의 데이터를 출력하기 위해 다소 상이한 메시지 조합을 사용하는 SW 또는 HW 모드에서 구성될 수 있다. SW 및 HW 모드에 의해 모든 메시지 형태가 사용되진 않지만, SW와 HW 메시지는 모두 동일한 기본 로우 레벨 메시지 형태를 사용한다. 메시지 생성은 유한 상태 머신(FSM)(도시하지 않음)에 의해 수행된다. FSM은 일반적으로 IDLE 상태에서 STM(102)을 기동시키고, FIFO 버퍼가 비어 있어 처리할 메시지가 없을 때의 상태로 돌아온다. IDLE 상태 동안에, STM(102)은 IDLE 메시지를 송신할 수 있고, 또한 STM(102)은 아이들 상태일 때에 클럭 출력을 중지시킬 수 있다.
STM(102)가 SW 마스터로부터 액세스를 수신하고 또한 동일한 마스터에 대해 SW 데이터 상태에 있지 않다면, STM(102)은 일반적으로 SW 상태로 천이한다. SW 상태에서, STM(102)은 MASTER 메시지를 큐잉하여, 다음 메시지가 어떤 마스터로부터 오는지 트레이스 장치에게 알려준다. 또한, STM(102)은 SW 상태로부터 SW 어드레스 상태로 자동적으로 천이한다. SW 어드레스 상태에서, STM(102)은 후속 데이터 메시지에 대한 채널 번호를 알려주는 A8 메시지를 큐잉한다. STM(102)은 SW 어드레스 상태로부터 SW 데이터 상태로 자동적으로 천이한다.
다른 마스터로부터, 동일한 마스터 상의 다른 채널로부터 액세스가 수신될 때까지, 또는 FIFO 버퍼가 비기 전에 새로운 메시지가 수신되지 않으면, STM(102)은 상태를 유지할 것이다. SW 데이터 상태에서, STM(102)은 수신된 기입 액세스에 대한 데이터 메시지를 큐잉한다. 데이터 메시지의 크기는 바이트 인에이블에 의해 결정되는데, 통상, 가능한 한 작은 크기지만 모든 액티브 바이트를 해당 액세스 내에 포함한다. HW 마스터로부터 액세스를 수신하고 동일한 마스터에 대한 HW 데이터 상태에 있지 않다면, STM(102)은 HW 상태로 천이한다. HW 상태에서, STM은 다음 메시지가 어떤 마스터로부터 오는지를 트레이스 장치에게 알려주는 MASTER 메시지를 큐잉한다. 어드레스 내의 오버플로우 비트가 하이이면, STM(102)은 HW 상태 또는 HW 데이터 상태로부터 OVRF 상태로 천이한다. OVRF 상태에서, STM은 오버플로우가 마스터 상에서 발생했음을 트레이스 장치에게 알려주는 OVRF 메시지를 큐잉한다. 그 후, 어드레스 내의 오버플로우가 로우이면 STM은 HW 상태로부터 HW 데이터 상태로 천이하고 자동적으로 OVRF 상태로부터 천이한다. HW 데이터 상태에서, STM은 수신된 기입 액세스에 대한 데이터 메시지를 큐잉한다.
통상, 참조 XTI 설계는 상술한 바와 같은 각각의 상태에서 적어도 하나의 클럭 사이클, 통상 단지 하나의 클럭 사이클만을 소비하지만, FIFO 버퍼가 가득 차 있으면, 지연 시간은 더 길어질 수 있다. 따라서, IDLE(또는 HW 데이터) 상태로부터의 SW 메시지를 큐잉하는 것은, 통상, 3개의 클럭 사이클을 소비하는데, 이 3개의 클럭 사이클 동안에는 STM(102)이 통상적으로 소정의 추가적인 버스 액세스 요청을 수용하지 않을 것이다. STM(102)이 상기한 HW 데이터 상태 또는 SW 데이터 상태를 유지하는 한, 동일한 마스터로부터의 추가의 메시지를 하나의 클럭 사이클에서 큐잉할 수 있다.
메시지 내의 타임 스탬프는, 메시지가 큐잉되었을 때에 얼마나 많은 메시지가 FIFO 버퍼(207)에 존재하였는지를 트레이스 장치(112)에 대해 일반적으로 표시하도록 구성된다. 메시지의 개수를 나타내는 타임 스탬프는, 트레이스 장치(112)에 메시지가 도착한 시간 및 메시지가 송신되기 전의 FIFO 내의 데이터량에 근거하여, 메시지가 큐잉된 시간을 트레이스 장치(112)가 계산할 수 있도록 한다. STM(102)은 타임 스탬프된 메시지를 사용하여 통상적으로 시그널링되는 메시지의 끝을 알려주는 것을 제외하고, 메시지 캡슐화 처리를 일반적으로 수행한다. 메시지 끝 표시자는 본 발명의 XTI 하드웨어에서 필요하지 않지만, 그럼에도 불구하고 메시지 끝 표시자는, 오버플로우 또는 다른 장애로부터의 데이터 손실의 경우 연속적인 메시지를 분리하는 데 타임 스탬프된 메시지를 사용할 수도 있는 트레이스 장치 및 소프트웨어 프로토콜에 의해 사용될 수 있다.
SW 모드는 XTI 인터페이스를 통해서 소프트웨어 디버그 정보를 전송하는 효율적인 방법을 제공한다. 통상, SW 모드는 트레이스 장치(112)에서 개별적으로 처리될 수 있는 대략 256개의 상이한 채널을 규정한다. 채널에 대한 예시적인 사용은 소프트웨어 프로세스 또는 태스크마다 상이한 채널을 할당하는 것이므로, 디버그되고 있는 태스크에 대한 디버그 정보는 용이하게 추출할 수 있다. 또한, 채널이 메시지를 위한 자연적인 스레딩 시스템(a natural threading system)을 형성하기 때문에, SW 메시지를 보내는 동안에 인터럽트는 소프트웨어 내에서 디스에이블될 필요가 없고, 따라서 다른 태스크가 전송 프로세스를 인터럽트하더라도 메시지 내용을 보존할 수 있다. SW 모드는 일반적으로 데이터 손실을 지원하지 않고, 따라서 통상적으로 OVRF 메시지를 생성할 수 없다. STM(102)은 FIFO 버퍼(207)가 가득 차면 트레이스 버스(그에 따라, 트레이스 버스에 접속된 마스터)를 중지시킨다.
STM(102)이 데이터의 중요성 또는 내용을 반드시 이해할 필요 없이, HW 모드는 XTI 인터페이스를 통해서 상이한 형태의 데이터를 송신하는 유연한 방법을 제공한다. HW 메시지는 통상, 예컨대 I/O 트레이싱 및 프로그램 카운터 트랙킹 기능을 시스템에 제공할 수 있는 특수한 보조 모듈을 사용하여 생성된다. HW 모드에서, 마스터는 STM(102)을 통해서 그들의 모든 데이터를 보낼 수 없는 경우에 오퍼플로우를 지원할 수 있다. 마스터가 OVRF 메시지를 이용하여 외부 트레이스 장치에 대해 데이터 손실을 알릴 수 있고, 이 OVRF 메시지는 오버플로우 메시지와 상기 동일한 마스터로부터의 이전 메시지 사이에서 몇몇의 데이터가 손실되었음을 외부 트레이스 장치에게 말해주는 것이다.
상기한 바와 같이, STM(102)은 FIFO 버퍼(207)에 메시지를 저장하고, 이 FIFO 버퍼는 도 2에 도시된 바와 같이 버스 인터페이스 클럭이 출력 인터페이스 클럭과 동일하지 않으면, 클럭 도메인 경계를 가로지르는 데에도 사용될 수도 있다. FIFO 버퍼(207)의 구현은, 소망하는 최적화의 레벨에 따라, 공지된 여러 기술을 통해서 달성될 수 있다. 예컨대, 하나의 구현은 하나의 메시지를 저장하는 데 하나의 FIFO 슬롯을 사용할 수 있고, 반면에 다른 구현은 슬롯당 하나의 버스 액세스를 저장할 수 있다. 또한, 상이한 구현은 FIFO의 저장 효율성을 향상시키기 위해 버퍼에 데이터를 저장하는 상이한 압축 방법을 사용할 수 있다.
FIFO 판독 로직(205)은 한번에 하나씩 버퍼 내의 메시지를 판독하여, 출력 제어(206)에 보내고, 그 후 그것들을 외부 트레이스 장치(112)에 송신한다. 출력 제어는 일반적으로 FIFO 판독 로직(205)으로부터 별개로 분할되어, 원한다면 그 출력 제어 로직을 다른 전송 방법으로 대체할 수 있다. 예컨대, 다른 구현은 트레이스 데이터를 출력하기 위해 시리얼 ATA와 유사한 시그널링을 사용할 수 있다.
출력 제어 로직은 출력을 구동하는 역할을 담당한다. 출력의 상대적 타이밍은 도 3 및 도 5에 표시된다. STM(102)의 출력은 더블 데이트 레이트(DDR) 시그널링을 사용하는데, 이는 새로운 데이터가 클럭의 양쪽 에지 상에서 데이터 아웃(Data Out)에 저장되는 것을 의미한다. 따라서, XTI로부터의 유효 비트 레이트 출력은 8*f(클럭)이다. 예컨대, 100MHz 클럭에 있어서, XTI 스루풋은 800Mbit/s에 이른다. 적절한 수신기가 또한 외부 트레이스 장치용으로 마련된 경우에, 출력 로직은 다른 전송으로 대체될 수 있다. 외부 트레이스 장치(112)는 XTI 니블(nibble) 스트림에서의 휴지(휴면) 동안 대기한다. 충분히 긴 휴지가 검출되면, 다음 니블이 메시지 헤더에 속해 있음, 즉 그것이 새로운 메시지의 첫번째 니블임을 보장한다.
클럭 제어 서브 블록은 클럭이 필요 없을 때 클럭을 셧다운함으로써 STM(102)에서의 전원 관리를 제어한다. 또한, STM(102)은 ASIC 상위 레벨로 아이들 신호를 출력하고, 이는 STM(102)이 전력이 저하될 것임, 즉 FIFO 버퍼가 비어 있어 모든 상태 머신이 아이들 상태에 있음을 알리는 것이다.
XTI 시스템(100)은 STM(102)에 트레이스 데이터를 제공하는 외부 트레이스 모듈(112)을 구현함으로써 확장을 허용한다. 외부 트레이스 모듈(112)은 트레이스 버스(103) 상에 기입 액세스를 형성하고, STM(102)은 외부 트레이스 장치(112)에 대한 기입 액세스를 캡쳐하여 캡슐화한다.
트레이스 장치에 의해 보내어진 단일 데이터 아이템이, STM(102)에 의해 지원되는 최대 데이터 크기에 맞으면, 단지 한번의 기입 액세스만이 필요하기 때문에, 트레이스 동작은 단순하다. 이 경우에, 트레이스 모듈은 FIFO 버퍼(207)에 데이터를 기입하기 위한 타임 스탬프된 어드레스를 사용해야 한다. 그러나, 트레이스 데이터가 XTI 워드에 맞지 않으면, 데이터 스트림에서 몇몇의 데이터가 손상되더라도, 트레이스 모듈은 통상, 재동기화가 달성 가능하도록, 보다 더 복잡한 시그널링 시스템을 사용할 것이다. 단일 데이터 블록의 마지막 기입을 제외한 모든 기입은 XTI에서 타임 스탬프되지 않은 어드레스를 사용해야 하고, 그 마지막 기입은 타임 스탬프된 어드레스이어야 한다.
동작시에, 메시지 내의 타임 스탬프는, 메시지가 큐잉되었을 때에 FIFO 버퍼(207)에 얼마나 많은 메시지가 존재하였는지를 외부 트레이스 장치(112)에게 알려준다. 이러한 정보는, 외부 트레이스 장치(112)가, 메시지가 도착한 시간 및 메시지가 송신되기 전의 FIFO 버퍼(207) 내의 데이터량에 근거하여, 메시지가 큐잉된 시간을 계산할 수 있도록 한다. 예컨대, 외부 트레이스 장치가 D8TS 메시지를 시간 123㎲에서 수신하고, 타임 스탬프값이 3, 즉 메시지가 큐잉되었을 때에 FIFO 버퍼(207) 내에 3개의 메시지가 존재하였다고 가정한다. PTI 출력 클럭이 10MHz(4비트, 더블 데이터 레이트)이고, 이전의 3개의 메시지는 MASTER, C8, D32이었다. 이러한 시나리오에서, 이전의 3개의 메시지를 출력하는 데 15개의 클럭 에지 또는 7.5개의 클럭 사이클이 소요된다는 점을 주목하면, 메시지가 큐잉되었던 시간을 계산할 수 있다. 7.5개의 클럭 사이클은 7.5*100ns 또는 750ns이므로, 메시지는 123㎲-750ns=122.25㎲에서 큐잉되었다는 것을 알 수 있다. 그러나, 이러한 결과는, 매우 정확한 결과를 얻기 위해서, 외부 트레이스 장치(112)로부터의 지연과 전송 지연(파이프 라인의 경우 등)으로 보정될 필요가 있을 수도 있다. 그러나, 시간차를 계산하기 위한 목적으로는, 통상, 상기 방법의 정확도로도 충분하다.
따라서, 타임 스탬프에서의 에러는 FIFO 내의 첫번째 메시지보다 앞의 메시지 길이의 절반 정도의 스케일이다. 타임 스탬프는 일반적으로 FIFO 버퍼(207) 내의 메시지의 개수를 나타낸다. 타임 스탬프는 일반적으로 FIFO 버퍼(207) 이후에 직면하는 어떠한 지연도 고려하지 않는다. 이들 추가적인 지연은 길이가 균일하지 않으면, 타임 스탬프는 전형적으로 시간의 정확한 추정을 보증하는 데에는 충분하지 않다. 본 발명자는, 모든 애플리케이션에서 효과적으로 사용되는 타임 스탬핑의 경우, STM FIFO와 외부 핀 인터페이스 사이에 배치된 버퍼가 일반적으로 존재하지 않음을 생각한다. 그러나, 일반적인 사용에서, 메시지의 스트림의 시작 또는 끝 시간이 일반적으로 관심 대상이기 때문에, 모든 메시지의 정확한 시간이 필요한 것은 아니며, 이는 본 발명의 방법에 의해 커버된다.
도 4는 본 발명의 대표적인 방법의 흐름도이다. 대표적 방법은 단계 400에서 시작하여, 타임 스탬프 메시지를 생성하는 단계 401로 계속된다. 통상, 타임 스탬프 메시지는 당해 메시지(타임 스탬프와 연관된 메시지)가 큐잉되었을 때에 STM FIFO 버퍼 내의 메시지의 개수 또는 양을 나타내는 정보를 포함한다. 타임 스탬프 메시지는 STM(102)에서 생성되어, 도 1 및 단계 402에 도시된 바와 같이, 외부 트레이스 장치(112)로 전송된다. 타임 스탬프 메시지가 외부 트레이스 장치(112)에 수신되면, 외부 트레이스 장치(112)는 시간과 연관된 메시지가 큐잉되었던 시간을 계산하는 데 타임 스탬프 정보를 사용할 수 있다. 타임 스탬프 연관된 메시지가 큐잉되었던 시간의 계산은, 타임 스탬프와 연관된 메시지가 FIFO에 도착한 시간, 및 메시지가 전송되기 전의 FIFO 내의 데이터량으로부터 결정될 수 있다. 메시지 큐 시간이 단계 S403에서 계산되면, 단계 404로 진행하여 방법이 종료한다.
본 발명의 다른 실시예에서, 메시지 큐 시간의 계산은 ASIC 보드 상에서 완료될 수 있다. 예컨대, 타임 스탬프 메시지 정보를 외부 트레이스 장치로 보내는 것 대신에, 타임 스탬프 정보가 ASIC 보드(100) 상의 구성요소에 의해 처리될 수 있다. 상기 처리를 수행할 수 있는 예시적인 보드 구성요소는 STM(102)일 수 있다. 마찬가지로, 본 발명의 또 다른 실시예에서, 메시지 큐 시간의 계산은, 도 1에 도시된 PC(114)와 같은 외부 처리 장치에 의해 수행될 수 있다. 본 발명의 이러한 실시예에서, 타임 스탬프 메시지는, 타임 스탬프 메시지와 연관된 타임 메시지가 FIFO에 도착한 시간, 및 타임 스탬프 메시지와 연관된 메시지가 송신되기 전의 FIFO 내의 정보량을 나타내는 정보와 함께, 메시지 큐 시간의 처리 및 결정을 위해서 PC(114)로 송신될 수 있다.
본 발명에 따른 방법의 몇 가지 이점은, FIFO 버퍼 상태를 계산하는 처리가 전형적인 풀 스케일 타임 스탬프 카운터보다 ASIC 상의 더 적은 하드웨어를 필요로 한다는 것이다. 또한, 전송되는 비트의 수는 log2(FIFO 버퍼 크기)와 같고, 본 발명의 방법은 ASIC 내부에서 사용되는 실제 클럭 레이트에 훨씬 덜 의존적이다. 또한, 딥 슬립 또는 긴 아이들 시간 등의 논카운팅 기간을 보상하기 위한 타임 스탬프 카운터의 소프트웨어 조정이 필요 없고, 결국, 통상, 복잡성은, ASIC로부터, ASIC 오버헤드 및 랜드스케이프를 차지하지 않고 복잡성을 구현하기에 보다 경제적인 타겟으로 시프트된다.
본 발명의 다른 실시예에서, 컴퓨터 판독 가능한 매체에 실장된 컴퓨터 프로그램을 제공할 수 있다. 상기 컴퓨터 프로그램은, 컴퓨터 프로세서에 의해 실행될 때에, 상기한 방법 및 장치 중 어느 하나를 제어하도록 구성될 수 있다. 본 발명의 하나의 특정한 실시예에서, 컴퓨터 프로그램을 실행하는 프로세서를 통해서, 메시지 큐 시간을 계산하는 방법을 제어하도록 컴퓨터 프로그램을 구성한다. 상기 방법은, 제 1 시간에 버퍼로 메시지를 큐잉하는 단계와, 제 1 시간에 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와, 이 메지시를 다른 장치로 송신하는 단계와, 트레이스 장치로 타임 스탬프 메시지를 송신하는 단계와, 타임 스탬프 메시지, 제 1 시간, 버퍼 내의 데이터량에 근거하여 메시지 큐 시간을 계산하는 단계를 포함한다.
당업자라면 상기한 바와 같은 본 발명을 상이한 순서의 단계, 및/또는 개시된 것과는 상이한 구성의 하드웨어 요소로 실시할 수도 있음을 용이하게 이해할 것이다. 따라서, 이들 바람직한 실시예에 근거하여 본 발명을 설명하였지만, 본 발명의 정신 및 범위 내를 유지하면서, 소정의 변경, 변형, 및 대체는 당업자에게 있어서 자명한 것이다. 따라서, 본 발명의 범주를 결정하기 위해서, 첨부된 청구범위를 참조해야 한다.

Claims (18)

  1. 메시지 큐 시간을 계산하는 방법으로서,
    제 1 시간에 버퍼에 메시지를 큐잉하는 단계와,
    상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와,
    상기 메시지를 다른 장치로 송신하는 단계와,
    상기 타임 스탬프 메시지를 트레이스 장치로 송신하는 단계와,
    상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여 상기 메시지 큐 시간을 계산하는 단계
    를 포함하는 메시지 큐 시간의 계산 방법.
  2. 제 1 항에 있어서,
    상기 타임 스탬프 메시지를 생성하는 단계는, 상기 타임 스탬프 메시지를 트레이스 인터페이스 모듈에서 생성하는 단계를 포함하는 메시지 큐 시간의 계산 방법.
  3. 제 2 항에 있어서,
    상기 트레이스 인터페이스 모듈은 상기 버퍼와 함께 주문형 집적 회로(ASIC) 상에 위치되어 있는 메시지 큐 시간의 계산 방법.
  4. 제 3 항에 있어서,
    상기 메시지를 큐잉하는 단계는 상기 트레이스 인터페이스 모듈에서 수행되는 메시지 큐 시간의 계산 방법.
  5. 제 1 항에 있어서,
    상기 트레이스 장치는 주문형 집적 회로(ASIC) 상에 위치한 트레이스 인터페이스 모듈을 포함하는 메시지 큐 시간의 계산 방법.
  6. 제 1 항에 있어서,
    상기 계산 단계는, 주문형 집적 회로(ASIC) 상에 위치한 트레이스 인터페이스 모듈, 상기 주문형 집적 회로와 통신하는 외부 트레이스 장치, 또는, 상기 주문형 집적 회로의 외부에 위치하고 또한 상기 외부 트레이스 장치 및 상기 트레이스 인터페이스 모듈과 통신하는 컴퓨팅 장치 중 적어도 하나에서 수행되는 메시지 큐 시간의 계산 방법.
  7. 제 1 항에 있어서,
    중재기(arbiter)와 통신하는 트레이스 버스를 통해서 주문형 집적 회로(ASIC)에 실장된 트레이스 인터페이스 장치에서 트레이스 정보를 수신하는 단계를 더 포함하는 메시지 큐 시간의 계산 방법.
  8. 메시지 큐 시간을 결정하기 위한 시스템으로서,
    집적 회로 상에 위치하고, 제 1 시간에 버퍼로 메시지를 큐잉함과 아울러, 상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하도록 구성된 트레이스 인터페이스 장치와,
    상기 트레이스 인터페이스 장치를 외부 트레이스 장치에 연결하는 출력
    을 포함하되,
    상기 외부 트레이스 장치는, 상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하도록 구성되어 있는
    메시지 큐 시간의 결정 시스템.
  9. 제 8 항에 있어서,
    상기 트레이스 인터페이스 장치는 주문형 집적 회로(ASIC) 상에 위치되어 있는 메시지 큐 시간의 결정 시스템.
  10. 제 9 항에 있어서,
    상기 주문형 집적 회로(ASIC)는 적어도 하나의 중재기를 실장하며, 상기 중재기는 상기 주문형 집적 회로 상의 트레이스 버스를 거쳐서 상기 트레이스 인터페이스 장치와 통신하는 메시지 큐 시간의 결정 시스템.
  11. 제 9 항에 있어서,
    상기 주문형 집적 회로(ASIC)는, 오퍼레이팅 시스템 모니터를 거쳐서 상기 트레이스 인터페이스 장치와 통신하는 적어도 하나의 프로세서 또는 직접 메모리 액세스 제어기를 포함하는 메시지 큐 시간의 결정 시스템.
  12. 제 9 항에 있어서,
    상기 주문형 집적 회로(ASIC)는, 그 주문형 집적 회로 상의 하드웨어 인터페이스를 거쳐서 상기 트레이스 인터페이스 장치와 통신하는 적어도 하나의 메모리 또는 주변 장치를 포함하는 메시지 큐 시간의 결정 시스템.
  13. 메시지 큐 시간을 계산하는 회로로서,
    제 1 시간에 버퍼로 메시지를 큐잉하도록 구성된 큐잉 모듈과,
    상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하도록 구성된 타임 스탬프 생성 모듈과,
    상기 메시지를 다른 장치로 송신할 수 있도록 구성된 통신 링크와,
    상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하도록 구성된 트레이스 모듈
    을 포함하는 메시지 큐 시간의 계산 회로.
  14. 제 13 항에 있어서,
    상기 타임 스탬프 생성 모듈은, 상기 버퍼와 함께 주문형 집적 회로(ASIC) 상에 위치한 트레이스 인터페이스 장치를 포함하는 메시지 큐 시간의 계산 회로.
  15. 제 14 항에 있어서,
    상기 트레이스 모듈은 상기 주문형 집적 회로(ASIC)의 외부에 위치하고, 상기 큐잉 모듈과 통신하는 메시지 큐 시간의 계산 회로.
  16. 제 13 항에 있어서,
    하드웨어 인터페이스를 거쳐서 상기 큐잉 모듈과 통신하는 적어도 하나의 메모리 또는 주변 장치와,
    오퍼레이팅 시스템 모니터를 거쳐서 상기 큐잉 모듈과 통신하는 적어도 하나의 프로세서 또는 직접 메모리 액세스 제어기
    를 더 포함하는 메시지 큐 시간의 계산 회로.
  17. 메시지 큐 시간을 계산하는 시스템으로서,
    제 1 시간에 버퍼로 메시지를 큐잉하는 큐잉 수단과,
    상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 타임 스탬프 생성 수단과,
    상기 메시지를 다른 장치로 송신할 수 있도록 구성된 통신 수단과,
    상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 계산 수단
    을 포함하는 메시지 큐 시간의 계산 시스템.
  18. 컴퓨터 판독 가능한 매체에 내장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프 로그램은 컴퓨터 프로그램을 실행하는 프로세서를 통해서, 메시지 큐 시간을 계산하는 방법을 제어하도록 구성되어 있고,
    상기 메시지 큐 시간 계산 방법은,
    제 1 시간에 버퍼로 메시지를 큐잉하는 단계와,
    상기 제 1 시간에 상기 버퍼 내의 메시지 수를 나타내는 타임 스탬프 메시지를 생성하는 단계와,
    상기 메시지를 다른 장치로 송신하는 단계와,
    상기 타임 스탬프 메시지를 트레이스 장치로 송신하는 단계와,
    상기 타임 스탬프 메시지, 상기 제 1 시간, 상기 버퍼 내의 데이터량에 근거하여, 상기 메시지 큐 시간을 계산하는 단계
    를 포함하는
    컴퓨터 프로그램.
KR1020097008178A 2006-09-22 2007-09-18 메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체 Expired - Fee Related KR101054109B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/525,125 2006-09-22
US11/525,125 US8160084B2 (en) 2006-09-22 2006-09-22 Method for time-stamping messages
PCT/IB2007/002693 WO2008035167A2 (en) 2006-09-22 2007-09-18 A method for time-stamping messages

Publications (2)

Publication Number Publication Date
KR20090054478A true KR20090054478A (ko) 2009-05-29
KR101054109B1 KR101054109B1 (ko) 2011-08-03

Family

ID=39200888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008178A Expired - Fee Related KR101054109B1 (ko) 2006-09-22 2007-09-18 메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US8160084B2 (ko)
EP (1) EP2064628B1 (ko)
KR (1) KR101054109B1 (ko)
CN (1) CN101529404B (ko)
TW (1) TWI430101B (ko)
WO (1) WO2008035167A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102373562B1 (ko) 2021-08-03 2022-03-10 이지케어텍(주) 메시지 처리 순서 보장 방법, 장치, 시스템 및 컴퓨터 프로그램

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743279B2 (en) 2007-04-06 2010-06-22 Apple Inc. Program counter (PC) trace
GB2478328B (en) * 2010-03-03 2015-07-01 Advanced Risc Mach Ltd Method, apparatus and trace module for generating timestamps
FR2983323B1 (fr) * 2011-11-28 2014-06-06 Schneider Electric Ind Sas Systeme de gestion de buffers d'evenements horodates
US8990534B2 (en) * 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
DE102015121940A1 (de) * 2015-12-16 2017-06-22 Intel IP Corporation Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht
CN111327386B (zh) * 2018-12-14 2023-08-08 深圳市中兴微电子技术有限公司 一种延时抖动补偿方法、装置及计算机存储介质
US11231987B1 (en) * 2019-06-28 2022-01-25 Amazon Technologies, Inc. Debugging of memory operations

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05227153A (ja) 1992-02-14 1993-09-03 Fuji Xerox Co Ltd データ伝送制御装置
US5859980A (en) * 1996-02-08 1999-01-12 Advanced Micro Devices, Inc. Network interface having adaptive transmit start point for each packet to avoid transmit underflow
US6314530B1 (en) 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6397352B1 (en) * 1999-02-24 2002-05-28 Oracle Corporation Reliable message propagation in a distributed computer system
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
JP2001202270A (ja) * 2000-01-21 2001-07-27 Mitsubishi Electric Corp 内部バストレース機能付プロセッサ
US6658519B1 (en) * 2000-07-28 2003-12-02 International Business Machines Corporation Bus bridge with embedded input/output (I/O) and transaction tracing capabilities
US7069544B1 (en) * 2001-04-30 2006-06-27 Mips Technologies, Inc. Dynamic selection of a compression algorithm for trace data
US6615371B2 (en) 2002-03-11 2003-09-02 American Arium Trace reporting method and system
KR20040026507A (ko) 2002-09-25 2004-03-31 엘지전자 주식회사 프로세서간 통신장치의 메시지 큐 길이 결정 방법
US7463653B2 (en) * 2002-12-17 2008-12-09 Texas Instruments Incorporated Apparatus and method for compression of the timing trace stream
KR100518813B1 (ko) * 2003-02-15 2005-10-05 삼성전자주식회사 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법
US7016319B2 (en) 2003-03-24 2006-03-21 Motorola, Inc. Method and apparatus for reducing co-channel interference in a communication system
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US6920586B1 (en) 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
US8000268B2 (en) 2004-06-30 2011-08-16 Motorola Mobility, Inc. Frequency-hopped IFDMA communication system
US10355825B2 (en) 2004-07-21 2019-07-16 Qualcomm Incorporated Shared signaling channel for a communication system
US8265091B2 (en) * 2004-08-18 2012-09-11 Avaya Inc. Traffic multiplexing using timestamping
JP4394541B2 (ja) 2004-08-23 2010-01-06 日本電気株式会社 通信装置、データ通信方法およびプログラム
US7957275B2 (en) * 2004-09-09 2011-06-07 Jinsalas Solutions, Llc Queuing system
JP4591118B2 (ja) 2005-03-03 2010-12-01 三菱電機株式会社 通信装置、通信方法、およびプログラム
US8881114B2 (en) * 2005-05-16 2014-11-04 Texas Instruments Incorporated Stored program writing stall information when a processor stalls waiting for another processor
EP1922555B1 (en) * 2005-08-09 2014-10-08 Texas Instruments Incorporated Selectable jtag or trace access with data store and output
US7451367B2 (en) * 2006-02-14 2008-11-11 Atmel Corporation Accessing sequential data in microcontrollers
US7552363B2 (en) * 2006-03-23 2009-06-23 Arm Limited Generation of trace elements within a data processing apparatus
US7870437B2 (en) * 2007-11-14 2011-01-11 Arm Limited Trace data timestamping
US8307344B2 (en) * 2008-02-08 2012-11-06 Texas Instruments Incorporated Sliding granularity time stamping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102373562B1 (ko) 2021-08-03 2022-03-10 이지케어텍(주) 메시지 처리 순서 보장 방법, 장치, 시스템 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
TWI430101B (zh) 2014-03-11
US20080075015A1 (en) 2008-03-27
CN101529404A (zh) 2009-09-09
WO2008035167A3 (en) 2008-08-07
EP2064628B1 (en) 2017-04-19
TW200832142A (en) 2008-08-01
EP2064628A2 (en) 2009-06-03
CN101529404B (zh) 2012-07-18
KR101054109B1 (ko) 2011-08-03
EP2064628A4 (en) 2011-10-26
WO2008035167A2 (en) 2008-03-27
US8160084B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
KR101054109B1 (ko) 메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체
CN110213143B (zh) 一种1553b总线ip核及监视系统
US10621025B2 (en) Methods for data acquisition systems in real time applications
US7743279B2 (en) Program counter (PC) trace
EP1690184B1 (en) Apparatus and method for time ordering events in a system having multiple time domains
US8099635B2 (en) Techniques for generating a trace stream for a data processing apparatus
US9088433B2 (en) Device and method for recording protocol events in an advanced communication system
US8589927B2 (en) Method, apparatus and trace module for generating timestamps
EP1750202A1 (en) Combining packets for a packetized bus
US6839777B1 (en) System and method for transferring data over a communication medium using data transfer links
CN106708671A (zh) 一种片上系统总线行为检测方法和装置
US10530562B2 (en) Correlating local time counts of first and second integrated circuits
CN116932333A (zh) 一种硅后验证的axi总线实时性能监控方法
TWI278636B (en) Integrated circuit, diagnostic device for receiving diagnostic data in integrated circuit and method for generating diagnostic data
CN110069425A (zh) 一种基于服务器多处理机板卡设备之间的数据处理方法
JP2025515469A (ja) データ伝送方法、データ伝送装置、記憶媒体、及び電子機器
CN109412939A (zh) 记录工业网络通信周期过程数据的通信网关和工作方法
CN115328433B (zh) 基于fpga+dsp架构的功率分析仪数据传输系统
US20070028010A1 (en) Peripheral device utilization monitoring
CN119276755A (zh) Cxl单元的时延测试方法、装置、系统、设备及介质
JP2017163329A (ja) 装置、保存方法及びプログラム
CN121880120A (zh) 支持波形检测的装置、方法、设备及存储介质
CN121457404A (zh) 芯片内部性能测试电路及测试方法
TW201427327A (zh) 網路設備傳輸性能測試方法及系統

Legal Events

Date Code Title Description
A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20180719

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20210729

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20210729