1 |
1
제1 판단부, 비트 설정부, 제2 판단부, 비트 변경부 및 지연 수행부를 포함하고, 명령어를 지연시켜 수행하는 시스템에서, 명령어 메모리로부터 명령어를 읽어오는 페치 단계, 상기 명령어를 디코드하는 디코딩 단계, 상기 디코딩 된 명령어를 실행하는 실행 단계, 상기 명령어를 수행하는데 필요한 데이터가 저장되어 있는 데이터 메모리에 접속하는 메모리 접속 단계 및 상기 실행된 결과를 레지스터에 저장하는 기입 단계가 각각 한 사이클의 클럭 주기로 수행되는 명령어를 지연시켜 수행하는 방법에 있어서,
상기 제1 판단부가 현재 명령어가 이전 명령어와 의존성이 있는지 판단하는 단계;
상기 현재 명령어가 상기이전 명령어와 의존성이 있는 경우, 상기 비트 설정부가 상기 현재 명령어의 N 번째 비트에 제1 값을 설정하는 단계;
상기 제2 판단부가 상기 디코딩 단계에서 상기 현재 명령어의 상기 N 번째 비트 값을 판단하는 단계; 및
상기 현재 명령어의 상기 N 번째 비트 값이 상기 제1 값으로 판단된 경우, 상기 비트 변경부가 상기 N 번째 비트 값을 상기 제1 값과 반전된 제2 값으로 변경한 후, 상기 N번째 비트 값을 판단하는 단계가 포함되는 파이프라인에 후속하는 파이프라인에서 상기 지연 수행부가 상기 디코딩 단계를 한 사이클 더 수행하여 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 한 사이클씩 지연시키는 단계를 포함하는 명령어를 지연시켜 수행하는 방법
|
2 |
2
제1항에 있어서,
상기 현재 명령어의 상기 N 번째 비트 값이 상기 제1 값으로 판단된 경우, 상기 현재 명령어의 디코딩 단계 시점부터 수행되는 다음 명령어의 단계들도 한 사이클씩 지연시키는 것을 특징으로 하는 명령어를 지연시켜 수행하는 방법
|
3 |
3
제2항에 있어서,
상기 현재 명령어, 상기 이전 명령어 및 상기 다음 명령어는 각각 32비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 방법
|
4 |
4
제1항에 있어서,
상기 N 번째 비트는 최상위 비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 방법
|
5 |
5
제1항에 있어서,
상기 N 번째 비트는 최하위 비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 방법
|
6 |
6
제1항에 있어서,
상기 제1 값은 1이고, 상기 제2 값은 0인 것을 특징으로 하는 명령어를 지연시켜 수행하는 방법
|
7 |
7
페치 단계, 디코딩 단계, 실행 단계, 메모리 접속 단계 및 기입 단계가 각각 한 사이클의 클럭 주기로 수행되는 현재 명령어를 지연시켜 수행하는 시스템에 있어서,
상기 현재 명령어가 이전 명령어와 의존성이 있는지 판단하여 상기 현재 명령어가 상기 이전 명령어와 의존성이 있는 경우, 상기 현재 명령어의 N 번째 비트에 제1 값을 설정하는 프로그래밍부; 및
상기 현재 명령어의 상기 N 번째 비트 값을 판단하여 상기 현재 명령어의 상기 N 번째 비트 값이 상기 제1 값으로 판단되면, 상기 현재 명령어의 상기 디코딩 단계를 한 사이클 더 수행하는 프로세서를 포함하고,
상기 프로그래밍부는,
상기 현재 명령어가 상기 이전 명령어와 의존성이 있는지 판단하는 제1 판단부; 및
상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와 의존성이 있다고 판단한 경우, 상기 현재 명령어의 상기 N 번째 비트에 상기 제1 값을 설정하는 비트 설정부를 포함하고,
상기 프로세서는,
상기 디코딩 단계에서, 상기 비트 설정부에 의해 설정된 상기 현재 명 령어의 상기 N 번째 비트 값을 판단하는 제2 판단부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값을 상기 제1 값으로 판단하면, 상기 N 번째 비트 값을 상기 제1 값과 반전된 제2 값으로 변경하는 비트 변경부; 및
상기 비트 변경부가 상기 N 번째 비트 값을 상기 제2 값으로 변경 한후, 상기 N번째 비트 값을 판단하는 파이프라인에 후속하는 파이프라인에서 상기 디코딩 단계를 한 사이클 더 수행시켜 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 한 사이클씩 지연시키는 지연수행부를 포함하는 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
8 |
8
제7항에 있어서, 상기 지연부는,
상기 현재 명령어의 상기 N번째 비트 값이 상기 제1 값으로 판단된 경우, 상기 현재 명령어의 디코딩 단계 시점부터 수행되는 다음 명령어의 단계들도 한 사이클씩 지연시키는 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
9 |
9
제8항에 있어서,
상기 현재 명령어, 상기 이전 명령어 및 상기 다음 명령어는 각각 32비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
10 |
10
제7항에 있어서,
상기 N 번째 비트는 최상위 비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
11 |
11
제7항에 있어서,
상기 N 번째 비트는 최하위 비트인 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
12 |
12
제7항에 있어서,
상기 제1 값은 1이고, 상기 제2 값은 0인 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
13 |
13
페치 단계, 디코딩 단계, 실행 단계, 메모리 접속 단계 및 기입 단계가 각각 한 사이클의 클럭 주기로 수행되는 현재 명령어 및 이전 명령어를 저장하는 명령어 메모리;
상기 명령어 메모리로부터 상기 현재 명령어가 상기 이전 명령어와 의존성이 있는지 판단하는 제1 판단부;
상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와 의존성이 있다고 판단한 경우, 상기 현재 명령어의 N 번째 비트에 제1 값을 설정하는 비트 설정부;
상기 현재 명령어의 상기 디코딩 단계에서, 상기 비트 설정부에 의해 설정된 상기 현재 명령어의 상기 N 번째 비트 값을 판단하는 제2 판단부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값을 상기 제1 값으로 판단하면, 상기 N 번째 비트 값을 상기 제1 값과 반전된 제2 값으로 변경하는 비트 변경부; 및
상기 비트 변경부가 상기 N 번째 비트 값을 상기 제2 값으로 변경한 후, 상기 N번째 비트 값을 판단하는 파이프라인에 후속하는 파이프라인에서 상기 현재 명령어의 상기 디코딩 단계를 한 사이클 더 수행시켜 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 한 사이클씩 지연시키는 지연 수행부를 포함하는 명령어를 지연시켜 수행하는 시스템
|
14 |
14
페치 단계, 디코딩 단계, 실행 단계, 메모리 접속 단계 및 기입 단계가 각각 한 사이클의 클럭 주기로 수행되는 현재 명령어를 지연시켜 수행하는 시스템에 있어서,
상기 현재 명령어가 이전 명령어와 의존성이 있는지 판단하여, 상기 현재 명령어가 상기 이전 명령어와 의존성이 있으면 상기 현재 명령어의 N 번째 비트에 제1 값을 설정하고, 상기 현재 명령어가 상기 이전 명령어와 의존성이 없으면 상기 현재 명령어의 상기 N 번째 비트에 상기 제1 값의 반전 값인 제2 값을 설정하는 프로그래밍부; 및
상기 현재 명령어의 상기 N 번째 비트 값을 판단하여 상기 현재 명령어의 상기 N 번째 비트 값이 상기 제1 값으로 판단되면, 상기 현재 명령어의 상기 디코딩 단계를 한 사이클 더 수행하는 프로세서를 포함하고,
상기 프로그래밍부는,
상기 현재 명령어가 상기 이전 명령어와 의존성이 있는지 판단하는 제1 판단부; 및
상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와 의존성이 있다고 판단한 경우, 상기 현재 명령어의 상기 N 번째 비트에 상기 제1 값을 설정하고, 상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와 의존성이 없다고 판단한 경우, 상기 현재 명령어의 상기 N 번째 비트에 상기 제2 값을 설정하는 비트 설정부를 포함하고,
상기 프로세서는,
상기 디코딩 단계에서, 상기 비트 설정부에 의해 설정된 상기 현재 명령어의 상기 N 번째 비트 값을 판단하는 제2 판단부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값을 상기 제2 값으로 판단하면, 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 순차적으로 수행하는 일반 수행부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값을 상기 제1 값으로 판단하면, 상기 N 번째 비트 값을 상기 제2 값으로 변경하는 비트 변경부; 및
상기 비트 변경부가 상기 N 번째 비트 값을 상기 제2 값으로 변경한 후, 상기 N번째 비트 값을 판단하는 파이프라인에 후속하는 파이프라인에서 상기 디코딩 단계를 한 사이클 더 수행시켜 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 한 사이클씩 지연시키는 지연 수행부를 포함하는 것을 특징으로 하는 명령어를 지연시켜 수행하는 시스템
|
15 |
15
페치 단계, 디코딩 단계, 실행 단계, 메모리 접속 단계 및 기입 단계가 각각 한 사이클의 클럭 주기로 수행되는 현재 명령어 및 이전 명령어를 저장하는 명령어 메모리;
상기 현재 명령어가 상기이전 명령어와 의존성이 있는지 판단하는 제1 판단부;
상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와 의존성이 있다고 판단한 경우, 상기 현재 명령어의 N 번째 비트에 제1 값을 설정하고, 상기 제1 판단부가, 상기 현재 명령어가 상기 이전 명령어와의존성이 없다고 판단한 경우, 상기 현재 명령어의 상기 N 번째 비트에 상기 제1 값의 반전 값인 제2 값을 설정하는 비트 설정부;
상기 디코딩 단계에서, 상기 비트 설정부에 의해 설정된 상기 현재 명령어의 상기 N 번째 비트 값을 판단하는 제2 판단부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값을 상기 제2 값으로 판단하면, 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 순차적으로 수행하는 일반 수행부;
상기 제2 판단부가, 상기 현재 명령어의 상기 N 번째 비트 값이 상기 제1 값으로 판단하면, 상기 N 번째 비트 값을 상기 제2 값으로 변경하는 비트 변경부; 및
상기 비트 변경부가 상기 N 번째 비트 값을 상기 제2 값으로 변경한 후, 상기 N번째 비트 값을 판단하는 파이프라인에 후속하는 파이프라인에서 상기 디코딩 단계를 한 사이클 더 수행시켜 상기 실행 단계, 상기 메모리 접속 단계 및 상기 기입 단계를 한 사이클씩 지연시키는 지연 수행부를 포함하는 명령어를 지연시켜 수행하는 시스템
|