多CPU

2024-10-09

多CPU(共9篇)

多CPU 篇1

0 引言

在云计算应用中,多租户技术可以让多个租户共享使用同一个应用程序或运算环境,对云服务供应商来说可以有效降低运营成本[1,2]。对于多租户应用,同一物理资源由多个应用共享,共同构成了资源总的消耗,但从总的资源消耗中很难直接获知各个应用的资源消耗量。租户的共享使得资源使用率得到提高,但若租户之间难以完全信任,会存在恶意侵占其他租户资源的行为;即使在同一组织内部,相互信赖的多个租户,仍有可能由于误操作或过载而导致租户侵占大量资源,影响其他租户的性能[3,4]。为了避免性能干扰,直接的方法是对租户的资源消耗做好监控,当租户发生或可能发生性能侵占的行为时,对租户的资源分配进行调整,避免系统过载而影响其他租户。在多租户环境下实施资源调整,需要建立在对多租户的负载进行动态检测以及分析的基础上,对资源消耗进行评估,适时发现系统的性能瓶颈,从而使租户的资源分配对优化系统性能起到效用[5]。

文献[6]提出一种基于Kalman滤波的多租户Web应用CPU资源动态评估方法,通过近似最优方式利用可观测值估算不可观测值,随着新的观测值的到来更新之前的估算值,更适用于时变资源状态的在线评估。Song等人[7,8]利用机器学习的方法来计算每个应用程序的优先级,提出了基于优先级降低能耗的资源分配方案。文献[7,8]关注数据中心虚拟机资源的各种静态配置方案以保证资源分配的公平性,并提高资源利用率。文献[9]利用服务器产生的日志分析资源消耗,根据日志信息提供的服务请求和响应时间分析运行服务的资源消耗。文献[10]使用修改内核指令的方法来测量资源消耗,此方法测量精度较高,但需要对操作系统进行修改,产生的额外开销过大。在多租户环境中由于租户行为的不确定,负载动态快速变化,资源分配量若不能根据负载需求而变化,可能会导致负载很轻时浪费许多不必要的资源,因此需要对负载的分析和评估进行进一步的处理,在良好的负载分析结果基础上,提升多租户应用动态资源调整的效果。

CPU是具有代表性的、宝贵的计算资源,与内存、网络等其他资源相比,它更加难以准确获取。在多租户环境中由于租户间共享资源,简单的CPU直接测量法的开销较大,也不灵活。本文设计和实现了一个基于CPU分析的多租户应用动态资源调整机制及其原型Tenant CPUMan。其主要实现了云环境下多租户的对资源的动态变化的检测,在采集租户的信息基础上,利用多元线性回归分析评估CPU等资源消耗,以此为基础进行资源的动态调整。在多租户负载多变的环境下,系统具有资源浪费少,系统的利用率高等优点。

1 工作思路和框架

通常的多租户支撑环境中,由管理员根据各租户的需求分配租户的CPU、内存、网络带宽和硬盘大小等资源。静态的分配方式不能感知租户应用的负载情况,无法及时根据负载情况做出准确的反映和保护措施。Tenant CPUMan设计的出发点是租户应用的资源需求要与租户的实际负载相适应,在线获取预测租户应用的负载,然后及时做出调整租户的物理或虚拟资源,实现弹性资源供给。租户的资源调整过程不能强行中断租户应用,而是连续动态化的再分配资源。Tenant CPUMan的框架如图1所示。

信息收集模块

获取租户应用的运行时数据,包含租户的ID、CPU个数、CPU频率、CPU使用率、内存使用情况、最大内存值、网络带宽使用率和最大设定的网络带宽等;周期性将所收集到的数据发送给信息分析模块分析,使用基于回归分析的方法进行估算租户的CPU资源需求,以降低多租户环境中直接使用探针方法估算,带来的额外开销。

信息分析模块

动态地估算CPU资源消耗分析,分析当前租户的负载情况和当前的资源分配方案是否合理,是否存在租户负荷过载的情况。例如,当前租户应用的请求速率增快和平均响应时间变慢时,信息分析模块根据当前负载给出适当的资源分配操作。该模块着重分析能反映出租户当前负载情况的平均响应时间(而非直接的响应时间)。

资源调整模块

接受分析模块的反馈信息,根据信息判断是否对租户的应用环境制定分配方案并进行资源再分配。资源调整模块不仅可通过分析模块进行调整,管理员可直接向多租户资源调整程序进行申请,申请后也可根据租户的要求进行资源的动态调整。

在Tenant CPUMan框架中,租户资源调整流程如图2所示。基于以上思路设计和实现系统时,关注的关键技术主要涉及资源消耗分析评估以及调整策略的实现,如下一小节所述。

2 关键实现

Tenant CPUMan原型系统的实现在开源的KVM(Kernelbased Virtual Machine)虚拟化管理平台上,并通过对libvert[11]的API库的修改实现了资源的动态调整。Tenant CPUMan提供支持多种远程传输协议,包括SSH、VNC、SPICE等。Tenant CPUMan操作租户虚拟机使用SSH协议,通过远程命令对租户的应用环境进行修改。下面分别介绍Tenant CPUMan两个核心模块的实现机制。

2.1 负载分析

在多租户环境下内存、网络等资源消耗较易于直接获取,但多租户的CPU资源消耗因直接获取需要租户系统兼容性支持,并会对租户产生额外的开销。因此,我们重点研究了CPU负载分析的实现。我们采用了偏最小二乘回归分析预测模型[12]来估算租户的CPU资源消耗,其具有允许在样本个数较少的情况进行回归建模、能提高模型的预测精度等特点。

在估算租户的CPU资源消耗过程中,首先利用系统探针在线获取服务端的日志信息,包括服务器的CPU平均利用率、响应时间和租户的吞吐量等,这些运行信息在固定时间间隔(称为监测窗口)中获取。设服务器有K个租户,T为监测窗口的时间长度,Ni表示第i(1≤i≤K)租户在监测窗口的时间内所完成事务数;Acpu,n表示在服务器n上经过监测窗口记录时间内CPU平均利用率;Di,n为第i(1≤i≤K)个租户在服务器n上所完成所有事务的平均时间。根据效用法则,租户CPU资源利用评估指可用吞吐量与服务时间之积表示,如式(1)所示:

由于难以获取精确的服务时间Di,n,用Ci,n来表示其近似值,则Acpu,n的近似值A'cpu,n计算如式(2):

为减小Acpu,n与A'cpu,n间的误差以提高衡量精确度,我们使用偏最小二乘回归分析法对监测窗口中记录的事务吞吐量、响应时间等参数进行回归建模计算出Ci,n。服务时间C建模如下:

其中:C为N×1矩阵,表示N个租户的平均服务时间;e为常量;B为1×m回归系数矩阵;X为N×K矩阵。

通过监测窗口获取租户运行时的N个记录,一个记录包含m项数据,则第k个记录的解释变量为X1k,X2k,…,Xmk,包含各租户的吞吐量、平均响应时间和负载的事务概率等数据项。根据偏最小二乘分析法计算出系数矩阵B,然后代入式(3)、式(2),即得出分析结果。

2.2 资源调整

资源调整模块接收信息分析模块的结果后,通过基于libvert的API库的调用修改虚拟机实例,进行动态资源调整。虚拟机的资源调整分为配置修改和动态迁移两种类型,均可以通过扩展libvirt的API功能而实现。资源调整模块实现了资源配置修改、资源限制、物理CPU和虚拟CPU的关系调整、内存和网络配置修改等调整功能。

Tenant CPUMan设定一个租户独占一个虚拟机,使用共享CPU的调整方式(如图3所示),多个租户虚拟机运行在一个主机上,在底层共享资源的基础上实现多个CPU间的调度。CPU的调整首先在线获取物理机的CPU消耗,然后获取相应租户的映射关系与虚拟CPU的资源消耗,通过查询映射关系表,根据信息分析模块对租户虚拟机的负载进行评估,对租户虚拟机做出迁移、释放和增加虚拟CPU等资源调整,调整流程如图4所示。

3 测试

本节介绍Tenant CPUMan的测试效果。测试环境部署如图5所示。每个租户的应用分配在一个虚拟机上,租户使用的是符合TPC-W的规范的电子商务网站[13]。TPC-W是一个广泛使用的电子商务测试基准,其定义了14种事务操作,包括网上书店的浏览、查询以及订单等事务操作。实验目的是测试原型系统能否自动调节租户资源,避免个别租户资源使用率过高而影响其他租户的资源消耗。租户的负载分别考虑为负载长期使用率过低,负载突然急聚上升和稳定负载的状态。实验记录时间长度为2小时,设内存调整的前提条件为内存使用率是否超过阈值90%。我们考察其中5个租户的表现。考虑网络和硬盘读写在本实验的Web应用中不是性能瓶颈,这里主要考虑的是CPU和内存的负载,负载的基本单位为模拟浏览器线程的数量。模拟的租户负载的平均分布如图6所示,不同租户的负载有不同的特征。

