CPU跟GPU是怎么协调的,?
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了),支持2D图形加速的显卡出现了,它大大缓解了CPU的图形处理压力。有了2D图形加速功能的显卡,CPU如果想画二维图形,现在只需要发个指令给显卡,如“在坐标位置(x, y) 画个长和宽为a * b大小的长方形”,显卡的图形加速器(GPU)就可以迅速在显示器上指定位置画出大小相符的图形,画完后GPU就通知CPU,“我画完了”,然后等待CPU发出下一条图形指令。
现在的GPU除了具有2D 图形加速功能,更多的是在不断加强3D图形加速的能力。 同样的道理,GPU也把繁复的3D图形处理的工作从CPU分担过来,CPU现在只要发个指令,如“画个圆球”,给GPU就可以了,GPU完成三维图形的绘制,然后通知CPU完成的情况,等待下一条指令。
有了图形加速器,CPU就从这类图形处理的任务中解放出来,可以执行其他更多的系统任务,这样就提高计算机的整体性能。
不过,并不是所有和3D图形处理相关的运算一下子都被GPU接管过去,“任务”的交接也是逐步进行的,对于GPU不能实现或者尚未实现的计算还是“有劳”CPU来完成。例如,图形的几何坐标变化和光照模型的计算(T&L)在主流的GPU都实现了,以前都是由CPU来完成的。对于当前一些集成在芯片组中的GPU,如果没有T&L的加速,仍然用“软件”方式实现T&L计算——就是CPU来完成。另外,3D图形的着色计算也逐渐转移从CPU转移到GPU中,如顶点着色和像素着色 (Vertex Shader & Pixel Shader)。
从上面的简单介绍我们可以看出,CPU和GPU工作的重点不一样,CPU担当的责任要大的多,面对的是整个计算机系统,要照顾到方方面面,除了要保证整个系统高速运行,还要确保系统稳定运行。任何错误都可能会是致命的,所以CPU很难做到“专心致志”。它会经常被打断,停下手头的工作,去处理正常的或者非正常的紧急任务, 否则系统就会崩溃。相比CPU而言,GPU的责任就要轻的多,图形计算如果出了错,并不会影响程序本身的运行,最多是屏幕上显示的图形错位了或者是颜色乱了等等,而且GPU不会为图形程序运行的结果负责。
没有GPU加速2D和3D的年代,CPU包揽了和图形计算与加速相关的所有活,“活”的不轻松,今天这些工作中的很多都由GPU来代劳了,CPU被解放出来把宝贵的CPU运算和控制资源更多的用于执行系统层面的核心任务以及其他非GPU类的应用上来。GPU相当于CPU的一位具有图形计算和处理专长的高级助理。
对于非图形方面的任务,CPU需要的是其他专长的高级助理。GPU今天在计算机系统中的贡献主要是高端3D游戏的三维图形方面的,对于其他更广泛的应用,它是无能为力的。如系统安全方面的加密解密,多媒体数字内容的加工和处理,系统的虚拟化,游戏中的人工智能等等举不胜举。
将来有机会,我会具体介绍一些“CPU和GPU擅长和不擅长的各个方面”。
近年来,为增强石油行业在激烈的市场竞争中调节市场和抵榔风险的能力,储油罐的容量和数量不断增加,已相继出现5×10000m?0?6、10×10000m?0?6的大罐。这些大罐的出现对于液位监测提出了更高的要求。本文以库部(库尔勒一部善)输油管道部善外运油库中四座5×10000m?0?6油罐为倒,介绍其雷达液位计的应用。
目前,常用的油罐液位监测系统有:浮子式液位计、差压式液位计、电容式液位计、超声波液位计和雷达液位计等。都善外运油库采用的是873型智能雷达液位监测系统,它分别安装在四座大罐上。该仪表测量系统天线和天线单元(AU)设在罐顶.而且远离液面不与液面接触。控制单元(cu)设在罐外地面。通讯接口单元(CIU)和协议转换接口(MODBUS CIU)设在控制室内。该仪表除可以测量液位外.还可通过Ptl00热电阻测量油温。液位、油温就地显示并远传至控制室。系统具有网络接口,可联入管道自动化系统SCADA(Supervisory Control And Data Acquisition),大大提高了罐区自动化和整个管道自动化水平。
2 系统基本结构
Enraf系列雷达液位计主要对液位和介质温度监测。它采用模块化设计,具有多种功能模块供用户根据自己需有选择,如:液位数字输出(APU)、液位模拟输出(MPU 4~20mA)、点温测量(TPU)、平均温度测量(MPU)、压力测量(OPU)等。由于雷达采用的是微波,对介质的要求比较宽泛,因此它可应用于沥青、燃料油、原油、黑色产品、白色产品、LPG/LNG的测量。它适用于多种罐体,如固定罐、浮顶罐、压力罐。其液位测量精度小于±1mm,分辨率为0.1mm,模拟输出±0.1%FS(可选),温度测量精度为±0.2℃。
外运油库四座大罐安装的是四台873Smart Radar智能雷达监测系统。其天线和天线单元(AU)通过法兰连接到罐内的带孔钢管上。控制单元(cu)安装在罐外地面上.它通过四线制为Au提供电源并接收AU传回的液位信号。同时它还接收来自Ptl00的温度信号。这两个参数经CU转化后.通过Enraf自己的现场总线传送至CIU,又通过MODBUS的协议转化并入SCADA系统。整个系统采用分布式设计.系统性能稳定可靠,传输快捷准确,实现了罐区自动化和整个管道的自动化。
873型雷达液位计的系统组件
873型雷达液位计按功能可分为三部分:测量部分(Au),控制部分(CU)和通讯部分(CIU和MODBUS)。这三部分构成了雷达液位监测系统。雷达液位计的测量部分和控制部分均采用IP65工业现场防护等级,防爆等级为:EEx dIIB T6,工作温度最高达+65℃ ,最低温度达一40℃ ,工作压力一0.048~+0.689MPa。
3.1 测量部分
天线和天线单元构成了雷达液位计的测量部分件。雷达液位计液位测量的精度完全依赖于它,它完成了雷达渡的发射和接收,通过内部固化的SEEPROM程序计算出罐位信号,并传送到控制单元。Enraf公司采用平面天线技术PAT(Planar Antenna Technology).它具有多个发射源,使其反射波信号纯度高.提高了测量精度。
天线单元采用四线制接线,两根为电源线(15~18Vdc),另两根为信号线(0~5V)。其内有两
块功能模板HFB(High Frequency Board)和DAB(Data Acquisition Board)。
用于液位测量的雷达披一般采用高频(9.15—10.85GHz)电磁波。由于油罐相对来说高度不大,测量其发射波和反射波的时间差几乎不可能。雷达液位计一改传统的脉冲雷达(PR),采用合成脉冲雷达波(SPR),通过测量发射波和反射波的频率差来计算雷达波传输的距离。
通过频差校正提高了测量的稳定度和精度。
3.2 控制部分
控制单元(CU)采用了模块化设计。它提供了一个框架,其内的模板包含基本模板和可选模板。基本模板包含电源模板(GPU)和传输模板(XPUII);可选模板包含天线处理模板(APU)和测温模板(TPU)。GPU、APU和TPU均可与其他罐的相应模板互换。XPU与罐的自身特性有关,必须在拔掉模板上的EPROM才可用其他模板替换。
控制单元对接收的液位、温度信号调理,就地液晶显示并远传至控制室。另外它提供了一个光通讯口,可用手操器(PET)就地现场调试。
3.3 通讯部分
通讯部分包括CIU和M0DBUS。这两块模板集成在控制室的壁柜内,完成现场设备通讯和系统通讯任务。
CIU有3对现场总线,每对现场总线可下挂10台雷达液位计,而且CIU 也可通过MODEM 扩展。整个系统具有丰富的扩展能力,可满足用户的需要,也提高了集中管理的水平。
MODBUS具有集中显示(可显示30台)和协议转化(内置转化程序BEAD CT1)的功能。安装了相应软件的上位机可以以RTU 的模式向现场设备请求数据。通过工业标准的MODBUS协议,整个系统具有了网络功能。在郡善外运油库中,把雷达液位计系统通过数字桥等网络设备并入SCADA系统的Ethernet。本文转自 http://www.yb1518.com转载时请留此链接!
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!