This commit is contained in:
2025-11-18 00:55:46 +08:00
parent 464d19d647
commit aa1a73202c
18 changed files with 2051 additions and 0 deletions

47
lab1/实验报告/1.md Normal file
View File

@@ -0,0 +1,47 @@
好~我把(3)和(4)都整理成**流水线时序表**5 级IF/ID/EX/M/WB空白表示该拍无操作。
# (3) 指令:
I1: LOAD R1,[a]
I2: LOAD R2,[b]
I3: ADD R1,R2 (结果写回 R2
I4: STORE R2,[x]
### 时序表(到 14 拍)
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| I1 | IF | ID | EX | M | WB | | | | | | | | | |
| I2 | | IF | ID | EX | M | WB | | | | | | | | |
| I3 | | | IF | ID | ID | ID | ID | EX | M | WB | | | | |
| I4 | | | | | | | IF | ID | ID | ID | ID | EX | M | |
> 说明I3 在 ID 等待到 R1@5、R2@6 写回后才在第 7 拍完成读寄存器I4 受 I3 占据 ID 反压IF 被阻塞到第 7 拍开始;又因需等 R2@10 写回ID 等到第 11 拍才读到新 R2随后 EX→M 结束。
---
# (4) 指令(提示给定):
I1: LOAD R1,[x]
I2: LOAD R2,[a]
I3: SHL R1 x*2
I4: ADD R1,R2 (写回 R2
I5: STORE R2,[x]
### 时序表(到 16 拍)
| 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| I1 | IF | ID | EX | M | WB | | | | | | | | | | | |
| I2 | | IF | ID | EX | M | WB | | | | | | | | | | |
| I3 | | | IF | ID | ID | ID | EX | M | WB | | | | | | | |
| I4 | | | | | | | IF | ID | ID | ID | EX | M | WB | | | |
| I5 | | | | | | | | | | IF | ID | ID | ID | ID | EX | M |
* 关键等待:
* I3 需等 R1@5 写回,故在 ID 等到第 6 拍读寄存器→7 EX→9 WB
* I4 需等 I3 的 R1 在第 9 拍写回,故在第 10 拍读寄存器→11 EX→13 WB
* I5 需等 R2 在第 13 拍写回,于第 14 拍读寄存器→15 EX→16 MSTORE 在 M 完成写内存)。
如果你想把这两张表导成可打印的 Word/Excel我也可以直接帮你生成文件。

BIN
lab1/实验报告/b42.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1,273 @@
# Fdb version 4
["pdflatex"] 1762875595.0068 "e:/jizu/2025-fall-yatcpu-repo/lab1/实验报告/report.tex" "report.pdf" "report" 1762875599.99833 2
"C:/Users/26586/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map" 1761456855.17569 80909 eab91d9745dd2edfd62a31d53cd5fe15 ""
"C:/Users/26586/AppData/Local/MiKTeX/fonts/pk/ljfour/jknappen/ec/dpi600/tcrm1200.pk" 1760284205.24029 14064 0435e595d6b2364a10c98a375d33de30 ""
"C:/Users/26586/AppData/Local/MiKTeX/miktex/data/le/pdftex/pdflatex.fmt" 1760284172.44912 13286967 cf204fddfacb93f0867a71203b66337a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/sfd/ttf2pk/UGBK.sfd" 1458473944 185547 3920f4d0519124bae1340c8047ea76bc ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/sfd/ttf2pk/Unicode.sfd" 1458473944 107591 5aa427daaa6489b60892769618bdfe76 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/jknappen/ec/tcrm1200.tfm" 993062508 1444 95ffe0f19b974d50849790c8225c7ef7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1233951848 1004 54797486969f23fa377b128694d548df ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1233951848 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmbx12.tfm" 1136765053 1324 c910af8c371558dc20f2d7822f66fe64 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmex10.tfm" 1136765053 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmitt10.tfm" 1136765053 768 2297ad2ac26f37e67f756dad27c77d68 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi10.tfm" 1136765053 1528 abec98dbc43e172678c11b3b9031252a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi12.tfm" 1136765053 1524 4414a8315f39513458b80dfc63bff03a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi6.tfm" 1136765053 1512 f21f83efb36853c0b70002322c1ab3ad ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmmi8.tfm" 1136765053 1520 eccf95517727cb11801f4f1aee3a21b4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr10.tfm" 1136765053 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr12.tfm" 1136765053 1288 655e228510b4c2a1abe905c368440826 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr17.tfm" 1136765053 1292 296a67155bdbfc32aa9c636f21e91433 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr6.tfm" 1136765053 1300 b62933e007d01cfd073f79b963c01526 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmr8.tfm" 1136765053 1292 21c1c5bfeaebccffdb478fd231a0997d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy10.tfm" 1136765053 1124 6c73e740cf17375f03eec0ee63599741 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy6.tfm" 1136765053 1116 933a60c408fc0a863a92debe84b2d294 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmsy8.tfm" 1136765053 1120 8b7d695260f3cff42e636090a8002094 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmtt10.tfm" 1136765053 768 1321e9409b4137d6fb428ac9dc956269 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/public/cm/cmtt12.tfm" 1136765053 772 9a936b7f5e2ff0557fce0f62822f0bbf ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs2c.tfm" 1247154072 1172 ee5931139b8ca44de9add03f234e54e0 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs3c.tfm" 1247154072 1172 f57611e995bb0bd0a39134d7932b6963 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs4c.tfm" 1247154072 1172 f1fd1a411a30f8fee31f7bf6d3bb0581 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs4e.tfm" 1247154072 1172 66721f51f04999b1ba30917a08b01c8c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs51.tfm" 1247154072 1172 fb1d3bd240b471452891f42887192d13 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs54.tfm" 1247154072 1172 3fb17769b1ebc198fca44ab9c6c852ac ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs57.tfm" 1247154072 1172 1294d8c0b8a209ee8ed70c57a6da1903 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs5c.tfm" 1247154072 1172 171b9dfc8d00b2aa4652d56b483e81e8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs63.tfm" 1247154072 1172 133c1833fb153408886bd45a32b088c7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs65.tfm" 1247154072 1172 f7e3e3697ffcd2b4275e3af6d3c25c95 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs67.tfm" 1247154072 1172 2ac51daa11cb49d568b65a81bc53ad8e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs6b.tfm" 1247154072 1172 51c9397f6ec1971497d3d5e6d0fac7e7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs6c.tfm" 1247154072 1172 8341a565c911679161e36ccf197e0b05 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs76.tfm" 1247154072 1172 ccb4b4ddd6a5cc27db7819f2c6b445c9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs8b.tfm" 1247154072 1172 d45a7893cb5d4d1acc86184ee0617a85 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs8f.tfm" 1247154072 1172 d3169b8d0b2839b5570b2ad9ce365b23 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unifs/unifs94.tfm" 1247154072 1172 ea1e2193d3bd028b2bad4d0666a14b6c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei30.tfm" 1247154072 1172 18ad1097cc3f3c36c758d33bf2dd19bd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei4e.tfm" 1247154072 1172 2d5e87dd6ec409d864e1fe1662d00646 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei4f.tfm" 1247154072 1172 d30a5fea134273110a27f48164b06e0c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei51.tfm" 1247154072 1172 7ee56fddd7b8de24477f743547fdf508 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei52.tfm" 1247154072 1172 481a000690ef15d58de2a93b3c34574c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei53.tfm" 1247154072 1172 a5c37c86ae9131b27b9c0199f3d12df2 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei54.tfm" 1247154072 1172 d48fa656debc44b54635777f72473a7c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei56.tfm" 1247154072 1172 3d70386494675a81e9a6697b900ec8a8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei57.tfm" 1247154072 1172 22fcff286e20a86fd370e6e42f5ce3ce ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei58.tfm" 1247154072 1172 72bdd9760fa9bdd25369ae236dd1ab29 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei59.tfm" 1247154072 1172 cb2089a3c8bd5826b7666fffdf326cbc ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5b.tfm" 1247154072 1172 2120666fa3540653fd1185d802592022 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5c.tfm" 1247154072 1172 bd43fa5a6a1bdc14b787de765c6df7cc ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5d.tfm" 1247154072 1172 ad3b1e5fc915d97e4a51b8667388e1de ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5e.tfm" 1247154072 1172 43d03c144e7fffa57074d64aa459c451 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei5f.tfm" 1247154072 1172 7048f0a8b693444590781debe54eecbd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei62.tfm" 1247154072 1172 3b0f7c4bc785f23eefed0160e713cd09 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei63.tfm" 1247154072 1172 fff11ea27394506a041a526a495f9652 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei64.tfm" 1247154072 1172 abd4be36b7787f9979caadfeef9cdae5 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei65.tfm" 1247154072 1172 c34b1545992ab0d7393a03f889ceeb86 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei67.tfm" 1247154072 1172 127372bbba8b4f4a65a26e565c0c6a2e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei68.tfm" 1247154072 1172 a6e39128d14a2d8e22ed8239e864feff ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6a.tfm" 1247154072 1172 ea35fa13ee483c308a0c68cffa2f52fb ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6b.tfm" 1247154072 1172 865a135040ed6ad7a3ce493fd0108ece ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6c.tfm" 1247154072 1172 7dd7a6f05321dd25f399ebba47f53887 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei6d.tfm" 1247154072 1172 e5be6419407f0c8504254055afe6a633 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei70.tfm" 1247154072 1172 37cb57ab58b65f2767baaede9a4fe5d2 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei73.tfm" 1247154072 1172 04594028df286605c5e043f49c67e7c6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei75.tfm" 1247154072 1172 a25bf5894dd20c7f5582ee012df9c39f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei76.tfm" 1247154072 1172 717e1aab695517230a61456b5d0d4ae0 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei77.tfm" 1247154072 1172 e79da86bd1270a9d0d9c14bd9641a9f1 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei78.tfm" 1247154072 1172 f839ed6c9e325affc7a6f8b3ce684108 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7a.tfm" 1247154072 1172 8e66b7d5a581fb748da225cc80739f0e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7c.tfm" 1247154072 1172 9e4fe5216b40afa8ffc6c259528a5985 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7e.tfm" 1247154072 1172 fc758d34799896087d8800c18ce979f8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei7f.tfm" 1247154072 1172 ea6db19cb8d2678f35079f6f874b4d84 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei80.tfm" 1247154072 1172 7c53005410278de6d612480963dd5ced ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei88.tfm" 1247154072 1172 4b5747a6c0d911e39c45f758903a60d6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei89.tfm" 1247154072 1172 364fffd8ea27d98d6edb9222bf84c180 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8b.tfm" 1247154072 1172 bdf00141a2e7bd9848cfb6dae5c7e1ef ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8c.tfm" 1247154072 1172 d7fb4fbe30ca7c33dda3dd09f420024a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei8f.tfm" 1247154072 1172 e5ac568cbbb10c21a8919c10147ccf70 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei90.tfm" 1247154072 1172 bf3a9ea28c06174042dcd642737f0ad2 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei95.tfm" 1247154072 1172 5a7e9ba612e7803abcac167ef6c5a665 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei96.tfm" 1247154072 1172 baafaa35cbf14b936974ec3a58b5f3e8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei98.tfm" 1247154072 1172 1261ce7302f6ac3352bb5ce3d475a0d8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/unihei9a.tfm" 1247154072 1172 8ba4cc771068baafaef7437667c8184d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unihei/uniheiff.tfm" 1247154072 1172 753ad64262b81ffe372ea0e0ce61c8b9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong30.tfm" 1247154072 1172 87d6ba1aff8b955258f6ef7a5d8e86e5 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong4e.tfm" 1247154072 1172 89be830028b08964827966f204abf065 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong4f.tfm" 1247154072 1172 dd7ec0fe171ece0b66015cb8929849f0 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong50.tfm" 1247154072 1172 04255d5811683ec0231c5fbfdd125757 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong51.tfm" 1247154072 1172 c46d453988a7d703c4f5c5104bb894f0 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong52.tfm" 1247154072 1172 ebad2f047d83d1be72706895f11e9896 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong53.tfm" 1247154072 1172 e2a03d4bc65395303b42aaff9aacd7be ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong54.tfm" 1247154072 1172 c93f9362e45903cde8748b054b30ab56 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong56.tfm" 1247154072 1172 483bbebc510ee17933c3af062965b6d4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong57.tfm" 1247154072 1172 eb821bcbfd385c0d470afef6ff6ac95b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong59.tfm" 1247154072 1172 2aa8dc9bdcfa6684a19d81e71fa8a3e1 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5b.tfm" 1247154072 1172 449ef25f4dcd447addb8325f7bf12b2a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5c.tfm" 1247154072 1172 bbe7d94072c5d308e673fac2512329ac ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5d.tfm" 1247154072 1172 1fd8042971efdf7ea35b87f9c6c10b8b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5e.tfm" 1247154072 1172 19d2fe591b31a07314df704f4d4d5035 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong5f.tfm" 1247154072 1172 e4d92bc2f617835508003ad811702c49 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong60.tfm" 1247154072 1172 7b3876cac8e97dc2d0915ac00b6e4c26 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong62.tfm" 1247154072 1172 9ffac14c72fbc4879502782835fb1e0a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong63.tfm" 1247154072 1172 5558042a53f0a34c54eaf1c8af13f377 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong64.tfm" 1247154072 1172 9123bc1a52f39fa754022a43a1394244 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong65.tfm" 1247154072 1172 2873dd6228ece5c9b075cfdc580febae ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong66.tfm" 1247154072 1172 f300cf9aac35a61638796e3d2ecc0e47 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong67.tfm" 1247154072 1172 bfeea74ab6553bd251ccbd092c04122a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong68.tfm" 1247154072 1172 e36ee82e53889b69220fe0f54fd031bb ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong69.tfm" 1247154072 1172 0209d2b99858d2df0c8ca278aa28ba42 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6a.tfm" 1247154072 1172 00f8a00771908df2108694cbd69134d7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6b.tfm" 1247154072 1172 eec47476c8168dac40c6b0d39a32faa4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6c.tfm" 1247154072 1172 da6dd37ba8d24cc1a36aa510c8ac56f9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6d.tfm" 1247154072 1172 3942109a9ca7a08ec5324d8eec4093d9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong6e.tfm" 1247154072 1172 42ca517602ab12cb60a5174be463b80a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong70.tfm" 1247154072 1172 65f78ffa41ce8b45f91f362b219db0e7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong71.tfm" 1247154072 1172 ac9bcd3bdbf45728188f855f6ba1cf2f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong72.tfm" 1247154072 1172 3988931ed4f7026bbecd81a5650d7854 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong73.tfm" 1247154072 1172 fd0cb8a34c74e2d27b9d6ceb95f2f96d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong74.tfm" 1247154072 1172 9c784b2c832c4124ae2a4cc407dc47a5 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong75.tfm" 1247154072 1172 402d633b1aba150cdcd663d684057796 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong76.tfm" 1247154072 1172 44cc15829d76f419e5a8bac63a8fed30 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong77.tfm" 1247154072 1172 700f8f915e90952a352eb230ae635c92 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong78.tfm" 1247154072 1172 7693562f5e83d5e3f5e32b3aa27065f6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong79.tfm" 1247154072 1172 ce37048b43f744f562318164cad22210 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7a.tfm" 1247154072 1172 f8375167264f31944f2511f305972138 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7b.tfm" 1247154072 1172 11ddb11e6fbba10bd31629a75b0d10c6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7c.tfm" 1247154072 1172 244f58522afea40d9573f43f05491e74 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7e.tfm" 1247154072 1172 c58659cf25f9ba2d1c548f969b16af79 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong7f.tfm" 1247154072 1172 4fb15fe26ea6dad0b54285fd42fdf8b9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong80.tfm" 1247154072 1172 bc023ebc9b121bce07974f18a4be28bc ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong81.tfm" 1247154072 1172 88aa66087396e79a2d9046555fe05ea9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong82.tfm" 1247154072 1172 97758becb7742daa4b4c772be88e9009 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong86.tfm" 1247154072 1172 1c2dc910b8ad781a19e026043f33b0fe ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong88.tfm" 1247154072 1172 e80b61bcc19bffe1009dc0e70ca042e8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong89.tfm" 1247154072 1172 8b185a44b25b68fee81f017ffd4f4c82 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8a.tfm" 1247154072 1172 a036683e790606984e21b7cb9523d25d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8b.tfm" 1247154072 1172 cb1829d4415ae14a6d1b42840373e23a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8c.tfm" 1247154072 1172 ef00399cafeb3f8b6343803347ead58f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8d.tfm" 1247154072 1172 766e8f05ddf433a70188e0789a492ab5 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8e.tfm" 1247154072 1172 9dfad4829b5a6e75e3e50384da3f5d00 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong8f.tfm" 1247154072 1172 39abbbe02586d0f65fa39c19429184a6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong90.tfm" 1247154072 1172 1dd258add692258fd748a53ff76ed075 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong91.tfm" 1247154072 1172 084e1e91aa4ae30efc415c3663943670 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong94.tfm" 1247154072 1172 00477fac41b20ed3dc624d7550b67f54 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong95.tfm" 1247154072 1172 b83dfb32a9b8d234282a0b11898d2c55 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong96.tfm" 1247154072 1172 97abce3faa5097f1401cb707f6f69600 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong97.tfm" 1247154072 1172 3322410a0eee91e13e02457b09378209 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong98.tfm" 1247154072 1172 0d85b1f7b78508ff1f0a5ef94e0aaca9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong99.tfm" 1247154072 1172 445e3c81b2f1f84601e454216cbde866 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong9a.tfm" 1247154072 1172 37a3cd36cf03e67f393bee80b1370d05 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisong9e.tfm" 1247154072 1172 e797949130fb017e573d6826989dff50 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/tfm/zhmetrics/unisong/unisongff.tfm" 1247154072 1172 156175f4eaa9daea4e21b890ac9fafb8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1247596666 32080 340ef9bf63678554ee606688e7b5339d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmitt10.pfb" 1247596666 26057 fad158094905eaf20f4ae3782af0c45c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1247596667 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi8.pfb" 1247596666 35469 70d41d2b9ea31d5d813066df7c99281c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1247596667 35752 024fb6c41858982481f6968b5fc26508 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1247596667 32722 d7379af29a190c3f453aba36302ff5a9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmtt10.pfb" 1247596667 31099 c85edf1dd5b9e826d67c9c7293b6786c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmtt12.pfb" 1247596666 24252 1e4e051947e12dfb50fee0b7f4e26e3a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/context/base/mkii/supp-pdf.mkii" 1580390158 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/bigintcalc/bigintcalc.sty" 1576433602 40635 c40361e206be584d448876bba8a64a3b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/bitset/bitset.sty" 1575926576 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/ctex/zhmap/ctex-zhmap-windows.tex" 1657818410 5818 f8fc8b7a2383410fd5810f6ec6565186 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/gettitlestring/gettitlestring.sty" 1576433666 8371 9d55b8bd010bc717624922fb3477d92e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/ifpdf.sty" 1734114575 480 5778104efadad304ced77548ca2184b1 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/iftex.sty" 1734114575 7984 7dbb9280f03c0a315425f1b4f35d43ee ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/iftex/ifvtex.sty" 1734114575 1057 525c2192b5febbd8c1f662c9468335bb ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/infwarerr/infwarerr.sty" 1575399508 8356 7bbb2c2373aa810be568c29e333da8ed ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/intcalc/intcalc.sty" 1576433764 31769 002a487f55041f8e805cfbf6385ffd97 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576763304 5412 d5a2436094cd7be85769db90f29250a6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/ltxcmds/ltxcmds.sty" 1702206890 17865 1a9bd36b4f98178fa551aca822290953 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/pdfescape/pdfescape.sty" 1575926700 19007 15924f7228aca6c6d184b115f4baa231 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/pdftexcmds/pdftexcmds.sty" 1623005277 20089 80423eac55aa175305d35b49e04fe23b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/stringenc/stringenc.sty" 1575105840 21514 b7557edcee22835ef6b03ede1802dad4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/generic/uniquecounter/uniquecounter.sty" 1576434012 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/00miktex/epstopdf-sys.cfg" 1616067285 584 2a1075dd71571459f59146da9f7502ad ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsbsy.sty" 1750428994 2222 27db7d52163edae53881b71ff62e754e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsgen.sty" 1750428993 4173 1b3e76addfb8afcb47db4811d66e1dc6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsmath.sty" 1750428995 88401 0c3d1897569ad77cb9d8fb25b0bdf668 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amsopn.sty" 1750428994 4474 c510a88aa5f51b8c773b50a7ee92befd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/amsmath/amstext.sty" 1750428995 2444 9983e1d0683f102e3b190c64a49313aa ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/article.cls" 1749467999 20144 b966087dda3b194755eb460d32e2ef75 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/fix-cm.sty" 1749467999 14741 6ad9efc94c78efc56749b0f059d15546 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/fontenc.sty" 1749467999 5275 2f50a1b91fdc3c2c6ff41843a6854061 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/ifthen.sty" 1749467999 5525 1593ca62a2554dd7423fc8a4e5a82125 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/inputenc.sty" 1749467999 5048 0270515b828149155424600fd2d58ac5 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/size12.clo" 1749467999 8449 8dc66c6c313c8eb2d774af83bca435dd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/base/ts1enc.def" 1749467999 8090 bcb38b4f148e75e16d2c33225dbca53b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJK.enc" 1670582841 29591 d67c9aa515f4260cdd60fa9f76d96368 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJK.sty" 1670582841 33241 3ee25f21824a4a347866900e5037d6f3 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJKspace.sty" 1670582841 2451 fef3f022e9041e00c5a6e0f269d142dd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/CJKutf8.sty" 1670582841 24621 e1c0abd54a87918dd1e31a35b20e99e4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.bdg" 1670582841 3857 eb1bacae4debef49a730cd935a17d208 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.chr" 1670582841 8601 48822bfc9ff5adbcc1c7f832dd920f29 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/UTF8/UTF8.enc" 1670582841 6111 5a99517ba8cc0c0905d3c54d7c7bcc48 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjk/mule/MULEenc.sty" 1670582841 12177 48c95ebf85a580326918e5eb490b477b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjkpunct/CJKpunct.spa" 1463194434 7 7979211695692235f48c7d3ba95863ea ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/cjkpunct/CJKpunct.sty" 1463224796 17985 35c6beb757001c750ed764f3ac4ef0d6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctex-name-utf8.cfg" 1657818410 1770 50e40a993c4c5ea72af9155aff7e605c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctex.cfg" 1657818410 1230 140911b70e325208170dc573931e772d ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctexbackend.cfg" 1657818410 1904 e0018b8e661c6b3e37f6e4a53f472d74 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/config/ctexopts.cfg" 1657818410 1291 feb9a19ff907013e8b3014895a284585 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexart.cls" 1657818410 55219 69f0e9646f7b8e2f2ed4c5f3eef59f5c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexhook.sty" 1657818410 6505 33157acfddefdd8fd513e2308e07a435 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexpatch.sty" 1657818410 8448 194e901f66d106236c72ef098b091d00 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/ctexspa.def" 1657818410 10881 81f1c81c512ebcc46745af438dfa73d9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/engine/ctex-engine-pdftex.def" 1657818410 20297 90a9347d15e74883d4c66bd8b9fe695e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/fd/c70rm.fd" 1657818410 1820 94b600cf0e8675b72e2f47cdec13db0a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/fontset/ctex-fontset-windows.def" 1657818410 4952 f781dcade04ad6ae6d09fde004a752be ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def" 1657818410 4622 4f152431881516d2a81822d98108b61f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/enumitem/enumitem.sty" 1738917170 52272 63d293bc0d496619edb57585740861a2 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1623003186 13886 d1306dcf79a944f6988e688c1785f9ce ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/etoolbox/etoolbox.sty" 1739279216 46850 d87daedc2abdc653769a6f1067849fe0 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/fancyhdr/fancyhdr.sty" 1740138435 31715 19e60610b63819fe670dfa1cd84a4e94 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/geometry/geometry.cfg" 1578053545 1104 d237cad3f14be9fd91fe1f904d051a01 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/geometry/geometry.sty" 1578053545 42759 e63af52ccddba7489ac0e17d6a3344bd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/color.cfg" 1465894292 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/graphics.cfg" 1465894292 1224 978390e9c2234eab29404bc21b268d1e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics-def/pdftex.def" 1713599642 19440 9da9dcbb27470349a580fca7372d454b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/color.sty" 1749322634 7245 a7e8457a46cda4920df85d975267efb4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphics.sty" 1749322634 18363 69bb4f5538964bfea50d1e6d89cbe69f ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphicx.sty" 1749322634 8118 43b99e52946c33a23f5f43b52d5cc5ec ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/keyval.sty" 1749322634 2671 d9941f4bf4750e9b0603c9a2ec54693b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/mathcolor.ltx" 1749322634 2885 9c645d672ae17285bba324998918efd8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/graphics/trig.sty" 1749322634 4023 e66acf578d6b564c4670fb57ff336a7a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hycolor/hycolor.sty" 1580380792 18571 5a6205e2f490b14bdc73fa03b48f19d6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/hpdftex.def" 1752319040 48140 5e8a3a4aa88ae09b90d524926a067201 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/hyperref.sty" 1752319040 223112 93e90b2b1b3ef21af41adaf029922dd3 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/nameref.sty" 1752319040 11027 0fe7ce2c6b5291fd809c2de7bbdca37e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/pd1enc.def" 1752319041 14249 e14b403fb70abdf1f6742598a63b0e2a ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/hyperref/puenc.def" 1752319041 117118 e2f5f7983a43f89e2ffcd709fc59d37c ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/kvoptions/kvoptions.sty" 1656236481 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/kvsetkeys/kvsetkeys.sty" 1665066333 13815 760b0c02f691ea230f5359c4e1de23a7 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/l3backend/l3backend-pdftex.def" 1751005717 30351 a2b09edc6c93a742566b222c33d0278e ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/l3kernel/expl3.sty" 1758055987 6558 bec0a36183594509927de3d0194841f8 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/listings.cfg" 1741168183 1865 301ae3c26fb8c0243307b619a6aa2dd3 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/listings.sty" 1741168182 81640 997090b6c021dc4af9ee00a97b85c5b4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstlang1.sty" 1741168183 206518 4eb59a801ad842a713fa168c34227290 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstmisc.sty" 1741168182 77051 be68720e5402397a830abb9eed5a2cb4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/listings/lstpatch.sty" 1741168182 353 9024412f43e92cd5b21fe9ded82d0610 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/refcount/refcount.sty" 1576433952 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1751104012 9684 a33a14b82ce60d6e77cb9be689d79ee6 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/url/url.sty" 1388490452 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/xcolor/xcolor.sty" 1729265222 55384 b454dec21c2d9f45ec0b793f0995b992 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhmetrics/c70zhfs.fd" 1253728767 998 00d438c2ab2c3d6b03167dfc6defbbd4 ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhnumber/zhnumber-utf8.cfg" 1657817710 5700 603e2f09dad175efabc8594730623a0b ""
"C:/Users/26586/AppData/Local/Programs/MiKTeX/tex/latex/zhnumber/zhnumber.sty" 1657817710 38160 aafa8d740e4f21b62a4acd4835e54359 ""
"C:/WINDOWS/Fonts/msyh.ttc" 1753780693.17946 19704352 fa04b86eb9c632ef04217c3e43d81c4d ""
"C:/WINDOWS/Fonts/simfang.ttf" 1711630440 10580176 decb47e7590859ba54ed4f18208e1ed7 ""
"C:/WINDOWS/Fonts/simhei.ttf" 1711630440 9755440 186b27ff118e04e580eaad8ae78f2420 ""
"C:/WINDOWS/Fonts/simsun.ttc" 1753780693.16377 18070492 1615784d420bffd42e8addd1714f7c6a ""
"b1.png" 1760016100.1311 133511 c4d7015bc0ffd59062cc43dabb38dee0 ""
"b2.png" 1760016308.25508 160026 1cb39dce57540fc47ade8fa5d67427df ""
"b3.png" 1760017262.67962 146829 91f9628ae583b81275dd0f7fb2700bc5 ""
"b41.png" 1762870341.84854 38634 6ab518edbcd4e070e4e9c7debc494b0e ""
"e:/jizu/2025-fall-yatcpu-repo/lab1/实验报告/report.tex" 1762875590.50658 19013 53a6fb21429e9aa6b3f6f5a066409f4b ""
"report.aux" 1762875597.9566 5906 e3292a3e7e0121d304f285d918f08e54 "pdflatex"
"report.out" 1762875597.9586 2657 419e0e626d89895c61f1e0057f559761 "pdflatex"
(generated)
"report.aux"
"report.log"
"report.out"
"report.pdf"
(rewritten before read)

View File

@@ -0,0 +1,602 @@
PWD E:\jizu\2025-fall-yatcpu-repo\lab1\实验报告
INPUT C:\Users\26586\AppData\Local\MiKTeX\miktex\data\le\pdftex\pdflatex.fmt
INPUT e:\jizu\2025-fall-yatcpu-repo\lab1\实验报告\report.tex
OUTPUT report.log
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexart.cls
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexart.cls
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexbackend.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3kernel\expl3.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3kernel\expl3.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3backend\l3backend-pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\l3backend\l3backend-pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\engine\ctex-engine-pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexhook.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexhook.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexpatch.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexpatch.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fix-cm.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fix-cm.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ts1enc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexopts.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctexopts.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\article.cls
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\article.cls
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\size12.clo
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\engine\ctex-engine-pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKutf8.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKutf8.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifpdf.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifpdf.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\iftex.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\iftex.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\inputenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\inputenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\mule\MULEenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\mule\MULEenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJK.enc
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fontenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\fontenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjkpunct\CJKpunct.spa
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKspace.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\CJKspace.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.bdg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.bdg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexspa.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\ctexspa.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hyperref.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber-utf8.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhnumber\zhnumber-utf8.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\scheme\ctex-scheme-chinese-article.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\scheme\ctex-scheme-chinese-article.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex-name-utf8.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex-name-utf8.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fontset\ctex-fontset-windows.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fontset\ctex-fontset-windows.def
INPUT C:\WINDOWS\Fonts\msyh.ttc
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\config\ctex.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\keyval.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\keyval.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifvtex.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\iftex\ifvtex.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\geometry\geometry.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphicx.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphicx.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphics.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\graphics.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\trig.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\trig.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\graphics.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-def\pdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsmath.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsmath.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsopn.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amstext.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amstext.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsgen.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsgen.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsbsy.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsbsy.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\amsmath\amsopn.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstpatch.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\listings.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\xcolor\xcolor.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\xcolor\xcolor.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics-cfg\color.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\mathcolor.ltx
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hyperref.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvsetkeys\kvsetkeys.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvsetkeys\kvsetkeys.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\kvdefinekeys\kvdefinekeys.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\kvdefinekeys\kvdefinekeys.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdfescape\pdfescape.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdfescape\pdfescape.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ltxcmds\ltxcmds.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ltxcmds\ltxcmds.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdftexcmds\pdftexcmds.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\pdftexcmds\pdftexcmds.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\infwarerr\infwarerr.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\infwarerr\infwarerr.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hycolor\hycolor.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hycolor\hycolor.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\nameref.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\nameref.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\refcount\refcount.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\refcount\refcount.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\gettitlestring\gettitlestring.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\gettitlestring\gettitlestring.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvoptions\kvoptions.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\kvoptions\kvoptions.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\etoolbox\etoolbox.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\etoolbox\etoolbox.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\stringenc\stringenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\stringenc\stringenc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\pd1enc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\intcalc\intcalc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\intcalc\intcalc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\puenc.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\url\url.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\url\url.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bitset\bitset.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bitset\bitset.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bigintcalc\bigintcalc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\bigintcalc\bigintcalc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\hyperref\hpdftex.def
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\rerunfilecheck\rerunfilecheck.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\rerunfilecheck\rerunfilecheck.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\uniquecounter\uniquecounter.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\uniquecounter\uniquecounter.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\fancyhdr\fancyhdr.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\fancyhdr\fancyhdr.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\enumitem\enumitem.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\enumitem\enumitem.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ifthen.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\base\ifthen.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.enc
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.enc
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.chr
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\cjk\UTF8\UTF8.chr
INPUT .\report.aux
INPUT .\report.aux
INPUT report.aux
OUTPUT report.aux
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\context\base\mkii\supp-pdf.mkii
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\epstopdf-pkg\epstopdf-base.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\epstopdf-pkg\epstopdf-base.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\00miktex\epstopdf-sys.cfg
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\graphics\color.sty
INPUT .\report.out
INPUT .\report.out
INPUT report.out
INPUT report.out
OUTPUT report.pdf
INPUT .\report.out
INPUT .\report.out
OUTPUT report.out
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\ctex\fd\c70rm.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong9a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisongff.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong53.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong54.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong73.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ctex\zhmap\ctex-zhmap-windows.tex
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\generic\ctex\zhmap\ctex-zhmap-windows.tex
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\map\pdftex\pdftex.map
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\sfd\ttf2pk\UGBK.sfd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\sfd\ttf2pk\Unicode.sfd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr17.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei9a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei54.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmex10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex7.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong68.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong53.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisongff.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr17.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei9a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei76.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong57.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong51.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong74.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong89.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong63.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong96.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong76.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong4f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong30.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong68.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong62.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong90.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong52.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong78.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong88.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong56.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong75.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong80.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong60.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei58.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\jknappen\ec\tcrm1200.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei64.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei51.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei77.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei96.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei80.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong71.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong69.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong86.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong66.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong6e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei63.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong50.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong94.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong9e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong82.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei78.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong64.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong97.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei62.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei88.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong81.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei56.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong5c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei57.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmbx12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei53.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei63.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei80.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei73.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei89.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei70.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong98.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6c.tfm
INPUT .\b1.png
INPUT .\b1.png
INPUT .\b1.png
INPUT .\b1.png
INPUT .\b1.png
INPUT .\b1.png
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei78.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong95.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong59.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong7c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr10.tfm
INPUT .\b2.png
INPUT .\b2.png
INPUT .\b2.png
INPUT .\b2.png
INPUT .\b2.png
INPUT .\b2.png
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei62.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei88.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong70.tfm
INPUT .\b3.png
INPUT .\b3.png
INPUT .\b3.png
INPUT .\b3.png
INPUT .\b3.png
INPUT .\b3.png
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei57.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei51.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei6d.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei52.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong99.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong79.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong91.tfm
INPUT .\b2.png
INPUT .\b2.png
INPUT .\b2.png
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmtt12.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7a.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstlang1.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\listings\lstmisc.sty
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmitt10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\tex\latex\zhmetrics\c70zhfs.fd
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs5c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs4c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs3c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei68.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong77.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs6c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs2c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs6b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs8f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs4e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs94.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs54.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs67.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr8.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmr6.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi8.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmmi6.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy8.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmsy6.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\cm\cmex10.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex8.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\public\amsfonts\cmextra\cmex7.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs57.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs8b.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs51.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs76.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unifs\unifs63.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong72.tfm
INPUT .\b41.png
INPUT .\b41.png
INPUT .\b41.png
INPUT .\b41.png
INPUT .\b41.png
INPUT .\b41.png
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei90.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei95.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei98.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei65.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5e.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei95.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei98.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\uniheiff.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei75.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei59.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei5c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei30.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei7f.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei8c.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unihei\unihei76.tfm
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\tfm\zhmetrics\unisong\unisong8e.tfm
INPUT report.aux
INPUT .\report.out
INPUT .\report.out
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simfang.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\pk\ljfour\jknappen\ec\dpi600\tcrm1200.pk
INPUT C:\Users\26586\AppData\Local\MiKTeX\fonts\pk\ljfour\jknappen\ec\dpi600\tcrm1200.pk
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simhei.ttf
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\WINDOWS\Fonts\simsun.ttc
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmbx12.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmbx12.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmitt10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmitt10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi8.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmmi8.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr12.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmr12.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt10.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt12.pfb
INPUT C:\Users\26586\AppData\Local\Programs\MiKTeX\fonts\type1\public\amsfonts\cm\cmtt12.pfb

BIN
lab1/朱梓涵24325356.rar Normal file

Binary file not shown.

View File

@@ -0,0 +1,70 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.experimental.ChiselEnum
import chisel3.util._
import riscv.Parameters
object ALUFunctions extends ChiselEnum {
val zero, add, sub, sll, slt, xor, or, and, srl, sra, sltu = Value
}
class ALU extends Module {
val io = IO(new Bundle {
val func = Input(ALUFunctions())
val op1 = Input(UInt(Parameters.DataWidth))
val op2 = Input(UInt(Parameters.DataWidth))
val result = Output(UInt(Parameters.DataWidth))
})
io.result := 0.U
switch(io.func) {
is(ALUFunctions.add) {
io.result := io.op1 + io.op2
}
is(ALUFunctions.sub) {
io.result := io.op1 - io.op2
}
is(ALUFunctions.sll) {
io.result := io.op1 << io.op2(4, 0)
}
is(ALUFunctions.slt) {
io.result := io.op1.asSInt < io.op2.asSInt
}
is(ALUFunctions.xor) {
io.result := io.op1 ^ io.op2
}
is(ALUFunctions.or) {
io.result := io.op1 | io.op2
}
is(ALUFunctions.and) {
io.result := io.op1 & io.op2
}
is(ALUFunctions.srl) {
io.result := io.op1 >> io.op2(4, 0)
}
is(ALUFunctions.sra) {
io.result := (io.op1.asSInt >> io.op2(4, 0)).asUInt
}
is(ALUFunctions.sltu) {
io.result := io.op1 < io.op2
}
}
}

View File

@@ -0,0 +1,86 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util._
class ALUControl extends Module {
val io = IO(new Bundle {
val opcode = Input(UInt(7.W))
val funct3 = Input(UInt(3.W))
val funct7 = Input(UInt(7.W))
val alu_funct = Output(ALUFunctions())
})
io.alu_funct := ALUFunctions.zero
switch(io.opcode) {
is(InstructionTypes.I) {
io.alu_funct := MuxLookup(
io.funct3,
ALUFunctions.zero,
IndexedSeq(
InstructionsTypeI.addi -> ALUFunctions.add,
InstructionsTypeI.slli -> ALUFunctions.sll,
InstructionsTypeI.slti -> ALUFunctions.slt,
InstructionsTypeI.sltiu -> ALUFunctions.sltu,
InstructionsTypeI.xori -> ALUFunctions.xor,
InstructionsTypeI.ori -> ALUFunctions.or,
InstructionsTypeI.andi -> ALUFunctions.and,
InstructionsTypeI.sri -> Mux(io.funct7(5), ALUFunctions.sra, ALUFunctions.srl)
),
)
}
is(InstructionTypes.RM) {
io.alu_funct := MuxLookup(
io.funct3,
ALUFunctions.zero,
IndexedSeq(
InstructionsTypeR.add_sub -> Mux(io.funct7(5), ALUFunctions.sub, ALUFunctions.add),
InstructionsTypeR.sll -> ALUFunctions.sll,
InstructionsTypeR.slt -> ALUFunctions.slt,
InstructionsTypeR.sltu -> ALUFunctions.sltu,
InstructionsTypeR.xor -> ALUFunctions.xor,
InstructionsTypeR.or -> ALUFunctions.or,
InstructionsTypeR.and -> ALUFunctions.and,
InstructionsTypeR.sr -> Mux(io.funct7(5), ALUFunctions.sra, ALUFunctions.srl)
),
)
}
is(InstructionTypes.B) {
io.alu_funct := ALUFunctions.add
}
is(InstructionTypes.L) {
io.alu_funct := ALUFunctions.add
}
is(InstructionTypes.S) {
io.alu_funct := ALUFunctions.add
}
is(Instructions.jal) {
io.alu_funct := ALUFunctions.add
}
is(Instructions.jalr) {
io.alu_funct := ALUFunctions.add
}
is(Instructions.lui) {
io.alu_funct := ALUFunctions.add
}
is(Instructions.auipc) {
io.alu_funct := ALUFunctions.add
}
}
}

View File

@@ -0,0 +1,82 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util.Cat
import riscv.{CPUBundle, Parameters}
class CPU extends Module {
val io = IO(new CPUBundle)
val regs = Module(new RegisterFile)
val inst_fetch = Module(new InstructionFetch)
val id = Module(new InstructionDecode)
val ex = Module(new Execute)
val mem = Module(new MemoryAccess)
val wb = Module(new WriteBack)
io.deviceSelect := mem.io.memory_bundle.address(Parameters.AddrBits - 1, Parameters.AddrBits - Parameters.SlaveDeviceCountBits)
inst_fetch.io.jump_address_id := ex.io.if_jump_address
inst_fetch.io.jump_flag_id := ex.io.if_jump_flag
inst_fetch.io.instruction_valid := io.instruction_valid
inst_fetch.io.instruction_read_data := io.instruction
io.instruction_address := inst_fetch.io.instruction_address
regs.io.write_enable := id.io.reg_write_enable
regs.io.write_address := id.io.reg_write_address
regs.io.write_data := wb.io.regs_write_data
regs.io.read_address1 := id.io.regs_reg1_read_address
regs.io.read_address2 := id.io.regs_reg2_read_address
regs.io.debug_read_address := io.debug_read_address
io.debug_read_data := regs.io.debug_read_data
id.io.instruction := inst_fetch.io.instruction
// lab1(cpu)
ex.io.instruction := inst_fetch.io.instruction
ex.io.instruction_address := inst_fetch.io.instruction_address
ex.io.reg1_data := regs.io.read_data1
ex.io.reg2_data := regs.io.read_data2
ex.io.immediate := id.io.ex_immediate
ex.io.aluop1_source := id.io.ex_aluop1_source
ex.io.aluop2_source := id.io.ex_aluop2_source
// lab1(cpu) end
mem.io.alu_result := ex.io.mem_alu_result
mem.io.reg2_data := regs.io.read_data2
mem.io.memory_read_enable := id.io.memory_read_enable
mem.io.memory_write_enable := id.io.memory_write_enable
mem.io.funct3 := inst_fetch.io.instruction(14, 12)
io.memory_bundle.address := Cat(0.U(Parameters.SlaveDeviceCountBits.W),mem.io.memory_bundle.address(Parameters.AddrBits - 1 - Parameters.SlaveDeviceCountBits, 0))
io.memory_bundle.write_enable := mem.io.memory_bundle.write_enable
io.memory_bundle.write_data := mem.io.memory_bundle.write_data
io.memory_bundle.write_strobe := mem.io.memory_bundle.write_strobe
mem.io.memory_bundle.read_data := io.memory_bundle.read_data
wb.io.instruction_address := inst_fetch.io.instruction_address
wb.io.alu_result := ex.io.mem_alu_result
wb.io.memory_read_data := mem.io.wb_memory_read_data
wb.io.regs_write_source := id.io.wb_reg_write_source
}

View File

@@ -0,0 +1,81 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util.{Cat, MuxLookup}
import riscv.Parameters
class Execute extends Module {
val io = IO(new Bundle {
val instruction = Input(UInt(Parameters.InstructionWidth))
val instruction_address = Input(UInt(Parameters.AddrWidth))
val reg1_data = Input(UInt(Parameters.DataWidth))
val reg2_data = Input(UInt(Parameters.DataWidth))
val immediate = Input(UInt(Parameters.DataWidth))
val aluop1_source = Input(UInt(1.W))
val aluop2_source = Input(UInt(1.W))
val mem_alu_result = Output(UInt(Parameters.DataWidth))
val if_jump_flag = Output(Bool())
val if_jump_address = Output(UInt(Parameters.DataWidth))
})
val opcode = io.instruction(6, 0)
val funct3 = io.instruction(14, 12)
val funct7 = io.instruction(31, 25)
val rd = io.instruction(11, 7)
val uimm = io.instruction(19, 15)
val alu = Module(new ALU)
val alu_ctrl = Module(new ALUControl)
alu_ctrl.io.opcode := opcode
alu_ctrl.io.funct3 := funct3
alu_ctrl.io.funct7 := funct7
// lab1(Execute)
alu.io.func := alu_ctrl.io.alu_funct
alu.io.op1 := Mux(
io.aluop1_source === ALUOp1Source.Register,
io.reg1_data,
io.instruction_address
)
alu.io.op2 := Mux(
io.aluop2_source === ALUOp2Source.Register,
io.reg2_data,
io.immediate
)
// lab1(Execute) end
io.mem_alu_result := alu.io.result
io.if_jump_flag := opcode === Instructions.jal ||
(opcode === Instructions.jalr) ||
(opcode === InstructionTypes.B) && MuxLookup(
funct3,
false.B,
IndexedSeq(
InstructionsTypeB.beq -> (io.reg1_data === io.reg2_data),
InstructionsTypeB.bne -> (io.reg1_data =/= io.reg2_data),
InstructionsTypeB.blt -> (io.reg1_data.asSInt < io.reg2_data.asSInt),
InstructionsTypeB.bge -> (io.reg1_data.asSInt >= io.reg2_data.asSInt),
InstructionsTypeB.bltu -> (io.reg1_data.asUInt < io.reg2_data.asUInt),
InstructionsTypeB.bgeu -> (io.reg1_data.asUInt >= io.reg2_data.asUInt)
)
)
io.if_jump_address := io.immediate + Mux(opcode === Instructions.jalr, io.reg1_data, io.instruction_address)
}

View File

@@ -0,0 +1,205 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util._
import riscv.Parameters
object InstructionTypes {
val L = "b0000011".U
val I = "b0010011".U
val S = "b0100011".U
val RM = "b0110011".U
val B = "b1100011".U
}
object Instructions {
val lui = "b0110111".U
val nop = "b0000001".U
val jal = "b1101111".U
val jalr = "b1100111".U
val auipc = "b0010111".U
val csr = "b1110011".U
val fence = "b0001111".U
}
object InstructionsTypeL {
val lb = "b000".U
val lh = "b001".U
val lw = "b010".U
val lbu = "b100".U
val lhu = "b101".U
}
object InstructionsTypeI {
val addi = 0.U
val slli = 1.U
val slti = 2.U
val sltiu = 3.U
val xori = 4.U
val sri = 5.U
val ori = 6.U
val andi = 7.U
}
object InstructionsTypeS {
val sb = "b000".U
val sh = "b001".U
val sw = "b010".U
}
object InstructionsTypeR {
val add_sub = 0.U
val sll = 1.U
val slt = 2.U
val sltu = 3.U
val xor = 4.U
val sr = 5.U
val or = 6.U
val and = 7.U
}
object InstructionsTypeM {
val mul = 0.U
val mulh = 1.U
val mulhsu = 2.U
val mulhum = 3.U
val div = 4.U
val divu = 5.U
val rem = 6.U
val remu = 7.U
}
object InstructionsTypeB {
val beq = "b000".U
val bne = "b001".U
val blt = "b100".U
val bge = "b101".U
val bltu = "b110".U
val bgeu = "b111".U
}
object InstructionsTypeCSR {
val csrrw = "b001".U
val csrrs = "b010".U
val csrrc = "b011".U
val csrrwi = "b101".U
val csrrsi = "b110".U
val csrrci = "b111".U
}
object InstructionsNop {
val nop = 0x00000013L.U(Parameters.DataWidth)
}
object InstructionsRet {
val mret = 0x30200073L.U(Parameters.DataWidth)
val ret = 0x00008067L.U(Parameters.DataWidth)
}
object InstructionsEnv {
val ecall = 0x00000073L.U(Parameters.DataWidth)
val ebreak = 0x00100073L.U(Parameters.DataWidth)
}
object ALUOp1Source {
val Register = 0.U(1.W)
val InstructionAddress = 1.U(1.W)
}
object ALUOp2Source {
val Register = 0.U(1.W)
val Immediate = 1.U(1.W)
}
object RegWriteSource {
val ALUResult = 0.U(2.W)
val Memory = 1.U(2.W)
//val CSR = 2.U(2.W)
val NextInstructionAddress = 3.U(2.W)
}
class InstructionDecode extends Module {
val io = IO(new Bundle {
val instruction = Input(UInt(Parameters.InstructionWidth))
val regs_reg1_read_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
val regs_reg2_read_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
val ex_immediate = Output(UInt(Parameters.DataWidth))
val ex_aluop1_source = Output(UInt(1.W))
val ex_aluop2_source = Output(UInt(1.W))
val memory_read_enable = Output(Bool())
val memory_write_enable = Output(Bool())
val wb_reg_write_source = Output(UInt(2.W))
val reg_write_enable = Output(Bool())
val reg_write_address = Output(UInt(Parameters.PhysicalRegisterAddrWidth))
})
val opcode = io.instruction(6, 0)
val funct3 = io.instruction(14, 12)
val funct7 = io.instruction(31, 25)
val rd = io.instruction(11, 7)
val rs1 = io.instruction(19, 15)
val rs2 = io.instruction(24, 20)
io.regs_reg1_read_address := Mux(opcode === Instructions.lui, 0.U(Parameters.PhysicalRegisterAddrWidth), rs1)
io.regs_reg2_read_address := rs2
val immediate = MuxLookup(
opcode,
Cat(Fill(20, io.instruction(31)), io.instruction(31, 20)),
IndexedSeq(
InstructionTypes.I -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
InstructionTypes.L -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
Instructions.jalr -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 20)),
InstructionTypes.S -> Cat(Fill(21, io.instruction(31)), io.instruction(30, 25), io.instruction(11, 7)),
InstructionTypes.B -> Cat(Fill(20, io.instruction(31)), io.instruction(7), io.instruction(30, 25), io.instruction(11, 8), 0.U(1.W)),
Instructions.lui -> Cat(io.instruction(31, 12), 0.U(12.W)),
Instructions.auipc -> Cat(io.instruction(31, 12), 0.U(12.W)),
Instructions.jal -> Cat(Fill(12, io.instruction(31)), io.instruction(19, 12), io.instruction(20), io.instruction(30, 21), 0.U(1.W))
)
)
io.ex_immediate := immediate
io.ex_aluop1_source := Mux(
opcode === Instructions.auipc || opcode === InstructionTypes.B || opcode === Instructions.jal,
ALUOp1Source.InstructionAddress,
ALUOp1Source.Register
)
// lab1(InstructionDecode)
io.ex_aluop2_source := Mux(opcode === InstructionTypes.RM,
ALUOp2Source.Register,
ALUOp2Source.Immediate
)
// 仅当指令是 Load 类型时,才使能内存读。
io.memory_read_enable := opcode === InstructionTypes.L
// 仅当指令是 Store 类型时,才使能内存写。
io.memory_write_enable := opcode === InstructionTypes.S
// 根据指令类型,选择写回寄存器的数据来源。
io.wb_reg_write_source := MuxLookup(
opcode,
RegWriteSource.ALUResult // 默认来源是ALU计算结果
)( // 使用新的 MuxLookup 语法
IndexedSeq(
InstructionTypes.L -> RegWriteSource.Memory, // Load 指令来源是内存
Instructions.jal -> RegWriteSource.NextInstructionAddress, // jal/jalr 来源是下一条指令地址 (PC+4)
Instructions.jalr -> RegWriteSource.NextInstructionAddress
)
)
// lab1(InstructionDecode) end
io.reg_write_enable := (opcode === InstructionTypes.RM) || (opcode === InstructionTypes.I) ||
(opcode === InstructionTypes.L) || (opcode === Instructions.auipc) || (opcode === Instructions.lui) ||
(opcode === Instructions.jal) || (opcode === Instructions.jalr)
io.reg_write_address := io.instruction(11, 7)
}

