KR101738640B1 - 트레이스 데이터 압축 장치 및 방법 - Google Patents
트레이스 데이터 압축 장치 및 방법 Download PDFInfo
- Publication number
- KR101738640B1 KR101738640B1 KR1020110005141A KR20110005141A KR101738640B1 KR 101738640 B1 KR101738640 B1 KR 101738640B1 KR 1020110005141 A KR1020110005141 A KR 1020110005141A KR 20110005141 A KR20110005141 A KR 20110005141A KR 101738640 B1 KR101738640 B1 KR 101738640B1
- Authority
- KR
- South Korea
- Prior art keywords
- trace data
- function unit
- unit
- information
- valid
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 트레이스 데이터를 도시한다.
도 3은 본 발명의 일 실시예에 따른 트레이스 데이터 압축 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따른 유효 트레이스 데이터를 도시한다.
도 5는 본 발명의 일 실시예에 따른 유효 트레이스 데이터 검출 방법을 도시한다.
도 6은 본 발명의 일 실시예에 따른 트레이스 데이터 압축 방법을 도시한다.
Claims (13)
- 재구성가능 프로세서에 포함된 각각의 펑션 유닛(function unit, FU)의 전체 트레이스 데이터(trace data)에서 동작 중인 펑션 유닛에 대응되는 트레이스 데이터를 유효 트레이스 데이터로 검출하는 검출부; 및
상기 검출된 유효 트레이스 데이터를 압축하는 압축부를 포함하고,
상기 트레이스 데이터는,
각 펑션 유닛에 할당되는 인스트럭션 정보 및 펑션 유닛들 간의 연결 정보를 포함하는 구성정보 별로 생성되며, 각 펑션 유닛의 메모리 접근 정보를 포함하는 트레이스 데이터 압축 장치.
- 제 1 항에 있어서, 상기 검출부는
상기 재구성가능 프로세서의 컴파일러가 제공하는 스케줄 정보를 이용하여 전체 트레이스 데이터에서 상기 유효 트레이스 데이터를 검출하는 트레이스 데이터 압축 장치.
- 제 2 항에 있어서, 상기 스케줄 정보는
NOP 명령어가 매핑된 펑션 유닛의 식별 정보 및 파이프라이닝을 위한 프레디킷(predicate) 명령어가 매핑된 펑션 유닛의 식별 정보 중 적어도 하나를 포함하는 트레이스 데이터 압축 장치.
- 제 1 항에 있어서, 상기 검출부는
전체 펑션 유닛들 중에서 NOP 명령어가 매핑된 펑션 유닛을 확인하고, 확인된 펑션 유닛에 대응되는 트레이스 데이터를 제외한 나머지 트레이스 데이터를 상기 동작 중인 펑션 유닛의 트레이스 데이터로 검출하는 트레이스 데이터 압축 장치.
- 제 1 항에 있어서, 상기 검출부는
전체 펑션 유닛들 중에서 파이프라이닝을 위한 프레디킷(predicate) 명령어가 매핑된 펑션 유닛을 확인하고, 확인된 펑션 유닛에 대응되는 트레이스 데이터를 제외한 나머지 트레이스 데이터를 상기 동작 중인 펑션 유닛의 트레이스 데이터로 검출하는 트레이스 데이터 압축 장치.
- 제 1 항에 있어서, 상기 압축부는
상기 유효 트레이스 데이터의 검출과 관련된 추가 정보를 생성하고, 생성된 추가 정보와 상기 유효 트레이스 데이터를 함께 압축해서 압축 트레이스 데이터를 생성하는 트레이스 데이터 압축 장치.
- 제 6 항에 있어서, 상기 압축부는
상기 재구성가능 프로세서의 구성 정보 또는 실행 사이클 별로 상기 압축 트레이스 데이터를 생성하는 트레이스 데이터 압축 장치.
- 제 6 항에 있어서, 상기 추가 정보는
상기 재구성가능 프로세서의 프로그램 카운터 값, 동작 중인 펑션 유닛의 식별 정보, 동작 중이 아닌 펑션 유닛의 식별 정보, 상기 재구성가능 프로세서의 컴파일러가 제공하는 스케줄 정보, 압축 유형 중 적어도 하나를 포함하는 트레이스 데이터 압축 장치.
- 재구성가능 프로세서에 포함된 각각의 펑션 유닛(function unit, FU)의 전체 트레이스 데이터(trace data)에서 동작 중인 펑션 유닛에 대응되는 트레이스 데이터를 유효 트레이스 데이터로 검출하는 단계; 및
상기 검출된 유효 트레이스 데이터를 압축하는 단계를 포함하고,
상기 트레이스 데이터는,
각 펑션 유닛에 할당되는 인스트럭션 정보 및 펑션 유닛들 간의 연결 정보를 포함하는 구성정보 별로 생성되며, 각 펑션 유닛의 메모리 접근 정보를 포함하는 트레이스 데이터 압축 방법.
- 제 9 항에 있어서, 상기 유효 트레이스 데이터를 검출하는 단계는
상기 재구성가능 프로세서의 컴파일러가 제공하는 스케줄 정보를 이용하여 전체 트레이스 데이터에서 상기 유효 트레이스 데이터를 검출하는 트레이스 데이터 압축 방법.
- 제 9 항에 있어서, 상기 유효 트레이스 데이터를 검출하는 단계는
전체 펑션 유닛들 중에서 NOP 명령어가 매핑된 펑션 유닛을 확인하고, 확인된 펑션 유닛에 대응되는 트레이스 데이터를 제외한 나머지 트레이스 데이터를 상기 동작 중인 펑션 유닛의 트레이스 데이터로 검출하는 트레이스 데이터 압축 방법.
- 제 9 항에 있어서, 상기 유효 트레이스 데이터를 검출하는 단계는
전체 펑션 유닛들 중에서 파이프라이닝을 위한 프레디킷(predicate) 명령어가 매핑된 펑션 유닛을 확인하고, 확인된 펑션 유닛에 대응되는 트레이스 데이터를 제외한 나머지 트레이스 데이터를 상기 동작 중인 펑션 유닛의 트레이스 데이터로 검출하는 트레이스 데이터 압축 방법.
- 제 9 항에 있어서, 상기 유효 트레이스 데이터를 압축하는 단계는
상기 유효 트레이스 데이터의 검출과 관련된 추가 정보를 생성하고, 생성된 추가 정보와 상기 유효 트레이스 데이터를 함께 압축해서 압축 트레이스 데이터를 생성하는 트레이스 데이터 압축 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110005141A KR101738640B1 (ko) | 2011-01-18 | 2011-01-18 | 트레이스 데이터 압축 장치 및 방법 |
| US13/177,823 US9152422B2 (en) | 2011-01-18 | 2011-07-07 | Apparatus and method for compressing trace data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110005141A KR101738640B1 (ko) | 2011-01-18 | 2011-01-18 | 트레이스 데이터 압축 장치 및 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20120083800A KR20120083800A (ko) | 2012-07-26 |
| KR101738640B1 true KR101738640B1 (ko) | 2017-05-24 |
Family
ID=46491649
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020110005141A Active KR101738640B1 (ko) | 2011-01-18 | 2011-01-18 | 트레이스 데이터 압축 장치 및 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9152422B2 (ko) |
| KR (1) | KR101738640B1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020123173A1 (en) * | 2018-12-14 | 2020-06-18 | Advanced Micro Devices, Inc. | Lossy significance compression with lossy restoration |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130066402A (ko) * | 2011-12-12 | 2013-06-20 | 삼성전자주식회사 | 트레이스 데이터 저장 장치 및 방법 |
| KR101962248B1 (ko) * | 2012-03-16 | 2019-03-27 | 삼성전자주식회사 | 재구성 가능 프로세서의 검증 지원 장치 및 방법 |
| CN104035765B (zh) * | 2014-05-22 | 2017-03-15 | 烽火通信科技股份有限公司 | 一种嵌入式系统上下文的分析方法 |
| US9524227B2 (en) | 2014-07-09 | 2016-12-20 | Intel Corporation | Apparatuses and methods for generating a suppressed address trace |
| KR102247529B1 (ko) * | 2016-09-06 | 2021-05-03 | 삼성전자주식회사 | 전자 장치, 재구성 가능 프로세서 및 그 제어 방법들 |
| US9983978B1 (en) | 2017-03-08 | 2018-05-29 | Microsoft Technology Licensing, Llc | Querying an indexed time-travel trace |
| US9934127B1 (en) | 2017-03-08 | 2018-04-03 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of key frames for replay responsiveness |
| US10185645B2 (en) | 2017-03-08 | 2019-01-22 | Microsoft Technology Licensing, Llc | Resource lifetime analysis using a time-travel trace |
| US9959194B1 (en) | 2017-03-08 | 2018-05-01 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of memory snapshots for replay responsiveness |
| US9940369B1 (en) | 2017-03-08 | 2018-04-10 | Microsoft Technology Licensing, Llc | Searching an indexed time-travel trace |
| US9934126B1 (en) | 2017-03-08 | 2018-04-03 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of reverse lookup data structures |
| US10282274B2 (en) | 2017-06-14 | 2019-05-07 | Microsoft Technology Licensing, Llc | Presenting differences between code entity invocations |
| US11070563B2 (en) * | 2018-07-11 | 2021-07-20 | International Business Machines Corporation | Trace-based transaction validation and commitment |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030196197A1 (en) | 2002-04-12 | 2003-10-16 | Chen Fu | Methods and systems for integrated scheduling and resource management for a compiler |
| US20060225050A1 (en) * | 2001-04-30 | 2006-10-05 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3629181B2 (ja) * | 2000-03-28 | 2005-03-16 | Necマイクロシステム株式会社 | プログラム開発支援装置 |
| US6681353B1 (en) | 2000-07-05 | 2004-01-20 | Emc Corporation | Methods and apparatus for obtaining a trace of a digital signal within a field programmable gate array device |
| JP3609794B2 (ja) * | 2002-03-26 | 2005-01-12 | 株式会社東芝 | トレースデータ圧縮装置、トレースデータ圧縮方法及びトレースデータ圧縮回路を内蔵したマイクロコンピュータ |
| US7159101B1 (en) * | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
| US7543186B2 (en) | 2004-09-13 | 2009-06-02 | Sigmatel, Inc. | System and method for implementing software breakpoints |
| US7496902B2 (en) * | 2005-03-17 | 2009-02-24 | International Business Machines Corporation | Data and instruction address compression |
| US7886198B2 (en) * | 2005-05-16 | 2011-02-08 | Texas Instruments Incorporated | Method and system of identifying overlays used by a program |
| US8001427B2 (en) * | 2005-05-16 | 2011-08-16 | Texas Instruments Incorporated | Method and system of indexing into trace data based on entries in a log buffer |
| US8037285B1 (en) * | 2005-09-28 | 2011-10-11 | Oracle America, Inc. | Trace unit |
| JP2009516254A (ja) * | 2005-11-15 | 2009-04-16 | エヌエックスピー ビー ヴィ | 命令を実行するための処理システムおよび方法 |
| US8250542B1 (en) * | 2006-01-03 | 2012-08-21 | Altera Corporation | Method and apparatus for performing trace data compression |
| KR20080076020A (ko) | 2007-02-14 | 2008-08-20 | 주식회사 하이닉스반도체 | 프로그램 카운터 |
| US7861070B2 (en) * | 2008-06-12 | 2010-12-28 | National Tsing Hua University | Trace compression method for debug and trace interface wherein differences of register contents between logically adjacent registers are packed and increases of program counter addresses are categorized |
| US8176366B2 (en) * | 2009-04-03 | 2012-05-08 | Arm Limited | Trace synchronization |
| US20110289485A1 (en) * | 2010-05-21 | 2011-11-24 | International Business Machines Corporation | Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip |
-
2011
- 2011-01-18 KR KR1020110005141A patent/KR101738640B1/ko active Active
- 2011-07-07 US US13/177,823 patent/US9152422B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060225050A1 (en) * | 2001-04-30 | 2006-10-05 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
| US20030196197A1 (en) | 2002-04-12 | 2003-10-16 | Chen Fu | Methods and systems for integrated scheduling and resource management for a compiler |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020123173A1 (en) * | 2018-12-14 | 2020-06-18 | Advanced Micro Devices, Inc. | Lossy significance compression with lossy restoration |
| US11342933B2 (en) | 2018-12-14 | 2022-05-24 | Advanced Micro Devices, Inc. | Lossy significance compression with lossy restoration |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20120083800A (ko) | 2012-07-26 |
| US20120185675A1 (en) | 2012-07-19 |
| US9152422B2 (en) | 2015-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101738640B1 (ko) | 트레이스 데이터 압축 장치 및 방법 | |
| KR101702651B1 (ko) | 하드웨어 포인터를 이용한 simd 코어 내 분기 해법 | |
| EP2680132B1 (en) | Staged loop instructions | |
| JP4489102B2 (ja) | プロセッサ構造および応用の最適化のためのプロファイラ | |
| EP2951682B1 (en) | Hardware and software solutions to divergent branches in a parallel pipeline | |
| US20160321039A1 (en) | Technology mapping onto code fragments | |
| KR102013582B1 (ko) | 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법 | |
| US20130067196A1 (en) | Vectorization of machine level scalar instructions in a computer program during execution of the computer program | |
| CN117193861A (zh) | 指令处理方法、装置、计算机设备和存储介质 | |
| US9383981B2 (en) | Method and apparatus of instruction scheduling using software pipelining | |
| Ferreira et al. | A run-time modulo scheduling by using a binary translation mechanism | |
| KR102174335B1 (ko) | 재구성 가능 프로세서, 재구성 가능 프로세서의 구성 메모리의 사용을 최적화하는 방법 및 장치 | |
| KR101910934B1 (ko) | 루프의 프롤로그 또는 에필로그의 비유효 연산을 처리하는 장치 및 방법 | |
| KR20150041541A (ko) | 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치 | |
| US9141498B2 (en) | Method for verification of reconfigurable processor | |
| KR102168175B1 (ko) | 재구성 가능 프로세서, 재구성 가능 프로세서의 구성 메모리의 사용을 최적화하는 방법 및 장치 | |
| So et al. | Complementing software pipelining with software thread integration | |
| Lozano et al. | A deeply embedded processor for smart devices | |
| Palkovic et al. | Dealing with data dependent conditions to enable general global source code transformations | |
| KR102197071B1 (ko) | 재구성 가능 프로세서, 재구성 가능 프로세서의 구성 메모리의 사용을 최적화하는 방법 및 장치 | |
| KR102185280B1 (ko) | 재구성 가능 프로세서, 재구성 가능 프로세서의 구성 메모리의 사용을 최적화하는 방법 및 장치 | |
| Di Biagio et al. | Architecture Optimization of Application-Specific Implicit Instructions | |
| Donati et al. | A New Space Digital Signal Processor Design | |
| Choi et al. | Expanding CGA Acceleration Regions Using Compiler-Driven Architecture Extensions | |
| Jedermann | Master Seminar Application-specific Computing Features in Processors |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20110118 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20151109 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20110118 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160826 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170224 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170516 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20170517 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20200416 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20210419 Start annual number: 5 End annual number: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220419 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240513 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250414 Start annual number: 9 End annual number: 9 |