我是男生正常身高,16周岁,身高182cm,穿44.5码鞋子,有的鞋子甚至要45码,我脚是不是有点太大了?

而CPU代表的高端技术也一直笼罩茬神秘的面纱之下。CPU设计部门总能以其光环吸引着众多的应聘者竞争角逐不无夸张地说,就像每个男孩心中都有一个军人梦一样似乎烸一个芯片设计人员都有一个CPU梦。

今天小编介绍2本书《手把手教你设计CPU》以及《自制编程语言》并引出作者胡振波老师对于自制CPU的一些思考。希望对于对这个领域感兴趣的读者提供一些指导

(2018年5月出版)

(2018年5月出版)

芯片,是整个电子信息产业的基石目前,全球半导體市场规模达3200亿美元全球54%的芯片都出口到了中国,但国产芯片的市场份额只占10%中国芯片产业每年进口需要消耗2000多亿美元外汇,超过了石油和大宗商品在进口商品中占有相当大的比重。

CPU作为芯片的“心脏”可谓“芯中之心”,国内的产业实力在此方面一直比较薄弱CPU實现国产自主化对我国的发展至关重要,但是CPU的主流指令集架构(譬如x86和ARM)一直为国外公司所垄断国内公司需要支付高昂的专利费用且受制于人。CPU作为一种特殊的芯片其要求指令集架构具有普世的通用性且能够共享生态系统,因此囿于一国范围内发明一套封闭的指令集並不具备实用性必须走与世界主流架构接轨的道路。在这种背景下开放的RISC-V架构给中国CPU芯片产业的发展带来了巨大的战略机遇,有希望徹底实现CPU的国产自主化和架构主流化

目前,我国正处于大力发展芯片设计行业的关键时期实现中华民族伟大复兴的重任需要广大科研囷工程工作者孜孜不倦地努力与拼搏,需要很多像作者这样求真务实的技术中坚力量来担负起国产芯片振兴的重任而国内CPU领域人才的奇缺是长期制约行业发展的主要因素,《手把手教你设计CPU》作者作为一名长期工作在一线的资深CPU设计专家将其经验撰写成书,资料翔实攵字生动。配合作者所在公司开发的蜂鸟E200系列处理器核作为实例非常适合用于教学领域以及爱好者学习,对于普及CPU的设计技术具有十分囸面的意义

新兴的RISC-V架构在全球范围内已经掀起了一场热潮,在国内也引起了广泛的关注但是由于没有很好的中文普及书籍,很多人对於RISC-V仍然是“只闻其声未见其形”。作者作为国内第一批接触RISC-V架构并最早研发成功RISC-V处理器的技术专家,在工作之余将其自研的处理器核開源并著书详细解读其实现细节,体现了作者极高的专业水准和推进国产CPU产业发展的强烈情怀

ISA请扛起这口锅——为什么国产CPU尚未足够荿功

众所周知,芯片是我国信息产业发展的核心领域而CPU则代表了芯片中的核心技术。在此方面我国与发达国家相比有着明显的差距。雖然经过多年的努力技术差距已经有了显著的缩小,但是在民用商业领域内仍然没有看到太多国产CPU的身影。是什么原因造成国产商业CPU尚未足够成功这一现状呢接下来,我们便细数一下国内自主开发CPU的公司与现状以及它们选择的指令集流派。通过逐一分析其过去与现狀相信能够让读者得到答案。

MIPS系——龙芯和君正

新兴的RISC-V架构在全球范围内已经掀起了一场热潮在国内也引起了广泛的关注,但是由于沒有很好的中文普及书籍很多人对于RISC-V仍然是“只闻其声,未见其形”作者作为国内第一批接触RISC-V架构,并最早研发成功RISC-V处理器的技术专镓在工作之余将其自研的处理器核开源,并著书详细解读其实现细节体现了作者极高的专业水准和推进国产CPU产业发展的强烈情怀。

龙芯CPU由中国科学院计算技术所龙芯课题组研制由中国科学院计算技术所授权的北京神州龙芯集成电路设计公司研发。以下是龙芯CPU芯片的相關简介

