图书介绍

步步惊“芯” 软核处理器内部设计分析【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

步步惊“芯” 软核处理器内部设计分析
  • 雷思磊著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121204890
  • 出版时间:2013
  • 标注页数:482页
  • 文件大小:246MB
  • 文件页数:501页
  • 主题词:微处理器-系统设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

步步惊“芯” 软核处理器内部设计分析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 OpenRISC介绍1

1.1 开源软核处理器1

1.2 OpenRISC 1000架构4

1.3 OR1200——OpenRISC 1000架构的一个实现4

1.3.1 寻址模式5

1.3.2 位和字节次序6

1.3.3 寄存器集6

1.3.4 指令集7

1.3.5 异常模型8

1.4 OR1200代码组织8

1.5 本书的分析方法11

第2章 实验环境的搭建13

2.1 GNU开发工具链的安装13

2.2 GNU开发工具链的使用18

2.2.1 一个简单的汇编程序18

2.2.2 编译及ELF文件介绍19

2.2.3 链接21

2.2.4 Makefile文件23

2.2.5 使用ORlKSim模拟器运行程序24

2.3 创建OR1200运行的最小系统25

2.3.1 最小系统的创建26

2.3.2 运行仿真29

2.3.3 修改Makefile30

2.3.4 观察流水线32

2.3.5 流水线介绍33

2.4 本书的一些说明及定义34

2.4.1 一些说明34

2.4.2 一些定义35

第3章 QMEM剖析37

3.1 QMEM的作用37

3.2 Wishbone总线快速了解40

3.3 QMEM的Wishbone总线接口43

3.3.1 QMEM与CPU、IMMU的连接44

3.3.2 QMEM与ICache的连接45

3.3.3 QMEM与CPU、DMMU的连接46

3.3.4 QMEM与DCache的连接47

3.4 QMEM的内部RAM49

3.5 复位后取第一条指令的过程分析51

3.5.1 复位信号有效阶段51

3.5.2 复位信号无效后的第一个时钟周期上升沿56

3.5.3 复位信号无效后的第一个时钟周期的组合逻辑阶段57

3.6 第二条及后续指令的读取过程分析58

3.6.1 复位信号无效后的第二个时钟周期的上升沿58

3.6.2 复位信号无效后的第二个时钟周期的组合逻辑阶段59

第4章 数据处理类指令剖析61

4.1 数据处理类指令说明61

4.2 分析用例65

4.3 流水线的简单模型67

4.4 1.add指令分析69

4.4.1 1.add取指阶段的组合逻辑输出70

4.4.2 1.add取指阶段的时序逻辑输出73

4.4.3 1.add译码阶段的组合逻辑输出75

4.4.4 1.add译码阶段的时序逻辑输出80

4.4.5 1.add执行阶段的组合逻辑输出91

4.4.6 1.add执行阶段的时序逻辑输出97

4.4.7 第一条指令分析小结98

4.5 1.sfeqi指令分析99

4.5.1 1.sfeqi取指阶段的组合逻辑输出99

4.5.2 1.sfeqi取指阶段的时序逻辑输出100

4.5.3 1.sfeqi译码阶段的组合逻辑输出100

4.5.4 1.sfeqi译码阶段的时序逻辑输出101

4.5.5 1.sfeqi执行阶段的组合逻辑输出102

4.5.6 1.sfeqi执行阶段的时序逻辑输出105

4.5.7 第二条指令分析小结106

4.6 ALU分析106

4.7 流水线数据相关的解决方法112

4.8 定制属于自己的指令117

4.9 不完整流水线数据通路图121

第5章 特殊寄存器访问类指令剖析123

5.1 OR1200中的特殊寄存器123

5.2 第0组特殊寄存器125

5.3 特殊寄存器访问类指令说明127

5.4 分析用例128

5.5 1.mfspr指令分析130

5.5.1 1.mfspr取指阶段的组合逻辑输出131

5.5.2 1.mfspr取指阶段的时序逻辑输出132

5.5.3 1.mfspr译码阶段的组合逻辑输出132

5.5.4 1.mfspr译码阶段的时序逻辑输出133

5.5.5 1.mfspr执行阶段第1个时钟周期的组合逻辑输出135

5.5.6 1.mfspr执行阶段第1个时钟周期的时序逻辑输出138

5.5.7 1.mfspr执行阶段第2个时钟周期的组合逻辑输出141

5.5.8 1.mfspr执行阶段第2个时钟周期的时序逻辑输出144

5.5.9 1.mfspr指令分析小结144

5.6 1.mtspr指令分析145

5.6.1 1.mtspr执行阶段的组合逻辑输出147

5.6.2 1.mtspr执行阶段的时序逻辑输出148

5.7 SPRS分析148

5.8 完善流水线数据通路图155

第6章 转移类指令剖析157

