서지주요정보
Enhancing performance of HW/SW co-simulation and co-emulation by reducing communication overhead = 통신 오버헤드 축소를 통한 하드웨어/소프트웨어 통합 시뮬레이션/에뮬레이션의 성능 향상
서명 / 저자 Enhancing performance of HW/SW co-simulation and co-emulation by reducing communication overhead = 통신 오버헤드 축소를 통한 하드웨어/소프트웨어 통합 시뮬레이션/에뮬레이션의 성능 향상 / Moo-Kyoung Chung.
발행사항 [대전 : 한국과학기술원, 2006].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8017082

소장위치/청구기호

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

DEE 06034

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

For system-level simulation of a complex system-on-chip design, multiple hardware simulators and emulators can be combined to work together. The simulation performance in this case is often limited by the communication overhead between simulators and emulators. To improve simulation performance in this heterogeneous simulation environment, this thesis proposes three novel methods: the first method is simulator scheduling based on the prediction of communication between simulators, the second is distributed communication modeling, and the third is a unified simulation platform for hardware and software using SystemC single kernel. To reduce the amount of communication between the simulators the first method finds time interval during which there are no transactions among simulators through a dynamic prediction of transaction occurrence time for both software and hardware models. The proposed simulator scheduling algorithm allows the simulator to work alone without interaction with others when there is no transaction. Unlike existing multiprocessors simulation tools that use a centralized server, which manages clocks for all processor models and inter-processor communication, the second method separates the synchronization and communication and distributes the large portion of the tasks to each simulation model. The amount of synchronization is reduced, and the message passing among the processor models through time-consuming Inter-Process Communication (IPC) is removed. The unified simulation platform in the third method provides fast and accurate high-level co-simulation using SystemC for hardware and legacy C for software. Automatically modified legacy C synchronizes with SystemC clock events, and communicates with other modules through IO (Input/Output) variables and transaction level bus models. A generic multithread scheduler and APIs (Application Programming Interface) are supported for multithreaded real-time applications. In addition, this thesis introduces two simulation techniques: One is for fast parallel multiprocessor simulation by extending lookahead through the software execution path prediction in the first method; the other is reducing startup cost of compiled instruction set simulator by using object code translation.

VLSI 테크놀로지의 발전으로 시스템 전체가 하나의 칩으로 구현되는 시스템 온 칩 (SoC) 설계가 일반화 되고 있다. SoC 설계는 시스템의 구성 요소들이 각기 다른 언어로 기술되고 다른 시뮬레이터에서 동작하는 경우가 많기 때문에, 시스템 수준에서의 검증을 위해서는 이들 시뮬레이터들을 함께 묶어서 동작시키는 통합 시뮬레이션 환경이 필요하다. 하지만 통합 시뮬레이션의 속도는 각각의 시뮬레이터 성능이 좋음에도 불구하고 시뮬레이터간의 커뮤니케이션 양이 너무 많기 때문에 매우 느린 실정이다. 이 논문에서는 시뮬레이터간의 커뮤니케이션 양을 줄여서 전체 시뮬레이션 속도를 향상시키는 세 가지 방법을 제시하였다. 첫번째 방법은 시뮬레이터들 사이의 커뮤니케이션이 필요 없는 구간을 찾아내고 그 구간 동안은 시뮬레이터들이 서로 방해하지 않으면서 최대 속도로 동작하게 하는 기술이다. 이를 위해 시뮬레이터 스케줄링 알고리듬을 소개하였으며, 각각의 시뮬레이터에서 동작하는 하드웨어 혹은 소프트웨어 디자인에서의 커뮤니케이션이 필요 없는 구간을 예측하는 방법을 제시하였다. 소프트웨어 디자인의 커뮤니케이션 예측은 순차적으로 수행되는 소프트웨어의 특성을 이용하여 수행 경로를 예측하는 정형화된 수식 패턴을 만들고 이를 시뮬레이션 중에 계산하여 이루어진다. 하드웨어 디자인의 예측은 하드웨어 로직의 분석을 통해 하드웨어 역추적 트리 (Backward Tracking Tree)를 만들어내고 이를 다시 수식 혹은 로직으로 만들어 시뮬레이션 중에 계산해 얻는다. 이를 통해 전체 커뮤니케이션 양을 기존의 lock-step 시뮬레이션에 비해 15 배에서 67 배로 줄였으며, 그 결과 시뮬레이션 속도는 4 배에서 40 배로 증가하였다. 두번째 방법은 멀티프로세서 시스템의 시뮬레이션을 위한 방법으로, 시뮬레이터간의 동기화 주기를 늘리고 버스 성능 모델을 각각의 프로세서 시뮬레이터에 분산시킴으로써 커뮤니케이션 양을 줄인다. 매번 변하는 동기화 구간을 처리하기 위해 세마포 큐를 제안하였으며, 상위수준의 버스 동작 정보를 시뮬레이터들이 공유하기 위해 공유 메모리 큐를 구현하였다. 이 방법으로 최소 10 배 이상의 속도 향상을 실험을 통해 보였다. 세번째 방법에서는 SystemC 단일 커널을 이용한 통합 시뮬레이션 환경을 소개하였다. 전체 시뮬레이션을 하나의 호스트 프로세스에서 동작시켜 프로세스간의 통신 (Inter-Process Communication) 부담을 없앴으며, 트랜잭션 수준 버스 모델을 통해 속도 향상을 가져왔다. 네이티브 코드 수행 (direct execution)을 사용해 프로세서 시뮬레이터 없이 통합 시뮬레이션 하는 기술에 초점을 두고 하드웨어/소프트웨어 동기화와 통신 방법을 제시하였다. 또한 이를 위한 소프트웨어 디자인 수정을 자동화하여 설계자가 시뮬레이션을 위한 코딩이나 수정 없이 시뮬레이션할 수 있도록 하였다. 추가적으로, 첫번째 방법에서 제시한 소프트웨어 수행 경로 예측을 병렬 멀티프로세서 시뮬레이션에 적용하여 기존의 보존적 비동기화 (conservative asynchronous) 시간 제어의 룩어헤드 (lookahead)를 늘리는 방법을 제안하였으며, 마지막으로 컴파일드 프로세서 시뮬레이터 (compiled-ISS)의 가장 큰 문제점인 긴 컴파일 시간을 단축하는 방법을 소개하였다.

서지기타정보

서지기타정보
청구기호 {DEE 06034
형태사항 viii, 90 p. : 삽화 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 정무경
지도교수의 영문표기 : Chong-Min Kyung
지도교수의 한글표기 : 경종민
수록잡지명 : "Enhancing performance of HW/SW co-simulation and co-emulation by reducing communication overhead". IEEE transactions on computers, (2006)
학위논문 학위논문(박사) - 한국과학기술원 : 전기및전자공학전공,
서지주기 Reference : p. 84-90
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서