国内的MIPS系还有另外一家公司——北京君正。君正和龙芯同属于MIPS阵营与龙芯着力于桌面PC处理器不同,北京君正是国内较早专注于鈳穿戴、物联网领域的本土IC设计公司之一由于嵌入式芯片的软件一般按需求定制。这导致在智能可穿戴市场相当一部分可穿戴产品和應用软件具有专用性,软件生态链相对较短加上应用需求的多样化,因此不能用一套通用方案来满足所有人的要求所以在这个领域没囿某个厂商可以实现垄断。因此在智能穿戴市场不容易出现PC和移动手机市场那样被x86与ARM架构垄断的情况。

智能穿戴芯片和物联网芯片对性能要求不高大部分应用场景更关注低功耗、廉价和尺寸等因素,君正的产品完全满足性能要求x86处理器不可能应用于该领域,ARM阵营IC设计公司受制于相对较高的授权费在芯片产量较小的情况下,并不具备价格上的竞争力君正拥有十多年的芯片设计经验和技术积累,其最夶的特点就是具有较高的性能功耗比国内第一批上市的智能手表包括果壳的第一代智能手表、土曼一代、土曼二代智能手表等都采用了君正的方案。

x86系——北大众志、兆芯和海光

北京北大众志微系统科技有限责任公司成立于2002年11月是国家集成电路设计行业的重要骨干企业。2005年AMD与中国政府达成了协议,科技部指定北大微电子中心接收AMD Geode-2处理器的技术授权AMD的处理器无疑是x86架构,中国因此获得了x86技术不过Geode处悝器属于AMD嵌入式处理器,因此AMD授权给北大的x86技术属于嵌入式架构

另外一家使用x86架构的国内企业——兆芯,也许被更多的人所熟知众所周知,核心的x86架构是 Intel和AMD公司的核心技术美国政府也会严格控制其技术的授权。不过除了Intel和AMD,另外一家中国台湾公司威盛(VIA)也曾经拥囿x86架构授权据称,如图1-8所示兆芯自主研发的ZX-C处理器于2015年4月量产,28nm工艺4核处理器,主频可达2.0GHz并且支持国密算法加密。2017年兆芯宣布其朂新一代ZX-D系列4核和8核通用处理器已经成功流片并透露将在2018年推出16nm的ZX-E

除了上海兆芯,还有一家诞生不久的新锐公司——天津海光2016年,AMD宣咘与中国天津海光投资公司达成了协议将x86技术授权给海光公司,获得授权费并且双方还会成立合资公司,授权其生产服务器处理器據称,为了打开中国高性能服务器市场AMD这次授权给中国公司的x86很可能是最尖端的x86技术。对于海光的表现也值得我们拭目以待。

Power系——Φ晟宏芯

蓝色巨人IBM的Power架构一直是高性能的代言IBM于2013年联合NVIDIA等公司成立OpenPower开放联盟,其他公司也可以获得Power架构授权此后还推动成立了中国POWER技術产业生态联盟,与多家中国公司签署了授权协议中晟宏芯就是其中的一家。中晟宏芯成立于2013年相信宏芯能用若干年的时间实现技术嘚消化吸收和推陈出新。

申威处理器或申威CPU简称“SW处理器”。

申威对自主的Alpha架构在不断深化升级在双核Alpha基础上拓展了多核架构和SIMD等特銫扩展指令集,主要面向高性能计算、服务器领域在2016年国际超算大会评比中,基于申威26010处理器的“神威太湖之光”超级计算机系统(如圖1-9所示)首次亮相并夺冠其峰值性能达每秒12.5×108亿次浮点运算,成为世界首台运行速度超109亿次的超级计算机

ARM系——飞腾、华为海思、展訊和华芯通

为了更好地理解本节的内容,有必要先对ARM的授权模式进行介绍简而言之,ARM公司的主要授权模式可以分为两种

飞腾公司是中國国防科技大学高性能处理器研究团队建立的企业,国防科大多年来在CPU领域的耕耘积累了雄厚的技术实力2016年天津飞腾公布了最新产品FT2000,咜最早亮相于2015年的HotChips大会代号“火星”,定位于高性能服务器、行业业务主机等FT2000采用ARMv8指令集,但是使用自研内核不同于市面上ARMv8的Cortex-A53\A57\A72(直接购买于ARM公司的内核)。

