計算機構成 第9回 POCOの性能評価と論理合成 テキスト7章

Slides:



Advertisements
Similar presentations
CPU設計と パイプライン.
Advertisements

計算機工学特論A 10/17  テキスト内容 1.1~1.4.
第3回 並列計算機のアーキテクチャと 並列処理の実際
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
VLSI設計論第4回 アキュムレータマシンと 仮遅延シミュレーション
Capter9 Creating an Embedded Test Bench ( )
第10回 電力見積もりと省電力設計 慶應義塾大学 理工学部 天野.
SOIピクセル検出器用 Digital Libraryの開発
計算機システムⅡ 主記憶装置とALU,レジスタの制御
Handel-C基礎 および 7セグとマウスのハンドリング
Verilog HDL 12月21日(月).
Rearrangeable NoC: 配線遅延を考慮した分散ルータ アーキテクチャ
コンピュータの主役はCPU(Central Processing Unit)
コンピュータ工学基礎 パイプラインハザード テキスト9章 115~124
CMPにおけるオンチップルータの 細粒度パワーゲーティングの評価
首都大学東京 都市教養学部数理科学コース 関谷博之
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
情報処理同実習 2007 担当:佐藤春樹、TA:中山君、橋本君、山本君
Ibaraki Univ. Dept of Electrical & Electronic Eng.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
VLSI設計論 慶應義塾大学 理工学部 情報工学科 山﨑 信行
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
ハードウェア記述言語による 論理回路設計とFPGAへの実装 2
計算機構成 第1回 ガイダンス VerilogHDLのシミュレーション環境
OpenMPハードウェア動作合成システムの検証(Ⅰ)
高速剰余算アルゴリズムとそのハードウェア実装についての研究
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
PCPU物理設計 ~マクロレベルの配置配線~
第8回 バックエンド設計その2 配線前処理 慶應義塾大学 理工学部 天野.
前坂 たけし (北大院・理) 其の壱 はじめての BIOS 前坂 たけし (北大院・理)
第6回 dc_shellを使った論理合成 慶應義塾大学 理工学部 天野.
コンピュータの歴史 〜計算速度の進歩〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
Advanced Computer Architecture
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
計算機構成 第6回 分岐命令とプログラムの実行 テキスト第5章
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
VLSI設計論第3回 順序回路の記述と論理合成
計算機構成 第8回 POCOの構造とVerilog記述 テキスト第5章-第6章
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
計算機構成 第11回 マルチサイクルCPU 慶應大学 天野英晴.
計算機構成 第5回 RISCの命令セットアーキテクチャ テキスト第4章
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
FINESSE 32ch Multi-Hit TDC
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
コンピュータアーキテクチャ 第 9 回.
Handel-Cを用いた パックマンの設計
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
より詳しく書けば 遅延時間が無視できない場合の TCPのスループットの低下について
エレクトロニクスII 第12回増幅回路(1) 佐藤勝昭.
FPGA 株式会社アプライド・マーケティング 大越 章司
理工学部情報学科 情報論理工学研究室 延山 周平
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
コンピュータアーキテクチャ 第 9 回.
コンピュータ工学基礎 マルチサイクル化とパイプライン化 テキスト9章 115~124
信号伝搬時間の電源電圧依存性の制御 による超伝導単一磁束量子回路の 動作余裕度の改善
並列処理プロセッサへの 実数演算機構の開発
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

計算機構成 第9回 POCOの性能評価と論理合成 テキスト7章 情報工学科 天野英晴

CPUの性能評価 プログラムを走らせてその実行時間を比較 走らせるプログラム デスクトップ、ラップトップ:SPECベンチマーク サーバー:TPC スーパーコンピュータ:Linpack, LLL 組み込み:EEMBC, MiBench 走らせるプログラム 〇実プログラムによるベンチマーク集 △カーネル:プログラムの核となる部分 ×トイプログラム:Quicksort, 8queen, エラトステネスの篩 ×合成ベンチマーク:Whetstone, Dhrystone

評価のまとめ方、報告の仕方 複数のプログラムからなるベンチマークの実行時間をどのように扱うか? 結果の報告 基準マシンを決めて相対値を取る 複数のプログラムに対しては相乗平均を取る 〇プログラムの実行時間、基準マシンに依らない一貫性のある結果が得られる ×非線形が入る 結果の報告 再現性があるように ハードウェア: 動作周波数、キャッシュ容量、主記憶容量、ディスク容量など ソフトウェア:OSの種類、バージョン、コンパイラの種類、オプションなど

