맞춤기술찾기

이전대상기술

고성능 비순차 실행 코어의 리오더 버퍼 관리 장치 및 방법

  • 기술번호 : KST2020015461
  • 담당센터 : 서울서부기술혁신센터
  • 전화번호 : 02-6124-6930
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명은 명령어가 반복 실행되는 프로그램의 특성을 활용하여, 다수의 명령어를 명령어 블록으로 그룹화하고, 블록 내부의 각 논리 레지스터의 값을 마지막으로 갱신하는 명령어에게만 리오더 버퍼 엔트리를 할당함으로써, 명령어 블록단위로 올바르게 구조적 상태를 갱신할 수 있도록 관리하여, 작은 크기의 리오더 버퍼로도 많은 명령어를 할당할 수 있으므로, 리오더 버퍼의 자원 효율성을 크게 향상시킬 수 있으며, 비용 및 전력 소모를 저감 시킬 수 있는 리오더 버퍼 관리 장치 및 방법을 제공할 수 있다.
Int. CL G06F 9/38 (2006.01.01) G06F 9/30 (2018.01.01)
CPC G06F 9/3855(2013.01) G06F 9/3855(2013.01) G06F 9/3855(2013.01) G06F 9/3855(2013.01)
출원번호/일자 1020190146601 (2019.11.15)
출원인 연세대학교 산학협력단
등록번호/일자 10-2170966-0000 (2020.10.22)
공개번호/일자
공고번호/일자 (20201028) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2019.11.15)
심사청구항수 17

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 연세대학교 산학협력단 대한민국 서울특별시 서대문구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 노원우 서울특별시 강남구
2 정이품 서울특별시 서대문구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 민영준 대한민국 서울특별시 강남구 남부순환로 ****, *층(도곡동, 차우빌딩)(맥스국제특허법률사무소)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 연세대학교 산학협력단 서울특별시 서대문구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2019.11.15 수리 (Accepted) 1-1-2019-1173885-74
2 선행기술조사의뢰서
Request for Prior Art Search
2020.06.12 수리 (Accepted) 9-1-9999-9999999-89
3 선행기술조사보고서
Report of Prior Art Search
2020.08.12 발송처리완료 (Completion of Transmission) 9-6-2020-0151856-50
4 등록결정서
Decision to grant
2020.10.20 발송처리완료 (Completion of Transmission) 9-5-2020-0721911-65
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
비순차 실행 코어의 리오더 버퍼 관리 장치에 있어서, 각각 다수의 명령어를 포함하는 적어도 하나의 명령어 블록을 엔트리로서 저장하는 블록 히스토리 테이블; 상기 코어로 인가되는 명령어가 포함된 명령어 블록이 상기 블록 히스토리 테이블의 엔트리로 저장되어 있는지 여부를 판별하여, 명령어 블록이 저장되어 있지 않은 것으로 판별되면, 인가되는 다수의 명령어를 기지정된 기준에 따라 명령어 블록으로 구분하고, 구분된 명령어 블록의 정보를 상기 블록 히스토리 테이블로 전달하여 저장하며, 인가된 명령어에 대응하여 블록 히스토리 테이블에 저장된 명령어 블록에서 동일한 논리 레지스터에 대해 최종 쓰기 작업을 수행하는 최종 쓰기 명령어를 선택하여 상기 리오더 버퍼의 엔트리로 할당하는 블록 설정부; 및 상기 코어에서 상기 명령어 블록에 포함된 명령어가 정상적으로 실행되는지 여부를 모니터링하여, 모든 명령어가 정상적으로 실행된 것으로 판별되면, 상기 리오더 버퍼에 할당된 명령어 블록에 대응하는 모든 명령어에 대해 커밋 승인하는 블록 순서 큐를 포함하는 리오더 버퍼 관리 장치
2 2
제1 항에 있어서, 상기 블록 설정부는 상기 다수의 명령어 중 분기 명령어를 탐색하여 탐색된 분기 명령어를 기준으로 상기 다수의 명령어를 상기 명령어 블록으로 구분하는 리오더 버퍼 관리 장치
3 3
제2 항에 있어서, 상기 블록 설정부는 명령어 블록 내에 포함되는 다수의 명령어 중 첫번째 명령어에 대한 메모리 주소를 나타내는 블록 정의자와 다수의 명령어 중 최종 쓰기 작업을 수행하는 명령어의 위치 정보를 나타내는 최종 쓰기 지시자 및 분기 명령어의 위치 및 예측 분기 경로를 나타내는 분기 지시자를 상기 명령어 블록의 정보에 포함하여 상기 블록 히스토리 테이블의 엔트리에 저장하는 리오더 버퍼 관리 장치
4 4
제3 항에 있어서, 상기 블록 설정부는 상기 명령어 블록 내에서 동일한 논리 레지스터에 대해 최종 쓰기 작업을 수행하는 최종 쓰기 명령어와 함께 분기 명령어를 선택하여, 상기 리오더 버퍼의 엔트리로 할당하는 리오더 버퍼 관리 장치
5 5
제4 항에 있어서, 상기 블록 설정부는 상기 블록 순서 큐로부터 연속하는 동일한 명령어 블록들에 대해 기지정된 기준 커밋 횟수 이상 연속하여 커밋 승인되면, 서로 인접한 명령어 블록을 병합하고, 병합된 명령어 블록의 정보를 상기 블록 히스토리 테이블에 재저장하는 리오더 버퍼 관리 장치
6 6
제5 항에 있어서, 상기 블록 순서 큐는 상기 명령어 블록의 명령어 중 적어도 하나에서 오류가 발생된 것으로 판별되면, 리오더 버퍼에 할당된 명령어 블록에 대응하는 모든 명령어가 정상적으로 재실행될 때까지 할당된 상기 리오더 버퍼의 엔트리가 커밋되지 않도록 하는 리오더 버퍼 관리 장치
7 7
제6 항에 있어서, 상기 블록 순서 큐는 상기 명령어 블록의 명령어 중 적어도 하나에서 오류가 발생된 것으로 판별되면, 명령어 블록 내에서 오류가 발생된 명령어의 위치 정보를 블록 설정부로 전달하는 리오더 버퍼 관리 장치
8 8
제7 항에 있어서, 상기 블록 설정부는 상기 블록 순서 큐에서 전달된 오류가 발생된 명령어의 위치 정보에 기반하여 오류가 발생된 명령어 이전 분기 명령어를 기준으로 2개의 명령어 블록을 분할하고, 분할된 명령어 블록의 정보를 상기 블록 히스토리 테이블에 재저장하는 리오더 버퍼 관리 장치
9 9
제8 항에 있어서, 상기 블록 설정부는 2개의 명령어 블록을 분할 시에 오류가 발생된 명령어 이전 분기 명령어의 분기 경로를 변경하는 리오더 버퍼 관리 장치
10 10
비순차 실행 코어의 리오더 버퍼 관리 방법에 있어서, 상기 코어로 인가되는 명령어가 포함된 명령어 블록이 각각 다수의 명령어를 포함하는 적어도 하나의 명령어 블록을 엔트리로서 저장하는 블록 히스토리 테이블에 저장되어 있는지 판별하는 단계; 상기 명령어가 포함된 명령어 블록이 저장되어 있지 않은 것으로 판별되면, 인가되는 다수의 명령어를 기지정된 기준에 따라 명령어 블록으로 구분하는 단계; 구분된 명령어 블록의 정보를 상기 블록 히스토리 테이블에 저장하는 단계; 블록 히스토리 테이블에 저장된 명령어 블록 중 인가된 명령어에 대응하는 명령어 블록의 다수의 명령어 중 동일한 논리 레지스터에 대해 최종 쓰기 작업을 수행하는 최종 쓰기 명령어를 선택하여 상기 리오더 버퍼의 엔트리로 할당하는 단계; 및 상기 코어에서 상기 명령어 블록에 포함된 명령어가 정상적으로 실행되는지 여부를 모니터링하여, 모든 명령어가 정상적으로 실행된 것으로 판별되면, 상기 리오더 버퍼에 할당된 명령어 블록에 대응하는 모든 명령어에 대해 커밋 승인하는 단계를 포함하는 리오더 버퍼 관리 방법
11 11
제10 항에 있어서, 상기 구분하는 단계는 상기 다수의 명령어 중 분기 명령어를 탐색하여 탐색된 분기 명령어를 기준으로 상기 다수의 명령어를 상기 명령어 블록으로 구분하는 리오더 버퍼 관리 방법
12 12
제11 항에 있어서, 상기 명령어 블록의 정보는 명령어 블록 내에 포함되는 다수의 명령어 중 첫번째 명령어에 대한 메모리 주소를 나타내는 블록 정의자와 다수의 명령어 중 최종 쓰기 작업을 수행하는 명령어의 위치 정보를 나타내는 최종 쓰기 지시자 및 분기 명령어의 위치 및 예측 분기 경로를 나타내는 분기 지시자를 상기 명령어 블록의 정보에 포함하여 상기 블록 히스토리 테이블의 엔트리에 저장하는 리오더 버퍼 관리 방법
13 13
제12 항에 있어서, 상기 리오더 버퍼의 엔트리로 할당하는 단계는 상기 명령어 블록 내에서 동일한 논리 레지스터에 대해 최종 쓰기 작업을 수행하는 최종 쓰기 명령어와 함께 분기 명령어를 선택하여, 상기 리오더 버퍼의 엔트리로 할당하는 리오더 버퍼 관리 방법
14 14
제13 항에 있어서, 상기 리오더 버퍼 관리 방법은 연속하는 동일한 명령어 블록들에 대해 기지정된 기준 커밋 횟수 이상 연속하여 커밋 승인되면, 서로 인접한 명령어 블록을 병합하는 단계; 및 병합된 명령어 블록의 정보를 상기 블록 히스토리 테이블에 재저장하는 단계를 더 포함하는 리오더 버퍼 관리 방법
15 15
제13 항에 있어서, 상기 리오더 버퍼 관리 방법은 상기 명령어 블록의 명령어 중 적어도 하나에서 오류가 발생된 것으로 판별되면, 리오더 버퍼에 할당된 명령어 블록에 대응하는 모든 명령어가 정상적으로 재실행될 때까지 할당된 상기 리오더 버퍼의 엔트리가 커밋되지 않도록 하는 단계를 더 포함하는 리오더 버퍼 관리 방법
16 16
제14 항에 있어서, 상기 리오더 버퍼 관리 방법은 상기 명령어 블록의 명령어 중 적어도 하나에서 오류가 발생된 것으로 판별되면, 명령어 블록 내에서 오류가 발생된 명령어의 위치 정보를 획득하는 단계; 획득된 오류가 발생된 명령어의 위치 정보에 기반하여 오류가 발생된 명령어 이전 분기 명령어를 기준으로 2개의 명령어 블록을 분할하는 단계; 및 분할된 명령어 블록의 정보를 상기 블록 히스토리 테이블에 재저장하는 단계를 더 포함하는 리오더 버퍼 관리 방법
17 17
제16 항에 있어서, 상기 블록 히스토리 테이블에 재저장하는 단계는 2개의 명령어 블록을 분할 시에 오류가 발생된 명령어 이전 분기 명령어의 분기 경로를 변경하는 리오더 버퍼 관리 방법
지정국 정보가 없습니다
패밀리정보가 없습니다
국가 R&D 정보가 없습니다.