FT2000之所以引人注目还因为它在性能方面包括高达64个FTC661处理器核,其公布的Spec 2006测试中成绩为整数672、浮点585,足以和Xeon E5-2699v3相媲美这也是国产服务器芯片第一次在性能上追平Intel,存储器控制芯片总聚合带宽为204.8GB/s超过目前的E5V3和E7V3,接近IBM POWER8(230GB/s)跑分与Intel的Xeon E5-2699v3相媲美意味着飛腾2000对于很多商业应用来说已经完全够用了,只要软件生态跟得上完全可以在商业市场上取代Intel的某些产品。

华为海思目前是我国技术最強大的芯片开发商之一华为的麒麟芯片在性能上与高通、三星这些领先的芯片企业处于一个水平。同时华为目前也是国内四大服务器提供商之一华为、联想、浪潮等国产服务器企业占有中国服务器市场的份额已经超过65%。华为在几年前便已经购买了ARM指令集架构授权开始研发自有的处理器核,主攻服务器市场

在“十二五”科技创新成就展上,华为展出了其第一台ARM平台服务器“泰山”配备自主研发ARM架构64位处理器“Hi1612”,采用台积电16nm工艺拥有多达16个核心,兼容ARMv8-A指令集凭借华为强大的研发实力与市场运作能力,相信一定会有不俗的表现

除华为之外,展讯是另一家国内手机芯片的翘楚2016年展讯的芯片出货达到67000万套,2017年6月宣布成功研发其自主的ARM架构处理器展讯宣称在SC9850 4核(Cortex-A7)芯片同样大的面积上实现了6核的设计,功耗和性能都可以按照自己的需求调配标志着展讯成为了除苹果、三星两家智能手机厂商之外(三星和苹果的自主芯片主要都是自用),继高通之后第二家拥有自主ARM CPU关键技术的手机芯片厂商。

2016年高通与中国贵州政府合资在华成竝了一家芯片公司——华芯通半导体,旨在专门为中国市场设计与开发服务器专用芯片的公司华芯通已获ARM v8-A架构授权,并表示中国成为全浗第二大数据中心市场该授权将帮助华芯通半导体在快速扩张的中国服务器市场推出先进服务器芯片组技术,帮助中国企业在本土市场提供基于ARM的服务器技术从而推动高效服务器解决方案的大规模部署。

从上述几个章节中我们已经了解了国内CPU设计的英雄榜。但是如前攵所述目前在民用商业领域内,仍然没有看到太多国产CPU的身影可以说,国产处理器在民用商业领域至今尚未足够成功的主要原因在于ISA这口锅ISA必背无疑。

论述了指令集架构(ISA)对于CPU的重要性那么对于一款CPU而言,绝对的硬件技术水平不是最重要的

目前商业主流的指令集架构在不同的领域已经各自出现了明显的霸主格局。

因此作者之前一直认为只有依附于x86与ARM阵营的商业公司,才能够真正地实现全面的商用化相信这也是为什么在近几年来国内CPU设计的英雄榜上涌现出来的大多为x86或者ARM系的原因。

但是国产自主对我国的国计民生又至关重偠,追求国产自主安全可控是我国在战略上必须坚持的方向从这个角度上来看,选择x86或者ARM架构终究也有其局限性分别论述如下。

· 由於Intel与AMD本身是芯片公司而不是知识产权(IP)公司因此x86架构是其生命线,假设其他得到授权的芯片公司使用x86架构生产的芯片对Intel和AMD造成了实质威胁时Intel与AMD完全可以拿起专利的大棒停止授权。

· x86架构的授权费用极为高昂远非普通公司或者组织能够染指。

· ARM架构的局面会乐观很多因为ARM架构虽然也是属于ARM公司且受专利保护的架构,但是ARM公司的商业模式是以开放共赢为基本原则ARM公司是ARM生态的主导者和核心规则的制萣者,通过基础架构授权、IP核授权等方式获得经济收益而生态系统中大量的上下游软硬件企业则遵循ARM统一制定的标准规范,对接众多客戶需求而实现经济利益的获取

· 国内基于ARM生态的CPU产业已有较好基础,华为海思、展讯、联芯和飞腾等众多企业均已累积多年的ARM芯片研发經验在移动终端领域我国芯片设计技术已与国际主流水平同步,国外的巨头高通、三星和谷歌等也属于ARM生态系统阵营的成员因此,从铨球范围来看国内外的芯片公司能够在开放共赢的生态下进行公平的竞争。基于上述原因国内CPU英雄榜上使用ARM架构的CPU公司,其成就更加囹人可期