我们通过资源监测模块记录下CPU的消耗,统计出每分钟的CPU利用率平均值,得出CPU的平均利用率和内存的平均使用率的分布如图7所示。



然后再次使用设置参数生成租户重新模拟生成负载。我们通过多租户调整资源调整系统后统计资源消耗,此时CPU的使用率分布图和内存的平均使用率如图8所示。

对比图7与图8的CPU平均使用率,租户4的负载有多租户资源调整系统对VCPU(租户虚拟机的虚拟CPU)进行调整后,持续高负载的CPU使用率得到缓和,最后CPU的使用率保持在65%左右。租户2的调整后的CPU使用率持续上升的利用率也在70分钟后的得到稳定。可以看到,租户的负载高,CPU使用率相应提高,但我们对CPU的利用率上升的状态时,不是即刻执行调整资源的,这是防止短暂的负载抖动而资源导致CPU使用率过高的现象。如果因负载的短暂抖动现象而调整资源,负载稳定后资源的使用率过低则会造成资源浪费,资源分析模块需一段时间判断后才向资源调整模块申请资源,然后分配VCPU给租户,使得租户的性能提高,避免租户应用高负载的状态。租户1的CPU使用率保持较低,但由于使用KVM释放VCPU资源需要租户的环境影响,不做直接修改。

对比图7与图8的平均内存使用率,租户4内存的使用率在使用Tenant CPUMan前内存的使用率较高,保持在80%以上,在调整后内存的使用率降低并稳定在40%。而租户2的使用率虽持续上升但达到62%后保持稳定,Tenant CPUMan并未对内存资源进行调整。这是由于内存调整的前提优先判断内存使用率是否超过阈值(90%)。观察图6租户1的内存使用率始终保持在较低的使用率下,始终保持在20%之下,而在图7的租户的内存使用率在第40分钟上升了。这是由于多租户资源调整系统对租户1的内存动态调整释放了资源。租户的总内存减少从而内存使用率提高。租户3和租户5的内存使用率较为平稳,Tenant CPUMan并未做修改,租户的平均内存使用率变化不大。

综上所述,Tenant CPUMan系统在基于负载预测的前提下,分析多租户应用的资源消耗,对负载进行预测和资源调整。由于提前进行资源分配的调整,租户的CPU和内存的负荷过载得到了有效的减少,也证明了多租户资源调整系统有效性。Tenant CPUMan可以针对多租户环境中由于租户行为的不确定,负载动态快速变化等问题,根据负载的变换动态地调整资源分配,减少了负载很轻时浪费不必要的资源,减少应用程序的响应时间和租户的等待时间,保证了租户的服务质量。

4 结语

在云计算多租户环境下资源需要与多租户的共享环境和动态负载环境相适应,为保证兼容性和避免对租户系统的修改,本文设计和实现了一个基于负载分析的多租户应用动态资源调整机制及其实现Tenant CPUMan。Tenant CPUMan采取回归分析预测法对多租户应用的资源消耗进行评估,与直接插入探针测量的方法相比能够减少额外开销,在此基础上对CPU资源做出动态调整。系统测试证明了多租户资源调整系统的有效性,租户的CPU和内存的负荷过载得到了有效的减少。下一步工作,将考虑不同类型负载的整合,并对网络和硬盘读写等条件复合分析,由此考虑不同负载情况下不同租户应用服务的资源调整和探讨通过不同类型的资源使用情况,分析触发资源调整的条件,深入讨论资源调整策略。

多CPU 篇2

问:在使用移动硬盘的过程中出现“缓存写入失败”错误,拔下数据线重新接上后,三个分区只看到两个,而且系统会出现“假死”,拔下数据线就恢复正常,请问如何解决,移动硬盘里的资料还能不能恢复?

答:在“设备管理器”中对移动存储设备启用“写入缓存”策略后,可将需要移动的数据暂时放到缓存中,等系统闲置时再执行实际的数据写入或读取操作,

启用此策略可提高系统性能,但每次移除移动硬盘前必须在任务栏中手动卸载设备,以通知系统及时转移缓存中的数据。如果没有手动卸载设备或系统,正在后台转存数据时就强行拔掉移动硬盘,则很可能会出现“缓存写入失败”错误,还可能对硬件造成伤害。当然,移动硬盘数据线质量差、抗干扰能力弱、供电不足、硬盘或硬盘盒的硬件故障等原因也会造成“缓存写入失败”。建议你更换质量更好的数据线或硬盘盒,在保证供电正常的情况下对移动硬盘进行读写,如果系统还是会卡或者要恢复数据,可尝试用DiskGenius修复一下移动硬盘的分区表。

多CPU 篇3

喷气织机由开口、引纬、打纬、送经和卷取四大运动机构及相关的辅助装置组成[1]。各运动机构中只有打纬运动可直接通过机械传动实现,其他运动机构及辅助装置都需采用电气控制技术以适应织机的高转速[2]。同时喷气织机的所有动作均与织机的角度密切相关,它对系统I/O信号的响应速度、处理时间、定位停车的位置、电磁阀的开关角度以及送经、卷取系统的控制性能都有非常高的要求。例如,津田驹公司的ZAX-9100系列中的190机型在筘幅为190 cm时,转速达到1 602 r/min。这就意味着其旋转角度是9.612 °/ms,织机角度的控制精度要求达到±2°,同时系统必须在1 ms内完成对储纬器、引纬主副电磁阀、打纬等信号的处理,以及主机和伺服电机的高频编码器信号、张力传感器模拟量信号、探纬传感器信号等诸多开关量和模拟量信号的处理[3]。

因此,喷气织机的电控系统需要采用高性能处理器,且对控制网络的实时性要求也较高,目前国内的喷气织机生产厂家多采用单CPU的主从式多级控制系统,或者基于RS-485的、由16位单片机组成的集散控制系统,存在功能简单、自动化水平较低、故障率较高的缺点,难以满足高速织机对电气控制系统的要求。

本研究提出设计一种采用分布式控制的新型喷气织机控制系统。

1 总体设计

喷气织机电控系统主要实现的功能可以概括为以下4个方面,包括:

(1) 基本动作控制:包括织机的启动、运行、停止并在运行过程中检测织机的各种工艺故障和设备故障,根据工艺要求发出相关指令,控制织机的动作。

(2) 引纬过程控制:主要指对织机的主喷嘴电磁阀、辅助喷嘴电磁阀及挡纱销的协调控制。

(3) 电子送经/卷取的闭环控制:根据织机工艺要求设定参数,计算送经/卷取量和送经/卷取补偿量以及送经/卷取速度,从而控制相应的伺服电机,实现精确送经/卷取,有效防止停车档。

(4) 参数设置、故障报警提示及生产管理统计:详细、准确地提供故障、报警信息,监察织机工作状态,汇集生产管理方面所需信息[4]。

根据“控制分散,管理集中”的原则,采用了分布式控制的设计思想,建立3个独立的控制系统:主控系统(负责基本动作和引纬控制)、电子送经/卷取控制系统(负责电子送经/卷取的闭环控制)、人机界面(负责参数设置和数据存储),如图1所示。

3个系统通过CAN模块通讯,形成了基于CAN总线的控制网络。在织机启动时,由人机界面系统向主控CPU发出启动指令,主控CPU立即发送网络报文对各个系统进行自检,并把自检的必要信息反馈到人机界面上。当织机通过自检后人机界面系统便读取储存在记忆卡里的工艺参数,同时发布网络报文,各个系统开始正常的运行工作,如图2所示。

其中,主控系统根据人机界面发送的请求发送相应的织机状态,实现对引纬和探纬等过程的控制。电子送经/卷取控制系统根据压力控制送经电机,保持在规定的张力范围内,并将压力数据实时传给人机界面,人机界面根据参数设置情况发送请求命令,要求各个系统实时发送相应的数据。控制功能如图3所示。

2 硬件实现

针对不同的控制要求,在系统硬件选择上采用了3个不同的控制核心,都是支持精简指令集(Reduced Instruction Set Computer, RISC)的32位单片机,均带有标准CAN2.0B控制模块,3个系统都配有带隔离的高速CAN收发器芯片TJA1050,该芯片内部集成了所有必需的CAN隔离及CAN收发器件,简化了硬件电路。采用自定义的通讯协议及全局广播的通讯方式,使总线上任意节点均可在任意时刻主动地对其他节点发送或接收信息。

2.1 主控系统

主控系统的控制核心采用Freescale公司的MCF5216芯片。MCF5216芯片基于ColdFireV2内核,支持RISC指令集,在以80 MHz时钟频率工作时,最高可达76 Dhrystone 2.1 MIPS,保证了整个系统的通用性和实时性要求。同时具有64 KB SRAM,512 KB Flash ROM和CAN2.0模块,在指令存储和通讯上都能满足设计要求,采用BDM(直接)调试方式,可以实时跟踪数据流和指令执行情况,实时调试,对所有片上资源进行操作。