View File

@@ -0,0 +1,55 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import riscv.Parameters
object ProgramCounter {
val EntryAddress = Parameters.EntryAddress
}
class InstructionFetch extends Module {
val io = IO(new Bundle {
val jump_flag_id = Input(Bool())
val jump_address_id = Input(UInt(Parameters.AddrWidth))
val instruction_read_data = Input(UInt(Parameters.DataWidth))
val instruction_valid = Input(Bool())
val instruction_address = Output(UInt(Parameters.AddrWidth))
val instruction = Output(UInt(Parameters.InstructionWidth))
})
val pc = RegInit(ProgramCounter.EntryAddress)
when(io.instruction_valid) {
io.instruction := io.instruction_read_data
// lab1(InstructionFetch)
when(io.jump_flag_id) {
pc := io.jump_address_id
}.otherwise {
pc := pc + 4.U
}
// la1(InstructionFetch) end
}.otherwise{
pc := pc
io.instruction := 0x00000013.U
}
io.instruction_address := pc
}

View File

@@ -0,0 +1,106 @@
// Copyright 2022 Canbin Huang
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util._
import peripheral.RAMBundle
import riscv.Parameters
class MemoryAccess extends Module {
val io = IO(new Bundle() {
val alu_result = Input(UInt(Parameters.DataWidth))
val reg2_data = Input(UInt(Parameters.DataWidth))
val memory_read_enable = Input(Bool())
val memory_write_enable = Input(Bool())
val funct3 = Input(UInt(3.W))
val wb_memory_read_data = Output(UInt(Parameters.DataWidth))
val memory_bundle = Flipped(new RAMBundle)
})
val mem_address_index = io.alu_result(log2Up(Parameters.WordSize) - 1, 0).asUInt
io.memory_bundle.write_enable := false.B
io.memory_bundle.write_data := 0.U
io.memory_bundle.address := io.alu_result
io.memory_bundle.write_strobe := VecInit(Seq.fill(Parameters.WordSize)(false.B))
io.wb_memory_read_data := 0.U
when(io.memory_read_enable) {
val data = io.memory_bundle.read_data
io.wb_memory_read_data := MuxLookup(
io.funct3,
0.U,
IndexedSeq(
InstructionsTypeL.lb -> MuxLookup(
mem_address_index,
Cat(Fill(24, data(31)), data(31, 24)),
IndexedSeq(
0.U -> Cat(Fill(24, data(7)), data(7, 0)),
1.U -> Cat(Fill(24, data(15)), data(15, 8)),
2.U -> Cat(Fill(24, data(23)), data(23, 16))
)
),
InstructionsTypeL.lbu -> MuxLookup(
mem_address_index,
Cat(Fill(24, 0.U), data(31, 24)),
IndexedSeq(
0.U -> Cat(Fill(24, 0.U), data(7, 0)),
1.U -> Cat(Fill(24, 0.U), data(15, 8)),
2.U -> Cat(Fill(24, 0.U), data(23, 16))
)
),
InstructionsTypeL.lh -> Mux(
mem_address_index === 0.U,
Cat(Fill(16, data(15)), data(15, 0)),
Cat(Fill(16, data(31)), data(31, 16))
),
InstructionsTypeL.lhu -> Mux(
mem_address_index === 0.U,
Cat(Fill(16, 0.U), data(15, 0)),
Cat(Fill(16, 0.U), data(31, 16))
),
InstructionsTypeL.lw -> data
)
)
}.elsewhen(io.memory_write_enable) {
io.memory_bundle.write_data := io.reg2_data
io.memory_bundle.write_enable := true.B
io.memory_bundle.write_strobe := VecInit(Seq.fill(Parameters.WordSize)(false.B))
when(io.funct3 === InstructionsTypeS.sb) {
io.memory_bundle.write_strobe(mem_address_index) := true.B
io.memory_bundle.write_data := io.reg2_data(Parameters.ByteBits, 0) << (mem_address_index << log2Up(Parameters.ByteBits).U)
}.elsewhen(io.funct3 === InstructionsTypeS.sh) {
when(mem_address_index === 0.U) {
for (i <- 0 until Parameters.WordSize / 2) {
io.memory_bundle.write_strobe(i) := true.B
}
io.memory_bundle.write_data := io.reg2_data(Parameters.WordSize / 2 * Parameters.ByteBits, 0)
}.otherwise {
for (i <- Parameters.WordSize / 2 until Parameters.WordSize) {
io.memory_bundle.write_strobe(i) := true.B
}
io.memory_bundle.write_data := io.reg2_data(Parameters.WordSize / 2 * Parameters.ByteBits, 0) << (Parameters
.WordSize / 2 * Parameters.ByteBits)
}
}.elsewhen(io.funct3 === InstructionsTypeS.sw) {
for (i <- 0 until Parameters.WordSize) {
io.memory_bundle.write_strobe(i) := true.B
}
}
}
}

