注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)自己動(dòng)手寫(xiě)CPU

自己動(dòng)手寫(xiě)CPU

自己動(dòng)手寫(xiě)CPU

定 價(jià):¥99.00

作 者: 雷思磊 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)理論、基礎(chǔ)知識(shí) 計(jì)算機(jī)與互聯(lián)網(wǎng)

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787121239502 出版時(shí)間: 2014-09-01 包裝: 平裝
開(kāi)本: 頁(yè)數(shù): 556 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)使用Verilog HDL設(shè)計(jì)實(shí)現(xiàn)了一款兼容MIPS32指令集架構(gòu)的處理器――OpenMIPS。OpenMIPS處理器具有兩個(gè)版本,分別是教學(xué)版和實(shí)踐版。教學(xué)版的主要設(shè)計(jì)思想是盡量簡(jiǎn)單,處理器的運(yùn)行情況比較理想化,與教科書(shū)相似,便于使用其進(jìn)行教學(xué)、學(xué)術(shù)研究和討論,也有助于學(xué)生理解課堂上講授的知識(shí)。實(shí)踐版的設(shè)計(jì)目標(biāo)是能完成特定功能,發(fā)揮實(shí)際作用。 全書(shū)分為三篇。第一篇是理論篇,介紹了指令集架構(gòu)、Verilog HDL的相關(guān)知識(shí)。第二篇是基礎(chǔ)篇,采用增量模型,實(shí)現(xiàn)了教學(xué)版OpenMIPS處理器。首先實(shí)現(xiàn)了僅能執(zhí)行一條指令的處理器,從這個(gè)最簡(jiǎn)單的情況出發(fā),通過(guò)依次添加,實(shí)現(xiàn)邏輯操作指令、移位操作指令、空指令、移動(dòng)操作指令、算術(shù)操作指令、轉(zhuǎn)移指令、加載存儲(chǔ)指令、協(xié)處理器訪問(wèn)指令、異常相關(guān)指令,最終實(shí)現(xiàn)了教學(xué)版OpenMIPS處理器。第三篇是進(jìn)階篇,通過(guò)為教學(xué)版OpenMIPS添加Wishbone總線接口,從而實(shí)現(xiàn)了實(shí)踐版OpenMIPS處理器,并與SDRAM控制器、GPIO模塊、Flash控制器、UART控制器、Wishbone總線互聯(lián)矩陣等模塊組成一個(gè)小型SOPC,然后下載到FPGA芯片以驗(yàn)證實(shí)現(xiàn)效果,最后為實(shí)踐版OpenMIPS處理器移植了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II。

作者簡(jiǎn)介

  雷思磊,工程師,畢業(yè)于解放軍理工大學(xué),電子工程專業(yè),工作簡(jiǎn)歷:2009年畢業(yè)至今工作于酒泉衛(wèi)星發(fā)射中心。

圖書(shū)目錄

第一篇 理論篇

第1章 處理器與MIPS 2
1.1 計(jì)算機(jī)的簡(jiǎn)單模型 2
1.1.1 計(jì)算機(jī)的簡(jiǎn)單組成模型 2
1.1.2 計(jì)算機(jī)的簡(jiǎn)單使用模型 3
1.2 架構(gòu)與指令集 4
1.2.1 CISC與RISC 4
1.2.2 主要的幾種ISA 5
1.3 MIPS指令集架構(gòu)的演變 6
1.4 MIPS32指令集架構(gòu)簡(jiǎn)介 9
1.4.1 數(shù)據(jù)類型 9
1.4.2 寄存器 9
1.4.3 字節(jié)次序 10
1.4.4 指令格式 11
1.4.5 指令集 11
1.4.6 尋址方式 13
1.4.7 協(xié)處理器CP0 13
1.4.8 異常 14
1.5 本書(shū)的目標(biāo)與組織方式 14
第2章 可編程邏輯器件與
Verilog HDL 16
2.1 可編程邏輯器件概述 16
2.2 基于PLD的數(shù)字系統(tǒng)設(shè)計(jì)流程 18
2.2.1 設(shè)計(jì)輸入 19
2.2.2 綜合 20
2.2.3 布局布線 20
2.2.4 下載 20
2.2.5 仿真 20
2.2.6 工具介紹 21
2.3 Verilog HDL簡(jiǎn)介 21
2.4 Verilog HDL中模塊的結(jié)構(gòu) 22
2.5 Verilog HDL基本要素 24
2.5.1 常量 24
2.5.2 變量聲明與數(shù)據(jù)類型 24
2.5.3 向量 26
2.5.4 運(yùn)算符 26
2.6 Verilog HDL行為語(yǔ)句 29
2.6.1 過(guò)程語(yǔ)句 29
2.6.2 賦值語(yǔ)句 31
2.6.3 條件語(yǔ)句 32
2.6.4 循環(huán)語(yǔ)句 34
2.6.5 編譯指示語(yǔ)句 35
2.6.6 行為語(yǔ)句的可綜合性 37
2.7 電路設(shè)計(jì)舉例 38
2.8 仿真 41
2.8.1 系統(tǒng)函數(shù) 42
2.8.2 Test Bench 43
2.8.3 ModelSim仿真 45
2.9 本章小結(jié) 48

