最近进行了一些国产化相关工作
趁着周末有时间,自己整理一下这段时间的学习内容。
毕竟不是处理器和芯片的业内人士,里面多有纰漏,请谅解。
希望可以作为入门学习的简单知识。

1.0 远古时代 unix

世界CPU的发展历程感觉可以追溯到1970年代的intel的4004

当时世界上还是没有PC这个概念的,都是各个大厂自己生成大型服务器,并且几乎都不兼容。

主要的大厂有IBM、王安电脑、SGI等,像是intel这样的半导体厂商,主要是做内存芯片的,出售给主机厂商。

主机厂商不仅需要研发CPU,还需要制作相应的操作系统和编译器等软件。

当时很主机非常昂贵,操作系统和软件都是附赠的。

1960年代末贝尔实验室联合多家主机厂商希望可以研发 新一代操作系统,但是经过多年的辛苦工作,发现因为制定的目标过高,无法完成。

结果unix创始人,通过不到一个月的假期时间,自己使用B语言编写了一个unix的简单版本。

1970年代初 他们重写了 B 语言然后改名为C语言,并且使用C语言重新写了unix 并且提供给大家使用,因为AT&T 因为当时反垄断法的策略,不允许销售计算机软件相关,所以bell 实验室就免费给各个学校和厂商使用了。

1980年代后 因为AT&T被拆分了,所以想通过unix赚钱 就出现了非常多的利益纠纷和官司。

也给了windows和linux机会,然后他们就有了长足的发展。

2.0 windows和intel的机会

1970年代初期  intel 本身是做内存芯片的,因为给日本厂商开发集成电路板的机会,研发了4004芯片,也是因为制定的目标过高,严重拖期,最终intel付出了5万美金,收回了4004系列芯片的全部所有权。

1970年代末期,IBM因为想提高低端电脑市场的发展,开发出PC的标准。当时也给了微软的机会,使用微软的操作系统。

但是windows当时没有自己的操作系统,然后就花费了可能不到五万到买了一套PC-DOS系统源码,自己进行了修改为MS-DOS系统。

与IBM的PC机器捆绑销售,硬件采取了intel当时的8086类型的芯片。其实当时最好的芯片应该是摩托罗拉的,但是因为摩托罗拉的地位比intel高太多(当时),本着不能扶持一个重要对手的原理。IBM选择了intel作为第一供应商, 又为了供应链安全,选择了AMD作为第二供应商,AMD从此作为intel的备胎开始发展。

IBM没有想到PC市场如此蓬勃发展,又因为使用廉价的通用硬件,所以各个厂商都可以发展自己的硬件,微软也可以直接销售自己的操作系统。逐渐发展成为世界上最大的软件公司。

题外话 微软第一款产品是 编译器。与borand保兰德公司 有相同的产品线 c#的创始人 海尔斯伯格 当时就是在保兰德公司 开发了 turbo c 编译器。

intel 给各个厂商提供8086系列的芯片,然后同时提高芯片制程工艺,有了长足的发展,但是当时最赚钱的应该还是内存业务。1980年代日本的内存极为廉价和质量优异,intel出现了巨额的亏损,为了止损intel抛弃了内存产品线,专攻CPU,也是之后intel发展迈上了快车道。

3.0 指令集百花齐放的时期

21世纪第二个十年,从CPU的角度 看起来就是intel的世界

但是在上世纪的80年代,却是一个百花齐放的时期 指令集有了长足的发展。

80年代初期,学术界非常不爽intel的CISC指令集,认为太过缓慢和不优美(unix也是认为一个进程只干一个事情最好了)

当时有非常多的指令集:

1. IBM自己的power指令集和IBM的i指令集以及最高端的IBM Z系列的处理器。

说明一点的是POWER是 80年代开始研发的 i 系列 没太有资料 Z系列应该是大型机时代的产物,到现在一直在发展。

POWER指令集曾经是与apple和摩托罗拉组件了AIM联盟 对抗 WinIntel联盟。结果乔帮主2003年反水联盟,投入intel的怀抱。