View File

@@ -0,0 +1,70 @@
// Copyright 2021 Howard Lau
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import riscv.Parameters
object Registers extends Enumeration {
type Register = Value
val zero,
ra, sp, gp, tp,
t0, t1, t2, fp,
s1,
a0, a1, a2, a3, a4, a5, a6, a7,
s2, s3, s4, s5, s6, s7, s8, s9, s10, s11,
t3, t4, t5, t6 = Value
}
class RegisterFile extends Module {
val io = IO(new Bundle {
val write_enable = Input(Bool())
val write_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
val write_data = Input(UInt(Parameters.DataWidth))
val read_address1 = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
val read_address2 = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
val read_data1 = Output(UInt(Parameters.DataWidth))
val read_data2 = Output(UInt(Parameters.DataWidth))
val debug_read_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
val debug_read_data = Output(UInt(Parameters.DataWidth))
})
val registers = RegInit(VecInit(Seq.fill(Parameters.PhysicalRegisters)(0.U(Parameters.DataWidth))))
when(!reset.asBool) {
when(io.write_enable && io.write_address =/= 0.U) {
registers(io.write_address) := io.write_data
}
}
io.read_data1 := Mux(
io.read_address1 === 0.U,
0.U,
registers(io.read_address1)
)
io.read_data2 := Mux(
io.read_address2 === 0.U,
0.U,
registers(io.read_address2)
)
io.debug_read_data := Mux(
io.debug_read_address === 0.U,
0.U,
registers(io.debug_read_address)
)
}