6.1 延迟槽157

6.2 转移类指令说明158

6.3 分析用例159

6.4 1.bf指令分析161

6.4.1 1.bf取指阶段的组合逻辑输出162

6.4.2 1.bf取指阶段的时序逻辑输出163

6.4.3 1.bf译码阶段的组合逻辑输出164

6.4.4 1.bf译码阶段的时序逻辑输出166

6.4.5 1.bf执行阶段第1个时钟周期的组合逻辑输出169

6.4.6 1.bf执行阶段第2个时钟周期的组合逻辑输出173

6.4.7 1.bf执行阶段第2个时钟周期的时序逻辑输出174

6.4.8 1.bf指令分析小结175

6.5 1.ialr指令分析176

6.5.1 1.jalr取指阶段的组合逻辑输出177

6.5.2 1.jalr取指阶段的时序逻辑输出177

6.5.3 1.jalr译码阶段的组合逻辑输出177

6.5.4 1.jalr译码阶段的时序逻辑输出179

6.5.5 1.jalr执行阶段第1个时钟周期的组合逻辑输出180

6.5.6 1.jalr执行阶段第2个时钟周期的组合逻辑输出181

6.5.7 1.jalr执行阶段第2个时钟周期的时序逻辑输出182

6.6 转移类指令对处理器效率的影响182

6.7 继续完善流水线数据通路图183

第7章 异常处理类指令剖析185

7.1 OR1200中的异常分类185

7.2 OR1200中的异常处理过程185

7.3 异常处理类指令说明187

7.4 分析用例187

7.5 EXCEPTION模块的作用190

7.6 1.sys指令分析195

7.6.1 1.sys取指阶段的组合逻辑输出196

7.6.2 1.sys取指阶段的时序逻辑输出196

7.6.3 1.sys译码阶段的组合逻辑输出197

7.6.4 1.sys译码阶段的时序逻辑输出198

7.6.5 1.sys执行阶段的组合逻辑输出199

7.6.6 1.sys执行阶段的时序逻辑输出201

7.6.7 异常处理过程——FLU1状态207

7.6.8 异常处理过程——FLU2状态211

7.6.9 异常处理过程——FLU3状态212

7.6.10 异常处理过程——FLU4状态212

7.6.11 异常处理过程——FLU5状态213

7.6.12 1.sys分析小结214

7.7 1.trap指令分析215

7.7.1 1.trap译码阶段的时序逻辑输出216

7.7.2 1.trap执行阶段的组合逻辑输出216

7.7.3 1.trap执行阶段的时序逻辑输出216

7.7.4 异常处理过程——FLU1状态217

7.7.5 异常处理过程——FLU2状态217

7.7.6 1.trap分析小结218

7.8 1.rfe指令分析218

7.8.1 1.rfe取指阶段的组合逻辑输出219

7.8.2 1.rfe取指阶段的时序逻辑输出219

7.8.3 1.rfe译码阶段的组合逻辑输出220

7.8.4 1.rfe译码阶段的时序逻辑输出221

7.8.5 1.rfe执行阶段第1个时钟周期的组合逻辑输出223

7.8.6 1.rfe执行阶段第2个时钟周期的组合逻辑输出224

7.8.7 1.rfe执行阶段第2个时钟周期的时序逻辑输出225

7.9 继续完善流水线数据通路图226

第8章 乘法、除法类指令剖析228

8.1 串行乘法与并行乘法228

8.1.1 串行乘法228

8.1.2 并行乘法229

8.2 串行除法与并行除法230

8.2.1 串行除法230

8.2.2 并行除法231

8.3 乘法、除法类指令说明232

8.4 OR1200中关于乘法、除法的一些配置234

8.5 分析用例234

8.6 1.mul指令分析(串行乘法)238

8.6.1 1.mul取指阶段的组合逻辑输出239

8.6.2 1.mul取指阶段的时序逻辑输出240

8.6.3 1.mul译码阶段的组合逻辑输出240

8.6.4 1.mul译码阶段的时序逻辑输出241

8.6.5 1.mul执行阶段第1个时钟周期的组合逻辑输出243

8.6.6 1.mul执行阶段第1个时钟周期的时序逻辑输出245

8.6.7 1.mul执行阶段第2个时钟周期的组合逻辑输出247

8.6.8 1.mul执行阶段第2个时钟周期的时序逻辑输出249

8.6.9 1.mul执行阶段第33个时钟周期的时序逻辑输出250

8.6.10 1.mul执行阶段第34个时钟周期的组合逻辑输出250

8.6.11 1.mul执行阶段第34个时钟周期的时序逻辑输出252

8.6.12 1.mul执行阶段第35个时钟周期的时序逻辑输出252

8.6.13 1.mul分析小结252

8.7 1.mul指令分析(并行乘法)253

