서지주요정보
Real-time trace for performance analysis in OR1200 = 성능 분석을 위한 리얼타임 트레이스
서명 / 저자 Real-time trace for performance analysis in OR1200 = 성능 분석을 위한 리얼타임 트레이스 / Byung-Chul Hong.
발행사항 [대전 : 한국과학기술원, 2008].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8019251

소장위치/청구기호

학술문화관(문화관) 보존서고

MEE 08091

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

The most popular method of software debugging in hardware like FPGA or Silicon chip is start/stop method using JTAG. However, there are some cases that it is impossible to use start/stop method both in real-time systems and non-real-time systems. To cover these cases, software engineers use real-time trace. Until a several years ago real-time trace was only available using a Logic Analyzer or In Circuit Emulators. These tools were expensive and difficult to use. Also, as processors became more complex and more deeply embedded, it became less and less practical to make the signals required to make trace be connected in processor. In the last few years many embedded processors have included on chip trace unit. ETM(Embedded Trace Macrocell)[2] of ARM processor and IEEE-ISTO Standard Nexus5001[1] are representative. Until now the use of real-time trace is focused on the software debugging. Performance analysises for software optimization have been provided by co-simulation tools. This thesis proposes the method to support performance analysis of software by real hardware using real-time trace. This method is more accurate and faster than co-simulation tools. Cycle accurate performance analysises can be used at software development where cycle count is very critical. To support performance analysis and debugging features we designed a new trace specification. And we propose some new methods to decrease the generation speed of trace and to reduce area size of real-time trace unit. We verified all tracing system in FPGA using iNCITE board[17]. Experimental result shows four kinds of performance analysises in GUI.

시물레이션으로 하드웨어 시스템 전체의 동작을 정확히 모델링 하는 것은 불가능하다. 가능하다고 할 경우 상당히 많은 시간이 필요할 것이다. 하드웨어상에서의 소프트웨어 디버깅 환경은 디자인시간을 줄이는데 있어 상당히 중요한 부분이다. 현재까지 이러한 디버깅은 대부분 JTAG을 이용한 스타트/스탑 방식을 통해 이루어졌다. 하지만 시스템을 안전하게 멈출 수가 없거나 버그가 타이밍에 의존하는 경우 시스템을 멈추는 것이 불가능하다. 이러한 경우 리얼타임 트레이스를 사용하여 디버깅을 진행하게 된다. 몇 년 전까지 리얼타임 트레이스는 로직 아날라이저를 통해 얻을 수 있었다. 하지만 장비가 비싸고 사용이 어렵고 특히 시스템온칩 환경에서는 어드레스 버스와 데이터 버스를 칩 외부에서 볼 수 가 없기 때문에 사용이 불가능해 지게 되었다. 이로 인해 현재는 대부분의 임베디드 프로세서들이 칩내부에 리얼타임 트레이스를 발생시켜 주는 온칩트레이서들을 추가하고 있다. 이 논문에서는 오픈리스크라는 오픈 소스의 32bit 임베디드 프로세서에 리얼타임 트레이스 유닛을 추가하였다. 아직까지 상용화 되어 있는 트레이서들의 경우 소프트웨어 디버깅의 목적으로 디자인 되고 사용되어 왔다. 하지만 여기서 디자인 된 리얼타임 트레이스 유닛은 소프트웨어의 디버깅뿐만 아니라 소프트웨어의 최적화를 위한 성능 분석(performance analysis)을 지원하고 있다. 성능 분석의 경우 아직까지 전적으로 코시물레이션 툴들에 의존해 왔다. 하지만 이는 시물레이션 기반으로 진행되므로 하드웨어에 비해 정확하지 않고 시간이 많이 걸린다는 단점이 있다. 하드웨어의 동작에서 얻은 정보를 이용하여 성능 분석을 보여줌으로써 훨씬 더 정확한 성능 분석을 실시간으로 보여준다. 싸이클 단위로 정확한 성능 분석의 경우 싸이클 수가 굉장히 중요한 소프트웨어의 개발의 경우에 상당히 유용하게 쓰일 것이다. 성능 분석의 지원을 위해 트레이스의 스펙을 새로 디자인 하였고 압축 성능은 표 3.1에 나와있다. 하지만 성능 분석의 지원을 위해서는 여전히 상당히 많은 양의 트레이스가 필요하게 된다. 이 문제의 해결을 위해 하드웨어 시스템의 클럭 스피드를 다이나믹하게 조절하도록 하였고, 프로그램 트레이스의 양을 줄이기 위한 새로운 방법을 제안하였다. 디자인한 트레이스 유닛의 검증을 위하여 인사이트라는 자일링스 스파르탄3 FPGA를 포함하는 보드를 사용하였고, 적용 소프트웨어로는 엠피3 디코딩 프로그램을 이용하였다. 실시간으로 성능 분석이 정확히 나타나는 것을 확인하였다. 소프트웨어의 디버깅은 물론 정확하고 빠른 성능 분석을 제공하여 소프트웨어의 분석과 더 나아가 최적화를 이룰 수 있는 환경을 지원하고자 하는 목적으로 연구되었다.

서지기타정보

서지기타정보
청구기호 {MEE 08091
형태사항 vii, 38 p. : 삽화 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 홍병철
지도교수의 영문표기 : Chong-Min Kyung
지도교수의 한글표기 : 경종민
학위논문 학위논문(석사) - 한국과학기술원 : 전기및전자공학전공,
서지주기 References : p. 37-38
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서