搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入理解OpenRISC体系结构
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111504047
  • 作      者:
    甄建勇编著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2015
收藏
编辑推荐
  

  理论精炼实用,深入浅出地阐释了体系结构设计中的重要概念。

  分析深入透彻,囊括了OpenRISC所有模块源码及其深层工作机制。

  实践身临其境,不仅参考代码和文件完整,还专门设计了配套开发板,极具可操作性。

  具备软硬件协同设计能力必读的一本书

  本书适合想动手设计属于自己的CPU的读者和从事嵌入式开发的技术人员。此外,本书还可作为对计算机体系结构设计感兴趣的电子工程类、自动控制类、计算机类的高年级本科生和研究生的参考用书。

  本书兼具基础性、系统性和实践性。通过阅读本书,读者可以获得设计CPU所需的理论知识,了解真实CPU内部的运行机制,掌握动手设计CPU的技术技能,轻松跨越软件和硬件之间的知识技能障碍。

展开
作者简介

  甄建勇,嵌入式驱动工程师,芯片设计工程师,曾在中科院体系结构重点实验室工作。现供职君正集成电路,负责芯片架构设计。长期专注于嵌入式设备驱动开发和数字电路设计,并积累了大量理论和工程经验。一直以开源软件和开源硬件的发展为己任,是开源处理器OpenRISC的实践者和推动者。2010年开始关注Opencores组织的OpenRISC开源体系结构,并在2013年年初在CSDN网站开设了OpenRISC专栏,以“关注OpenRISC开源体系结构的发展,研究OpenRISC的Verilog HDL源码,讨论学习OpenRISC中遇到的各种问题”为宗旨,短时间内就吸引了成千上万的点击量和回复。

展开
内容介绍

  《深入理解OpenRISC体系结构》是一本阐述CPU内部运行机制和具体实现的图书。内容涵盖了CPU设计所需的基础知识,一款真实CPU的源代码分析,以及如何动手实现自己的CPU等内容。此外,本书还介绍了软件驱动程序与硬件控制器协同工作的内在原理。通过阅读本书,读者可以获得设计CPU所需的理论知识,了解真实CPU内部的运行机制,掌握动手设计CPU的核心技能,轻松跨越软件和硬件之间的知识技能障碍。

  《深入理解OpenRISC体系结构》是一本介绍OpenRISC体系结构的图书。通读对本书的阅读,读者不仅可以获得计算机体系结构设计的基础理论知识,还可以掌握动手设计处理器的基本技能,迈入CPU设计的大门。本书的内容大致可分为三部分,即知识储备、实例分析和动手实践。其中第一部分着重介绍了体系结构设计中的概念、并行技术、局部性原理,以及进行计算机体系接结构设计的一般流程。第二部分,以OpenRISC为分析对象,深入分析了开源CPU数据通路、控制通路和存储器层次组织的实际实现,对研究体系结构设计具有很高的现实意义和实际价值。此外本部分还介绍了以OpenRISC为基础的ORPSoC的很多设计细节。第三部分,介绍如何运用前面的积累设计一个简单的RISC核,以及设计的仿真和FPGA验证。本书适合急于了解和掌握体系结构设计基础,对开源CPU内部实现充满好奇,并想动手设计属于自己CPU的读者,以及从事嵌入式开发的技术人员。此外,本书还可作为对计算机体系结构设计感兴趣的电子工程类、自动控制类、计算机类的高年级本科生和研究生的参考用书。

