导图社区 5 计算机组成
整理了计算机组成原理、常见芯片类型的相关内容。
编辑于2020-07-23 15:01:14计算机组成
引言
计算机组成部件可以分为三大类(或子系统),中央处理单元(CPU),主存储器和输入/输出子系统。
部件
中央处理单元(CPU)
组成
算术逻辑单元(ALU)
逻辑运算
与、或、非
移位运算
逻辑移位运算、算术移位运算
算术运算
寄存器组
数据寄存器
用来暂时存放计算过程中所用到的操作数、结果和信息。
指令寄存器
是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。
程序计数器
程序计数器是用于存放下一条指令所在单元的地址的地方。
控制单元
控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)三个部件组成。
核心 core
CPU的基本组成单元即为核心(core)。多个核心可以同时执行多条计算任务,前提是这些任务没有先后顺序。
微架构 microarchitecture
核心的实现方式被称为微架构(microarchitecture)。微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。
芯片
组装芯片。过去的芯片仅仅包括CPU部分,如今大量的芯片集成了CPU、GPU、IO等多种不同的功能组件,此时这种芯片就不是传统意义上的“CPU”了。
ISA,指令集体系结构 Instruction Set Architecture
ISA 位于软件和硬件之间,定义了处理器状态、指令的格式,以及每条指令对状态的影响。
分类
CISC,复杂指令集运算 Complex Instruction Set Computing
CISC体系结构的设计策略是使用大量的指令,包括复杂指令。
侧重于硬件执行指令的功能性,CISC指令及处理器的硬件结构复杂。
CISC指令复杂,指令长度与周期不固定,在处理能力上有优势。
应用
X86架构
xx86或80x86是英代尔Intel首先开发制造的一种微处理器体系结构的泛称。
x86架构是重要地可变指令长度的CISC(复杂指令集电脑,Complex Instruction Set Computer)。
Atom架构
是x86或者是x86指令集的精简版。
Atom处理器系列有6个型号,全部都是属于Z500系列。它们分别是Z500、Z510、Z520、Z530、Z540和Z550。
主要针对的操作系统是微软的Windows。另外Linux,一些UNIX等都可以运行在x86(CISC)架构的微处理器。
RISC,精简指令集运算 Reduced Instruction Set Computing
是计算机中央处理器的一种设计模式,RISC体系结构的设计策略是使用少量的指令完成最少的简单操作。
所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。
在功耗、体积、价格等方面有很大优势,多用于嵌入式领域。
应用
ARM架构
过去称作进阶精简指令集机器(Advanced RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。
优势:价格低;能耗低;
功耗低,在无线局域网,3G,手机终端,手持设备,有线网络通信设备应用广泛;
ARM 公司本身并不靠自有的设计来制造或出售 CPU ,而是将处理器架构授权给有兴趣的厂家。对于授权方来说,ARM 提供了 ARM 内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含 ARM CPU 硅芯片的销售权。
生产厂商:TI (德州仪器)/Samsung(三星)/Freescale(飞思卡尔)/Marvell(马维尔)/Nvidia(英伟达)
MIPS
MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。
广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。被CISCO公司大量采用在高端路由器上,
2007年8月16日-MIPS科技宣布,中科院计算机研究所的龙芯中央处理器获得其处理器IP的全部专利和总线、指令集授权。 2007年12月20日-MIPS科技宣布,扬智科技已取得其针对先进多媒体所设计的可定制化系统单芯片(SoC)核心“MIPS32 24KEc Pro”授权。
国产龙芯CPU获得MIPS授权
Power
POWER是1991年,Apple、IBM、Motorola组成的AIM联盟所发展出的微处理器架构。PowerPC是整个AIM平台的一部分,并且是到目前为止唯一的一部分。Power架构目前也不是市场主流了,发展前景并不被看好。
PowerPC架构的特点是可伸缩性好、方便灵活。
PowerPC:是通信和工业控制领域应用广泛的处理器,华为中兴的设备,
目前只有UNIX,Linux,MacOS等操作系统运行在RISC处理器上。
显式并行指令集运算,EPIC Explicitly Parallel Instruction Computing
超长指令字指令集运算,VLIW
主存储器
是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。
地址空间
所有在存储器中标识的独立的地址单元的总数,称为地址空间。
计算机以位模式存储数,并进行计算。
内存地址用无符号二进制整数定义。
分类
RAM 随机存取存储器
RAM是构成内存的主要部分,其内容可以根据需要随时按地址读出或写入,以某种电触发器的状态存储,断电后信息无法保存,用于暂存数据,又可分为DRAM和SRAM两种。
SRAM
静态RAM技术是用传统的触发门电路来保存数据。
DRAM
动态RAM技术使用电容器。慢。便宜
因为CPU工作的速度比RAM的读写速度快,所以CPU读写RAM时需要花费时间等待,这样就使CPU的工作速度下降。人们为了提高CPU读写程序和数据的速度,在RAM和CPU之间增加了高速缓存(Cache)部件。Cache的内容是随机存储器(RAM)中部分存储单元内容的副本。
ROM 只读存储器
ROM是只读存储器,出厂时其内容由厂家用掩膜技术写好,只可读出,但无法改写。信息已固化在存储器中,一般用于存放系统程序BIOS和用于微程序控制。
PROM
PROM是可编程ROM,只能进行一次写入操作(与ROM相同),但是可以在出厂后,由用户使用特殊电子设备进行写入。
EPROM
EPROM是可擦除的PROM,可以读出,也可以写入。但是在一次写操作之前必须用紫外线照射,以擦除所有信息,然后再用EPROM编程器写入,可以写多次。
EEPROM
EEPROM是电可擦除PROM,与EPROM相似,可以读出也可写入,而且在写操作之前,不需要把以前内容先擦去,能够直接对寻址的字节或块进行修改。
Flash Memory 闪速存储器
其特性介于EPROM与EEPROM之间。闪速存储器也可使用电信号进行快速删除操作,速度远快于EEPROM。但不能进行字节级别的删除操作,其集成度高于EEPROM
存储器的层次结构
Cache 高速缓冲存储器
高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。
输入/输出子系统
非存储设备
键盘、监视器、鼠标、操纵杆
打印机
存储设备
磁介质存储设备
磁盘
表面结构
磁道、扇区、磁道内部间隔、扇区内部间隔
数据存取
性能
角速度、寻道时间、传送时间
磁带
表面结构
9个磁道,每道可存1位。垂直切面的9个点可存储8位信息,最后一位错误检测。
数据存取
顺序存取。
性能
慢,便宜。
光存储设备
CD-ROM
只读光盘
CD-R
可刻录光盘
CD-RW
可重写光盘
DVD
数字多功能光盘
子系统的互连
CPU和存储器的连接
数据总线
地址总线
控制总线
I/O设备的连接
SCSI
小型计算机系统接口
火线
IEEE标准1394规定的串行接口
50MB/s
菊花链或树形连接63个设备。
USB
通用串行总线
USB2.0
1.5Mbps、12Mps、480Mps
树状拓扑结构连接在一个USB控制器上,控制器作为树的根,集线器作为中间节点,设备作为末端节点。
USB3.0
10Gbit/s
HDMI
高清晰度多媒体接口
输入输出设备的寻址
I/O独立寻址
I/O存储器映射寻址
编译原理
机器周期
取指令、译码、执行
输入/输出操作
子主题
编程语言
机器语言
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
早期计算机就是指可以执行机器指令,进行运算的机器。 CPU可以完成前面所说的计算机的功能,但是每一种这样的微处理器(CPU)由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。 每一种微处理器都有自己的机器指令集,也就是机器语言。
汇编语言
汇编语言是直接面向处理器(Processor)的程序设计语言。主体是汇编指令。
汇编指令和机器指令的差别在于指令的表示方法上,汇编指令是机器指令便于记忆的书写格式。
特点
机器相关性、高速度和高效率、编写和调试复杂(相对于高级语言)。
高级语言
在高级语言中,将多条汇编程序语句合并成更简洁的编程语句,同时自动完成一些如堆栈、寄存器分配管理等工作,更加方便程序员开发程序。
高级语言包括很多编程语言,比如Java、C、C++、C#、python等等,是高度封装的编程语言。
特点
高级语言与计算机的硬件结构和指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。
编译过程
词法分析
任务
输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(也称单词符号或简称符号),如基本字(begin、end、if、for、while等),标识符、常数、算符和界符(标点符号、左右括号等)。
依据
在词法分析阶段的工作中所依循的是语言的词法规则(或称构词规则)。
工具
正规式和有限自动机。
语法分析
任务
在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位(语法范畴),如“短语”、“子句“、”句子“(“语句”)、”程序段“和”程序“等。
依据
语言的语法规则。
语法规则通常用上下文无关文法描述。
结果
通过语法分析,确定整个输入串是否构成语法上正确的”程序“。
语义分析
对语法分析所识别的各类语法范畴,对每种语法范畴进行静态语义检查,例如,变量是否定义、类型是否正确等。
依据
这一阶段所依循的是语言的语义规则。通常使用属性文法描述语义规则。
中间代码生成
如果代码语义正确,则进行中间代码的翻译。
所谓”中间代码“是一种含义明确、便于处理的记号系统,它通常独立于具体的硬件。这种记号系统或者与现代计算机的指令形式有某种程度的接近,或者能够比较容易地把它变换成现代计算机的机器指令。
代码优化
优化的任务在于对前段产生的中间代码进行加工交换,以期在最后阶段能产生出更为高效(省时间和空间)的目标代码。优化的主要方面有:公共子表达式的提取、循环优化、删除无用代码等。有时,为了便于“并行运算”,还可以对代码进行并行化处理。
原则
优化所依循的原则是程序的等价变换原则。
目标代码生成
把中间代码(或经优化处理之后)变换成特定机器上的低级语言代码。这阶段实现了最后的翻译,它的工作依赖于硬件系统结构和机器指令含义。这阶段工作非常复杂,涉及到硬件系统功能部件的运用,机器指令的选择,各种数据类型变量的存储空间分配,以及寄存器和后援寄存器的调度,等等。
目标代码的形式可以是绝对指令代码或可重定位的指令代码或汇编指令代码。如目标代码是绝对指令代码,则这种目标代码可立即执行。如果目标代码是汇编指令代码,则需汇编器汇编之后才能运行。
简单计算机
CPU
数据寄存器
控制单元
主存
输入输出子系统
指令集
操作码(opcode),操作数(operand)。
处理指令
存储程序和数据
指令周期
可重用性
其他体系结构
并行处理
SISD组织
单指令流,单数据流。 Single Instruction Stream Single DataStream
计算机有一个控制单元、一个算术逻辑单元、一个内存单元。
SIMD组织
单指令流,多数据流。 Single Instruction Stream Multiple Data Stream
计算机有一个控制单元、多个处理单元、一个内存单元。
MISD组织
多指令流,单数据流 Multiple Instruction Stream Single Data Stream
多个指令作用于相同的数据项,未实现。
MIMD组织
多指令流,多数据流 Multiple Instruction Stream Multiple Data Stream
多个指令流作用于多个数据流,真正的并行处理体系结构。
国产CPU
在移动芯片领域,ARM架构的芯片占据了90%以上的市场份额,在服务器CPU市场上,英特尔X86处理器占据超过90%市场份额。MIPS和Power虽然已经不是主流,却也有不少厂家在使用。
X86处理器
真正做到高性能且通用的处理器只有X86。
上海兆芯
上海兆芯的X86处理器在VIA X86处理器上改进,目前可授权X86的企业有英特尔、AMD、VIA。
上海兆芯最新的KX-5000架构做到了8核架构,性能与英特尔的Core i3-6100处理器接近。
海光(Hygon)
北京时间7月9日,由海光(Hygon)负责制造的中国国产Dhyana(禅定)x86处理器开始启动生产。早在2016年AMD与中国海光集团达成的合作协议,AMD将高性能X86架构授权给中国公司,授权费是2.93亿美元,而Dhyana处理器就是双方合作的产物,主要针对服务器市场。
从收益层面来看,海光生产出了X86 CPU,该款处理器性能还相当高。但是如果要站在是否掌握X86 CPU关键技术层面来看,还是有一定差距。
因为产品从设计到成品需要经历很多环节,而很多环节中方并没有参与。当时AMD与天津海光达成协议,设立合资公司开发X86芯片,同时与海光成立了两个公司,成都海光微电子(HMC)和成都海光集成电路设计有限公司(Hygon)。 AMD持有HMC 51%股份和Hygon 30%的股份。 HMC享有IP所有权,然后授权给Hygon进行芯片的设计,而Hygon设计出芯片之后再交由HMC进行生产。HMC找代工厂生产之后,再交由Hygon来销售,也就是说这中间很多环节中方根本没参与。
ARM处理器
ARM授权分类
架构授权
是指企业购买了架构级的ARM处理器设计和制造许可。企业获得架构授权之后,可以从整个架构和指令集方面入手,对ARM架构进行大幅度改造,甚至可以对ARM指令集进行扩展或缩减,以便达到更高性能、更低功耗或更低成本等不同目的。
内核授权
内核授权则是指用户可以将其所购买的ARM核心应用到其自行设计的芯片中。但用户不得对其购买的ARM核心本身进行修改。
使用授权
拥有使用授权的用户只能购买已经封装好的ARM处理器核心,而如果想要实现更多功能和特性,则只能通过增加封装之外的DSP核心的形式来实现。
移动芯片领域
华为
华为在2013年购买了ARM的架构授权,从2013年到现在,海思麒麟处理器已经从910更新到980,并且一直在升级。
有消息称麒麟980处理器将在8月31日与华为Mate 20新机同时发布。麒麟980拥有8 核心,4个A77大核,4个A55小核心,采用台积电7nm制成工艺。来自极果曝光的华为Mate 20跑分显示,麒麟980处理器跑分超过了35W分,超过骁龙845处理器5W左右。
展讯
展讯处理器也有部分采用ARM架构,展讯通信是中国领先的 2G、3G 和 4G 无线通信终端的核心芯片供应商之一,成立于2001年,于2013年12月23日被紫光集团收购,2016年与锐迪科整合成为紫光展锐。
展讯的处理器芯片主要面向中低端,其中一款SC9832集成四核ARM Cortex-A7处理器,该方案已经被中国移动、酷派、360、Micromax、Condor等众多国内外智能手机品牌采用。
小米
2017年2月,小米公布了史上研发周期最长的一款产品,自主芯片澎湃S1。因为作为手机厂商,自主研发处理器芯片,当时世界上也只有苹果和华为两家。
据当时报道,这款SoC的CPU部分为四核1.4G主频的Cortex A53和四核2.2G主频的Cortex A53,与海思麒麟650(4核2.0GHz A53+4核1.7GHz A53)、高通骁龙616(4核1.7GHz A53+4核1.2GHz A53)、高通骁龙625(8核2.0Ghz A53)属于同一个档次。
搭载澎湃S1的手机是小米5C,当时的消息是说,小米的C系列后续机型都会搭载自家的松果处理器,然而澎湃S2却迟迟未见发布,据内部消息透露,以小米高性价比的利润,根本就无法承担澎湃S2的研发费用,以后不会有澎湃S2,小米6C也不会再出现。
服务器芯片领域
阿里
2016年12月,ARM与阿里在数据中心业务展开合作,阿里巴巴宣布将在自身数据中心的服务器上大量采用ARM设计的低功耗CPU,逐步替换Intel产品。
消息称,阿里巴巴自主运营着支撑巨大电商业务的数据中心,同时还在中美等国提供名为“阿里云”的云服务。伴随需求增加,阿里巴巴将在各地增设数据中心。因设备类耗电量正在迅速增大,该公司将逐步把英特尔CPU改为ARM产品,以提高用电效率。
华芯通
华芯通半导体由贵州省政府与美国高通于2016年创立。2018年5月27日,华芯通半导体正式发布其ARM架构服务器芯片品牌-昇龙(StarDragon)。
昇龙处理器是华芯通第一代服务器芯片产品,它是兼容ARMv8架构的48核处理器芯片,采用目前国际上先进的10纳米工艺,在性能上媲美国际市场中高端服务器主流芯片产品水平。
飞腾
2014年10月,飞腾第一款兼容ARM指令集的CPU——FT-1500A面世,成为国产CPU的代表之作。随后,飞腾又在2016年推出了FT-2000(代号为“火星”),并在2017年流片了优化升级的FT-2000+芯片,后者是飞腾目前最顶尖也是性价比最高的芯片产品,其实测性能达到了2014年Intel志强E5主流服务器芯片的水平。
然而日前,有报道称国内国内自主芯片领军厂商飞腾存在芯片造假,引起行业人士的关注。8月3日,天津飞腾就此事召开新闻发布会回应称,天津飞腾的CPU产品基于ARM技术架构研发,但包括CPU计算模块(内核)在内的代码部分均为公司历时多年自主研发完成。
面对芯片造假传闻,飞腾公司总经理谷虹回应道,“我们从未向ARM购买包括Cortex A57在内的任何CPU产品,更不可能将没有购买过的产品打上所谓标签推向市场。”
MIPS处理器
龙芯
龙芯是中国科学院计算所主导研发的通用CPU,主要产品有龙芯1号、龙芯2号和龙芯3号。龙芯1号的频率为266MHz,最早在2002年开始使用。龙芯2号的频率最高为1GHz。龙芯3A是首款国产商用4核处理器,其工作频率为900MHz~1GHz。龙芯3A的峰值计算能力达到16GFLOPS。龙芯3B是首款国产商用8核处理器,主频达到1GHz,支持向量运算加速,峰值计算能力达到128GFLOPS,具有很高的性能功耗比。
目前,龙芯1号处理器已经随北斗卫星上天,并且已经有十多颗北斗卫星使用了龙芯1E和龙芯1F作为主控芯片。1号芯片的抗辐照能力可以与现在使用的国外芯片一较高下,价格和性能都要优于国外芯片。
龙芯2号芯片2K1000处理器在国产高性能芯片中的价格是最低的,和同性能TI芯片的开发板价格接近。2K1000处理器已经在石油、轨道交通、电力等领域有了应用,性能与国外芯片相当。
龙芯3A处理器采用的是RISC架构,兼容MIPS指令,原生四核设计,内含两条HT PHY超传输总线,采用65nm(纳米)工艺,主频1GHz,晶体管数目4.25亿个, 单颗龙芯3A的最大功耗为15W,一台刀片服务器功耗也仅为110W(两颗龙芯3A处理器,16GB内存,1块250GB硬盘,两块1000Mbps网卡等),理论峰值为16Gflops,每颗CPU单瓦特能效比1.06Gflops/W,是目前X86 CPU的2倍以上,达到了世界先进水平。
北京君正
成立于2005年,致力于在中国研制自主创新CPU技术和产品,目前已发展成为一家国内外领先的嵌入式CPU芯片及解决方案提供商。
有人认为,北京君正在人工智能CPU上很出色。北京君正既可以自己开发一套人工智能指令集,也可以单独开发一个人工智能加速单元。而且这些都可以直接嵌入cpu的底层,也就是cpu的人工智能指令集,和北京君正早期开发的simd同理。这和寒武纪只是外围的指令集,而非cpu指令集,其中的差距是很大的。也就是说北京君正的AI cpu 从速度和功耗肯定比寒武纪要好。
有人认为,北京君正基于MIPS架构的芯片,在同等工艺上,功耗比ARM有优势,但兼容性很差。在移动操作系统已经被安卓和ios彻底统一的现在,尤其是安卓,90%以上的安卓设备都是ARM的。但是ARM指令集和MIPS并不兼容,所以市面上大部分为ARM优化的程序不能在君正的MIPS处理器上直接运行。君正要想在市场上生存,必须要把ARM纳入视野。
Power处理器
中晟宏芯
中晟宏芯于2014年获得了Power 8架构的授权,
该公司从2013年末成立以来也是问题重重,不间断的进行股权更换,甚至在2016年闹出欠薪风波,总体来说,在国产芯片的发展上,基本没有看到显眼的成绩。
申威
在国产处理器发展过程中,江南所的申威处理器也很值得一提,申威处理器使用的是Alpha指令,主要用于超算处理器中,国内最强的超算神威·太湖之光就使用了申威的处理器。
文中第一部分并未提到Alpha架构,Alpha也不是主流架构。资料显示,Alpha架构于1992年2月25日,在东京召开的一次会议上面被正式推介。Alpha处理器最早由DEC公司设计制造,在Compaq(康柏)公司收购DEC之后,Alpha处理器继续得到发展,并且应用于许多高档的Compaq服务器上。