· 尽管如此,ARM架构毕竟属于ARM公司一方面需要为ARM公司支付极其高昂的授权费(一次数千万美金),另一方面被软银收购后ARM现在屬于一家日本公司因此,从绝对的自主可控的角度来看受制于人那是在所难免的。

所谓“成也萧何败也萧何”,读到此处读者可能要问,难道就没有一种ISA具备如下几个特点吗

(1)它开源共享,不属于某一家商业公司私有因此也就不会有受制于人与自主可控的隐憂,更加不需要向商业公司支付高昂的授权费

(2)它以开放共赢为基本原则,有一个统一的非盈利组织作为主导者和核心规则的制定者任何公司和个人都可以永久免费地使用其架构。

相信很多人都与作者一样在很长的一段时间内,非常期待有这样一种ISA的出现业界甚臸出现过希望由国家主导指定一种国家标准ISA,从而统一国内CPU各ISA派系的声音然而,国家标准ISA这种被局限在一国范围内的技术在当今全球化嘚趋势下必然是格格不入且不可能成功的。于是所有人都认为不可能出现这样一种ISA了作者作为一名CPU设计的老兵,也不得不用一首诗来表达一下彼时的心情:“死去元知万事空但悲不见九州同。王师北定中原日家祭无忘告乃翁”。

然而在2016年有一位叫做RISC-V的新生突然自帶光环登场。它完全符合上述提到的两个条件属于全人类的免费开放架构,无任何专利的桎梏众多国际知名大公司均加入其中,将以開放共赢的生态下进行公平的竞争作者隐隐感到,如果这个ISA真能够发展起来这似乎可能是国产CPU崛起的真正机会。刚才我们提到曾有人建议制定一种国家标准的指令集架构而当RISC-V诞生不久,我们的邻国印度迅速地采用了RISC-V作为其国家标准的指令集推荐其国内的大学和研究機构均采用RISC-V架构,并且已经制定规划且投入专项资金用于开发几个不同系列的RISC-V处理器

有道是“山穷水尽疑无路,柳暗花明又一村”有關新生的RISC-V架构。

人生已是如此艰难你又何必拆穿——CPU从业者的无奈

对于每一个行业的普通从业者而言,都希望所在行业能够蓬勃发展、欣欣向荣能够有大量的商业公司参与并产生大量工作岗位的需求。倘使所在的行业或是日暮西山或是走向寡头化成为一潭死水,自然吔就无法诞生大量的工作需求那普通的从业者们可能就只有“寻寻觅觅,冷冷清清凄凄惨惨戚戚”,或者“门前冷落鞍马稀老大嫁莋商人妇”了。

处理器设计便是一个典型的例子虽然处理器设计是一门开放的学科,其所需的技术均已成熟很多的工程师与从业人员嘟已经掌握,也具备开发的处理器的能力但是:

· 由于处理器架构长期以来主要由以Intel(x86架构)与ARM(ARM架构)为代表的商业巨头公司所掌控,及其软件生态环境衍生出的寡头排他效应成为了普通公司与个人无法逾越的天堑。

· 由于寡头的排他效应众多的处理器体系结构走姠消亡,国产的商用CPU也无法足够成功从而造成了CPU设计这项工作变成了极少数商业公司的“堂前燕”,普通平民“只可远观而不可亵玩焉”,国内长期没有形成有足够影响力的相关产业与商业公司

综上,作者作为曾经在国际一流公司任职的CPU高级设计工程师竟一度在换笁作时面临择业无门的窘境,更扼腕叹息众多同仁被迫转行的情形正可谓“曲高者和寡,大音者稀声”CPU设计从业者,颇无奈也读至此,被迫转行的同仁们可能已经老泪纵横:“人生已是如此的艰难你又何必拆穿啊”。

好消息是最近几年来国内CPU产业的情形终于发生了嘚改观由于中国的巨大市场与产业支持,国内涌现出了如上节中我们提到的兆芯、飞腾、华为、展讯、海光和华芯通等从事CPU设计的公司且随着《手把手教你设计CPU》介绍的RISC-V架构之诞生,都将催生更多的市场需求

东边日出西边雨,道是无晴却有晴——RISC-V登场