展开
目录
前言
第1章 绪 论 / 1
1.1 概述 / 1
1.2 计算机漫谈 / 3
1.2.1  十进制计算机 / 3
1.2.2 二进制计算机 / 7
1.3 计算机体系结构 / 12
1.3.1 图灵与图灵机 / 12
1.3.2 冯·诺依曼与冯·诺依曼体系结构 / 14
1.3.3 改进的哈佛体系结构 / 17
1.3.4 发展趋势 / 19
1.4 并行技术 / 20
1.4.1 流水线 / 20
1.4.2 乱序 / 22
1.4.4 单指令多数据流 / 22
1.4.5 同时多线程 / 23
1.4.6 单芯片多处理器 / 23
1.4.7 对称多处理器 / 25
1.5 局部性原理 / 25
1.6 计算机的评价 / 26
1.7 设计流程 / 27
1.7.1 分析 / 27
1.7.2 模拟器 / 28
1.7.3 FPGA设计 / 29
1.7.4 ASIC / 35
1.8 OpenRISC / 36
1.8.1 概述 / 36
1.8.2 OpenRISC寄存器集 / 37
1.8.3 OpenRISC指令集 / 41
1.9 小结 / 41
1.10 习题 / 42
第2章 基于OpenRISC的开发 / 43
2.1 概述 / 44
2.2 项目描述 / 44
2.3 开发环境的构建 / 44
2.3.1 开发环境的组成 / 44
2.3.2 开发环境的选择与安装 / 46
2.4 硬件的开发 / 51
2.4.1 模块划分和编码实现 / 51
2.4.2 功能仿真与时序仿真 / 51
2.5 驱动程序的开发 / 55
2.6 FPGA板级验证 / 66
2.7 硬件与软件的比较 / 66
2.8 ORPSoC与or1200 / 70
2.8.1 ORPSoC架构分析 / 70
2.8.2 ORPSoC的启动过程 / 73
2.8.3 or1200 / 83
2.9 小结 / 86
2.10 习题 / 86
第3章 数据通路设计 / 87
3.1 概述 / 87
3.2 数据通路 / 87
3.3 OpenRISC的数据通路整体架构分析 / 88
3.4 取指 / 89
3.5 译码 / 97
3.6 执行 / 118
3.6.1 运算部件基础 / 118
3.6.2 or1200的运算部件 / 127
3.7 访存 / 135
3.7.1 流水线的访存阶段 / 135
3.7.2 or1200访存阶段的具体实现分析 / 136
3.8 写回 / 142
3.8.1 or1200写回阶段整体功能 / 142
3.8.2 or1200写回阶段具体实现代码分析 / 143
3.9 设计一个简单的除法器 / 150
3.10 小结 / 156
3.11 习题 / 157
第4章 控制通路设计 / 158
4.1 概述 / 158
4.2 控制通路的复杂性 / 158
4.3 OR的控制通路设计分析 / 160
4.3.1 整体介绍 / 160
4.3.2 sprs模块 / 160
4.4 OR的异常处理 / 172
4.4.1 except模块 / 172
4.4.2 freeze模块 / 187
4.5  OR的调试系统 / 190
4.5.1 调试方案的分类 / 190
4.5.2 advanced debug system / 192
4.5.3 我的调试系统 / 195
4.5.4 JTAG模块 / 201
4.6 基于or1200的中断实验 / 223
4.7 小结 / 239
4.8 习题 / 239
第5章 存储器组织 / 240
5.1 概述 / 240
5.2 TLB与Cache  / 241
5.2.1 概述 / 241
5.2.2 TLB / 243
5.2.3 Cache / 250
5.3 OR的存储器组织 / 256
5.3.1 OR的MMU / 257
5.3.2 OR的Cache / 265
5.4 自己设计一个简单的Cache / 292
5.5 小结 / 293
5.6 习题 / 294
第6章 自己设计一个简单的CPU / 295
6.1 概述 / 295
6.2 层次建模 / 295
6.3 可综合代码风格 / 299
6.4 一个简单CPU的设计、实现、仿真与综合 / 300
6.4.1 架构设计 / 301
6.4.2 模块划分 / 301
6.4.3 模块划分与接口定义 / 302
6.4.4 RTL实现 / 303
6.4.5 ModelSim仿真 / 326
6.4.6 综合 / 331
6.4.7 改进及优化 / 332
6.4.8 tiny_core的指令集 / 333
6.5 小结 / 334
6.6 习题 / 334
附录A 常用公式和定律 / 335
附录B wishbone / 337
附录C 状态机的4种写法 / 340
附录D 跨时钟域信号的同步 / 352
附录E 推荐阅读 / 362
参考文献 / 364
后记 / 365
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证