View File

@@ -0,0 +1,37 @@
// Copyright 2022 Canbin Huang
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package riscv.core
import chisel3._
import chisel3.util._
import riscv.Parameters
class WriteBack extends Module {
val io = IO(new Bundle() {
val instruction_address = Input(UInt(Parameters.AddrWidth))
val alu_result = Input(UInt(Parameters.DataWidth))
val memory_read_data = Input(UInt(Parameters.DataWidth))
val regs_write_source = Input(UInt(2.W))
val regs_write_data = Output(UInt(Parameters.DataWidth))
})
io.regs_write_data := MuxLookup(
io.regs_write_source,
io.alu_result,
IndexedSeq(
RegWriteSource.Memory -> io.memory_read_data,
RegWriteSource.NextInstructionAddress -> (io.instruction_address + 4.U)
)
)
}

Binary file not shown.

204
lab1/测试文件报告.tex Normal file
View File

@@ -0,0 +1,204 @@
\section{测试文件}
\label{sec:testing}
CPUTest.scala 测试了整个 CPU 运行三个程序的正确性。本节选择其中两个程序的运行进行详细分析,查看 csrc 文件夹下对应 C 文件的内容,概述该程序做了什么,执行结果如何在 Chisel 测试中被检查;在测试波形图上简单分析其执行,并说明波形图最后几个周期检查执行结果时的波形。
\subsection{整体测试框架}
CPUTest.scala 定义了三个主要的测试类FibonacciTest、QuicksortTest 和 ByteAccessTest。每个测试都基于 ChiselTest 框架,通过 TestTopModule 作为顶层模块来驱动 CPU 执行相应的程序。测试框架的核心结构如下:
\begin{lstlisting}[caption={CPUTest.scala 测试框架结构}, style=ScalaChiselStyle]
class TestTopModule(exeFilename: String) extends Module {
val io = IO(new Bundle {
val mem_debug_read_address = Input(UInt(Parameters.AddrWidth))
val regs_debug_read_address = Input(UInt(Parameters.PhysicalRegisterAddrWidth))
val regs_debug_read_data = Output(UInt(Parameters.DataWidth))
val mem_debug_read_data = Output(UInt(Parameters.DataWidth))
})
// 实例化内存、指令ROM、CPU等模块
// 提供调试接口用于验证执行结果
}
\end{lstlisting}
测试框架通过调试接口读取内存和寄存器的值,与预期结果进行比较,从而验证 CPU 执行程序的正确性。
\subsection{斐波那契数列计算测试}
\subsubsection{程序功能分析}
fibonacci.c 程序实现了一个递归计算斐波那契数列的功能。程序代码如下:
\begin{lstlisting}[language=C, caption={fibonacci.c 程序代码}, style=CStyle]
int fib(int a) {
if (a == 1 || a == 2) return 1;
return fib(a - 1) + fib(a - 2);
}
int main() {
*(int *)(4) = fib(10);
}
\end{lstlisting}
该程序通过递归算法计算斐波那契数列的第 10 项fib(10)),并将结果存储到内存地址 0x4 处。斐波那契数列的递归定义为:
\begin{itemize}
\item fib(1) = 1
\item fib(2) = 1
\item fib(n) = fib(n-1) + fib(n-2) (n > 2)
\end{itemize}
因此fib(10) 的计算结果为 55。
\subsubsection{测试结果检查}
在 FibonacciTest 中,测试代码通过以下方式检查结果:
\begin{lstlisting}[caption={斐波那契测试的结果检查}, style=ScalaChiselStyle]
c.io.mem_debug_read_address.poke(4.U)
c.clock.step()
c.io.mem_debug_read_data.expect(55.U)
\end{lstlisting}
测试首先执行 50,000 个时钟周期50 × 1000确保递归计算完成。然后通过内存调试接口读取地址 0x4 的值,验证是否为预期的 55。
\subsubsection{波形图分析}
基于 VCD 文件分析,斐波那契程序执行过程中的关键信号包括:
\begin{itemize}
\item \texttt{cpu\_io\_instruction\_address}:程序计数器值,显示指令执行流程
\item \texttt{mem\_io\_bundle\_write\_enable}:内存写使能信号,标识数据写入操作
\item \texttt{mem\_io\_bundle\_address}:内存访问地址
\item \texttt{mem\_io\_bundle\_write\_data}:要写入内存的数据
\item \texttt{io\_mem\_debug\_read\_data}:调试接口读取的内存数据
\end{itemize}
在程序执行的最后阶段,可以观察到:
\begin{enumerate}
\item \texttt{mem\_io\_bundle\_write\_enable} 信号置高,表示正在进行内存写入
\item \texttt{mem\_io\_bundle\_address} 显示为 0x00000004写入地址为 4
\item \texttt{mem\_io\_bundle\_write\_data} 显示为 0x00000037十进制 55即 fib(10) 的计算结果
\item 调试接口 \texttt{io\_mem\_debug\_read\_data} 最终稳定显示 0x00000037
\end{enumerate}
\subsection{快速排序算法测试}
\subsubsection{程序功能分析}
quicksort.c 程序实现了快速排序算法,对 10 个整数进行排序:
\begin{lstlisting}[language=C, caption={quicksort.c 程序代码}, style=CStyle]
void quicksort(int *arr, int l, int r) {
if (l >= r) return;
int pivot = arr[l];
int i = l, j = r;
while (i < j) {
while(arr[j] >= pivot && i < j) --j;
arr[i] = arr[j];
while(arr[i] < pivot && i < j) ++i;
arr[j] = arr[i];
}
arr[i] = pivot;
quicksort(arr, l, i - 1);
quicksort(arr, i + 1, r);
}
int main() {
int nums[10];
// 初始化数组:[6, 2, 4, 5, 3, 1, 0, 9, 7, 8]
nums[0] = 6; nums[1] = 2; nums[2] = 4; nums[3] = 5;
nums[4] = 3; nums[5] = 1; nums[6] = 0; nums[7] = 9;
nums[8] = 7; nums[9] = 8;
quicksort(nums, 0, 9);
// 将排序结果写入内存地址 4, 8, 12, ..., 40
for (int i = 1; i <= 10; ++i) {
*(int *)(i * 4) = nums[i - 1];
}
}
\end{lstlisting}
程序将初始数组 [6, 2, 4, 5, 3, 1, 0, 9, 7, 8] 排序为 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],然后将结果依次写入内存地址 4, 8, 12, ..., 40。
\subsubsection{测试结果检查}
在 QuicksortTest 中,测试代码验证排序结果:
\begin{lstlisting}[caption={快速排序测试的结果检查}, style=ScalaChiselStyle]
for (i <- 1 to 10) {
c.io.mem_debug_read_address.poke((4 * i).U)
c.clock.step()
c.io.mem_debug_read_data.expect((i - 1).U)
}
\end{lstlisting}
测试循环读取内存地址 4, 8, 12, ..., 40 的值,期望得到 0, 1, 2, ..., 9验证排序的正确性。
\subsubsection{波形图分析}
快速排序程序执行过程中的关键信号变化:
\begin{itemize}
\item 多次内存写入操作,\texttt{mem\_io\_bundle\_write\_enable} 信号周期性置高
\item \texttt{mem\_io\_bundle\_address} 依次显示 0x00000004, 0x00000008, ..., 0x00000028
\item \texttt{mem\_io\_bundle\_write\_data} 依次显示 0x00000000, 0x00000001, ..., 0x00000009
\item 调试接口验证阶段,\texttt{io\_mem\_debug\_read\_data} 依次显示正确的排序值
\end{itemize}
\subsection{字节访问测试}
\subsubsection{程序功能分析}
ByteAccessTest 测试 CPU 对单个字节的存储和加载功能,验证字节级内存访问的正确性。该测试使用 sb.asmbin 程序,主要测试 Store Byte (sb) 和 Load Byte (lb) 指令。
\subsubsection{测试结果检查}
测试通过寄存器调试接口验证字节操作的正确性:
\begin{lstlisting}[caption={字节访问测试的结果检查}, style=ScalaChiselStyle]
c.io.regs_debug_read_address.poke(5.U)
c.io.regs_debug_read_data.expect(0xDEADBEEFL.U)
c.io.regs_debug_read_address.poke(6.U)
c.io.regs_debug_read_data.expect(0xEF.U)
c.io.regs_debug_read_address.poke(1.U)
c.io.regs_debug_read_data.expect(0x15EF.U)
\end{lstlisting}
测试验证了字节存储和加载操作对寄存器值的影响,确保字节级内存访问的正确实现。
\subsection{波形图截取建议}
基于 VCD 文件分析,建议截取以下关键波形图:
\begin{enumerate}
\item \textbf{斐波那契程序执行结果写入阶段}
\begin{itemize}
\item 信号:\texttt{mem\_io\_bundle\_write\_enable}, \texttt{mem\_io\_bundle\_address}, \texttt{mem\_io\_bundle\_write\_data}
\item 时间点程序最后几个周期fib(10) 结果写入内存地址 0x4
\item 特征:写使能置高,地址为 0x00000004数据为 0x00000037
\end{itemize}
\item \textbf{快速排序程序内存写入序列}
\begin{itemize}
\item 信号:\texttt{mem\_io\_bundle\_write\_enable}, \texttt{mem\_io\_bundle\_address}, \texttt{mem\_io\_bundle\_write\_data}
\item 时间点:排序完成后,结果依次写入内存的阶段
\item 特征:连续的写操作,地址递增,数据为排序后的序列 0-9
\end{itemize}
\item \textbf{调试接口读取阶段}
\begin{itemize}
\item 信号:\texttt{io\_mem\_debug\_read\_address}, \texttt{io\_mem\_debug\_read\_data}
\item 时间点:测试的最后阶段,验证执行结果
\item 特征:调试地址变化,对应数据正确显示
\end{itemize}
\end{enumerate}
\subsection{测试总结}
CPUTest.scala 通过三个不同复杂度的测试程序全面验证了单周期 CPU 的功能:
\begin{itemize}
\item \textbf{斐波那契测试}验证了 CPU 的递归函数调用能力,包括栈操作、参数传递和返回值处理
\item \textbf{快速排序测试}验证了 CPU 的数组处理、循环控制和复杂算法执行能力
\item \textbf{字节访问测试}验证了 CPU 对不同类型内存访问指令的支持
\end{itemize}
所有测试都通过内存和寄存器调试接口验证执行结果,确保 CPU 能够正确执行各种程序。波形图分析显示了程序执行过程中的关键信号变化,验证了数据通路的正确性和控制信号的时序准确性。

