发布网友 发布时间:2022-04-26 18:13
共2个回答
热心网友 时间:2023-10-20 10:13
CPU和GPU在今天计算机中的作用和位置(作者:赵军)CPU的作用: CPU 作为一台计算机的核心,它的作用被证明是无法替代的,过去是这样,今天依然是这样,将来应该还是这样,只不过可能被增加和赋予了更多更复杂的功能。 为什么CPU能够胜任计算机的核心,应付自如地控制一台复杂而精密的电脑系统 ?为什么CPU可以当之无愧地被称为电脑之“脑”而不是其他部件?这是因为CPU主要是面向执行操作系统、系统软件、调度和运行各式各样应用程序以及协调和控制整个计算机系统而设计的。CPU具有通用性的特点,也就是“全才”或者“通才”,什么都要会,当然这并不表示CPU每项任务都具有顶尖水平。 集成了百万计,千万计,甚至数亿计晶体管的CPU芯片,除了具有计算能力的电路和结构,还拥有控制和指挥其他硬件电路相配合的*控制器,现代CPU还拥有更多具有“思维”能力的电路和结构,如逻辑判断,推测执行,预测执行等等。只有具有了这些特质,CPU才可能胜任电脑之“脑”的工作。 那么CPU靠什么来“思维、指挥和控制”呢?答案是指令集。指令集是CPU能够处理的全部指令的集合,没有指令集的芯片不可能被称为是CPU,指令集可是说是CPU的思维语言,是CPU的“智能属性”,也是它有别于其他芯片的根本属性。类似于人脑,任何人的思维过程都有语言的参与,中国人用中文思考,美国人用英文思考,如果习惯于讲方言,人们甚至用方言思考,人们在本能或者下意识状况下都是用自己最熟悉的语言思考。指令集就是电脑之脑CPU的语言,CPU就是用指令集来“思考”。 大家所熟悉的x86指令集就是我们今天大多数人使用的CPU的语言,x86指令集是由英特尔公司发明、开发并不断增强和完善的。所有英特尔架构的CPU和兼容CPU都采用x86指令集。任何程序不管采用什么高级程序设计语言编写的,都需要通过高级语言编译程序或者解释程序先翻译成 x86指令才可以被CPU执行。 如C语言,C++语言,Pascal语言等等高级程序语言都是供编程人员使用的,人们可以把自己的“思维和指令”通过高级程序设计语言表达出来,通过编译程序或者解释程序转换成CPU可以明白的指令,CPU就可以遵照人们的“思维和指令”一丝不苟、不折不扣地执行。其实编译程序和解释程序也是由CPU来执行的。 有了指令系统,CPU就可以通过它来控制、指挥、协调和调度整个计算机系统的各个子系统,让它们相互配合、有条不紊的完成各种各样的任务。 GPU的作用:除了CPU(*处理单元,也叫*处理器),计算机系统中还有众多的PU——处理单元,统称xPU。由于它们不具有CPU的通用性,而具有专用性,习惯上它们都叫控制器或芯片。如内存控制器,中断控制器,以太网网卡芯片,USB控制器等等,虽然这种叫法不常见,但是我们依然可以把它们也叫成: Memory PU —— 内存处理单元 Interrupt PU —— 中断处理单元 Ethernet PU —— 以太网处理单元 USB-PU —— USB 处理单元 所以现在图形计算能力比较强的图形芯片被称为GPU,即“图形处理单元”就不足为奇了。GPU具有专用性的特点,擅长图形计算和处理。 GPU的前身就是显示卡的主芯片。显示卡和显示器等等组成计算机系统中的图形子系统。最早的显示卡功能比较简单,所以也叫显示器适配 卡(简称显卡),它是连接主机与显示器的接口卡。现在的显卡都是3D图形加速卡,主芯片也被冠以GPU的新名字了。 今天显卡的主要作用并没有发生根本的变化,其作用还是将CPU的输出信息和指令转换成字符、图形和颜色等信息,传送到显示器上显示。不过,今天的显卡在执行CPU发出的图形指令时具有更强的执行能力和图形计算能力。下面我就来给大家解释一下。 早期显卡的图形处理能力非常弱,基本上只是起到传递的作用,CPU如果想在图形方式下画个简单的图形,如正方形,园等线条图形,都需要把组成图形的每个点需要显示的位置、点的大小、颜色都一一告诉显卡,显卡然后按部就班在显示器上画出来。 随着操作系统和应用程序对复杂且高质量的图形要求越来越高,CPU专职来做这些图形处理工作就力不从心了,也得不偿失,而且也会造成CPU的效率低下。因为CPU的设计是用来处理系统任务和程序调度的,不是为图形处理优化的。 于是图形加速功能就被赋予到新的显卡当中(现在主芯片可以叫GPU热心网友 时间:2023-10-20 10:13
APU,全称是“Accelerated Processing Units”,加速处理器,它是融聚了CPU与GPU功能的产品,电脑上两个最重要的处理器融合,相互补足,发挥最大性能。 2010年2月,AMD高级副总裁兼技术事业部总经理Chekib Akrout先生给国内的媒体带来了处理器产品线上的最新进展--“APU”,APU是AMD将于2011年投向市场的全新产品类型,它是现有CPU和GPU产品的深度融合,AMD计划用APU来开创桌面、移动以及企业多个领域的全新格局。 据Chekib Akrout所述,APU能够完美融合CPU在复杂顺序计算和GPU在大规模并行计算的双重优势,通过硬件调度逻辑和软件层完美均衡CPU和GPU的负载,把性能从目前多核CPU的水平基础上明显提高一个档次。“最好的CPU和最好的GPU组成了APU!”Chekib这样评价APU。 AMD的APU将使用业内的通用接口进行应用层面的构建,包括OpenCL和DirectX Compute,AMD已经推出了支持前者的AMD Stream SDK v2.0;而唯一完全支持后者的API是DX11,现在只有AMD的GPU支持DX11。Chekib称在2010年正式上市的产品中,技术人员在不需要了解APU技术特性的情况下,按照现在的经验继续开发新的内容。 CPU和GPU的真正融合 CPU和GPU性能的发挥很大程度上依赖于自身或外部的内存控制器,而目前市场上的CPU内存控制器+内存使用和GPU相比,各自的性能侧重和构建方式都有很大不同,未来的APU内部的CPU和GPU逻辑将共享同一内存控制器! 同时,目前独立的CPU、GPU甚至是封装在同一基板上的CPU+GPU,都是有独立的内存控制器,数据沟通需要通过I/O,而AMD就是要把它们真正融合起来,而不是简单的把CPU和GPU攒在一起。当笔者问及这样极具挑战的设计下,全新的内存控制器是否能带来APU性能的提升时,Chekib变得保守和严谨起来,他说:“我们的设计目标是提升性能。”看来这一步真的不是那么容易的事。 全新的x86 CPU逻辑:Bulldozer和Bobcat AMD下一代x86核心有2款:高性能的Bulldozer和轻量级的Bobcat。Bulldozer是一款高端产品,通过紧密相连的两个核心共享资源,从而极大的提高了效率。Bulldozer每条并行的线程独享一个专用的整数核心,具有可独享或共享的浮点单元,并共享缓存。Bulldozer有两个执行单元,但可以共享一个浮点的调度程序,使它可以更好地对资源进行优化。处理器采用了高K金属栅级的32纳米SOI技术制造并在2011年上市。Bulldozer核心将在台式机和服务器上使用。 Bulldozer 是AMD在x86处理器中首创多核心共享浮点单元,这样的设计也许是AMD要把大规模浮点计算交由GPU承担的一种思路,当然产品实现的细节目前还不得而知。 Bobcat非常小巧、高效,而且功耗非常低,能够在低于一瓦的情况下工作。Bobcat以不到目前处理器核心一半的面积实现了当前主流处理器90%的性能。这款核心将在2011年随着代号为Brazos的笔记本APU问世。它的设计非常灵活,高度可合成,可重新组合CPU使用。Bobcat的目标市场显然是超轻薄以及平面手持设备。 APU的产品规划 APU产品仍然像现在CPU一样因不同性能规划成多个系列,多款型号,购买起来很简单。"这听起来似乎还很有道理,不过相信届时肯定不会有很强CPU+入门GPU这样组合的APU产品,想要APU达到独立CPU+独立GPU的性能定制还是不太现实的事情。