맞춤기술찾기

이전대상기술

멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치 및 방법

  • 기술번호 : KST2019010528
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치 및 방법이 개시된다. 본 발명에 따른 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치에 의해 수행되는 동적 바이너리 인스트루멘테이션 방법은, 대상 프로그램을 실행하는 실행 코어에 브레이크 포인트를 설정하는 단계, 상기 브레이크 포인트에 진입하여 디버그 이벤트를 발생한 상기 실행 코어로부터, 상기 디버그 이벤트를 수신하는 단계, 상기 디버그 이벤트가 발생한 상기 브레이크 포인트를 확인하고, 상기 브레이크 포인트에 상응하는 인스트루멘트 코드를 실행하는 단계, 상기 인스트루멘트 코드의 실행 결과를 저장하는 단계, 그리고 다음 코드 블록에 상기 브레이크 포인트를 설정하고, 상기 실행 코어를 재실행하는 단계를 포함한다.
Int. CL G06F 11/36 (2006.01.01)
CPC G06F 11/3644(2013.01)
출원번호/일자 1020170177828 (2017.12.22)
출원인 한국전자통신연구원
등록번호/일자
공개번호/일자 10-2019-0076217 (2019.07.02) 문서열기
공고번호/일자
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 공개
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2020.11.09)
심사청구항수 20

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 이상록 대전광역시 유성구
2 이정희 대전광역시 유성구
3 김종규 대전광역시 유성구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 한양특허법인 대한민국 서울특별시 강남구 논현로**길 **, 한양빌딩 (도곡동)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
최종권리자 정보가 없습니다
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2017.12.22 수리 (Accepted) 1-1-2017-1280962-00
2 [심사청구]심사청구서·우선심사신청서
2020.11.09 수리 (Accepted) 1-1-2020-1192594-07
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치에 의해 수행되는 동적 바이너리 인스트루멘테이션 방법에 있어서, 대상 프로그램을 실행하는 실행 코어에 브레이크 포인트를 설정하는 단계, 상기 브레이크 포인트에 진입하여 디버그 이벤트를 발생한 상기 실행 코어로부터, 상기 디버그 이벤트를 수신하는 단계, 상기 디버그 이벤트가 발생한 상기 브레이크 포인트를 확인하고, 상기 브레이크 포인트에 상응하는 인스트루멘트 코드를 실행하는 단계, 상기 인스트루멘트 코드의 실행 결과를 저장하는 단계, 그리고 다음 코드 블록에 상기 브레이크 포인트를 설정하고, 상기 실행 코어를 재실행하는 단계를 포함하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
2 2
제1항에 있어서, 상기 인스트루멘트 코드를 실행하는 단계는, 상기 실행 코어가 진입한 상기 브레이크 포인트에 상응하는 상기 인스트루멘트 코드를 검색하는 단계, 그리고 검색된 상기 인스트루멘트 코드를 메모리에 탑재하여 실행하는 단계를 포함하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
3 3
제2항에 있어서, 상기 인스트루멘트 코드의 실행 결과를 저장하는 단계는, 실행코어 컨텍스트 읽기 명령, 인스트럭션 송신 명령, 인스트럭션 실행 명령 중 적어도 어느 하나에 대한 응답인 실행코어 컨텍스트 값 및 인스트럭션 실행 결과 중 적어도 어느 하나를 수집하여 저장하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
4 4
제3항에 있어서, 상기 인스트루멘트 코드의 실행 결과를 저장하는 단계는, 상기 실행 코어가 진입한 상기 브레이크 포인트의 정보, 상기 브레이크 포인트의 개수, 상기 브레이크 포인트의 설정 여부 및 상기 브레이크 포인트의 설정값 중 적어도 어느 하나를 포함하는 상기 브레이크 포인트의 상태 정보를 수신하여 저장하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
5 5
제4항에 있어서, 상기 다음 코드 블록에 상기 브레이크 포인트를 설정하고, 상기 실행 코어를 재실행하는 단계는, 상기 브레이크 포인트의 상태 정보 및 상기 메모리 중 적어도 어느 하나를 기반으로, 상기 다음 코드 블록의 위치를 계산하는 단계, 상기 인스트루멘트 코드를 실행한 현재의 상기 브레이크 포인트를 해제하는 단계, 상기 다음 코드 블록의 위치를 기반으로 상기 다음 코드 블록에 상기 브레이크 포인트를 설정하는 단계를 포함하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
6 6
제1항에 있어서, 상기 코드 블록은, 기본 블록 단위, 인스트럭션 단위, 함수 단위 및 이미지 단위 중 적어도 어느 하나인 인스트루멘트 단위인 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
7 7
제1항에 있어서, 상기 디버그 이벤트 발생 시, 상기 실행 코어를 정지 모드(Halt mode)로 전환하는 단계, 그리고 상기 다음 코드 블록에 상기 브레이크 포인트를 설정한 후, 상기 실행 코어를 정상 모드(Normal mode)로 전환하여 상기 실행 코어를 재실행하는 단계를 더 포함하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
8 8
제7항에 있어서, 상기 대상 프로그램의 마지막 코드를 실행할 때까지, 상기 다음 코드 블록에 상기 브레이크 포인트를 설정한 후 상기 실행 코어를 재실행하는 단계를 반복하여 수행하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
9 9
제1항에 있어서, 상기 브레이크 포인트를 설정하는 단계는, 상기 실행 코어에 하나 이상의 하드웨어 브레이크 포인트를 설정하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 방법
10 10
대상 프로그램을 실행하는 실행 코어에 브레이크 포인트를 설정하고, 상기 브레이크 포인트에 진입하여 디버그 이벤트를 발생한 상기 실행 코어로부터, 상기 디버그 이벤트를 수신하는 실행 코어 제어부, 그리고 상기 디버그 이벤트가 발생한 상기 브레이크 포인트를 확인하고, 상기 브레이크 포인트에 상응하는 인스트루멘트 코드를 실행하며, 상기 인스트루멘트 코드의 실행 결과를 저장하고, 다음 코드 블록에 상기 브레이크 포인트를 설정하며, 상기 실행 코어를 재실행하는 인스트루멘트 실행부를 포함하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
11 11
제10항에 있어서, 상기 인스트루멘트 실행부는, 상기 실행 코어가 진입한 상기 브레이크 포인트에 상응하는 상기 인스트루멘트 코드를 검색하는 인스트루멘트 코드 검색 모듈, 그리고 검색된 상기 인스트루멘트 코드를 메모리에 탑재하여 실행하는 인스트루멘트 코드 실행 모듈을 포함하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
12 12
제11항에 있어서, 상기 인스트루멘트 코드 실행 모듈은, 실행코어 컨텍스트 읽기 명령, 인스트럭션 송신 명령, 인스트럭션 실행 명령 중 적어도 어느 하나에 대한 응답인 실행코어 컨텍스트 값 및 인스트럭션 실행 결과 중 적어도 어느 하나를 수집하여 저장하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
13 13
제12항에 있어서, 상기 인스트루멘트 실행부는, 상기 실행 코어가 진입한 상기 브레이크 포인트의 정보, 상기 브레이크 포인트의 개수, 상기 브레이크 포인트의 설정 여부 및 상기 브레이크 포인트의 설정값 중 적어도 어느 하나를 포함하는 상기 브레이크 포인트의 상태 정보를 수신하여 저장하는 코드 블록 제어 모듈을 더 포함하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
14 14
제13항에 있어서, 상기 코드 블록 제어 모듈은, 상기 브레이크 포인트의 상태 정보 및 상기 메모리 중 적어도 어느 하나를 기반으로 상기 다음 코드 블록의 위치를 계산하고, 상기 인스트루멘트 코드를 실행한 현재의 상기 브레이크 포인트를 해제하며, 상기 다음 코드 블록의 위치를 기반으로 상기 다음 코드 블록에 상기 브레이크 포인트를 설정하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
15 15
제10항에 있어서, 상기 코드 블록은, 기본 블록 단위, 인스트럭션 단위, 함수 단위 및 이미지 단위 중 적어도 어느 하나인 인스트루멘트 단위인 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
16 16
제10항에 있어서, 상기 실행 코어 제어부는, 상기 디버그 이벤트 발생 시 상기 실행 코어를 정지 모드(Halt mode)로 전환하고, 상기 다음 코드 블록에 상기 브레이크 포인트를 설정한 후, 상기 실행 코어를 정상 모드(Normal mode)로 전환하여 상기 실행 코어를 재실행하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
17 17
제16항에 있어서, 상기 실행 코어 제어부는, 상기 대상 프로그램의 마지막 코드를 실행할 때까지, 상기 다음 코드 블록에 상기 브레이크 포인트를 설정한 후 상기 실행 코어를 재실행하는 과정을 반복하여 수행하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
18 18
제10항에 있어서, 상기 실행 코어에는 하나 이상의 하드웨어 브레이크 포인트가 설정되는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
19 19
복수의 코어들 중에서 대상 프로그램을 실행하는 실행 코어에 브레이크 포인트를 설정하고, 상기 실행 코어의 온 칩 디버그 로직을 이용하여, 상기 브레이크 포인트에 진입하여 디버그 이벤트를 발생한 상기 실행 코어로부터 상기 디버그 이벤트를 수신하는 실행 코어 제어부, 상기 디버그 이벤트가 발생한 상기 브레이크 포인트에 상응하는 인스트루멘트 코드를 검색하는 인스트루멘트 코드 검색부, 검색된 상기 인스트루멘트 코드를 실행하고, 상기 인스트루멘트 코드의 실행 결과를 저장하는 인스트루멘트 코드 실행부, 그리고 다음 코드 블록의 위치를 계산하고, 상기 다음 코드 블록에 상기 브레이크 포인트를 설정하는 코드 블록 제어부를 포함하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
20 20
제19항에 있어서, 상기 실행 코어 제어부는, 상기 실행 코어가 상기 브레이크 포인트에 진입한 경우 상기 실행 코어를 정지 모드(Halt mode)로 전환하고, 인스트루멘트 코어에서 상기 브레이크 포인트에 상응하는 상기 인스트루멘트 코드를 실행하며, 상기 인스트루멘트 코드의 실행을 종료한 후 상기 실행 코어를 정상 모드(Normal mode)로 전환하는 것을 특징으로 하는 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치
지정국 정보가 없습니다
패밀리정보가 없습니다
국가 R&D 정보가 없습니다.