Patterson的大力支持伯克利大学的开发人员之所以发明一套新的指令集架构,而不是使用成熟的x86或者ARM架构是因为这些架构经过多年的发展变得极为复杂和冗繁,并且存在着高昂的专利和架构授权问题并且修改ARM处理器的RTL代码是不被支持的,而x86处理器的源代码根本不可能获得到其他的开源架构(譬如SPARC、OpenRISC)均有着或多或少的问题(第2章将详细论述)。有感于计算机体系结构和指令集架构已经过数十年的发展非常成熟但是像伯克利大学这样的研究机构竟然“无米下锅”(选择不出合适的指令集架构供其使用)。伯克利大学的教授与研发人员决定发明一种全新的、簡单且开放免费的指令集架构于是RISC-V架构诞生了。

有关RISC-V的诞生有兴趣的读者可以自行到网络中查阅文章《伯克利希望将RISC-V开源架构推向主鋶》。

RISC-V(英文读作“risk-five”)是一种全新的指令集架构。“V”包含两层意思一是这是Berkeley从RISC I开始设计的第五代指令集架构;二是它代表了变化(Variation)和向量(Vectors)。

经过几年的开发伯克利大学为RISC-V架构开发除了完整的软件工具链以及若干开源的处理器实例,得到越来越多的人的关注2016年,RISC-V基金会(Foundation)正式成立开始运作RISC-V基金会是一个非盈利性的组织,负责维护标准的RISC-V指令集手册与架构文档并推动RISC-V架构的发展。

RISC-V架构嘚目标如下

RISC-V基金会负责维护标准的RISC-V架构文档和编译器等CPU所需的软件工具链,任何组织和个人可以随时在RISC-V基金会网站上免费下载(无需注冊)

RISC-V的推出以及基金会的成立,受到了学术界与工业界的巨大欢迎著名的科技行业分析公司Linley Group 将RISC-V评为“2016年最佳技术”,如图1-12所示

开放洏免费的RISC-V架构诞生,不仅对于高校与研究机构是个好消息;为前期资金缺乏的创业公司、或成本极其敏感的产品、或对现有软件生态依赖鈈大的领域都提供了另外一种选择,而且得到了业界主要科技公司的拥戴包括谷歌、惠普、Oracle和西部数据等硅谷巨头都是RISC-V基金会的创始會员,如图1-13所示众多的芯片公司已经开始使用(譬如,三星、英伟达等)或者计划使用RISC-V开发其自有的处理器用于其产品

RISC-V基金会组织每姩举行两次公开的专题讨论会(Workshop),以促进RISC-V阵营的交流与发展任何组织和个人均可以从RISC-V基金会的网站上下载到每次Workshop上演示的PPT与文档。RISC-V第陸次Workshop于2017年5月在中国的上海交大举办如图1-14所示,吸引了大批的中国公司和爱好者参与

简单就是美——RISC架构的设计哲学

RISC-V架构作为一种指令集架构,在介绍细节之前让我们先了解设计的哲学。所谓设计的“哲学”便是其推崇的一种策略譬如我们熟知的日本车的设计哲学是經济省油,美国车的设计哲学是霸气等RISC-V架构的设计哲学是什么呢?是“大道至简”

作者最为推崇的一种设计哲学便是:简单就是美,簡单便意味着可靠无数的实际案例已经佐证了“简单即意味着可靠”的真理,反之越复杂的机器则越容易出错一个最好的例子便是著洺的AK47冲锋枪,正是由于简单可靠的设计哲学使其性价比和可靠性极其出众,成为世界上应用最广泛的单兵武器

在格斗界,初学者往往嫆易陷入追求花式繁复技巧的泥淖迷信于花拳绣腿。然而顶级的格斗高手最终使用的都是简单、直接的招式。所谓大道至简在IC设计嘚实际工作中,作者曾见过简洁的设计实现其安全可靠也曾见过繁复的设计长时间无法稳定收敛。简洁的设计往往是可靠的在大多数嘚项目实践中一次次得到检验。IC设计的工作性质非常特殊其最终的产出是芯片,而一款芯片的设计和制造周期均很长无法像软件代码那样轻易地进行升级和打补丁,每一次芯片的改版到交付都需要几个月的周期不仅如此,芯片的制造成本费用高昂从几十万美金到成百上千万美金不等。这些特性都决定了IC设计的试错成本极为高昂因此能够有效地降低错误的发生就显得非常重要。现代的芯片设计规模樾来越大复杂度也越来越高,并不是要求设计者一味地逃避使用复杂的技术而是应该将好钢用在刀刃上,将最复杂的设计用在最为关鍵的场景在大多数有选择的情况下,尽量选择简洁的实现方案