MIPS, MFLOPS, MOPS MIPS (Million Instructions Per Second) 一秒間に何百万個命令が実行できるか? 一命令がどの程度の機能を持っているかが入っていない 異なる命令セット間の比較には無意味な基準 しかし分かりやすいし、IntelやARM間の比較にならばそれなりに有効 MFLOPS (Million FLoating Operations Per Second) 一秒間に何百万回浮動小数演算ができるか? 本来、MIPSより公平な基準だが、平方根や指数などの命令を持つかどうかで問題が生じる→正規化FLOPS MOPS(Million Operations Per Second)はDSP(信号処理用プロセッサ)など整数演算の実行回数で評価する(積和演算回数だったりする)。

FLOPS 10PFLOPS = 1秒に1京回浮動小数点演算を行う → 「京」の名前の由来 10の6乗 10の9乗 10の12乗 10の15乗 10の18乗 100万 M(メガ) 10億 G(ギガ) 1兆 T(テラ) 1000兆 P(ペタ) 100京 E(エクサ) スーパーコンピュータ 数10TFLOPS-10PFLOPS iPhone4S 140MFLOPS ハイスペックなPC 50-80GFLOPS アクセラレータ 数TFLOPS 注意! スーパーコンピュータの 性能向上率は1.9倍/年 10PFLOPS = 1秒に1京回浮動小数点演算を行う → 「京」の名前の由来

CPUの性能、コスト、電力 プログラム実行時間= 実行する命令数×CPI×クロック周期 コスト:半導体上の面積 CPI (Clock cycles Per Instruction) 1命令を実行するのに何クロック掛かるか? 今のPOCOはCPI=1 クロック周期:論理合成結果から求める クロック周波数= 1/(クロック周期) コスト:半導体上の面積 実装上一定の値以下にする必要がある コストは面積の4乗に比例とも言われる 電力:動作電力(Dynamic)とリーク電力 動作電力は放熱、電源設計に重要 リーク電力はバッテリーの保持時間にとって重要 → 論理合成、圧縮結果から求める

プロセッサの動作周波数は2003年で限界に達した クロック周波数の向上 Pentium4 3.2GHz Nehalem 3.3GHz 高速プロセッサのクロック周波数 周波数 京2GHz 1GHz 年間40% プロセッサの動作周波数は2003年で限界に達した 消費電力、発熱が限界に Alpha21064 150MHz 100MHz 1992 2008 2000 年

論理合成と圧縮 VerilogHDLで記述しただけでは実際に動くシステムはできない チップ上でCPUを実現する FPGA上でCPUで実現する 論理合成、圧縮が必要 対象デバイスのゲート接続の形に変換 チップ上でCPUを実現する Synopsys社Design Compiler →今回使う FPGA上でCPUで実現する FPGAベンダのツール →情報工学実験第2

フロントエンド設計 System-CなどCレベル設計 高位合成 Verilog-HDL, VHDLなどハードウェア記述言語でRTL設計 論理シミュレーション バグ 論理合成・圧縮 Synopsys社 Design Compiler 論理合成後のネットリスト バグ 論理合成後シミュレーション バックエンド

バックエンド設計 論理合成後ネットリスト フロアプラン 電源ネット生成 レイアウトツール Synopsys社IC Compiler Cadence社SoC Encounter 配置 クロックツリー生成 配線 最適化 レイアウトデータ(GDS) エラー エラー DRC, LVS, ERC Formulation検証 実配線シミュレーション

Design Compilerによる論理合成 ライセンスの関係で天野研究室のマシン(sirius.am.ics.keio.ac.jp)を使う アカウント情報は注意して管理 VDECのライセンスなので教育研究専用 対象デバイスは、オクラホマ大のTSMC 0.18um CMOSプロセスを利用 ライブラリのセル数が少ない プロセスが時代遅れ しかし、商用プロセスのライブラリを利用するためにはNDA契約が必要、非常に高価 バッチ処理で用いる tclファイル(ここではpoco.tcl)にやることを書いておく design_visionでゲート配線が見れるがこれは参考程度に使う 実行 dc_shell-t –f poco.tcl | tee poco.rpt レポートファイルがpoco.rptに生成される

poco.tclの中身 set search_path [concat "/home/cad/lib/osu_stdcells/lib/tsmc018/lib/" $search_path] set LIB_MAX_FILE {osu018_stdcells.db } set link_library $LIB_MAX_FILE set target_library $LIB_MAX_FILE read_verilog alu.v read_verilog rfile.v read_verilog poco1.v current_design "poco" create_clock -period 8.0 clk ライブラリの設定 ファイルの読み込み クロック周期の設定:8nsec → 125MHz