View File

@@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"Bash(sbt \"testOnly *BusTest\")"
],
"deny": [],
"ask": []
}
}

124
lab4/要求.txt Normal file
View File

@@ -0,0 +1,124 @@
在本实验中,您将学习到:
AXI4-Lite 协议
使用状态机实现总线协议
在开始实现 AXI4-Lite 总线协议前,请您阅读 总线 以了解 AXI4-Lite 协议的基本知识。
不管使用 IDE 还是执行命令,根目录是 lab4 文件夹。
框架与接口总览🚁
本实验中使用 AXI4-Lite 协议通信的框架图
为了使基于多周期流水线的 CPU 拥有使用 AXI4-Lite 协议与外部通信的能力,本实验中修改了 CPU 部件之间、CPU与外部设备之间 的通信框架,如上图所示: 左侧的 CPU 和右侧的 内存模块使用 AXI4-Lite 协议通信,但 AXI4-Lite 的通信协议较为复杂,我们将 AXI4-Lite 的通信实现包装在类 AXI4LiteMaster 和 AXI4LiteSlave 中,使得需要调用 AXI4-Lite 通信的硬件直接使用这两个类即可。
在 AXI4LiteMaster 和 AXI4LiteSlave 之间通信的接口是 AXI4LiteChannels ,其包含 AXI4-Lite 所定义的 5 个通道及相应信号线。当您实现自己的 AXI4LiteMaster 和 AXI4LiteSlave 后,您的硬件设备就可以和其他厂商的设备进行通信,只要其支持 AXI4-Lite 协议。
AXI4LiteSlaveBundle 和 AXI4LiteMasterBundle 是本实验中硬件操纵 AXI4LiteMaster 和 AXI4LiteSlave 的接口,其接口定义比 AXI4-Lite 简单得多,为的就是用简单地把读写操作告知 AXI4LiteMaster 或 AXI4LiteSlave并由它们执行。
为让您更好地理解上面的框架可以比作用户用不同语言向手机输入消息手机通过无线网络传输信息。CPU 内需要通信的部件如同一个用户,需要和另一个用户 —— 内存进行通信,于是我们开发了一种遵循无线通信协议的手机,手机对应于 AXI4LiteMaster 和 AXI4LiteSlave通信协议则对应于符合 AXI4-Lite 规范的 AXI4LiteChannels 。用户使用语音输入,即 CPU 或 内存通过 两个 Bundle 将读写操作告知 AXI4LiteMaster 和 AXI4LiteSlave而两台手机之间的通信则对应总线上以 AXI4-Lite 的通信。
您在此处的工作就是打造一部这样的手机,使得不仅两台您造出的手机能相互通信,也能和其他厂商的手机进行通信。
将本实验 AXI4-Lite 通信框架比作用户通过语音输入消息通信
设备与 AXI4LiteMaster 和 AXI4LiteSlave 通信🚁
这一部分对应上图类比中如何实现不同 用户☺️ 语音输入到 手机📱 的部分。
主机侧Master的通信接口在 AXI4Lite.scala 中 AXI4LiteMasterBundle定义各信号含义为
信号 含义及时序要求
address 读或写地址
read 执行读操作每个操作该信号置1持续1周期
write 执行写操作每个操作该信号置1持续1周期
read_data/write_data 读写数据
write_strobe 写选通
read_valid 读完成当从设备返回数据时该信号置1持续1周期
write_valid 写完成当从设备确认写入后该信号置1持续1周期
busy AXI4LiteMaster正忙暂不接收任何读写请求
这样CPU 作为主动发出读写请求的一方,其通过 read, write, write_data 和 address 发出请求,并等待 [read|write]_valid 信号以得知操作完成。 相应地,内存、定时器、键盘等作为被动接收读写请求的一方,其需要提供 read_data 和 [read|write]_valid 信号。
为什么需要 valid 信号
valid 信号指示数据有效或操作完成。例如读操作完成并在 read_data 传回数据时,需要 read_valid 来指示此时 read_data 上是有效的数据。这一方面是因为 read_data 不会一直保持,另一方面也不知道读请求发送后过多久能读回。 read_valid 的作用就像提醒您外卖到了的短信。
用状态机实现总线协议🚁
本实验的主要内容就是实现 AXI4-Lite 总线协议里面的主从设备间的读写流程的状态转换。 这对应之前类比中手机📱 间通过某种无线协议进行通信。
为简单起见,我们使用状态机来实现 AXI4 接口,即 AXI4LiteMaster 和 AXI4LiteSlave 用状态机实现,在握手完成时进行状态转换,以此逐个完成事务。 我们给出一个可参考的状态机,如下图,左图是主设备总线接口的状态机,右图是从设备总线接口的状态机:
axi-fsm
进行一次读操作🚁
现在我们以 CPU 取指令过程为例,说明如何进行一次读操作。
首先取指阶段IF发出取指信号包括将 AXI4LiteMasterBundle 的 read 置 1并将 PC 送至 address 此时 CPU 的 AXI 主机AXI Master收到 IF 的信号主机内部状态由空闲Idle跳转到 读地址状态 (ReadAddr),产生并发送读请求 (ARVALID)、读地址 (ARADDR)。
当内存模块的从机AXI Slave 收到 ARVALID 时,其内部状态跳转至 读地址状态 (ReadAddr),保存 ARADDR ,并将 读地址准备(ARREADY) 信号置 1 表明读地址已收取,此时即完成了一次握手,并完成读地址的传输。获取读取地址后,从机通过 AXI4LiteSlaveBundle 告知内存芯片读取指定位置的数据,并等待读操作完成。
当内存芯片读回数据时,其通过 read_valid 和 read_data 传回。从机 跳转至 读数据状态 (ReadData) ,将读回数据传入 读数据 (RDATA)、读返回请求 (RVALID);主机此时也转移至 读数据状态 (ReadData),并将 RREADY 置 1表明准备好接收读出的数据。
当主机发现 RVALID 和 RREADY 均为 1 时完成握手,其将读出数据 RDATA 通过 AXI4LiteMasterBundle 的 read_data 传回至 IF同时将 read_valid 置 1 持续 1 个时钟,表明这次读取操作成功,随后主机重返空闲。
另一边,当从机发现 RVALID 和 RREADY完成握手时其也重返空闲状态。
当主机不在空闲状态时,其将 busy 置 1“婉拒”期间到来的请求。
如何进行写操作🚁
相比读操作,写操作的流程还需写反馈的握手,若您理解了读操作的机制,写操作应不成问题。
状态机的具体实现
我们提供了灵活的测试方法,主从机的状态转换可以不必按照上面所说的一字不差,只需要能达到测试中要求的读写正确、功能正常即可。您可观察测试产生的波形图,从而优化实现以减少读写操作的周期数,甚至跳过某些上述的主从机状态。
总线上的 MMIO🚁
CPU 的内存空间按地址划分为多个部分分别与不同设备通信。目前的实验代码中CPU 使用地址的高 3 位以选择设备b000 映射至内存b010映射至 UARTb100 映射至定时器。
BusSwitch.scala 中包含了已实现上述功能的多选交换器,具体的接线在各 Top.scala 中满足了上面说明的映射关系。
把总线加到流水线上🚁
从预备知识里面我们知道了需要有总线仲裁这个模块,来协调总线主机响应来自 CPU 哪个阶段的读写请求信号。
目前我们的流水线上,无论是三级还是五级,都只存在 取指单元 和 访存单元 之间的冲突。这显然也是一种结构冲突Structural Hazard所以可以用 Lab 3 实验中解决冲突的思路:阻塞流水线以保证指令流的执行,即如果访存阶段没有占用总线,取指单元 才能够取指。
实验任务🚁
根据前面的主从设备状态机,实验代码框架已准备好相应寄存器及 IO 接口,您主要关注实现状态机。 若您修改或改进了主从设备状态机,您应简述其逻辑或给出相应图例。
实验任务:实现 AXI4-Lite 协议主从机
主从设备的代码位于 src/main/scala/bus/AXI4Lite.scala请在标有 //lab4 (BUS) 的注释处实现AXI4Lite主从机的内部逻辑
通过 src\test\scala\riscv 下的 BusTest.scala和三级、五级流水线下的 CPUTest.scala 中的测试
查看 BusTest 中 FunctionalTest 输出的读写事务消耗了多少个周期
查看 CPUTest 中 Fibonacci 和 Quicksort 输出的消耗时钟周期
如何检测自己实现的 AXI4-Lite 主从机正确性
上一版的测试代码要求严格按照给定状态机实现,这一版提供了允许自由实现 AXI4-Lite 协议的测试,并加入测量读写事务耗时的功能。
若您发现代码无法通过测试,可以查看 BusTest.scala 中 FunctionalTest 产生的波形图,并查看相应通道的信号,来了解自己实现能否完成最基本的读和写操作。该方法也可助您改进实现,减少读写操作的周期数。
实验报告🚁
简述您的 AXI4-Lite 主从机实现逻辑。如果有,描述您通过什么方法改进了实现及性能提升。
简要概括BusTest中测试的原理以及测试用例的执行结果。
【可选】参考硬件调试一节的内容,用硬件波形的方法捕获程序运行结果。分析 Vivado 是否能正确识别并组合 AXI4 总线协议的传输信号以及过程。
在完成实验的过程中,遇到的关于实验指导不明确或者其他问题,或者改进的建议。
更多关于总线的知识🚁
实际上把总线加到我们原来的 CPU 上后,会发现 IPC 大幅下降。
主要原因是总线握手花费了大量的时间。而 AXI4-Lite 协议又是 AXI4 协议的简化版本。为了实现上的简单所以没有实现突发传输burst的功能所以每次最多读写一个数据总线宽度的数据即每次都需要重新进行各个读写通道的握手导致效率很低。
解决的一个办法就是加缓存。根据局部性原理,我们可以为取值单元与内存之间加上指令 CacheI-cache为访存单元与内存间加上数据 CacheD-cache这样就可以加速数据的存取。
而这样的实现方案里面 D-cache 和 I-cache 同样是需要通过总线访问内存的。但是由于 Cache 是以 Cache Line 为单位存取的。假设一个 Cache Line 为 128 字节,当我们的总线数据位宽为 4 字节的时候,填充缓存行需要从内存读 128 / 4 = 32 次, 并且这每一次需要重新进行读地址握手、读数据握手。而 AXI4 协议就是在AXI4-Lite的基础上加上了 Burst 的功能,即在读写请求中可以指定传送数据的个数,从指定地址传连续的多个数据给从机, 而读数据握手时就可以连续获取相应的那么多个数据。这样的协议就是突发传输burst为了实现这个协议主从设备为了握手通信需要设置更多的寄存器指定读取数据个数的 RLEN指示是否为最后一个数据的 RLAST 等),状态机转换也需要更为复杂。
这样一来我们从两个方面来加速我们的 CPU一是 Cache我们不需要通过总线来获取数据二是实现完整的 AXI4 协议。而从理论上来说,如果实现了 Cache 而没有实现 AXI4 的 burst 机制,加速效果也不会很明显。所以可以先实现 Cache 然后实现 burst 来体会一下。
What's next?🚁
同学们在完成了本实验后,就应该具备根据状态转移图来实现状态机的能力了。如果有兴趣的话,可以尝试一下实现简单的 Cache然后再实现 burst。包括后面希望实现 MMU最简单的实现也可以用状态机来实现。所以你可以放开手脚在 YatCPU 的基础上探索了(当然你也可以自己从头实现)。
实现好总线模块的逻辑后,你可以尝试给 Lab 3 的基础上或者是给 Lab 2 的 CPU 接上总线(现有的 YatCPU 的五阶段流水线+总线代码里面的一些逻辑问题在 Lab 3 实验代码中修复了但是还没有合并到主仓库Lab 4 用的还是主仓库现有的代码)
此外同学们也可以思考如何做CPU设计架构的优化比如现在的 CPU 只有 ID 和 MemoryAccess 阶段对总线有需求,所以总线仲裁比较简单(集成在 CPU.scala 里了)。但是如果后面再加上 MMU那么 CPU 的总线主机模块应该由哪个模块使用,这部分逻辑就会变得更复杂点,而这部分逻辑其实是可以单独拿出来实现的。