Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マイクロプロセッサの設計と実装実験成果スライド
Search
Yuto Nakamura
December 23, 2022
Education
0
2.1k
マイクロプロセッサの設計と実装実験成果スライド
Yuto Nakamura
December 23, 2022
Tweet
Share
More Decks by Yuto Nakamura
See All by Yuto Nakamura
車載エッジデバイスにおけるAI実装
yutyan0119
0
1.2k
Other Decks in Education
See All in Education
Pydantic(AI)とJSONの詳細解説
mickey_kubo
0
100
SkimaTalk Tutorial for Corporate Customers
skimatalk
0
290
実務プログラム
takenawa
0
5.8k
郷土教育モデル事業(香川県小豆島町).pdf
bandg
0
190
Education-JAWS #3 ~教育現場に、AWSのチカラを~
masakiokuda
0
170
i-GIP 2025 中高生のみなさんへ資料
202200
0
490
JPCERTから始まる草の根活動~セキュリティ文化醸成のためのアクション~
masakiokuda
0
180
CHARMS-HP-Banner
weltraumreisende
0
190
미국 교환학생 가서 무료 홈스테이 살면서 인턴 취업하기
maryang
0
110
新卒研修に仕掛ける 学びのサイクル / Implementing Learning Cycles in New Graduate Training
takashi_toyosaki
1
150
Linuxのよく使うコマンドを解説
mickey_kubo
1
140
小さなチャレンジが生んだチームの大きな変化 -私のふりかえり探求の原点
callas1900
0
540
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.9k
Speed Design
sergeychernyshev
32
1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Adopting Sorbet at Scale
ufuk
77
9.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Writing Fast Ruby
sferik
628
62k
Documentation Writing (for coders)
carmenintech
72
4.9k
A Tale of Four Properties
chriscoyier
160
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
MICROPROCESSOR DESIGN & IMPLEMENTATION
実装方針 • 5段パイプライン • 2bit分岐予測 • フォワーディング有り • スーパースカラー ◦
2つ目のパイプライ ンは制約有り ◦ ALU/Branch x 2 ◦ RegRead x 4 2
第一世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 1093050850 Total time (secs): 13 Iterations/Sec : 23 Iterations : 300 3 • 5サイクル化 • パイプライン化はしない ◦ FDEMW -> FDEMW … • 80Mhzで実機動作
第二世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 2095233356 Total time (secs): 17 Iterations/Sec : 117 Iterations : 2000 4 • パイプライン化 • 常に分岐しない予測 ◦ ストールを短くする ◦ ストールは addi x0, 0 で命令 を差し替える • メモリアドレス専用の加算機 • 123Mhzで実機動作 D E M W F D X X X F X X X X F F D E M W
第三世代 5 • 第二世代に分岐予測を足した • 118Mhzで実機動作
第三世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 1958052487 Total time (secs): 15 Iterations/Sec : 133 Iterations : 2000 6 • 第二世代に分岐予測を足した • 118Mhzで実機動作 ※2bit分岐予測でも2レベル適応型分岐予測でもCoremarkのスコアは変わらず🤔
第四世代 7 • スーパースカラー化 • 以下のときは2つ目は実行しない ◦ 1つ目が分岐予測のとき ◦ メモリ命令のとき
◦ 1つ目の命令とRAWハザード ◦ 1つ目の命令とWAWハザード すべてのテストに通過したが CoreMarkは動作せず… 参考: IntRegReg 47clock-> 35clock IntRegImm 48clock -> 31clock
困った事 • すべてのテストに通ってCoremarkのトレースが一致しても Coremark_for_Synthesisが動かないことがあった ◦ Hardware counterの実装バグ ◦ 自前でテストを書いて解決 •
LoadAndStoreの仕様に気づくのに時間がかかる • ALU内で >>> が想定動作をしない($signedつけてもダメ) • vivadoのsimulationが結構な頻度で落ちる 8
やりたかったこと • スーパースカラー化完遂 • メモリアライメントを無視した命令への対応 (公式曰くoptional) • M命令、 FPU実装など… •
公式テストの実行 ◦ https://github.com/riscv-software-src/riscv-tests ◦ jalrはこれでテストしてみたがあってるかわからない (Privileged/CSR Instructionを実装していないため) 9
おわり 10 楽しかったです!!!