《计算机类专业系统能力培养系列教材 CPU设计实战》汪文祥,邢金璋作|(epub+azw3+mobi+pdf)电子书下载

图书名称:《计算机类专业系统能力培养系列教材 CPU设计实战》

【作 者】汪文祥,邢金璋作
【丛书名】计算机类专业系统能力培养系列教材
【页 数】 358
【出版社】 北京:机械工业出版社 , 2021.04
【ISBN号】978-7-111-67413-9
【分 类】微处理器-系统设计-高等学校-教材
【参考文献】 汪文祥,邢金璋作. 计算机类专业系统能力培养系列教材 CPU设计实战. 北京:机械工业出版社, 2021.04.

图书封面:

图书目录:

《计算机类专业系统能力培养系列教材 CPU设计实战》内容提要:

本书面向CPU设计的初学者,采用循序渐进、层层推进的方式介绍CPU的完整开发过程。全书包括三部分:第一部分(第1-3章)介绍工程化CPU的研发过程以及设计CPU需要掌握的基础知识;第二部分(第4-10章)从一个基本的单周期CPU设计开始,逐步引入流水线、指令、例外、中断等功能,并完成总线、TLBMMU、高速缓存等功能的设计;第三部分(第11章)为进阶设计内容,涵盖Linux内核、提升主频、双发射流水线、动态调度、访存优化、多核处理器等功能的实现。 本书内容新颖、理论联系实际、图文并茂,适合作为高校计算机及相关专业计算机组成、计算机体系结构、CPU设计等课程的教材或参考书,也可作为从事CPU设计的技术人员的参考读物。

《计算机类专业系统能力培养系列教材 CPU设计实战》内容试读

第1章

CPU芯片研发过程概述

作为一本注重实战性的书籍,在开始讲述CPU设计的内容之前,我们先给大家科普一

下业界研发CPU芯片的大致过程。这部分内容可以帮助你建立对CPU的研发的认识,进而

了解本书各章中讲授的技术对应真实工作中的哪个研发环节。毕竟,好的工程师不能“只见树木不见森林”。

1.1处理器和处理器核

首先,我们需要分清楚处理器(CPU)和处理器核(CPU Core)这两个概念。在三四十年前,晶体管集成密度还没有现在这么高,一款处理器芯片的主体就是一个处理器核。随着集成电路工艺的快速演进,芯片上晶体管的集成密度越来越高。现在常见的处理器芯片不再是传统意义上的“运算器+控制器”,而已经是一个片上系统(System on Chip,SoC),处理

器核只是这个片上系统的一个核心P。

以龙芯3号芯片中的3A4000为例,大家平时看到的芯片实物是图1-1a中的样子。芯片底部是一个有很多引脚的电路板,上面有一个塑料或金属的外壳,芯片中最核心的硅片部分被封装这个管壳中。图1-1b给出的电路版图对应的就是芯片中的硅片部分。

龙芯3号

LS3A4000

LM13011 HPAFL

KOR BL 914 ESAl

LOONGSON

a)芯片实物图

b)芯片电路版图

图1-1龙芯3A4000芯片实物图及电路版图

2

CPU设计实战

龙芯3A4000芯片是一款集成了四个GS464V处理器核的处理器芯片。为了方便大家查

看,我们在图1-1b中用矩形框将四个GS464V处理器核的位置和形状标识了出来。大家可以很清楚地看到,处理器核是处理器芯片的重要组成部分,一个处理器芯片中包含的并不只

是处理器核。对于龙芯3A4000芯片来说,除处理器核外,还包含多核共享的三级高速缓存

(L3 Cache)、Hyper Transport高速总线接口控制器和PHY、DDR3/DDR4内存控制器和PHY以及一系列其他功能模块

我们很难在一本书里讲清楚一款现代处理器芯片的设计过程,龙芯3A4000处理器芯片

中集成的DDR3/DDR4内存控制器和Hyper Transport高速总线接口控制器的设计都可以分别写成一本书。在本书中,我们关注的只是处理器芯片中的处理器核,它是处理器芯片中真正执行指令、进行运算和控制的核心。因此,在本书接下来的内容中,我们将不再严格区分“处理器”和“处理器核”这两个词。

1.2芯片产品的研制过程

处理器芯片产品的研制过程与一般的芯片产品大致相同,通常需要经历下面五个阶段:1)芯片定义:在芯片定义阶段,需要进行市场调研,针对客户需求制定芯片的规格定义,并进行可行性分析、论证。

2)芯片设计:芯片设计阶段的工作可以进一步划分为硅片设计和封装设计。(大家平时看到的芯片是已经将硅片封装进管壳之后的样子。)

3)芯片制造:硅片设计和封装设计完成后,将被交付到工厂,进人芯片制造阶段。芯片制造又包含掩模制造、晶圆生产和封装生产几个方面。

4)芯片封测:当晶圆和封装管壳都生产完毕后,就进入芯片封测阶段。通常需要先对晶圆进行中测(有些低成本芯片没有此环节),然后进行划片封装,最后对封装后的芯片进行成测。中测和成测都通过后,就能确保这些芯片不会有生产环节引入的错误,可以对其展开最终的验证了。

5)芯片验证:在最终验证环节中,光有芯片是不够的,需要将芯片焊接到预先设计和生产好的电路板上,装配成机器并加载软件后,才能开始验证。在验证阶段,要对芯片的各个技术指标进行测评,当发现异常时,需要找到出错原因。如果是芯片设计的问题,那么就需要修正设计错误,再次进行制造、封测和验证阶段的工作。

目前在产业界,将芯片设计和制造分离已经成为主流趋势。芯片设计(Fabless)企业