第二篇 基礎(chǔ)篇

第3章 教學(xué)版OpenMIPS處理器
藍(lán)圖 50
3.1 系統(tǒng)設(shè)計(jì)目標(biāo) 50
3.1.1 設(shè)計(jì)目標(biāo) 50
3.1.2 五級(jí)整數(shù)流水線 50
3.1.3 指令執(zhí)行周期 52
3.2 教學(xué)版OpenMIPS處理器接口 53
3.3 文件說(shuō)明 54
3.4 實(shí)現(xiàn)方法 55
第4章 第一條指令ori的實(shí)現(xiàn) 58
4.1 ori指令說(shuō)明 58
4.2 流水線結(jié)構(gòu)的建立 59
4.2.1 流水線的簡(jiǎn)單模型 59
4.2.2 原始的OpenMIPS五級(jí)
流水線結(jié)構(gòu) 60
4.2.3 一些宏定義 62
4.2.4 取指階段的實(shí)現(xiàn) 63
4.2.5 譯碼階段的實(shí)現(xiàn) 65
4.2.6 執(zhí)行階段的實(shí)現(xiàn) 74
4.2.7 訪存階段的實(shí)現(xiàn) 78
4.2.8 回寫(xiě)階段的實(shí)現(xiàn) 81
4.2.9 頂層模塊OpenMIPS
的實(shí)現(xiàn) 81
4.3 驗(yàn)證OpenMIPS實(shí)現(xiàn)效果 85
4.3.1 指令存儲(chǔ)器ROM的實(shí)現(xiàn) 85
4.3.2 最小SOPC的實(shí)現(xiàn) 87
4.3.3 編寫(xiě)測(cè)試程序 88
4.3.4 建立Test Bench文件 89
4.3.5 使用ModelSim檢驗(yàn)OpenMIPS實(shí)現(xiàn)效果 90
4.4 MIPS編譯環(huán)境的建立 92
4.4.1 VisualBox的安裝與設(shè)置 93
4.4.2 GNU工具鏈的安裝 96
4.4.3 使用GNU工具進(jìn)行編譯 97
4.4.4 使用GNU工具進(jìn)行鏈接 99
4.4.5 得到ROM初始化文件 102
4.4.6 編寫(xiě)Makefile文件 103
4.5 第一條指令實(shí)現(xiàn)小結(jié) 105
第5章 邏輯、移位操作與空指令
的實(shí)現(xiàn) 107
5.1 流水線數(shù)據(jù)相關(guān)問(wèn)題 107
5.2 OpenMIPS對(duì)數(shù)據(jù)相關(guān)問(wèn)題的
解決措施 111
5.3 測(cè)試數(shù)據(jù)相關(guān)問(wèn)題解決效果 115
5.4 邏輯、移位操作與空指令說(shuō)明 115
5.5 修改OpenMIPS以實(shí)現(xiàn)邏輯、
移位操作與空指令 119
5.5.1 修改譯碼階段的ID模塊 120
5.5.2 修改執(zhí)行階段的EX模塊 127
5.6 測(cè)試程序1――測(cè)試邏輯
操作實(shí)現(xiàn)效果 129
5.7 測(cè)試程序2――測(cè)試移位
操作與空指令實(shí)現(xiàn)效果 130
5.8 小結(jié) 131
第6章 移動(dòng)操作指令的實(shí)現(xiàn) 132
6.1 移動(dòng)操作指令說(shuō)明 132
6.2 移動(dòng)操作指令實(shí)現(xiàn)思路 133
6.2.1 實(shí)現(xiàn)思路 133
6.2.2 新的數(shù)據(jù)相關(guān)情況的
解決 135
6.2.3 系統(tǒng)結(jié)構(gòu)的修改 136
6.3 修改OpenMIPS以實(shí)現(xiàn)移動(dòng)
操作指令 137
6.3.1 HI、LO寄存器的實(shí)現(xiàn) 137
6.3.2 修改譯碼階段的ID模塊 138
6.3.3 修改執(zhí)行階段 141
6.3.4 修改訪存階段 146
6.3.5 修改回寫(xiě)階段 149
6.3.6 修改OpenMIPS頂層
模塊 149
6.4 測(cè)試程序 150
第7章 算術(shù)操作指令的實(shí)現(xiàn) 152
7.1 簡(jiǎn)單算術(shù)操作指令說(shuō)明 153
7.2 簡(jiǎn)單算術(shù)操作指令實(shí)現(xiàn)思路 156
7.3 修改OpenMIPS以實(shí)現(xiàn)簡(jiǎn)單
算術(shù)操作指令 157
7.3.1 修改譯碼階段的ID模塊 157
7.3.2 修改執(zhí)行階段的EX模塊 164
7.4 測(cè)試簡(jiǎn)單算術(shù)操作指令
實(shí)現(xiàn)效果 171
7.5 流水線暫停機(jī)制的設(shè)計(jì)
與實(shí)現(xiàn) 174
7.5.1 流水線暫停機(jī)制設(shè)計(jì) 174
7.5.2 流水線暫停機(jī)制實(shí)現(xiàn) 175
7.6 乘累加、乘累減指令說(shuō)明 180
7.7 乘累加、乘累減指令實(shí)現(xiàn)思路 181
7.7.1 實(shí)現(xiàn)思路 181
7.7.2 系統(tǒng)結(jié)構(gòu)的修改 181
7.8 修改OpenMIPS以實(shí)現(xiàn)乘
累加、乘累減指令 182
7.8.1 修改譯碼階段的ID模塊 182
7.8.2 修改執(zhí)行階段的EX模塊 184
7.8.3 修改EX/MEM模塊 189
7.8.4 修改OpenMIPS模塊 190
7.9 測(cè)試乘累加、乘累減指令
實(shí)現(xiàn)效果 190
7.10 除法指令說(shuō)明 191
7.11 除法指令實(shí)現(xiàn)思路 192
7.11.1 試商法 192
7.11.2 實(shí)現(xiàn)思路 193
7.11.3 系統(tǒng)結(jié)構(gòu)的修改 193
7.12 修改OpenMIPS以實(shí)現(xiàn)
除法指令 194
7.12.1 增加DIV模塊 194
7.12.2 修改譯碼階段的ID
模塊 199
7.12.3 修改執(zhí)行階段的EX
模塊 200
7.12.4 修改OpenMIPS模塊 204
7.13 測(cè)試除法指令實(shí)現(xiàn)效果 204
7.14 數(shù)據(jù)流圖的修改 205
第8章 轉(zhuǎn)移指令的實(shí)現(xiàn) 206
8.1 延遲槽 206
8.2 轉(zhuǎn)移指令說(shuō)明 207
8.3 轉(zhuǎn)移指令實(shí)現(xiàn)思路 210
8.3.1 實(shí)現(xiàn)思路 210
8.3.2 數(shù)據(jù)流圖的修改 210
8.3.3 系統(tǒng)結(jié)構(gòu)的修改 211
8.4 修改OpenMIPS以實(shí)現(xiàn)
轉(zhuǎn)移指令 212
8.4.1 修改取指階段的PC模塊 212
8.4.2 修改譯碼階段 213
8.4.3 修改執(zhí)行階段的EX 模塊 223
8.4.4 修改OpenMIPS模塊 225
8.5 測(cè)試轉(zhuǎn)移指令的實(shí)現(xiàn)效果 225
8.5.1 測(cè)試跳轉(zhuǎn)指令 225
8.5.2 測(cè)試分支指令 227
第9章 加載存儲(chǔ)指令的實(shí)現(xiàn) 230
9.1 加載存儲(chǔ)指令說(shuō)明 230
9.1.1 加載指令lb、lbu、lh、
lhu、lw說(shuō)明 230
9.1.2 存儲(chǔ)指令sb、sh、sw
說(shuō)明 231
9.1.3 加載存儲(chǔ)指令用法示例 232
9.1.4 加載指令lwl、lwr說(shuō)明 233
9.1.5 存儲(chǔ)指令swl、swr說(shuō)明 235
9.2 加載存儲(chǔ)指令實(shí)現(xiàn)思路 238
9.2.1 實(shí)現(xiàn)思路 238
9.2.2 數(shù)據(jù)流圖的修改 239
9.2.3 系統(tǒng)結(jié)構(gòu)的修改 240
9.3 修改OpenMIPS以實(shí)現(xiàn)加載
存儲(chǔ)指令 240
9.3.1 修改譯碼階段 240
9.3.2 修改執(zhí)行階段 247
9.3.3 修改訪存階段 249
9.3.4 修改OpenMIPS頂層模塊 260
9.4 修改最小SOPC 261
9.4.1 添加數(shù)據(jù)存儲(chǔ)器RAM 262
9.4.2 修改最小SOPC 264
9.5 測(cè)試程序 265
9.6 鏈接加載指令ll、條件存儲(chǔ)
指令sc說(shuō)明 267
9.7 ll、sc指令實(shí)現(xiàn)思路 269
9.7.1 實(shí)現(xiàn)思路 269
9.7.2 數(shù)據(jù)流圖的修改 270
9.7.3 系統(tǒng)結(jié)構(gòu)的修改 271
9.8 修改OpenMIPS以實(shí)現(xiàn)ll、
sc指令 271
9.8.1 LLbit寄存器的實(shí)現(xiàn) 271
9.8.2 修改譯碼階段的ID模塊 273
9.8.3 修改訪存階段 275
9.8.4 修改OpenMIPS模塊 279
9.9 測(cè)試ll、sc指令實(shí)現(xiàn)效果 279
9.10 load相關(guān)問(wèn)題 281
9.10.1 load相關(guān)問(wèn)題介紹 281
9.10.2 解決方法 281
9.11 修改OpenMIPS以解決load
相關(guān)問(wèn)題 283
9.11.1 修改譯碼階段的ID
模塊 283
9.11.2 修改OpenMIPS模塊 284
9.12 測(cè)試load相關(guān)問(wèn)題解決效果 285
9.13 小結(jié) 286
第10章 協(xié)處理器訪問(wèn)指令的實(shí)現(xiàn) 287
10.1 協(xié)處理器介紹 287
10.2 協(xié)處理器CP0中的寄存器 288
10.3 協(xié)處理器CP0的實(shí)現(xiàn) 295
10.4 協(xié)處理器訪問(wèn)指令說(shuō)明 300
10.5 協(xié)處理器訪問(wèn)指令實(shí)現(xiàn)思路 300
10.5.1 實(shí)現(xiàn)思路 300
10.5.2 數(shù)據(jù)流圖的修改 301
10.5.3 系統(tǒng)結(jié)構(gòu)的修改 301
10.6 修改OpenMIPS以實(shí)現(xiàn)協(xié)
處理器訪問(wèn)指令 303
10.6.1 修改譯碼階段 303
10.6.2 修改執(zhí)行階段 305
10.6.3 修改訪存階段 311
10.6.4 修改OpenMIPS模塊 314
10.7 測(cè)試程序 314
第11章 異常相關(guān)指令的實(shí)現(xiàn) 316
11.1 MIPS32架構(gòu)中定義的異常
類型 316
11.2 精確異常 318
11.3 異常處理過(guò)程 319
11.4 異常相關(guān)指令介紹 321
11.4.1 自陷指令 321
11.4.2 系統(tǒng)調(diào)用指令syscall 324
11.4.3 異常返回指令eret 325
11.5 異常處理實(shí)現(xiàn)思路 325
11.5.1 實(shí)現(xiàn)思路 325
11.5.2 修改數(shù)據(jù)流圖 326
11.5.3 修改系統(tǒng)結(jié)構(gòu) 326
11.6 修改OpenMIPS以實(shí)現(xiàn)異常
處理 328
11.6.1 修改取指階段 328
11.6.2 修改譯碼階段 330
11.6.3 修改執(zhí)行階段 339
11.6.4 修改訪存階段 346
11.6.5 修改協(xié)處理器CP0 352
11.6.6 修改控制模塊CTRL 355
11.6.7 修改OpenMIPS 357
11.7 再次修改最小SOPC 358
11.8 測(cè)試程序 359
11.8.1 測(cè)試程序1――測(cè)試
系統(tǒng)調(diào)用異常 359
11.8.2 測(cè)試程序2――測(cè)試
自陷異常 361
11.8.3 測(cè)試程序3――測(cè)試
時(shí)鐘中斷 364
11.9 教學(xué)版OpenMIPS處理器
實(shí)現(xiàn)小結(jié) 366