2019年已经开源。2013年时组件了openpower联盟。2017年 浪潮全面代理了大中华区的POWER产品线,组件了浪商公司。

估计后续也会有power系列的国产指令集了。因为这是最高性能和最高商用性质已经开源的处理器了。

2. HP的VLIW指令集。

HP90年代末将指令集和相关的开发人员以10亿美元的价格卖给了intel,但是注意一点,是HP给了intel10亿美元,而不是intel花钱买的。

然后intel 为了研发出64位的指令集,通过研发 VLIW的指令,开发出来IA64 安腾处理器。但是因为不兼容x86 32位的指令集,在发展了安腾1和安腾2两代之后已经彻底死掉了。

主机厂商就是hp还有inspur两家。最终也没有开源,因为太过昂贵了。也没有国产化的价值。(之前有厂商国产化过貌似)

3. SUN(Oracle)的SPARC指令集。

SUN忘记是哪个大学的教室开的公司了。据说当时的创始人 曾经花了几个星期的时间实现了一个TCP/IP的协议栈,只是因为他认为一个想merge代码的公司开发的代码太垃圾了。

2003年左右他离开公司(早已财务自由) 失去创始人的公司也没有能够撑过互联网时代的发展,2009年时被oracle以74亿美元收购。

话说回来。sun公司当时有非常强大的技术实力,与IBM实现了全方位的竞争。

语言方面有 java 语言2006年开源

数据库方面有mysql数据库,也是最大的开源数据库(另外一个是postgresql数据库)

指令集方面有SPARC指令集。2006年之后因为越来越难发展,将第一代和第二代指令集开源了。

曾经飞腾就是用SPARC指令集开发出来FT1000和FT1500的处理器。

现在除了oracle 曾经还有日本的富士通也发展过SPARC指令集,浪潮K1在宣传时说自己是美国、日本之后第三家具有大型机能力就是基于日本有富士通的SPARC大型机来说的。

不过富士通的最新的超级服务器 京 好像也转用ARM架构了。

SUN也发展了自己的存储还有服务器 好像也有网络产品。

不过最近Oracle已经将所有的硬件人员全部裁员,以后Oracle 的Exadata也使用了x86的架构了。

4.MIPS

MIPS也是一家80年代很红火的公司,他的指令集在嵌入式和网络设备中曾经非常高的占有率。只不过21世纪之后被x86攻击的很弱势了,两次被收购。

现在可能属于SGI公司。

中科院的龙芯曾经在2006年左右购买过完整的指令集,花费应该不到千万美元,然后龙芯在MIPS指令集的基础上面进行扩展。指令集名字就是MIPS64EL 或者是 LoongSon

5. DEC的ALPHA

DEC在上世纪七十年代研发的指令集,号称当时最先进的64位处理器,Windows NT的开发boss 大卫 卡特勒就是当时DEC的最牛B的开发人员。

DEC 因为PC市场的蓬勃发展,而逐渐放弃了自研处理器的路线,比尔盖茨趁机将大卫招致麾下

6. ARM的崛起

上世纪90年代英国剑桥开始营业的公司,当时苹果还是最早的投资人之一,只不过90年代末之后 因为苹果的经营困难,以及后续的调整,苹果逐渐出让了所有的ARM的股份。

ARM的公司不生产具体的芯片,还是将IP核出售给公司,公司自行设计研发然后找代工厂进行生产,现在苹果、安卓、win10 RT都有arm内核的处理器。

以及很多嵌入式也使用了ARM内核,包括树莓派也采取了ARM内核。

7. RISC的进攻

RISC已经发展到了RISC-V 并且印度已经将这个指令集设置为国家指令集进行支持发展。

华为前段时间也说,如果ARM真断供的话,可以尝试将指令集切换到RISC-V中来。

是学术界一个非常好的指令集,但是也跟微内核架构的处理器内核一样,一直处于学术界,工业界还没有见到具体的产品。

