大话处理器大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”处理器与计算机每一个成功的男人背后都有一个成功的女人!——《傲慢与偏见》,作者:简·奥斯汀每一个成功的电子产品里面至少有一个成功的处理器!——《大话处理器》有处理器的电子设备,其实都可以叫做计算机。计算机之叔(父)央视《对话》栏目在一期节目中邀请了《功夫熊猫》的导演,当主持人称呼他为“功夫熊猫之父”时,他谦逊的说,我更像是功夫熊猫的叔叔,很多很多的人一起完成了这项杰作。查尔斯·巴贝奇阿兰·图灵冯·诺依曼第一位程序员爱达负责为巴贝奇还没有建成的机器写程序,她创造了子程序、循环的概念。后来美国国防部开发了一种面向对象的高级编程语言,为了纪念这位计算机软件的开山之祖,美国国防部将这种语言命名为ADA(爱达)。爱达·拜伦居然是个女人第一台电子计算机之争阿塔纳索夫和贝利建成了世界上最早的电子计算机ABC(Atansoff-BerryComputer)。阿塔纳索夫将设计计算机的思路毫无保留的告诉了毛奇莱(JohnWilliamMauchly),1946年,毛奇莱和艾科特(JohnPresperEckert)建成了ENIAC计算机。阿塔纳索夫贝利毛奇莱(左)艾科特(右)冯·诺依曼机冯·诺依曼结构1945年6月,冯·诺依曼提交了他著名的101页的“关于EDVAC的报告草案”,里面描述了计算机的逻辑结构,尤为重要的一点是提出了“存储程序”的思想。“存储程序(stored-program)”的意思就是将程序存储到计算机内部,计算机自动执行。华人与计算机朱传榘,他参与了ENIAC设计,获得了1981年计算机先驱奖。王安,他发明了“磁芯存储器”等多项技术,1988年,被选入美国发明家名人堂。王安创办了王安电脑公司,曾经红极一时,不过后来王安执意将公司传给自己的儿子,再加上其他一系列的失误,公司最终倒闭。朱传榘王安从军用到民用——飞入寻常百姓家大型机小型机PC机军用科研家用个人计算机时代——英雄辈出的时代什么是历史,什么是英雄,是英雄造就了历史,还是历史成就了英雄?个人计算机时代正是个英雄辈出的时代!这个时代属于Intel,Microsoft,Apple,IBM,HP……硅谷八叛将(TraitorousEight)硅谷八叛将从肖克利半导体实验室出走,创建了仙童半导体,Intel、AMD、美国国家半导体、LSILogic、VLSITechnology、Intersil、Altera和Xilinx等等业界众多巨擘的创始人都来自仙童半导体。硅谷八叛将,各个身怀绝技并事业有成各式各样的终端山寨机的创新兵法山寨机创意一:明修栈道,暗渡陈仓山寨机创意二:要么不做,要么做绝山寨机创意三:包罗万象,有容乃大计算机的来世在《终结者》中,计算机(Computer)=机器人(Robot)“人工智能是一门新兴的学科,所研究的是如何使机器能够做像它在电影中所做的事情。”PC机结构图存储器——大肚能容,容天下难容之事“男人一定要会修电脑,曾经有个人不会修自己的电脑,后来的事大家都知道了…”半导体存储器市场20世纪60年代王安发明磁芯存储器。20世纪70年代Intel发明集成电路存储芯片,一部分存储器走向半导体时代。Intel其实是靠存储器发家的。20世纪80年代日本从20世纪70年代中期布局半导体产业,到80年代已卓有成效,半导体存储器份额超过美国,逼着Intel转型做处理器。20世纪90年代比日本人更能吃苦耐劳的韩国人、台湾人崛起,称霸半导体存储器市场。现在王者三星。台积电董事长张忠谋说:“三星,是所有人的对手,三星几乎是什么电子产品都要做。”输入设备——五觉触摸声音传感姿势越来越自然显示设备——脸面3D电子书投影全息投影越来越大越来越靓越来越无形硬件、操作系统、应用软件的关系硬件相当于家产,操作系统相当于管家,应用软件相当于长工。纵向型计算机产业链横向型计算机产业链穿越时代该时代也称为垂直整合时代,作者将其戏称为穿越时代,穿越一词来源于这几年火热的穿越剧和穿越小说。历史总是螺旋式发展穿越时代,更需要对处理器和软件都熟悉的复合型人才!IT链条待解决的问题算法编程语言编译器指令集体系结构微架构处理器系统实现逻辑与电路晶体管芯片制造大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”硬连线电路——一定终身out=in1+in2*in3+in4*in5*in6;要实现一个运算,可以用硬件电路来实现,但是缺点是:一个电路只能实现一个运算。***+in1in2in3in4in5in6+out通用计算机模型——硬件搭台,软件唱戏存储器运算器控制器一套硬件,通过软件,来控制实现不同的运算。通用计算模型ISA的出现IBM在它的System/360计算机中引入了ISA(InstructionSetArchitecture指令集体系结构)的概念,将编程所需要了解的硬件信息从硬件系统中抽象出来,这样软件人员就可以面向ISA进行编程,开发出的软件不经过修改就可以应用在其他采用同样ISA架构的系统上。早期,软件的编写都是直接面向硬件系统的,即使是同一计算机公司的不同计算机产品,它们的软件都是不能通用的。龙芯到底是怎么回事——处理器的分层模型处理器系统层次Architecture(体系结构):处理器的外表,设计规范,定义处理器能做什么。Microarchitecture(微架构):处理器的内心,设计实现。物理实现:具体的实现过程,如用20nm的集成电路工艺实现。MIPS龙芯ST指令集、微架构、处理器实例注意:ARMv7是指令集,ARM7是微架构。Cortex系列使用ARMv7指令集,ARM7使用ARMv4指令集。选什么样的处理器——适合的才是最好的选处理器没有好坏之分,只有适合与不适合之分,适合的才是最好的。处理器的硬指标处理器的生态环境——哥不是一个人在战斗处理器的钱途PC行业老大HP2010年PC等业务(personalsystemgroup)的净收入为407亿美金,运营利润为20亿美金。而Intel2010年的净收入为436亿美金,运营利润为156亿美金,从中我们可以看出,PC公司是卖了不少钱,不过钱都让处理器公司赚了。最核心的,才是最赚钱的,才是我们最应该去关注的。而处理器正是这种核心!大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”指令集的威力指令集的威力太强大,它的强大在于它背后是一个生态链,而不是一家公司。指令集就像语言(汉语、英语等)一样,定义一套语言其实并不难,难的是你要让别人去接受你定义的语言。如果重新使用一套指令集,与之配套的编译器、操作系统、各种应用软件也都要重新编写,这样的工作量和难度,是无法想象的。龙芯使用了MIPS指令集人类与计算机的沟通语言指令集发展历程处理器/指令集呈现出螺旋式的发展:逐渐做大,然后优化,然后又做大……从量变,到质变,然后进入下一轮的量变和质变,只是此“质”已非彼“质”了。指令集的五朵金花八仙恣意展,各自显神通!x86“复杂”外表下的“简单”芯x86虽说是CISC指令集,不过x86内核可以认为是RISC内核,x86指令集会先被解码为类似于RISC的微操作(uops)。地盘划分“对酒当歌,人生几何,行业纷争,去日苦多!”x86、ARM之战让暴风雨来得更猛烈些吧!操作数与操作码大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”最简单的3级流水线低功耗嵌入式领域的经典产品ARM7就是采用这种3级流水线结构。史上最经典的5级流水线早期的MIPS、ARM9等处理器使用这种流水线,以后的处理器也都能看到它的影子,包括x86处理器等。TIC6000DSP流水线不同的处理器会有不同的流水线节拍划分,就好像不同的人会穿不同的衣服一样。乱序执行内核取址寄存器重命名译码分支预测指令分派Port0指令提交Port1Port2Port3…….执行单元处理器的并行设计指令并行SuperscalarVLIW世上没有无缘无故的爱,也没有无缘无故的恨,没有无缘无故的Superscalar,也没有无缘无故的VLIW。数据并行X3X2X1X0XY3Y2Y1Y0YopX3opY3X2opY2X1opY1X0opY0XopYopopop听音乐,看视频,玩游戏,都会用到它。线程并行Thread1UnusedExecutionTimeFU1FU2FU3FU4超标量+单线程同时多线程细粒度硬件多线程Thread2Thread3Thread4Thread5粗粒度硬件多线程多核刘、关、张三兄弟联手,也只是稍微强过吕布一点点,而即使是强如吕布,最终还是敌不过曹操的千军万马。并行总结程序员的作品在处理器上执行,了解了处理器微架构,也就了解了程序到底是怎么执行的。大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”你在我“芯”中,留下了印记CPU对内存条说:“你在我“芯”中,留下了印记”。为什么需要Cache?什么是Cache?处理器内部一块速度比内存(DRAM)快的SRAM。为什么一小块Cache能提速?Cache的时间局部性:你今天看了《射雕英雄传》,明天你很可能还会看它。(因为你没看完)Cache的空间局部性:你看完《射雕英雄传》后,你很可能会看《神雕侠侣》。分级Cache结构Core0L1PL1DL2Core1L1PL1DL2L3validtagblockCacheline0validtagblockCacheline1validtagblockCacheline2validtagblockCacheline3Cache的基本结构Cache的工作方式——丘比特之剑,命中与不命中Cache的一致性问题Cache的一致性协议Cache和DMA对比DMA的搬移方式大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”为什么要编写高效代码人要跑快点,否则就要被吃掉,程序也要跑快点,否则就没人要。怎样提高程序的运行效率5.利用多核来加速程序——人多力量大4.充分利用编译器进行优化3.优化内存访问——别让包袱拖垮了你2.减少处理器不擅长的操作1.减少指令数——勤俭持家写软件,要有把486当奔4使的霸气!编程是门艺术使用更快的算法1+2+3+…+100=?编译器:我才是优化第一高手利用多核来加速人多力量大!任务划分数据划分数据流划分能写出更快的代码,在面试大公司时,至关重要。大话处理器目录6.编写高效代码——时间就是生命5.Cache——处理器的“肚量”4.微架构——处理器的内心世界3.指令集体系结构——处理器的外表2.初识处理器——掀起你的盖头来1.漫游计算机世界7.SOC——吸星大法8.“芯”路历程——明明白白我的“芯”SOC