关注芯片定义和设计,制造和封测多采用委托外协的方式(如苹果、高通、AMD、ARM

等公司)。芯片制造(Foundry)企业则聚焦于芯片的制造,它们自己不做设计,如台积电

(TSMC)、中芯国际(SMIC)等公司。在这种产业分工合作体系之下,一款芯片的价值主要

是由芯片的设计环节所赋予的。

第1章CPU芯片研发过程概述3

1.3芯片设计的工作阶段

对于一个CPU来说,其硅片设计的工作可进一步划分为如下9个阶段:

1)明确设计规格。2)制定设计方案

3)进行设计描述(编写RTL代码)。

4)功能和性能验证5)逻辑综合

6)版图规划

7)布局布线。

8)网表逻辑验证、时序检查、版图验证9)交付流片。

无论是硬件产品还是软件产品,设计之初必然要明确其设计规格,确定设计的边界约束

情况。对于CPU设计开发来说,典型的设计规格包括支持的指令集,主频、性能、面积和

功耗指标以及接口信号定义

明确了设计规格之后,就要给出相应的设计方案。这个设计方案通常是用自然语言或高

级建模语言从较为抽象的角度对CPU的微结构设计所做的行为级描述。例如,CPU划分为

多少级流水、每一级流水线最多处理多少条指令、有多少个运算部件、指令的执行调度机制是什么,等等,这些内容都要在设计方案中详细地给出

有了设计方案之后,接下来就需要将行为级描述进一步转换为EDA综合工具可以处理

的RTL级描述。这个过程通常是由人完成的。近年来出现了不少高层次综合的工具,可以将

一个非自然语言的行为级描述转换为HDL语言甚至直接综合为门级电路。不过就目前的技

术发展来看,针对CPU设计,有经验的工程师设计出的电路质量还是远高于高层次综合工

具的。由于CPU产品具有“赢者通吃”的特性,单纯地缩短上市周期并不能获得持久的商

业优势,因此CPU对于电路质量的要求比领域专用加速器的要求要高得多。

TL级描述使得我们可以在这个层次展开功能和性能的验证。所谓功能和性能验证,是

指证明设计的功能正确性和性能指标是否符合设计规格中的定义,它发现并修正的是设计描述阶段引入的逻辑实现错误。如果发现功能或性能上的错误,就需要返回设计描述阶段进行修改,甚至要返回设计方案阶段对不合理的地方进行修改,然后再进行功能和性能验证。在整个设计过程中,会在这几个阶段反复迭代,直至所有的功能和性能验证都通过。这里我们反复提到了“验证”这个概念,它与软件开发中的“测试”非常相似。之所以不用“测试'这个词,是因为在芯片设计制造领域“测试”这个概念另有所指。芯片设计制造领域的测试虽然也是检测电路的功能和性能是否符合设计指标,但是它发现并修正的是芯片在生产制造环节中引入的电路故障。

通过验证环节的检验,确定功能和性能指标都符合预期后,RTL级描述的HDL语言将

C HA P T E R 2

第2章

硬件实验平台及FPGA设计流程

【本章学习目标】

·了解本书各实践任务所使用的硬件实验平台。

●熟练掌握基于Xilinx Vivado集成设计环境,以图形界面下操作的Project方式,完成

RTL到比特流文件的FPGA设计流程。

【本章实践目标】

本章只有一个实践任务,请读者在学习完本章内容后,按照本章的介绍完成实践任务。

2.1硬件实验平台

在本书中,我们使用“龙芯CPU设计与体系结构教学实验系统”或“龙芯计算机系统能力

培养远程实验平台”作为实验代码的验证平台,其中“龙芯CPU设计与体系结构教学实验系统”

是针对本地验证而设计的,“龙芯计算机系统能力培养远程实验平台”是针对远程验证而设计的。

2.1.1龙芯CPU设计与体系结构教学实验系统

“龙芯CPU设计与体系结构教学实验系统”(以下简称“实验箱”)采用本地使用的方式,

即用户可以将综合好的设计文件通过JTAG线缆直接下载到实验箱的FPGA中,同时可以直

接操作实验箱内FPGA开发板上的外设。

1.简介

打开实验箱,可以看到其内部有一块FPGA开发板(图2-1中的A)和一系列配件和线

缆,包括1个电源适配器(图2-1中的B)、1根连接FPGA下载适配器的USB线缆(图2-1

中的C)、1根串口线(图2-1中的D)、1个USB转串口接头(图2-1中的E),部分实验箱中

还有1根USB延长线(图2-1中的F)和1根网线(图2-1中的G)。

除拓展任务外,本书实践任务中仅需要使用电源适配器(图2-1中的B)和FPGA下载适配

器的USB线缆(图2-1中的C)。建议大家将其余线缆保持在最初的收纳状态,以防损坏、丢失。

6

CPU设计实战

B

E

G

图2-1实验箱总体视图

当需要将综合好的比特流文件下载到实验箱进行调试时,请先将电源适配器的直流接口插

入FPGA开发板上的电源插口(图2-2中的A),并将FPGA下载适配器的USB线缆的方口插入

FPGA开发板左侧下方的下载适配器接口中(参考图2-1中C线的连接),将该线缆的USB口连

接到调试主机上,随后拨动FPGA开发板上的电源开关(图2-2中的B),正常情况下可见FPGA

开发板上电源指示灯(图2-2中的C)亮起,表明FPGA开发板已经上电,可以进行后续操作。

FPGA开发板上的核心器件是中央偏左的FPGA芯片(图2-2中的D),图中选用的是

款Xilinx公司的Aitx-7系列FPGA芯片,型号为XC7A200T-FBG676,其内部逻辑单元数日多,芯片引脚数目多,属于Aitx-7系列中的高端产品。

E

B

88888888

G

H

1

J

图2-2FPGA开发板顶视图

···试读结束···

阅读剩余
THE END