|
|
|
|
移动端

前言

《手把手教你设计CPU——RISC-V处理器篇》本书是一本介绍通用CPU设计的入门书籍,共分四部分。第一部分是CPU与RISC-V的综述。第二部分讲解使用Verilog设计CPU。第三部分介绍蜂鸟E203配套的SoC和软件平台。第四部分是附录,介绍RISC-V指令集架构,辅以背景知识解读和注解,便于读者理解。本节为前言。

作者:胡振波来源:人民邮电出版社|2018-05-23 11:00

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

前言

永恒的热点——CPU

灯,等灯等灯……

—— Intel

如果要评选过去十数年间经典的科技广告音乐,想必Intel的广告音乐“灯,等灯等灯……”会榜上有名。而熟悉的蓝色贴标“Intel Inside”,也必是辨识度很高的广告图标。

中央处理单元(Center Processor Unit,CPU),虽然早已被大众所熟知,但在相当长的时间内,它一直是高端大气的代名词。也许很多读者都和作者有着相同的印象,在早期的电脑杂志上,必然有着浓墨重彩的篇幅与专栏,详细介绍Intel或AMD公司推出的CPU芯片的详细参数,抑或MIPS与ARM的优劣之处,甚至是令人津津乐道的各家CPU的小道消息与幕后桥段。

而CPU代表的高端技术,也一直笼罩在神秘的面纱之下。当作者还是一名学生的时候,每当浏览CPU的论坛与探讨文章,总能看到其作为热门版块吸引着众多的拥护者,并拥有极高的下载量。当我结束了多年的校园生活,开始选择人生第一份工作时,正逢某知名外企到中国设立CPU研发部门。经过激烈的竞争,我有幸成为了一名CPU逻辑设计工程师。而后多年间,我先后供职于多家国际一流公司的CPU设计部门,参与过多次校园招聘和社会招聘,CPU设计部门总能以其光环吸引众多的应聘者前来竞争角逐。就像每个男孩心中都有一个军人梦一样,似乎每一个芯片设计人员都有一个CPU梦。

当今世界,科学技术正在以令人惊异的速度飞快发展,从IoT(物联网)到大数据再到人工智能,新技术与新领域如雨后春笋般层出不穷。而CPU这门诞生于20世纪60~70年代的技术,是否已经垂垂老矣,应该退出历史舞台了呢?其实不然,从IoT的超低功耗微控制器到大数据的高性能计算,再到人工智能的异构计算,CPU均扮演着核心的角色。可以说,在未来相当长的时间内,从指尖的超低功耗处理器到云端的超级计算机,CPU技术都将持续站在前沿科技的风口浪尖,散发着它历久弥新的魅力。

然而长期以来,CPU架构主要由以Intel(x86架构)和ARM(ARM架构)为代表的商业巨头公司所掌控,成为普通公司与个人无法逾越的天堑。2016年,RISC-V基金会成立,开放免费的RISC-V架构。这一举动具有划时代的意义,任何公司与个人均可依据开放的RISC-V架构设计自己所需的处理器,极大地降低了CPU的准入门槛。因此,RISC-V架构在极短的时间内便引起了业界的高度关注,从众多反应快速的小公司到实力雄厚的巨头公司(如NVIDIA、三星等)均开始使用RISC-V架构开发产品。“旧时王谢堂前燕,飞入寻常百姓家”,在摩尔定律逐步逼近极限的今天,开放且免费的RISC-V架构的诞生,将催生出新一轮的创新热潮。

当前国内CPU产业方兴未艾,x86、ARM和MIPS等传统商用处理器架构呈现“百花齐放”之势。龙芯、兆芯、飞腾等资深专业CPU公司在不断突破,华为、展讯等一线大公司相继开始研发自主的处理器核心,海光、华芯通等新锐也开始摩拳擦掌。此时,开放的RISC-V架构的诞生,更是锦上添花。可以说,学习CPU设计正当时,学习RISC-V正当时!