主控系统需要实现的功能主要是织机的基本操作,包括控制主轴电机转速、读取主轴绝对式编码器的信号、控制储纬器选色信号、接收探纬器信号、控制引纬过程中主喷阀和副喷阀的开关。其中的控制方式多为开关量的逻辑控制和传感器信号的读取发送,通过总线发送给其他系统,控制过程相对较为简单,但由于喷气织机独特的气流引纬方式,对主喷阀和副喷阀的实时控制要求非常高。同时主控系统需要和其他两个系统通信,对送经/卷取系统发送控制信号,执行人机界面的参数设置,及时反馈织机的整体运行情况。

在实际的设计过程中,采用一块CPLD芯片进行I/O扩展,充分利用MCF5216的55个通用I/O实现各种信号的读取和发送。系统结构简要框图如图4所示。

2.2 电子送经/卷取控制系统

电子送经/卷取系统采用ARM7构架的LPC2294作为主控制器,LPC2294是一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器。通过读取主轴绝对式光电编码器反馈的信号来判断主轴的位置,LPC2294内嵌的A/D模块对经纱张力进行采集,然后计算出一个周期内张力的平均值作为经纱张力的实际张力,与设定的张力进行比较,并通过模糊参数自整定PID控制算法得到一定频率的脉冲信号,以控制送经伺服电机的转速,确保经纱张力的动态恒定。采用外扩64 KB的SDRAM来存储送经和卷取系统的运行信息以及张力、纬密等设定的参数值,通过CAN实现织机主控系统和人机界面之间的信息通讯,对纬密、张力值等参数进行设置,并显示系统信息。系统的硬件结构如图5所示。

2.3 人机界面

人机界面主要包括控制板和触摸屏,控制核心采用美国Cirrus公司的EP9307芯片,主频200 MHz,ARM920T核。人机界面系统是操作人员与织机交互的接口,用于监控织机的织造状态,并提供用户输入织机相关织造数据的界面,同时,利用ARM9内核强大的数据处理能力、计算能力和海量的存储能力,加入生产管理统计功能,可实现对工作状况、落布情况和班组效率等的记录。

3 基于CAN总线的通讯设计

3.1 基于CAN总线通讯协议的实现

CAN现场总线是为适应多控制器或多传感器之间的通讯需求而产生的串行通讯局域网络。具有通信速率高、实时性好、纠错能力强、传输可靠性高等特点[5],能适用于分布式控制型高速喷气织机的整体系统。CAN通讯协议分为3层:物理层、数据链路层、应用层。本设计的依据是CAN 2.0B规范,但CAN 2.0B规范只定义了网络的物理层和链路层,没有设计网络的应用层。本研究采用面向对象的、模块化和标准化的系统设计方法,遵循标准ANSI C语言,编写了适用于本电控系统的应用层通讯协议。

根据CAN 2.0B规范,系统通讯协议的帧格式为29位标识符的扩展格式报文,即ID为29位。一包帧由帧信息、帧ID、帧数据组成。

(1) 帧信息。帧信息由数据长度代码(DLC)、远程发送请求位(RTR)、帧标识符(FF)组成。

当接收到的帧的数据长度代码(DLC)表示的数据个数小于8或不等于8时,这一帧作为无效的帧处理。远程发送请求位(RTR)等于1,即接收到了一包远程帧,则这一帧作为无效帧。帧标识符(FF)等于0,即接收到了一包标准帧,则这一帧作为无效帧处理。

(2) 帧ID。一个29位扩展帧的ID定义方式如表1所示。

定义了6位地址ID,理论上本协议可以最多支持26H(64)个CAN设备。考虑到干扰问题,不推荐使用地址ID00,地址ID63作为广播ID使用,不推荐作为设备地址ID使用。本协议可以支持最多62个CAN设备。地址ID编号为1~62。针对本系统的地址ID定义如表2所示。

定义了8位功能代码,不推荐使用0x00功能代码。则本协议支持255个功能代码。定义了9位功能代码参数,根据实际代码定义,如果功能代码里需要参数,不推荐用0x000作为参数。

(3) 帧数据。一包帧里包含8个字节的数据。

3.2 CAN节点驱动的优化

设计CAN节点驱动程序多采用先入先出的算法,先进入缓冲区的信息帧先被发送到总线上。这种设计中高优先级CAN节点的信息帧必须等待缓冲区内未发送的信息帧全部完成发送,才可参与总线占用权的竞争,由此剥夺了高优先级信息帧的权利,影响了通讯实时性。针对这一情况,利用CAN驱动程序改进数据帧调度算法的思想,通过引入发送数据帧调度算法,优化CAN节点驱动实时性[6]。具体优化策略如下:

(1) 对不同的优先级,放弃先入先出机制,采用中断子程序搜索发送缓冲区,使优先级最高(即CAN标识符最小)的信息帧先发送。

(2) 对相同的优先级,各自建立先入先出缓冲区,不同优先级的信息帧放入相应的缓冲区,由中断子程序先从高优先级的先入先出缓冲区中读取信息帧并发送到总线。

4 软件实现和操作系统移植

软件部分移植到μC/OS-II实时操作系统。μC/OS-II是一种免费公开源代码、结构小巧、具有可剥夺性实时内核的实时操作系统,能提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。可剥夺型的实时内核在任何时候都运行已就绪的最高优先级的任务[7,8]。

主要的工作包括:与处理器和编译器相关代码的修改和编写,BSP(板级支持包)的编写。移植过程中需要修改的函数主要是3个文件:OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C中的代码。BSP(板级支持包)是介于底层硬件和操作系统之间的软件层次,负责进行系统启动后最初的硬件和软件初始化,并对底层硬件进行封装,使得操作系统不再面对具体的硬件。针对MCF5216处理器,为μC/OS-Ⅱ编写一个简单的BSP。首先设置CPU内部寄存器和系统堆栈,并初始化堆栈指针,建立程序的运行和调用环境;然后使用C语言设置MCF5216片选地址CS0~CS7,GPIO以及SRAM控制器,初始化串口,在上述初始化操作完成后,就可以把CPU的控制权交给操作系统。

5 结束语

现今喷气织机控制系统正朝着网络化、模块化发展,织机织造速度不断提高,对电控系统的可靠性和实时性也提出更高的要求。本研究提出由主控系统、电子送经/卷取控制系统、人机界面组成的分布式控制系统,根据不同的功能需求独立设计相应的子系统,采用CAN总线将其联系为一个整体。并针对系统特点自定义CAN通讯协议,采用优化的CAN节点驱动,进一步提高整个系统的实时性。

当完成了相应的芯片、电路测试和系统移植代码的测试后,在设计车速1 500 r/min、旋转角度9 °/ms、织机角度的控制精度±2°的要求下对系统进行模拟仿真实验,测试喷气引纬时序,结果表明系统I/O可以达到设计要求,说明该设计具有实时性好、运行稳定等优点,具有一定的应用价值。

参考文献

[1]史伟民.剑杆织机机电控制系统研究[J].机电工程,2003,20(5):185-187.

[2]栾永琦.喷气织机电气控制新概念[J].纺织电气,2006,23(5):66-67

[3]WAHHOUD A,HEHLE J.Method and Apparatus for Com-pensating Warp Thread Tension or Elongation Variationsduring Loom Shedding[M].U.S-Patent-and-Trademark-Of-fice,2000.

[4]张思齐,杜清珍,杨利娟.基于多处理器剑杆织机分布式控制系统设计[J].计算机测量与控制,2005,13(12):1356-1359.

[5]戴国骏,张翔,高申勇,等.基于实时性优化的CAN总线织机分布式控制系统[J].纺织学报,2008,29(1):114-117.

[6]BOSCH.CAN Specification2.0[M].Robert Bosch,1991.

[7]LABROSSE J J.嵌入式实时操作系统μC/OS-Ⅱ[M].2版.邵贝贝译.北京:北京航空航天大学出版社,2003.

多CPU 篇4

一、挂起模式造成CPU烧毁

一般的系统挂起并不会造成CPU烧毁,系统会自动降低CPU工作频率和风扇转速来节省能耗。而挂起模式造成CPU被烧毁,均是超频后的CPU。这全都因为风扇停止运转造成的。主板上的监控芯片除可以监控风扇转速外,有的还能在系统进入Suspend(挂起)省电模式下,自动降低风扇转速甚至完全停止运转,这本是好意,可以省电,也可以延长风扇的寿命与使用时间。过去的CPU处于闲置状态下,热量不高,所以风扇不转,只靠散热片还能应付散热。但现在的CPU频率实在太高,即使进入挂起模式,当风扇不转时,CPU也会热得发烫。

这种情况并不是在每块主板都会发生,发生时必须要符合三个条件。首先CPU风扇必须是3pin风扇,这样才会被主板所控制。第二,主板的监控功能必须具备FanOffWhenSuspend(进入挂起模式即关闭风扇电源),且此功能预设为On。有的主板预设On,甚至有的在PowerManagement的设定就有FanOffWhenSuspend这一项选项,大家可以注意看看。第三,进入挂起模式。因此,现在就对照检查一下自己的电脑吧。

二、CPU针脚接触不良,导致机器无法启动

