1 |
1
페치 유닛에서 명령어가 페치되면, 하기 프리 리스트 테이블을 검색하여 해당 명령어의 목적지 주소에 물리 레지스터를 할당하고, 해당 명령어에 할당된 물리 레지스터 주소를 명령어의 원래 목적지 주소에 해당하는 하기 레지스터 맵 테이블의 엔트리에 기록하는 디코더와;실행 유닛 내에서 명령어 실행 후 결과 오퍼랜드와 소스 오퍼랜드의 비트열을 비교하여 두 값의 총 M 비트 중 상위 L 비트가 같은 경우에 상기 결과 오퍼랜드와 소스 오퍼랜드가 유사성이 있다고 판정하는 비교기와; 상기 비교기에서 유사성이 있다는 판정이 출력된 경우에 참(truth)이 된 레지스터 변경 유효 비트와 함께 현재 명령어의 원래 목적지 물리 레지스터 주소, 유사한 것으로 판정된 소스 오퍼랜드의 물리 레지스터 주소, 결과 값의 하위 M-L 비트에 해당하는 결과 값과 소스 값의 차이값 정보를 상기 실행 유닛으로부터 하기 레지스터 맵 테이블, 명령어 대기 큐, 프리 레지스터 리스트로 전달하는 결과 버스와; 각 레지스터별로 현재 매핑된 최신의 물리 레지스터 주소를 보관하면서 상기 결과 버스의 내용과 일치되는 엔트리의 물리 레지스터 매핑을 변경할 수 있는 레지스터 맵 테이블과; 디코딩이 완료된 명령어와 소스 물리 레지스터 주소, 원래 목적지 물리 레지스터 주소를 보관하면서 상기 결과 버스의 내용과 일치되는 엔트리의 소스 물리 레지스터 주소를 변경할 수 있는 명령어 대기 큐와; 하나의 물리 레지스터당 하나의 카운터 엔트리로 구성되고, 상기 카운터 엔트리의 카운터 값은 해당 물리 레지스터가 현재 동작 중인 명령어에 의하여 점유되어 있는 상태인가 혹은 프리하여 새로운 명령어의 리네이밍에 사용될 수 있는 상태인가를 나타내고, 몇 개의 명령어가 해당 물리 레지스터를 결과 물리 레지스터로 공유하고 있는가를 나타내도록 된 프리 리스트 테이블;을 포함하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
2 |
2
청구항 1에 있어서,상기 실행 유닛은, 상기 명령어 대기 큐의 명령어가 실행 가능한 상태가 되어 전달되면, 소스 물리 레지스터 주소를 이용하여 물리 레지스터 파일을 읽고, 레지스터 파일로부터 읽어들인 값의 하위 M-L 비트 값을 미리 저장해 둔 상기 차이값으로 치환하여 소스 오프랜드를 얻도록 된 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
3 |
3
청구항 1에 있어서,상기 명령어 대기 큐의 소스 오퍼랜드 필드는, 결과 버스를 통해 전달된 데이터 필드의 레지스터 변경 유효 비트가 참(truth)이 된 상태일 때, 참(truth)이 되는 차이값 유효 비트와, 결과 버스를 통해 전달된 차이값을 저장하는 차이값 필드를 가지는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
4 |
4
청구항 1에 있어서,상기 레지스터 맵 테이블의 각 논리 레지스터 엔트리는, 결과 버스를 통해 전달된 데이터 필드의 레지스터 변경 유효 비트가 참(truth)이 된 상태일 때, 참(truth)이 되는 차이값 유효 비트와, 결과 버스를 통해 전달된 차이값을 저장하는 차이값 필드를 가지는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
5 |
5
청구항 1에 있어서,상기 디코더는 페치 유닛에서 명령어가 페치되면 프리 리스트 테이블을 검색하여 엔트리가 카운터 '0' 값을 가지고 있는 물리 레지스터를 찾아내어 해당 명령어의 목적지 물리 레지스터 주소에 할당하는 동시에 할당된 물리 레지스터에 해당하는 프리 리스트 테이블 엔트리의 카운터 값을 '1'로 증가시키고; 상기 프리 리스트 테이블은 결과 버스의 정보를 받아서 원래 목적지 물리 레지스터 주소가 가리키는 물리 레지스터 엔트리의 카운터 값을 '1' 만큼 감소시켜 해당 물리 레지스터가 프리한 상태를 나타내는 '0'으로 변경시키는 동시에 결과 버스 상의 소스 물리 레지스터 주소에 해당하는 엔트리의 카운터 값은 현재 동작 중인 명령어에 의하여 점유되어 있는 상태를 나타내는 '1'로 증가시키는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
6 |
6
청구항 5에 있어서,명령어의 퇴거와 동반한 물리 레지스터의 퇴거시에는 해당 물리 레지스터의 프리 리스트 테이블 엔트리의 카운터 값이 '1'만큼 감소되어 프리한 상태를 나타내는 '0'으로 변경되는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 시스템
|
7 |
7
(a) 페치 유닛에서 명령어가 페치되면, 디코더에서 프리 리스트 테이블을 검색하여 해당 명령어의 목적지 주소에 물리 레지스터를 할당하고 해당 명령어에 할당된 물리 레지스터 주소를 명령어의 원래 목적지 주소에 해당하는 레지스터 맵 테이블 엔트리에 기록하는 단계와;(b) 이어 상기 명령어가 명령어 대기 큐에 등록된 후 실행이 완료되면, 실행 유닛의 유사성 비교기에서 명령어 실행 후 실행 결과 값과 소스 오퍼랜드 값을 비교하여 유사성 여부를 판정하는 단계와;(c) 상기 두 값의 총 M 비트 중 상위 L 비트가 같다면, 유사성이 있는 것으로 판정하여, 상기 실행 유닛이, 디코드 단계에서 할당된 원래 목적지 물리 레지스터 주소, 유사한 것으로 판정된 소스 오퍼랜드의 물리 레지스터 주소, 결과 값의 하위 M-L 비트에 해당하는 결과 값과 소스 값의 차이값을 결과 버스를 통해 명령어 대기 큐, 레지스터 맵 테이블, 프리 레지스터 리스트로 전달하는 단계와;(d) 상기 결과 버스를 통해 명령어 대기 큐, 레지스터 맵 테이블, 프리 레지스터 리스트에 상기 정보들이 전달되면, 레지스터 변경이 수행되는 단계;를 포함하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|
8 |
8
청구항 7에 있어서,상기 (d) 단계에서, 상기 명령어 대기 큐에 등록되어 대기 중인 후행 명령어들의 소스 물리 레지스터 주소와 상기 결과 버스 상의 원래 목적지 물리 레지스터 주소가 일치하면, 해당 후행 명령어의 소스 오퍼랜드의 물리 레지스터 주소를 상기 결과 버스 상의 소스 오퍼랜드의 물리 레지스터 주소로 변경하고, 명령어 대기 큐의 소스 오퍼랜드 필드에 마련된 차이값 필드에 상기 결과 버스 상의 차이값을 저장하는 동시에 차이값 유효 비트를 참(truth)이 되도록 하는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|
9 |
9
청구항 7에 있어서,상기 (d) 단계에서, 상기 결과 버스 상의 원래 목적지 물리 레지스터 주소와 일치하는 값을 가진 레지스터 맵 테이블의 엔트리를 검색하여 일치하는 것이 발견되면, 해당 맵 테이블 엔트리의 물리 레지스터 주소를 상기 결과 버스 상의 소스 오퍼랜드의 물리 레지스터 주소로 변경하고, 맵 테이블 엔트리에 마련된 차이 값 필드에 상기 결과 버스 상의 차이값을 저장하는 동시에 차이값 유효 비트를 참(truth)이 되도록 하는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|
10 |
10
청구항 7에 있어서,상기 (a) 단계에서, 디코더는 페치 유닛에서 명령어가 페치되면 프리 리스트 테이블을 검색하여 엔트리가 카운터 '0' 값을 가지고 있는 물리 레지스터를 찾아내어 해당 명령어의 목적지 물리 레지스터 주소에 할당하는 동시에 할당된 물리 레지스터에 해당하는 프리 리스트 테이블 엔트리의 카운터 값을 '1'로 증가시키고; 상기 (d) 단계에서, 프리 리스트 테이블은 결과 버스의 정보를 받아서 원래 목적지 물리 레지스터 주소가 가리키는 물리 레지스터 엔트리의 카운터 값을 '1' 만큼 감소시켜 해당 물리 레지스터가 프리한 상태를 나타내는 '0'으로 변경시키는 동시에 결과 버스 상의 소스 물리 레지스터 주소에 해당하는 엔트리의 카운터 값은 현재 동작 중인 명령어에 의하여 점유되어 있는 상태를 나타내는 '1'로 증가시키는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|
11 |
11
청구항 10에 있어서,이후의 명령어 퇴거 단계에서, 명령어의 퇴거와 동반한 물리 레지스터의 퇴거시에는 해당 물리 레지스터의 프리 리스트 테이블 엔트리의 카운터 값을 '1'만큼 감소시켜 프리한 상태를 나타내는 '0'으로 변경시키는 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|
12 |
12
청구항 7에 있어서,상기 실행 유닛은, 상기 명령어 대기 큐의 명령어가 실행 가능한 상태가 되어 전달되면, 소스 물리 레지스터 주소를 이용하여 물리 레지스터 파일을 읽고, 레지스터 파일로부터 읽어들인 값의 하위 M-L 비트 값을 미리 저장해 둔 상기 차이값으로 치환하여 소스 오프랜드를 얻도록 된 것을 특징으로 하는 레지스터 값의 유사성에 기반을 둔 레지스터 리네이밍 방법
|