第三篇 進(jìn)階篇

第12章 實(shí)踐版OpenMIPS處理器
設(shè)計(jì)與實(shí)現(xiàn) 368
12.1 實(shí)踐版OpenMIPS處理器的
設(shè)計(jì)目標(biāo) 368
12.2 Wishbone總線介紹 370
12.2.1 Wishbone總線接口
說(shuō)明 370
12.2.2 Wishbone總線單次
讀操作的過(guò)程 372
12.2.3 Wishbone總線單次寫(xiě)
操作的過(guò)程 373
12.2.4 SEL_O/SEL_I信號(hào)說(shuō)明 374
12.3 實(shí)踐版OpenMIPS處理器
接口 375
12.4 實(shí)踐版OpenMIPS處理器的
實(shí)現(xiàn)思路 376
12.4.1 實(shí)現(xiàn)思路 376
12.4.2 修改系統(tǒng)結(jié)構(gòu) 377
12.5 從教學(xué)版OpenMIPS到
實(shí)踐版OpenMIPS 378
12.5.1 Wishbone總線接口模塊
的實(shí)現(xiàn) 378
12.5.2 修改CTRL模塊 384
12.5.3 修改OpenMIPS頂層
模塊 386
12.6 實(shí)踐版OpenMIPS處理器
實(shí)現(xiàn)小結(jié) 386
第13章 基于實(shí)踐版OpenMIPS的
小型SOPC 387
13.1 小型SOPC的結(jié)構(gòu) 387
13.2 Wishbone總線互聯(lián)
矩陣WB_CONMAX 388
13.3 GPIO 390
13.4 UART控制器 392
13.4.1 UART簡(jiǎn)介 392
13.4.2 UART16550 IP核介紹 394
13.5 Flash控制器 398
13.5.1 Flash簡(jiǎn)介 398
13.5.2 Flash控制器的設(shè)計(jì) 399
13.5.3 Flash控制器的實(shí)現(xiàn) 400
13.6 SDRAM控制器 403
13.6.1 SDRAM簡(jiǎn)介 403
13.6.2 SDRAM CONTROLLER
IP核 409
13.7 實(shí)現(xiàn)基于實(shí)踐版OpenMIPS
的小型SOPC 412
13.8 本章小結(jié) 423
第14章 驗(yàn)證實(shí)踐版OpenMIPS
處理器 424
14.1 DE2平臺(tái)簡(jiǎn)介 424
14.2 測(cè)試需要的硬件連接 425
14.3 QuartusII工程建立 426
14.4 測(cè)試步驟說(shuō)明 430
14.5 測(cè)試一――GPIO實(shí)驗(yàn) 431
14.5.1 測(cè)試內(nèi)容 431
14.5.2 測(cè)試程序 431
14.5.3 編譯測(cè)試程序 432
14.5.4 將測(cè)試程序?qū)懭?
Flash芯片 433
14.5.5 下載小型SOPC
到DE2 435
14.5.6 測(cè)試效果 435
14.6 測(cè)試二――UART實(shí)驗(yàn) 435
14.6.1 測(cè)試內(nèi)容 435
14.6.2 測(cè)試程序 436
14.6.3 測(cè)試效果 438
14.7 測(cè)試三――模擬操作系統(tǒng)的
加載過(guò)程 439
14.7.1 測(cè)試內(nèi)容 439
14.7.2 測(cè)試程序BootLoader 439
14.7.3 測(cè)試程序SimpleOS 443
14.7.4 將測(cè)試程序?qū)懭隖lash 446
14.7.5 測(cè)試效果 448
14.8 本章小結(jié) 449
第15章 為OpenMIPS處理器
移植μC/OS-II 450
15.1 為什么需要操作系統(tǒng) 450
15.2 嵌入式實(shí)時(shí)操作系統(tǒng)介紹 451
15.3 μC/OS-II簡(jiǎn)介 452
15.4 μC/OS-II特點(diǎn) 452
15.5 μC/OS-II的幾個(gè)概念 454
15.5.1 任務(wù) 454
15.5.2 任務(wù)調(diào)度 456
15.5.3 任務(wù)切換 456
15.5.4 μC/OS-II的中斷處理 457
15.5.5 時(shí)鐘節(jié)拍 457
15.5.6 μC/OS-II的初始化 458
15.5.7 μC/OS-II的啟動(dòng) 458
15.6 μC/OS-II的基本功能 458
15.6.1 任務(wù)間的通信與同步 459
15.6.2 任務(wù)管理 459
15.6.3 時(shí)間管理 459
15.6.4 內(nèi)存管理 460
15.7 μC/OS-II的文件體系 460
15.8 μC/OS-II的移植條件 461
15.9 C語(yǔ)言中使用匯編代碼 463
15.10 MIPS函數(shù)調(diào)用規(guī)范 465
15.10.1 寄存器使用規(guī)范 465
15.10.2 參數(shù)傳遞 466
15.10.3 函數(shù)返回值 466
15.10.4 堆棧布局 467
15.10.5 示例 468
15.11 μC/OS-II在OpenMIPS
處理器上的移植 470
15.11.1 文件目錄的建立 470
15.11.2 修改os_cpu.h文件 473
15.11.3 修改os_cpu_a.S文件 474
15.11.4 修改os_cpu_c.c文件 496
15.12 測(cè)試程序 500
15.12.1 創(chuàng)建openmips.h文件 500
15.12.2 創(chuàng)建openmips.c文件 502
15.13 編譯指示文件的建立 508
15.14 OpenMIPS處理器運(yùn)行
移植后的μC/OS-II 515
15.15 本章小結(jié) 516
附錄A 教學(xué)版OpenMIPS各個(gè)模塊
的接口說(shuō)明 517
A.1 PC模塊接口說(shuō)明 517
A.2 IF/ID模塊接口說(shuō)明 518
A.3 ID模塊接口說(shuō)明 518
A.4 Regfile模塊接口說(shuō)明 520
A.5 ID/EX模塊接口說(shuō)明 520
A.6 EX模塊接口說(shuō)明 521
A.7 DIV模塊接口說(shuō)明 524
A.8 EX/MEM模塊接口說(shuō)明 525
A.9 MEM模塊接口說(shuō)明 527
A.10 MEM/WB模塊接口說(shuō)明 529
A.11 CP0模塊接口說(shuō)明 530
A.12 LLbit模塊接口說(shuō)明 532
A.13 HILO模塊接口說(shuō)明 532
A.14 CTRL模塊接口說(shuō)明 533
附錄B OpenMIPS實(shí)現(xiàn)的所有
指令及對(duì)應(yīng)的機(jī)器碼 534
B.1 邏輯操作指令 534
B.2 移位操作指令 534
B.3 移動(dòng)操作指令 535
B.4 算術(shù)操作指令 535

















B.5 轉(zhuǎn)移指令 536
B.6 加載存儲(chǔ)指令 536
B.7 協(xié)處理器訪問(wèn)指令 537
B.8 異常相關(guān)指令 537
B.9 空指令及其他指令 537
參考文獻(xiàn) 538

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)