注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)LinuxCPU源代碼分析與芯片設(shè)計及Linux移植

CPU源代碼分析與芯片設(shè)計及Linux移植

CPU源代碼分析與芯片設(shè)計及Linux移植

定 價:¥89.80

作 者: 倪斷利,陳曦,李揮 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: Linux

購買這本書可以去


ISBN: 9787121039843 出版時間: 2007-04-01 包裝: 膠版紙
開本: 850*1168 頁數(shù): 596 字數(shù):  

內(nèi)容簡介

  本書全面系統(tǒng)地講解了CPU的芯片設(shè)計技術(shù)。書中詳細分析了開放源代碼32位RISC CPU(or1200)的源代碼、編譯器的移植、Linux操作系統(tǒng)的移植,介紹了CPU源代碼在FPGA上的實現(xiàn)方法,說明了CPU芯片的全定制設(shè)計方法。作者不僅分析了源代碼,而且進行了芯片設(shè)計實現(xiàn),并詳細講述了設(shè)計方法。本書的內(nèi)容全面、深入、系統(tǒng),融入了作者長期的芯片設(shè)計經(jīng)驗,這使本書對開發(fā)人員更有實際的指導(dǎo)意義。本書主要針對從事芯片設(shè)計的中高級讀者及芯片設(shè)計工程師,也適合作為大學教材和參考書。

作者簡介

  倪繼利,畢業(yè)于清華大學電子工程系,獲通信與電子系統(tǒng)專業(yè)碩士學位,在國際知名大公司多年從事Linux開發(fā)工作,已出版與Linux相關(guān)專著有《Linux內(nèi)核分析及編程》和《Qt及Linux操作系統(tǒng)窗口設(shè)計》。

圖書目錄

