1 |
1
비순차 실행(Out-of-order execution)를 위한 예측 실행(Speculative Execution)을 수행하는 프로세서에 있어서, 상기 프로세서는 코어 및 L1 캐시 메모리를 포함하고,상기 코어는:예측 명령이 리오더 버퍼(reorder buffer, ROB)에 기록되는 경우, 상기 예측 명령을 추적하기 위해 예측 추적 정보를 저장하는 예측 추적 버퍼(speculative track buffer, STB); 및상기 예측 명령에 포함되는 제 1 예측 명령의 예측 성공 또는 예측 실패가 결정되는 경우, 상기 제 1 예측 명령의 제 1 예측 추적 정보에 기초하여 상기 제 1 예측 명령이 속하는 제 1 예측 블록에 대한 확정 초인종 신호(Commit Doorbell) 또는 복구 초인종 신호(restore doorbell)를 상기 L1 캐시 메모리로 송신하는 로드큐(LoadQueue, LQ);를 포함하고,상기 L1 캐시 메모리는:라이트 버퍼(write buffer);를 포함하고,상기 라이트 버퍼는:상기 예측 명령에 의해 발생한 요청이 상기 L1 캐시 메모리로 반환됨에 따라 상기 L1 캐시 메모리의 태그 및 데이터 영역으로부터 축출되는 축출 캐시블록을 저장하고, 그리고 상기 제 1 예측 블록에 대한 확정 초인종 신호 또는 복구 초인종 신호를 수신하는 경우에, 상기 제 1 예측 블록에 대응하는 축출 캐시블록에 대한 확정 동작 또는 복구 동작을 수행하는,프로세서
|
2 |
2
제 1 항에 있어서,상기 라이트 버퍼는:상기 축출 캐시블록을 저장하는 경우에, 상기 축출 캐시블록의 예측 명령 축출 정보(SPE), 상태 데이터 정보, 교체 주소 정보를 설정하는, 프로세서
|
3 |
3
제 2 항에 있어서,상기 제 1 예측 명령의 예측 실패가 결정되는 경우, 상기 로드큐는: 상기 제 1 예측 블록에 포함되는 하나 이상의 예측 명령의 주소값을 포함하는 복구 초인종 신호를 상기 L1 캐시 메모리로 송신하는,프로세서
|
4 |
4
제 3 항에 있어서,상기 라이트 버퍼는:상기 제 1 예측 명령의 상기 복구 초인종 신호를 수신하는 경우에, 축출 캐시블록 중에서 상기 제 1 예측 블록에 포함되는 하나 이상의 예측 명령의 주소값에 대응하는 복구 캐시블록을 결정하고, 그리고상기 복구 캐시블록을 상기 복구 캐시블록의 상기 교체 주소 정보에 기초하여 상기 태그 및 데이터 영역에 복구하는,프로세서
|
5 |
5
제 4 항에 있어서,상기 L1 캐시 메모리는;상기 예측 명령에 의해 발생한 요청에 따라 상기 L1 캐시 메모리로 반환된 갱신 캐시블록을 상기 L1 캐시 메모리의 태그 및 데이터 영역에서 축출되는 캐시블록의 위치에 저장하고, 상기 갱신 캐시블록에 대하여 예측 명령 갱신 정보(SPI)를 설정하고, 그리고 상기 제 1 예측 블록에 대한 복구 초인종 신호를 수신하는 경우에, 상기 복구 캐시블록을 상기 태그 및 데이터 영역에 복구하기 위해 상기 복구 캐시블록의 교체 주소 정보에 대응하는 갱신 캐시블록을 상기 복구 캐시블록으로 교체하고, 그리고 상기 복구 캐시블록의 예측 명령 갱신 정보(SPI)를 해제하는,프로세서
|
6 |
6
제 5 항에 있어서,상기 L1 캐시 메모리는:상기 제 1 예측 명령의 복구 초인종 신호를 수신하는 시점에 상기 제 1 예측 명령에 의해 발생한 요청이 L1 캐시 메모리로 반환되지 않은 경우, 상기 제 1 예측 명령에 대한 스쿼시 정보(SQ)를 설정하는 MSHR(Miss Status Holding Register);을 포함하는,프로세서
|
7 |
7
제 6 항에 있어서,상기 MSHR은: 상기 제 1 예측 명령에 대한 축출 정보(SQ)가 설정되어 있는 경우, 상기 제 1 예측 명령에 의해 반환된 요청을 무시하는,프로세서
|
8 |
8
제 2 항에 있어서,상기 제 1 예측 명령의 예측 성공이 결정되는 경우, 상기 예측 추적 버퍼는: 상기 리오더 버퍼로부터 상기 제 1 예측 명령에 대한 확정 신호를 수신하는 경우, 상기 제 1 예측 명령의 유효 비트가 설정되어 있는지 결정하고; 그리고상기 제 1 예측 명령의 유효 비트가 설정되어 있는 경우, 상기 제 1 예측 명령의 식별 정보를 상기 로드큐로 송신하고,상기 로드큐는:상기 제 1 예측 명령의 식별정보를 수신하는 경우, 상기 제 1 예측 블록에 포함되는 하나 이상의 예측 명령의 주소값을 포함하는 확정 초인종 신호를 상기 L1 캐시 메모리로 송신하는,프로세서
|
9 |
9
제 8 항에 있어서,상기 로드큐는:상기 제 1 예측 블록에 포함되는 하나 이상의 예측 명령의 예측 명령 로드 정보(SPL)가 설정되어 있는 경우에 상기 확정 초인종 신호를 송신하는,프로세서
|
10 |
10
제 9 항에 있어서,상기 라이트 버퍼는:상기 제 1 예측 명령의 상기 확정 초인종 신호를 수신하는 경우에, 축출 캐시블록 중에서 상기 제 1 예측 블록에 포함되는 하나 이상의 예측 명령의 주소값에 대응하는 확정 캐시블록을 결정하고, 상기 L1 캐시 메모리는:상기 확정 캐시블록의 교체 주소 정보에 대응하는 상기 태그 및 데이터 영역의 위치에 있는 갱신 캐시블록의 예측 명령 갱신 정보(SPI)를 해제하는,프로세서
|
11 |
11
제 10 항에 있어서,상기 라이트 버퍼는:상기 확정 캐시블록의 상태 데이터가 'clean'으로 설정된 경우에, 상기 확정 캐시블록을 무효화하고, 또는상기 확정 캐시블록의 상태 데이터가 'dirty'로 설정된 경우에, 상기 확정 캐시블록의 예측 명령 축출 정보(SPE)를 해제하는,프로세서
|
12 |
12
제 1 항에 있어서,상기 라이트 버퍼는 라이트-백 버퍼(write-back buffer)인,프로세서
|