入出力遅延の設定 set_input_delay 2.5 -clock clk [find port "idatain*"] set_input_delay 7.0 -clock clk [find port "ddatain*"] set_output_delay 7.5 -clock clk [find port "iaddr*"] set_output_delay 3.0 -clock clk [find port "ddataout*"] set_output_delay 3.0 -clock clk [find port "daddr*"] set_output_delay 3.0 -clock clk [find port "we"]

入力遅延の設定 Y S ext ext11 A B + + ext ext0 PC 2.5ns 7ns … … 命令メモリ データメモリ ‘0’ 2:0 00 Y THB 01 S 00 01 10 pcsel ext ext11 ADD 10 A B alu_bsel + comsel zero 7:0 10:0 00 01 10 ‘1’ zero + ext ext0 7:0 rf_a rf_b 1 pcjr aadr 10:8 badr PC cadr 1 ‘7’ rf_c rwe rf_csel casel 00 01 10 7:5 2.5ns idatain 7ns ddatain iaddr … … ddataout daddr 命令メモリ データメモリ we

出力遅延の設定 Y S ext ext11 A B + + ext ext0 PC 0.5nsくらいは必要 8-0.5=7.5ns 7ns ‘0’ 2:0 00 Y THB 01 S 00 01 10 pcsel ext ext11 ADD 10 A B alu_bsel + comsel zero 7:0 10:0 00 01 10 ‘1’ zero + ext ext0 7:0 rf_a rf_b 1 pcjr aadr 10:8 badr PC cadr 1 ‘7’ rf_c rwe rf_csel casel 00 01 10 0.5nsくらいは必要 8-0.5=7.5ns 7:5 idatain 7ns ddatain 5nsくらいは必要 8-5=3ns iaddr … … ddataout daddr 命令メモリ データメモリ we

残りの設定 set_max_fanout 12 [current_design] set_max_area 0 ファンアウトは12 set_max_fanout 12 [current_design] set_max_area 0 compile -map_effort medium -area_effort medium report_timing -max_paths 10 report_area report_power write -hier -format verilog -output poco.vnet quit 面積は小さいほど良い そこそこがんばって 長い方から10本表示 面積、電力を表示 ネットリスト生成

クリティカルパスの表示 クロックの立上りがスタート 遅延時間の合計は7.79 クロックの立上りがエンド セットアップタイム0.18 Point Incr Path -------------------------------------------------------------------------- clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 input external delay 2.50 2.50 r idatain[12] (in) 0.00 2.50 r … rfile_1/r7_reg[15]/D (DFFPOSX1) 0.00 7.79 r data arrival time 7.79 clock clk (rise edge) 8.00 8.00 clock network delay (ideal) 0.00 8.00 rfile_1/r7_reg[15]/CLK (DFFPOSX1) 0.00 8.00 r library setup time -0.18 7.82 data required time 7.82 data arrival time -7.79 slack (MET) 0.04 クロックの立上りがスタート 遅延時間の合計は7.79 クロックの立上りがエンド セットアップタイム0.18 スラック(余裕)が0.04 動作周波数=1/(目標周期ースラック) スラックがマイナスのときは加算する

クリティカルパス Y S ext ext11 A B + + ext ext0 PC 7ns … … 命令メモリ データメモリ ‘0’ 00 2:0 00 Y THB 01 S 00 01 10 pcsel ext ext11 ADD 10 A B alu_bsel + comsel zero 7:0 10:0 00 01 10 ‘1’ zero + ext ext0 7:0 rf_a rf_b 1 pcjr aadr 10:8 badr PC cadr 1 ‘7’ rf_c rwe rf_csel casel 00 01 10 7:5 idatain 7ns ddatain iaddr … … ddataout daddr 命令メモリ データメモリ we

面積と電力評価 Combinational area: 35211.000000 Noncombinational area: 15104.000000 Net Interconnect area: undefined (No wire load specified) Total cell area: 50315.000000 Total area: undefined (単位は多分um2: 0.2mm角くらい) Cell Internal Power = 2.7845 mW (76%) Net Switching Power = 868.9760 uW (24%) --------- Total Dynamic Power = 3.6535 mW (100%) Cell Leakage Power = 88.5728 nW 組み合わせ回路 F.F. ここはレイアウトしないとわからない ネットを駆動する 電力 内部を含む全動作電力 もれ電力は0.18umではあまり多くない 125MHz動作時、シミュレーションをしていないため、スイッチング率は50%で評価しており 結果は目安に過ぎない

演習 1.周期を7.8nsにしてPOCOを論理合成し、 動作周波数、面積、電力を評価せよ。