前段时间华米的只能穿戴设备可能已经使用上了RISC-V的指令集,据称非常节能。

4.0 芯片的生产。

最开始芯片生产都是每家进行生产,独立封装、独立出售的,但是随着制程工艺的发展,每一代制程的提升需要花费太高,资本支出达到百亿级别。现在除了intel和三星 已经没有主流的芯片厂商能够支撑的起先进制程的研发。

这一块自己不是业内人士,只能够简单分析一下。

芯片的生产,主要有晶圆的生产,以及光刻机,刻蚀,封装,测试等多个步骤。

现在先进制程的三家主要的生产商:

中国台湾的台积电  、韩国的三星 、美国的intel

其他的还有:美国的 格罗方德(原来AMD的生产工厂,以及剥离并且放弃了14nm以下的制程研发。)

IBM的铜芯片工厂也已经出售给了格罗方德,IBM的芯片以后可能也会找台积电代工。

中国上海的 中芯国际  据称14nm 已经试产 2019年年底上市。EUV光刻机已经订购,下半年or明年到位。

欧洲主要是在ASML的光刻机牛B一些,其他的比如意法半导体可能还停留在上两三代制程工艺上面(龙芯的处理器前面几代就是用的意法半导体流片生产的。)

日本主要是 半导体耗时部分,比如最近很出名的氢氟酸,直接卡住了三星的脖子。

现在华为的不管是鲲鹏还是麒麟都是台积电代工的,其实也不完全是大陆产的,如果出现争端也会被卡脖子的。

5.0 操作系统简史。

这一块改天写吧。前面其实也介绍了一些

unix、linux、minix 、os/2、PC-DOS、windows、windows nt、sco unix、freebsd、openbsd、netbsd、

等等

6.0 国产CPU的情况。

6.1 完全购买国外技术:

天津海光:

购买AMD的ZEN1的技术。AMD快破产时花三亿美刀购买了ZEN1 几乎全部的资料,业内认为还是非常值得的。

可能使用台积电代工工艺,技术水平比较高,能够达到三五年前intel的主流处理器的水准

上海兆芯:

上海国资委与VIA合资的项目,VIA是90年代 逆向x86还活下来的位数不多的几个公司。

据称协议已经过期,而且可能使用了中芯国际16nm左右的工艺,技术水平大概是七八年前intel的水准。

兆芯的KX系类处理器。

上面两个最大的卖点是可以支持windows 操作系统。 并且能够使用国内的加密组件。

江苏盛芯

已经破产。基于OPENPOWER

6.2 所谓完全自主路线。

龙芯:

购买了完全的MIPS指令集架构,并且进行自研。使用中芯国际代工。性能比较差。估计为十年前intel的水准。

优点是完全自己发展了,国际上也卡不住脖子,

但是没有生态,很难发展自己的生态,比如不支持.net core

申威:

总参无锡五十六所研发的,

使用的应该是 DEC的ALPHA指令集

优点 DEC被康柏收购之后,康柏又被惠普收购,惠普当时有自己的安腾指令集,也就放弃了DEC的指令集。申威作为军方背景的研发机构的产品,民品开发比较少,并且也不会有国际市场的销售,所以比较安全。也没有专利的纷争,缺点就是跟龙芯类似,缺少生态的支持,现在查了一下就是有一个基于linux内核的神威睿思操作系统,应用软件的兼容可能比较痛苦一些。

最新的26010处理器有 256个计算核还有4个管理核,其实很负责现在ChipLet的理念。

但是单核性能还是太差,主频应该也不是很高。需要进一步提升。

飞腾1500之前的处理器。

飞腾在1500A之前曾经使用SUN开元的SPARC的指令集,但是存在单核性能低和生态不健全的情况,后续转头ARM怀抱,但是也不是用的公版的ARM A57架构,没法用QEMU进行模拟。

6.3 购买自研结合路线

飞腾:

飞腾1500A以及飞腾2000+

当年的芯片大会上面 飞腾团队的火星PPT,让大家误以为这是汉芯第二。