一般表现在突然无法开机,屏幕无显示信号输出,排除显卡、显示器无问题后,拔下插在主板上的CPU,仔细观察并无烧毁痕迹,但就是无法点亮机器。后来发现CPU的针脚均发黑、发绿,有氧化的痕迹和锈迹,便用牙刷对CPU针脚做了清洁工作,然后问题就解决了。

故障的原因可能是因为制冷片将芯片的表面温度降得太低,低过了结露点,导致CPU长期工作在潮湿环境中。而裸露的铜针脚在此环境中与空气中的氧气发生反应生成了铜锈。日积月累锈斑太多造成接触不良,从而引发故障。此外还有一些劣质主板,由于CPU插槽质量不好,也会造成接触不良,很多资料上都有此问题,最好的办法就是自己手动安装和固定CPU!

三、低温工作也能烧毁CPU

在书上看过这样一个案列:《将台式机CeleronⅡ566处理器运行于标准频率下(没有超频),通过电吹风加热到55摄氏度(利用主板温度监测功能得到),只要运行CPU占用率高的程序,一会就死机;而把CeleronⅡ566超频到850MHz,系统温度为50摄氏度左右,运行QuakeIII十多分钟才死机。估计此时温度已经超过55摄氏度,而其内核的温度通过实测,发现已达到86.4摄氏度。后来发现CPU在这样的低温下运行差一点就烧毁了。

这是主板检测到的CPU温度迷惑了我们。其实现在台式机主板报告的CPU温度根本不是其内核温度,因为台式机主板常见的测温探头根本就没有和CPU散热片或CPU接触,测量的只是CPU附近的空气温度。这才造成不少CPU在看似低温的情况下烧毁。从Intel公布的数据来看,PentiumⅢ550E的温度极限在85摄氏度,PentiumⅢ800E的极限温度在80摄氏度左右。如果大家丧失警惕,偏信主板的报告,以为自己的CPU还运行在低温状态下,那就大错特错了。

但是笔记本电脑不会出现这种差异,笔记本中对CPU测温采用的是热敏电阻,测温点在CPU底部,如果直接读数,温度并没有这么高,而其显示的监控温度经过了校正,比测量的温度高,这样就更加接近CPU的内核温度,

所以大部分笔记本测试的CPU温度是内核温度,不会出现低温下烧毁CPU的情况。

四、CPU频率常见故障

摘抄:有一台电脑的CPU为AthlonXP1600+,开机后BIOS显示为1050MHz,但正常的AthlonXP1600+应为10.5倍频133MHz外频=1400MHz主频。在BIOS中发现外频最大只能设置为129MHz,拆机发现主板的DIP开关调到了100MHz外频,于是将其调为133MHz外频,开机后黑屏,CPU风扇运转正常。反复几次均是如此,后来再把主板上的DIP开关全部调为Auto,在默认状态下,系统自检仍为1050MHz。怀疑内存和显卡等不同步,降内存CAS从2改为2.5,依然无法正常自检;又将AGP显卡从4X改2X模式,开机恢复正常。

故障分析:后来经过证实,此用户的显卡版本比较老,默认的AGP工作频率是66MHz(在100MHz下,PCI的工作频率为1003=33.3MHz,AGP则是PCI2=66.6MHz,在133MHz外频下AGP的频率为13332=88.7MHz),因为AthlonXP所使用的133MHz外频,AGP的工作频率随即提升至了88.7MHz。因此,显示器黑屏显然为显卡所为,将显卡降低工作频率后,系统恢复正常。

在网络上见到由于CPU频率不正常而引起的故障,早期的一些PentiumⅢ或Athlon主板都是默认100MHz外频,而现在新核心的CPU均是133MHz外频。这样在主板自动检测的情况下,CPU都被降频使用,一般往往也不被人所发现。遇到此类情况只要通过调整外频及显卡或内存的异步工作即可。

五、电脑性能下降

如果P4的电脑在使用初期表现异常稳定,但后来性能大幅度下降,偶尔伴随死机现象。那么如果使用杀毒软件查杀无发现,用Windows的磁盘碎片整理程序进行整理也没用,格式化重装系统仍然不行,那么请打开机箱更换新散热器。

P4处理器的核心配备了热感式监控系统,它会持续检测温度。只要核心温度到达一定水平,该系统就会降低处理器的工作频率,直到核心温度恢复到安全界限以下。这就是系统性能下降的真正原因。同时,这也说明散热器的重要,推荐优先考虑一些品牌散热器,不过它们也有等级之分,在购买时应注意其所能支持的CPU最高频率是多少,然后根据自己的CPU对方抓药。

六、不断重启的主机

一次误将CPU散热片的扣具弄掉了。后来又照原样把扣具安装回散热片。重新安装好风扇加电评测,结果刚开机,电脑就自动重启。检查其它部件都没问题,按照常规经验应该是散热部分的问题。有可能是主板侦测到CPU过热,自动保护。但反复检查导热硅脂和散热片都没有问题,重新安装回去还是反复重启。更换了散热风扇后,一切OK。难道散热片有问题,经反复对比终于发现,原来是扣具方向装反了。结果造成散热片与CPU核心部分接触有空隙,CPU过热,主板侦测CPU过热,重启保护。原来CPU散热风扇安装不当,也会造成Windows自动重启或无法开机。

CPU随着工艺和集成度的不断提高,核心发热已是一个比较严峻的问题,因此目前的CPU对散热风扇的要求也越来越高。散热风扇安装不当而引发的问题相当普遍和频繁。如果你使用的是Pentium4或Athlon之类的CPU,请选择质量过硬的CPU风扇,并且一定注意其正确的安装方法。否则轻辄是机器重启,重辄CPU烧毁。

浅谈中国CPU 篇5

中国需要发展自己的CPU, 这已经是一个能够形成主导意识的认同。但是, 中国如何发展自己的CPU, 这仍然是一个没有形成抉择定论的悬案。我们有时象蜗牛一样守成和慢进。当我们迫切希望发展自已的民族信息产业的时刻, 我们一直还处于统一认识、形成抉择的争议中。我们一直还处于方案研讨、风险分析的原始阶段。CPU与系统软件和网络标准是计算机工业中利润和技术最高的产品, 守成和慢进会使这些高技术和高利润的产品离我们越来越远。面对落后与先进的差距, 我们要学习, 要深刻反省。如果我们不更新观念, 不思进取、马马虎虎的说话、办事、作为, 不用说强大 (占领市场) , 就连做到貌似强大也十分困难 (一席之地) 。只有理解共产党宣言中的真理, 只有深入学习毛泽东《论持久战》的精髓, 才能有正确的思考, 才能有正确的路线, 才能有正确的组织。本文的观点, 旨在供全国同行的批判。

2. CPU三大分类

若从功能粗分, CPU可以被分为通用型CPU、嵌入式CPU与专用型CPU三类。

通用型CPU

通用型CPU是指用于PC的X86系列 (Intel) 等, 及最尖端用于工作站、伺服器的Ultra Sparc (SUN Microsystem) , Alpha (DEC) , Itanium (HP+Intel) 系列等。这些CPU通常采用32位或64位指令, 由宠大的研发团队 (500人至2000人) 设计, 采用了全球最尖端的微处理器体系结构与电路设计技术, 使用最先进的半导体工艺 (如0.13微米-0.18微米) 制成, 工作时钟频率可达1GHZ-2GHZ。售价在几百美元至几千美元之间。它们有着最流行的操作系统 (如Windows, Unix等) 作支持, 有着最多的程序员为此开发应用程序, 也有着全球最多的使用者。

嵌入式CPU

嵌入式CPU是指那些用于非计算机类产品 (如通讯产品, 消费类产品及军用产品) 的CPU。它们以独立集成电路芯片的形式存在, 或作为内核被集成到系统级芯片 (SOC) 中。与通用型CPU相比, 它们并非追求最高的性能, 而是“够用就行”。它们通常使用主流的半导体工艺 (如0.25微米-0.5微米) 制成。指令在4位到64位之间, 工作时钟频率在几KHZ到几百MHZ之间, 而售价在几十美分到几百美元之间。这类CPU所含盖的范围非常之广, 如广泛用于工业控制家用电路的Z80, 8051, 6502等;用于手机的ARM等;用于游戏机的MIPS等;都是其典型代表。使用这类CPU的嵌入式系统有可能需要开发自己的操作系统, 也可以使用现有的操作系统 (如Win CE、Linux、Palm OS、Vx Works等) 作移植, 或是根本不需要操作系统。这类CPU通常采用传统的指令集。新产品一般是仅在性能, 功耗与成本上超越同型旧产品。

专用型CPU

专用型CPU是指那些为了某种特定的应用而设计的并为这些特殊应用而将内部体系结构与指令集作了专门优化的CPU, 如用于多媒体应用的媒体CPU (Media Processor) 用于路由器等网络通讯产品的网络CPU (Network Processor或称NPU) , 及用于网络安全保障, 数据加密解密的安防CPU (Security CPU) 等。这类CPU的特点是历史短, 发展快, 变化多, 受专利保护、操作系统的限制少。其技术层次属于中高档, 并非尖端, 可用主流半导体工艺制成。售价通常在几百美元。时钟频率为几百MHZ。