作者在培训新入门工程师,或与爱好者、学生交流的过程中,能够感到CPU设计这门要求计算机体系结构和软硬件皆通的技术令初学者难以学习和掌握,作者时常遗憾于没有很好的通俗读本。正所谓“曲高和寡,妙伎难工”,CPU设计过于专业,相关的书籍或卷帙浩繁,或晦涩难懂,令初学者不知从何下手,且难以理解。在实际的练习中,也难以找到易于学习和上手的例程,更别说完整地设计一款处理器了。

如上种种,正是促使作者撰写此书的原因。作者希望本书能够作为一本通俗读本,帮助初学者和爱好者顺利越过初期的陡峭学习曲线,进入CPU设计的坦途。谨以此书献给曾经帮助过作者的良师益友、合作伙伴和默默工作的工程师们!

本书内容

Stay hungry, Stay foolish.

(求知似饥,虑心若愚。)

—— Steven Jobs(史蒂夫·乔布斯)

您是否想学习工业级Verilog RTL数字IC设计的精髓与技巧?

您是否阅读了众多计算机体系结构的书籍仍不明就里?

您是否想揭开CPU设计神秘的面纱,并亲自设计一款处理器?

您是否想学习国际一流公司真实的CPU设计案例?

您是否想用最短的时间熟悉并掌握RISC-V架构?

您是否想深入理解并使用一款免费可靠的开源RISC-V处理器和完整的SoC平台?

如果您对上述任意一个问题感兴趣,本书都将是您很好的选择。

作者所在公司的团队,总结各国际一流公司多年从事CPU设计工作的丰富经验,开发了一款超低功耗RISC-V处理器(蜂鸟E200),也是一款开源的RISC-V处理器。

结合该处理器实例与作者多年的CPU设计经验与心得,本书将用通俗易懂的语言,深入浅出地剖析RISC-V处理器的微架构以及代码实现,为读者揭开CPU设计的神秘面纱,打开计算机体系结构的大门。

本书旨在成为国内第一本系统介绍RISC-V指令集架构的通俗读本,以及第一本结合实际RISC-V开源实例进行教学的技术图书。相信通过对本书的学习,读者能够快速掌握并轻松使用RISC-V架构处理器。

通过学习实例蜂鸟E200的Verilog代码,您将能成为一名合格的数字IC设计工程师;通过学习本书推荐的完整开源SoC平台,您也可以快速搭建FPGA原型平台,运行完整的软件实例。

希望本书能够为科普RISC-V指令集架构起到推动作用,同时通过对“蜂鸟E200处理器”的开源与解析,为RISC-V处理器在国内的普及贡献绵薄之力。本书共分四部分,各部分主要内容如下。

第一部分是CPU与RISC-V综述,包括第1~4章。该部分将介绍CPU的一些基础背景知识、RISC-V架构的诞生和特点。

第1章主要介绍CPU的基础知识、指令集架构的历史、国产CPU的发展现状及原因、CPU的应用领域、各领域的主流架构、RISC-V的诞生背景等。

第2章主要介绍RISC-V架构和特点,着重分析其大道至简的设计哲学,并阐述RISC-V和以往曾经出现过的开放架构有何不同。

第3章主要对当前全球范围内的商业或者开源RISC-V处理器进行盘点,分析其优缺点,并引出开源的RISC-V处理器——蜂鸟E200系列处理器核和SoC。

第4章主要对蜂鸟E200系列处理器核和SoC的特性进行整体介绍。

第二部分主要讲解如何使用Verilog设计CPU,包括第5~16章。该部分将对蜂鸟E200处理器核的微架构和源代码进行深度剖析,结合该处理器核进行处理器设计案例分析。

