当前位置:首页 > CPU
  • 联想小新Pro 13标压锐龙版CPU性能测评

    联想小新Pro 13标压锐龙版CPU性能测评

    在这篇文章中,小编将对联想小新Pro 13标压锐龙版笔记本进行CPU性能测评,和小编一起来了解下吧。 小新Pro 13 标压锐龙版采用AMD最新的锐龙5 3550H处理器,12nm工艺制造,4核心8线程设计,默认频率2.1GHz,最高Boost频率3.7GHz。搭载一枚Radeon Vega8 GPU核心。测试中,我们开启小新Pro 13 标压锐龙版的“狂暴模式”,以释放这枚处理器的最大性能。 最新版本的CineBench R20中,多线程成绩达到了1556cb,单线程也达到了302cb。同样相比锐龙5 3500U有着20%左右的优势。 国际象棋测试中,总成绩达到了12730千步每秒,表现良好。同样也比低压版本处理器有着相当显著优势。 以上便是小编此次带来的联想小新Pro 13标压锐龙版笔记本CPU性能相关测评,此外,如果你想进一步了解有关它的其它方面的实际性能,不妨继续关注小编后期带来的更多相关测评哦。

    时间:2020-05-16 关键词: CPU 联想 小新pro

  • 荣耀笔记本Pro 魅海星蓝CPU性能测评

    荣耀笔记本Pro 魅海星蓝CPU性能测评

    在这篇文章中,小编将对荣耀笔记本Pro 魅海星蓝进行CPU性能测评,和小编一起去了解下吧。 性能方面,荣耀笔记本Pro 魅海星蓝评测机搭载全新锐龙5 3550H游戏级处理器,配备16GB DDR4双通道内存、512GB SSD。锐龙5 3550H是移动端标压处理器,采用4核心8线程设计,睿频最高可达3.7GHz,默认TDP为35W,部分游戏本也采用了该处理器。先通过常规跑分项目来了解下具体性能表现。 CPU Z的跑分结果,锐龙5 3550H的多核任务处理成绩达到了2208.4,单核任务处理成绩为414。 在新版Cinebench R20的CPU性能测试环节,锐龙5 3550H多核成绩为6124pts,单核成绩为364pts。 CPU性能部分,从跑分情况看,综合性能要比英特尔i5 8265U更好,能够轻松应对日常使用需求。打开大型软件、使用Photoshop等专业软件进行修图等处理也能获得不错的性能支持。 以上便是小编此次带来的荣耀笔记本Pro 魅海星蓝CPU性能相关测评,此外,如果你想进一步了解有关它的其它方面的实际性能,不妨继续关注小编后期带来的更多相关测评哦。

    时间:2020-05-16 关键词: CPU 笔记本 荣耀

  • 7nm锐龙4核CPU性能领先75% 主板厂商抓住救命稻草

    7nm锐龙4核CPU性能领先75% 主板厂商抓住救命稻草

    2020年由于疫情的影响,最近除了笔记本电脑销量大涨之外,其他PC市场已经受到冲击,主板厂商都在发愁呢。不过AMD刚刚发布的7nm锐龙3系列两款4核CPU及B550芯片组有望成为救命稻草。 去年7月份推出的7nm Zen2架构的锐龙3000系列主要面向中高端市场,最低的都是锐龙5系列,锐龙3系列前两天才发布,主要是锐龙3 3300X及锐龙3 3100两款,均采用最新的7nm工艺制造,相比一二代锐龙3还首次开启了同步多线程(SMT)技术,均为4核心8线程配置,原生支持PCIe 4.0、DDR4-3200。 锐龙3 3300X基准频率3.8GHz,最高加速4.3GHz,二级缓存2MB,三级缓存16MB,热设计功耗65W,自带幽灵Stealth散热器,定价120美元。 锐龙3 3100基准频率降至3.6GHz,最高加速降至3.9GHz,二级、三级缓存仍是2MB、16MB,热设计功耗也是65W,自带幽灵Stealth散热器,定价99美元。 根据AMD公布的数据,锐龙3 3000系列的CPU游戏性能比对手领先20%,内容创造性能更是领先75%,优势非常明显。 此外,AMD还推出了新一代芯片组B550,将X570上的PCIe 4.0技术下放到了主流市场,,依然采用AM4接口插座,全面兼容一二三代全系列锐龙CPU、锐龙APU,当然更推荐搭配锐龙5/3系列,性价比爆棚。 在锐龙3 4核+B550的组合下,今年的主流PC市场有望迎来新一波增长,包括华擎、华硕、映泰、七彩虹、技嘉、微星等各大品牌准备了大约60款B550平台,显然是志在必得。 新一代锐龙3系列将于2020年5月份上市,而B550芯片组主机会在6月份上市,主板厂商上半年的业绩总算可以回血一波了。

    时间:2020-05-15 关键词: CPU AMD 7nm 3300x b550 锐龙3

  • 华为发布四核1.4GHz高性能CPU的新型路由器——华为路由A2

    华为发布四核1.4GHz高性能CPU的新型路由器——华为路由A2

    华为在前两天推出了一款新的路由器,叫做华为路由A2,这款路由器搭载了华为自主研发的处理器——凌霄四核1.4GHz高性能CPU,以及三频2200M高速Wi-Fi(支持三频优选和负载均衡),256MB大内存和6颗独立信号放大器,这样的配置堪称豪华。除了硬件给力之外,它的特色功能也非常实用,其中最便利的,应该就是无需密码就能联网了。 联网不用输密码,听上去不可思议,有些人还会怀疑不够安全,可能会被蹭网。其实,华为使用了 NFC 技术来实现这项功能。只需要把手机和路由器一碰,通过NFC就能直接脸上WIFI,即使不记得密码,也不用慌了。 这样一款路由器,无论是性能,还是多设备连接能力,还是覆盖能力,在当前行业里都可以称得上是领先级别。在如此强悍的硬件配置加持下,华为路由A2能够实现多设备同时链接实现流畅的网络体验,并能够实现为设备自动连接更优频段,大幅提升信号发射功率和接收灵敏度,轻松覆盖中、大户型。在介绍页面中,我们还发现它还能为手游加速,看来以后玩游戏都快人一步了。 这款华为路由器官网售价399元,这个价位又有这么多黑科技,已经算是很超值了,还有自研芯片,更加凸显华为实力。相信在不久之后,路由器也会成为华为的又一优势产品。

    时间:2020-05-15 关键词: 华为 CPU 路由器 凌霄

  • Dynamic DMA mapping Guide

    Dynamic DMA mapping Guide

    一、前言 这是一篇指导驱动工程师如何使用DMA API的文档,为了方便理解,文档中给出了伪代码的例程。另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在DMA API的描述方面是一致的。   二、从CPU角度看到的地址和从DMA控制器看到的地址有什么不同? 在DMA API中涉及好几个地址的概念(物理地址、虚拟地址和总线地址),正确的理解这些地址是非常重要的。 内核通常使用的地址是虚拟地址。我们调用kmalloc()、vmalloc()或者类似的接口返回的地址都是虚拟地址,保存在"void *"的变量中。 虚拟内存系统(TLB、页表等)将虚拟地址(程序角度)翻译成物理地址(CPU角度),物理地址保存在“phys_addr_t”或“resource_size_t”的变量中。对于一个硬件设备上的寄存器等设备资源,内核是按照物理地址来管理的。通过/proc/iomem,你可以看到这些和设备IO 相关的物理地址。当然,驱动并不能直接使用这些物理地址,必须首先通过ioremap()接口将这些物理地址映射到内核虚拟地址空间上去。 I/O设备使用第三种地址:“总线地址”。如果设备在MMIO地址空间中有若干的寄存器,或者该设备足够的智能,它可以通过DMA执行读写系统内存的操作,这些情况下,设备使用的地址就是总线地址。在某些系统中,总线地址与CPU物理地址相同,但一般来说它们不是。iommus和host bridge可以在物理地址和总线地址之间进行映射。 从设备的角度来看,DMA控制器使用总线地址空间,不过可能仅限于总线空间的一个子集。例如:即便是一个系统支持64位地址内存和64 位地址的PCI bar,但是DMA可以不使用全部的64 bit地址,通过IOMMU的映射,PCI设备上的DMA可以只使用32位DMA地址。 我们用下面这样的系统结构来说明各种地址的概念: 在PCI设备枚举(初始化)过程中,内核了解了所有的IO device及其对应的MMIO地址空间(MMIO是物理地址空间的子集),并且也了解了是PCI主桥设备将这些PCI device和系统连接在一起。PCI设备会有BAR(base address register),表示自己在PCI总线上的地址,CPU并不能通过总线地址A(位于BAR范围内)直接访问总线上的PCI设备,PCI host bridge会在MMIO(即物理地址)和总线地址之间进行mapping。因此,对于CPU,它实际上是可以通过B地址(位于MMIO地址空间)访问PCI设备(反正PCI host bridge会进行翻译)。地址B的信息保存在struct resource变量中,并可以通过/proc/iomem开放给用户空间。对于驱动程序,它往往是通过ioremap()把物理地址B映射成虚拟地址C,这时候,驱动程序就可以通过ioread32(C)来访问PCI总线上的地址A了。 如果PCI设备支持DMA,那么在驱动中我们可以通过kmalloc或者其他类似接口分配一个DMA buffer,并且返回了虚拟地址X,MMU将X地址映射成了物理地址Y,从而定位了DMA buffer在系统内存中的位置。因此,驱动可以通过访问地址X来操作DMA buffer,但是PCI 设备并不能通过X地址来访问DMA buffer,因为MMU对设备不可见,而且系统内存所在的系统总线和PCI总线属于不同的地址空间。 在一些简单的系统中,设备可以通过DMA直接访问物理地址Y,但是在大多数的系统中,有一个IOMMU的硬件block用来将DMA可访问的总线地址翻译成物理地址,也就是把上图中的地址Z翻译成Y。理解了这些底层硬件,你也就知道类似dma_map_single这样的DMA API是在做什么了。驱动在调用dma_map_single这样的接口函数的时候会传递一个虚拟地址X,在这个函数中会设定IOMMU的页表,将地址X映射到Z,并且将返回z这个总线地址。驱动可以把Z这个总线地址设定到设备上的DMA相关的寄存器中。这样,当设备发起对地址Z开始的DMA操作的时候,IOMMU可以进行地址映射,并将DMA操作定位到Y地址开始的DMA buffer。 根据上面的描述我们可以得出这样的结论:Linux可以使用动态DMA 映射(dynamic DMA mapping)的方法,当然,这需要一些来自驱动的协助。所谓动态DMA 映射是指只有在使用的时候,才建立DMA buffer虚拟地址到总线地址的映射,一旦DMA传输完毕,就将之前建立的映射关系销毁。 虽然上面的例子使用IOMMU为例描述,不过本文随后描述的API也可以在没有IOMMU硬件的平台上运行。 顺便说明一点:DMA API适用于各种CPU arch,各种总线类型,DMA mapping framework已经屏蔽了底层硬件的细节。对于驱动工程师而言,你应该使用通用的DMA API(例如dma_map_*() 接口函数),而不是和特定总线相关的API(例如pci_map_*() 接口函数)。 驱动想要使用DMA mapping framework的API,需要首先包含相关头文件: 这个头文件中定义了dma_addr_t这种数据类型,而这种类型的变量可以保存任何有效的DMA地址,不管是什么总线,什么样的CPU arch。驱动调用了DMA API之后,返回的DMA地址(总线地址)就是这种类型的。   三、什么样的系统内存可以被DMA控制器访问到? 既然驱动想要使用DMA mapping framework提供的接口,我们首先需要知道的就是是否所有的系统内存都是可以调用DMA API进行mapping?还是只有一部分?那么这些可以DMA控制器访问系统内存有什么特点?关于这一点,一直以来有一些不成文的规则,在本文中我们看看是否能够将其全部记录下来。 如果驱动是通过伙伴系统的接口(例如__get_free_page*())或者类似kmalloc() or kmem_cache_alloc()这样的通用内存分配的接口来分配DMA buffer,那么这些接口函数返回的虚拟地址可以直接用于DMA mapping接口API,并通过DMA操作在外设和dma buffer中交换数据。 使用vmalloc() 分配的DMA buffer可以直接使用吗?最好不要这样,虽然强行使用也没有问题,但是终究是比较麻烦。首先,vmalloc分配的page frame是不连续的,如果底层硬件需要物理内存连续,那么vmalloc分配的内存不能满足硬件要求。即便是底层DMA硬件支持scatter-gather,vmalloc分配出来的内存仍然存在其他问题。我们知道vmalloc分配的虚拟地址和对应的物理地址没有线性关系(kmalloc或者__get_free_page*这样的接口,其返回的虚拟地址和物理地址有一个固定偏移的关系),而在做DMA mapping的时候,需要知道物理地址,有线性关系的虚拟地址很容易可以获取其物理地址,但是对于vmalloc分配的虚拟地址,我们需要遍历页表才可以找到其物理地址。 在驱动中定义的全局变量可以用于DMA吗?如果编译到内核,那么全局变量位于内核的数据段或者bss段。在内核初始化的时候,会建立kernel image mapping,因此全局变量所占据的内存都是连续的,并且VA和PA是有固定偏移的线性关系,因此可以用于DMA操作。不过,在定义这些全局变量的DMA buffer的时候,我们要小心的进行cacheline的对齐,并且要处理CPU和DMA controller之间的操作同步,以避免cache coherence问题。 如果驱动编译成模块会怎么样呢?这时候,驱动中的全局定义的DMA buffer不在内核的线性映射区域,其虚拟地址是在模块加载的时候,通过vmalloc分配,因此这时候如果DMA buffer如果大于一个page frame,那么实际上我们也是无法保证其底层物理地址的连续性,也无法保证VA和PA的线性关系,这一点和编译到内核是不同的。 通过kmap接口返回的内存可以做DMA buffer吗?也不行,其原理类似vmalloc,这里就不赘述了。 块设备使用的I/O buffer和网络设备收发数据的buffer是如何确保其内存是可以进行DMA操作的呢?块设备I/O子系统和 网络子系统在分配buffer的时候会确保这一点的。   四、DMA寻址限制 你的设备有DMA寻址限制吗?不同的硬件平台有不同的配置方式,有的平台没有限制,外设可以访问系统内存的每一个Byte,有些则不可以。例如:系统总线有32个bit,而你的设备通过DMA只能驱动低24位地址,在这种情况下,外设在发起DMA操作的时候,只能访问16M以下的系统内存。如果设备有DMA寻址的限制,那么驱动需要将这个限制通知到内核。如果驱动不通知内核,那么内核缺省情况下认为外设的DMA可以访问所有的系统总线的32 bit地址线。对于64 bit平台,情况类似,不再赘述。 是否有DMA寻址限制是和硬件设计相关,有时候标准总线协议也会规定这一点。例如:PCI-X规范规定,所有的PCI-X设备必须要支持64 bit的寻址。 如果有寻址限制,那么在该外设驱动的probe函数中,你需要询问内核,看看是否有DMA controller可以支持这个外设的寻址限制。虽然有缺省的寻址限制的设定,不过最好还是在probe函数中进行相关处理,至少这说明你已经为你的外设考虑过寻址限制这事了。 一旦确定了设备DMA寻址限制之后,我们可以通过下面的接口进行设定: 根据DMA buffer的特性,DMA操作有两种:一种是streaming,DMA buffer是一次性的,用完就算。这种DMA buffer需要自己考虑cache一致性。另外一种是DMA buffer是cache coherent的,软件实现上比较简单,更重要的是这种DMA buffer往往是静态的、长时间存在的。不同类型的DMA操作可能有有不同的寻址限制,也可能相同。如果相同,我们可以用上面这个接口设定streaming和coherent两种DMA 操作的地址掩码。如果不同,可以下面的接口进行设定: 前者是设定streaming类型的DMA地址掩码,后者是设定coherent类型的DMA地址掩码。为了更好的理解这些接口,我们聊聊参数和返回值。dev指向该设备的struct device对象,一般来说,这个struct device对象应该是嵌入在bus-specific 的实例中,例如对于PCI设备,有一个struct pci_dev的实例与之对应,而在这里需要传入的dev参数则可以通过&pdev->dev得到(pdev指向struct pci_dev的实例)。mask表示你的设备支持的地址线信息。如果调用这些接口返回0,则说明一切OK,从该设备到指定mask的内存的DMA操作是可以被系统支持的(包括DMA controller、bus layer等)。如果返回值非0,那么说明这样的DMA寻址是不能正确完成的,如果强行这么做将会产生不可预知的后果。驱动必须检测返回值,如果不行,那么建议修改mask或者不使用DMA。也就是说,对上面接口调用失败后,你有三个选择: 1、用另外的mask 2、不使用DMA模式,采用普通I/O模式 3、忽略这个设备的存在,不对其进行初始化 一个可以寻址32 bit的设备,其初始化的示例代码如下: 另一个常见的场景是有64位寻址能力的设备。一般来说我们会首先尝试设定64位的地址掩码,但是这时候有可能会失败,从而将掩码降低为32位。内核之所以会在设定64位掩码的时候失败,这并不是因为平台不能进行64位寻址,而仅仅是因为32位寻址比64位寻址效率更高。例如,SPARC64 平台上,PCI SAC寻址比DAC寻址性能更好。 下面的代码描述了如何确定streaming类型DMA的地址掩码: 设定coherent 类型的DMA地址掩码也是类似的,不再赘述。需要说明的是:coherent地址掩码总是等于或者小于streaming地址掩码,因此,一般来说,我们只要设定了streaming地址掩码成功了,那么使用同样的掩码或者小一些的掩码来设定coherent地址掩码总是会成功,因此这时候我们一般就不检查dma_set_coherent_mask的返回值了,当然,有些设备很奇怪,只能使用coherent DMA,那么这种情况下,驱动需要检查dma_set_coherent_mask的返回值。   五、两种类型的DMA mapping 1、一致性DMA映射(Consistent DMA mappings ) Consistent DMA mapping有下面两种特点: (1)持续使用该DMA buffer(不是一次性的),因此Consistent DMA总是在初始化的时候进行map,在shutdown的时候unmap。 (2)CPU和DMA controller在发起对DMA buffer的并行访问的时候不需要考虑cache的影响,也就是说不需要软件进行cache操作,CPU和DMA controller都可以看到对方对DMA buffer的更新。实际上一致性DMA映射中的那个Consistent实际上可以称为coherent,即cache coherent。 缺省情况下,coherent mask被设定为低32 bit(0xFFFFFFFF),即便缺省值是OK了,我们也建议你通过接口在驱动中设定coherent mask。 一般使用Consistent DMA mapping的场景包括: (1)网卡驱动和网卡DMA控制器往往是通过一些内存中的描述符(形成环或者链)进行交互,这些保存描述符的memory一般采用Consistent DMA mapping。 (2)SCSI硬件适配器上的DMA可以主存中的一些数据结构(mailbox command)进行交互,这些保存mailbox command的memory一般采用Consistent DMA mapping。 (3)有些外设有能力执行主存上的固件代码(microcode),这些保存microcode的主存一般采用Consistent DMA mapping。 上面的这些例子有同样的特性:CPU对memory的修改可以立刻被device感知到,反之亦然。一致性映射可以保证这一点。 需要注意的是:一致性的DMA映射并不意味着不需要memory barrier这样的工具来保证memory order,CPU有可能为了性能而重排对consistent memory上内存访问指令。例如:如果在DMA consistent memory上有两个word,分别是word0和word1,对于device一侧,必须保证word0先更新,然后才有对word1的更新,那么你需要这样写代码: 只有这样才能保证在所有的平台上,给设备驱动可以正常的工作。 此外,在有些平台上,修改了DMA Consistent buffer后,你的驱动可能需要flush write buffer,以便让device侧感知到memory的变化。这个动作类似在PCI桥中的flush write buffer的动作。 2、流式DMA映射(streaming DMA mapping) 流式DMA映射是一次性的,一般是需要进行DMA传输的时候才进行mapping,一旦DMA传输完成,就立刻ummap(除非你使用dma_sync_*的接口,下面会描述)。并且硬件可以为顺序化访问进行优化。 这里的streaming可以被认为是asynchronous,或者是不属于coherent memory范围的。 一般使用streaming DMA mapping的场景包括: (1)网卡进行数据传输使用的DMA buffer (2)文件系统中的各种数据buffer,这些buffer中的数据最终到读写到SCSI设备上去,一般而言,驱动会接受这些buffer,然后进行streaming DMA mapping,之后和SCSI设备上的DMA进行交互。 设计streaming DMA mapping这样的接口是为了充分优化硬件的性能,为了打到这个目标,在使用这些接口的时候,你必须清清楚楚的知道调用接口会发生什么。 无论哪种类型的DMA映射都有对齐的限制,这些限制来自底层的总线,当然也有可能是某些总线上的设备有这样的限制。此外,如果系统中的cache并不是DMA coherent的,而且底层的DMA buffer不合其他数据共享cacheline,这样的系统将工作的更好。   六、如何使用coherent DMA mapping的接口? 1、分配并映射dma buffer 为了分配并映射一个较大(page大小或者类似)的coherent DMA memory,你需要调用下面的接口: DMA操作总是会涉及具体设备上的DMA controller,而dev参数就是执行该设备的struct device对象的。size参数指明了你想要分配的DMA Buffer的大小,byte为单位。dma_alloc_coherent这个接口也可以在中断上下文调用,当然,gfp参数要传递GFP_ATOMIC标记,gfp是内存分配的flag,dma_alloc_coherent仅仅是透传该flag到内存管理模块。 需要注意的是dma_alloc_coherent分配的内存的起始地址和size都是对齐在page上(类似__get_free_pages的感觉,当然__get_free_pages接受的size参数是page order),如果你的驱动不需要那么大的DMA buffer,那么可以选择dma_pool接口,下面会进一步描述。 如果传入非空的dev参数,即使驱动调用了掩码设置接口函数设定了DMA mask,说明该设备可以访问大于32-bit地址空间的地址,一致性DMA映射的接口函数也一般会默认的返回一个32-bit可寻址的DMA buffer地址。要知道dma mask和coherent dma mask是不同的,除非驱动显示的调用dma_set_coherent_mask()接口来修改coherent dma mask,例如大小大于32-bit地址,dma_alloc_coherent接口函数才会返回大于32-bit地址空间的地址。dma pool接口也是如此。 dma_alloc_coherent函数返回两个值,一个是从CPU角度访问DMA buffer的虚拟地址,另外一个是从设备(DMA controller)角度看到的bus address:dma_handle,驱动可以将这个bus address传递给HW。 即便是请求的DMA buffer的大小小于PAGE SIZE,dma_alloc_coherent返回的cpu虚拟地址和DMA总线地址都保证对齐在最小的PAGE_SIZE上,这个特性确保了分配的DMA buffer有这样的特性:如果page size是64K,即便是驱动分配一个小于或者等于64K的dma buffer,那么DMA buffer不会越过64K的边界。 2、umap并释放dma buffer 当驱动需要umap并释放dma buffer的时候,需要调用下面的接口: 这个接口函数的dev、size参数上面已经描述过了,而cpu_addr和dma_handle这两个参数就是dma_alloc_coherent() 接口的那两个地址返回值。需要强调的一点就是:和dma_alloc_coherent不同,dma_free_coherent不能在中断上下文中调用。(因为在有些平台上,free DMA的操作会引发TLB维护的操作(从而引发cpu core之间的通信),如果关闭了IRQ会锁死在SMP IPI 的代码中)。 3、dma pool 如果你的驱动需非常多的小的dma buffer,那么dma pool是最适合你的机制。这个概念类似kmem_cache,__get_free_pages往往获取的是连续的page frame,而kmem_cache是批发了一大批page frame,然后自己“零售”。dma pool就是通过dma_alloc_coherent接口获取大块一致性的DMA内存,然后驱动可以调用dma_pool_alloc从那个大块DMA内存中分一个小块的dma buffer供自己使用。具体接口描述就不说了,大家可以自行阅读。   七、DMA操作方向 由于下面的章节会用到DMA操作方向这个概念,因此我们先简单的描述一下,DMA操作方向定义如下: 如果你知道的话,你应该尽可能的提供准确的DMA操作方向。 DMA_TO_DEVICE表示“从内存(dma buffer)到设备”,而 DMA_FROM_DEVICE表示“从设备到内存(dma buffer)”,上面的这些字符定义了数据在DMA操作中的移动方向。 虽然我们强烈要求驱动在知道DMA传输方向的适合,精确的指明是DMA_TO_DEVICE或者DMA_FROM_DEVICE,然而,如果你确实是不知道具体的操作方向,那么设定为DMA_BIDIRECTIONAL也是可以的,表示DMA操作可以执行任何一个方向的的数据搬移。你的平台需要保证这一点可以让DMA正常工作,当然,这也有可能会引入一些性能上的额外开销。 DMA_NONE主要是用于调试。在驱动知道精确的DMA方向之前,可以把它保存在DMA控制数据结构中,在dma方向设定有问题的适合,你可以跟踪dma方向的设置情况,以便定位问题所在。 除了潜在的平台相关的性能优化之外,精确地指定DMA操作方向还有另外一个优点就是方便调试。有些平台实际上在创建DMA mapping的时候,页表(指将bus地址映射到物理地址的页表)中有一个写权限布尔值,这个值非常类似于用户程序地址空间中的页保护。当DMA控制器硬件检测到违反权限设置时(这时候dma buffer设定的是MA_TO_DEVICE类型,实际上DMA controller只能是读dma buffer),这样的平台可以将错误写入内核日志,从而方便了debug。 只有streaming mappings才会指明DMA操作方向,一致性DMA映射隐含的DMA操作方向是DMA_BIDIRECTIONAL。我们举一个streaming mappings的例子:在网卡驱动中,如果要发送数据,那么在map/umap的时候需要指明DMA_TO_DEVICE的操作方向,而在接受数据包的时候,map/umap需要指明DMA操作方向是DMA_FROM_DEVICE。   八、如何使用streaming DMA mapping的接口? streaming DMA mapping的接口函数可以在中断上下文中调用。streaming DMA mapping有两个版本的接口函数,一个是用来map/umap单个的dma buffer,另外一个是用来map/umap形成scatterlist的多个dma buffer。 1、map/umap单个的dma buffer map单个的dma buffer的示例如下: umap单个的dma buffer可以使用下面的接口: 当调用dma_map_single()返回错误的时候,你应当调用dma_mapping_error()来处理错误。虽然并不是所有的DMA mapping实现都支持dma_mapping_error这个接口(调用dma_mapping_error函数实际上会调用底层dma_map_ops操作函数集中的mapping_error成员函数),但是调用它来进行出错处理仍然是一个好的做法。这样做的好处是可以确保DMA mapping代码在所有DMA实现中都能正常工作,而不需要依赖底层实现的细节。没有检查错误就使用返回的地址可能会导致程序失败,可能会产生kernel panic或者悄悄的损坏你有用的数据。下面列举了一些不正确的方法来检查DMA mapping错误,之所以是错误的方法是因为这些代码对底层的DMA实现进行了假设。顺便说的是虽然这里是使用dma_map_single作为示例,实际上也是适用于dma_map_page()的。 错误示例一: 错误示例二: 当DMA传输完成的时候,程序应该调用dma_unmap_single()函数umap dma buffer。例如:在DMA完成传输后会通过中断通知CPU,而在interrupt handler中可以调用dma_unmap_single()函数。dma_map_single函数在进行DMA mapping的时候使用的是CPU指针(虚拟地址),这样就导致该函数有一个弊端:不能使用HIGHMEM memory进行mapping。鉴于此,map/unmap接口提供了另外一个类似的接口,这个接口不使用CPU指针,而是使用page和page offset来进行DMA mapping: 在上面的代码中,offset表示一个指定page内的页内偏移(以Byte为单位)。和dma_map_single接口函数一样,调用dma_map_page()返回错误后需要调用dma_mapping_error() 来进行错误处理,上面都已经描述了,这里不再赘述。当DMA传输完成的时候,程序应该调用dma_unmap_page()函数umap dma buffer。例如:在DMA完成传输后会通过中断通知CPU,而在interrupt handler中可以调用dma_unmap_page()函数。 2、map/umap多个形成scatterlist的dma buffer 在scatterlist的情况下,你要映射的对象是分散的若干段DMA buffer,示例代码如下: 上面的代码中nents说明了sglist中条目的数量(即map多少段dma buffer)。 具体DMA映射的实现是自由的,它可以把scatterlist 中的若干段连续的DMA buffer映射成一个大块的,连续的bus address region。例如:如果DMA mapping是以PAGE_SIZE为粒度进行映射,那么那些分散的一块块的dma buffer可以被映射到一个对齐在PAGE_SIZE,然后各个dma buffer依次首尾相接的一个大的总线地址区域上。这样做的好处就是对于那些不支持(或者支持有限)scatter-gather 的DMA controller,仍然可以通过mapping来实现。dma_map_sg调用识别的时候返回0,当调用成功的时候,返回成功mapping的数目。 一旦调用成功,你需要调用for_each_sg来遍历所有成功映射的mappings(这个数目可能会小于nents)并且使用sg_dma_address() 和 sg_dma_len() 这两个宏来得到mapping后的dma地址和长度。 umap多个形成scatterlist的dma buffer是通过下面的接口实现的: 再次强调,调用dma_unmap_sg的时候要确保DMA操作已经完成。另外,传递给dma_unmap_sg的nents参数需要等于传递给dma_map_sg的nents参数,而不是该函数返回的count。 由于DMA地址空间是共享资源,每一次dma_map_{single,sg}() 的调用都需要有其对应的dma_unmap_{single,sg}(),如果你总是分配dma地址资源而不回收,那么系统将会由于DMA address被用尽而陷入不可用的状态。 3、sync操作 如果你需要多次访问同一个streaming DMA buffer,并且在DMA传输之间读写DMA Buffer上的数据,这时候你需要小心进行DMA buffer的sync操作,以便CPU和设备(DMA controller)可以看到最新的、正确的数据。 首先用dma_map_{single,sg}()进行映射,在完成DMA传输之后,用: 或者: 来完成sync的操作,以便CPU可以看到最新的数据。 如果,CPU操作了DMA buffer的数据,然后你又想把控制权交给设备上的DMA 控制器,让DMA controller访问DMA buffer,这时候,在真正让HW(指DMA控制器)去访问DMA buffer之前,你需要调用: 或者: 以便device(也就是设备上的DMA控制器)可以看到cpu更新后的数据。此外,需要强调的是:传递给dma_sync_sg_for_cpu() 和 dma_sync_sg_for_device()的ents参数需要等于传递给dma_map_sg的nents参数,而不是该函数返回的count。 在完成最后依次DMA传输之后,你需要调用DMA unmap函数dma_unmap_{single,sg}()。如果在第一次dma_map_*() 调用和dma_unmap_*()之间,你从来都没有碰过DMA buffer中的数据,那么你根本不需要调用dma_sync_*() 这样的sync操作。 下面的例子给出了一个sync操作的示例: 当使用了这套DMA mapping接口后,驱动不应该再使用virt_to_bus() 这个接口了,当然bus_to_virt()也不行。不过,如果你的驱动使用了这些接口怎么办呢?其实这套新的DMA mapping接口没有和virt_to_bus、bus_to_virt()一一对应的接口,因此,为了让你的程序能工作,你需要对驱动程序进行小小的修改:你必须要保存从dma_alloc_coherent()、dma_pool_alloc()以及dma_map_single()接口函数返回的dma address(对于dma_map_sg()这个接口,dma地址保存在scatterlist 中,当然这需要硬件支持dynamic DMA mapping ),并把这个dma address保存在驱动的数据结构中,并且同时/或者保存在硬件的寄存器中。 所有的驱动代码都需要迁移到DMA mapping framework的接口函数上来。目前内核已经计划完全移除virt_to_bus() 和bus_to_virt() 这两个函数,因为它们已经过时了。有些平台由于不能正确的支持virt_to_bus() 和bus_to_virt(),因此根本就没有提供这两个接口。 九、错误处理 DMA地址空间在某些CPU架构上是有限的,因此分配并mapping可能会产生错误,我们可以通过下面的方法来判定是否发生了错误: (1)检查是否dma_alloc_coherent() 返回了NULL或者dma_map_sg 返回0 (2)检查dma_map_single和dma_map_page返回了dma address(通过dma_mapping_error函数) (3)当在mapping多个page的时候,如果中间发生了mapping error,那么需要对那些已经mapped的page进行unmap的操作。下面的示例代码用dma_map_single函数,对于dma_map_page也一样适用。 示例代码一: 示例代码二(如果我们在循环中mapping dma buffer,当在中间出错的时候,一样要unmap所有已经映射的dma buffer): 如果在网卡驱动的tx回调函数(例如ndo_start_xmit)中出现了DMA mapping失败,那么驱动必须调用dev_kfree_skb() 来是否socket buffer并返回NETDEV_TX_OK 。这表示这个socket buffer由于错误而丢弃掉了。 如果在SCSI driver的queue command回调函数中出现了DMA mapping失败,那么驱动必须返回SCSI_MLQUEUE_HOST_BUSY 。这意味着SCSI子系统稍后会再次重传该command给driver。   十、优化数据结构 在很多的平台上,dma_unmap_{single,page}()其实什么也没有做,是空函数。因此,跟踪映射的dma address及其长度基本上就是浪费内存空间。为了方便驱动工程师编写代码方便,我们提供了几个实用工具(宏定义),如果没有它们,驱动程序中将充分ifdef或者类似的一些“work around”。下面我们并不是一个个的介绍这些宏定义,而是给出一些示例代码,驱动工程师可以照葫芦画瓢。 1、DEFINE_DMA_UNMAP_{ADDR,LEN}。在DMA buffer数据结构中使用这个宏定义,具体例子如下: 根据CONFIG_NEED_DMA_MAP_STATE的配置不同,DEFINE_DMA_UNMAP_{ADDR,LEN}可能是定义相关的dma address和长度的成员,也可能是空。 2、dma_unmap_{addr,len}_set()。使用该宏定义来赋值,具体例子如下: 3、dma_unmap_{addr,len}(),使用该宏来访问变量。 上面的这些代码基本是不需要解释你就会明白的了。另外,我们对于dma address和len是分开处理的,因为在有些实现中,unmaping的操作仅仅需要dma address信息就够了。   十一、平台移植需要注意的问题 如果你仅仅是驱动工程师,并不负责将linux迁移到某个cpu arch上去,那么后面的内容其实你可以忽略掉了。 1、Struct scatterlist的需求 如果cpu arch支持IOMMU(包括软件模拟的IOMMU),那么你需要打开CONFIG_NEED_SG_DMA_LENGTH 这个内核选项。 2、ARCH_DMA_MINALIGN CPU体系结构相关的代码必须要要保证kmalloc分配的buffer是DMA-safe的(kmalloc分配的buffer也是有可能用于DMA buffer),驱动和内核子系统的正确运行都是依赖这个条件的。如果一个cpu arch不是全面支持DMA-coherent的(例如硬件并不保证cpu cache中的数据等于main memory中的数据),那么必须定义ARCH_DMA_MINALIGN。而通过这个宏定义,kmalloc分配的buffer可以保证对齐在ARCH_DMA_MINALIGN上,从而保证了kmalloc分配的DMA Buffer不会和其他的buffer共享一个cacheline。想要了解具体的实例可以参考arch/arm/include/asm/cache.h。 另外,请注意:ARCH_DMA_MINALIGN 是DMA buffer的对齐约束,你不需要担心CPU ARCH的数据对齐约束(例如,有些CPU arch要求有些数据对象需要64-bit对齐)。   十二、后记 如果没有来自广大人民群众的反馈和建议,这份文档(包括DMA API本身)可能会显得过时,陈旧。 此外,对这份文档有帮助的人如下(没有按照什么特别的顺序): Russell King Leo Dagum Ralf Baechle Grant Grundler Jay Estabrook Thomas Sailer Andrea Arcangeli Jens Axboe David Mosberger-Tang davidm@hpl.hp.com   备注:本文基本上是内核文档DMA-API-HOWTO.txt的翻译,如果有兴趣可以参考原文。 原创翻译文章,转发请注明出处。蜗窝科技 http://www.wowotech.net/memory_management/DMA-Mapping-api.html 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2020-05-15 关键词: CPU dma

  • DCS系统选型的主要注意事项

    DCS系统选型的主要注意事项

    DCS是以计算机技术、CRT技术、控制技术和通信技术为基础发展起来的先进控制系统。其大小各异,种类繁多,广泛应用于化工、冶金、电力、煤炭等各个行业。我厂采用的DCS主要用于冶练、制氧和硫酸生产,4年多时间的使用证明这套系统完全满足生产的需要。但是,使用过程中的经验和教训也值得探讨。 理论上,DCS由上述四大技术组成,但在实际应用中可根据硬件组成和网络的拓扑结构分成控制部分、通信部分、人机接口三部分。 选型过程中应注意的问题 DCS的选型原则应该是可靠、足够、适用、先进。 实际选型时切不可片面追求先进性而忽略可靠性。例如我厂DCS的人机接口有两种类型,其中一类通过长期使用,在可靠性方面无可挑剔;另一类是刚刚推出的产品,尽管它在硬件的性能上,在流程图画面编程平台上比前者先进很多,但新产品未经过长期使用的检验,在可靠性方面却略逊于前者。另外,人机接口中的打印机、CRT最好选择国内普遍采用的成熟的有可靠服务保障的产品。笔者甚至认为,用户应建议DCS制造厂商提供国内流行的商用机或工控机作为人机接口,这样不但方便维修,更换起来价格便宜、交货期又短。 DCS系统选型的主要注意事项 系统总体设计选型 目前DCS系统的设计理念为高可靠性、高可用性相结合的设计理念;所有的核 心组件全部支持冗余设计。 总体设计在硬件结构上分为两个流派:集中板卡式和分散模块式。 集中板卡式:机柜先安装机笼,I/O模块以板卡形式插在机笼中。这种安装方式的优先是抗震性能好,电路板上方便布置多器件,因而通道数量较多。缺点是受机笼限制,安装不灵活。因另外需要控制布置接线端子,占用空间大,只能证明布置卡件,反面布置接线端子板,需要采用专门机柜。 分散模块式:机柜无需机笼,I/O模块以独立模块形式安装在机柜中。这个安装方式的优点是灵活方便可以在任意空间安装、占用空间小、散热良好。缺点抗震性能低于板卡式。因模块体积小,通道数量会受限制。 随着电子元器件的发展,小型化、智能化是发展趋势,模块式越来越显示出灵活多变的优势,板卡式初步淘汰。因此YOKOGAWA和Honeywell都完成了由大板卡式向小模块式的转变, ABB全系列。Emerson的DeltaV、Invensys的I/A、Ovation等都采用分散模块结构。国内的和利时的最新K系列和浙江中控的ECS700都采用分散模块式结构。 总体设计在软件结构上分为两个流派:对等网结构(P/P)和客户/服务器C/S结构。 对等网结构(P/P):控制站同操作员站的地位对等,通讯方式点对点。优点是通讯不依赖于通讯节点,危险相对分散。缺点是一个域的系统规模受限制。数据处理量也受限制。难以适合核电等超大规模系统结构。 客户/服务器C/S结构:控制器和操作站的通讯通过服务器节点通讯。优点是利于做大型和超大型系统,缺点是通讯依赖于冗余的服务器节点,对服务器的可靠性要求高。 鉴于对等网结构(P/P)和客户/服务器C/S结构各有优势,最先进的系统是可以混合结构,两种通讯结构都支持,而且可以同时存在于一套系统中。如Honeywell的PKS-C300系列和和利时的MACS-K系列。既可以危险分散又可适应大规模。 硬件选型 1)控制器 控制器选择的考虑因素主要有响应周期、带模块能力和扩展能力。运算周期决定用于装置需要的反应速度;带模块能力决定了系统规模;扩展能力决定了接第三方仪表的能力。 2)响应周期 控制器的响应周期包括采样周期和运算周期两部分,采样周期取决于I/O模块采样速度和I/O模块总线速度。运算周期取决于CPU运算速度。先进的控制器通常具备可设置不同的运算周期以满足控制的需要。通常为100ms、200ms、500ms、1000ms、2000ms可选,不同的控制对象可以用不同的运算周期,是衡量控制器技术是否先进的重要标志。 选择控制器的运算速度不能只看CPU的主频,因为不同的系统构架,系统运算的效率差别较大。目前主要有基于PowerPC、ARM和X86构架,其中X86构架的CPU虽然主频很高,但运算效率不一定很高,同样构架下采用RISC(Reduced InstrucTIon-Set Computer)指令相比CISC(complex instrucTIon set computer)指令效率更高。 对于常规控制回路要求从IO经过PID运算,至AO输出的累积响应周期最快可达到250ms、500ms和1000ms三档,同时控制器应具备快速控制能力,从IO经过PID运算,至AO输出的累积响应周期最快可达到120ms。 3)带模块能力 带模块能力决定了单控制站系统规模,大多数DCS系统都在60~120个范围,市面上单模块点数在模拟量8/16点,开关量16/32点。单控制站容量在600-1200点左右。带模块能力与控制响应速度是一对矛盾,当响应时间短的控制场合,需要相应减少带模块数量。特别要限制快速控制回路模块数量。一般以控制器负荷不大于50%为最终要求。 4)扩展能力 需要现场总线仪表接入的场合,要求控制器具备第三方总线仪表接入的能力,目前是DP总线、PA总线、Modbus总线和FF总线较为普遍。这就要求控制器具备下挂网关总线模块的能力。 控制器冗余是DCS选型的必须要求,冗余切换的时间一般要求不大于2ms,这对于现代电子技术来说很容易,诊断电路的快速和准确性,决定了切换的时间。但软件的无扰切换直接影响现场设备,因此软件输出数据的无扰切换是才是衡量控制器冗余技术的关键技术。一般要求不大于最小控制周期。因此两个控制器的数据同步技术是保证无扰切换的关键。DCS控制器冗余原理见图4-1-2。 图4-1-2 DCS控制器冗余原理图 5)通讯网络 控制器与人机界面操作站之间的通讯网络一般由以太网构成的冗余网络。通讯速率为100/1000Mbps.控制站与内部I/O模块之间的网络一般有自定义的冗余总线构成,通讯速率为500Kbps到10Mbps不等。控制器与I/O模块的总线分为并行总线和串行总线两种,因串行总线在抗干扰,可扩展性要更好,已经形成发展大趋势。 网络具有物理层和协议层双重隔离,通讯负荷要求不超过40%。 6)电源设计 DCS电源交流为AC220V为主,电源输入稳定度要求不大于10%,频率输入稳定度不大于2%。DC24V电压输出波动不大于5%,DC48V电压输出波动不大于10%。 DCS实际分为模拟部分电源和数字部分电源两大部分供电,要求系统自带电源将模拟部分和数字部分隔离供电。电源也要求冗余供电,且要求只剩单个电源时,负载不超过额定功率的70%。现场仪表设备的供电要求与DCS系统隔离供电。电源要求有自保护功能,局部误接入高压或外部设备短路,不会造成控制站电源系统故障,系统电源模块故障次数不大于2次/年。 7)IO模块选型 IO设计从开始推出时的单点卡,到后期的多点卡,高密度卡;系统的模块采用背板插装方式,到目前逐步采用独立模块设计;系统的整体设计可靠性提升,且最大便利提供用户的易维护性。任意模块故障不影响其他模块,任意通道故障不影响其他通道,系统中I/O模块故障次数不大于4次/年。 模块类型应该满足目前国际上通用的信号采样标准: AI、AO、DI、DO、PI(脉冲输入)、SOE、 RTD、TC等。 I/O卡配置原则: 控制用AI/AO卡应1:1冗余配置。 联锁用DI/DO卡应1:1冗余配置。 监测用AI/TC/RTD通道数不超过32点。 监测用脉冲通道数不超过16点。 DI点通道数不超过16点,来自电气的DI必须采用继电器隔离。 DO点联锁时卡件通道数不超过16点,必须采用继电器隔离。 危险气体监测卡需要单独设置卡件。 系统一般预留20%的备用卡件,同时预留15%的扩展空间。 全部I/O卡基于恶劣的工业环境设计,符合EMC的设计规范,应带电磁隔离或光电隔离,抗干扰性符合工业环境下的国际标准IEC61000。有防腐需要时系统防腐蚀能力满足ISA S71.04标准G3等级要求。I/O模块需要有断线、短路、超量程、通讯等报警功能。 需要防爆的场合,需要选配安全栅或带本安防爆的卡件。 控制I/O模块要求冗余配置,常用的是AI冗余有两种原理,以Honeywell C300硬件为代表采用并联冗余机制,原理是将电流信号通过同一个250欧姆电阻,转换为电压信号,再并联两个测电压模块同时测量,同时送控制器,由控制器挑选品质好的模块运算。并联式冗余示意图如图4-1-3。 图4-1-3 I/O模块并联式冗余示意图 以Yokogawa CS3000、Emerson DeltaV为代表的采用切换式冗余机制,原理是冗余的模块内藏切换开关,只有主模块开关才接通,备用模块开关不接通。切换式冗余示意图如下: 图4-1-4 I/O模块切换式冗余示意图 并联式冗余和切换式冗余各有利弊:并联式冗余优点是不存在切换后重新建立稳态的时间,响应速度快,缺点是共用一个取样电阻,危险集中,一旦该电阻损坏,两个模块都不起作用了。另外取样电阻同模块分离,精度和稳定性控制难度大。切换式冗余优点是危险分散,没有共用器件。取样在模块内部一体化,精度和稳定性高。缺点是切换后需要重新建立稳态工作环境,时间比并联式长。 现场总线通讯模块主要包括: 1)Serial Card串行通讯模块,主要用于Modbus等协议通讯。 2)FoundaTIon FieldBus Card FF总线通讯模块。 3)ProfiBus DP/PA Card ,用于DP/PA总线通讯。 4)Wireless CommunicaTIon Card,用于无线仪表通讯。 5)DeviceNet和AS-Interface,工厂自动化主流现场总线。 现场总线模块需要同第三方总线设备进行兼容性测试通过后,才能选型具体总线仪表,否则将有通讯不兼容风险。同传统仪表不同,总线仪表在使用过程中,与通讯模块的配合升级将难以避免。因此维护工作需要较高的水平。 软件选型 1)组态管理软件 组态软件用来配置、部署和管理整个DCS系统,承担组态流程中主要的组态过程。离线组态软件包括工程总控、图形编辑、控制逻辑组态软件、报表组态软件等,以及完成工程的编译、下装、项目管理、工程管理等功能。组态管理软件应该符合IEC61131-3的控制算法编程软件,支持CFC、SFC、LD、ST组态语言,支持用户自定义各类功能块和脚本语言。任何组态修改均可在线完成,包括对控制算法、硬件配置的增加、删除、修改,系统数据库、图形组态、系统配置等各项组态内容,都可以做到现场不停车无扰下装与修改,大大提高系统的可维护性以及可用性。组态软件需关注控制功能的完善程度,如报警诊断、自定义、自整定、优化算法、复杂算法、行业应用包等。 2)在线运行软件 监控系统面向操作者,以模拟流程图、棒状图、数值表、趋势曲线、报表、按钮、对话框等方式为用户提供数据,执行操作指令并发送至现场控制站。监控系统面向操作者,以模拟流程图、棒状图、数值表、趋势曲线、报表、按钮、对话框等方式为用户提供数据,执行操作指令并发送至现场控制站。在线允许软件需关注支持的系统规模、人机界面优化性、报警诊断完善、操作质量下发指令实时性、画面响应时间、历史存储数量和时间等参数。 通过监控系统,操作者和工程师可以完成:监控自动控制过程,实时人工干预,自动打印或者按需求打印工作报表等任何所需资料,还可以通过厂级监控的MIS等网络将画面和数据提供给管理者。可以完成实时数据采集、动态数据显示、过程自动控制、顺序控制、高级控制、报警和日志检测、监视、操作,可以对数据进行记录、统计、显示、打印等处理。 3)控制器软件 用来完成现场信号采集、工程单位变换、控制和联锁控制算法、控制输出、通过系统网络将数据和诊断结果传送到操作员站等功能。 4)辅助软件 用于完成DCS系统的一些辅助组态和系统查询、管理功能,包括:OPC通讯软件、历史离线查询工具、系统升级工具、软件版本管理工具、系统仿真软件、授权管理工具等。

    时间:2020-05-15 关键词: CPU 控制器 dcs系统

  • CPU为何挤牙膏升级?AMD苏姿丰:未来5到10年会改变

    CPU为何挤牙膏升级?AMD苏姿丰:未来5到10年会改变

    10多年来,桌面CPU处理器从4核升级到了8核、16核,频率也从3GHz升级到了5GHz,但是很多人还是觉得CPU在挤牙膏升级。 对于CPU升级这事,一方面是国内的几年中半导体制程工艺放缓了,厂商也难为无米之炊,每代CPU升级时IPC提升确实不明显。 另外一点则是跟PC玩家的日常应用有关,上网、Office办公、看电影、玩游戏等场合中,对CPU性能真的没那么高了,日常需求决定了你换个16核CPU上网也不会比4核快多少。 那能怎么办呢?AMD CEO苏姿丰日前在接受美国媒体采访时提到,未来5到10年中,超算中使用的技术将会进入消费级市场。 她举了一个例子,目前处理文本信息对CPU性能没多大要求了,但是语音转文本等应用就不一样了,需要先进技术不说,还要大量的硬件资源才能解决。 目前这些处理工作是在云端的服务器完成的,未来这类任务将会转移到客户端设备中,这样一来就能感觉到CPU性能的提升了。

    时间:2020-05-14 关键词: CPU AMD 苏姿丰

  • 安防芯片自卫战是如何打响的

    安防芯片自卫战是如何打响的

    海康威视在 10 月贸易风波中经历的采购问题,引出了一个中国安防企业共同面对的发展关键——芯片。 以海康威视为例,分析其芯片采购构成会发现:高端 CPU、GPU 等通用器件主要来源于安霸、英伟达、英特尔等美国企业;余下的中端甚至是低端元件来自于海思等国内企业,但值得一提的是 SoC 芯片等元件已实现非美国供应。 面对如此的飞来横祸,海康威视在电话会议上回应,在高端元件方面事先备好的 1-2 年存货和正在进行的供应链及产品方案的替代处理,缓和了此次风波中经历的风险和压力。 但所有人都悉知这并非长远之计。,海康威视高级副总经理、董秘黄方红明确表示「如果有需要我们自己设计芯片」,「自研一款芯片并不是很复杂的事情,但大家需要关注的是中国芯片产业链整体的进展」。 国内安防市场如今面临了一个希腊半神英雄阿基里斯一样的困境。 国内安防产业体量巨大,但与此同时,高端芯片过度依赖进口的现状却反映出国内安防芯片领域发展的不良于行。安防芯片就是这个英雄脆弱的脚踵,被击中后不仅步履维艰,更有就此轰然倒下的危机。 这在这个特殊的外交历史时期尤为引发思考和关注。 1 追根溯源 国产芯片问题的关键在哪里? 这就需要对近期安防产业链条中的关键芯片元件的市场,以及芯片设计 EDA 行业进行集中整理和分析,才能较为全面地认识到其中的问题。 1.CPU CPU 是芯片领域技术追赶难度最大的存在,同样也是安防领域数据中心端最重要的存在。 一方面,英特尔几乎垄断了整个 CPU 市场,国内敢于挑战 CPU 内核的企业团队数量非常有限。虽然有龙芯这样具有研发能力的厂商,但产品大都没有实现商业量产。因此维持生存和运营仍需要申请科研项目和政府的补贴。 另一方面,由于缺乏完善的产业生态支持,尽管做出的产品在单一或部分指标上能够超越国外 CPU,但还是不足以与市场主导产品形成竞争。 但有希望的是,从龙芯(MIPS)架构,海光和兆芯(X86 架构,从 AMD 和 VIA 获得授权,申威(购买 DEC alpha 架构),再加上一些交换芯片,arm 架构的处理器,中国基本能实现整个计算机和网络设备的全自主。 同时,RISC-V 开源架构的普及有望吸引到更多的挑战者。 1)龙芯,源于中科院,是国内 PC 级 CPU 销量最大的公司,打破了国内部分专家和从业人士并不看好 CPU 国内自主路线的发展的落后观念。 最新一代龙芯 3A4000 处理器,采用 28nm 工艺,频率从龙芯 3A3000 的 1.5GHz 提升到了 2.0GHz,架构升级为 GS464V,搭配的芯片组也升级到了龙芯 7A2000,28nm 工艺。目前亮相的只是样机量产向客户供货要等到明年。 另一波代表产品,龙芯 3A/B3000 处理器出货量达 30 万片以上。据称更换到 14 纳米工艺后,就能达到 AMD 公司 Zen 系列处理器的水平。 2)兆芯,成立于 2013 年,是 VIA 威盛与上海政府基金成立的合资公司,获得了 X86 授权,是国内发展高性能 X86 处理器的中坚力量。 兆芯和安钛克合作发布国产化自主可控网络安全平台,也与龙芯、飞腾有合作,推出龙芯 3A3000/3A4000,兆芯 C4600、飞腾 FT1500A/2000 系列。 在 x86 处理器领域,如果说状元和榜眼分别是英特尔 (intel) 和 AMD,那么探花则是 2013 年成立的上海兆芯集成电路公司。 今年 6 月份发布的兆芯 KX-6000、KH-30000 系列,将工艺升级到 16nm 工艺,成为国内第一款主频达到 3.0G 赫兹的通用 CPU,有 4 核及 8 核两种规格,还支持 PCIe 4.0、双通道 DDR4 内存,搭配的芯片组升级到了 KH-3000 系列。 3)今年初,华为推出鲲鹏 920,成为业界首颗兼容 ARM 架构的 64 核数据中心处理器。 性能上,四核版相当于酷睿 i5 6300H,八核版相当于酷睿 i5 8300H。采用 7nm 工艺制造,该处理器基于 ARMv8 架构,拥有 64 个 2.6GHz 核心,支持 8 通道 DDR4、PCIe 4.0 和 CCIX 互联芯片。 9 月,华为已经率先在深圳电力行业部署鲲鹏国产 CPU 生态体系,逐渐取代英特尔 CPU。 4)飞腾,是国产 CPU 企业中能够覆盖高性能计算芯片 (大) 到桌面、嵌入式芯片 (小) 均能提供产品的企业,是国产芯片的主流代表之一。 截至 2019 年 8 月,已联合 500 余家软硬件合作伙伴,研制了 6 大类 300 余种整机产品,移植、优化了 1000 余种软件。 2019 年 8 月 26 日,国内自主安全领域领军企业中国长城完成对天津飞腾 35% 的股权收购,成为天津飞腾的第一大股东。 2.GPU 芯片: GPU 方面,产值小、门槛高使市场内几乎只剩下两家可以研发高性能 GPU 的公司:AMD 和英伟达。英伟达是全球最大的独立 GPU 供应商,GPU 芯片销售收入占到了总收入的 81%。 而在移动 GPU 端,主流架构主要包括 ARM 开发的 Mali、Imagination 开发的 PowerVR,以及高通开发的 Adreno。 在被苹果抛弃前,ImaginaTIon 曾是业内最大的研发商,濒临倒闭,2017 年被中国私募投资基金——凯桥(Canyon Bridge)斥资 5.5 亿英镑(约合 49 亿元人民币)收购。目前全球采用 ImaginaTIon 技术的芯片出货已经超过了 110 亿颗。 技术、人才、专利,这三样成为了其他公司与之同场竞技时不得不面对的重要障碍,国内 GPU 厂商更是难以摸到彼此之间的巨大差距。景嘉微成为了目前国内唯一量产 GPU 的行业龙头。 1)景嘉微,国内 GPU 行业龙头,A 股唯一 GPU 芯片设计公司,成立于 2006 年 4 月。 研发背靠国防科大,并积极与国内外算法公司展开新技术合作。首款具备自主知识产权的图形处理芯片 JM5400 已经开始应用,下一代 GPU JM7200 流片、封装、测试、适配顺利, 今年 3 月份获得首批订单,明年有望放量。JM9231 GPU 性能可达到 2016 年中低端产品水平,这对于起步较晚的国内显示芯片行业而言应该说意义还是非常重大的。 2)西邮微电,嵌入式图形处理器(GPU)芯片-萤火虫 1 号,嵌入式 GPU 芯片,该项目填补了国内空白,总体技术达到国内领先水平。 3)中科曙光,代表的 Xmachine GPU 服务器和 Sothis AI 人工智能平台,面向金融人工智能应用,提供定制化开发产品及服务。从芯片、板卡、整机、平台、开发架构上,全面支撑金融机构的人工智能应用,提高金融服务器性能,控制金融风险。 4)英特尔,明年即将推出 Xe GPU,半路进军已经十分成熟的 GPU 市场,势必会做出差异化产品。据称,GPU 将成为英特尔公司未来第二重要的产品。 5)Vivante 被芯原微电子收购,主流的嵌入式 GPU 技术供应商,ARM、ImaginaTIon、Qualcomm、Vivante 和 NVIDIA 五强基本垄断市场。 3. ASIC 芯片/AI 芯片: 专用芯片 ASIC(多为 AI 芯片)的高研发时间成本和高技术商业化风险成了未来推广之路的一大障碍。但其场景定制化的优点备受安防厂商青睐,目前国内已有成熟安防芯片产品,如比特大陆、寒武纪、地平线、依图等。 由于尚未形成一定的技术壁垒,国内芯片厂商纷纷抓住此次机会想要一展头角:中科寒武纪推出了 NPU 芯片,地平线推出了 BPU 芯片等等以响应市场的号召。国内芯片厂商在这一领域的发展值得期待。

    时间:2020-05-14 关键词: CPU 芯片 AI

  • Windows 10 5月更新新改变:弱化Cortana存在 提高生产力Win10 2020新版

    Windows 10 5月更新新改变:弱化Cortana存在 提高生产力Win10 2020新版

    之前微软已经表示,将在5月推出2020年首个Windows 10大更新,这也引起了众多用户的关注,而为了减少出错的可能,其正在大规模内测中。 据外媒最新报道称,在Windows 10 Version 2004功能更新中,Cortana启用了全新的外观,优化了聊天方式的交互体验,并且微软正积极扩大至美国之外的更多国家和地区。 Cortana的重心已经转移到生产力,如果你此前喜欢使用Cortana来调用音乐或者其他消费级的娱乐功能,那么这并不是什么好消息。Cortana依然支持列表、提醒、电子邮件、日历,你还可以用文字和语音启动应用。 其实微软去年就有所解释,现在主要考虑的是为企业用户提供Cortana服务。新的Cortana将完全是关于生产力的,例如,它将深度集成到微软的办公工具套件中。在这种情况下,消费者服务只会分散这家公司对产品开发的注意力,接下来,微软将把这个市场留给亚马逊、谷歌等这样的公司。 事实上也确实如此,新的Cortana体验都是关于Microsoft 365订阅服务,该服务包括访问办公工具、电子邮件、在线存储,所以对于这款电子助理的新功能将为用户提供日历、Microsoft To Do notes等功能这件事情并不令人感到奇怪。 总结来说就是,Cortana跟普通用户的联系会越来越少,以至于最终淡出大家的视线。

    时间:2020-05-13 关键词: Windows CPU Intel 10 多核 win10

  • stm32单片机和51单片机,你能分得清吗?

    stm32单片机和51单片机,你能分得清吗?

    什么是stm32单片机和51单片机?你能区分吗?单片微型计算机简称单片机(MCU),简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机只是将这所有的集中在了一个芯片上而已。stm32单片机or51单片机哪个更优秀? 什么是51单片机? 应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。 什么是stm32单片机? STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按内核架构分为不同产品:其中STM32F系列有:STM32F103“增强型”系列STM32F101“基本型”系列STM32F105、STM32F107“互联型”系列增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,相当于0.5mA/MHz。 stm32单片机or51单片机哪个更优秀? 51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flash ROM技术的发展,8031单片机取得了长足的进展成为了应用最广泛的8bit单片机之一,他的代表型号就是ATMEL公司的AT89系列。 STM32单片机则是ST(意法半导体)公司使用arm公司的cortex-M3为核心生产的32bit系列的单片机,他的内部资源(寄存器和外设功能)较8051、AVR和PIC都要多的多,基本上接近于计算机的CPU了,适用于手机、路由器等等。 总的来说51有51的轻巧 ,STM32有STM32的强大。 首先51是入门最简单, 相对来说好学, 功能少 ,控制比较方便。但是速度 、功能都没有STM32强大 ,STM32是32bit的, 外围接口丰富, 但是入门就有点难度了。 再就是51的速度能快点 ,但是毕竟是8bit的, 51大多是冯诺依曼结构 ,STM32是哈弗结构的, 数据处理起来很快。以上就是stm32单片机和51单片机的区别解析,希望能给大家帮助。

    时间:2020-05-13 关键词: CPU MCU RAM

  • AMD良心 发布三年的锐龙3 1200 升级12nm Zen+ 售价不变

    AMD良心 发布三年的锐龙3 1200 升级12nm Zen+ 售价不变

    发布三年的CPU还给你免费升级新工艺、新架构,这样的好事也只有AMD做得出来了。前不久曝光的新版锐龙3 1200悄然升级到12nm Zen+架构,核心、频率都没变,同时售价维持不变。 锐龙3 1200处理器是锐龙系列的入门级CPU,14nm工艺、Zen架构,2017年7月份发布,距今差不多三年了,目前还没退市,依然是低端市场的中坚力量,海外价格在60美元左右。 在锐龙5 1600享受到一次免费升级12nm Zen+之后,锐龙3 1200处理器前不久也被爆料说免费升级12nm Zen+,新版编号为YD1200BBM4KAF,而之前的14nm锐龙3 1200编号是YD1200BBM4KAE。 这次升级不会有什么规格上的变化,依然是4核4线程,频率3.1到3.4GHz,8M L3缓存,TDP 65W。 德国媒体报道,新版锐龙3 1200已经开卖,售价是54.73欧元,跟14nm的锐龙3 1200基本上同价,没涨价,意味着AMD会原样替换旧款产品。 升级不加价,没什么不满的,其实际性能可能会更高一些,因为12nm Zen+架构比较占优一些,理论上会让它运行在加速频率下的时间更长,提升一下整体性能。

    时间:2020-05-13 关键词: CPU 1200 AMD zen 12nm 锐龙3

  • 2年升级一次 Intel:10nm、7nm及5nm工艺开发不会削减投资

    2年升级一次 Intel:10nm、7nm及5nm工艺开发不会削减投资

    在去年了量产10nm工艺之后,按计划Intel将在2021年推出7nm工艺,5nm也会在2023年问世,回到之前的2年升级一次的周期。 开发新工艺、提升新工艺产能都是需要钱的,不巧的是今年遇到了疫情危机,Intel也不得不推迟或者削减部分投资,可能会多花掉6到8周的资本开支,显然有些项目会受到影响。 但是Intel的先进工艺不会被削减成本的问题困扰,Intel在财报会议上表示,10nm、7nm及5nm工艺的任何重要资本开支都在按计划进行,不受影响。 Intel的7nm工艺将在Xe架构的高性能GPU上首发,官方目前还没公布技术细节,但是晶体管密度预计在2亿/mm2到2.4亿/mm2之间,超过台积电的5nm,略低于台积电的3nm。 按照这个趋势下去,2023年的5nm工艺将会彻底反超台积电及三星的3nm工艺。

    时间:2020-05-13 关键词: CPU Intel 工艺 7nm 5nm

  • 1nm工艺CPU还有多远?台积电即将挑战极限:进军1nm工艺

    1nm工艺CPU还有多远?台积电即将挑战极限:进军1nm工艺

    我们现在使用的半导体大部分是硅基电路,问世已经60年了,多年来都是按照摩尔定律2年一次微缩的规律发展,但它终究是有极限的。台积电在突破5nm、3nm及未来的2nm之后,下一步就要进军1nm工艺了。 根据台积电的规划,今年会量产5nm工艺,2022年则会量产3nm工艺,2nm工艺已经在研发中了,预计会在2024年问世。 2nm之后呢?台积电在日前的股东大会上也表态,正在研究2nm以下的工艺,正在一步步逼近1nm工艺。 1nm工艺不仅仅是这个数字看上重要,它还有更深的含义—;—;1nm级别的工艺有可能是硅基半导体的终结,再往下走就需要换材料了,比如纳米片、碳纳米管等等,2017年IBM领衔的科研团队就成功使用碳纳米管制造出了1nm晶体管。 硅基半导体工艺的极限其实一直在突破,之前的说法中,10nm、7nm、5nm、3nm甚至2nm都被当做过硅基工艺的极限,现在来看还是一步步被突破了,如果不考虑台积电、三星在工艺命名上的营销套路的话。 在2019年的Hotchips会议上,台积电研发负责人、技术研究副总经理黄汉森(Philip Wong)在演讲中就谈到过半导体工艺极限的问题,他认为到了2050年,晶体管来到氢原子尺度,即0.1nm。 关于未来的技术路线,黄汉森认为像碳纳米管(1.2nm尺度)、二维层状材料等可以将晶体管变得更快、更迷你;同时,相变内存(PRAM)、旋转力矩转移随机存取内存(STT-RAM)等会直接和处理器封装在一起,缩小体积,加快数据传递速度;此外还有3D堆叠封装技术。

    时间:2020-05-13 关键词: CPU 台积电 1nm工艺

  • 大数据在应用程序监控中有什么作用

    大数据在应用程序监控中有什么作用

    应用程序监控中的大数据正在变得更加重要,人们需要了解它如何工作以及为什么有用的知识。 大数据催生了许多新的应用,移动设备和台式电脑都能够使用更复杂的应用程序来为世界各地的用户提供服务。 大数据不仅仅对开发新的应用程序有用。它也适合更容易地监视这些应用程序。许多应用程序都可以依赖人工智能算法来保障好的用户体验,更大程度地减少停机时间,并保持程序的平稳运行。 使用大数据的开发人员的数量未来将会继续增加,因为2021年的智能手机用户达到38亿。大数据在应用程序监控中的作用也将增加。 大数据在应用监控中的作用 应用程序监控(APM)这个术语在数字化转型的市场中迅速占了上风。像大数据或人工智能等其他术语一样,应用程序监控(APM)不仅因为其神秘的“新颖性”,而且由于其保持企业绩效和减少灾难的能力而吸引了业务领导者和创新者的注意力。 应用程序过程监视工具为各种规模的组织提供了所需的解决方案,以监视其网络或技术堆栈中关键工具的性能。大数据使它比以往时候都更加可靠。这意味着,使用大数据监控应用程序性能的组织实际上可以首先知道某个应用程序何时出现问题,及时可靠的应用程序监控工具可以帮助人提前解决灾难性问题,从而将不必要的停机时间和故障降至低。在过去的几年中,Hadoop数据挖掘工具使这些监控工具更加可靠。 在哪里使用应用程序监控(APM)工具? 通常,在构建自己的基本应用程序的企业的工具包中可以找到应用程序监控(APM)工具。对于一家依靠自己的大数据应用程序来保持流程平稳运行的科技公司,则可能需要应用程序监控(APM)系统。如果要向组织外部的公司和客户交付软件,则还可以使用应用程序监控(APM)工具来确保可以提供一致的用户体验。采用大数据可以简化此过程。 如今,大数据世界中应用市场的潜力是很大的。如今已经看到Uber、Netflix、Amazon Prime等解决方案形式的增长,而且随着越来越多的数字业务的兴起,人们将看到可用的应用程序数量继续增长。在现代环境中,具有价值的创收应用程序正在成为企业发展的令人兴奋的方式之一,对于这类应用程序,应用程序监控(APM)解决方案是不可缺少的。 尽管应用程序监控(APM)解决方案的组件可能会根据企业所选择的内容而有所不同,但是其中大多数工具都提供了监视和改进应用程序性能的多种方式。例如,企业的应用程序监控(APM)工具可能包括: •洞察基本服务器指标,例如内存或CPU; •应用框架指标,例如JMX和性能计数器; •个人交易和请求的执行; •应用程序日志数据和错误信息; •真实的用户监控; •代码级性能编程。 为企业选择应用程序监控(APM)工具 随着应用程序监视成为多种规模的企业越来越受欢迎的选择,新型应用程序监控(APM)工具应运而生,以支持不同的目标。大数据的进一步发展将使它们更加可靠。例如,编写代码时需要使用的应用程序监控(APM)软件类型可能与发布后用于主动监控应用程序的工具完全不同。 为了保障选择适合自己需求的应用程序监控(APM)工具,企业需要很仔细地考虑自己的需求,包括计划使用哪种编程语言,是否需要SaaS或本地解决方案,以及企业是否需要一致的云计算支持。寻找易于使用的应用程序监控(APM)工具也是值得的。尽管这些系统变得越来越容易访问,但对于初学者来说它们可能会很复杂。 大数据引领应用监控新领域 大数据正以引人入胜的方式改变着应用程序监控领域的未来。明智的企业将继续投资于新的大数据工具,以确保应用程序高效可靠地运行。

    时间:2020-05-12 关键词: CPU 算法 大数据

  • AMD加入区块链游戏会有什么效果

    AMD加入区块链游戏会有什么效果

    据Cointelegraph 12月16日报道,美国跨国IT企业AMD(Advanced Micro Devices)已经加入了区块链游戏联盟(Blockchain Game Alliance),并建立了两个新的合作伙伴关系,以帮助推动区块链技术在行业中的应用。 图片来源:visualhunt 12月12日的一份新闻稿透露,这家芯片制造巨头正在与区块链技术提供商Robot Cache和ULTRA达成合作关系,这两家公司都致力于开发和运营基于区块链的在线游戏市场。这些市场旨在为游戏发行商和用户建立新的、安全的购买选择和分销渠道。 区块链游戏联盟是一个致力于在游戏中采用区块链技术的组织,该组织通过建立共同的标准、促进网络和知识共享,以及鼓励合作和实施最佳实践将区块链应用要游戏中。 据报道,AMD是第一个加入该联盟的主要硬件制造商,联盟其他成员包括Enjin代币创建者Fig和资深的区块链游戏开发商EverdreamSoft。 根据新闻稿,这两个市场将整合AMD的显卡和处理器技术的一系列用途,包括服务于他们的后端服务器和区块链基础设施。据报道,AMD的Ryzen处理器和Radeon显卡被设计用于提供最佳的加密计算性能。 AMD声称其CPU和GPU技术将成为计算密集型区块链和游戏工作负载的强大引擎。该硬件制造商还将提供强大的安全保护措施,以帮助保护数字内容免受一系列在线攻击。 今年早些时候,AMD的毛利率超出市场预期,其Ryzen和EPYC处理器以及数据中心GPU收入同比增长了逾一倍。 游戏作为区块链的入口 除了区块链游戏联盟等计划外,游戏行业一些家喻户晓的公司还与新的区块链企业签订了多项授权协议,这些公司包括俄罗斯方块游戏(Tetris)的开发商和吃豆人游戏(Pac Man)开发商Atari,后者已与区块链游戏初创企业Animoca签订了合同。 2018年2月,Atari宣布将投资加密货币后,其股价飙升超过60%。 今年3月,世界著名赛车系列一级方程式锦标赛(Formula 1)也通过一项全球授权协议向Animoca授予了品牌使用权,为该初创企业开发基于区块链的F1 Delta Time游戏铺平了道路。今年11月,F1 Delta TIme主办了一场数字收藏品——F1汽车品牌的非同质代币(NFT)——拍卖会,每枚代币的起拍价为30 ETH。 以太坊联合创始人Vitalik Buterin此前曾表示,NFT和游戏是一个有发展潜力的领域,可以帮助区块链技术在金融类应用之外获得影响力。

    时间:2020-05-12 关键词: CPU 区块链

  • 高通骁龙768G参数公布:CPU/GPU提升15%,支持10亿色照片

    高通骁龙768G参数公布:CPU/GPU提升15%,支持10亿色照片

    今天中午,高通公布了新款SoC 骁龙768G,骁龙768G支持拍摄超过10亿色的照片,支持4K HDR视频录制;单摄支持192 MP,视频格式支持HDR10, HDR10+, HLG, HEVC。 搭载了高通Kyro 475 CPU+传感器中枢+X52 5G调制解调器/射频系统,支持毫米波及6GHz以下频段。现在,高通官网公布了这款SoC的详细信息,一起来看一下吧。 骁龙768G支持120Hz屏,持部分骁龙Elite Gaming特性,支持GPU驱动升级;网络支持支持毫米波及6GHz以下频段,高通5G PowerSave技术,拥有全天候续航能力;支持Wi-Fi 6。 视频解码方面,骁龙768G支持H.265 (HEVC), H.264 (AVC), VP8, VP9,屏幕显示器支持QHD+ @ 60 Hz , FHD+ @ 120 Hz。内存方面,骁龙768G支持2133MHz。 根据官网的介绍,CPU部分,Kyro 475 频率可达2.8GHz,相比骁龙765G提升15%;GPU部分, Adreno 620 相比骁龙765G同样提升15%。

    时间:2020-05-11 关键词: CPU GPU

  • 高通官宣骁龙768G:支持4K HDR视频录制

    高通官宣骁龙768G:支持4K HDR视频录制

    近日,据报道,Redmi K30 5G极速版线上发布会将于今日下午14:00召开。首发搭载骁龙768G处理器的,基于高通5G PowerSave技术,拥有全天候续航能力。 基于高通Kyro 475 CPU+传感器中枢+X52 5G调制解调器/射频系统打造,支持毫米波及6GHz以下频段。 此外,据官方介绍称骁龙768G处理器支持部分骁龙Elite Gaming特性,采用高通第五代AI引擎;基于高通Spectra 355打造,可拍摄超过10亿色的照片,支持4K HDR视频录制。

    时间:2020-05-11 关键词: 高通 CPU 骁龙

  • 苹果将在iOS11.3 测试版中添加电源管理功能

    苹果将在iOS11.3 测试版中添加电源管理功能

    当苹果在今年早些时候预览其主要版本iOS 11.3时,确认将在“更高的Beta版本”中引入两项用于管理健康和电池电量的新功能,现在提供 更具体的时间。 昨天,这一罕见的消息使爱可信发表了一项声明,称美国政府正在调查并揭示由在iPhone模式下更新iOS软件和iPhone模式引起的处理器限制是否会违反证券法。 “这些功能将包含在下个月的开发人员版本中,以及今年春季的用户版本中,”总部位于加利福尼亚州库比蒂诺的科技公司指出。 听起来,苹果似乎并没有计划在未来的iOS 11.3公共beta版本中包括电池健康和电源管理功能,但我可能是错的。 这些功能会建议用户何时考虑更换电池,并让他们查看是否正在使用电源管理来防止意外关机。 最重要的是,用户可以选择关闭CPU节流功能。 电池健康信息将适用于iPhone 6及更高版本。CPU节流将在iPhone 6,iPhone 6 Plus,iPhone SE,iPhone 6s,iPhone 6s Plus,iPhone 7和iPhone 7 Plus上运行。

    时间:2020-05-11 关键词: CPU beta ios11.3

  • 为“推土机”8核CPU宣传买单 AMD赔付的9000万到帐

    为“推土机”8核CPU宣传买单 AMD赔付的9000万到帐

    2011年的时候,AMD推出了Bulldozer(推土机)架构,采用了全新模块架构设计的FX系列处理器亮点不少,还是全球首款桌面8核CPU,然而这件事给AMD惹了官司。 推土机CPU的命运大家都知道了,性能不济,单核性能尤其弱势,让A饭很失望。 虽然现在推土机CPU早就退市了,但是2015年AMD摊上了集体讼诉,以美国用户Tony Dickey为代表的消费者以集体诉讼的形式将AMD告上法庭,指责虚假宣传。 指控的焦点就在FX-8000系列的8核是否虚假宣传,AMD认为这是纯正的8核处理器,但诉讼方认为推土机所谓的单核功能不完整,共享浮点单元意味着它并不是真正的8核。 这起诉讼案持续了多年,最终AMD在2019年8月底与原告达成和解,将拿出总共1250万美元(约合8948万元)了结官司,其中律所分走3成,剩下的887万美元赔付消费者,每颗处理器约获赔35美元。 达成和解之后,AMD已经开始给用户理赔了,Reddit上有网友爆料,他已经收到了AMD的支票,获得了30多美元赔偿。 随着AMD支付的赔偿到位,推土机9年来应该可以正式安息了,彻底再见吧。

    时间:2020-05-11 关键词: CPU AMD 8核 推土机

  • 触摸屏的主要类型有哪一些

    触摸屏的主要类型有哪一些

    为了操作上的方便,人们用触摸屏来代替鼠标或键盘。工作时,我们必须首先用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。 触摸屏的主要类型 按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。每一类触摸屏都有其各自的优缺点,要了解那种触摸屏适用于那种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。下面对上述的各种类型的触摸屏进行简要介绍一下: 1、 电阻式触摸屏 这种触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。 当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。 电阻类触摸屏的关键在于材料科技,常用的透明导电涂层材料有: A、ITO,氧化铟,弱导电体,特性是当厚度降到1800个埃(埃=10-10米)以下时会突然变得透明,透光率为80%,再薄下去透光率反而下降,到300埃厚度时又上升到80%。ITO是所有电阻技术触摸屏及电容技术触摸屏都用到的主要材料,实际上电阻和电容技术触摸屏的工作面就是ITO涂层。 B、镍金涂层,五线电阻触摸屏的外层导电层使用的是延展性好的镍金涂层材料,外导电层由于频繁触摸,使用延展性好的镍金材料目的是为了延长使用寿命,但是工艺成本较为高昂。镍金导电层虽然延展性好,但是只能作透明导体,不适合作为电阻触摸屏的工作面,因为它导电率高,而且金属不易做到厚度非常均匀,不宜作电压分布层,只能作为探层。 1.1四线电阻屏 四线电阻模拟量技术的两层透明金属层工作时每层均增加5V恒定电压:一个竖直方向,一个水平方向。总共需四根电缆。 特点:高解析度,高速传输反应。 表面硬度处理,减少擦伤、刮伤及防化学处理。 具有光面及雾面处理。 一次校正,稳定性高,永不漂移。 1.2五线电阻屏 五线电阻技术触摸屏的基层把两个方向的电压场通过精密电阻网络都加在玻璃的导电工作面上,我们可以简单的理解为两个方向的电压场分时工作加在同一工作面上,而外层镍金导电层只仅仅用来当作纯导体,有触摸后分时检测内层ITO接触点X轴和Y轴电压值的方法测得触摸点的位置。五线电阻触摸屏内层ITO需四条引线,外层只作导体仅仅一条,触摸屏得引出线共有5条。 特点:解析度高,高速传输反应。 表面硬度高,减少擦伤、刮伤及防化学处理。 同点接触3000万次尚可使用。 导电玻璃为基材的介质。 一次校正,稳定性高,永不漂移。 五线电阻触摸屏有高价位和对环境要求高的缺点 1. 3电阻屏的局限 不管是四线电阻触摸屏还是五线电阻触摸屏,它们都是一种对外界完全隔离的工作环境,不怕灰尘和水汽,它可以用任何物体来触摸,可以用来写字画画,比较适合工业控制领域及办公室内有限人的使用。电阻触摸屏共同的缺点是因为复合薄膜的外层采用塑胶材料,不知道的人太用力或使用锐器触摸可能划伤整个触摸屏而导致报废。不过,在限度之内,划伤只会伤及外导电层,外导电层的划伤对于五线电阻触摸屏来说没有关系,而对四线电阻触摸屏来说是致命的。 2、 电容式触摸屏 2.1电容技术触摸屏 是利用人体的电流感应进行工作的。电容式触摸屏是是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层ITO,最外层是一薄层矽土玻璃保护层,夹层ITO涂层作为工作面,四个角上引出四个电极,内层ITO为屏蔽层以保证良好的工作环境。 当手指触摸在金属层上时,由于人体电场,用户和触摸屏表面形成以一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。 2.2电容触摸屏的缺陷 电容触摸屏的透光率和清晰度优于四线电阻屏,当然还不能和表面声波屏和五线电阻屏相比。电容屏反光严重,而且,电容技术的四层复合触摸屏对各波长光的透光率不均匀,存在色彩失真的问题,由于光线在各层间的反射,还造成图像字符的模糊。 电容屏在原理上把人体当作一个电容器元件的一个电极使用,当有导体靠近与夹层ITO工作面之间耦合出足够量容值的电容时,流走的电流就足够引起电容屏的误动作。我们知道,电容值虽然与极间距离成反比,却与相对面积成正比,并且还与介质的的绝缘系数有关。因此,当较大面积的手掌或手持的导体物靠近电容屏而不是触摸时就能引起电容屏的误动作,在潮湿的天气,这种情况尤为严重,手扶住显示器、手掌靠近显示器7厘米以内或身体靠近显示器15厘米以内就能引起电容屏的误动作。 电容屏的另一个缺点用戴手套的手或手持不导电的物体触摸时没有反应,这是因为增加了更为绝缘的介质。 电容屏更主要的缺点是漂移:当环境温度、湿度改变时,环境电场发生改变时,都会引起电容屏的漂移,造成不准确。例如:开机后显示器温度上升会造成漂移:用户触摸屏幕的同时另一只手或身体一侧靠近显示器会漂移;电容触摸屏附近较大的物体搬移后回漂移,你触摸时如果有人围过来观看也会引起漂移;电容屏的漂移原因属于技术上的先天不足,环境电势面(包括用户的身体)虽然与电容触摸屏离得较远,却比手指头面积大的多,他们直接影响了触摸位置的测定。此外,理论上许多应该线性的关系实际上却是非线性,如:体重不同或者手指湿润程度不同的人吸走的总电流量是不同的,而总电流量的变化和四个分电流量的变化是非线性的关系,电容触摸屏采用的这种四个角的自定义极坐标系还没有坐标上的原点,漂移后控制器不能察觉和恢复,而且,4个A/D完成后,由四个分流量的值到触摸点在直角坐标系上的X、Y坐标值的计算过程复杂。由于没有原点,电容屏的漂移是累积的,在工作现场也经常需要校准。 电容触摸屏最外面的矽土保护玻璃防刮擦性很好,但是怕指甲或硬物的敲击,敲出一个小洞就会伤及夹层ITO,不管是伤及夹层ITO还是安装运输过程中伤及内表面ITO层,电容屏就不能正常工作了。 3、红外线式触摸屏 红外触摸屏是利用X、Y方向上密布的红外线矩阵来检测并定位用户的触摸。红外触摸屏在显示器的前面安装一个电路板外框,电路板在屏幕四边排布红外发射管和红外接收管,一一对应形成横竖交叉的红外线矩阵。用户在触摸屏幕时,手指就会挡住经过该位置的横竖两条红外线,因而可以判断出触摸点在屏幕的位置。任何触摸物体都可改变触点上的红外线而实现触摸屏操作。 早期观念上,红外触摸屏存在分辨率低、触摸方式受限制和易受环境干扰而误动作等技术上的局限,因而一度淡出过市场。此后第二代红外屏部分解决了抗光干扰的问题,第三代和第四代在提升分辨率和稳定性能上亦有所改进,但都没有在关键指标或综合性能上有质的飞跃。但是,了解触摸屏技术的人都知道,红外触摸屏不受电流、电压和静电干扰,适宜恶劣的环境条件,红外线技术是触摸屏产品最终的发展趋势。采用声学和其它材料学技术的触屏都有其难以逾越的屏障,如单一传感器的受损、老化,触摸界面怕受污染、破坏性使用,维护繁杂等等问题。红外线触摸屏只要真正实现了高稳定性能和高分辨率,必将替代其它技术产品而成为触摸屏市场主流。 过去的红外触摸屏的分辨率由框架中的红外对管数目决定,因此分辨率较低,市场上主要国内产品为32x32、40X32,另外还有说红外屏对光照环境因素比较敏感,在光照变化较大时会误判甚至死机。这些正是国外非红外触摸屏的国内代理商销售宣传的红外屏的弱点。而最新的技术第五代红外屏的分辨率取决于红外对管数目、扫描频率以及差值算法,分辨率已经达到了1000X720,至于说红外屏在光照条件下不稳定,从第二代红外触摸屏开始,就已经较好的克服了抗光干扰这个弱点。 第五代红外线触摸屏是全新一代的智能技术产品,它实现了1000*720高分辨率、多层次自调节和自恢复的硬件适应能力和高度智能化的判别识别,可长时间在各种恶劣环境下任意使用。并且可针对用户定制扩充功能,如网络控制、声感应、人体接近感应、用户软件加密保护、红外数据传输等。 原来媒体宣传的红外触摸屏另外一个主要缺点是抗暴性差,其实红外屏完全可以选用任何客户认为满意的防暴玻璃而不会增加太多的成本和影响使用性能,这是其他的触摸屏所无法效仿的。 4、表面声波触摸屏 4.1 表面声波 表面声波,超声波的一种,在介质(例如玻璃或金属等刚性材料)表面浅层传播的机械能量波。通过楔形三角基座(根据表面波的波长严格设计),可以做到定向、小角度的表面声波能量发射。表面声波性能稳定、易于分析,并且在横波传递过程中具有非常尖锐的频率特性,近年来在无损探伤、造影和退波器方向上应用发展很快,表面声波相关的理论研究、半导体材料、声导材料、检测技术等技术都已经相当成熟。 表面声波触摸屏的触摸屏部分可以是一块平面、球面或是柱面的玻璃平板,安装在CRT、LED、LCD或是等离子显示器屏幕的前面。玻璃屏的左上角和右下角各固定了竖直和水平方向的超声波发射换能器,右上角则固定了两个相应的超声波接收换能器。玻璃屏的四个周边则刻有45°角由疏到密间隔非常精密的反射条纹。 4.2 表面声波触摸屏工作原理 以右下角的X-轴发射换能器为例: 发射换能器把控制器通过触摸屏电缆送来的电信号转化为声波能量向左方表面传递,然后由玻璃板下边的一组精密反射条纹把声波能量反射成向上的均匀面传递,声波能量经过屏体表面,再由上边的反射条纹聚成向右的线传播给X-轴的接收换能器,接收换能器将返回的表面声波能量变为电信号。 当发射换能器发射一个窄脉冲后,声波能量历经不同途径到达接收换能器,走最右边的最早到达,走最左边的最晚到达,早到达的和晚到达的这些声波能量叠加成一个较宽的波形信号,不难看出,接收信号集合了所有在X轴方向历经长短不同路径回归的声波能量,它们在Y轴走过的路程是相同的,但在X轴上,最远的比最近的多走了两倍X轴最大距离。因此这个波形信号的时间轴反映各原始波形叠加前的位置,也就是X轴坐标。 发射信号与接收信号波形 在没有触摸的时候,接收信号的波形与参照波形完全一样。当手指或其它能够吸收或阻挡声波能量的物体触摸屏幕时,X轴途经手指部位向上走的声波能量被部分吸收,反应在接收波形上即某一时刻位置上波形有一个衰减缺口。 接收波形对应手指挡住部位信号衰减了一个缺口,计算缺口位置即得触摸坐标 控制器分析到接收信号的衰减并由缺口的位置判定X坐标。之后Y轴同样的过程判定出触摸点的Y坐标。除了一般触摸屏都能响应的X、Y坐标外,表面声波触摸屏还响应第三轴Z轴坐标,也就是能感知用户触摸压力大小值。其原理是由接收信号衰减处的衰减量计算得到。三轴一旦确定,控制器就把它们传给主机。 4.3表面声波触摸屏特点 清晰度较高,透光率好。高度耐久,抗刮伤性良好(相对于电阻、电容等有表面度膜)。反应灵敏。不受温度、湿度等环境因素影响,分辨率高,寿命长(维护良好情况下5000万次);透光率高(92%),能保持清晰透亮的图像质量;没有漂移,只需安装时一次校正;有第三轴(即压力轴)响应,目前在公共场所使用较多。 表面声波屏需要经常维护,因为灰尘,油污甚至饮料的液体沾污在屏的表面,都会阻塞触摸屏表面的导波槽,使波不能正常发射,或使波形改变而控制器无法正常识别,从而影响触摸屏的正常使用,用户需严格注意环境卫生。必须经常擦抹屏的表面以保持屏面的光洁,并定期作一次全面彻底擦除。 表面声波屏 声波屏的三个角分别粘贴着X,Y方向的发射和接收声波的换能器(换能器:由特殊陶瓷材料制成的,分为发射换能器和接收换能器。是把控制器通过触摸屏电缆送来的电信号转化为声波能和由反射条纹汇聚成的表面声波能变为电信号。),四个边刻着反射表面超声波的反射条纹。当手指或软性物体触摸屏幕,部分声波能量被吸收,于是改变了接收信号,经过控制器的处理得到触摸的X,Y坐标。 四线电阻屏 四线电阻屏在表面保护涂层和基层之间覆着两层透明电导层ITO(ITO:氧化铟,弱导电体,特性是当厚度降到1800个埃(埃=10-10米)以下时会突然变得透明,再薄下去透光率反而下降,到300埃厚度时透光率又上升。是所有电阻屏及电容屏的主要材料。),两层分别对应X,Y轴,它门之间用细微透明绝缘颗粒绝缘,当触摸时产生的压力使两导电层接通,由于电阻值的变化而得到触摸的X,Y坐标。 五线电阻屏 五线电阻屏的基层之上覆有把X,Y两方向的电压场加在同一层的透明电导层ITO,最外层镍金导电层(镍金导电层:五线电阻触摸屏的外层导电层使用的是延展性好的镍金涂层材料,外导电层由于频繁触摸,使用延展性好的镍金材料目的是为了延长使用寿命。)只用来作纯导体,当触摸时,用分时检测接触点X轴和Y轴电压值的方法测得触摸点的位置。内层ITO需四条引线,外层一条,共5根引线。 电容屏 电容屏表面涂有透明电导层ITO,电压连接到四角,微小直流电散部在屏表面,形成均匀之电场,用手触屏时,人体作为耦合电容一极,电流从屏四角汇集形成耦合电容另一极,通过控制器计算电流传到碰触位置的相对距离得到触摸的坐标 。 红外屏 红外触摸屏是利用X、Y方向上密布的红外线矩阵来检测并定位用户的触摸。红外触摸屏在显示器的前面安装一个电路板外框,电路板在屏幕四边排布红外发射管和红外接收管,一一对应形成横竖交叉的红外线矩阵。用户在触摸屏幕时,手指就会挡住经过该位置的横竖两条红外线,因而可以判断出触摸点在屏幕的位置。任何触摸物体都可改变触点上的红外线而实现触摸屏操作。

    时间:2020-05-11 关键词: CPU 触摸屏

发布文章

技术子站

更多

项目外包