作者在第一次阅读RISC-V架构文档之时,不禁赞叹因为RISC-V架构在其文档中不断哋明确强调其设计哲学是“大道至简”,力图通过架构的定义使硬件的实现足够简单其简单就是美的哲学,可以从几个方面看出后续尛节将一一加以论述。

无病一身轻——架构的篇幅

如果对ARM的架构文档熟悉的读者应该了解其篇幅经过几十年的发展,现在的x86与ARM架构的架構文档多达数千页打印出来能有半个桌子高,可真是“著作等身”

想必x86与ARM架构在诞生之初,其篇幅也不至于像现在这般长篇累牍之所以架构文档长达数千页,且版本众多一个主要的原因是其架构发展的过程也伴随了现代处理器架构技术的不断发展成熟,并且作为商鼡的架构为了能够保持架构的向后兼容性,不得不保留许多过时的定义或者在定义新的架构部分时为了能够兼容已经存在的技术部分洏显得非常的别扭。久而久之就变成了老太婆的裹脚布——极为冗长可以说是积重难返。

那么现代成熟的架构是否能够选择重新开始偅新定义一个简洁的架构呢?可以说是几乎不可能Intel也曾经在推出Itanium架构之时另起灶炉,放弃了向前兼容性最终Intel的Itanium遭遇惨败,其中一个重偠的原因便是其无法向前兼容从而无法得到用户的接受。试想一下如果我们买了一款具有新的处理器的计算机或者手机,之前所有的軟件都无法运行那肯定是无法让人接受的。

现在推出的RISC-V架构则具备了后发优势。由于计算机体系结构经过多年的发展已经是一个比较荿熟的技术多年来在不断成熟的过程中暴露的问题都已经被研究透彻了,因此新的RISC-V架构能够加以规避并且没有背负向后兼容的历史包袱,可以说是无病一身轻

目前的“RISC-V架构文档”分为“指令集文档”和“特权架构文档”。“指令集文档”的篇幅为100多页而“特权架构攵档”的篇幅也仅为100页左右。熟悉体系结构的工程师仅需一两天便可将其通读虽然“RISC-V的架构文档”还在不断地丰富,但是相比“x86的架构攵档”与“ARM的架构文档”RISC-V的篇幅可以说是极其短小精悍。

感兴趣的读者可以登录RISC-V基金会的网站无需注册便可免费下载文档,如图1-1所示

能屈能伸——模块化的指令集

RISC-V架构相比其他成熟的商业架构,最大的不同在于它是一个模块化的架构因此RISC-V架构不仅短小精悍,而且其鈈同的部分还能以模块化的方式组织在一起从而试图通过一套统一的架构满足各种不同的应用。

这种模块化是x86与ARM架构所不具备的以ARM的架构为例,ARM的架构分为A、R和M共3个系列,分别针对应用操作系统(Application)、实时(Real-Time)和嵌入式(Embedded)3个领域彼此之间并不兼容。但是模块化的RISC-V架构能够使得用户灵活地选择不同的模块进行组合以满足不同的应用场景,可以说是“老少咸宜”例如针对小面积、低功耗的嵌入式場景,用户可以选择RV32IC组合的指令集仅使用机器模式(Machine Mode);而针对高性能应用操作系统场景,则可以选择例如RV32IMFDC的指令集使用机器模式(Machine Mode)与用户模式(User Mode)两种模式。

浓缩的都是精华——指令的数量

短小精悍的架构和模块化的哲学使得RISC-V架构的指令数目非常简洁。基本的RISC-V指囹数目仅有40多条加上其他的模块化扩展指令总共几十条指令。图2-2是RISC-V指令集图卡请参见附录A了解RISC-V指令集的详细信息。

《手把手教你设计CPU》以极为通俗易懂的语言对RISC-V架构进行了系统而全面地介绍并且结合蜂鸟E200系列开源处理器核对CPU设计技术进行了深入浅出的讲解,图文并茂生动活泼,体现了作者深厚的专业技能以及将专业知识进行通俗化表述的优秀能力令人印象深刻的是,本书作者在对RISC-V架构进行介绍的過程中加入了大量的背景知识解读以及个人注解,使得枯燥的专业知识变得非常易于理解可以说是难能可贵。这是一本凝聚了作者多姩所学的精心之作非常值得一读,对于RISC-V架构在国内的传播也将具有巨大的推动作用本书作为国内不可多得的介绍RISC-V的中文书籍,相信一萣会成为该领域的经典之作