第5章主要先从宏观的角度着手,介绍若干处理器设计的技巧、蜂鸟E200处理器核的总体设计思想和顶层接口。帮助读者整体认识蜂鸟E200处理器的设计要诀,为后续各章针对不同部分展开详述奠定基础。

第6章主要介绍处理器的一些常见流水线结构,并介绍蜂鸟E200处理器核的流水线结构。

第7章主要介绍处理器的取指功能,并介绍蜂鸟E200处理器核取指单元的微架构和源码分析。

第8章主要介绍处理器的执行功能,并介绍蜂鸟E200处理器核执行单元的微架构和源码分析。

第9章主要介绍处理器交付的功能和常见策略,并介绍蜂鸟E200处理器核交付单元的微架构和源码分析。

第10章主要介绍处理器的写回功能和常见策略,并介绍蜂鸟E200处理器核的写回硬件实现微架构和源码分析。

第11章主要介绍处理器的存储器架构,并介绍蜂鸟E200处理器核存储器子系统的微架构和源码分析。

第12章主要介绍蜂鸟E200处理器核的总线接口模块,介绍其使用的总线协议,以及该模块的微架构和源码分析。

第13章主要介绍RISC-V架构定义的中断和异常机制,蜂鸟E200处理器核中断和异常的硬件微架构及其源码分析。

第14章主要介绍处理器的调试机制,介绍RISC-V架构定义的调试方案、蜂鸟E200处理器调试机制的硬件实现微架构和源码分析。

第15章主要介绍处理器的低功耗技术,并以蜂鸟E200处理器为例阐述其低功耗设计的诀窍。

第16章主要介绍如何利用RISC-V的可扩展性,并以蜂鸟E200的协处理器接口为例详细阐述如何定制一款协处理器。

第三部分是使用Verilog进行仿真和在FPGA SoC原型上运行软件,包括第17~20章。该部分将对蜂鸟E200配套SoC的软硬件平台进行剖析,并详细讲解如何进行Verilog仿真测试,如何在FPGA原型上运行软件示例程序和使用GDB进行调试。想快速使用蜂鸟E200的读者可以跳过第二部分,直接阅读第三部分内容。

第17章主要介绍蜂鸟E200开源平台如何运行Verilog仿真测试。

第18章主要介绍蜂鸟E200处理器配套的SoC如何在FPGA上实现该SoC原型。

第19章主要介绍如何使用SoC的FPGA原型平台运行真正的软件示例、如何使用GDB对程序进行调试。

第20章主要介绍如何使用SoC的FPGA原型平台运行跑分程序,对蜂鸟E200处理器核的性能进行量化评估。

第四部分是附录部分,包括附录A~附录G。该部分将对RISC-V指令集架构进行详细介绍,对RISC-V指令集架构细节感兴趣的读者可以先行阅读附录部分。

附录A主要介绍RISC-V架构的指令集。该附录翻译自RISC-V的“指令集文档”,并对相关内容进行了重新组织,以求通俗易懂。

附录B主要介绍RISC-V架构的CSR寄存器。该附录对于CSR寄存器的介绍翻译自RISC-V的“特权架构文档”,同时还介绍了蜂鸟E200处理器核自定义的CSR寄存器。

附录C主要介绍RISC-V架构定义的系统平台中断控制器(Platform Level Interrupt Controller,PLIC)。该附录对于PLIC的介绍翻译自RISC-V的“特权架构文档”。

附录D主要介绍存储器模型(Memory Model)的相关背景知识,帮助读者更深入地理解RISC-V架构的存储器模型。

附录E主要结合多线程“锁”的示例对存储器原子操作指令的应用背景进行简介。

附录F和附录G分别是RISC-V指令的编码列表和RISC-V伪指令的列表。附录均节取自RISC-V的“指令集文档”,供读者快速查阅。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Grails权威指南

本书译自Grails项目负责人Graeme Keith Rocher所著的“The Definitive Guide to Grails”一书,着重介绍了如何在Grails框架下使用Groovy语...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