CPU已发展成为全球信息产业的支柱及核心中国CPU的发展

3. 中国CPU的发展现状

3.1 尚处于起步阶段

众所周知, 中国半导体工业落后国际水平甚远, 但随着近几年国家对集成电路产业的进一步推动, 国内同仁也取得了可喜可贺的成果。如几家企业与科研机构研制成的32位RISC CPU, 时钟频率可达200-266MHZ。但与世界先进水平相比, 我们的差距仍是非常大的。

3.2 发展中国CPU的必要性

在我国, 该不该做C P U?这是我国研究、开发、应用C P U的一个前提性问题。

我认为, 只有一个回答:该做!

从国际的总体视野上看, 随着经济的演进、技术的发展、社会的进步, 致使国家核心竞争力的构成要素正在发生根本性的变化。信息技术已经成为一个经济时代转变的直接推动力, 信息产业已经成为一个发达国家强盛的支柱产业。作为信息产业的基础, 计算器业的迅速发展是信息技术进步的显著标志, 其中C P U是关键所在。正是如此, C P U的设计技术始终被美国等个别国家所垄断、控制和封锁。

从国内的具体视野上看, 中国信息产业的发展, 一直是「受制于人」, 发展中国的C P U, 已经关涉到信息技术的突破和信息产业的跃升, 已经关联到信息安全的可靠和国家安全的保障, 已经关系到国家核心竞争力的提高和国家持续发展力的增强。正是如此, 发展中国的C P U, 绝不是我国的一个一般性问题, 的确是我国的一个战略性问题。

所以, 就发展中国的C P U所具有的重大意义而言, 对于该不该做C P U的问题, 毋庸置疑, 无须争论, 非做不可。

3.3 发展中国CPU的可能性

我国的芯片研发工作已经出现一个明朗的走向。

第一, 在基本的认识上, 正在不断地趋同。从初始的技术角度, 开始进深、提升、扩展到一个战略的全新视野。

第二, 在国家的意志上, 正在不断地强化。从「十五」计划开始正式将C P U研发工作列入重要位置与议程。

第三, 在技术的积累上, 正在不断地充实。

第四, 在机制的保障上, 正在不断地建立。无论是国家政策的扶植、市场经济的激励、社会舆论的促动、创新意识的强化、风险投入的发育、研发工程的组织、个人利益的保证、运作管理的科学等关联方面, 都在不断地改革、调整、更新, 进一步有利于发展中国C P U工作的开展。

因此, 发展中国C P U, 并逐步实现产业化, 已经具备一个有利的时机和良好的基础。

4. 中国发展CPU的前景与策略

本文从宏观与微观两方面来论述自己的观点, 希望提出一些想法与大家分享, 并共同探索一条适合中国国情的发展之路。

1.宏观

宏观方面也就是战略上, 我们应从以下两个方面着手。第一, 建立一个长远的、持续的培育、扶持、发展计划, 并注意全盘布局。第二, 遵守市场规律, 以产品养活技术, 以技术推动产品。

中国发展CPU急待国家大力支持

CPU是一个门槛高、难度大、投入多、见效慢的项目, 不是普通中小型企业有能力做的。

但由于它是所有计算机、通讯产品、消费类产品的核心, 所以我们应当要下大决心, 花大本钱, 做大计划。以六十年代美国总统肯尼迪下决心发展阿波罗登月计划为例, 此计划耗资巨大, 历时数年, 取得了前所未有的成果, 也对美国集成电路技术起到了至关重要的推动作用。此后许多军用技术转为民用, 致使高科技走入百姓, 一定程度上改变了人类生活的方式, 也使美国半导体技术领先于全世界长达三十年之久。以此为鉴, 发展中国CPU技术, 要做大格局, 组大团队, 立大项目。要做长远规划, 持续运作。要在指令集、内核体系结构、设计实现方法、编译与汇编系统、操作系统等各方面作全盘布局。要对有潜力的团队、企业做必要的扶持, 帮助一条条小鲤鱼跨越龙门, 进入市场经济的大海。

2.微观

发展自主知识产权的CPU必须攻克三大堡垒

微观方面也就是战术上, 我们应该先攻设计技术堡垒, 在专用型CPU和嵌入式CPU上找突破口。面对三大堡垒, 若一时无法攻破全部, 要避难就易, 各个击破。

5. 克服浮躁心理, 打造“中国芯”

21世纪的世界给了我们机会, 我们已经认识只有原始创新才会给我们希望, 然而, 如果我们这个科学技术赖以生存的社会环境 (社会环境是哺育科学的摇篮, 政治体制、经济政策、人才政策、生态政策, 法制及法律意识、智慧及知识产权等等, 构成了社会环境。) 因浮躁和虚假, 造成毁坏, 就仍然会使我们陷入仅有知识而无文化, 仅有研究而无创造, 仅有产品而无市场, 仅有工作而无责任, 仅有合作而无信任……的氛围中, 这完全不能使我们免于在信息产业的发展中造成科学技术的浩劫和绝望的。

在发展CPU的问题上, 是持久战, 还是速战速决, 是做发明者, 还是做模仿者。这不是问题的关键, 商场如战场, 这是商家历经残酷的竞争而比喻的恰如其分的事实。在军事上, 浮躁寓意着骄兵必败!为了能在科学上得到应用, 在市场上得到推广, 在竞争中获胜, 关键是必须避免出现浮躁的表现、虚假的概念。克服浮躁的情绪和表现, 是中国IT界的首要问题。

参考文献

[1]http://www.chinatech.com.cn/TechForum/TechForumHtml/techindustry/20021205.05002.htm.[1]http://www.chinatech.com.cn/TechForum/TechForumHtml/techindustry/20021205.05002.htm.

CPU芯片的散热问题 篇6

在计算机的多年使用过程中对于“AMD公司的CPU散热问题远比INTER公司的严重”一事我早有耳闻,也遇到了此问题,但幸运的是我已彻底解决了它。本文将解决的过程与方法做了一个完整的介绍,并提出了比较可行的解决方案。

两年前,笔者自组装了一台家用台式电脑,采用的是AMD公司的CPU芯片,型号为AM2-5000+。在历经寒暑的一年多时间里,工作一直正常。直至一年半后,也就是过了2010年春节,常有莫名的自动关机现象发生。若强行再启动,不一会儿又会自动关机。经检查确认,是CPU温升过快所致。因还在三年保修期内,我找到了销售公司。公司回复:可将CPU拿回生产厂家去检查和维修,但时间至少要一个月。笔者犹豫起来,CPU已经封装好了,怎么可以再打开维修?而且时间长达一个月。如果更换一块同样的芯片,谁能保证不会“故伎重演”?如果换成INTER芯片,那么连主板也得换,开销太大了!

左思右想,笔者决定拿回来,自已想办法。

当然,首先想到的是CPU和散热片的耦合不良。这可以通过研磨散热片和CPU接触的底面,使其光洁而平整,再少量均匀地使用硅脂,以将热阻降至最低来解决。可无论怎样下功夫,情况并没有改善。四处请教,都说得换风扇和散热片。于是,笔者将市面上能买到的高、中、低三档散热片和风扇买来,轮番上阵,问题仍然得不到解决。

虽然故障频频发生,一时还没有对策,但笔者坚信:解决办法一定会有的!

一天,故障又出现了,自动关机了!笔者打开机箱侧板,将风扇、散热片一一拆下,同时也将CPU从主板的插座上拔了下来。对风扇、散热片、CPU、CPU插座、主板五个部分安装的位置和特点、之间的距离和电脑工作时它们可能的排风通道、散热状况等等,仔仔细细地彻彻底底地观察和研究了一番。

这时,一个现象引起了笔者的注意。为什么CMOS参数上显示CPU温度已高达170多度(即将发出“自动关机”指令了),而此时手触CPU散热片,却并没有那种灼热得几不可触及的感觉?CPU的温度和散热片上部片状散热片的温度竟相差近百度!

原来如此,尽管有了散热片和风扇,但身处散热片底面下与主板之间的CPU发出的热量,并没有及时排出,致使CPU发出的大量热积聚在(散热片与主板之间的)CPU的周围宽约10厘米狭小的巷道里,这必将导致“即使风扇和散热片的功能再好,也无法排解CPU的温升问题”的奇怪现象!

通过分析,问题的关键就归结到了一点:如何将风扇吹出的风,穿过散热片的底面,直接到达风扇下底面、CPU和主板三者形成的宽约15毫米的狭小的巷道?

观察市面上卖的及CPU厂家出厂时配的CPU风扇和散热片,几乎无一例外的都是散热片和CPU接触的底面是一个完整的平面,上面没有任何通风孔,导致风扇的吹风只能为散热片上表面片状体散热,而散热片和CPU相贴的那个下底面,却永远吹不到风。这样风扇再强又如何!