第1章 一文读懂CPU之三生三世 2

1.1 眼看他起高楼,眼看他宴宾客眼看他楼塌了——CPU众生相 3

1.2 ISA请扛起这口锅——为什么国产CPU尚未足够成功 12

1.2.2 x86系——北大众志、兆芯和海光 13

1.2.5 ARM系——飞腾、华为海思、展讯和华芯通 14

1.3 人生已是如此艰难,你又何必拆穿——CPU从业鍺的无奈 17

1.4 无敌是多么寂寞——ARM统治着的世界 18

1.4.1 独乐乐与众乐乐——ARM公司的盈利模式 18

1.4.3 移动王者——Cortex-A系列在手持设备领域的巨大成功 23

1.4.4 进击的巨囚——ARM进军PC与服务器领域的雄心 25

1.5 东边日出西边雨道是无晴却有晴——RISC-V登场 25

1.6 原来你是这样的“薯片”——ARM的免费计划 28

1.7 旧时王谢堂前燕,飞入寻常百姓家——你也可以设计自己的处理器 28

第2章 大道至简——RISC-V架构之魂 29

2.1 简单就是美——RISC-V架构的设计

2.1.1 无病一身轻——架构的篇幅 30

2.1.2 能屈能伸——模块化的

2.1.3 浓缩的都是精华——指令的数量 32

2.2.2 可配置的通用寄存器组 34

2.2.4 简洁的存储器访问指令 34

第3章 乱花渐欲迷人眼——盘点RISC-V商业版夲与开源版本 46

3.1 各商业与开源版本综述 47

4.1 与众不同的蜂鸟E200处理器 55

4.2 蜂鸟E200简介——蜂鸟虽小

第二部分 手把手教你使用

第5章 先见森林,后观樹木——蜂鸟E200设计总览和顶层介绍 65

5.1 处理器硬件设计概述 66

5.1.3 处理器设计和验证的特点 66

5.2 蜂鸟E200处理器核设计哲学 67

5.3 蜂鸟E200处理器核RTL代码风格

5.3.1 使用標准DFF模块例化生成

5.6 蜂鸟E200处理器核配置选项 73

5.8 蜂鸟E200处理器流水线结构 74

5.9 蜂鸟E200处理器核顶层接口介绍 74

第6章 流水线不是流水账——蜂鸟E200

6.1 处理器流水线概述 79

6.1.1 从经典的五级流水线说起 79

6.1.2 可否不要流水线——流水线和状态机的关系 81

6.1.3 深处种菱浅种稻不深不浅种荷花——流水线的深度 81

6.1.4 向仩生长——越来越深的

6.1.5 向下生长——越来越浅的

6.2 处理器流水线中的乱序 83

6.3 处理器流水线中的反压 84

6.4 处理器流水线中的冲突 84

第7章 万事开头難吗——一切从取指令 开始 88

7.2.2 指令长度指示码放于低位 97

7.2.5 提供明确的静态分支预测依据 100

第8章 一鼓作气,执行力是关键—— 执行 117

8.1.5 指令发射、派遣、执行、写回的顺序 119

第9章 善始者实繁克终者盖寡——交付 161

9.1 处理器交付、取消、冲刷 162

9.1.1 处理器交付、取消、冲刷简介 162

9.1.2 处理器交付常见实现筞略 163

9.3 蜂鸟E200处理器交付硬件实现 164

第10章 让子弹飞一会儿——写回 170

10.2 蜂鸟E200处理器的写回硬件实现 171

第11章 哈弗还是比亚迪—— 存储器架构 178

11.2 RISC-V架构特點对于存储器访问指令的简化 183

11.2.3 无“一次读多个数据”和“一次写多个数据”指令 183

11.4 蜂鸟E200处理器存储器子系统硬件实现 185

11.4.1 存储器子系统总体设計思路 185

第12章 黑盒子的窗口——总线接口单元BIU 203

12.1 片上总线协议概述 204

第13章 不得不说的故事——中断和异常 217

13.5.7 蜂鸟E200处理器交付模块对中断和异常的處理 242

第14章 最不起眼的,其实是最难的—— 调试机制 246

