본 논문은 고속의 데이터 처리가 가능한 SMT(Simultaneous Multi-Threading) 마이크로프로세서에 적합한 ALU(Arithmetic Logic Unit)를 설계한다. SMT마이크로프로세서는 슈퍼스칼라(Superscalar)마이크로프로세서를 개량하여, 수퍼스칼라의 성능 한계를 극복하기 위해 다수의 ...
본 논문은 고속의 데이터 처리가 가능한 SMT(Simultaneous Multi-Threading) 마이크로프로세서에 적합한 ALU(Arithmetic Logic Unit)를 설계한다. SMT마이크로프로세서는 슈퍼스칼라(Superscalar)마이크로프로세서를 개량하여, 수퍼스칼라의 성능 한계를 극복하기 위해 다수의 스레드가 동시에 동작하게 함으로 성능을 향상시키는 것을 목표로 한다. 본 논문에서는 다중 스레딩을 위한 SMT 마이크로프로세서의 중요한 기능 블록인 ALU를 설계하였다. 설계된 ALU는 채택된 명령어 아키텍처의 특징인 조건부 연산과, ALU와 쉬프터(Shifter)의 동시 사용을 수행한다. 조건부 연산의 수행으로 인해, 기존의 분기 명령어 처리 사이클이 세 개의 사이클에서 하나의 사이클로 단축되어 성능이 개선되었다. 그리고 ALU와 쉬프터의 동시사용은 두 데이터를 비교 검사를 하는데 시간을 단축시킨다. 이는 네트워크 프로세서의 패킷 검색에서 고속의 데이터처리를 가능하게 한다. 다중 스레드의 실행을 위해서는 데이터 바이패싱(Data Bypassing)이 가능해야 한다. 분기 명령어 처리와 예측(BranchPrediction) 오류 처리, 그리고 SWI, BKPT 등의 인터럽트 처리도 가능하게 설계 되었다. 분기 명령어 예측 오류 처리나 인터럽트 처리등 예외 처리시 해당 스레드만을 플러쉬(Flush)하게 설계함으로써 다중 스레드를 수행하기 위한 SMT 마이크로프로세서의 성능을 최대한으로 발휘 할 수 있게 한다. ALU는 R(Read)단계, E(Execution)단계, M(Memory)단계의 3단계로 파이프라인되어진다. R(Read)단계는 ALU와 레지스터 파일과의 오퍼랜드(operand) 호출 지연시간으로 인해 R단을 새롭게 파이프라인하여 RR0와 RR1, 두 단계로 나누어 설계하였다. R단에서는 데이터 바이패싱이 가능하게 설계 되었다. E(Execution)단에서는 데이터 명령어 처리와 쉬프터, 선행 제로 카운터등이 수행된다. 쉬프터는 기존 배럴 쉬프터를 변형하여 다양한 쉬프트 기능을 가능하게 하는 2단 배럴 쉬프터로 설계 구현하였다. 선행 제로 카운터는 트리 구조의 방식으로 설계되었다. M(Memory)단에서는 분기 명령어 예측 오류 검사와 예외처리등이 수행되고 각종 레지스터의 갱신 여부를 처리한다. 분기 명령어 예측 오류나 예외가 발생하는 경우 해당 스레드만을 플러쉬하는 기능을 수행한다. 설계된 ALU는 최대 4개의 스레드를 지원한다. 따라서 4개 스레드에 해당하는 명령에 대하여 바이패싱, 분기 예측 검사 등을 수행할 수 있다. 이와 같은 방법으로 기존의 ALU와 차별화된 멀티 스레딩이 가능하다. 설계된 ALU는 Verilog HDL로 기술하여, 각각의 명령어 당 수행되는 1천개의 test vector를 이용하여 기능 검증을 하였다. 검증된 HDL 코드는 Synopsys사의 Design Anlayzer를 이용하여 자동 합성되며, 이때 삼성전자의 std90, 0.35㎛ 표준 셀 라이브러리(Standard cell libray)로 합성하였다. SMT ALU는 3.0V, 85℃, 최악 공정 조건에서 약 117MHz, 3.3V, 25℃, 표준 공정 조건에서 143MHz의 동작 주파수를 보인다. 본 ALU는 수퍼스칼라나 SMT와 같은 다중 명령어 이슈 마이크로프로세서에 적합하다.
본 논문은 고속의 데이터 처리가 가능한 SMT(Simultaneous Multi-Threading) 마이크로프로세서에 적합한 ALU(Arithmetic Logic Unit)를 설계한다. SMT마이크로프로세서는 슈퍼스칼라(Superscalar)마이크로프로세서를 개량하여, 수퍼스칼라의 성능 한계를 극복하기 위해 다수의 스레드가 동시에 동작하게 함으로 성능을 향상시키는 것을 목표로 한다. 본 논문에서는 다중 스레딩을 위한 SMT 마이크로프로세서의 중요한 기능 블록인 ALU를 설계하였다. 설계된 ALU는 채택된 명령어 아키텍처의 특징인 조건부 연산과, ALU와 쉬프터(Shifter)의 동시 사용을 수행한다. 조건부 연산의 수행으로 인해, 기존의 분기 명령어 처리 사이클이 세 개의 사이클에서 하나의 사이클로 단축되어 성능이 개선되었다. 그리고 ALU와 쉬프터의 동시사용은 두 데이터를 비교 검사를 하는데 시간을 단축시킨다. 이는 네트워크 프로세서의 패킷 검색에서 고속의 데이터처리를 가능하게 한다. 다중 스레드의 실행을 위해서는 데이터 바이패싱(Data Bypassing)이 가능해야 한다. 분기 명령어 처리와 예측(Branch Prediction) 오류 처리, 그리고 SWI, BKPT 등의 인터럽트 처리도 가능하게 설계 되었다. 분기 명령어 예측 오류 처리나 인터럽트 처리등 예외 처리시 해당 스레드만을 플러쉬(Flush)하게 설계함으로써 다중 스레드를 수행하기 위한 SMT 마이크로프로세서의 성능을 최대한으로 발휘 할 수 있게 한다. ALU는 R(Read)단계, E(Execution)단계, M(Memory)단계의 3단계로 파이프라인되어진다. R(Read)단계는 ALU와 레지스터 파일과의 오퍼랜드(operand) 호출 지연시간으로 인해 R단을 새롭게 파이프라인하여 RR0와 RR1, 두 단계로 나누어 설계하였다. R단에서는 데이터 바이패싱이 가능하게 설계 되었다. E(Execution)단에서는 데이터 명령어 처리와 쉬프터, 선행 제로 카운터등이 수행된다. 쉬프터는 기존 배럴 쉬프터를 변형하여 다양한 쉬프트 기능을 가능하게 하는 2단 배럴 쉬프터로 설계 구현하였다. 선행 제로 카운터는 트리 구조의 방식으로 설계되었다. M(Memory)단에서는 분기 명령어 예측 오류 검사와 예외처리등이 수행되고 각종 레지스터의 갱신 여부를 처리한다. 분기 명령어 예측 오류나 예외가 발생하는 경우 해당 스레드만을 플러쉬하는 기능을 수행한다. 설계된 ALU는 최대 4개의 스레드를 지원한다. 따라서 4개 스레드에 해당하는 명령에 대하여 바이패싱, 분기 예측 검사 등을 수행할 수 있다. 이와 같은 방법으로 기존의 ALU와 차별화된 멀티 스레딩이 가능하다. 설계된 ALU는 Verilog HDL로 기술하여, 각각의 명령어 당 수행되는 1천개의 test vector를 이용하여 기능 검증을 하였다. 검증된 HDL 코드는 Synopsys사의 Design Anlayzer를 이용하여 자동 합성되며, 이때 삼성전자의 std90, 0.35㎛ 표준 셀 라이브러리(Standard cell libray)로 합성하였다. SMT ALU는 3.0V, 85℃, 최악 공정 조건에서 약 117MHz, 3.3V, 25℃, 표준 공정 조건에서 143MHz의 동작 주파수를 보인다. 본 ALU는 수퍼스칼라나 SMT와 같은 다중 명령어 이슈 마이크로프로세서에 적합하다.
In this thesis, a high performance ALU for Simultaneous Multi-Threading (SMT) microprocessor is designed. The SMT architecture improves notably performance and utilization of processes compared with conventional superscalar architecture by executing instructions from multiple threads at the same tim...
In this thesis, a high performance ALU for Simultaneous Multi-Threading (SMT) microprocessor is designed. The SMT architecture improves notably performance and utilization of processes compared with conventional superscalar architecture by executing instructions from multiple threads at the same time. The ALU designed in this thesis is an important block in the SMT microprocessors for multi-threading. This ALU processes with distinctive methods such as conditional operations, serial operations of ALU and shifter in the adopted architecture. Also, the ALU is designed for branch instruction management, branch misprediction management and interrupt handling such as SWI, BKPT. And, the data-bypassing is implemented for multi-threading process. The pipeline has three stages which consist of read(R), execution(E) and memory(M) stage in the ALU. The R stage is partitioned into two stages, RR0 and RR1 because the operand loading delay time is too long between ALU and register file. And, the data bypassing is executed in the new stages. In the E stage, the data instruction operation, shift operation and counter leading zero operation are executed. The shifter which is a modified form of two step barrel shifter, is designed to execute variable functions. The counter leading zero(CLZ) is designed with tree architecture. In the M stage, branch prediction check and exception handler are executed. And, each register is renewed. This ALU can process four threads maximum simultaneously. The ALU is described by using Verilog HDL at a Register Transfer Level(RTL). The implemented ALU carries functional verification with a thousand test vector per instruction. Also, performance evaluation is carried out with the code generated by C simulator at SMT microprocessor which is designed in this laboratory(Processor Laboratory of Yonsei University.). The verified HDL code is synthesized automatically by using Design Analyzer of Synopsys with std90, 0.35㎛ standard cell library of Samsung Electronics. This SMT ALU is expected to operate at 117MHz of clock frequency in 3.0V, 85℃ , worst condition. Finally, the ALU is suitable for multi-issue microprocessors such as superscalar and SMT.
In this thesis, a high performance ALU for Simultaneous Multi-Threading (SMT) microprocessor is designed. The SMT architecture improves notably performance and utilization of processes compared with conventional superscalar architecture by executing instructions from multiple threads at the same time. The ALU designed in this thesis is an important block in the SMT microprocessors for multi-threading. This ALU processes with distinctive methods such as conditional operations, serial operations of ALU and shifter in the adopted architecture. Also, the ALU is designed for branch instruction management, branch misprediction management and interrupt handling such as SWI, BKPT. And, the data-bypassing is implemented for multi-threading process. The pipeline has three stages which consist of read(R), execution(E) and memory(M) stage in the ALU. The R stage is partitioned into two stages, RR0 and RR1 because the operand loading delay time is too long between ALU and register file. And, the data bypassing is executed in the new stages. In the E stage, the data instruction operation, shift operation and counter leading zero operation are executed. The shifter which is a modified form of two step barrel shifter, is designed to execute variable functions. The counter leading zero(CLZ) is designed with tree architecture. In the M stage, branch prediction check and exception handler are executed. And, each register is renewed. This ALU can process four threads maximum simultaneously. The ALU is described by using Verilog HDL at a Register Transfer Level(RTL). The implemented ALU carries functional verification with a thousand test vector per instruction. Also, performance evaluation is carried out with the code generated by C simulator at SMT microprocessor which is designed in this laboratory(Processor Laboratory of Yonsei University.). The verified HDL code is synthesized automatically by using Design Analyzer of Synopsys with std90, 0.35㎛ standard cell library of Samsung Electronics. This SMT ALU is expected to operate at 117MHz of clock frequency in 3.0V, 85℃ , worst condition. Finally, the ALU is suitable for multi-issue microprocessors such as superscalar and SMT.
주제어
#다중스레딩 데이터 바이패싱 분기 예측 조건부 연산 파이프 라인 multi-threading SMT ALU data bypassing branch prediction conditional operation pipeline
학위논문 정보
저자
김상철
학위수여기관
연세대학교 대학원
학위구분
국내석사
학과
전기전자공학과
지도교수
이용석
발행연도
2003
총페이지
vii, 105p.
키워드
다중스레딩 데이터 바이패싱 분기 예측 조건부 연산 파이프 라인 multi-threading SMT ALU data bypassing branch prediction conditional operation pipeline
※ AI-Helper는 부적절한 답변을 할 수 있습니다.