8.7.1 1.mul执行阶段第1个时钟周期的组合逻辑输出(并行乘法)253

8.7.2 1.mul执行阶段第1个时钟周期的时序逻辑输出(并行乘法)254

8.7.3 1.mul执行阶段第2个时钟周期的组合逻辑输出(并行乘法)255

8.7.4 1.mul执行阶段第2个时钟周期的时序逻辑输出(并行乘法)256

8.7.5 1.mul执行阶段第3个时钟周期的时序逻辑输出(并行乘法)256

8.7.6 1.mul执行阶段第4个时钟周期的组合逻辑输出(并行乘法)256

8.7.7 1.mul执行阶段第4个时钟周期的时序逻辑输出(并行乘法)257

8.7.8 1.mul执行阶段第5个时钟周期的时序逻辑输出(并行乘法)257

8.7.9 1.mul分析小结(并行乘法)257

8.8 1.mac指令分析257

8.8.1 1.mac执行阶段第1个时钟周期的组合逻辑输出259

8.8.2 1.mac执行阶段第1个时钟周期的时序逻辑输出260

8.8.3 1.mac执行阶段第2个时钟周期的组合逻辑输出261

8.8.4 1.mac执行阶段第2个时钟周期的时序逻辑输出261

8.8.5 后1.mac执行阶段第1个时钟周期的时序逻辑输出262

8.8.6 后1.mac执行阶段第2个时钟周期的时序逻辑输出262

8.8.7 1.mac指令分析小结263

8.9 1.div指令分析(串行除法)263

8.1 0继续完善流水线数据通路图266

第9章 加载存储类指令剖析268

9.1 加载存储类指令说明268

9.2 分析用例270

9.31 .sb指令分析274

9.3.1 1.sb取指阶段的组合逻辑输出276

9.3.2 1.sb取指阶段的时序逻辑输出276

9.3.3 1.sb译码阶段的组合逻辑输出276

9.3.4 1.sb译码阶段的时序逻辑输出278

9.3.5 1.sb执行阶段第1个时钟周期的组合逻辑输出280

9.3.6 1.sb执行阶段第2个时钟周期的组合逻辑输出286

9.3.7 1.sb执行阶段第2个时钟周期的时序逻辑输出287

9.3.8 1.sb指令分析小结287

9.4 1 .1bs指令分析288

9.4.11 .1bs执行阶段第1个时钟周期的组合逻辑输出290

9.4.21 .1bs执行阶段第2个时钟周期的组合逻辑输出291

9.4.31 .1bs执行阶段第2个时钟周期的时序逻辑输出294

9.4.41 .1bs指令分析小结294

9.5 对齐异常处理流程295

9.6 三级流水线还是五级流水线297

9.7 完整的流水线数据通路图298

第10章 MMU剖析301

10.1 MMU的作用及工作过程301

10.2 TLB的作用及工作过程303

10.3 IMMU分析305

10.3.1 IMMU结构305

10.3.2 IMMU中的特殊寄存器307

10.3.3 OR1200中关于IMMU的一些配置308

10.3.4 ITLB代码分析309

10.3.5 IMMU使用情景313

10.3.6 分析用例313

10.3.7 IMMU使用情景之一——指令取指阶段ITLB命中且无页错误情况下IMMU工作分析324

10.3.8 IMMU使用情景之二——指令取指阶段ITLB未命中情况下IMMU工作分析329

10.3.9 IMMU使用情景之三——指令取指阶段ITLB命中但有页错误情况下IMMU工作分析333

10.3.10 IMMU使用情景之四——1.mtspr执行阶段IMMU工作分析333

10.3.11 IMMU使用情景之五——1.mfspr执行阶段IMMU工作分析335

10.3.12 IMMU分析小结336

10.4 DMMU分析336

10.4.1 DTLB结构图337

10.4.2 DMMU中的特殊寄存器337

10.4.3 DMMU使用情景338

第11章 基于OR1200的一个简单SOPC340

11.1 简单SOPC的结构340

11.2 Wishbone总线互联矩阵WB_CONMAX341

11.3 挂接在互联矩阵WB_CONMAX下的RAM模块342

11.4 SOPC顶层文件344

11.5 ModelSim新建工程min or1200 sopc346

11.6 示例程序348

第12章 ICache剖析350

12.1 Cache基本知识350

12.1.1 Cache的作用350

12.1.2 Cache的结构与工作过程351

12.2 OR1200中Cache简介352

12.3 ICache结构353

12.3.1 ICache模块与其余模块的连接关系353

12.3.2 ICache中数据部分354

12.3.3 ICache中控制部分356

12.3.4 ICache数据部分与控制部分的对外接口357

12.4 ICache中的特殊寄存器358

12.5 ICache使用情景358

12.6 分析用例359

12.7 ICache使用情景之一—1.mtspr执行阶段ICache工作分析364