现阶段看起来,飞腾走的ARM路线也还不错,中国电子旗下的长城主机厂商已经购买了飞腾接近50%的股份,有了中国电子这个十大军工之一的背后强大支撑,以及中美贸易战,中国重视独立自主的东风,飞腾应该能有较快的提升才是。

优点:飞腾ARM平台能够较简单的使用很多开源的软件,设置可以通过模拟器的方式运行安卓的应用,生态非常丰富,并且发展也会比较顺畅一些。

缺点:ARM已经被孙正义收入囊中,以后出现争端会不会断供不好说。

最近公司使用过飞腾1500A的机器,感觉性能比较一般,代工也是上一代的28nm的产品,

一直疯传飞腾2000+ 是 64core的结构,并且使用了16nm制程的工艺,单核和多核性能已经有了很大的提高。还没有见过实体机,如果真如疯传的话 的确很值得庆祝。

并且飞腾1500A其实已经能够支撑一般的办公应用了。

华为:

鲲鹏920 也就是 Hi1620 处理器,最近一段时间非常红火,基于最新的ARMv8架构最高能够支持到64core,多核性能据说能够战平两年前的intel 志强旗舰。

采用了台积电7nm 制程工艺,非常先进的工艺了。

山东移动、浙江移动、以及部分电力企业已经商用了华为使用鲲鹏920的泰山系列服务器。

鲲鹏920 最强大的并不是制程工艺、多核性能,还是华为强大的技术栈,鲲鹏920支持8通道DDR4内存,设置讲2个100G的支持ROCE(RDMA)的网卡放到了封装内部,这一点是非常难能可贵的。

而且自身也支持k8s,支持微服务,性能和稳定性有业内足够的制程。非常看好这个行业的发展。

优点:华为强大的技术栈,网络以及内存甚至PCI-E的融合,这一点超出所有的国内甚至是国际的CPU厂商。

缺点:贸易战断供,指令集非自有。

华芯通:

2019年5月份已经破产。

时也命也,要不是博通要收购高通,兴许高通还想能够在服务器市场与intel竞争一下,但是因为博通的收购案

高通被迫离开与贵州人民政府的合资公司,继续将目标锁定在高收益的项目上面来。

华芯通已经没有产品了。

展讯:

展讯现在属于紫光集团的子公司,紫光集团属于清华控股控股的集团公司。

展讯主要是做中低端的嵌入式以及移动设备CPU,大部分也是基于ARM指令集来研发的。

紫光集团非常迅猛,现在有CPU(展讯)、内存事业群(据称内存DDR4颗粒今年下半年正式量产)、长江存储(SSD存储颗粒以及产品),除了没有主板,大件基本上都有了。

展讯这边 应该还没有桌面级别的CPU出来,但是不知道后续有没有相应的计划。就是不知道生产时用的自家的还是中芯国际的。

华米:

基于RISC-V指令集进行自主研发。

具体情况不是很清楚。

未完待续。。