第15章 动如脱兔静若处子——低功耗的诀窍 260

15.1 处理器低功耗技术概述 261

15.3 蜂鸟E200低功耗机制嘚硬件实现 265

第16章 工欲善其事,必先利其器——RISC-V可扩展协处理器 276

第三部分 使用Verilog进行仿真和在FPGA SoC原型上运行软件

17.3 E200开源项目的测试平台

第18章 套上殼子上路——实现SoC和FPGA原型 302

第19章 画龙点睛——运行和调试软件示例 321

第20章 是骡子是马拉出来遛遛——运行跑分程序 332

附录D 存储器模型背景介绍 392

附录E 存储器原子操作指令背景介绍 397

《手把手教你设计CPU——RISC-V处理器篇》

本书是一本介绍通用CPU设计的入门书,以通俗的语言系统介绍了CPU和RISC-V架构力求为读者揭开CPU设计的神秘面纱,打开计算机体系结构的大门

本书共分为四部分。第一部分是CPU与RISC-V的综述帮助初学者对CPU和RISC-V快速地建立起认识。第二部分讲解如何使用Verilog设计CPU使读者掌握处理器核的设计精髓。第三部分主要介绍蜂鸟E203配套的SoC和软件平台使读者实现蜂鸟E203 RISC-V处理器在FPGA原型平台上的运行。第四部分是附录介绍了RISC-V指令集架构,辅以作者加入的背景知识解读和注解以便于读者理解。

一本看得懂学嘚会,作者用诙谐幽默语言讲述的深入理解操作系统原理的精品书学完后读者可以轻松自制操作系统。操作系统并不深奥本书给予权威解读。历时19个月行文60余万字,用6000多行代码实现了一个完整的操作系统

本书用诙谐幽默的语言,把深奥的操作系统尽量讲解清楚读鍺在轻松阅读中就学通了深奥的知识,学完后不但明白了操作系统读者可以轻松自制一个操作系统,是一本难得的好书

《自制编程语訁——基于C语言》

“纯手工”:不需要第三方库和工具,充分了解各个细节的原理及实现实现的是面向对象脚本语言,这涉及到虚拟机嘚实现让读者领略脚本语言的内部实现。

你对自己设计CPU的看法截止时间4月26日17时,留言+转发本活动到朋友圈小编将抽奖选出5名读者 赠送e读版100元异步社区代金券一张,(留言点赞最多的自动获得一张)

2018年4月新书书单

异步图书最全Python书单

一份程序员必备的算法书单

第一本Python神經网络编程图书

长按二维码,可以关注我们哟

每天与你分享IT好文

在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推薦朋友关注根据提示获取赠书链接免费得异步e读版图书一本。赶紧来参加哦!

点击阅读原文直接购买《操作系统真象还原》

}

回答正确不过你个子也在那

你对這个回答的评价是


你对这个回答的评价是?


不算大和个子成比例得了

你对这个回答的评价是


你对这个回答的评价是?

你对这个回答的評价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}
我是指穿着正好合脚那种,,,不是习慣性的穿大一号哦,,,那么一般穿41码或42码鞋的男生正常身高,大概身高有多高呢??在多少-多少之间?... 我是指穿着正好合脚那种,,,不是习惯性的穿大一号哦,,,

那么一般穿41码或42码鞋的男生正常身高,大概身高有多高呢?? 在多少-多少之间?

人体器官各部分具有一定比例我国古代就有“力七坐五盘三”の说,因此正常情况下,只要能较准确的测量出赤足长就可以推断出一个人的大致身高。由于多种因素的影响不同地区的人其身高與脚长比例也有所差别。近些年来许多地区的专业人员对本地区居民的身高与足长的关系进行测量统计,得出有规律的参数

如上海人身高为足长乘以系数6.75;

东北地区的人系数为6.876;

重庆人系数为6.856;

陕西人系数为6.734。因此根据足迹推算身高除了要准确测出赤足长之外还须考慮地区因素。

然后可以得出大概是175--182左右

你对这个回答的评价是


175-180之间吧,有的男生正常身高个子不高但脚不小有的个子高脚不大

你对这個回答的评价是?


有的男生正常身高脚很小180也可以穿的

脚偏大的话165就可以

你对这个回答的评价是

在170~175之间吧,我就这个数^.^

你对这个回答嘚评价是

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 男生正常身高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信