KR101325229B1 - 비대칭 멀티프로세서 장치의 진단연산 수행 - Google Patents
비대칭 멀티프로세서 장치의 진단연산 수행 Download PDFInfo
- Publication number
- KR101325229B1 KR101325229B1 KR1020097010591A KR20097010591A KR101325229B1 KR 101325229 B1 KR101325229 B1 KR 101325229B1 KR 1020097010591 A KR1020097010591 A KR 1020097010591A KR 20097010591 A KR20097010591 A KR 20097010591A KR 101325229 B1 KR101325229 B1 KR 101325229B1
- Authority
- KR
- South Korea
- Prior art keywords
- execution
- diagnostic
- thread
- master
- mechanisms
- Prior art date
Links
- 230000007246 mechanism Effects 0.000 claims abstract description 132
- 230000015654 memory Effects 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 31
- 238000003745 diagnosis Methods 0.000 claims description 19
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000007704 transition Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012631 diagnostic technique Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
각각의 슬레이브 진단부(20,22,24)와 대응한 실행 메카니즘(6,8,10)을 연관시킨 비대칭 멀티프로세서 장치(2)를 제공한다. 마스터 진단부(26)는, 주어진 쓰레드의 실행 후 상기 진단 메카니즘(20,22,24,26)이 후속하고 이 정보가 프로그래머에게 제공되도록 상이한 실행 메카니즘(6,8,10)간에 쓰레드 실행의 이행을 추적한다. 실행 메카니즘(6,8,10)은, 범용 프로세서(6), DMA부(12), 코프로세서, VLIW 프로세서, 디지털 신호 프로세서(8), 및 하드웨어 가속기(10) 등과 같이 다양할 수 있다. 또한, 비대칭 멀티프로세서 장치(2)는, 전역 메모리, 공유 메모리(16), 전용 메모리(18) 및 캐시 메모리(14) 중 2개 이상을 구비하는 등의 비대칭 메모리 계층을 구비하는 것이 일반적일 것이다.
비대치 멀티프로세서 장치, 쓰레드, 진단 메카니즘, 실행, 메모리.
Description
본 발명은, 데이터 처리 시스템에 관한 것이다. 보다 구체적으로, 본 발명은, 비대칭 멀티프로세서로 사용하기 위한 진단 메카니즘의 제공에 관한 것이다.
데이터 처리 시스템 개발 분야에서는 디버그 메카니즘, 추적 메카니즘 및 프로파일링 메카니즘 등의 진단 메카니즘이 점점 중요해지고 있다. 데이터 처리 시스템이 보다 복잡해지고, 이 데이터 처리 시스템의 개발 시간과 시험이 보다 짧아짐에 따라, 데이터 처리 시스템과 연관된 문제점을 식별하는데 사용되고, 이들 데이터 처리 시스템의 성능을 그 설계 및 구성을 조정하여서 개량하는데 사용될 수 있는, 강력하고 사용하기 쉬운 진단 메카니즘에 대해 점점 필요해지고 있다.
데이터 처리 시스템 내의 또 다른 경향은 멀티프로세서 시스템의 사용이 증가하고 있다는 것이다. 이들을 사용하여 처리가 병렬로 처리될 수 있어서, 대표적으로 서로 다른 프로그램 또는 태스크의 쓰레드에 의해 고성능을 제공한다. 이러한 멀티프로세서 시스템의 일 형태는, 대칭 멀티프로세서 시스템으로서 알려져 있다. 일반적으로, 이러한 대칭 시스템은 프로그램 및 데이터 메모리의 코히어런트 뷰(view)가 각각 동일한 복수의 동일한 프로세서 코어를 구비하고, 운영 시스템 소프트웨어는 개개의 프로세서에 수행되는 태스크들/쓰레드들을 할당하고 프로세서간 의 태스크/쓰레드를 이행하는 역할을 한다. 즉, 프로그램 명령어 실행의 단일 쓰레드는, 운영 시스템 제어하에 복수의 프로세서간에 시간 다중화된다. 이러한 대칭 시스템에서는, 그 운영 시스템을 사용하여 개개의 태스크/쓰레드가 실행되고 있는 장소를 결정하여 프로그래머에게 상기 운영 시스템 스케쥴링이 일 프로세서로부터 타 프로세서로의 실행을 이행하는 경우에도 단일 프로세서에 관해 실행하는 단일의 쓰레드의 출현을 제공할 수 있다. 이러한 접근법은, 동일하고, 운용 시스템에 의해, 즉 프로그램 자체에 의해 기동되지 않고 이행(migration)을 수행하는 프로세서에 한정되지 않는다.
대칭 멀티프로세서 시스템이 처리 성능을 개량할 수 있지만, 그들은 어느 정도 비효율적이다. 일례로서, 상기 수행되는 처리가 DSP형 코어에 의해 가장 잘 수행되는(예를 들면, 수치적으로 높은 집중적 및 반복적인) 약간의 연산과, 범용 프로세서에서 보다 좋게 수행된 다른 태스크들(예를 들면, 플로우 제어, 사용자 입력 등)을 필요로 하는 경우, 대칭 멀티프로세서는 이러한 처리를 구현하는 비교적 비효율적인 방식이다. 이를 인식하여 비대칭 멀티프로세싱(AMP) 시스템을 제공하는 것이 알려져 있다. 이러한 시스템의 예는, 텍사스 인스트루먼트에서 설계한 OMAP플랫폼이다. 이러한 플랫폼내에서, 다수의 서로 다른 프로세서에는, 다른 태스크에 대한 일부의 태스크에 아주 적합한 특징을 갖는 이들 각각이 구비된다. 일례로서, 비대칭 멀티프로세서는, 범용 마이크로프로세서 코어뿐만 아니라 DSP 코어도 구비하여도 된다. 이러한 비대칭 멀티프로세서들은, 비교적 가격이 저렴하고 전력 소모가 낮을 수 있는 처리 성능면에서 강한 이점을 갖지만, 그들은 이종 성질로 인해 프로그래밍하고 개발하기에 더 어렵다. 상기 비대칭 멀티프로세서 시스템을 잘 이용하기 위해서, 운영 시스템의 제어라기 보다는 프로그램 자체에 의해 쓰레드들간의 태스크의 이행이 수행되는 것이 보통이다. 또한, 상이한 프로세서의 상이한 처리 아키텍처는, 상당히 상이한 진단 메카니즘이 상기 프로세서의 각각에 적합하기도 한다는 것을 의미한다. AMP 시스템에서의 동기적 원격 프로시저 호출은, SMP 시스템에서의 쓰레드들의 운영 시스템 제어 이행과 유사하게 일 프로세서로부터 다른 프로세서로의 쓰레드들의 프로그램 제어형 이행으로서 보일 수 있지만, 상기 시스템의 상기 단순한 면은 프로세서가 연산을 수행함에 따른 상기 시스템을 분할하는 기존의 진단 메카니즘에 의해 지원되지 않는다. 이 결과에 의하면, 대칭 멀티프로세싱 시스템과 연관된 상기 비교적 단순한 진단 기술은, 비록 상기 비대칭 처리 시스템을 프로그래밍하는 복잡성 및 곤란성이 그 진단 메카니즘이 훨씬 더 중요하다는 것을 의미할지라도 비대칭 멀티프로세서 시스템에서 쉽게 사용될 수 없다. 종래의 AMP 시스템에서는 각 프로세서에서 가동하는 코드를 별개로 취급한다. 프로세서마다의 코드는, 마치 그 코드가 다른 프로세서의 별개의 프로그램과 통신하는 별개의 프로그램처럼 디버깅된다.
QNX 소프트웨어 시스템: [2007년 12월 13일에 검색된] 인터넷:URL:http://www.qnx.com/download/feature.html?programid=14695>로부터 검색된 XP002463005 캐나다, 페이지 1-407, 2006년 2월(2006-02)의 "QNX Neutrino RTOS-System Architecture"[온라인]에는, 동종 및 이종의 비대칭 멀티프로세싱이 기재되어 있다.
J.ENGBLON: [2007년 12월 13일에 검색된] 인터넷:URL:http:www.yirtutech.com/pdf/engblom-e sc2006.pdf>로부터 검색된 미국 캘리포니아 XP002463007 San Jose, 페이지 1-15, 2006년 4월 3일(2006-04-03)-2006년 4월 7일(2006-04-07), "Debugging Real-Time Multiprocessor Systems" EMBEDDED SYSTEMS CONFERENCE[온라인]에는, 디버깅 실시간 멀티프로세서 시스템이 기재되어 있다.
QNX 소프트웨어 시스템: [2007년 12월 13일에 검색된] 인터넷:URL:http://www.qnx.com/download/feature.html?programid=14695>로부터 검색된 XP002463005 캐나다, 페이지 1-407, 2006년 2월(2006-02)의 "QNX Neutrino RTOS-System Architecture"[온라인]에는, 동종 및 이종의 비대칭 멀티프로세싱이 기재되어 있다.
J.ENGBLON: [2007년 12월 13일에 검색된] 인터넷:URL:http:www.yirtutech.com/pdf/engblom-e sc2006.pdf>로부터 검색된 미국 캘리포니아 XP002463007 San Jose, 페이지 1-15, 2006년 4월 3일(2006-04-03)-2006년 4월 7일(2006-04-07), "Debugging Real-Time Multiprocessor Systems" EMBEDDED SYSTEMS CONFERENCE[온라인]에는, 디버깅 실시간 멀티프로세서 시스템이 기재되어 있다.
본 발명의 일 국면에서 본 비대칭 멀티프로세서 장치는,
각각의 프로그램 명령에 응답하여, 본 복수의 실행 메카니즘 중 적어도 하나가, 상기 복수의 실행 메카니즘의 하나 이상의 나머지 실행 메카니즘과 상이한 처리 아키텍쳐를 갖는 본 복수의 실행 메카니즘 사이에서 시간 다중화되는 프로그램 명령 실행의 쓰레드인 데이터 처리 연산을 수행하는 복수의 실행 메카니즘과,
각각의 실행 메카니즘과 각각 연관되어 진단 연산을 수행하는 복수의 슬레이 브 진단부와,
상기 복수의 슬레이브 진단부에 연결되고 실행 메카니즘간의 주어진 쓰레드의 실행의 이행에 응답하여 상기 슬레이브 진단부 중 어느 슬레이브 진단부가 현재 액티브인 대응 변화를 하여, 본 마스터 진단부가 실행 메카니즘이 상기 주어진 쓰레드를 실행하고 있는 변화를 추적하도록 상기 주어진 쓰레드에 관한 진단 연산을 수행하는 마스터 진단부를 구비하고,
상기 실행은, 동기적 원격 프로시저 호출에 의해 일 실행 메카니즘으로부터 다른 실행 메카니즘으로 이행한다.
상기 실행은, 동기적 원격 프로시저 호출에 의해 일 실행 메카니즘으로부터 다른 실행 메카니즘으로 이행한다.
본 발명은, 상기 비대칭 멀티프로세서 내의 각각의 실행 메카니즘에 자신의 슬레이브 진단부가 구비된 구조를 제공한다. 이들 슬레이브 진단부는, 실행부들간의 쓰레드들의 이행을 추적하는 역할을 하는 마스터 진단부에 연결되어서, 비대칭 멀티프로세서 시스템 내의 상이한 실행 메카니즘을 거쳐 분할되는 경우에도 주어진 쓰레드의 실행의 단일 뷰를 제공 가능하게 한다. 이것은, 개개의 실행 쓰레드들이 상기와 같은 이종의 환경을 거쳐 추적되어도 되므로, 예를 들면 AMP 시스템에서 프로세서를 거쳐 분할된 코드가 단일 엔터티로서 디버깅될 수 있으므로 상기 프로그래밍 구성으로 일어나는 문제점들을 식별하여 이해하는 태스크를 상당히 줄인다.
이러한 비대칭 멀티프로세서 시스템의 연산을 이해할 때의 복잡성과 곤란함은, 혼합됨에 따라서, 본 기술의 이점들은 복수의 실행 메카니즘이 공통 메모리 맵을 공유하지 않도록 비대칭 메모리 계층을 포함한 시스템에서 개선된다. 이러한 비대칭 메모리 계층을 갖는 시스템 내에서, 상기 상이한 실행 메카니즘에서 사용된 상이한 메모리 맵의 복잡성은, 개개의 실행 메카니즘과 연관된 개개의 진단부를 사용하여, 동일한 데이터 항목이 상이한 실행 메카니즘에 의해 상이한 방식으로 언급 됨으로써 프로그래머가 이해하는데 곤란하게 한다. 쓰레드 변화를 추적할 수 있는 본 기술의 마스터 진단부는, 상기 프로그래머 대신에 이들 메모리 매핑된 차이를 고려할 수 있음으로써 프로그래머의 태스크를 상당히 줄일 수 있다.
비대칭 멀티프로세서가 비대칭 메모리 계층을 갖는 것에 의해 비대칭이어도 되고, 그것은 그들의 처리 아키텍쳐에서 차이가 나는 실행 메카니즘의 적어도 일부에 의해 비대칭이어도 된다. 이것은 보통 상이한 프로세서가 상이한 형태의 태스크에서 대상으로 되는 경우이고, 본 기술은 상기와 같은 복잡성을 처리할 때 상기 프로그래머를 돕는데 유용하다.
상술한 것처럼, 본 기술은, 실행 메카니즘간의 태스크들의 이행을 제어하는 프로그램 자체인 시스템을 대처할 수 있다. 본 기술 없이 진단 감지로 처리하기 어려운 상기 내용을 달성하는 특히 효율적인 방식은, 일 실행 메카니즘으로부터 다른 실행 메카니즘으로 동기적 원격 프로시저 호출이 일 쓰레드의 실행의 이행을 시작하는 방식이다. 이 경우에, 상기 이행은 상기 프로그램에 의해 명백히 수행되고 있고, 상기 원격 프로시저 호출은 피호출자 실행 메카니즘에 관해 실행하고 상이한 목적지 실행 메카니즘을 대상으로 할 수 있는 루틴들의 풀(pool) 중 하나에 의해 수행되어도 된다.
상기 마스터 진단부가 실행 메카니즘에 의해 주어진 쓰레드의 실행에 의한 진단 출력을 제공하고, 그 쓰레드의 실행 메카니즘에서의 변화에 응답하여 프로그래머가 실행 메카니즘의 이행이 일어났음을 인식하도록 상기 진단 출력에서 대응하게 변화하는 경우에, 본 기술의 유용성은 개선된다. 프로그램에 의한 문제점이 이 행과 연관됨에 따라서 이 정보는 프로그래머에게 유용한 경우도 있다.
상이한 실행 메카니즘과 연관된 슬레이브 진단부는, 특정 실행의 쓰레드의 진단 연산을 수행하기 위해 프로그래밍이 필요하기도 하다. 쓰레드들이 상이한 실행 메카니즘에 의해 실행됨으로써 그 쓰레드들을 추적한 마스터 진단부는, 주어진 쓰레드에 대한 진단 코맨드를 관련된 시간에 그 주어진 쓰레드와 연관된 슬레이브 진단부에 보낼 수 있다.
상기 진단부의 형태는 아주 다양하다. 예를 들면, 그 진단부들은, 중지점부, 감시점부, 추적부 및/또는 프로파일링부이어도 된다. 이들 진단부는 순 하드웨어, 하드웨어와 소프트웨어의 혼합, 또는 순 소프트웨어로 구성될 수 있다. 일부의 진단부는 프로세서들의 실시간 동작을 추적하기 위해 특히 높은 대역폭을 필요로 하는 추적부 등의 하드웨어로 구현하는데 아주 적합하다.
상기 실행 메카니즘의 형태는 상기와 같이 아주 다양할 수 있다는 것을 알 것이다. 예를 들면, 상기 실행 메카니즘은, 범용 프로세서, 직접 메모리 액세스부, 코프로세서, VLIW 프로세서, 디지털 신호 프로세서 및/또는 하드웨어 가속부 중 하나 이상을 구비할 수 있다. 상기 범용 프로세서 이외의 상기 실행 메카니즘의 다양한 형태는, 전용 프로세서의 다양한 서로 다른 형태를 생각할 수 있다.
마찬가지로, 상술한 비대칭 메모리 계층은, 서로 다른 다양한 방식으로 형성될 수 있다. 설치된 메모리들은, 캐시 메모리, 전용 메모리, 공유 메모리 또는 전역 메모리이어도 된다. 이들은, 비대칭 멀티프로세서 장치의 궁극적인 구현 및 사용에 효율적이지만, 시스템 상의 진단연산을 수행할 때의 어려움 정도가 증가되는 비대칭 형태로 함께 혼합될 것이다. 일반적으로, 병렬 시스템은 복수의 실행 메카니즘에서 각각이 시간 다중화된 다수의 쓰레드를 포함하는 것을 알아야 할 것이다.
본 발명의 다른 국면에서 본 비대칭 멀티프로세서 장치의 진단 연산을 수행하는 방법은,
각각의 프로그램 명령에 응답하여, 본 복수의 실행 메카니즘 중 적어도 하나가, 상기 복수의 실행 메카니즘의 하나 이상의 나머지 실행 메카니즘과 상이한 처리 아키텍쳐를 갖는 본 복수의 실행 메카니즘 사이에서 시간 다중화되는 프로그램 명령 실행의 쓰레드인 복수의 실행 메카니즘으로 데이터 처리 연산을 수행하는 단계와,
그 실행 메카니즘과 연관된 각각의 슬레이브 진단부로 상기 복수의 실행 메카니즘에 관한 진단 연산을 수행하는 단계와,
상기 복수의 슬레이브 진단부에 연결되고 실행 메카니즘간의 주어진 쓰레드의 실행의 이행에 응답하는 마스터 진단부를 사용하여 상기 슬레이브 진단부 중 어느 슬레이브 진단부가 현재 액티브인 대응 변화를 하여, 상기 마스터 진단부가 실행 메카니즘이 상기 주어진 쓰레드를 실행하고 있는 변화를 추적하도록 상기 주어진 쓰레드에 관한 진단 연산을 수행하는 단계를 포함하고,
상기 실행은, 동기적 원격 프로시저 호출에 의해 일 실행 메카니즘으로부터 다른 실행 메카니즘으로 이행한다.
상기 실행은, 동기적 원격 프로시저 호출에 의해 일 실행 메카니즘으로부터 다른 실행 메카니즘으로 이행한다.
본 발명의 실시예들은, 아래의 첨부도면을 참조하여 예시로만 설명하겠다:
도 1은 본 기술의 일례에 따라 비대칭 멀티프로세서 장치를 개략적으로 나타내고,
도 2는 상이한 실행 메카니즘간 프로그램 내에서의 주어진 쓰레드의 실행의 이행과 그 이행의 마스터 진단부에 의한 추적을 개략적으로 나타내고,
도 3은 진단 연산의 초기화와 쓰레드 이행의 추적을 개략적으로 나타낸 흐름 도,
도 4는 일 예시 실시예에 따라 본 기술의 진단 메카니즘의 초기 프로그래밍을 개략적으로 나타낸 흐름도이다.
도 1은 범용 컴퓨터(4)에 접속된 비대칭 멀티프로세서 장치(2)를 개략적으로 도시한 것이다. 상기 범용 컴퓨터는, 진단 연산을 프로그래밍하고 제어하는데 사용된다. 비대칭 멀티프로세서 장치(2)는, 범용 프로세서(6), 디지털 신호 프로세서(8), 가속기(10) 및 직접 메모리 액세스(DMA)부(12) 형태의 복수의 실행 메카니즘을 포함한다. 상이한 조합의 실행 메카니즘은, VLIW 프로세서 및/또는 코프로세서 등의 비대칭 멀티프로세서 장치 내에 설치되어도 된다는 것을 알 것이다. 또한, 이러한 비대칭 멀티프로세서 장치는, 동일한 주어진 형태의 다수의 실행 메카니즘과, 상이한 형태, 예를 들면 다수의 DSP부를 갖는 단일의 범용 프로세서의 하나 이상의 실행 메카니즘을 구비하기도 한다.
도 1의 비대칭 멀티프로세서 장치는, 상기 범용 프로세서(6) 내에 있는 캐시 메모리(14)와, 상기 가속기(10), 상기 범용 프로세서(60 및 DMA부(12)에 액세스 가능한 공유 메모리(16)와, 전용 메모리(18)로 이루어진 비대칭 메모리 계층을 갖는다. 상기 전용 메모리(18)는 DSP부(8)와 DMA부(12)에만 액세스 가능하다. 상기 DMA부(12)는, DMA부(12)에 의해 DMA연산이 수행되도록 설치한 범용 프로세서(6)에 의해 제어된다. 이들은 상기 전용 메모리(18)와 상기 공유 메모리(16)간의 데이터 전송을 포함하는 것이 일반적일 것이다. 이러한 구성에서는, 입력 데이터의 블록이, 상기 범용 프로세서(6)의 제어하에 상기 공유 메모리(16)로부터 전용 메모리(18)로 전송되고, 여기서 그것은 DSP부(18)에 의해 집중적인 수치 처리가 시행된 후 그 처리 결과를 상기 범용 프로세서(6)에 의해 상기 전용 메모리(18)로부터 공유 메모리(16)로 복구한다는 것을 알 것이다. DSP부(8)에 의해 수행되는 처리는, 범용 프로세서(6) 상에서 적어도 부분적으로 동작하고 있는 동일한 프로그램 쓰레드의 일부이고, 그 쓰레드 내의 포인트가 DSP부(8)에서 필요로 하는 처리에 도달하는 경우, 상기 범용 프로세서(6)로부터 DSP부(8)에 동기적 원격 프로시저 호출을 하여 DSP부(8) 상에서의 처리를 초기화한다. DSP부(8) 처리 끝에서, 다른 곳에서 또 다른 동기적 원격 프로시저 호출을 하거나, 그 원격 프로시저 호출로부터 단순 복귀를 할 수 있다.
도 1에서 보듯이, 상기 실행 메카니즘(6,8,10) 각각은, 각각의 슬레이브 진단부(20,22,24)를 구비한다. DMA부(12)는, 범용 프로세서(6)의 제어시에만 작동하므로, 그 자신의 슬레이브 진단부를 갖지 않는다. 상기 상이한 실행 메카니즘(6,8,10)으로 구성된 상이한 프로세서 아키텍쳐가 의미하는 것은, 상기 슬레이브 진단부(20,22,24)는 형태와 능력이 상이하고 또 상이한 형태의 프로그래밍을 필요로 하고, 상이한 형태의 출력을 발생한다는 것이라는 것을 알 것이다. 이러한 비대칭 멀티프로세서 장치(2)에서의 상이점은, 상이한 실행 메카니즘(6,8,10)간에 이행하는 주어진 쓰레드의 실행을 이해하려고 하는 프로그래머에게 곤란함을 종래에는 준 것이다.
상기 복수의 슬레이브 진단부(20,22,24)와 아울러, 그 슬레이브 진단 부(20,22,24) 각각에 연결된 마스터 진단부(26)가 구비된다. 이 마스터 진단부는, 상기 슬레이브 진단부(20,22,24)를 거쳐 동기적 원격 프로시저 호출 및 복귀를 식별하는 등의 프로그램 쓰레드 이행을 감시한다. 상기 마스터 진단부(26)는, 수행되는 진단 연산을 프로그래밍하고 그 진단 출력을 감시하여 그 진단 출력을 프로그래머에게 표시하는데 사용된 범용 컴퓨터(4)에 접속된다. 그 마스터 진단부(26)는, 하드웨어 부품으로서, 하드웨어와 소프트웨어부품으로서 또는, 범용 컴퓨터(4)상에서 실행하는 순 소프트웨어 부품으로서 구성될 수 있다.
상기 슬레이브 진단부(20,22,24)는, 그들 각각의 실행 메카니즘(6,8,10) 각각 내에 설치된 것처럼 도시되어 있지만, 슬레이브 진단부(20,22,24)는 관련된 상기 실행 메카니즘(6,8,10)의 외부에 따로따로 설치될 수 있다는 것을 알 것이다. 슬레이브 진단부는 다수의 실행 메카니즘 사이에서 공유될 수 있다, 예를 들면 상기 공유 메모리(16)에 기록 또는 이 메모리로부터 판독되는 데이터를 감시하고 있는 추적부는 상기 실행 메카니즘(6,8,10)의 하나보다 많은 메카니즘에 관하여 추적을 행할 것이다. 그럼에도 불구하고, 이러한 추적부는, 상기 실행 메카니즘 중 적어도 하나에 관하여 추적을 수행했다는 점에서 상기 실행 메카니즘 중 적어도 하나와 연관될 것이다.
도 2는 상이한 실행 메카니즘간에 주어진 프로그램 실행의 쓰레드의 이행을 개략적으로 나타낸 도면이다. 이 도면에는, 3개의 상이한 실행 메카니즘이 있다. 이들 메카니즘은, 상이한 실행 메카니즘에 대한 다른 매핑이 마찬가지로 가능할지라도, 도 1의 범용 프로세서(6), DSP부(8) 및 가속기(10)에 해당한다고 하여도 된 다. 도시된 것처럼, 상기 프로그램 쓰레드는, 실행 메카니즘1에 관한 실행을 시작한 후 동기적 원격 프로시저 호출을 통해 실행 메카니즘2로 이행한다. 일정 기간동안 실행 메카니즘2의 실행 후 실행 메카니즘1로 복귀한다. 그 다음에 도시된 것처럼 실행 메카니즘2,3으로 이행한다. 이러한 전체 기간에, 마스터 진단부(26)는, 상기 상이한 실행 메카니즘간의 상기 프로그램 쓰레드의 실행을 전환하는 동기적 원격 프로시저 호출의 발생을 감시함에 따라서 상기 프로그램 쓰레드를 처리할 때 어느 실행 메카니즘이 현재 액티브인지를 추적한다. 이것은, 도 2의 좌측에 도시된 추적 정보이다. 이러한 추적 정보는, 마스터 진단부(26)에 의해 상기 상이한 슬레이브 진단부(20,22,24)로부터 복구된 진단 정보를 적절한 프로그램 쓰레드와 연관지어 표시되게 전하는데 사용되고, 이때 이것이 표시되어 프로그래머에 의해 상기 범용 컴퓨터(4) 상에서 상호작용하게 된다. 상기 진단 정보 표시는, 관련된 상기 프로그램에서의 포인트에 대한 현재 액티브인 실행 메카니즘의 식별을 포함한다. 일례로서, 일 쓰레드가 실행 메카니즘2에서 실행하고 있는 동안 프로그래머가 그 쓰레드를 정지하기를 원하는 경우, 그것이 현재 상기 쓰레드를 처리할 때 액티브 상태인 실행 메카니즘2인 것을 상기 마스터 진단부(26)가 판정할 때, 정지(halt) 코맨드를 실행 메카니즘2에 보낼 것이다.
도 3은 마스터 진단부(26)에서 수행된 쓰레드 추적의 형태를 개략적으로 나타낸 흐름도이다. 단계 28에서는, 상기 실행 메카니즘(6,8,10)의 상이한 쓰레드의 처리를 개시하고, 그 연관된 슬레이브 진단부(20,22,24)를 그 진단부들의 진단 파라미터(예를 들면, 중지점, 감시점, 프로파일링 파라미터, 추적 파라미터 등)로 프 로그래밍한다. 단계 30에서는, 어느 실행 메카니즘상에서 어떤 쓰레드가 실행하고 있는지를 식별하고, 이러한 데이터를 상기 마스터 진단부(26), 이를테면 쓰레드 데이터 테이블 내에 수집하여 보유한다. 어떤 실행 메카니즘은, 로딩과 다른 요인에 따른 루틴에서 스스로 알아서 결정되기도 하므로 상기 프로그램 자체에 의해 특정 쓰레드를 사전에 정하지 않아도 되는 것을 실행한다는 것을 알 것이다.
단계 32에서는, 상기 마스터 진단부(26)가, 이를테면 동기적 원격 프로시저 호출의 발행에 의해 임의의 쓰레드 이행이 일어났는지를 검사하기 위해서 감시한다. 쓰레드 이행이 검출되는 경우, 어떤 실행 메카니즘에 관해 어떤 쓰레드를 실행하고 있는 것을 나타내는 데이터를, 쓰레드를 더 이상 실행하지 않는 호출자와 지금 그 쓰레드를 실행하고 있는 피호출자를 고려하여 갱신하는 단계 34로 처리를 진행한다.
단계 36에서는, 상기 슬레이브 진단부(20,22,24)의 프로그래밍을 (필요한 경우) 변경하여 일어난 상기 이행을 고려한다. 예를 들면, 호출자 실행부가 상기 쓰레드에 관해 특정 중지점 또는 감시점에 대해 감시하고 있었다면, 그 실행 메카니즘이 더 이상 그 쓰레드를 실행하고 있지 않은 경우, 그들 중지점과 감시점에 대해 계속 감시하는 것이 부적합할 것인데 그 이유는 상이한 프로그램 쓰레드에 따라 그 실행이 일어나면서 중지점들 또는 감시점들의 앨리어싱(aliasing)으로 인해 결과가 잘못될 수 있기 때문이다. 상기 단계 36에서의 상기 슬레이브 진단부의 어떠한 필요한 리프로그래밍 후, 또 다른 쓰레드 이행의 감시를 수행할 수 있는 단계 32로 복귀된다.
도 4는 도 1의 시스템 내에 진단 연산의 설정을 개략적으로 나타낸다. 단계 38에서는, 상기 범용 컴퓨터(4)를 사용한 프로그래머가 수행될 소정의 진단 코맨드를 지시하고, 이 코맨드를 단계 38에서 수신하는 마스터 진단부(26)에 보낸다. 단계 40은, 실행 메카니즘(또는 감시점일 경우에는 메모리)가 상기 진단 코맨드가 수행되는 것에 관한 쓰레드와 연관되는지를 결정하는 마스터 진단부(26)에 해당한다. 그리고나서, 단계 42에서는, 수신된 코맨드에 관한 쓰레드에 대해 관련 슬레이브 진단부를 프로그래밍하고/초기화한다.
Claims (33)
- 각각의 프로그램 명령에 응답하여 데이터 처리 연산을 수행하는 복수의 실행 메카니즘으로서, 프로그램 명령 실행의 쓰레드는 상기 복수의 실행 메카니즘 사이에서 시간 다중화되고, 상기 복수의 실행 메카니즘 중 적어도 하나가, 상기 복수의 실행 메카니즘 중 다른 하나 이상의 상이한 처리 아키텍처를 가지는 복수의 실행 메카니즘과,각각의 실행 메카니즘과 각각 연관되어 진단 연산을 수행하는 복수의 슬레이브 진단부와,상기 복수의 슬레이브 진단부에 연결되어 상기 복수의 실행 메카니즘 사이의 상기 쓰레드의 실행의 이행에 응답하여 상기 복수의 슬레이브 진단부가 현재 액티브되어 상기 쓰레드에 관한 진단 연산을 수행하는 것에 대응 변화하도록 상기 실행 메카니즘이 상기 쓰레드를 실행하는 변화들을 추적하는 마스터 진단부를 포함하고,상기 실행의 이행은, 하나의 실행 메카니즘으로부터 다른 실행 메카니즘으로의 동기적 원격 프로시저 호출에 의하고,상기 복수의 실행 메카니즘은 범용 프로세서와, 직접 메모리 액세스부와, 코프로세서와, VLIW 프로세서와, 디지털 신호 프로세서와, 하드웨어 가속부 중 하나 이상을 포함하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항에 있어서,상기 복수의 실행 메카니즘이 공통 메모리 맵을 공유하지 않도록 비대칭 메모리 계층을 포함한 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 마스터 진단부는, 실행 메카니즘으로부터 진단 출력을 제공하고, 상기 쓰레드가 상기 진단 출력에서 대응 변화를 하는 실행 메카니즘에서의 변화에 응답하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 마스터 진단부는, 상기 쓰레드에 관한 진단 코맨드를 현재 상기 쓰레드를 실행하는 실행 메카니즘과 연관된 슬레이브 진단부에 보내는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 마스터 진단부는, 상기 쓰레드의 일부에 관한 중지점을 상기 일부가 실행될 수 있는 실행 메카니즘들의 각각에 관해 설정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 5 항에 있어서,상기 중지점은, 각각의 실행 메카니즘에 의해 상기 일부에 사용된 메모리 어드레스와 일치된 메모리 어드레스로 설정되는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 5 항에 있어서,상기 중지점이 기동되는 경우, 상기 마스터 진단부는, 상기 쓰레드가 상기 중지점을 기동시켰는지를 결정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,복수의 메모리를 구비하고, 상기 마스터 진단부는, 상기 데이터 항목을 저장할 수 있는 상기 복수의 메모리 각각에 관한 데이터 항목에 대해 감시점을 설정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 8 항에 있어서,상기 감시점은, 각각의 메모리 내의 상기 데이터 항목에 사용된 메모리 어드레스와 일치된 메모리 어드레스로 설정되는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 8 항에 있어서,상기 감시점이 기동되는 경우, 상기 마스터 진단부는, 상기 쓰레드가 상기 감시점을 기동시켰는지를 결정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 슬레이브 진단부는 슬레이브 추적부이고, 상기 마스터 진단부는 마스터 추적부이며, 상기 마스터 추적부는 상기 쓰레드에 대한 추적 출력을 형성하는 경우 상이한 실행 메카니즘 사이에서 상기 쓰레드의 실행의 이행을 추적하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 슬레이브 진단부는 슬레이브 프로파일링부이고, 상기 마스터 진단부는 마스터 프로파일링부이며, 상기 마스터 프로파일링부는 상기 쓰레드에 대한 프로파일링 출력을 형성하는 경우 상이한 실행 메카니즘 사이에서 상기 쓰레드의 실행의 이행을 추적하는 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 삭제
- 제 2 항에 있어서,상기 비대칭 메모리 계층은,상기 실행 메카니즘 모두에 액세스 가능한 전역 공유 메모리와,상기 실행 메카니즘 중 적어도 2개에 액세스 가능한 공유 메모리와,상기 실행 메카니즘 중 1개에 액세스 가능한 전용 메모리를 포함한 것을 특징으로 하는 비대칭 멀티프로세서 장치.
- 비대칭 멀티프로세서 장치의 진단 연산을 수행하는 방법으로서,범용 프로세서와, 직접 메모리 액세스부와, 코프로세서와, VLIW 프로세서와, 디지털 신호 프로세서와, 하드웨어 가속부 중 하나 이상을 포함하는 복수의 실행 메카니즘이 각각의 프로그램 명령에 응답하여 데이터 처리 연산을 수행하는 단계로서, 프로그램 명령 실행의 쓰레드는 상기 복수의 실행 메카니즘 사이에서 시간 다중화되고, 상기 복수의 실행 메카니즘 중 적어도 하나가, 상기 복수의 실행 메카니즘 중 다른 하나 이상의 상이한 처리 아키텍처를 가지는 복수의 실행 메카니즘이 각각의 프로그램 명령에 응답하여 데이터 처리 연산을 수행하는 단계와,복수의 슬레이브 진단부가 각각의 실행 메카니즘과 각각 연관되어 진단 연산을 수행하는 단계와,마스터 진단부가 상기 복수의 슬레이브 진단부에 연결되어 상기 복수의 실행 메카니즘 사이의 상기 쓰레드의 실행의 이행에 응답하여 상기 복수의 슬레이브 진단부가 현재 액티브되어 상기 쓰레드에 관한 진단 연산을 수행하는 것에 대응 변화하도록 상기 실행 메카니즘이 상기 쓰레드를 실행하는 변화들을 추적하는 단계를 포함하고,상기 실행의 이행은, 하나의 실행 메카니즘으로부터 다른 실행 메카니즘으로의 동기적 원격 프로시저 호출에 의하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항에 있어서,상기 비대칭 멀티프로세서 장치는, 상기 복수의 실행 메카니즘이 공통 메모리 맵을 공유하지 않도록 비대칭 메모리 계층을 포함한 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 마스터 진단부는, 실행 메카니즘으로부터 진단 출력을 제공하고, 상기 쓰레드가 상기 진단 출력에서 대응 변화를 하는 실행 메카니즘에서의 변화에 응답하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 마스터 진단부는, 상기 쓰레드에 관한 진단 코맨드를 현재 상기 쓰레드를 실행하는 실행 메카니즘과 연관된 슬레이브 진단부에 보내는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 마스터 진단부는, 상기 쓰레드의 일부에 관한 중지점을 상기 일부가 실행될 수 있는 실행 메카니즘들의 각각에 관해 설정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 19 항에 있어서,상기 중지점은, 각각의 실행 메카니즘에 의해 상기 일부에 사용된 메모리 어드레스와 일치된 메모리 어드레스로 설정되는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 19 항에 있어서,상기 중지점이 기동되는 경우, 상기 마스터 진단부는, 상기 쓰레드가 상기 중지점을 기동시켰는지를 결정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 비대칭 멀티프로세서 장치는, 복수의 메모리를 구비하고, 상기 마스터 진단부는, 상기 데이터 항목을 저장할 수 있는 상기 복수의 메모리 각각에 관한 데이터 항목에 대해 감시점을 설정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 22 항에 있어서,상기 감시점은, 각각의 메모리 내의 상기 데이터 항목에 사용된 메모리 어드레스와 일치된 메모리 어드레스로 설정되는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 22 항에 있어서,상기 감시점이 기동되는 경우, 상기 마스터 진단부는, 상기 쓰레드가 상기 감시점을 기동시켰는지를 결정하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 슬레이브 진단부는 슬레이브 추적부이고, 상기 마스터 진단부는 마스터 추적부이며, 상기 마스터 추적부는 상기 쓰레드에 대한 추적 출력을 형성하는 경우 상이한 실행 메카니즘 사이에서 상기 쓰레드의 실행의 이행을 추적하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 제 15 항 또는 제 16 항에 있어서,상기 슬레이브 진단부는 슬레이브 프로파일링부이고, 상기 마스터 진단부는 마스터 프로파일링부이며, 상기 마스터 프로파일링부는 상기 쓰레드에 대한 프로파일링 출력을 형성하는 경우 상이한 실행 메카니즘 사이에서 상기 쓰레드의 실행의 이행을 추적하는 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 삭제
- 제 16 항에 있어서,상기 비대칭 메모리 계층은,상기 실행 메카니즘 모두에 액세스 가능한 전역 공유 메모리와,상기 실행 메카니즘 중 적어도 2개에 액세스 가능한 공유 메모리와,상기 실행 메카니즘 중 1개에 액세스 가능한 전용 메모리를 포함한 것을 특징으로 하는 비대칭 멀티프로세서 장치의 진단 연산 수행 방법.
- 청구항 15 또는 청구항 16에 기재된 방법에 따라 마스터 진단부와 복수의 슬레이브 진단부를 제어하도록 컴퓨터를 제어하는 컴퓨터 프로그램을 기록한, 컴퓨터 판독 가능한 매체.
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85375606P | 2006-10-24 | 2006-10-24 | |
US60/853,756 | 2006-10-24 | ||
GB0709182A GB2443277B (en) | 2006-10-24 | 2007-05-11 | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
GB0709182.0 | 2007-05-11 | ||
PCT/GB2007/003223 WO2008050076A1 (en) | 2006-10-24 | 2007-08-24 | Performing diagnostic operations upon an asymmetric multiprocessor apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090082254A KR20090082254A (ko) | 2009-07-29 |
KR101325229B1 true KR101325229B1 (ko) | 2013-11-04 |
Family
ID=38219318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097010591A KR101325229B1 (ko) | 2006-10-24 | 2007-08-24 | 비대칭 멀티프로세서 장치의 진단연산 수행 |
Country Status (11)
Country | Link |
---|---|
US (5) | US20080098207A1 (ko) |
EP (1) | EP2076837B1 (ko) |
JP (1) | JP5054115B2 (ko) |
KR (1) | KR101325229B1 (ko) |
CN (1) | CN101529391B (ko) |
DE (1) | DE602007009857D1 (ko) |
GB (1) | GB2443277B (ko) |
IL (1) | IL197314A (ko) |
MY (1) | MY144449A (ko) |
TW (1) | TWI407374B (ko) |
WO (1) | WO2008050076A1 (ko) |
Families Citing this family (270)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
US20040119829A1 (en) | 1997-07-15 | 2004-06-24 | Silverbrook Research Pty Ltd | Printhead assembly for a print on demand digital camera system |
US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
AUPQ056099A0 (en) | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
US7614037B2 (en) * | 2004-05-21 | 2009-11-03 | Microsoft Corporation | Method and system for graph analysis and synchronization |
US8079019B2 (en) * | 2007-11-21 | 2011-12-13 | Replay Solutions, Inc. | Advancing and rewinding a replayed program execution |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US8380966B2 (en) * | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
US8341604B2 (en) * | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US8370806B2 (en) * | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US10353797B2 (en) * | 2006-12-29 | 2019-07-16 | International Business Machines Corporation | Using memory tracking data to inform a memory map tool |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
WO2008144960A1 (en) * | 2007-05-31 | 2008-12-04 | Intel Coporation | Method and apparatus for mpi program optimization |
CN101329638B (zh) * | 2007-06-18 | 2011-11-09 | 国际商业机器公司 | 程序代码的并行性的分析方法和系统 |
US20090007115A1 (en) * | 2007-06-26 | 2009-01-01 | Yuanhao Sun | Method and apparatus for parallel XSL transformation with low contention and load balancing |
US8548777B2 (en) * | 2007-09-28 | 2013-10-01 | Rockwell Automation Technologies, Inc. | Automated recommendations from simulation |
US20090089031A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Integrated simulation of controllers and devices |
US7801710B2 (en) * | 2007-09-28 | 2010-09-21 | Rockwell Automation Technologies, Inc. | Simulation controls for model variability and randomness |
US8181165B2 (en) * | 2007-10-30 | 2012-05-15 | International Business Machines Corporation | Using annotations to reuse variable declarations to generate different service functions |
IL187038A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Secure data processing for unaligned data |
US8402438B1 (en) | 2007-12-03 | 2013-03-19 | Cadence Design Systems, Inc. | Method and system for generating verification information and tests for software |
US8468504B2 (en) * | 2007-12-28 | 2013-06-18 | Streaming Networks (Pvt.) Ltd. | Method and apparatus for interactive scheduling of VLIW assembly code |
US8156474B2 (en) * | 2007-12-28 | 2012-04-10 | Cadence Design Systems, Inc. | Automation of software verification |
US9063778B2 (en) * | 2008-01-09 | 2015-06-23 | Microsoft Technology Licensing, Llc | Fair stateless model checking |
GB2456813B (en) * | 2008-01-24 | 2012-03-07 | Advanced Risc Mach Ltd | Diagnostic context construction and comparison |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8171476B2 (en) * | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8316218B2 (en) * | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8312458B2 (en) * | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8145849B2 (en) | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8127080B2 (en) * | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8516484B2 (en) * | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8015379B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8341635B2 (en) * | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
JP5278336B2 (ja) * | 2008-02-15 | 2013-09-04 | 日本電気株式会社 | プログラム並列化装置、プログラム並列化方法及びプログラム並列化プログラム |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US8751211B2 (en) * | 2008-03-27 | 2014-06-10 | Rocketick Technologies Ltd. | Simulation using parallel processors |
US8776030B2 (en) * | 2008-04-09 | 2014-07-08 | Nvidia Corporation | Partitioning CUDA code for execution by a general purpose processor |
US9678775B1 (en) | 2008-04-09 | 2017-06-13 | Nvidia Corporation | Allocating memory for local variables of a multi-threaded program for execution in a single-threaded environment |
GB0808576D0 (en) * | 2008-05-12 | 2008-06-18 | Xmos Ltd | Compiling and linking |
FR2931269A1 (fr) * | 2008-05-16 | 2009-11-20 | Ateji Soc Par Actions Simplifi | Procede et systeme de developpement de programmes paralleles |
US9223677B2 (en) | 2008-06-11 | 2015-12-29 | Arm Limited | Generation of trace data in a multi-processor system |
US20110099552A1 (en) * | 2008-06-19 | 2011-04-28 | Freescale Semiconductor, Inc | System, method and computer program product for scheduling processor entity tasks in a multiple-processing entity system |
US9058206B2 (en) * | 2008-06-19 | 2015-06-16 | Freescale emiconductor, Inc. | System, method and program product for determining execution flow of the scheduler in response to setting a scheduler control variable by the debugger or by a processing entity |
US8966490B2 (en) * | 2008-06-19 | 2015-02-24 | Freescale Semiconductor, Inc. | System, method and computer program product for scheduling a processing entity task by a scheduler in response to a peripheral task completion indicator |
US8572577B2 (en) * | 2008-06-20 | 2013-10-29 | International Business Machines Corporation | Monitoring changes to data within a critical section of a threaded program |
US8332825B2 (en) * | 2008-06-26 | 2012-12-11 | Microsoft Corporation | Dynamically monitoring application behavior |
KR101607495B1 (ko) * | 2008-07-10 | 2016-03-30 | 로케틱 테크놀로지즈 리미티드 | 디펜던시 문제의 효율적인 병렬 계산 |
US9032377B2 (en) * | 2008-07-10 | 2015-05-12 | Rocketick Technologies Ltd. | Efficient parallel computation of dependency problems |
JP2010026851A (ja) * | 2008-07-22 | 2010-02-04 | Panasonic Corp | コンパイラによる最適化方法 |
US8028113B2 (en) * | 2008-08-15 | 2011-09-27 | International Business Machines Corporation | Methods and systems for deadlock-free allocation of memory |
US20110113221A1 (en) * | 2008-08-18 | 2011-05-12 | Telefonaktiebolaget L M Ericsson (Publ) | Data Sharing in Chip Multi-Processor Systems |
US8230442B2 (en) | 2008-09-05 | 2012-07-24 | International Business Machines Corporation | Executing an accelerator application program in a hybrid computing environment |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8504344B2 (en) * | 2008-09-30 | 2013-08-06 | Cadence Design Systems, Inc. | Interface between a verification environment and a hardware acceleration engine |
US20100095286A1 (en) * | 2008-10-10 | 2010-04-15 | Kaplan David A | Register reduction and liveness analysis techniques for program code |
US8418146B2 (en) * | 2008-11-26 | 2013-04-09 | Microsoft Corporation | Sampling techniques for dynamic data-race detection |
US9274930B2 (en) * | 2008-12-22 | 2016-03-01 | Microsoft Technology Licensing, Llc | Debugging system using static analysis |
GB0823329D0 (en) * | 2008-12-22 | 2009-01-28 | Geotate Bv | Position signal sampling method and apparatus |
KR101511273B1 (ko) * | 2008-12-29 | 2015-04-10 | 삼성전자주식회사 | 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템 |
US8527734B2 (en) * | 2009-01-23 | 2013-09-03 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system |
US9286232B2 (en) * | 2009-01-26 | 2016-03-15 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses |
US8843880B2 (en) * | 2009-01-27 | 2014-09-23 | International Business Machines Corporation | Software development for a hybrid computing environment |
US8255909B2 (en) * | 2009-01-28 | 2012-08-28 | International Business Machines Corporation | Synchronizing access to resources in a hybrid computing environment |
US9170864B2 (en) * | 2009-01-29 | 2015-10-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US20100191923A1 (en) * | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Data Processing In A Computing Environment |
CA2752806C (en) * | 2009-02-16 | 2018-07-17 | Inchron Gmbh | Method for analysing the real-time capability of a system |
US8205117B2 (en) * | 2009-02-25 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Migratory hardware diagnostic testing |
US20100242014A1 (en) * | 2009-03-17 | 2010-09-23 | Xiaohan Zhu | Symmetric multi-processor operating system for asymmetric multi-processor architecture |
JP5316128B2 (ja) * | 2009-03-17 | 2013-10-16 | トヨタ自動車株式会社 | 故障診断システム、電子制御ユニット、故障診断方法 |
US8239847B2 (en) * | 2009-03-18 | 2012-08-07 | Microsoft Corporation | General distributed reduction for data parallel computing |
US8886919B2 (en) * | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8230201B2 (en) | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US8843927B2 (en) * | 2009-04-23 | 2014-09-23 | Microsoft Corporation | Monitoring and updating tasks arrival and completion statistics without data locking synchronization |
US8413108B2 (en) * | 2009-05-12 | 2013-04-02 | Microsoft Corporation | Architectural data metrics overlay |
US9378062B2 (en) * | 2009-06-18 | 2016-06-28 | Microsoft Technology Licensing, Llc | Interface between a resource manager and a scheduler in a process |
US8719831B2 (en) * | 2009-06-18 | 2014-05-06 | Microsoft Corporation | Dynamically change allocation of resources to schedulers based on feedback and policies from the schedulers and availability of the resources |
DE102009025572A1 (de) * | 2009-06-19 | 2010-12-23 | Wolfgang Pree Gmbh | Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen |
US8914799B2 (en) * | 2009-06-30 | 2014-12-16 | Oracle America Inc. | High performance implementation of the OpenMP tasking feature |
FR2948206B1 (fr) * | 2009-07-15 | 2011-08-05 | Commissariat Energie Atomique | Dispositif et procede pour l'execution distribuee de traitements de donnees numeriques |
JP5452125B2 (ja) | 2009-08-11 | 2014-03-26 | クラリオン株式会社 | データ処理装置及びデータ処理方法 |
US8566804B1 (en) * | 2009-08-13 | 2013-10-22 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8990783B1 (en) | 2009-08-13 | 2015-03-24 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8381194B2 (en) | 2009-08-19 | 2013-02-19 | Apple Inc. | Methods and apparatuses for selective code coverage |
US8392403B2 (en) * | 2009-09-18 | 2013-03-05 | Microsoft Corporation | Management of data and computation in data centers |
US9594656B2 (en) | 2009-10-26 | 2017-03-14 | Microsoft Technology Licensing, Llc | Analysis and visualization of application concurrency and processor resource utilization |
US9430353B2 (en) * | 2009-10-26 | 2016-08-30 | Microsoft Technology Licensing, Llc | Analysis and visualization of concurrent thread execution on processor cores |
US8359588B2 (en) * | 2009-11-25 | 2013-01-22 | Arm Limited | Reducing inter-task latency in a multiprocessor system |
US8392929B2 (en) * | 2009-12-15 | 2013-03-05 | Microsoft Corporation | Leveraging memory isolation hardware technology to efficiently detect race conditions |
US8826234B2 (en) * | 2009-12-23 | 2014-09-02 | Intel Corporation | Relational modeling for performance analysis of multi-core processors |
WO2011083459A1 (en) * | 2010-01-08 | 2011-07-14 | Daniel Geist | Utilizing temporal assertions in a debugger |
US8516467B2 (en) * | 2010-01-29 | 2013-08-20 | Nintendo Co., Ltd. | Method and apparatus for enhancing comprehension of code time complexity and flow |
US9417905B2 (en) * | 2010-02-03 | 2016-08-16 | International Business Machines Corporation | Terminating an accelerator application program in a hybrid computing environment |
US8578132B2 (en) * | 2010-03-29 | 2013-11-05 | International Business Machines Corporation | Direct injection of data to be transferred in a hybrid computing environment |
US8612952B2 (en) | 2010-04-07 | 2013-12-17 | International Business Machines Corporation | Performance optimization based on data accesses during critical sections |
US8959496B2 (en) * | 2010-04-21 | 2015-02-17 | Microsoft Corporation | Automatic parallelization in a tracing just-in-time compiler system |
US9015443B2 (en) | 2010-04-30 | 2015-04-21 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment |
US8756590B2 (en) * | 2010-06-22 | 2014-06-17 | Microsoft Corporation | Binding data parallel device source code |
US8972995B2 (en) * | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US9652365B2 (en) * | 2010-08-24 | 2017-05-16 | Red Hat, Inc. | Fault configuration using a registered list of controllers |
US20120240224A1 (en) * | 2010-09-14 | 2012-09-20 | Georgia Tech Research Corporation | Security systems and methods for distinguishing user-intended traffic from malicious traffic |
US8990551B2 (en) | 2010-09-16 | 2015-03-24 | Microsoft Technology Licensing, Llc | Analysis and visualization of cluster resource utilization |
US20120096445A1 (en) * | 2010-10-18 | 2012-04-19 | Nokia Corporation | Method and apparatus for providing portability of partially accelerated signal processing applications |
US8656496B2 (en) * | 2010-11-22 | 2014-02-18 | International Business Machines Corporations | Global variable security analysis |
US8832659B2 (en) * | 2010-12-06 | 2014-09-09 | University Of Washington Through Its Center For Commercialization | Systems and methods for finding concurrency errors |
US8959501B2 (en) * | 2010-12-14 | 2015-02-17 | Microsoft Corporation | Type and length abstraction for data types |
GB2486485B (en) | 2010-12-16 | 2012-12-19 | Imagination Tech Ltd | Method and apparatus for scheduling the issue of instructions in a microprocessor using multiple phases of execution |
US20120160272A1 (en) * | 2010-12-23 | 2012-06-28 | United Microelectronics Corp. | Cleaning method of semiconductor process |
KR101785116B1 (ko) * | 2010-12-24 | 2017-10-17 | 한양대학교 산학협력단 | 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치 |
US8856764B2 (en) * | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Distributed static analysis of computer software applications |
US8566831B2 (en) | 2011-01-26 | 2013-10-22 | International Business Machines Corporation | Execution of work units in a heterogeneous computing environment |
US8726245B2 (en) | 2011-01-28 | 2014-05-13 | International Business Machines Corporation | Static analysis of computer software applications having a model-view-controller architecture |
DE102011004363B4 (de) * | 2011-02-18 | 2023-10-05 | Airbus Operations Gmbh | Steuervorrichtung zum Steuern von Netzwerkteilnehmern, Verfahren zum Betreiben eines Computernetzwerks und Computernetzwerk |
US8533720B2 (en) | 2011-02-25 | 2013-09-10 | International Business Machines Corporation | Offloading work from one type to another type of processor based on the count of each type of service call instructions in the work unit |
US8621430B2 (en) | 2011-03-03 | 2013-12-31 | International Business Machines Corporation | Method for code transformation supporting temporal abstraction of parameters |
US9189283B2 (en) * | 2011-03-03 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | Task launching on hardware resource for client |
GB2489278B (en) * | 2011-03-24 | 2019-12-25 | Advanced Risc Mach Ltd | Improving the scheduling of tasks to be performed by a non-coherent device |
US8650542B1 (en) * | 2011-03-25 | 2014-02-11 | The Mathworks, Inc. | Hierarchical, self-describing function objects |
US9015688B2 (en) * | 2011-04-01 | 2015-04-21 | Intel Corporation | Vectorization of scalar functions including vectorization annotations and vectorized function signatures matching |
US9128748B2 (en) | 2011-04-12 | 2015-09-08 | Rocketick Technologies Ltd. | Parallel simulation using multiple co-simulators |
US8949777B2 (en) * | 2011-04-22 | 2015-02-03 | Intel Corporation | Methods and systems for mapping a function pointer to the device code |
US8855194B2 (en) * | 2011-05-09 | 2014-10-07 | Texas Instruments Incorporated | Updating non-shadow registers in video encoder |
US9043363B2 (en) * | 2011-06-03 | 2015-05-26 | Oracle International Corporation | System and method for performing memory management using hardware transactions |
US9069545B2 (en) * | 2011-07-18 | 2015-06-30 | International Business Machines Corporation | Relaxation of synchronization for iterative convergent computations |
US20130055224A1 (en) * | 2011-08-25 | 2013-02-28 | Nec Laboratories America, Inc. | Optimizing compiler for improving application performance on many-core coprocessors |
GB2495959A (en) | 2011-10-26 | 2013-05-01 | Imagination Tech Ltd | Multi-threaded memory access processor |
US8909696B1 (en) | 2011-11-02 | 2014-12-09 | Google Inc. | Redundant data requests with redundant response cancellation |
US9043765B2 (en) * | 2011-11-09 | 2015-05-26 | Microsoft Technology Licensing, Llc | Simultaneously targeting multiple homogeneous and heterogeneous runtime environments |
US8615614B2 (en) * | 2011-11-30 | 2013-12-24 | Freescale Semiconductor, Inc. | Message passing using direct memory access unit in a data processing system |
US9367687B1 (en) * | 2011-12-22 | 2016-06-14 | Emc Corporation | Method for malware detection using deep inspection and data discovery agents |
US9686152B2 (en) | 2012-01-27 | 2017-06-20 | Microsoft Technology Licensing, Llc | Techniques for tracking resource usage statistics per transaction across multiple layers of protocols |
KR101885211B1 (ko) * | 2012-01-27 | 2018-08-29 | 삼성전자 주식회사 | Gpu의 자원 할당을 위한 방법 및 장치 |
US8793697B2 (en) * | 2012-02-23 | 2014-07-29 | Qualcomm Incorporated | Method and system for scheduling requests in a portable computing device |
US8949809B2 (en) | 2012-03-01 | 2015-02-03 | International Business Machines Corporation | Automatic pipeline parallelization of sequential code |
US8910137B2 (en) | 2012-04-13 | 2014-12-09 | International Business Machines Corporation | Code profiling of executable library for pipeline parallelization |
US8838861B2 (en) | 2012-05-09 | 2014-09-16 | Qualcomm Incorporated | Methods and apparatuses for trace multicast across a bus structure, and related systems |
US9928109B2 (en) | 2012-05-09 | 2018-03-27 | Nvidia Corporation | Method and system for processing nested stream events |
DE102012011584A1 (de) * | 2012-06-13 | 2013-12-19 | Robert Bosch Gmbh | Ressourcen-Managementsystem fürAutomatisierungsanlagen |
US8904371B2 (en) * | 2012-06-19 | 2014-12-02 | Telefonaktiebolaget L M Ericsson (Publ) | Data handling among actors in a dataflow programming environment |
RU2012127578A (ru) | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
RU2012127581A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Генератор исходного кода для разработки и тестирования программного обеспечения для многопроцессорных сред |
EP2706420B1 (de) * | 2012-09-05 | 2015-03-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines Automatisierungsgerätes |
CN104903855B (zh) * | 2012-11-06 | 2018-09-18 | 相干逻辑公司 | 用于配置多处理器阵列的方法和设备以及开发系统 |
JP6290913B2 (ja) * | 2012-11-09 | 2018-03-07 | コーヒレント・ロジックス・インコーポレーテッド | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
US9021426B2 (en) * | 2012-12-04 | 2015-04-28 | International Business Machines Corporation | Streamlining hardware initialization code |
US20140181830A1 (en) * | 2012-12-26 | 2014-06-26 | Mishali Naik | Thread migration support for architectually different cores |
US9519568B2 (en) | 2012-12-31 | 2016-12-13 | Nvidia Corporation | System and method for debugging an executing general-purpose computing on graphics processing units (GPGPU) application |
US9323543B2 (en) | 2013-01-04 | 2016-04-26 | Microsoft Technology Licensing, Llc | Capability based device driver framework |
US20140195834A1 (en) * | 2013-01-04 | 2014-07-10 | Microsoft Corporation | High throughput low latency user mode drivers implemented in managed code |
US9811319B2 (en) | 2013-01-04 | 2017-11-07 | Microsoft Technology Licensing, Llc | Software interface for a hardware device |
US9207969B2 (en) * | 2013-01-25 | 2015-12-08 | Microsoft Technology Licensing, Llc | Parallel tracing for performance and detail |
US8762916B1 (en) * | 2013-02-25 | 2014-06-24 | Xilinx, Inc. | Automatic generation of a data transfer network |
US8924193B2 (en) * | 2013-03-14 | 2014-12-30 | The Mathworks, Inc. | Generating variants from file differences |
US9471456B2 (en) * | 2013-05-15 | 2016-10-18 | Nvidia Corporation | Interleaved instruction debugger |
US10802876B2 (en) * | 2013-05-22 | 2020-10-13 | Massachusetts Institute Of Technology | Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
IL232836A0 (en) * | 2013-06-02 | 2014-08-31 | Rocketick Technologies Ltd | Efficient parallel computation of dependency problems |
US9292419B1 (en) * | 2013-06-04 | 2016-03-22 | The Mathworks, Inc. | Code coverage and confidence determination |
US9697003B2 (en) | 2013-06-07 | 2017-07-04 | Advanced Micro Devices, Inc. | Method and system for yield operation supporting thread-like behavior |
WO2015050594A2 (en) * | 2013-06-16 | 2015-04-09 | President And Fellows Of Harvard College | Methods and apparatus for parallel processing |
US9075624B2 (en) | 2013-06-24 | 2015-07-07 | Xilinx, Inc. | Compilation of system designs |
US20160154867A1 (en) * | 2013-07-31 | 2016-06-02 | Hewlett Packard Enterprise Development Lp | Data Stream Processing Using a Distributed Cache |
US10372590B2 (en) * | 2013-11-22 | 2019-08-06 | International Business Corporation | Determining instruction execution history in a debugger |
US20150195383A1 (en) * | 2014-01-08 | 2015-07-09 | Cavium, Inc. | Methods and systems for single instruction multiple data programmable packet parsers |
GB2524063B (en) | 2014-03-13 | 2020-07-01 | Advanced Risc Mach Ltd | Data processing apparatus for executing an access instruction for N threads |
US9733981B2 (en) * | 2014-06-10 | 2017-08-15 | Nxp Usa, Inc. | System and method for conditional task switching during ordering scope transitions |
US10061591B2 (en) | 2014-06-27 | 2018-08-28 | Samsung Electronics Company, Ltd. | Redundancy elimination in single instruction multiple data/thread (SIMD/T) execution processing |
US10061592B2 (en) | 2014-06-27 | 2018-08-28 | Samsung Electronics Co., Ltd. | Architecture and execution for efficient mixed precision computations in single instruction multiple data/thread (SIMD/T) devices |
US9182990B1 (en) * | 2014-07-01 | 2015-11-10 | Google Inc. | Method and apparatus for detecting execution of unsupported instructions while testing multiversioned code |
US9672029B2 (en) * | 2014-08-01 | 2017-06-06 | Vmware, Inc. | Determining test case priorities based on tagged execution paths |
US10148547B2 (en) | 2014-10-24 | 2018-12-04 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
US9338076B1 (en) | 2014-10-24 | 2016-05-10 | Tektronix, Inc. | Deriving hardware acceleration of decoding from a declarative protocol description |
US20160170767A1 (en) * | 2014-12-12 | 2016-06-16 | Intel Corporation | Temporary transfer of a multithreaded ip core to single or reduced thread configuration during thread offload to co-processor |
US9280389B1 (en) * | 2014-12-30 | 2016-03-08 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
US9996354B2 (en) | 2015-01-09 | 2018-06-12 | International Business Machines Corporation | Instruction stream tracing of multi-threaded processors |
US20160224327A1 (en) * | 2015-02-02 | 2016-08-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Linking a Program with a Software Library |
US9652817B2 (en) | 2015-03-12 | 2017-05-16 | Samsung Electronics Co., Ltd. | Automated compute kernel fusion, resizing, and interleave |
US11119903B2 (en) * | 2015-05-01 | 2021-09-14 | Fastly, Inc. | Race condition testing via a scheduling test program |
US10102031B2 (en) | 2015-05-29 | 2018-10-16 | Qualcomm Incorporated | Bandwidth/resource management for multithreaded processors |
US9910760B2 (en) * | 2015-08-07 | 2018-03-06 | Nvidia Corporation | Method and apparatus for interception of synchronization objects in graphics application programming interfaces for frame debugging |
US10095641B2 (en) | 2015-09-23 | 2018-10-09 | Hanan Potash | Processor with frames/bins structure in local high speed memory |
US9977693B2 (en) | 2015-09-23 | 2018-05-22 | Hanan Potash | Processor that uses plural form information |
US10140122B2 (en) | 2015-09-23 | 2018-11-27 | Hanan Potash | Computer processor with operand/variable-mapped namespace |
US10067878B2 (en) | 2015-09-23 | 2018-09-04 | Hanan Potash | Processor with logical mentor |
US10061511B2 (en) | 2015-09-23 | 2018-08-28 | Hanan Potash | Computing device with frames/bins structure, mentor layer and plural operand processing |
CN108139870B (zh) * | 2015-10-09 | 2021-08-06 | 奥奇系统公司 | 模块化设备和操作方法 |
US10534697B2 (en) * | 2015-10-27 | 2020-01-14 | Sap Se | Flexible configuration framework |
US9678788B2 (en) * | 2015-11-10 | 2017-06-13 | International Business Machines Corporation | Enabling poll/select style interfaces with coherent accelerators |
GB2547252B (en) * | 2016-02-12 | 2019-12-11 | Advanced Risc Mach Ltd | Graphics processing systems |
US10860499B2 (en) | 2016-03-22 | 2020-12-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Dynamic memory management in workload acceleration |
US10203747B2 (en) | 2016-03-22 | 2019-02-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Workload placement based on heterogeneous compute performance per watt |
US10884761B2 (en) | 2016-03-22 | 2021-01-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Best performance delivery in heterogeneous computing unit environment |
US11093286B2 (en) * | 2016-04-26 | 2021-08-17 | Hanan Potash | Computing device with resource manager and civilware tier |
US10303466B1 (en) * | 2016-09-07 | 2019-05-28 | Amazon Technologies, Inc. | Semantic annotations in source code |
US10177795B1 (en) | 2016-12-29 | 2019-01-08 | Amazon Technologies, Inc. | Cache index mapping |
KR20180086792A (ko) * | 2017-01-23 | 2018-08-01 | 삼성전자주식회사 | 복수의 프로세서들 사이에 데이터를 처리하는 방법 및 전자 장치 |
US20180285241A1 (en) * | 2017-03-28 | 2018-10-04 | Carnegie Mellon University | Energy-interference-free debugger for intermittent energy-harvesting systems |
US20180331973A1 (en) * | 2017-05-09 | 2018-11-15 | Microsoft Technology Licensing, Llc | Increasing virtual machine availability during server updates |
US10282274B2 (en) * | 2017-06-14 | 2019-05-07 | Microsoft Technology Licensing, Llc | Presenting differences between code entity invocations |
US10732634B2 (en) | 2017-07-03 | 2020-08-04 | Baidu Us Llc | Centralized scheduling system using event loop for operating autonomous driving vehicles |
US10635108B2 (en) * | 2017-07-03 | 2020-04-28 | Baidu Usa Llc | Centralized scheduling system using global store for operating autonomous driving vehicles |
US20190042390A1 (en) * | 2017-08-01 | 2019-02-07 | Microsoft Technology Licensing, Llc | Focused execution of traced code in a debugger |
GB2565770B (en) | 2017-08-15 | 2019-09-18 | Advanced Risc Mach Ltd | Data processing systems |
US20190057017A1 (en) * | 2017-08-16 | 2019-02-21 | Microsoft Technology Licensing, Llc | Correlation Of Function Calls To Functions In Asynchronously Executed Threads |
US10474600B2 (en) | 2017-09-14 | 2019-11-12 | Samsung Electronics Co., Ltd. | Heterogeneous accelerator for highly efficient learning systems |
EP3707864A4 (en) | 2017-11-06 | 2021-08-18 | Pensando Systems Inc. | NETWORK SYSTEM WITH MATCH PROCESSING UNIT FOR TABLE-BASED ACTIONS |
WO2019118628A1 (en) * | 2017-12-12 | 2019-06-20 | Arch Systems Inc. | System and method for physical machine monitoring and analysis |
JP6955163B2 (ja) * | 2017-12-26 | 2021-10-27 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
EP3756088A4 (en) * | 2018-02-22 | 2021-12-01 | Pensando Systems Inc. | PROGRAMMABLE COMPUTER WITH I / O DEVICE INTERFACE |
US10636112B2 (en) * | 2018-03-28 | 2020-04-28 | Intel Corporation | Graphics processor register data re-use mechanism |
JP7236811B2 (ja) * | 2018-03-30 | 2023-03-10 | 株式会社デンソー | 情報処理装置 |
US11237946B2 (en) * | 2018-05-03 | 2022-02-01 | Sap Se | Error finder tool |
US12020168B2 (en) * | 2018-09-11 | 2024-06-25 | Apple Inc. | Compiling models for dedicated hardware |
US11468338B2 (en) | 2018-09-11 | 2022-10-11 | Apple Inc. | Compiling models for dedicated hardware |
EP3629271A1 (en) * | 2018-09-28 | 2020-04-01 | Marc Brandis AG | Electronic device and method for analyzing a transaction-processing system |
US11354254B2 (en) * | 2018-10-19 | 2022-06-07 | Nippon Telegraph And Telephone Corporation | Data processing system, central arithmetic processing apparatus, and data processing method |
US11126532B1 (en) * | 2018-11-14 | 2021-09-21 | Teledyne Lecroy, Inc. | Method and apparatus for a parallel, metadata-based trace analytics processor |
US10824538B2 (en) | 2019-01-22 | 2020-11-03 | Oracle International Corporation | Scalable incremental analysis using caller and callee summaries |
US11836256B2 (en) * | 2019-01-24 | 2023-12-05 | International Business Machines Corporation | Testing adversarial robustness of systems with limited access |
US11169886B2 (en) * | 2019-01-29 | 2021-11-09 | Sap Se | Modification of temporary database pages |
US10892971B2 (en) | 2019-03-12 | 2021-01-12 | Arch Systems Inc. | System and method for network communication monitoring |
US11281560B2 (en) * | 2019-03-19 | 2022-03-22 | Microsoft Technology Licensing, Llc | Input/output data transformations when emulating non-traced code with a recorded execution of traced code |
US11782816B2 (en) * | 2019-03-19 | 2023-10-10 | Jens C. Jenkins | Input/output location transformations when emulating non-traced code with a recorded execution of traced code |
US11657162B2 (en) * | 2019-03-22 | 2023-05-23 | Intel Corporation | Adversarial training of neural networks using information about activation path differentials |
US11036546B1 (en) | 2019-04-16 | 2021-06-15 | Xilinx, Inc. | Multi-threaded shared memory functional simulation of dataflow graph |
US11204745B2 (en) * | 2019-05-23 | 2021-12-21 | Xilinx, Inc. | Dataflow graph programming environment for a heterogenous processing system |
US11138019B1 (en) | 2019-05-23 | 2021-10-05 | Xilinx, Inc. | Routing in a compilation flow for a heterogeneous multi-core architecture |
US10860766B1 (en) | 2019-05-23 | 2020-12-08 | Xilinx, Inc. | Compilation flow for a heterogeneous multi-core architecture |
US10802807B1 (en) | 2019-05-23 | 2020-10-13 | Xilinx, Inc. | Control and reconfiguration of data flow graphs on heterogeneous computing platform |
US11727265B2 (en) * | 2019-06-27 | 2023-08-15 | Intel Corporation | Methods and apparatus to provide machine programmed creative support to a user |
US11516234B1 (en) * | 2019-07-08 | 2022-11-29 | Cisco Technology, Inc. | In-process correlation through class field injection |
US11068364B2 (en) * | 2019-07-12 | 2021-07-20 | Intelliflash By Ddn, Inc. | Predictable synchronous data replication |
US10949332B2 (en) | 2019-08-14 | 2021-03-16 | Microsoft Technology Licensing, Llc | Data race analysis based on altering function internal loads during time-travel debugging |
US11216446B2 (en) * | 2019-08-29 | 2022-01-04 | Snowflake Inc. | Identifying software regressions based on query retry attempts in a database environment |
US11016849B2 (en) * | 2019-09-04 | 2021-05-25 | Red Hat, Inc. | Kernel software raid support for direct-access file systems |
CN111427816A (zh) * | 2020-03-04 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种amp系统核间通讯方法、计算机设备及存储介质 |
US11216259B1 (en) * | 2020-03-31 | 2022-01-04 | Xilinx, Inc. | Performing multiple functions in single accelerator program without reload overhead in heterogenous computing system |
US11693795B2 (en) | 2020-04-17 | 2023-07-04 | Texas Instruments Incorporated | Methods and apparatus to extend local buffer of a hardware accelerator |
US20210382888A1 (en) * | 2020-06-08 | 2021-12-09 | Mongodb, Inc. | Hedged reads |
US11611588B2 (en) * | 2020-07-10 | 2023-03-21 | Kyndryl, Inc. | Deep learning network intrusion detection |
US11360918B1 (en) * | 2020-12-21 | 2022-06-14 | Otis Elevator Company | Real-time processing system synchronization in a control system |
US11604752B2 (en) | 2021-01-29 | 2023-03-14 | Arm Limited | System for cross-routed communication between functional units of multiple processing units |
DE102021102460A1 (de) | 2021-02-03 | 2022-08-04 | Ford Global Technologies, Llc | Verfahren zur Durchführung einer Simulation |
US11467811B1 (en) * | 2021-06-24 | 2022-10-11 | Marvell Asia Pte Ltd | Method and apparatus for generating metadata by a compiler |
US20230004365A1 (en) * | 2021-06-24 | 2023-01-05 | Marvell Asia Pte Ltd | Multistage compiler architecture |
US11537457B2 (en) * | 2021-06-25 | 2022-12-27 | Intel Corporation | Low latency remoting to accelerators |
US11941291B2 (en) * | 2021-09-02 | 2024-03-26 | Micron Technology, Inc. | Memory sub-system command fencing |
US20230134872A1 (en) * | 2021-10-29 | 2023-05-04 | Blackberry Limited | Thread state transitions |
US20220191003A1 (en) * | 2021-12-10 | 2022-06-16 | Tamas Mihaly Varhegyi | Complete Tree Structure Encryption Software |
KR20230092151A (ko) * | 2021-12-17 | 2023-06-26 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
CN114398019B (zh) * | 2022-01-24 | 2024-02-23 | 广州文石信息科技有限公司 | 屏幕更新请求的处理方法、装置及电子墨水屏设备 |
US20230305881A1 (en) * | 2022-02-02 | 2023-09-28 | SambaNova Systems, Inc. | Configurable Access to a Multi-Die Reconfigurable Processor by a Virtual Function |
US12026005B2 (en) * | 2022-10-18 | 2024-07-02 | Sap Se | Control mechanism of extract transfer and load (ETL) processes to improve memory usage |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US6115763A (en) | 1998-03-05 | 2000-09-05 | International Business Machines Corporation | Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit |
US20020065864A1 (en) | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US117274A (en) * | 1871-07-25 | Improvement in barrel-heads | ||
JP2738692B2 (ja) * | 1988-01-29 | 1998-04-08 | 株式会社日立製作所 | 並列化コンパイル方法 |
EP0396833A1 (en) * | 1989-05-12 | 1990-11-14 | International Business Machines Corporation | Trace facility for use in a multiprocessing environment |
JP3208870B2 (ja) * | 1992-10-30 | 2001-09-17 | 株式会社日立製作所 | データ分割パタンの評価方法 |
US5799142A (en) * | 1994-09-12 | 1998-08-25 | Nec Corporation | Debugging method and debugging system for multi-task programs |
US6170051B1 (en) * | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6539339B1 (en) * | 1997-12-12 | 2003-03-25 | International Business Machines Corporation | Method and system for maintaining thread-relative metrics for trace data adjusted for thread switches |
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
US20040154027A1 (en) * | 1998-10-14 | 2004-08-05 | Jean-Jacques Vandewalle | Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server |
JP2000132404A (ja) * | 1998-10-22 | 2000-05-12 | Matsushita Electric Ind Co Ltd | 命令列最適化装置 |
US6480818B1 (en) * | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
US6636950B1 (en) * | 1998-12-17 | 2003-10-21 | Massachusetts Institute Of Technology | Computer architecture for shared memory access |
JP2000293498A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | 分散環境におけるリモートデバッグシステムおよび記録媒体 |
US6748583B2 (en) * | 2000-12-27 | 2004-06-08 | International Business Machines Corporation | Monitoring execution of an hierarchical visual program such as for debugging a message flow |
US6857084B1 (en) * | 2001-08-06 | 2005-02-15 | Lsi Logic Corporation | Multiprocessor system and method for simultaneously placing all processors into debug mode |
US6862694B1 (en) * | 2001-10-05 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | System and method for setting and executing breakpoints |
US7047395B2 (en) * | 2001-11-13 | 2006-05-16 | Intel Corporation | Reordering serial data in a system with parallel processing flows |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US6941492B1 (en) * | 2002-02-05 | 2005-09-06 | Emc Corporation | Debugging tool for efficient switching between targets in a multi-processor environment |
US7080283B1 (en) * | 2002-10-15 | 2006-07-18 | Tensilica, Inc. | Simultaneous real-time trace and debug for multiple processing core systems on a chip |
US7765532B2 (en) * | 2002-10-22 | 2010-07-27 | Oracle America, Inc. | Inducing concurrency in software code |
US7243264B2 (en) * | 2002-11-01 | 2007-07-10 | Sonics, Inc. | Method and apparatus for error handling in networks |
US7222343B2 (en) * | 2003-01-16 | 2007-05-22 | International Business Machines Corporation | Dynamic allocation of computer resources based on thread type |
US7444546B2 (en) * | 2003-04-17 | 2008-10-28 | Arm Limited | On-board diagnostic circuit for an integrated circuit |
US7114042B2 (en) * | 2003-05-22 | 2006-09-26 | International Business Machines Corporation | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment |
US7840949B2 (en) * | 2003-11-03 | 2010-11-23 | Ramal Acquisition Corp. | System and method for data transformation using dataflow graphs |
EP1569104A3 (en) * | 2004-01-09 | 2006-05-03 | Interuniversitair Microelektronica Centrum Vzw | An automated method for performing parallelization of sequential code and a computerized system adapted therefore |
JP3901180B2 (ja) * | 2004-06-30 | 2007-04-04 | 日本電気株式会社 | プログラム並列化装置及びその方法並びにプログラム |
US7721069B2 (en) * | 2004-07-13 | 2010-05-18 | 3Plus1 Technology, Inc | Low power, high performance, heterogeneous, scalable processor architecture |
WO2006028520A1 (en) * | 2004-09-07 | 2006-03-16 | Starent Networks, Corp. | Migration of tasks in a computing system |
GB0420442D0 (en) * | 2004-09-14 | 2004-10-20 | Ignios Ltd | Debug in a multicore architecture |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
JP2006227706A (ja) * | 2005-02-15 | 2006-08-31 | Matsushita Electric Ind Co Ltd | プログラム開発装置およびプログラム開発プログラム |
US7665073B2 (en) * | 2005-04-18 | 2010-02-16 | Microsoft Corporation | Compile time meta-object protocol systems and methods |
US7689867B2 (en) * | 2005-06-09 | 2010-03-30 | Intel Corporation | Multiprocessor breakpoint |
US7827551B2 (en) * | 2005-09-21 | 2010-11-02 | Intel Corporation | Real-time threading service for partitioned multiprocessor systems |
US7793278B2 (en) * | 2005-09-30 | 2010-09-07 | Intel Corporation | Systems and methods for affine-partitioning programs onto multiple processing units |
US8490065B2 (en) * | 2005-10-13 | 2013-07-16 | International Business Machines Corporation | Method and apparatus for software-assisted data cache and prefetch control |
US9081609B2 (en) * | 2005-12-21 | 2015-07-14 | Xerox Corporation | Image processing system and method employing a threaded scheduler |
US8533680B2 (en) * | 2005-12-30 | 2013-09-10 | Microsoft Corporation | Approximating finite domains in symbolic state exploration |
US9038040B2 (en) * | 2006-01-25 | 2015-05-19 | International Business Machines Corporation | Method for partitioning programs between a general purpose core and one or more accelerators |
US20070250820A1 (en) * | 2006-04-20 | 2007-10-25 | Microsoft Corporation | Instruction level execution analysis for debugging software |
GB0613275D0 (en) * | 2006-07-04 | 2006-08-16 | Codeplay Software Ltd | Distributed computer system |
US20090150872A1 (en) * | 2006-07-04 | 2009-06-11 | George Russell | Dynamic code update |
US20080046875A1 (en) * | 2006-08-16 | 2008-02-21 | Gad Haber | Program Code Identification System and Method |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US9229726B2 (en) * | 2006-10-26 | 2016-01-05 | International Business Machines Corporation | Converged call flow and web service application integration using a processing engine |
US20080108899A1 (en) * | 2006-11-06 | 2008-05-08 | Nahi Halmann | Hand-held ultrasound system with single integrated circuit back-end |
EP2006784A1 (en) * | 2007-06-22 | 2008-12-24 | Interuniversitair Microelektronica Centrum vzw | Methods for characterization of electronic circuits under process variability effects |
US9223677B2 (en) * | 2008-06-11 | 2015-12-29 | Arm Limited | Generation of trace data in a multi-processor system |
-
2007
- 2007-05-11 GB GB0709182A patent/GB2443277B/en active Active
- 2007-08-24 JP JP2009533925A patent/JP5054115B2/ja not_active Expired - Fee Related
- 2007-08-24 CN CN2007800396948A patent/CN101529391B/zh active Active
- 2007-08-24 WO PCT/GB2007/003223 patent/WO2008050076A1/en active Application Filing
- 2007-08-24 DE DE602007009857T patent/DE602007009857D1/de active Active
- 2007-08-24 EP EP07789311A patent/EP2076837B1/en active Active
- 2007-08-24 KR KR1020097010591A patent/KR101325229B1/ko active IP Right Grant
- 2007-08-24 MY MYPI20091066A patent/MY144449A/en unknown
- 2007-09-06 TW TW096133294A patent/TWI407374B/zh active
- 2007-09-11 US US11/898,363 patent/US20080098207A1/en not_active Abandoned
- 2007-09-11 US US11/898,360 patent/US20080098208A1/en not_active Abandoned
- 2007-10-18 US US11/907,881 patent/US7809989B2/en active Active
- 2007-10-23 US US11/976,314 patent/US8250549B2/en active Active
- 2007-10-23 US US11/976,315 patent/US8190807B2/en active Active
-
2009
- 2009-02-26 IL IL197314A patent/IL197314A/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692193A (en) | 1994-03-31 | 1997-11-25 | Nec Research Institute, Inc. | Software architecture for control of highly parallel computer systems |
US6115763A (en) | 1998-03-05 | 2000-09-05 | International Business Machines Corporation | Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit |
US20020065864A1 (en) | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
Also Published As
Publication number | Publication date |
---|---|
US20080215768A1 (en) | 2008-09-04 |
KR20090082254A (ko) | 2009-07-29 |
US7809989B2 (en) | 2010-10-05 |
US20080098207A1 (en) | 2008-04-24 |
GB0709182D0 (en) | 2007-06-20 |
TWI407374B (zh) | 2013-09-01 |
JP2010507855A (ja) | 2010-03-11 |
IL197314A (en) | 2012-12-31 |
JP5054115B2 (ja) | 2012-10-24 |
TW200821938A (en) | 2008-05-16 |
US8190807B2 (en) | 2012-05-29 |
US20080114937A1 (en) | 2008-05-15 |
CN101529391B (zh) | 2011-06-15 |
MY144449A (en) | 2011-09-30 |
EP2076837A1 (en) | 2009-07-08 |
GB2443277B (en) | 2011-05-18 |
WO2008050076A1 (en) | 2008-05-02 |
US8250549B2 (en) | 2012-08-21 |
CN101529391A (zh) | 2009-09-09 |
US20080098208A1 (en) | 2008-04-24 |
DE602007009857D1 (de) | 2010-11-25 |
US20080098262A1 (en) | 2008-04-24 |
GB2443277A (en) | 2008-04-30 |
IL197314A0 (en) | 2009-12-24 |
EP2076837B1 (en) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101325229B1 (ko) | 비대칭 멀티프로세서 장치의 진단연산 수행 | |
US7707395B2 (en) | Data processing system with trace co-processor | |
US6988264B2 (en) | Debugging multiple threads or processes | |
JP3571976B2 (ja) | デバッグ装置及び方法並びにプログラム記録媒体 | |
US7415699B2 (en) | Method and apparatus for controlling execution of a child process generated by a modified parent process | |
KR102025078B1 (ko) | 단일 스텝 실행을 이용한 코드 진단 | |
US9223677B2 (en) | Generation of trace data in a multi-processor system | |
US7823019B2 (en) | Debug circuitry | |
JPH09503084A (ja) | 実行中のリアルタイムシステムにおけるエラー分析用トレーサシステム | |
JPH0744419A (ja) | マイコン開発支援装置 | |
US8468393B2 (en) | Triggering diagnostic operations within a data processing apparatus | |
Mathur et al. | Idea: an immersive debugger for actors | |
Ciabrini | Debugging scheme fair threads | |
JPH03141436A (ja) | デバッグ装置 | |
JPS6382525A (ja) | トレ−ス機能付マイクロプロセツサ |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160929 Year of fee payment: 4 |