12.7.1 执行阶段的组合逻辑输出364

12.7.2 执行阶段的时序逻辑输出364

12.8 ICache使用情景之二—指令取指阶段ICache失靶情况下ICache工作分析365

12.8.1 第1个时钟周期的组合逻辑输出365

12.8.2 第1个时钟周期的时序逻辑输出368

12.8.3 第2个时钟周期的组合逻辑输出370

12.8.4 第2个时钟周期的时序逻辑输出371

12.8.5 第n个时钟周期的组合逻辑输出373

12.8.6 第n个时钟周期的时序逻辑输出373

12.8.7 第n+1个时钟周期的组合逻辑输出375

12.8.8 第2n个时钟周期的组合逻辑输出376

12.8.9 第2n个时钟周期的时序逻辑输出377

12.8.10 第2n+1个时钟周期的组合逻辑输出378

12.8.11 第3n个时钟周期的组合逻辑输出379

12.8.12 第3n个时钟周期的时序逻辑输出379

12.8.13 第3n+1个时钟周期的组合逻辑输出379

12.8.14 第4n个时钟周期的组合逻辑输出379

12.8.15 第4n个时钟周期的时序逻辑输出380

12.8.16 第4n+1个时钟周期的组合逻辑输出380

12.8.17 ICache失靶时工作过程小结381

12.9 ICache使用情景之三——指令取指阶段ICache命中情况下ICache工作分析381

12.9.1 第1个时钟周期的组合逻辑输出382

12.9.2 第1个时钟周期的时序逻辑输出382

12.9.3 第2个时钟周期的组合逻辑输出383

12.10 ICache使用情景之四——指令取指阶段内存页禁止缓存情况下ICache工作分析384

12.10.1 第1个时钟周期的组合逻辑输出384

12.10.2 第1个时钟周期的时序逻辑输出385

12.10.3 第2个时钟周期的组合逻辑输出385

12.10.4 第2个时钟周期的时序逻辑输出386

12.10.5 第3个时钟周期的组合逻辑输出386

12.10.6 第n个时钟周期的组合逻辑输出387

12.10.7 第n个时钟周期的时序逻辑输出387

第13章 DCache剖析389

13.1 DCache的特别之处389

1 3.2 DCache结构390

13.2.1 DCache模块与其余模块的连接关系391

13.2.2 DCache中数据部分392

13.2.3 DCache中控制部分394

13.2.4 DCache数据部分与控制部分的对外接口395

13.3 DCache 中的特殊寄存器396

13.4 DCache使用情景397

13.5 分析用例398

13.5.1 修改已有的简单SOPC398

13.5.2 分析用例398

13.6 DMMU地址翻译405

13.7 DCache使用情景之一——存储指令执行阶段DCache失靶405

13.7.1 通写法下DCache工作过程分析406

13.7.2 回写法下DCache工作过程分析413

13.8 DCache使用情景之二——存储指令执行阶段DCache命中422

13.8.1 通写法下DCache工作过程分析422

13.8.2 回写法下DCache工作过程分析424

13.9 DCache使用情景之三——1.mtspr指令写DCache中特殊寄存器427

13.9.1 通写法策略下指令1.mtspr写DCBIR、DCBFR的过程分析428

13.9.2 回写法策略下指令1.mtspr写DCBIR的过程分析429

13.9.3 回写法策略下指令1.mtspr写DCBWR的过程分析431

13.9.4 回写法策略下指令1.mtspr写DCBFR的过程分析437

13.10 DCache分析小结438

第14章 Store Buffer(SB)剖析440

14.1 SB模块的作用与工作过程440

14.2 SB模块的结构441

14.2.1 SB模块的对外连接关系441

14.2.2 SB模块内部结构442

14.2.3 SB模块有关的宏定义442

14.3 示例程序442

14.4 SB模块代码分析444

14.4.1 FIFO分析444

14.4.2 SB分析447

第15章 WB_BIU剖析450

15.1 WB_BIU模块的对外连接关系450

15.2 Wishbone寄存反馈总线周期451

15.3 WB_BIU代码分析454

15.3.1 WB_BIU中的有限状态机455

15.3.2 总线时钟与处理器时钟不同时的处理代码462

第16章 PM、TT、PIC剖析466

16.1 电源管理模块PM分析466

16.1.1 PM介绍466

16.1.2 PM模块的对外连接关系、特殊寄存器及相关宏定义466

16.1.3 PM代码分析468

16.2 计时器单元TT分析471

16.2.1 TT介绍471

16.2.2 TT的对外连接关系及相关宏定义472

16.2.3 TT代码分析473

16.2.4 计时器中断响应过程475

16.3 可编程中断控制器PIC分析477

16.3.1 PIC介绍477

16.3.2 PIC的对外连接关系及相关宏定义478

16.3.3 PIC代码分析479

热门推荐