学位論文 MIPS32を対象としたTLB機構の改良による設計コスト削減及び高性能化

武藤, 郡

2016 , 三重大学
内容記述
近年,組み込みプロセッサの高性能化の要求に伴い,複数の命令を同時にフェッチ,実行するスーパースカラが注目を集めている.スーパースカラを研究する上では,プロセッサの設計データであるRTL(Register Transfer Level) 記述を容易に変更できるプロセッサデザインが求められている.このようなスーパースカラプロセッサデザインとしてFabScalarが提案されている.FabScalar はフェッチ幅や発行キューのサイズ等のパラメータをパラメータファイルとして渡すことで,様々なスーパースカラコアのRTL を生成する.FabScalar は様々な命令セットに対応しているが,本研究ではその中でも研究分野や組込み機器などで広く用いられているMIPS32ベースのプロセッサに着目する.一般に,汎用プロセッサは仮想メモリを実現するための物理アドレスと仮想アドレスとの変換を高速に行うために,プロセッサ内にTLB(Translation Lookaside Buffer)と呼ばれる高速なバッファを持っている.MIPS32 ISA ではTLB を構成するためにCAM(Content Addressable Memory) を要求しているが,メモリコンパイラを利用できるRAM とは異なりCAM は手設計する必要があるため,設計コストが非常に高いという問題がある.また,CAMをRTL で記述し,論理合成することも可能であるが,スタンダードセルを用いて設計したCAMは面積が非常に大きくなるため,MIPS32 プロセッサ用TLB のような連想キーのビット幅やエントリ数の多いものをスタンダードセルで設計するのは非現実的である.そこで本研究ではオリジナルのMIPS32で用いられているCAM型TLBと同じ動作を実現しながら,RAMマクロとスタンダードセルのみで設計可能な疑似CAM型TLB 機構を提案している.この手法は設計の困難なCAMを用いず,かつCAMを用いた場合と比較して性能を殆ど劣化させることなくTLB を実装可能なため設計コストを大幅に削減できるが,MIPS32 ISA の仕様に準拠させているため,オリジナルのMIPS32よりも高い性能を出すことはできない.一般的にTLB は保持できるエントリの容量を増加させることでヒット率が上がりページウォークによるメモリアクセスの性能低下を回避することができる.提案手法である疑似CAM型TLB機構は実装効率が高いため,低コストでTLB のエントリ数を増やすことができるが,MIPS32 ISA においてはTLB のエントリ数の最大値が64と定められているため既存のソフトウェアとの互換性を考慮すると,TLB のサイズを増加させられないという問題がある.そこで,本研究では更に,プログラム実行時に動的にコードの解析を行い,通常の64エントリのTLB と同等の振る舞いを実現するMIPS32ベースのプロセッサ向け高性能TLB を提案する.提案するTLB は内部的には64以上のエントリ数を持つが,命令実行時に使用するレジスタでは64エントリ時と同等の値を使用するため従来のOSなどのソフトウェアを改変することなくTLB の性能を向上させることができる.提案TLB を4way のスーパースカラコアに実装し評価を行ったところ,MIPS32オリジナルのCAMを使用するTLBと比較してヒット率を最大約20%,平均約6%向上させ,面積を約29%削減させることに成功した.$$In recent years, superscalar processors that fetch and run multiple instruction in same time attracts attention with the need for high-performance of built-in processor. In order to research and develop a superscalar processor, it is required that designer can change the processor design implemented by HDL (hardware description language) easily. To meet above demand, FabScalar has been proposed. FabScalar generates HDL design of various superscalar core by passing the parameter file which describes parameters such as fetch width, pieline length and issue queue size. However FabScalar supports variety of instruction sets, this study focuses MIPS32 base processor that is widely used in research fields and embedded devices. General-purpose processor, including MIPS32, has the high speed buffer called TLB (Translation Lookaside Buffer) in the processor to translate virtual address to physical address promptly to support virtual memory mechanism. In MIPS32 ISA, the TLB is required to be constructed by CAM (Content Addressable Memory). However, that has problem that design cost is very high, because design effort of a CAM is very high. In contrast, a RAM can be designed easily using memory macros or a memory compiler. However CAM can be written in register transfer level (RTL) and be synthesized, the area of CAM designed with standard-cell is very large because search key and bit width of TLB are large. Hence, this study proposes an implementation methodology of a pseudo CAM approach TLB using only standard-cell and RAM macros. This methodology realizes almost same behavior as CAM approach TLB which is used in original MIPS32. However, this methodology compliant to specification of MIPS32. Therefore, it is impossible to achieve better performance than the original MIPS32 TLB. In general, hit rate of TLB raise and memory access performance is improved by increasing TLB entries. Because the proposed pseudo CAM approach is small footprint, TLB entries can be increased with low cost. However, MIPS32 ISA limits the maximum TLB entries to 64, so it is not possible to increase the size of the TLB. To achieve better performance than the original MIPS32 TLB, this study also proposes dynamic code analyzer for more than 64 TLB entries. The proposed approach supports more than 64 entries without existing software/OS modification by analyzing executing code and compensating the difference of behavior between the original MIPS32 TLB and our large TLB. This study implements proposed two approach and evaluates its effectiveness. According to the evaluation results, the proposed approach improves hit rate in max 20%, in average 6%, reduces area by 29%.
三重大学大学院 工学研究科 博士前期課程 情報工学専攻 コンピュータ・アーキテクチャ研究室
本文を読む

http://miuse.mie-u.ac.jp/bitstream/10076/15328/1/2015M241.pdf

このアイテムのアクセス数:  回

その他の情報