고성능 마이크로프로세서를 구현하기 위한 방법에는 여러 가지 디자인 요소들이 존재 하는데, 그 중에서 프로세서 내의 여러 개의 기능블록들로 명령어를 제공하여주는 이슈 제어로직의 아키텍처를 어떻게 설계하는가에 대한 방법이 중요한 요소로서 작용하고 있다. 이슈 제어로직이 명령어를 이슈하는 과정에서 명령어간의 의존성을 조사해서 명령어 사이의 충돌을 방지하거나 해결하기 위해서는 재 순차 버퍼나 리네이밍 ...
고성능 마이크로프로세서를 구현하기 위한 방법에는 여러 가지 디자인 요소들이 존재 하는데, 그 중에서 프로세서 내의 여러 개의 기능블록들로 명령어를 제공하여주는 이슈 제어로직의 아키텍처를 어떻게 설계하는가에 대한 방법이 중요한 요소로서 작용하고 있다. 이슈 제어로직이 명령어를 이슈하는 과정에서 명령어간의 의존성을 조사해서 명령어 사이의 충돌을 방지하거나 해결하기 위해서는 재 순차 버퍼나 리네이밍 레지스터, 혹은 스코어보드 정보들을 필요로 하게 된다. 이러한 하드웨어 요소들은 해당 프로세서의 아키텍처에 맞는 방식으로 연구되고 수정되어져야 하는데, 그 중에서 데이터 의존성에 대한 부분들은 명령어들의 순서나 프로세서내의 레지스터의 내용들과 밀접한 연관 관계를 지니게 된다. 본 논문은 그러한 고성능 마이크로프로세서를 위한 이슈 제어로직의 메카니즘을 SMT(Simultaneous Multi-Threading) 프로세서 상에서 구현하기위한 레지스터 파일의 구조 및 스코어보드 어레이의 메카니즘을 연구하고 설계한다. SMT 구조는 여러 개의 독립적인 쓰레드들로부터의 명령어들을 이용하여, 명령어 이슈 슬롯을 채울 수 있도록 하는 쓰레드 레벨 병렬성(TLP, Thread Level Parallelism) 을 사용함으로서, 결국 프로세서의 성능을 향상시킨다. 독립적인 여러 개의 준비된 쓰레드들을 갖는다는 것은 실행 유닛들이 무용의 상태로 남아있는 가능성을 줄일 수 있다는 의미이며, 이러한 사항은 결국 프로세서의 자원 활용에서의 효율성을 증가시키게 된다. SMT 프로세서에서 그러한 이점을 이용하기 위해서는, 이슈 유닛은 서로 다른 쓰레드들로부터의 여러 명령어들 간의 흐름을 제어해서, 그러한 명령어들 사이에서 충돌이 일어나지 않도록 해야 하지만, 이러한 사실로 인해 SMT 프로세서의 이슈로직은 매우 복잡해지게 된다. 따라서 본 논문에서 제안된 SMT 구조는 순차적 이슈와 완료 방식을 채택하여, 복잡한 레지스터 리네이밍이나 재 순차 버퍼 등을 사용할 필요가 없이 비교적 간단한 스코어보드 어레이만을 사용하는 이슈구조를 사용할 수 있게 하였다. 그러나 여전히 SMT용 스코어보드 메카니즘은 일반적인 단일 쓰레드의 범용 프로세서의 경우보다는 훨씬 더 복잡하고 많은 비용이 소요 된다. 본 논문은 ARM 기본의 SMT 아키텍처 상에서의 다중 쓰레드를 위한 레지스터 파일 및 스코어보드 메카니즘을 설계하고 검증한다. 본 논문은 사이클 기반의 시뮬레이터 상에서 알고리즘 검증을 바탕으로 이를 하드웨어로 구현 하였으며, 최종적으로 게이트 레벨의 레이아웃 이전 단계에서 로직 지연 시간을 포함한 타이밍 검증을 수행하여 동작을 확인하고 성능 평가를 수행 하였다.
고성능 마이크로프로세서를 구현하기 위한 방법에는 여러 가지 디자인 요소들이 존재 하는데, 그 중에서 프로세서 내의 여러 개의 기능블록들로 명령어를 제공하여주는 이슈 제어로직의 아키텍처를 어떻게 설계하는가에 대한 방법이 중요한 요소로서 작용하고 있다. 이슈 제어로직이 명령어를 이슈하는 과정에서 명령어간의 의존성을 조사해서 명령어 사이의 충돌을 방지하거나 해결하기 위해서는 재 순차 버퍼나 리네이밍 레지스터, 혹은 스코어보드 정보들을 필요로 하게 된다. 이러한 하드웨어 요소들은 해당 프로세서의 아키텍처에 맞는 방식으로 연구되고 수정되어져야 하는데, 그 중에서 데이터 의존성에 대한 부분들은 명령어들의 순서나 프로세서내의 레지스터의 내용들과 밀접한 연관 관계를 지니게 된다. 본 논문은 그러한 고성능 마이크로프로세서를 위한 이슈 제어로직의 메카니즘을 SMT(Simultaneous Multi-Threading) 프로세서 상에서 구현하기위한 레지스터 파일의 구조 및 스코어보드 어레이의 메카니즘을 연구하고 설계한다. SMT 구조는 여러 개의 독립적인 쓰레드들로부터의 명령어들을 이용하여, 명령어 이슈 슬롯을 채울 수 있도록 하는 쓰레드 레벨 병렬성(TLP, Thread Level Parallelism) 을 사용함으로서, 결국 프로세서의 성능을 향상시킨다. 독립적인 여러 개의 준비된 쓰레드들을 갖는다는 것은 실행 유닛들이 무용의 상태로 남아있는 가능성을 줄일 수 있다는 의미이며, 이러한 사항은 결국 프로세서의 자원 활용에서의 효율성을 증가시키게 된다. SMT 프로세서에서 그러한 이점을 이용하기 위해서는, 이슈 유닛은 서로 다른 쓰레드들로부터의 여러 명령어들 간의 흐름을 제어해서, 그러한 명령어들 사이에서 충돌이 일어나지 않도록 해야 하지만, 이러한 사실로 인해 SMT 프로세서의 이슈로직은 매우 복잡해지게 된다. 따라서 본 논문에서 제안된 SMT 구조는 순차적 이슈와 완료 방식을 채택하여, 복잡한 레지스터 리네이밍이나 재 순차 버퍼 등을 사용할 필요가 없이 비교적 간단한 스코어보드 어레이만을 사용하는 이슈구조를 사용할 수 있게 하였다. 그러나 여전히 SMT용 스코어보드 메카니즘은 일반적인 단일 쓰레드의 범용 프로세서의 경우보다는 훨씬 더 복잡하고 많은 비용이 소요 된다. 본 논문은 ARM 기본의 SMT 아키텍처 상에서의 다중 쓰레드를 위한 레지스터 파일 및 스코어보드 메카니즘을 설계하고 검증한다. 본 논문은 사이클 기반의 시뮬레이터 상에서 알고리즘 검증을 바탕으로 이를 하드웨어로 구현 하였으며, 최종적으로 게이트 레벨의 레이아웃 이전 단계에서 로직 지연 시간을 포함한 타이밍 검증을 수행하여 동작을 확인하고 성능 평가를 수행 하였다.
While there are many design factors to realize high performance microprocessors, the architecture of an issue control logic that dispatches instructions to internal functional units is one of the main subject of all the design considerations. The issue control logic needs a reorder buffer, a renamin...
While there are many design factors to realize high performance microprocessors, the architecture of an issue control logic that dispatches instructions to internal functional units is one of the main subject of all the design considerations. The issue control logic needs a reorder buffer, a renaming register or scoreboard bit information to prevent instruction conflicts. And the conflicts can be resolved by checking dependencies among instructions at the instruction issue stage. Those hardware factors should be considered and modified properly according to processor architecture, and specially data dependencies are closely related to the order of instructions and the contents of register file. This thesis designs and implements a register file and a scoreboarding mechanism to implement the issue control logic for a high performance microprocessor on the SMT(Simultaneous Multi-Threading) architecture. The SMT architecture increases processor throughput by using TLP(Thread Level Parallelism), such that issue slots can be filled with instructions from multiple independent threads. Having multiple ready threads reduces the probability that functional units are left idle, which increases processor efficiency. To utilize the advantages for the SMT processor, the issue unit must control the flow of instructions from different threads in order not to create conflicts among the instructions. This makes the SMT issue logic extremely complex. Therefore, our SMT architecture which is modeled in this thesis, uses an in-order-issue and completion scheme, and therefore, can use a simple issue mechanism with a scoreboard array instead of using register renaming or a reorder buffer. However, an SMT scoreboarding mechanism is still more complex and costlier than that of a single threaded conventional processor. This thesis implements and verifies a register file and a scoreboarding mechanism for multiple threads on the ARM-based SMT architecture. All of the designs are implemented after algorithm-level verifications based on the cycle-based simulator, and then gate-level timing verification with pre-layout logic delay values and performance evaluation are also performed.
While there are many design factors to realize high performance microprocessors, the architecture of an issue control logic that dispatches instructions to internal functional units is one of the main subject of all the design considerations. The issue control logic needs a reorder buffer, a renaming register or scoreboard bit information to prevent instruction conflicts. And the conflicts can be resolved by checking dependencies among instructions at the instruction issue stage. Those hardware factors should be considered and modified properly according to processor architecture, and specially data dependencies are closely related to the order of instructions and the contents of register file. This thesis designs and implements a register file and a scoreboarding mechanism to implement the issue control logic for a high performance microprocessor on the SMT(Simultaneous Multi-Threading) architecture. The SMT architecture increases processor throughput by using TLP(Thread Level Parallelism), such that issue slots can be filled with instructions from multiple independent threads. Having multiple ready threads reduces the probability that functional units are left idle, which increases processor efficiency. To utilize the advantages for the SMT processor, the issue unit must control the flow of instructions from different threads in order not to create conflicts among the instructions. This makes the SMT issue logic extremely complex. Therefore, our SMT architecture which is modeled in this thesis, uses an in-order-issue and completion scheme, and therefore, can use a simple issue mechanism with a scoreboard array instead of using register renaming or a reorder buffer. However, an SMT scoreboarding mechanism is still more complex and costlier than that of a single threaded conventional processor. This thesis implements and verifies a register file and a scoreboarding mechanism for multiple threads on the ARM-based SMT architecture. All of the designs are implemented after algorithm-level verifications based on the cycle-based simulator, and then gate-level timing verification with pre-layout logic delay values and performance evaluation are also performed.
주제어
#스코어보드 쓰레드 레벨 병렬성 다중쓰레드 이슈 의존성 레지스터 파일 SMT Scoreboard TLP Thread level parallelism Multithreading Issue Dependency Register file
학위논문 정보
저자
허창용
학위수여기관
연세대학교 대학원
학위구분
국내석사
학과
전기·전자공학과
지도교수
이용석
발행연도
2003
총페이지
vii, 131p.
키워드
스코어보드 쓰레드 레벨 병렬성 다중쓰레드 이슈 의존성 레지스터 파일 SMT Scoreboard TLP Thread level parallelism Multithreading Issue Dependency Register file
※ AI-Helper는 부적절한 답변을 할 수 있습니다.