我们不能假定散热片的热传导能力为无穷大!无论我们怎么做,也不能使CPU发出的热都能及时传导到达散热片的上部而被吹风带走。事实证明:还有大量的热积留在CPU周围的巷道里———这就是导致“虽有强劲风扇,而CPU却常有过热停机现象发生”的真正原因!

另外,CPU紧紧贴压在主板上的(专用)插座上,其腹部和插座之间没有一点间隙,这对CPU的散热也十分不利!如果能在其间制造出一点间隙,那怕是一条很小的间隙,那对CPU的散热也将十分有利的!

问题找到了,解决的办法也就有了。

1、在散热片的底面上与CPU接触区的两个外侧,各打三个直径为6毫米的孔(见图1)。以使风扇的吹风能经此6个小通风孔,穿过散热片的底板,直达CPU表面。这将使积聚在CPU周围(难以排走的)热空气得以吹散。

2、CPU的底面有许多均匀布置的插脚,但接近中间部位处有四个由于各缺少一个脚而形成的长条形“缺口”,这四个“缺口”呈不规则的四边形围绕芯片中心分布(见图2)。我们在这四个缺口中各放置一块大小适当、厚度恰当的薄膜块,再插到主板插座上,这样一来,在CPU和插座之间,就形成了一个宽度适当的小间隙。薄膜块不能太厚,否则,易导致CPU与其插座接触不好,使整机工作不正常,甚至无法工作。当然,若薄膜块太薄,则达不到所希望的散热效果。经反复多次试验,确定其厚度为0.4毫米。亦即:小间隙的宽度等于0.4毫米时,在确保其正常工作的前题下,CPU的散热效果是最好的。

最后,笔者又用最低档的CPU风扇和散热片作了实验。结果证明:只要采用了以上两项措施,质量差一点的低档风扇同样能在夏天炎热的气温下,确保CPU的正常工作。看来,花大价钱买高级风扇以图解决CPU的过热问题,倒成了一个多余的侈奢!上面的两个办法并用,可使电脑即使在炎热的夏天长时间使用,也不会再出现因CPU过热而引起停机的问题。

这就是笔者的收获,请大家借鉴。

此项研究成果是一场技术革新,对CPU主板的制造厂家也有启示作用,可以在改进CPU主板散热结构的同时,减少散热片体积和面积,降低风散功率,从而提高经济效益。

参考文献

[1]刘红玲.计算机组成原理[M].北京:中国电力出版社2008年1~288页.

银行CPU卡应用方案 篇7

如名片般大小的各类银行卡片在今天的生活中几乎是随处可见,这些卡片都是用塑料制作,尺寸都一样,除了相关的专业人员外,人们很少关心银行卡的原理与数据安全性。 虽然人们都在使用银行卡,但是有很多人不能正确使用银行卡,导致自己的银行账户被盗现金丢失。 究其原因,有两个方面:一方面是银行卡使用人不了解现有磁卡的相关技术特点, 另一方面是银行使用的磁卡技术不够安全。 本文认为主要的原因是磁卡技术落后。 为了保障用户数据安全,本文建议银行应该采用CPU卡取代现有的磁卡,在银行系统淘汰磁卡。

1现有银行卡的应用原理

银行磁卡是以液体磁性材料或磁条为信息载体, 将液体磁性材料涂覆在卡片(如存折)上或将宽6~14mm的磁条压贴在卡片上制成的。 银行磁卡与日常生活中的各类会员磁卡的区别在于上边涂抹或粘贴磁条的抗磁性不同, 银行磁卡用的是高抗磁性材料,普通磁卡用的是一般抗磁性材料。 其他的没有区别,在磁卡上都具有3个磁道。根据ISO 7811/2标准规定,第一磁道能存储76个字母数字型字符, 并且在首次被写磁后是只读的;第二磁道能存储37个数字型字符,同时也是只读的;第三磁道能存储104个数字型字符,是可读可写的,银行卡用以记录账面余额等信息。 3个磁道在卡上的位置在国际标准ISO 7811/5中被严格规定。 3个磁道上都能存储信息,如工商银行用一、三磁道, 建设银行用二、三磁道。 鉴于磁卡的通用性,犯罪分子完全可以用几张普通的会员卡复制成银行卡到自动提款机上取钱。 于是就出现了许多在提款机上安装设备盗取他人信息的违法犯罪行为。 银行磁卡上只存储了用户的账号,用户密码都是存放在银行系统的中心数据库中。 犯罪分子的作案手段就是安装假自动取款设备,用户将卡插入机器后,卡号可以被读取并保存,输入的密码同样也可以被保存。 之后犯罪分子就可以使用保存下来的信息复制用户的账号,使用密码来提取现金。 由此可见,磁卡的数据安全性实在太差,改进现有的银行卡势在必行。

2CPU卡的应用原理

CPU卡也称智能卡, 卡内的集成电路中带有微处理器CPU、 存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM) 以及芯片操作系统COS。 装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。 由于芯片本身具有计算能力、程序储存能力和操作系统,所以在应用开发中可以将应用程序的一部分放在卡片中执行,另一部分在计算机中执行,这样开发的应用系统就更加安全可靠。 首先卡片上的执行程序是芯片商写入的。 一般人员是不能改变的,这样可以使卡片不能复制,增加了卡片的安全性。 另一方面每张芯片都具有唯一的硬件编号,如果将芯片的硬件信息利用到系统应用中,会大大地提高应用系统的安全性。 目前应用的软件狗大多采用该技术进行软件版权保护,只不过软件狗插在计算机的USB接口上,而CPU卡是通过电磁波驱动的无源卡,在外形上与日常使用的公交IC卡完全相同, CPU卡使用的芯片比IC卡使用的更为高级,CPU卡中的芯片具有运算能力、程序存储能力、操作系统和数据存储能力,而IC卡所使用芯片只具有数据存储能力。 但是无论是CPU卡还是IC卡,都是通过一定频率的电磁波驱动为芯片提供能量,使芯片完成计算及处理操作。

3CPU银行卡的解决方案

鉴于CPU卡的特点,银行采用CPU卡进行交易处理时应该从以下几个方面入手来改进业务处理方法。首先将银行业务处理分成两个部分:一是卡片身份识别部分,二是银行账务处理部分。卡片身份识别可以采用银行系统计算与卡片自身计算相结合的办法实现。卡片身份识别可以充分利用CPU卡的自身资源,有效提高卡片使用安全性,结合方案可对CPU卡各组成部分进行功能划分,见表1。

这样可以将卡片身份认证程序存储在CPU卡的程序存储区,在外部命令的作用下,卡片上的程序就可以利用卡片的CPU (中央处理器)进行认证计算。 而芯片的数据存储器则可以存放芯片CPU运算结果以及用户账户、账户余额、上次交易时间等信息。

另外在每张CPU卡的芯片上都具有出厂后唯一的序列号, 就像每个主板具有唯一的编号一样,卡片身份识别可通过银行终端机器上的读卡器,启动存储在CPU卡上的身份认证程序,身份认证程序可利用芯片序列号及存储在卡上的账号及余额信息计算出一个卡片身份识别码,CPU卡计算得到的卡片身份识别码可以保存在CPU卡的数据存储区供银行终端机对比使用。 银行终端机可以根据卡上的账号,从中心数据库中查询到卡片的芯片序列号、账户余额等信息,然后利用终端机计算出另外一个卡片身份识别码。 然后终端机可以将两个卡片身份识别码进行对比。 如果两个卡片身份识别码一致, 表明所使用卡片为银行发布的CPU卡,然后可以进行下一步的账务处理。 如果两个卡片身份识别码不一致, 说明所使用卡片为非法卡片或是卡片受损不能使用,银行系统将拒绝进行账务处理(也就是不能办理业务)。 卡片身份识别流程如图1所示。

银行可通过专用设备将卡片CPU身份认证程序写到芯片的程序区中, 在进行卡片身份认证时通过银行终端的机器向CPU卡发出执行身份认证的指令, 此时卡上的认证程序利用卡上硬件信息及存储的数据信息,CPU卡上的CPU (中央处理器) 计算得到卡片身份识别码。 同时银行终端利用通过卡上的账户信息查询中心数据库,如果在中心数据库中查到相关信息,银行终端就利用查询到的信息进行卡片身份认证计算得到另一个卡片身份识别码,最后银行终端系统将两个卡片身份识别码进行对比,如果相同说明卡片身份正确,系统可进行业务受理。 如果不相同,说明卡片身份不正确,系统不能进行业务受理。 账务处理时,在将账户余额、处理网点、时间等信息再写入中心数据库的同时,将这些数据写到CPU卡的数据存储器中。 这些数据可以在下次卡片认证时使用。

本文提出的银行CPU卡应用解决方案与现在银行磁卡解决方案相比,银行CPU卡应用方案中,增添了卡片身份认证环节。 卡片身份认证由卡片CPU与终端机分布计算完成。 由于卡片中身份认证用到了独一无二的芯片硬件信息和账户等动态信息,在芯片上还写入了特定的卡片身份认证程序,而且芯片序列号没有相同的, 所以CPU卡复制后按照原有的认证程序在卡上算出的卡片身份认证码就不可能与终端系统算出的认证码相同,复制后的CPU卡就不能通过卡片身份认证,就不能使用。 因此该方案具有较高的数据安全性。