不权威的国产CPU发展历程的更多相关文章

  1. 详解六大国产CPU处理器

    一个执着于技术的公众号 CPU作为计算机设备的运算和控制核心,负责指令读取.译码与执行,因研发门槛高.生态构建难,被认为是集成电路产业中的"珠穆朗玛峰". 纵观全球,Intel.A ...

  2. 专家谈国产CPU最新发展态势:需强化标准建设(很全面)

    一.国产CPU发展现状与成就 国内已开启多技术路线并行的CPU技术产业新格局.在国家科技重大专项和国家级集成电路产业投资资金的推动之下,我国CPU产品技术研发已进入多技术路线同步推进的高速发展阶段,并 ...

  3. 国产CPU研究单位及现状

    1.国产CPU主要研制单位 (1)高性能通用CPU(“大CPU”,主要应用于高性能计算及服务器等) 主要研发单位:中国科学院计算所.北大众志.国防科技大学.上海高性能集成电路设计中心 (2)安全适用计 ...

  4. [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)

    你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...

  5. C#与C++的发展历程第三 - C#5.0异步编程巅峰

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...

  6. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  7. C#与C++的发展历程第二 - C#4.0再接再厉

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 开始本系列的第二篇,这篇文章中将介绍C#4.0中一些变化,如C++有类似功 ...

  8. 第一篇:GPU 编程技术的发展历程及现状

    前言 本文通过介绍 GPU 编程技术的发展历程,让大家初步地了解 GPU 编程,走进 GPU 编程的世界. 冯诺依曼计算机架构的瓶颈 曾经,几乎所有的处理器都是以冯诺依曼计算机架构为基础的.该系统架构 ...

  9. 国产CPU走到十字路口:谁来取代英特尔芯片?(少写了一个OpenPower)

    国内的几支CPU研发力量各自选择的指令体系都有自己的优点和问题,选择其中的哪一支都会有对应的成本和风险.最终谁能担大任,且拭目以待. 文 | 瞭望智库特约科技观察员 王强 用上内置国产CPU的个人电脑 ...

随机推荐

  1. MQ如何解决消息的顺序性

    一.消息的顺序性 1.延迟队列:设置一个全局变量index,根据实际情况一次按照index++的逻辑一次给消息队列设置延迟时间段,可以是0.5s,甚至1s; 弊端:如果A,B,C..消息队列消费时间不 ...

  2. restapi(4)- rest-mongo : MongoDB数据库前端的httpserver

    完成了一套标准的rest风格数据库CRUD操作httpserver后发现有许多不足.主要是为了追求“通用”两个字,想把所有服务接口做的更“范generic”些,结果反而限制了目标数据库的特点,最终产生 ...

  3. django drf框架中的user验证以及JWT拓展的介绍

    登录注册是几乎所有网站都需要去做的接口,而说到登录,自然也就涉及到验证以及用户登录状态保存,最近用DRF在做的一个关于网上商城的项目中,引入了一个拓展DRF JWT,专门用于做验证和用户状态保存.这个 ...

  4. SonarQube系列一、Linux安装与部署

    [前言] 随着项目团队规模日益壮大,项目代码量也越来越多.且不说团队成员编码水平层次不齐,即便是老手,也难免因为代码量的增加和任务的繁重而忽略代码的质量,最终的问题便是bug的增多和代码债务的堆积.因 ...

  5. JSmooth 将java代码打包成exe

    JSmooth 将java代码打包成exe 前言 java代码写了这么多了,但由于jdk的限制,我只能在jdk电脑上运行项目.所以最近在研究打包exe这个问题,今天终于实现了. JSmooth下载 前 ...

  6. WPF中ComboBox控件绑定键值对操作

    WPF中下拉框将键值对作为其数据源的具体操作.本实例以枚举类型以及枚举特性描述字符串生成键值对来进行. namespace ViewC { /// <summary> /// View.x ...

  7. Javascript中的基本数据类型,如何判断数据类型,作用域链的理解

    第一部分:Javascript中的数据类型 javascript中 基本数据类型有 五种, 数字 number 字符串 string  布尔 boolean  未定义 undefined 空值 nul ...

  8. Kubernetes-保障集群内节点和网络安全

    13.1.在pod中使用宿主节点的Linux命名空间 13.1.1.在pod中使用宿主节点的网络命名空间 在pod的yaml文件中就设置spec.hostNetwork: true 这个时候pod使用 ...

  9. Windows Server2008 监控服务器性能

    下面学习Windows Server2008监控服务器性能包括 日志管理,归档日志,日志排错,怎么配置计算机以转发和收集事件,使用任务管理监控内存和CPU的使用,查看程序内存使用,查看程序CPU使用, ...

  10. jjyq app登录接口报:“内容类型不支持”???已解决

    1.在 app上进行登录操作,成功. 2.通过fiddler抓包得到jjyq登录接口的url.param.header. 3.在pycharm中使用requests发起请求,运行报错:内容类型不支持?