第1章  CPU構(gòu)架概述    1
1.1  計算機體系結(jié)構(gòu)概述    1
1.1.1  計算機系統(tǒng)分類    2
1.1.2  微處理器概述    4
1.1.3  處理器的性能度量    5
1.1.4  RISC CPU的結(jié)構(gòu)    5
1.2  標量流水線技術(shù)    6
1.2.1  流水線分類    7
1.2.2  線性流水線的性能分析    8
1.2.3  流水線相關(guān)    11
1.2.4  OR1200 CPU流水線    13
1.3  超標量構(gòu)架    14
1.3.1  超標量流水線    15
1.3.2  分支預(yù)測技術(shù)    16
1.3.3  指令的動態(tài)調(diào)度    22
1.3.4  存儲器數(shù)據(jù)流技術(shù)    28
1.4  超長指令構(gòu)架    31
1.4.1  概述    32
1.4.2  RISC,CISC與VLIW構(gòu)架的區(qū)別    32
1.4.3  VLIW構(gòu)架的編譯器優(yōu)化    34
1.5  處理器介紹    36
1.5.1  超標量處理器——Core微構(gòu)架    36
1.5.2  標量處理器實例    38
第2章  OR1200構(gòu)架    42
2.1  OpenRISC概述    42
2.1.1  尋址模式    43
2.1.2  位和字節(jié)次序    43
2.1.3  寄存器集    44
2.1.4  指令集及指令格式    47
2.1.5  例外模型    55
2.1.6  內(nèi)存管理    58
2.1.7  高速緩存模型和高速緩存一致性    60
2.1.8  調(diào)試單元(可選)    62
2.1.9  執(zhí)行計數(shù)單元(可選)    63
2.1.10  電源管理(可選)    63
2.1.11  可編程中斷控制器(可選)    63
2.1.12  Tick定時器(可選)    64
2.2  OR1200構(gòu)架    64
2.2.1  CPU/DSP核心    65
2.2.2  數(shù)據(jù)和指令高速緩存    67
2.2.3  數(shù)據(jù)與指令MMU    68
2.2.4  可編程的中斷控制器    70
2.2.5  Tick定時器    71
2.2.6  電源管理支持    71
2.2.7  調(diào)試單元    71
2.2.8  時鐘與復(fù)位    72
2.2.9  Wishbone接口    72
2.3  OR1200核心寄存器    72
2.4  OR1200的IO接口說明    73
2.5  OR1200核心硬件配置    76
第3章  Wishbone片上總線    77
3.1  概述    77
3.2  基本特點    78
3.3  接口信號定義    79
3.4  Wishbone支持的互聯(lián)類型    81
3.5  Wishbone總線周期    82
3.5.1  一般操作    82
3.5.2  單次讀/寫周期    83
3.5.3  塊讀周期    85
3.5.4  塊寫周期    86
3.5.5  RMW操作    87
3.5.6  數(shù)據(jù)組織    88
3.6  Wishbone寄存反饋總線周期    89
3.6.1  周期的同步與異步結(jié)束方式之對比    89
3.6.2  Wishbone寄存反饋周期結(jié)束方式    90
3.6.3  突發(fā)結(jié)束    91
3.6.4  地址不變突發(fā)    92
3.6.5  地址增加突發(fā)    93
3.7  Wishbone規(guī)范對IP文檔的要求    94
3.8  Wishbone從設(shè)備接口示例    94
3.8.1  一臺8位從設(shè)備    94
3.8.2  一臺32位RTL級隨機
3.8.2  數(shù)生成器從設(shè)備    95
3.9  Wishbone對RAM/ROM的支持    97
3.9.1  Wishbone與RAM和ROM的互聯(lián)    97
3.9.2  Wishbone兼容的RAM和
3.9.2  Flash仿真模型    97
3.10  Wishbone點到點連接示例    99
3.11  Wishbone共享總線連接示例    99
3.12  地址譯碼    101
3.13  仲裁器的設(shè)計    102
3.14  小結(jié)    103
第4章  CPU/DSP核心    104
4.1  CPU/DSP核心    104
4.1.1  CPU/DSP核心模塊的接口    104
4.1.2  CPU/DSP源代碼模塊功能說明    106
4.1.3  CPU/DSP核心模塊流水線    107
4.1.4  CPU/DSP核心寄存器說明    107
4.1.5  OR1200的數(shù)據(jù)流程    108
4.2  IF級    109
4.2.1  genpc源代碼模塊    109
4.2.2  if模塊    112
4.3  ID級    115
4.3.1  ctrl模塊接口說明    115
4.3.2  ctrl模塊源代碼分析    117
4.4  EX級    126
4.4.1  operandmuxes模塊    126
4.4.2  alu模塊    129
4.4.3  (乘法器)mult_mac模塊    134
4.5  系統(tǒng)控制模塊    138
4.5.1  sprs模塊    139
4.5.2  cfgr模塊    147
4.5.3  except模塊    150
4.5.4  freeze模塊    158
4.6  MA級(lsu模塊)    161
4.7  WB級    167
4.7.1  wbmux源代碼模塊    167
4.7.2  rf模塊    169
第5章  OpenRISC存儲系統(tǒng)    175
5.1  概述    175
5.1.1  現(xiàn)代計算機存儲系統(tǒng)原理    175
5.1.2  OpenRISC存儲系統(tǒng)構(gòu)成    177
5.1.3  虛擬存儲系統(tǒng)的工作原理    177
5.1.4  MMU寄存器說明    182
5.2  OpenRISC的高速緩存    185
5.2.1  一般高速緩存的工作原理    185
5.2.2  OpenRISC高速緩存的工作原理    187
5.2.3  Cache讀寫操作的總線周期    188
5.2.4  dcache寄存器    190
5.3  OpenRISC的虛擬存儲系統(tǒng)源碼分析    191
5.3.1  OR1200_dmmu_top模塊源碼分析    191
5.3.2  OR1200_dmmu_tlb模塊源碼分析    193
5.4  OpenRISC高速緩存的源碼分析    196
5.4.1  OR1200_dc_top模塊    196
5.4.2  OR1200數(shù)據(jù)緩沖存儲器    199
5.4.3  OR1200_dc_fsm模塊    200
5.5  片上存儲器QMEM    205
第6章  OpenRISC的主要外設(shè)    212
6.1  概述    212
6.2  寫緩沖模塊OR1200_sb    212
6.3  總線接口單元模塊OR1200_wb_biu    215
6.4  計時器模塊OR1200_tt    220
6.5  可編程中斷控制器模塊OR1200_pic    223
6.6  電源管理模塊OR1200_pm    225
第7章  OpenRISC調(diào)試接口    230
7.1  OR1200的調(diào)試功能概述    230
7.2  調(diào)試單元OR1200_du模塊    231
7.2.1  調(diào)試單元的寄存器定義    231
7.2.2  調(diào)試單元的源碼分析    237
7.3  JTAG開發(fā)接口模塊    245
7.3.1  JTAG開發(fā)接口模塊的工作原理    245
7.3.2  OR1200與JTAG開發(fā)接口的連接    246
7.3.3  JTAG調(diào)試接口的頂層模塊dbg_top    246
7.3.4  Dbg_registers和Dbg_trace模塊    261
7.4  小結(jié)    269
第8章  編譯器移植    270
8.1  編譯過程簡介    270
8.1.1  編譯流程    270
8.1.2  編譯過程中的優(yōu)化概述    271
8.1.3  編譯程序組成    275
8.2  GNU開發(fā)工具鏈    276
8.2.1  GCC 4.0簡介    277
8.2.2  binutils工具    280
8.2.3  gdb調(diào)試工具    281
8.3  RTL語言    282
8.3.1  平臺描述及抽象機標準指令    283
8.3.2  RTL語法簡介    285
8.3.3  RTL示例    286
8.3.4  標準指令模式    288
8.4  OR32平臺GCC編譯器移植    289
8.4.1  標準指令模式的實現(xiàn)方法    290
8.4.2  or32.md文件    290
8.4.3  define_expand功能擴展    293
8.5  OR32平臺binutils的移植    294
8.5.1  指令編碼接口    295
8.5.2  目標文件平臺相關(guān)信息宏定義    298
8.5.3  opcodes庫    300
8.6  OR32工具鏈的編譯安裝    303
第9章  Linux平臺移植    306
9.1  編寫OR32復(fù)位例外    306
9.1.1  reset(復(fù)位)例外    307
9.1.2  初始化內(nèi)存管理器(函數(shù)_mc_init)    307
9.1.3  初始化UART(函數(shù)_early_uart_init)    309
9.1.4  CPU啟動函數(shù)_start    309
9.1.5  IC和DC的啟動    311
9.1.6  用于例外調(diào)試的宏定義    312
9.2  內(nèi)核啟動(函數(shù)start_kernel)    315
9.2.1  中斷操作    316
9.2.2  tick定時器底層接口函數(shù)    320
9.3  內(nèi)核啟動時建立
9.3  平臺(函數(shù)setup_arch)    321
9.3.1  TLB管理底層接口函數(shù)    322
9.3.2  OR32控制臺驅(qū)動程序    323
9.4  例外處理    324
9.4.1  通用例外入口處理宏    325
9.4.2  出入例外的現(xiàn)場保護    327
9.4.3  返回處理    328
9.4.4  頁錯誤處理例程    330
9.4.5  外部中斷例外處理    332
9.4.6  DTLB/ITLB失靶例外處理    333
9.4.7  啟動的DTLB/ITLB失靶處理    335
9.4.8  系統(tǒng)調(diào)用例外處理    336
9.5  運行時用到的底層接口    337
9.5.1  線程創(chuàng)建及切換    337
9.5.2  硬件配置    339
9.5.3  定義小于1ms的延遲函數(shù)    340
9.5.4  ELF相關(guān)定義    340
9.5.5  用戶與內(nèi)核空間之間的數(shù)據(jù)傳遞    340
9.5.6  系統(tǒng)調(diào)用參數(shù)處理    343
9.5.7  寄存器及棧    344
9.6  Linux移植    345
9.6.1  or1ksim仿真器    345
9.6.2  OpenRISC參考平臺    348
第10章  OpenRISC參考設(shè)計
第10章  與FPGA移植    349
10.1  OpenRISC的功能驗證    349
10.1.1  處理器設(shè)計中的功能驗證    349
10.1.2  OR1200的基本驗證    349
10.1.3  OpenRSIC參考驗證
10.1.3  平臺ORP_SOC    353
10.2  ORP_SOC的FPGA移植    355
10.2.1  FPGA開發(fā)流程    355
10.2.2  Altera Cyclone II
10.2.2  FPGA的架構(gòu)與資源    357
10.2.3  ORP_SOC到Altera FPGA的移植    358
10.3  FPGA開發(fā)板的設(shè)計與使用    364
第11章  開放源代碼以太網(wǎng)MAC控制器IP    366
11.1  開放源代碼以太網(wǎng)媒體
11.1  訪問控制器IP    366
11.1.1  以太網(wǎng)媒體訪問控制協(xié)議概要    366
11.1.2  ORP_SoC的以太網(wǎng)
11.1.2  MAC控制器IP核的主要特點    368
11.2  以太網(wǎng)MAC控制器IP頂層模塊    368
11.2.1  功能    368
11.2.2  以太網(wǎng)MAC控制器IP
11.2.2  頂層模塊的源碼分析    369
11.3  MII接口模塊    373
11.3.1  MII接口模塊的功能    373
11.3.2  MII接口頂層模塊源代碼分析    375
11.3.3  MII時鐘生成模塊    379
11.3.4  MII移位輸出模塊    379
11.3.5  MII輸出控制模塊    381
11.4  以太網(wǎng)數(shù)據(jù)發(fā)送模塊    381
11.4.1  以太網(wǎng)MAC數(shù)據(jù)發(fā)送
11.4.1  模塊功能描述    381
11.4.2  以太網(wǎng)MAC數(shù)據(jù)頂層
11.4.2  模塊頂層模塊    382
11.4.3  以太網(wǎng)MAC數(shù)據(jù)發(fā)送
11.4.3  控制狀態(tài)機模塊    386
11.4.4  以太網(wǎng)MAC數(shù)據(jù)發(fā)送
11.4.4  計數(shù)器模塊    388
11.4.5  發(fā)送隨機數(shù)產(chǎn)生模塊    389
11.5  以太網(wǎng)數(shù)據(jù)接收模塊    390
11.5.1  以太網(wǎng)MAC數(shù)據(jù)接收模塊的功能    390
11.5.2  以太網(wǎng)MAC數(shù)據(jù)接收頂層模塊    390
11.5.3  以太網(wǎng)MAC數(shù)據(jù)接收狀態(tài)機    393
11.5.4  以太網(wǎng)MAC數(shù)據(jù)接收計數(shù)器模塊    394
11.5.5  以太網(wǎng)MAC數(shù)據(jù)
11.5.5  接收地址校驗?zāi)K    396
11.6  以太網(wǎng)MAC控制模塊    397
11.6.1  以太網(wǎng)MAC控制模塊的功能    397
11.6.2  以太網(wǎng)MAC控制模塊的頂層模塊    398
11.6.3  以太網(wǎng)MAC發(fā)送控制模塊    401
11.6.4  以太網(wǎng)MAC接收控制模塊    403
11.7  以太網(wǎng)MAC狀態(tài)模塊    406
11.8  以太網(wǎng)MAC寄存器模塊    408
11.9  以太網(wǎng)MAC Wishbone接口模塊    411
11.9.1  功能描述    411
11.9.2  源代碼分析    413
11.10  小結(jié)    436
第12章  USB設(shè)備功能模塊    437
12.1  USB 2.0包標識符及傳輸控制概述    437
12.2  USB IP核的整體結(jié)構(gòu)    438
12.2.1  USB 2.0 IP核模塊組成說明    438
12.2.2  USB數(shù)據(jù)緩沖與傳遞    441
12.2.3  USB功能模塊的源代碼組織    444
12.3  寄存器文件模塊usbf_rf    444
12.3.1  USB寄存器功能說明    444
12.3.2  模塊usbf_rf源代碼分析    448
12.3.3  端點寄存器文件    452
12.4  Wishbone接口模塊usbf_wb    457
12.5  內(nèi)存緩沖區(qū)仲裁器
12.5  模塊usbf_mem_arb    459
12.6  協(xié)議層模塊    460
12.6.1  IDMA模塊    461
12.6.2  協(xié)議引擎模塊    468
12.6.3  包裝配模塊    480
12.6.4  包拆卸模塊    484
12.7  UTMI接口模塊    487
12.7.1  UTMI標準說明    487
12.7.2  模塊usbf_utmi_if源代碼分析    489
12.7.3  USB連線狀態(tài)及速度協(xié)調(diào)模塊    490
第13章  全定制芯片設(shè)計方法    502
13.1  集成電路設(shè)計概述    502
13.1.1  集成電路的設(shè)計分類    502
13.1.2  FPGA到ASIC設(shè)計的轉(zhuǎn)換    502
13.2  芯片設(shè)計流程    503
13.2.1  EDA工具介紹    504
13.2.2  前端設(shè)計概述    504
13.2.3  后端設(shè)計概述    505
13.3  DC工具綜合    507
13.3.1  DC工具綜合的基本流程說明    508
13.3.2  綜合的基本概念    510
13.3.3  DC的工藝庫信息說明    513
13.3.4  DC的命令說明    518
13.3.5  ORP的綜合    522
13.4  PrimeTime靜態(tài)時序分析    527
13.4.1  靜態(tài)時序分析概述    527
13.4.2  PrimeTime用戶流程    529
13.5  可測性設(shè)計    530
13.5.1  DFT技術(shù)概述    531
13.5.2  DFT Compiler流程    535
13.5.3  ATPG工具TetraMAX    537
13.6  自動布局布線    540
13.7  版圖的物理驗證    562
13.7.1  DRC流程    562
13.7.2  LVS流程    568
附錄A  循環(huán)冗余校驗算法分析與實現(xiàn)    570
附錄B  基于元胞自動機和線性反饋移
附錄B  位寄存器的硬件隨機數(shù)生成器    579
附錄C  Verilog RTL設(shè)計中的常見問題    587
參考文獻    595

本目錄推薦

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