开放,改变服务器CPU格局 篇8

在1978年英特尔推出第一代x86架构处理器8086中央处理器的时候,没有人会想到这个小小的芯片会在后来承担多么重要的角色,会对社会发展、IT产业产生多么大的影响,从英特尔8008处理器中发展而来的8086处理器,当年只是英特尔硅芯片工程的一个“成功案例”。

三年后,8086出现在首款个人电脑上,随后的几年,x86架构开始成为个人电脑的核心,成为PC行业的最难以撼动的核心标准平台。之后在服务器市场后来三十年的发展过程中,x86产生了不可磨灭的影响,并最终造就x86服务器市场成为了全球最为庞大的IT产品市场。4.445 x 48.26cm x 60cm这个数字从此也变得具有了真正意义。因为,这是工业标准服务器1U高度服务器的标准尺寸,而正是x86服务器掀起了工业标准服务器统领服务器市场的浪潮。

究其原因,x86处理器自出生就带有开放与标准化的基因,加上带领x86进入数据中心市场的英特尔以开放、标准化的策略,吸引服务器厂商与ISV的支持,开放的架构促成了产品多样性和迅速攀升的市场占有率。

如今,在目前服务器主流市场中,x86架构全球出货量高达95%,营收也超过70%。这对排名第二的以POWER为CPU的IBM Power小型机市场形成了巨大压力。此外,来此硬件采购市场的变化也对Power小型机产生了压力。很多大客户尤其是互联网巨头们已经明显的将其硬件采购的注意力转向了来自亚洲的ODM (原始设备制造商)所设计的定制化低成本服务器产品。面对标榜高端多路优势的x86服务器,2013年8月,IBM决定开放POWER处理器和系统技术的使用与修订。其实早在2012年.IBM便开始探索POWER技术的新方向。情况很快表明,如果仍然完全保留独占权,其他公司不会再基于IBM的技术构建计算系统,这一决定最终使得OpenPOWER基金会应运而生。

OpenPOWER成绩单

OpenPOWER基金会2013年12月由IBM、谷歌、英伟达.Mellanox和Tyan五家发起。发起企业从互联网企业横跨各类硬软件企业。联盟意在吸纳硬软件商,以提供“多一个选择”的姿态挑战目前市场主导的英特尔x86服务器市场。

根据官方数据,OpenPOWER基金会目前已经在22个国家拥有110多个企业,组织和个人会员。实际上,自从2014年4月OpenPOWER基金会举行第一次公开活动以来,基金会的成员已经增至110多个,并且会员们正在协作攻关100多个创新项目。基金会的迅猛扩大带来了有重要意义的影响,至今已经在全球形成数十个创新和由基金会及其成员们宣布的一系列市场推介,部署和定制计划。

在中国,2014年1 0月28日,中国OpenPOWER技术产业生态联盟宣布成立,IBM与苏州中晟宏芯、南大通用、江苏产业技术国际研究院、江苏有线研究院、无锡中太签订合作协议,这些企业成为联盟成员后将推动POWER芯片在国内市场的应用。

2015年6月10日,在成立一年之后,OpenPOWER中国生态联盟在OpenPOWER基金会中国高峰论坛上交出了自己的成绩单。OpenPOWER代表英伟达公司全球副总裁潘迪在论坛上总结了联盟成立18个月来做的大事:2013年7月,IBM公开了42万条代码、11月发布CAPI (计算机应用程序设计接口),10月在美国拿到了3亿美元的超算项目大单,而超算领域此前一直是英特尔的强项。此后又在英国接下3.13亿英镑的大数据研究项目。

在2015 OpenPOWER中国高峰论坛上,多家OpenPOWER基金会成员企业还宣布了创新成果,包括中国第一款POWER芯片CP1、第一款基于CP1的中国厂商自主研发生产的两路OpenPOWER服务器RedPOWER、用于大规模云服务的OpenPOWER定制机OP-1X、基于POWER8计算技术研发的新云东方NL2200服务器等产品及解决方案。

OpenPOWER中国生态圈

工业和信息化部电子信息司司长刁石京在论坛上谈到,工信部一直积极推动产业界各方在相关领域开展深入的合作和交流,北京市、江苏省以及众多一流企业都积极加入到合作中来。通过各方一年多的努力,合作已经取得了可喜的进展,相关的芯片、服务器以及板卡等多种产品初具雏形。他希望各方进一步深化合作,推动在该领域的持续发展,继续产业的创新,为整个国民经济的转型升级作出新贡献。

在谈到OpenPOWER基金会的进展,以及中国POWER芯片CP1和国产本地化服务器的成功发布时,江苏省经济和信息化委员会党组成员、副主任龚怀进表示;“中国的信息产业,要实现跨域式发展,必须通过开放协作才能完成,而站在巨人的肩膀上则有利于实现这一突破。”

一方面面对x86架构的市场竞争,一方面面对信息安全与国产化要求,IBM选择了开放。而对于中国政府来说,核心芯片技术也成为中国发展新一代信息技术关键路径上的一个短板。产业进口依赖、棱镜门事件再次对IT硬软件的整体安全提出挑战。自主、安全和可控成为政府信息管理的基本逻辑。一边要技术国产化,一边希望扩大生态圈,中国和OpenPOWER的合作可谓是各取所需。

这次会议是IBM大中华区董事长陈黎明的首次公开演讲,他表示,近年来,国际经济、科技发展的主旋律演进为开放、合作。IBM洞察到这些趋势,提出了中国合伙人战略,期待与中国产业合作伙伴一起努力共赢。他说,Power只是IBM与中国科技产业合作的第一步,未来还有更多的合作空间。

OpenPOWER基金会总裁Brad McCredie表示:“在全球范围内,包括移动、社交、大数据分析等众多新兴的负载需求对于IT业提出了全新的挑战。现有的芯片以及其生态系统已经无法满足这样的挑战。对此,OpenPOWER基金会成员积极合作,以推动设计创新,开发具备差异化的产品。OpenPOWER基金会会迅速扩大的OpenPOWER生态系统,为科技行业提供了市场急需的产品以及具有高性价比优势的解决方案。”

开放的较量

OpenPOWER通过开放让联盟成员和自己一起拼市场,中国的上述企业已经牢牢站在了OpenPOWER的阵营里,向英特尔X86发出了挑战。

不久前英特尔宣布以167亿美元收购FPGA全球第二大厂商Altera。Altera公司主要制造可反复编程的逻辑器件(简称FPGA)芯片,这是一种集成化电路,能够在制造完成后进行预配置以执行一系列任务,而且自2013年以来其芯片产品一直由英特尔公司的代工厂负责制造。FPGA反应了企业级芯片的重要变革方向——芯片定制化。

更重要的是,英特尔公司最近开始将FPGA引入至其至强服务器处理器之上,以作为定制化协处理器使用。举例来说,客户能够对该附加芯片进行编程,从而作为加密、搜索或者压缩与解压加速机制使用。

作为服务器芯片第一大供应商英特尔收购FPGA全球第二大厂商Altera,而FPGA全球第一大厂商赛灵思决定和服务器CPU领域第二大提供商IBM合作,形成了服务器市场的两大阵营。

IBM的Power小型机从原来只搭载Unix操作系统到支持开源Linux,在虚拟化方面也从专有的PowerVM开始支持KVM,以及Doker容器等技术,进一步走向开放,并试图以Power+Linux组合全面覆盖x86服务器市场。

基于CPU实现FPGA远程更新 篇9

1 总体设计

FPGA远程系统更新是指远程通过网络或其他信道将升级软件发送给系统, 嵌入式系统存储这些数据, 然后用这些数据重新配置FPGA器件完成系统升级。首先将本地配置文件转换成适合远程更新的比特流文件, 然后经过网络传输并存储到嵌入式系统存储器中, 嵌入式CPU读取存储器中的配置文件并通过系统PCI总线接口电路发送到配置控制器, 配置控制器将数据生成某种FGPA配置方式, 实现FPGA的配置, 从而实现所需要的功能电路。此系统主要包括远程传输接口、PCI总线接口、配置控制接口电路等。系统通过PCI总线传输配置数据, CPLD接收配置数据后, 生成FPGA加载所需的配置时序, 完成FPGA的加载配置。由于FPGA芯片种类较多, 本系统以Altera公司Stratix II系列为对象实现了FPGA远程升级和重加载。

1.1 FGPA配置方式

FPGA配置的实现方法有很多种, Altera公司FPGA器件数据配置方式主要包括以下四种: (1) JTAG加载方式。通过JTAG信号线接到FPGA上的相应引脚实现程序加载。这种方式工作可靠, 电路结构简单但需要专用的调试电缆, 只适用于系统的开发和调试阶段。 (2) 主动串行 (Active Serial) 加载方式。主动串行加载方式通过FGPA主动读取专用配置芯片中数据, 采用串行方式传输数据, 实现FPGA的程序配置的, 其配置时钟由FPGA内部送出。这种方式实现较为简单, 但该必须使用Altera公司生产的专用配置芯片, 应用不灵活。 (3) 被动串行加载方式 (Passive Serial) 。被动串行方式采用串行数据读取方式, 配置时钟由FPGA外部提供, 配置时序简单。 (4) 采用快速被动并行 (Fast Passive Parallel) 加载方式;并行方式数据加载方法使用CPLD或CPU读取通用FLASH或EEPROM等存储介质中的数据, 实现FPGA的在线配置的。这种方式配置速度最快, 需要单片机或CPLD专用电路控制整个配置过程。

由于被动串行方式配置时序简单, 在本设计中选用被动串行方式作为FPGA的配置方式。被动串行模式的配置过程主要使用5个信号完成:DCLK (配置时钟) 、DATA0 (配置数据) 、n CONFIG (配置命令) 、n STATUS (状态信号) 、CONF_DONE (配置完成指示) 。在配置FPGA时, 首先将n CONFIG拉低, 然后再拉高。当n CONFIG被拉高后, FPGA的n STATUS也将变高, 表示这时已经可以开始配置, 外部电路在DCLK时钟信号的上升沿地将配置数据写入到FPGA中。当数据写入完成以后, CONF_DONE管脚被拉高, FPGA进入初始化状态, 在完成初始化过程以后, FPGA进入用户模式。

1.2 配置文件及其传输

Altera公司FPGA的配置文件格式有: (1) 用于JTAG方式在线下载的SRAM目标配置文件 (.sof) ; (2) 用于专用配置器件EPCS或通用FLASH等器件下载的编程目标文件 (.pof) ; (3) 用于并行配置方案或被动串行方式下载的原始二进制文件 (.rbf) ; (4) 用于AS模式对专用配置器件下载的原始编程数据文 (.rpd) ; (5) 符合Intel方式的ASCII编码文件, 多用于采用第三方存储器件的十六进制文件 (.hex) , ; (6) 用于FPP、PPS、PPA或PS配置方案的列表文本文件 (.ttf) ; (7) 用于使用JTAG方式间接下载EPCS文件的JTAG间接配置文件 (.jic) 。根据配置方式的分析, 扩展名为sof和rbf的配置文件在FPGA远程升级时需要用到, 其中sof文件用于本地配置, rbf需要使用Quartus II软件通过sof文件生成。

在本系统中采用FTP协议通过网络传输配置文件。文件传输协议 (FTP) 是TCP/IP的一种具体应用, 是网络中最广泛的服务之一。它工作在开放系统互连 (OSI) 模型的第7层, TCP模型的应用层, 它是Internet文件传送的基础, 它由一系列规格说明文档组成, 目标是提高文件的共享性, 提供非直接使用远程计算机, 使存储介质对用户透明和可靠高效地传送数据[2]。

由于嵌入式系统使用的是Vx Works操作系统, 这样可以使用Tornado或是Workbench自带的ftp服务器端程序。通过网络将配置文件.rbf文件直接上传到嵌入式系统存储器上。

2 系统实现方案

2.1 硬件设计

系统主要由PPC嵌入式处理器、PCI总线接口电路与配置时序控制部分3大部分组成, 使用的器件主要包括了MPC8270作为嵌入式系统CPU芯片, PCI总线桥接芯片PCI9056、Altera公司CPLD芯片EPM2210、FPGA采用了Altera公司的Stratix II芯片。FPGA处理板配置控制部分主要由PCI桥接芯片PCI9056, CPLD芯片EPM2210, FLASH芯片构成, PCI桥接芯片完成PCI总线到Local Bus的桥接, CPLD连接Local Bus完成总线数据的接收和处理、FPGA芯片的配置管理, CPLD还外接了一个FLASH芯片可以实现在没有主控制器时读取FLASH芯片完成对FPGA的配置。系统首先通过网络接口, 将FPGA配置文件导入CPU存储器, 再通过PCI总线将数据传输到CPLD芯片, CPLD将配置数据产生FPGA配置所需的时序, 将配置数据逐步导入到FPGA中。

PCI总线是一种通用的局部总线, 它支持工作频率33MHz, 32位的总线带宽, 最大数据传输速率可达132Mbit/s, 而且可扩展到最高工作频率66MHz, 64位的总线带宽。它支持突发工作模式, 提高了传输速率, 支持即插即用功能。由于PCI总线协议比较复杂, 其接口电路实现难度较大。目前PCI接口电路一般采用两种设计方法:一是采用CPLD或FPGA实现, 但是难度较大, 开发时间较长;二是采用通用的接口芯片完成, 可以降低开发难度, 采用通用芯片只要处理好本地总线接口即可, 而不必关心PCI总线操作, 且可靠性较高。常用的专用芯片有PLX公司的PCI9054、PCI9056等。其中PCI9056是目前较为成熟的接口芯片之一, 支持32位/33MHz工作频率的通用PCI总线控制器。该芯片突发传输速率达到132Mbit/s, 符合PCI总线规范2.2版, 本地总线可支持复用/非复用的32位地址/数据, 同时支持M模式、C模式、J模式。本系统实现采用了此芯片来完成PCI接口电路。设计中PCI9056工作在C模式, 同时采用非复用的32位数据总线进行传输, CPLD完成PCI总线与FPGA配置数据之间的互联。如图1所示, PCI9056作为PCI总线从设备、本地总线主设备, 由于在本地总线端只有一个从设备CPLD占用总线, 因此本地总线端可以始终保持有效。

在本项目中FGPA配置文件存储在主控制板中, 主控制板通过CPCI总线将配置文件传送至FPGA处理板, FPGA处理板的CPLD实现数据接收、处理和实现FPGA的配置。

2.2 CPLD软件设计

在本系统设计中, 动态配置主控制CPLD由MAXII系列EPM2210芯片实现, 内部逻辑功能主要包括Local BUS总线控制和FPGA配置控制部分。

进入正常工作状态的CPLD持续监视Local Bus总线, 收到FGPA配置命令时, 进入接收配置数据状态, 并开始配置FGPA, 当数据接收完毕后, 结束配置, 并检查FPGA是否配置成功, 将FGPA状态返回主控制器。

2.3 CPU软件设计

本项目中嵌入式系统使用Vx Works操作系统来完成整个系统的运行和控制。Vx Works是一款面向嵌入式领域的实时操作系统, 它是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统, 以其良好的可靠性和卓越的实时性得到了广泛应用。嵌入式系统CPU配置应用程序用C语言开发生成, 主要包括系统的读取FGPA配置文件、FGPA程序加载控制, 同时还包括PCI驱动程序设计和ftp服务器程序。在Vx Works下, 设备驱动程序可以嵌入在实时内核中随系统一起启动, 需要修改并重新编译内核, 需要熟悉内核结构, 实现起来比较困难;也可以作为可加载模块在系统启动之后运行, 与编写一般的应用程序相似, 实现比较简单。这里PCI9056驱动设计基于可加载模块方式设计。

在Vx Works下访问PCI9056, 首先配置PCI9056内部寄存器, 完成的本地总线地址到PCI地址映射, PCI9056根据上述软件配置所完成的地址映射, 通过FIFO把对PCI总线地址的访问转换成对相应本地总线的访问, 并把结果返回到FIFO。

图2为CPU配置程序工作流程。主控制器通过访问PCI设备, 将存储在存储器中的FPGA配置程序下载到PCI设备, PCI设备中的CPLD访问Local Bus读取配置数据, CPLD将配置数据产生FPGA配置所需的时序, 完成FPGA的配置。

3 结语

本技术已经在某项目中实用。本方法实现了通过网络远程灵活地升级FPGA程序, 使系统具有了很强的适应能力, 系统采用了CPU和PCI总线设计, 这样可以实现对基于PCI总线的FGPA设备的配置更新。FPGA的远程更新可以实现的方法很多, 需要根据系统组成, 结合工程实践, 使用可靠的便于实现的文件传输协议, 完成配置文件传输, 然后实现配置程序的更新, 从而实现FPGA的远程升级。

参考文献

[1]王灵芝, 林培杰, 黄春晖.FPGA的配置及其接口电路的设计[J].电子测量与仪器学报, 2007, 21 (2) :109-112

[2]黄世权.FTP协议分析和安全研究[J].微计算机信息, 2008, 11 (6) :93-94

[3]吴冬冬, 杨晓君, 张佩珩.一种FPGA的远程系统升级方法[J].计算机工程与应用, 2006, 18 (1) :86-89

[4]陈兴文, 刘燕, 高彦龙.基于单片机实现FPGA的加载配置[J].现代电子技术, 2005, 13 (3) :45-47

[5]屈杰, 朱光喜, 谭力, 等.基于网络和PowerPC系统的FPGA远程配置[J].无线电通信技术, 2008, 12 (1) :101-102

【多CPU】推荐阅读:

上一篇:创伤负压封闭引流技术下一篇:包装设计的发展趋势

本站热搜

    相关推荐