硬件技术范例6篇

硬件技术

硬件技术范文1

关键词:新硬件;数据处理;软件栈

作者:涂云山,储佳佳,张耀,翁楚良(华东师范大学数据科学与工程学院,上海200062)

0引言

近年来,随着智能手机、物联网、人工智能等新兴技术的发展,使得接入互联网的设备变得越来越多,产生的数据量也越来越大,现有的系统已经很难满足业务增长的需要,促使我们对现有的系统进行改进升级,以至于它们可以应对技术发展带来的挑战[1-3].与此同时,计算机硬件和体系结构也在不断发展,像多核/众核、GPGPU、FPGA等与具体应用相关的异构处理器技术[4-10],像RDMA、可编程网卡、可编程交换机等高速定制化的新型网络技术[10-15],以及像NVDIMM、IntelROptaneTM等高吞吐量低时延的新型存储技术[10,16-17]已逐渐成为新兴计算平台的主流技术.当我们直接将这些高速的新型硬件运用到现有系统中时,发现传统的软件技术已经很难将这些新型硬件的全部潜能给释放出来.这是因为,随着硬件技术的不断进步,整体系统中硬件延迟大幅降低,从而使传统系统中开销占比较低的软件开销迅速提升,成为系统的主要瓶颈.

在处理器方面,经过几十年的发展,半导体的制造工艺已经达到了10nm,非常接近工艺的物理极限,以至于摩尔定律很难再继续.对数据处理应用来说,硬件提升速度放缓,与数据增长速度差距逐渐加大,给处理器带来了新的挑战.多核/众核、GPGPU、FPGA等技术的不断发展给数据处理应用带来了新的机遇:多核/众核技术可以使数据处理内部没有依赖关系的进程或线程真正地并行执行;GPGPU采用的单指令多线程(SingleInstructionMultipleThreads,SIMT)可以使大量线程并行地处理数据;FPGA采用硬件加速的方式使得每一条指令执行得更快,同时也具有更低的时钟周期,从而使它的功耗更低.新兴的处理器技术使得加速数据处理成为可能,但是它也给传统的软件技术带来新的挑战,需要做出调整以适应处理器的变化.

在网络方面,随着以太网技术的发展,10Gbps以太网已经逐渐在数据中心普及,有的甚至可达40Gbps.此外,RDMA的硬件价格也在不断降低,逐渐从传统的高性能计算领域走向数据中心的普通集群.在这些高速的网络硬件上,基于内核的TCP/IP协议栈的软件开销所占比例已经很大,变得不可被忽视.SimonPeter等人[18]通过在内核和用户空间进程中记录时间戳的方式,分析了网络软件栈的开销,如表1[18]所示.从表中我们发现,在Linux中,基于内核的TCP/IP协议栈花费在报文处理上的时间约为70%,主要原因是各层参数的软件多路分解和安全性检查.为了进一步释放高速网络带来的红利,内核旁路、零拷贝、轮询等技术被新型网络软件栈广泛采用.

在存储方面,新型非易失存储器(Non-VolatileMemory,NVM)的出现,使得I/O瓶颈得到很大缓解.IntelROptaneTM技术革新了内存和存储,将存储时延降到了微秒级,有效地填充了内存和外设之间的存储鸿沟.与网络软件栈相同的是,硬件技术的突破无形之中也使软件技术的落后凸显.为了进一步说明这个问题,我们使用fio[19]和blktrace[20]工具通过实验分析了存储软件各部分的开销,如表2所示.随着硬件技术的进步,驱动和设备的访问时延从3791µs显著降到24µs.在SATAHDD中,文件系统的开销占比仅有不到2%,而在NVMeSSD中,这部分所占比例迅速攀升到63%.这些数据已经反映了改进构建在新硬件之上的存储软件系统的紧迫性.因此,提出了一些高效的策略,如,多队列、内核旁路、轮询、消除上下文切换等,用于探索存储性能的极限.

表1网络软件栈开销

Tab.1Networksoftwarestackoverhead

pagenumber_ebook=40,pagenumber_book=32

表2存储软件栈开销

Tab.2Storagesoftwarestackoverhead

pagenumber_ebook=40,pagenumber_book=32

可见,传统的数据处理软件栈已经很难发挥出新硬件带来的全部潜能,设计实现一套面向新硬件的数据处理软件栈迫在眉睫.近年来,大量研究工作也给出了许多不同的思想和方法,用于优化新硬件下的数据处理软件栈.与现有的综述论文[1-5,10,16-17]不同的是,本文试图从计算、传输、存储等三个角度,对面向新硬件的软件技术研究现状进行全面梳理,分析该领域中已取得的进展以及存在的新问题和挑战,从而为未来探索数据处理性能“天花板”的研究提供有价值的参考.

本文的余下内容安排如下:第1节介绍新型计算机硬件的发展和趋势;第2节梳理和分析基于异构处理器体系结构的软件优化技术;第3节梳理和分析面向新型高速网络设备的软件优化技术;第4节梳理和分析针对高吞吐量低时延存储设备的软件优化技术;第5节讨论存在的新问题和挑战,并给出总结.

1新型硬件发展趋势

1.1异构的处理器

中央处理器(CPU)一直以来被广泛认为是计算机的心脏,是执行计算的主要硬件设备.为了适应各式各样的应用需求,它的功能更具一般化和通用性.在四十多年的发展中,从最初的Intel4004到最近的IntelXeonPlatinum8180,单核性能已提高了35000多倍.然而,最近十年,由于半导体制造工艺已经接近物理极限,单核性能也很难再有较大的提升,通用CPU逐渐开始转向多核/众核的方向.例如,IntelXeonPlatinum8180单颗处理器就多达28个物理核.通过增加核数的方式来提高并行度,进一步提升了CPU的数据处理能力.面对呈现指数级增长的海量数据,仅通过增加CPU核数,已很难满足应用对并行计算能力的需求,于是,混合GPGPU的异构处理器系统就应运而生.但是阿姆达尔定律(Amdahl’sLaw)告诉我们,当一个程序的可串行负载达到一定阈值(或可并行负载低到一定程度)时,无论怎么增加CPU核数也不会带来很大的性能提升,有时候甚至可能因为竞争资源导致性能下降.为了进一步提升系统的整体性能,引入FPGA,采用硬件方式加速数据处理成为新的趋势.

目前主流的数据中心服务器采用CPU+GPGPU+FPGA的异构处理器体系,如图1所示,GPGPU和FPGA通过PCIe总线与CPU相连,CPU与CPU之间通过QPI连接.GPGPU是一种支持通用计算的图形处理器,不仅拥有传统显卡的图形处理能力,也具备类似CPU的通用计算能力.目前,最新NVDIATESLAP40采用帕斯卡架构,单精度浮点运算能力高达12TeraFLOPS,整数运算能力高达47万亿次/s.如果一台服务器配置了8块TESLAP40,则它的处理能力完全可以与140台CPU服务器的性能媲美.然而,CPU和GPGPU的能耗也是一个不容忽视的问题.因此,也有些服务器搭载了主频更低、能耗更少的FPGA处理器,通过硬件方式加速数据处理,提高整体性能.随着OpenCL的发展,FPGA的编程也变得越来越简单,仅需要通过C/C++添加适当的pragma就能实现FPGA的编程,这也从某种程度上推动了FPGA进一步的发展.

pagenumber_ebook=41,pagenumber_book=33

图1异构的处理器

Fig.1Heterogeneousprocessors

1.2可编程的高速网络

遵循端到端原则的TCP/IP协议栈,经过三十多年的实践检验,被证明是一种高效的结构,它既降低了因特网的复杂度也易于增加新的应用.但是,一些新兴应用所需要的网络服务,例如,服务质量保证、多播支持、移动性支持等,无法仅由端系统提供,需要中间的路由器/交换机提供支持.与此同时,处理器主频的发展脚步慢了下来,开始转向多核和并行,然而程序的可并行度又受到不可并行部分的占比所限制.因此,人们开始将FPGA与网卡集成,与交换机集成.这既能满足新兴应用的需要,也可以卸载一部分CPU的负载到网络设备上,进一步提高整个系统的数据处理能力.

目前,Netronome公司的AgilioSmartNICs[21]可以在通用的x86商用服务器上使用,并且可以支持不同速率的以太网,例如,10GbE、25GbE、40GbE以及50GbE.这种带有计算能力的网卡不仅给自身带来了更大的灵活性,也缩短了传统的网卡到内存再到CPU的数据处理路径,仅仅需要网卡与内存之间的交互就足够了.用户可编程的交换机如雨后春笋般不断涌现,例如,BarefootTofino[22],一个6.5Tb/s(65x100GbE或260x25GbE)全可编程的以太网交换机,CaviumXpliant系列[23],是面向数据中心的可编程的以太网交换机,可以适用于1G/10G/25G/100G网络.这些可编程的网络技术使得数据中心依靠传统的中间件来解决的问题,如:负载均衡、地址翻译、探查DDoS攻击、设备迁移,可以高效地被折叠进可编程的网络中,进一步改善了整体的应用性能,同时,也使得网络变得更加灵活、应用具体化.

1.3新型非易失存储

基于DRAM的易失性存储器的访问时延在几十纳秒左右,而传统的机械硬盘的访问时延在1-10毫秒之间,以至于内存和外设之间的差异达到几十万倍,形成了很大的鸿沟.近些年,高速发展的闪存技术仅仅只能将外设的时延降低到几百微秒,并不能填补内存和外设的速度差异.一些新型的非易失性存储器(NVM)开始出现,寻求使用新型替代存储介质来突破I/O瓶颈,典型的存储介质有:相变存储器(PCM),利用硫属化物材料在“无定形相(高阻态)”和“结晶相(低阻态)”两种状态间阻值的变化进行数据存储;自旋矩传输磁存储器(STT-RAM),利用磁隧穿结(MTJ)来存储数据的工艺,在MTJ中,隧穿绝缘体薄层被置于两层强磁性介质中;电阻式存储器(RRAM),利用阻值变化进行数据存储的技术.不同存储器之间的性能对比,如表3[24-28]所示.

表3不同存储器的性能对比

Tab.3Performancecomparisonofdifferentmemory/storagetechnologies

pagenumber_ebook=42,pagenumber_book=34

同时,英特尔和美光也在芯片的制造工艺方面做出了革命性的创新,研发出了新型的3D堆叠技术,将传统的二维芯片制造推到了三维空间.这种堆叠技术很好地解决了内存控制器瓶颈问题,降低了访问时延,提高了设备的带宽.IntelROptaneTM系列产品[29]就是这项技术市场化的产物,它有两种不同规格,分别是,Optane内存和Optane固态硬盘.它们将设备的访问时延降到了十微秒量级,很好地填补了内存和外设之间的存储鸿沟.同时,这些先进的技术也给构建在硬件之上的数据处理软件带来新的机遇和挑战,促使整个软件栈作出调整来适应高速的存储硬件.

2新型计算技术

2.1多核

佐治亚理工学院的研究团队针对多核系统提出一种可拓展的定序原语—–ORDO[30],改善了现有的并发控制中采用原子指令解决高速缓存行冲突问题的可拓展性.在多核、多CPU的服务器上,定序需要使用非常昂贵的原子指令,这也很大程度上限制多核结构的并行性.因此,ORDO采用了一个全局恒定的同步硬件时钟,并且它也是一个对多核架构友好和具有不确定性窗口的时钟.此外,作者也通过使用他们所提出的ORDO原语,做了大量的实验,验证基于四种不同架构(IntelXeon、XeonPhi、AMD和ARM)的算法和系统软件(例如,RLU、OCC、Hekaton、TL2和进程分叉)的可拓展性是否得到改善.实验结果表明,这些不同的算法和系统软件均得到了很好的改善.

麻省理工学院的研究团队提出了一种新颖的文件系统设计—–ScaleFS[31],它采用与每个CPU核绑定的操作日志,解耦了在内存和磁盘中的文件系统.这种设计使得高度并发地访问内存中共享的数据结构成为可能,这是因为并行的存/取操作没有缓存冲突,可以并行执行,因此,可以使文件系统的性能得到完美地线性扩展.ScaleFS在每个CPU核对应的日志中记录相应的操作,以便它们可以被延迟,直到fsync系统调用才更新到磁盘中.fsync系统调用将会合并每个CPU核的日志,并将这些操作应用到磁盘上.ScaleFS通过使用基于时间戳的线性化点、计算操作的依赖关系和吸收操作等技术,既保证了良好的执行合并性能,又确保了最终操作的正确性.

除了上述ORDO和ScaleFS在高速缓存行方面的优化以外,随着内存计算技术的兴起,也有许多的研究者尝试在NUMA架构方面做出努力,改善访问本地和远端内存不对称的问题,进一步提高系统的整体性能,如,内存分配与调度[32]、并行查询评估[33]等.通过上述这些工作,我们发现目前基于多核体系结构的软件优化技术,主要采用减少软件系统中数据冲突方法,并提高阿姆达尔定律中可并行部分的占比,从而实现更高的并行性,达到加速上层数据处理应用的目的.

2.2GPGPU

由于OLAP中的任务执行模式非常符合SIMT特征,因此,在OLAP系统中实现数据并行计算是较为容易的.大量的数据可以被切分成多个数据块,将数据块作为并行执行的基本单位.所以OLAP的场景适合GPGPU的处理模型,开发者可以将多个数据块分配到多个不同线程块上并行执行.随着一台服务器中GPU数量的不断增加,PCIe的带宽成为了新的瓶颈.英伟达公司研发出新型NVLink技术[34],这也是GPU数据库与PCIe传输带宽瓶颈的一个解决方案.在CPU/GPGPU的异构体系结构中设计任务调度的框架,以及设计更为高效的算法来优化数据操作是当前研究的重点.

GDB[35]是一个基于GPGPU开发的完整的查询处理系统,包含了一系列基于GPGPU架构的高度优化的操作原语和关系算子,并设计了代价估算模型来估算GPGPU上的查询执行时间.马格德堡大学的研究团队提出了一个针对列存储数据库设计的混合查询执行引擎—–HyPE[36],能够综合CPU和GPGPU的特点,生成混合式查询计划,并基于代价估算模型对查询计划进行优化.在异构处理器查询执行时间的估算中,HyPE采用基于学习的自调整决策模型,在输入数据集和结果执行时间之间找到关联,并采用统计方法进行学习.当有足够的观察对象时,统计方法将会拟合出一个近似的时间估算函数.麻省理工学院的研究人员开发的MapD[37]是成功商业化并更具实用性的新型大规模并行数据库,它利用LLVM编译框架将SQL语句编译成GPU原生代码加速计算.除了上述关于查询引擎的工作,还有基于现有的大数据分析和数据库平台进行改进和优化的工作,如Spark-GPU[38]、PG-Strom[39]等.

OLAP型负载关注在大量数据情况下的单条查询的分析效率,这与SIMT的数据并行执行模型非常契合,使得GPGPU在OLAP应用中可以很好地并行执行.相反地,OLTP型的负载要求在短时间内处理大量事务,对处理的并行度以及吞吐量的要求更高.因此,GPGPU单指令多数据流的方式不适合OLTP应用.为了改善这种不适应性,南洋理工大学和香港中文大学提出并实现了一个面向OLTP应用的GPGPU事务执行引擎GPUTx[40].GPUTx将多个事务聚集到一个块上,作为一个任务执行,借此获得更高的吞吐量.块执行模式只支持预先定义的事务类型,需要给出明确的执行策略.开发者根据块中的事务是否按其时间戳顺序递增执行来判断一个块事务模型是否执行成功.

2.3FPGA

现阶段,在数据处理领域,使用FPGA加速计算主要是针对某些特定的场景和算法.DavidSidler等人[41]探讨了如何在数据中心中优化和改进基于FPGA的TCP/IP协议栈,以及极大程度地减少尾延迟问题.KaanKara等人[9]通过使用FPGA加速基于哈希的数据分片,将FPGA芯片作为协处理器放置在其中的一个插槽上,采用QPI技术与CPU相连,首先将带分布的数据加载到高速缓存行中,然后在FPGA上执行分片写回操作.DavidSidler等人[8]采用一个基于IntelXeon+FPGA的混合架构加速传统数据库MonetDB中的模式匹配查询,首先在CPU上进行作业调度和分配,然后在FPGA上实现了一个状态机,执行具体的状态转换和正则匹配.

除了上述这些特定的工作以外,也有研究者尝试在FPGA或FPGA+CPU中实现一个完整的软件系统.ZsoltIstvan等人[7]基于FPGA实现了一个就近的键值数据存储引擎Caribou.它采用了Cuckoo哈希表的方式存储键值对,使用基于位图的方式分配和管理BRAM和DRAM的内存,在FPGA上采用执行流水和数据并行的两种策略加速查询操作.张铁赢等人[11]充分利用异构计算的体系结构进行软硬协同设计,实现了一个兼容MySQL的关系型数据库系统X-DB.X-DB采用FPGA的流水线和IntelQAT技术,实现数据的解压缩.IBM的数据仓库分析系统PureData[42],其前身是Netezza,采用FPGA和多核相结合的协同处理技术加速计算,同时这项技术也逐渐被商用DB2所采用[43].我们相信,随着计算机体系结构的发展,会有越来越多的系统采用FPGA来加速数据处理,进一步减少整个软件栈的开销.

3新型网络技术

3.1数据面与控制面

在传统系统内核中,将数据面和控制面混在一起,导致了许多不必要的软件开销,如,系统调用、内存拷贝等.随着高速网络的发展,数据面和控制面分离成为一种新的趋势,因此,有许多研究者在此方面做出努力和尝试.华盛顿大学和苏黎世联邦理工学院研究团队提出了操作系统仅作为控制面的方案Arrakis[18],将传统的I/O数据路径从内核中隔离出来,提供一个用户级的库与硬件设备直接交互,访问控制和硬件配置等工作仍然保留在内核之中,这样提高了系统的安全性.斯坦福大学和洛桑联邦理工学院研究团队提出了一个高吞吐量和低延迟并且数据面和控制面分离的操作系统IX[44],使用硬件虚拟化技术将内核的管理和调度功能(控制面)与网络处理(数据面)分开,提供了一个零拷贝、原生的编程接口,使得应用可以直接操作I/O数据.

Intel工程师们也开发出了一套用户态数据面套件DPDK[45],它提供了高效灵活的包处理解决方案.在DPDK中,开源社区的工程师们实现了一套多核和大内存页的框架,以及一整套轮询模式的驱动和无锁的环形缓存.韩国科学技术院和普林斯顿研究团队,也针对多核系统实现了一套可拓展的用户态TCP协议栈——mTCP[46],采用不共享文件描述符和批处理的方式进行报文收发,同时也提供一套支持类似于传统内核接口的编程模型,方便了上层应用.这些将数据面和控制面分离,以及将传统基于内核的数据处理迁移到用户空间的研究工作,缓和了传统内核模式下上下文切换、内存拷贝、中断等带来的软件开销,使得高速网络的潜能得到进一步释放.

3.2远程直接数据存取

斯坦福的研究团队[47-51]提出了一个基于Infiniband高速网络的新型内存键值存储系统RAMCloud,它使用基于日志结构的内存管理策略改善高使用率情况下内存分配与回收效率,将读操作时延降到5µs,写时延降到了15µs.此外,他们也在RAMCloud系统中实现了辅助索引,为访问一个键值对提供了更多的索引方式.同时,他们还在系统中实现了线性化,提高了系统的一致性,使得其可以满足更多更复杂的应用场景.与RAMCloud类似,FaRM[52]和MICA[53]都采用了RDMA技术优化数据传输,提高系统的整体性能.但是,不同的是,FaRM和MICA更加关注系统的整体吞吐量,在此方面做了许多优化工作,使得RDMA高吞吐量的特性进一步得到体现.

除了上述这些NoSQL系统,传统的关系型数据库系统也开始使用RDMA技术.阿里巴巴数据库团队使用了基于以太网的RDMA和NVMeSSD技术实现了关系型数据库PolarDB[54],它借助于RDMA提升网络交互的效率,利用NVMeSSD来提升单机I/O的性能,将计算层和存储层分离.此外,也有一些研究者使用RDMA技术优化查询处理[55]、事务处理[56]等操作.

3.3可计算的网络

随着CPU处理能力的提速趋于平稳,一些研究者利用两端的RDMA技术去加速通信.然而,当引入RDMA以后,CPU的处理能力又成为了新的瓶颈,限制了数据处理应用的整体性能.因此,中国科学技术大学和微软研究团队提出了一个与可编程网卡相结合的内存键值存储系统KV-Direct[15].它将一部分的CPU负载卸载到可编程的网卡上,缩短数据处理的路径,进一步提高系统的整体性能.此外,约翰霍普金斯大学和Barefoot网络的研究团队,使用可编程的网络实现了一个驻留在交换机的缓存NetCache[14],使得读数据的路径变得更短,提高了系统的读性能.NetCache的核心是一个数据包处理流水线,利用现代可编程交换机在交换机数据面中有效地进行探测、索引、缓存,同时,也保证了缓存一致性.

也有一些工作将可计算的网络与非易失性存储器相结合,如,PASTE[13].PASTE是由日本电气公司欧洲实验室和比萨大学的研究团队共同研发,是一种新的NVMM网络编程接口,支持标准的网络协议,如TCP和UDP.同时,它也将可编程网卡与NVMM紧密结合,一旦数据经过网卡的DMA到达主机内存,就将被永久驻留,不需要再次复制.此外,微软Azure云也在开始使用基于FPGA的定制可编程网卡SmartNIC[12]来加速云上的数据处理应用.

4新型存储技术

4.1一致性与编程模型

非易失性内存的一致性问题源于缓存到内存的乱序写,以及NVM中数据的部分写.因为缓存中的数据被刷入内存时是乱序执行的,在故障重启后的NVM中,可能存在只写了一半的数据或非连续的数据.为了解决NVM的一致性问题,学术界做出了很多努力.

NV-Heap[57]致力于提供安全的接口来构建持久化对象,它保证了指针安全,提供了一组简单的原语,例如,持久性对象、专用指针类型、内存分配器,来保证一致性.不同于NV-Heap基于对象的存储,Mnemosyne[58]支持多字长的事务.Mnemosyne提出了一些编程接口来创建、管理非易失性内存,以及保证故障发生时数据的一致性.它提供了原语用于直接更新持久化数据,并通过轻量的事务机制保证数据的一致性更新.HEAPO[59]设计了本地的持久化堆结构以及相应的调用接口,利用undo日志和事务机制来保证写入操作的一致性.PMDK(PersistentMemoryDevelopmentKit)[60]提供了一系列的库来简化基于存储级内存的编程工作.SAP的研究人员尝试将NVM应用到商用HANA数据库中,他们针对如何判断NVM中数据的有效与否、系统重启后指针重定向以及NVM中无效数据的垃圾回收等问题给出了合适的解决策略[61].

4.2精简的机制

传统的数据处理机制面向磁盘等慢速设备设计,常常通过一些空间换时间、冗余操作来换取系统的一致性、持久性或高性能性.当NVM技术被引入后,这些原本有效的软件机制的开销也变得越来越不可忽略,逐渐成为新的性能瓶颈.

基于磁盘的存储系统通常采用预写式日志(Write-AheadLogging,WAL)来保证数据的持久性,提升写操作的效率.WAL机制保证了在事务被提交之前相关的事务日志已经被安全地持久化,防止因为断电或其他系统故障导致数据丢失.因为磁盘存在随机写和顺序写速度差较大的问题,通过WAL机制将随机写数据转化为顺序写日志,极大地提升了写操作的执行效率.与此同时,WAL机制同样带来了数据冗余、写入放大以及资源消耗等问题[62-63].考虑到NVM的读写速度比磁盘快了一个数量级,并且随机写和顺序写差异较小,存储系统可以采取就地更新的方式,在写操作执行期间,不写redo日志,而是直接将更新后的数据写入NVM[64-67].

JoyArulraj等人[63]讨论并分析了就地更新、复制更新以及基于日志的更新方式三种情况下的系统恢复机制.因为NVM的非易失性,系统重启后,所有的更新数据仍在NVM中,不需要经过回放日志以及构造内存表的阶段,大大减少了系统恢复的时间.也正因为NVM的非易失性,导致NVM中存在大量无效的未提交数据,可以通过能感知NVM的分配器[60]来回收无效空间.

I/O速度显著提升,使得网络交互的代价逐渐成为数据复制过程中的新瓶颈.主要的改善策略包括减少网络交互的次数、引入快速的网络硬件以及减少不必要的拷贝开销.Mojim[68]使用了一套高度优化的网络栈以及复制策略来减少数据复制过程中的开销.它使用两层结构,第一层的节点之间保持强一致性,并通过RDMA进行消息传递.第一层和第二层节点之间的数据同步具有多种模式,可以在可用性、一致性以及性能之间权衡选择.

4.3轻量化的系统

除了精简不必要的软件机制,相较于快速的非易失性存储设备,存储软件栈本身存在过于厚重的问题.一些研究工作致力于对存储栈进行优化,使其更加轻量化.

SPDK[69]是由Intel开发的一系列库来帮助用户实现高效的存储应用.NVMe驱动程序是其中的一个库,它提供了一种较为直接的、零拷贝的数据传输方式.NVMeDirect[70]作为一种用户态的存储框架,为应用提供了直接的操作接口来访问NVMe设备.不同于SPDK,NVMeDirect提供了更加灵活的队列管理机制,使得不同应用可以选择不同的队列调度以及完成方式.LightNVM[71]是一个位于内核空间的Open-ChannelSSD子系统,提供了一系列的操作接口使得主机可以直接地访问底层的Open-ChannelSSD.还有一些工作通过绕过Linux内核[72]、使用轮询的方式替代中断方式[73]、消除不必要的上下文切换[74-76]来减少存储栈的开销.

作为一个用户态的日志结构的文件系统,NOVA[77]通过为每一个inode提供独立的日志来提升并行性,并且将用户操作的文件数据从日志中分离来缩小日志大小,进而减少垃圾回收的代价.Aerie[78]是一个面向存储级内存设计的文件系统,它绕过了Linux内核,极大地减少了存储栈中文件系统层的开销.DevFS[79]创造性地将文件系统从操作系统中搬到存储设备中,使得文件系统和存储设备之间的访问路径更短.但是另一方面,缺少主机依托、CPU资源受限、设备内存容量小等问题使得存储设备层面的文件系统仍然存在诸多使用限制.

硬件技术范文2

【关键词】计算机硬件设计;EDA技术;实践分析

前言

电子设计从手工设计逐步走向了自动化设计,它的发展以EDA技术的发展为主要标志。EDA技术以计算机为操作工具,融合了最新的应用电子技术、计算机技术和智能化技术的成果,并且将设计人员从繁重且重复的劳动中解脱出来,使得电子产品的设计效率提升了。

1EDA技术概述

1.1EDA技术的基本内容

在没有EDA技术的时代,计算机硬件的设计需要通过人工手动完成集成电路的设计、布线等工作。而随着集成线路复杂程度的增加,基于手工的设计方式已经无法满足工作需求。因而人们开始寻求一种更为高效的硬件设计方式。EDA技术的诞生,成功改变了这一情况。它以计算机为操作工具,让学生可以在软件平台上,通过软件化的设计方式来描述计算机硬件。由计算机代替人工完成逻辑编译、优化、布线、仿真等工作。整个过程是自动的,直到能够完成对既定芯片的适配编译、逻辑映射和编程下载等工作[1]。

1.2一般设计流程

它创新性的颠覆了传统电子产品的设计方式。将设计的顺序从由下至上翻转过来。这使得硬件设计者能够从更为宏观的角度去掌控产品的开发。包括设计的质量、成本、功能需求、研发周期等。在拥有比较全面的宏观分析后,从系统设计出发,进行顶层功能模块的解构和划分。并能够按照方框图系统级的次序逐级完成仿真纠错和验证。从而能够使设计问题更早的被凸显出来。当所有的仿真和验证确认无误后,再用逻辑综合优化工具的门级逻辑电路的网表来实现硬件的物理级呈现。通过该项技术的应用,将设计者的设计强度减轻,仅需要通过软件平台,就可以实现硬件的电路设计和功能仿真。整体的设计效率被大幅度提升。硬件设计流程如图1所示:

2基于EDA技术的计算机硬件设计的实践探究

本文以可编程器件开发工具MAX+PLUSⅡ为开发平台设计,它的运行速度快,界面统一,功能集中。同时该开发平台具备十分完整的可编程逻辑设计环境,能够完成从指标设计、输入、编辑综合处理、校验直至编程下载的EDA设计的全过程。设计者可以按工作流程选用工作模块。适用于多平台操作,是一种理想的开发平台。本部分就计算机的基本硬件之一通用异步收发传输器基于EDA技术的设计实现进行了简要的阐述。

2.1UART的基本介绍

通用异步收发器(UART),是计算机中不可缺少的组成部分,它是一种短距离串行传输接口。能够作为微机与下位机的通讯串口,来实现有效通讯。根据当前的计算机运行机制,需要进行数据的交换和传输。但是并行数据并不能够直接发送到调至解调器中,而必须要经过异步传输才能够解决。UART就是此过程的必要部件。它将信息有序的发送到调制解调器中,实现计算机的正常运转。

2.2硬件设计

在进行硬件设计时,考虑各项功能模块的调试工作,设置了三个按键输入来实现UART的复位、接收和发送数据功能的启动。整体硬件结构如图2所示。

2.3模块设计

(1)基本设计思路UART在工作中主要涉及两个过程,发生和接收。在设计时,考虑模块化的方式来进行设计。发生的过程即并行数据的准备阶段,UART按照既定的格式,将信号进行转换。在此过程中涉及到关键的时钟信号。需要通过波特率发生器来产生与本地系统同步的时钟信号。而接收的过程,就是在信号转换成RXD串行信号后,转换成调制解调器需要的并行数据信号。在整个进程中,由于本地时钟信号与UART的时钟信号会产生一定的延迟和误差。当这种误差产生持续性的积累时,会产生接收偏差。使得UARD的功能不能够被顺利的实现。因此,在进行设计时,需要采用一个远远高于波特率的本地时钟信号对输入信号RXD不断地采样,来保持工作过程中UARTDE接收和发生不会出现步调不一致。(2)奇偶校验位发生器模块设计奇偶校验是一种校验代码传输正确性的方法,以保证串行数据的准确性。在基于EDA技术进行UART奇偶校验位发生器设计需要考虑几个关键点。一是该模块能够执行奇偶校验规则,正确的选择数据。从而实现系统既定二进制数据与输入的串行数据校验位的合理比较。验证输入的正确性。二是该模块必须要满足计算机功能的持续拓展性。在计算机工作中,会产生不确定的并行校验位的增加。那么该模块应该能在后续定义的规则基础上进行校验位的添加。对已经设计完成的奇偶校验位发生器模块采用EDA的工具mod-elsim12.0进行功能的仿真,对仿真结果进行详细的分析,以确保所有期望的功能都已经实现,对于发生问题的地方及时进行修订。(3)波特率发生器模块设计此模块的主要功能就是能够根据时钟的频率和既定的波特率来计算出波特分频因子。分频因子就是分频数。对于波特率发生器的系数一般在现场可编程门阵列实现时基本上是固定的,但是当实现出现变化时,波特发生器的系数就要发生改变。在UART中采用的是专用的芯片,使得波特率的改变变得比较困难,需要加上相应的接口来实现波特率的变动。在使用硬件描述语言的parameter语句(VerilogHDL)或者Generic语句(VDHL)就可以实现UART专用芯片的波特率的改变。那么就不需要通过后续的接口添加来改变系数,也就减少了设计和调试的难度。该发生器的分频时钟与波特时钟的频率比设置为16:1.那么信号采样的准确性就会增高,使接收和发生保持在同一步调上[2]。(4)顶层模块设计UART顶层模块是硬件的综合模块。它涵盖硬件中全部接口定义。主要是为了接收和发生与其他模块的通讯和连接。若通用异步收发器的波特率为9600bit/s,分频因子则为9600*16*2。运用EDA仿真软件,在进行发送功能仿真时将能够得到相应的仿真结果。对该模块的仿真结果进行详细分析的时候可以发现,等待发送的数据在接触发生信号后,其串行信号发生了改变,由01010101001010101[3]。利用EDA技术进行UART的实际,能够实现利异步串行通信功能,同时可以利用EDA仿真工具就功能模块进行分别和整体的仿真校验,解决了计算机硬件设计问题发现晚的劣势,能够在设计的过程中及时调整设计方案。

3结束语

EDA技术是计算机硬件设计向软件化转变的重要标志,它为计算机硬件设计提供了全新的思路。这种设计方式使得计算机的硬件设计具备可视性、直观性,且可以在设计过程中进行实时的控制和调整,解决了复杂电路设计问题发现滞后的问题。

参考文献

[1]曲行柱.浅析EDA技术在计算机硬件设计中的应用[J].祖国,2016(21):288-288.

[2]徐迪.EDA技术在计算机硬件中的应用[J].数字技术与应用,2015(8):216-216.

硬件技术范文3

关键词:计算机硬件技术;教学改革;实验教学

计算机硬件技术基础课程是普通高等学校理工科专业的一门重要计算机技术基础课程,也适合非理工科的其他专业学生选修。早在2006年,教育部高教司就明确提出了该课程是针对大学非计算机专业理工类本科生设置的6门典型核心课程之一。它是学生学习和掌握计算机硬件基础知识、了解计算机硬件发展、熟悉硬件原理及接口技术的主要课程。

1课程现状和问题分析

根据教育部关于计算机基础教育“三个层次”的教学思想,计算机硬件技术基础由微型计算机原理和微机接口技术等课程整合而来,因此自2006年以来,该课程的教学内容和实践环节一直延续着原有课程的体系。与此同时,计算机硬件在过去的50年里以摩尔定律(晶体管的集成度每18个月翻1番)高速发展,以CPU为代表的计算机硬件更新换代十分迅速,新的接口层出不穷,使该课程的教学内容和实践环节与学生成长和熟悉的环境严重脱节[1-2],具体表现在以下3个方面:

第一,课程内容过于专业,教学要求和学生基础有一定差距。微型计算机原理和微机接口技术等课程主要针对大三或大四学生开设,而以这两门课程内容为基础的计算机硬件技术基础课程主要面向大一和大二学生,目的是进行计算机基础教育。由于面向群体不同,原有课程内容和实践环节过于专业,不适合计算机硬件入门级教学。

我们随机选取了高等教育出版社、机械工业出版社和中国铁道出版社2005年之后出版(含再版)的5本教材。经过统计,3本教材以较多篇幅介绍Intel 8086系列处理器指令和接口结构,其中4本含有较多的汇编语言知识。然而,Intel 8086和汇编语言等知识对于低年级非计算机专业学生过于深奥和枯燥,非计算机专业低年级学生很难理解。

第二,课程内容过于陈旧,实验环节无法吸引学生们的兴趣。我们调研了国内多所高校相关课程的教学状况,课程实验方案主要包括两种,即结合计算机硬件实验箱和利用PC机进行拆装实验。

基于实验箱的课程实验往往以DOS、汇编语言、8255a、数码管显示和数模转换等实验为主,这些内容继承了微型计算机原理的实验内容,对于大一和大二学生来说,离他们熟悉的硬件环境较远,缺少趣味。以PC机为平台的计算机拆装类实验一般会受到学生的欢迎,具有一定吸引力,但计算机拆装较为浅显,与课程内容结合效果不足,不能使学生对计算机硬件的原理有深入理解。尽管如此,考虑到学生的兴趣,将PC机作为入门级实验平台应是课程实验改革的方向。

第三,计算机基础课程的性质使课程无法照顾到各专业的需求。传统教学和实验内容不区分学生的专业属性,对于理工科专业来说,课程实验难度较低,缺乏学习兴趣;对于非理工科专业来说,课程实验难度较高,无暇关注更深入内容。为此,课程实验改革应该考虑学生的专业特点,实验为基本实验和可选实验,因材(专业)施教[3-4]。

实践教学是高等教育课程的重要组成部分,实践教学应努力贯彻以学生为主体,教师为主导,坚持知识传授、能力培养、素质教育协调发展的实验教学理念。结合计算机硬件技术基础课程的实际情况,课程实验教学改革势在必行。

2教学改革内容

北京理工大学计算机公共基础课教学团队(部级教学团队)在充分调研该课程讲授现状的基础上,于2010年度开展了教学改革。核心思想是以克服学生对硬件的恐惧心理为目的,以计算机硬件经典技术和新发展为主要内容,辅助开放和自由的实验教学平台,重点在于改革课程实验内容。

基于上述思想,课程实验的改革从3个方面开展:教学组织、实验方案和实验场地。

首先,在教学组织上,我们增大了实验比例,占到整个学时的25%。同时,教学内容以“基本概念+基本部件”方式组织,如表1的第2-6章。例如,第3章内容为“存储系统与存储器”,其中存储系统是基本概念,学生理解起来有一些抽象,需要课堂讲授;而存储器则是基本部件,可以采取实践教学,学生在实验中认识硬盘、Flash存储器、光存储器等设备,更容易将存储系统和实际硬件有机关联起来,取得更好的教学效果。

其次,在课程实验方案上,考虑到大一、大二学生对硬件的陌生程度,我们采取了“基本实验+提高实验”的模式。基本实验的目的是让学生对计算机硬件有基本的熟悉,克服对硬件的畏惧心理。提高实验的目的则是结合某一章节内容,通过题目引导和激发学生的兴趣,调动他们的积极性,使其深入了解计算机硬件,部分候选方案如表2所示。

最后,为了达到实践教学目的,依托学校的支持,我们建立了能够同时为120人提供实验的场地,并在课程授课期间同步向学生自由开放。

3课程实验改革实践

以北京理工大学2010年度的教学为实验样本,学生来源于大一和大二两个年级,共计122名,其中包含34名大一学生和88名大二学生。学生分布在36个专业,共12个学院,以理工科专业为主,如图1所示。该课程以全校公选课形式提供,限制人数为120人(额外2人为留学生),共32学时,包含8个课程实验学时。

结合课程实验改革内容,我们向全体学生发放了无记名调查问卷,全部学生提交了有效问卷,我们获得了一批有价值的反馈信息。

对于课程学时和实验课程学时问题,大一与大二学生的反馈建议如图2所示。由图可以看出,如果计算机硬件技术基础安排在大一下学期,学生只学过计算机基础课程,对硬件知识学习的渴望比较强烈,32个学时相对较少。如果安排在大二下学期,学生会比较有针对性地听课,32个学时较为合理。

图3给出了学生针对实验学时的反馈意见,横坐标是实验学时数,纵坐标是人数。可见,75%的学生们希望实验学时在8~11之间,即实验课时占到总课时的25%~34%。

针对一些高校开展的“计算机拆装”实验,我们对学生的支持度进行了调查。有100%的大一学生和98%的大二学生认为“计算机拆装”实验很有必要,得到了学生的广泛支持,实验效果如图4所示。

从图4可以看出,计算机硬件技术基础课程实验应该以学生常见的PC机及扩展实验组成,这就指明了该课程实验改革的方向。

由于实验场地建设等问题,本次教改实践让学生选择完成1项基本实验和1项提高实验。对于全部课程实验方案安排,请学生就欢迎程度排序,结果如表3所示。

从表3可以看出,在基本实验方案中,“计算机拆装”和“计算机硬件故障诊断”实验最受学生欢迎。此外,“操作系统安装”和“网络连通性测试”等与学生密切相关的实验也很受欢迎。从基本实验方案的设计初衷上来看,上述内容达到了预期效果,有效地激发了学生的学生兴趣,并帮助其克服了对硬件的恐惧心理。

在提高实验方案中,“U盘高级操作”和“硬盘数据的恢复”与生活比较贴近,最受学生欢迎。此外,由于大部分学生是理工科类学生,从未来专业发展角度讲,“驱动程序设计”和“单片机开发”也得到了学生支持。这样的实验内容涵盖较多,在该课程中能够帮助学生建立基本的概念即可。

而一些传统实验,例如“串行通信建立和测试”、“8086指令集实验”等,没有激发学生的学习兴趣。应该说,这两个实验的专业性更强,但对于大一、大二学生来说,专业性强的实验不容易让学生掌握基本原理和规律,不利于学生克服畏难心理。

4结语

针对计算机硬件技术基础课程,结合北京理工大学2010年度教学改革实践,我们认为实验课时占总课时30%左右时的教学效果最好。在课程实验中,以PC机为主的硬件实验受到了学生欢迎。除了一些高校开展的“计算机拆装”实验外,更多实验得到了实践。从反馈效果来看,本文提出的实验方案能够有效调动学生的积极性,具有良好的效果。

注:本课程相关教学内容、教学课件通过互联网开放。

参考文献:

[1] 陈立刚,徐晓红,彭学锋.“计算机硬件技术基础”课程创新教学改革的实践[J]. 电气电子教学学报,2009(9):109-112.

[2] 樊友洪,邓韧,张敏. 非计算机专业“计算机硬件技术基础”课程教学实践探索[J]. 高教论坛,2009(2):75-77.

[3] 杨素敏,张政保,寇应展.《计算机硬件基础》课程教学内容和教学模式改革的探讨[J]. 中国教育信息化,2009(10):38-39.

[4] 邹逢兴. 关于创新计算机硬件技术基础课程教学的实践和思考[J]. 计算机教育,2004(2):81.

Innovation in the Experiments for Computer Hardware Fundamentals

SONG Tian, LI Feng-xia

(School of Computer Science, Beijing Institute of Technology, Beijing 100081, China)

硬件技术范文4

关键词:计算机;硬件组装;维护伴

随时代的发展,科技的进步,计算机已逐渐深入到人们的日常生活中,人们利用计算机工作、学习,一旦计算机出现故障,人们将无法正常的进行工作。因此,掌握计算机硬件组装和维护技术对人们而言十分重要,此外,做好计算机硬件和维护工作,也能减少人们的经济损失。

1计算机硬件组装具体步骤

1.1组装机箱机箱作为计算机硬件的主要部分,在组装机箱时,应先固定主板,然后,再将螺丝拧紧,确保机箱处于稳定的状态。1.2安装电源通常情况下,机箱电源都会安置在机箱内部左上方,然后,使用4个螺丝将其固定,但需要注意的一点时,电源风扇的方向应朝着机箱外面,从而让风险能起到散热的作用[1]。1.3安装CPUCPU是计算机主板的核心组成部分,它对计算机的影响较大,如果CPU出现问题,计算机硬件系统则无法正确运作,甚至导致计算机瘫痪。因此,在安装CPU时,工作人员应小心谨慎,对号入座。此外,由于CPU发热量较大,所以,应在CPU上面安装一个小风扇,并使用螺丝固定小风扇。另外,要将风扇的电源与主板对于的接口相连接,这样才能保证小风扇正常运行。1.4安装内存在安装内存条时,需要将内存条安置在主板的插槽中,并利用插槽两边的扣,固定内存条,对于内存条的缺口,应与插槽对于,然后垂直压下内存条。1.5安装硬盘在安装硬盘时,需要使用4个螺丝,将硬盘固定在机箱前部,并把硬盘的数据线与电源分别和主板机箱相接,进而实现数据储存和数据读取的功能。1.6安装显卡在安装显卡时,只需将显卡对准主板上的插槽,将显卡按照其接口下压,然后使用螺丝拧紧即可。1.7连接控制线在确定机箱上的指示灯、开关机、主板接口、重启键的具有位置后,然后区分其正负极,遵循具体的要求和程度,连接控制线。1.8安装计算机外部硬件在安装计算机外部硬件时,只需找到相应的接口,连接其数据线即可,这样就能使外部硬件正常的运行。1.9接通电源接通电源是安装计算机硬件最后一部分,在接通电源后,如果显示屏没有出现异常状况,则说明,计算机硬件组装的正确的。反之,如果计算机显示屏或者其他部分无法正常操作,工作人员应重新检查计算机硬件安装程序,分析出现错误的原因,从而解决问题。

2针对计算机硬件维护技术的研究

2.1显示器显示器作为计算机数据输出的设备,它在计算机中起关键的作用。如果操作不当,显示器将无法显示内容,同时,也会减少计算机的寿命。因此,做好计算机显示器的维护十分重要。在维护显示器的过程中,工作人员应定期清理显示器的灰尘,切勿使用酒精一类的液体擦拭显示器,并保证显示器处于干燥通风的位置,以避免显示器受潮而无法正常使用。其次,在清理显示器必须要保证计算机处于断电的状态,在完成清理后,30分钟后再打开计算机[2]。2.2键盘尽管键盘对计算机的影响较小,但如何键盘出现故障,人们则无法在计算机中输入文字和信息。另外,人们应定期清理键盘中的灰尘,以减少灰尘对键盘的损害。2.3鼠标鼠标作为最常使用的外部硬件,其一旦发生损坏,人们将无法操控计算机中的软件和文件。所以,对于鼠标的维护也是至关重要的工作。在维护鼠标的过程中,要尽量避免用力敲击鼠标的弹性开关,定期清理鼠标光标中的灰尘,并在鼠标下放置一个鼠标垫,从而防止鼠标在使用时受到磨损。2.4对于计算机内部硬件的维护在维护计算机内部硬件时,首先,我们所应做的就是维护CPU,CPU作为计算机主板的核心部分,其功能和作用影响着计算机的运行。2.5采用科学的维护技术维护计算机硬件几种常见的方法主要有:直接观察法、拔插替换法、最小系统、逐步增减、组件比较、专业诊断软件检测。因而,当计算机出现故障时,维修人员应根据计算机故障的实际原因,选择适当的维修方法,通常情况下,直接观察法比较常用,它不仅能帮助维修人员确定故障的具置,也能使维修人员提升维护效率,但其他几种方法也是非常有效的,如:专业诊断软件检测,它通过先进的科学技术迅速的坚持故障的原因位置,并为维修人员提供检测方案。

3结语

总而言之,在组装和维护计算机硬件的过程中,计算机使用人员要提升维护意识,按照计算机具体的维护要求和操作方案,正确的使用计算机中,并定期对其进行维护。此外,维修人员也应掌握相先进的维修技术,从而有效的对计算机进行维修和组装,只有这样才能保证计算机能够正常的运行,为人们的工作和生活提供良好的便利条件,进而提高人们的生活品质。

参考文献

[1]夏德宏.关于计算机硬件组装与维护的原理与方法[J].信息化建设,2016,(02):12-23.

硬件技术范文5

超线程技术

Intel自从奔腾4后期就加入HT超线程技术试水,在旗下酷睿和至强等产品上得到广泛应用。按照Intel的说明,HT超线程技术在不增加物理核心的情况带来10~20%的性能提升。

对于普通家庭用户,超线程是否真如Intel所说的那么神奇?最常见的两个使用场景就是WinRAR这样的压缩解压缩软件和诸多视频后期软件,在开启超线程后确实会有10~20%不等的性能提升,直观体现在完成所需的时间上立竿见影。但在游戏领域又完全是另外一回事,绝大多数游戏对于多核心支持得并不好,在很多游戏还只是支持双核的当下,对超线程技术的支持更是无从谈起。玩家使用同一款CPU做过测试,有半数以上的游戏在关闭超线程技术时的平均帧数大于默认状态。这也让超线程技术在游戏领域十分尴尬。

不过随着2014年底游戏大作纷纷更换引擎,对PC硬件的压力达到史无前例的高度。不仅要6GB以上内存的游戏越来越多,切实支持处理器多核心(八核以上)的游戏也逐渐出现。对于超线程技术今后在游戏领域的表现是值得期待的。

可以装APP的电源

DIY领域发展到现在,机箱内部任何一个配件几乎都能通过对应的软件进行检测和调节,但负责整个系统电力和稳定的电源依旧孤零零地位于机箱角落,显得格格不入。其实电源的运行状态、稳定与否对整个PC系统至关重要,甚至超过传统“三大件”。

以往也有过通过PC前光驱面板安装控制台来监控电源的案例,不过那大多都是发烧友们自行改造实现,普通用户怕是难以企及。TT看准这一市场需求,推出80PLUS金牌的全模组电源Toughpower DPS TPG系列,不过规格高并非它的最大卖点,能够安装智能数位控制APP才是其独一无二的“绝活”。

TT能够智能监控电源的软件名为DPSApp,可以在PC端实时监控电脑功耗、温度和风扇转速等基本信息,还可以根据电源监控的功耗来计算电费。所有这些信息都不是死板的文字表述,都通过简单明了的图形和图表展现出来,软件的使用程度和表现力甚至超过了很多传统板卡控制程序。DPSApp还可以智能化管理资料,并通过微博等平台分享,是不是有一种智能手机的感觉?在DPSApp面前,Toughpower DPS TPG系列80PLUS金牌和全模组设计反倒不那么显眼了。

SLC 闪存的家用 SSD

固态硬盘在近年的发展突飞猛进,可供选择的品牌从最初的两三种发展到现在的数十种。为了能在庞大的SSD大军中脱颖而出,要不就在产品本身下足功夫,要不就另辟蹊径赐予产品更高的附加值。

SSD所用的闪存种类当中,SLC>MLC>TLC,这是由闪存颗粒的特性决定的。一般我们家用购买的都是中间这个档次的MLC产品,售价位于中游,性能也比较中庸。一般用户不会过分关心闪存种类问题,不过自从三星840 SSD系列开始使用TLC闪存,SSD闪存的老文件掉速问题也逐渐被用户重视起来。

富士通的至尊版系列SSD是他们最新的产品线,至尊版最大的卖点就是使用了Intel的SLC闪存。这类Intel 25nm SLC闪存性能比MLC闪存直接强上一个档次,而且寿命也远非MLC闪存产品可比。售价虽然并不便宜,但是比起顶级MLC产品,这样的SLC SSD更受爱好者欢迎。

三星

Magician

三星的SSD从830系列开始让人眼前一亮,旗下每代产品的性能都在市售同类产品前茅。不仅性能出色,三星还为其打造了独特的软件,辅助用户操作和管理自己的SSD,这就是Magician。

Magician的功能经过几代进化更简单易用,很适合初学者使用。用户界面通过图形化的显示方式,可以轻松查看SSD的健康状态、SATA及AHCI的兼容性和状态。对于新手更有意义的是,软件提供3个优化配置文件,包括最高性能、最大存储量和最佳可靠性,我们通过选项卡就能从中切换。

这三个选项并非是噱头,是有实际功效的。最高性能选项以稍微缩短SSD使用寿命为代价获取最快的性能,它开启了一些需在SSD中进行额外写入操作的功能来实现提速。最大存储量功能可以自动去掉系统的休眠模式、虚拟内存文件和一些自动备份功能,释放SSD的大量空间,非常适合一些购买64GB或者128GB的用户。最佳可靠性将禁止运行会产生额外写入操作的功能,以有效延长SSD的使用寿命。如果用户使用的是840系列TLC产品,这个功能可以十分有效地减少SSD写入/擦除的次数。

三星通过Magician软件轻松满足三类常见用户的需求:寻求最高性能的用户、寻求最大存储量的用户和寻求最长使用寿命(可靠性)的用户。以往复杂的操作系统的相关设置,现在可以通过软件轻松实现。

闪迪 SSD Dashboard

最早闪迪的SSD相关软件叫SSD Toolkit,不过当时由于界面不友好导致很难用。闪迪的SSD其实非常出色,但软件不好用难免美中不足,SSD Toolkit通过回炉重做变身为SSD Dashboard,各方面都有明显的改进。

SSD Dashboard的界面做得比较美观,而且功能也非常完善,通过图形化的界面,让用户监控了解SSD的运行状况。界面包括SSD状态、性能、工具、设置等功能,状态中可以查看硬盘的容量、剩余使用时间等等基本状况,温度和接口信息也可以显示在内。性能一项提供了SSD的性能测试,和主流测试软件一样也分为传输速度及随机性能,但比起其他测试软件密密麻麻都是文字的方式,SSD Dashboard以图表的形式直观呈现给用户。关于TRIM在一些操作系统中很难打开的现状,闪迪软件可以通过一键开启系统TRIM的功能十分适合新手。

工具中的Secure Erase、Sanitize、Cypto Erase不能乱点,是闪迪提供的三种SSD擦除功能。固件更新功能也非常方便,不用像以前那样去官网手动下载固件然后冒险升级,在这里就像更新手机APP一样操作就能完成SSD固件的更新。除此之外工具也提供了硬盘的S.M.A.R.T信息查看,有了这款软件我们就可以抛弃HDtune了。

从SSD Toolkit到SSD Dashboard,能很明显看出闪迪SSD软件的进步。虽然SSD Dashboard只支持闪迪硬盘比较可惜,但作为一款品牌SSD的功能软件已经相当出色了。

希捷混合硬盘 SSHD

希捷是传统HDD硬盘双雄之一,近几年传统硬盘被固态硬盘冲击严重,老牌硬盘厂商希捷虽然也推出了旗下的SSD,但市场反响不温不火。去年间接收购了两大主控之一的SandForce,但融合之后的实际产品还需时日才能推出。眼下希捷如何应对SSD对硬盘市场的攻势呢?答案就是SSHD。

SSHD主体依然是盘体与磁头,不过在SSHD的PCB上集成了一个SSD模块主控和小容量MLC闪存,SSHD的核心技术就是通过这个独特的设计实现。首先通过一种名为Adaptive Memory的技术实现一种自学习算法,它逐渐让系统最常用的应用程序和文件能够实现类似SSD的响应。比如说操作系统或者程序启动时会读取大量零散文件,HDD由于寻道原理速度有限,而SSHD将这部分压力转至闪存,启动和读取速度能够大大加快。

希捷的这种“SSD缓存记忆”技术其实并没有改变HDD的持续读写速度,而加强了随机性能。在最新一代SSHD当中希捷甚至将盘体转速降为5400rpm,而单单加强了主控方面的学习和记忆能力。有人可能会质疑5400rpm盘体的性能,但其实希捷如此处理是十分合理的。我们日常使用硬盘感觉到慢,十有八九是其随机读写性能满足不了我们的要求,绝非持续读写速度跟不上。如果用户的硬盘位只有一个,又想在硬盘容量和随机性能上有所兼顾,希捷这类SSHD是非常合适的。

东芝无线

SD卡

我们用单反照相,然后想把相片从相机存储卡里拷贝到手机或者平板电脑上观看,一般大家都怎么做?最原始的方法就是把存储卡取出,先将数据移至电脑,然后将手机/平板接入电脑拷入观看,这个步骤太麻烦了。后来有部分单反/微单品牌设计了独特的移动智能终端APP,旨在简化取卡步骤,直接用手机/平板访问相机存储内容,不过需要在同一个Wi-Fi环境下,同时移动端是否支持还需APP决定,总之多种限制并不方便。

东芝推出的这种无线SD卡解决了这种问题,SD卡从硬件上解决了无线连接问题。只需将SD卡插入相机并开机,打开手机或者平板电脑的无线开关,搜索到无线SD卡提供的无线网络连接(flashair_xxx),输入初始密码连接后打开浏览器就形成了连接。一般4MB左右的照片传输一张需要8秒左右,速度虽然不快但也不比很多相机无线传输APP慢。

问题也并非完全没有,首先部分单反机身由于是金属构造,无线SD卡形成的网络信号肯定会受此影响,速度和稳定性有待进一步提高。其次SD卡和其无线功能所需的电力肯定是相机提供,有很多相机屏幕自动关闭时进入省电模式,此时无线SD卡的无线功能也会随之一同关闭。最后比较关键的一点是由于手机或平板电脑在传输时连接的是无线SD卡形成的虚拟网络,并没有互联网功能,如果想边传边分享就是硬伤。手机可以利用3G信号,而多数平板电脑只能乖乖等传输完毕后才可以重新连接Wi-Fi进行分享。

金士顿

HyperX

闪存盘

大家印象里的闪存盘(U盘)的读写速度是多少?一般也就是30-40MB/s这个程度,满足一般的文件拷贝似乎问题不大,但高端用户肯定无法接受如此缓慢的传输速度。金士顿旗下的HyperX品牌是其高端的存储品牌,而现在HyperX也推出了顶级品质的闪存盘DataTraveler HyperX Predator。

DataTraveler采用USB 3.0接口,它没有像其他USB 3.0闪存盘一样只是规格上支持,在读写速度上标称可达240MB/s和160MB/s,完全突破了USB 3.0能够达到的速率。外观方面金士顿的解释是大巧不工,金属外壳方方正正的造型,十分符合其高端大气的身份。容量方面金士顿提供了512GB和1TB两种容量,4999元和9999元的售价也吓跑了大多数用户。

不过DataTraveler HyperX Predator的表现配得上这样的价格,多种软件实测其读写速度并非虚标,一部10GB左右的电影通过闪存盘不到1分钟就可以传输完毕,这是很多移动硬盘都难以实现的。

Cherry MX

轴键盘

要说键盘,这两年机械键盘火了。机械键盘本来是在薄膜键盘之前的产物,但随着薄膜键盘的盛行,造价相对高昂的机械键盘被薄膜键盘所取代。但近年来由于用户对外设品质的要求逐渐提高,机械键盘的关注度正慢慢回升。

目前市面上常见的机械键盘均使用德国确励公司(Cherry)的MX机械轴,爱好者们俗称樱桃,拥有标志性的十字口设计,目前我们见到的大多数机械键盘其实都属于这一派系。根据种类分为茶轴、青轴、黑轴以及红轴四种,也有白轴等稀有品种。用文字描述机械键盘与普通键盘的区别稍有难度,由于每一个按键都由一个独立的开关组成,按键的段落感根据轴体各异,但普遍都要大幅超越薄膜键盘。现通常为高端游戏外设,希望有条件的用户亲自体验。

微软蓝影技术

硬件技术范文6

蓝牙技术是一项新兴的技术。它的主要目的是在全世界建立一个短距离的无线通信标准。它使用2.4GHz~2.5GHz的ISM(Industrion Scientifc Medical)频段来传送话音和数据。运用成熟、实用、先进的无线技术来代替电缆,它提供了低成本、低功耗的无线接口,使所有固定和移动设备通过微微网PAN(Personal Area Network)连接起来,诸如:计算机系统、家庭影院系统、无绳电话系统、通信设备等,相互通信,实现资源共享。蓝牙技术支持多种电子设备之间的短距离无线通信,这种通信不需要任何线缆,亦不需要用户直接手工干涉;每当一个嵌入了蓝牙技术的设备发觉另一同样嵌入蓝牙技术的设备,它们就能自动同步,相互通信,实现资源共享。

1 蓝牙的结构体系

蓝牙协议栈的体系结构如图1所示。它是由底层硬件模块,中间层和高端应用层三大部分组成。

1.1 蓝牙的底层模块

底层模块是蓝牙技术的核心模块,所有嵌入蓝牙技术的设备都必须包括底层模块。它主要由链路管理层LMP(Link Manager Protocol)、基带层BB(Base Band)和射频RF(Rodio Fraquency)组成。其功能是:无线连接层(RF)通过2.4GHz无需申请的ISM频段,实现数据流的过滤和传输;它主要定义了工作在此频段的蓝牙接收机应满足的需求;其带层(BB)提供了两种不同的物理链路(同步面向连接路SCO Synchronous Connection Oriented和异步无连接链路ACL Asynchronous Connection Less),负责跳频和蓝牙数据及信息帧的传输,且对所有类型的数据包提供了不同层次的前向纠错码FEC(Frequency Error Correction)或循环沉余度差错校验CTC(Cyclic Redundancy Check);LMP层负责两个或多个设备链路的建立和拆除及链路的安全和控制,如鉴权和加密、控制和协商基带包的大小等,它为上层软件模块提供了不同的访问入口;蓝牙主机控制器接口HCI(Host Cntroller Interface)由基带控制器、连接管理器、控制和事件寄存器等组成。它是蓝牙协议中软硬件之间的接口,提供了一个调用下层BB、LM、状态和控制寄存器等硬件的统一命令,上、下两个模块接口之间的消息和数据的传递必须通过HCI的解释才能进行。HCI层以上的协议软件实体运行在主机上,而HCI以下的功能由蓝牙设备来完成,二者之间通过传输层进行交互。

1.2 中间协议层

中间协议层由逻辑链路控制与适配协议L2CAP(Logical Link Control and Adaptation Protocol)、服务发现协议SDP(Service Discovery Protocol)、串口仿真协议或称线缆替换协议(RFCOM)和二进制电话控制协议TCS(Telephony Control protocol Spectocol)组成。L2CAP是蓝牙协议栈的核心组成部分,也是其它协议实现的基础。它位于基带之上,向上层提供面向连接和无连接的数据服务。它主要完成数据的拆装、服务质量控制、协议的复用、分组的分割和重组(Segmentation And Reassembly)及组提取等功能。L2CAP允许高达64KB的数据分组。SDP是一个基于客户/服务器结构的协议。它工作在L2CAP层之上,为上层应用程序提供一种机制来发现可用的服务及其属性,而服务属性包括服务的类型及该服务所需的机制或协议信息。RFCOMM是一个仿真有线链路的无线数据仿真协议,符合ETSI标准的TS 07.10串口仿真协议。它在蓝牙基带上仿真RS-232的控制和数据信号,为原先使用串行连接的上层业务提供传送能力。TCS是一个基于ITU-T Q.931建议的采用面向比特的协议,它定义了用于蓝牙设备之间建立语音和数据呼叫的控制信令(Call Control Signalling),并负责处理蓝廾设备组的移动管理过程。

1.3 高端应用层

高端应用层位于蓝牙协议栈的最上部分。一个完整的蓝牙协议栈按其功能又可划分为四层:核心协议层(BB、LMP、LCAP、SDP)、线缆替换协议层(RFCOMM)、电话控制协议层(TCS-BIN)、选用协议层(PPP、TCP、TP、UDP、OBEX、IrMC、WAP、WAE)。而高端应用层是由选用协议层组成。选用协议层中的PPP(Point-to-Point Protocol)是点到点协议,由封装、链路控制协议、网络控制协议组成,定义了串行点到点链路应当如何传输因特网协议数据,它要用于LAN接入、拨号网络及传真等应用规范;TCP/IP(传输控制协议/网络层协议)、UDP(User Datagram Protocol对象交换协议)是三种已有的协议,它定义了因特网与网络相关的通信及其他类型计算机设备和设备之间的通信。蓝牙采用或共享这些已有的协议去实现与连接因特网的设备通信,这样,既可提高效率,又可在一定程度上保证蓝牙技术和其它通信技术的互操作性;OBEX(Object Exchange Protocol)是对象交换协议,它支持设备间的数据交换,采用客户/服务器模式提供与HTTP(超文本传输协议)相同的基本功能。该协议作为一个开放性标准还定义了可用于交换的电子商务卡、个人日程表、消息和便条等格式;WAP(Wireless Application Protocol)是无线应用协议,它的目的是要在数字蜂窝电话和其它小型无线设备上实现因特网业务。它支持移动电话浏览网页、收取电子邮件和其它基于因特网的协议。WAE(Wireless Application Environment)是无线应用环境,它提供用于WAP电话和个人数字助理PDA所需的各种应用软件。

2 蓝牙硬件的实现

蓝牙的技术规范除了包括协议部分外还包括蓝牙的应用部分(即应用模型)。在实现蓝牙的时候,一般是将蓝牙分成两部分来考虑,其一是软件实现部分,它位于HCI的上面,包括蓝牙协议栈上层的L2CAP、RFCOMM、SDP和TCS以及蓝牙的一些应用;其二是硬件实现部分,它位于HCI的下面,亦即上面提到的底层硬件模块,它已在图1中标示出。下面讨论蓝牙硬件模块的结构与性能。

蓝牙硬件模块由蓝牙协议栈的无线收发器(RF)、其带控制器(BB)和链路管理层(LMP)组成。目前大多数生产厂家都是利用片上系统技术SOC(System-On-Chip)将这三层功能模块集嵌在同一块芯片上。图2为单芯片蓝牙硬件模块结构图。它由微处理器(CPU)、无线收发器(RF)、基带控制器(BB)、静态随机

存储器(SRAM)、闪存(Flash程序存储器)、通用异步收发器(UAST)、通用串行接口(USB)、语音编/解码器(CODEC)及蓝牙测试模块组成。下面分别叙述各部分的组成及功能。(1)蓝牙基带控制器

蓝牙基带控制器是蓝牙硬件模块的关键模块。它主要由链路控制序列发生器、可编程程序列发生器、内部语音处理器、共享RAM裁器及定时链管理、加密/解密处理等功能单元组成。其主要功能:在微处理器模块控制下,实现蓝牙基带部分的所实时处理功能,包括负责对接收bit流进行符号定时提取的恢复;分组头及净荷的循环沉余度校验(CRC);分组头及净荷的前向纠错码(FEC)处理和发送处理;加密和解密处理等。且能提供从基带控制器到其它芯片的接口(诸如数据路径RAM客户接口、微处理器接口、脉码调制接口(PCM)等。

(2)无线收发器模块

无线收发器是蓝牙设备的核心,任何蓝牙设备都要有无线收发器。它与用于广播的普通无线收发器的不同之处在于体积小、功率小(目前生产的蓝牙无线收发器的最大输出功率只有100mW、2.5mW、1mW三种)。它由锁相环、发送模块和接收模块等组成。发送部分包括一个倍频器,且直接使用压控振荡器调制(VCO);接收部分包括混频器、中频器放大器、鉴频器以及低噪音放大器等。无线收发器的主要功能是调制/解调、帧定时恢复和跳频功能同时完成发送和接收操作。发送操作包括载波的产生、载波调制、功率控制及自动增益控制AGC;接收操作包括频率调谐至正确的载波频率及信号强度控制等。

(3)微处理器(CPU)

CPU负责蓝牙比特流调制和解调所的所有比特级处理,且还负责控制收发器和专用的语言编码和解码器。

(4)Flash存储器和SRAM

Flash存储器用于存放基带和链路管理层中的所有软件部分。SRAM作为CPU的运行空间,在作时把Flash中的软件调用SRAM中。

(5)语音编/解码器CODEC(Coder Decoder)

语音编/解码器CODEC由ADC(数模转换器)、模数转换口(ADC)、数字接口、编码模块等组成。主要功能:提供语音编码和解码功能,提供CVSD(Continuous Variable Slope Delta Modulation)即连续可变斜率增量调制及对数PCM(Pulse Coded Modulation)即脉码调制两种编码方式。

(6)蓝牙测试模块

它是由DUT(Device Under Test)即被测试模块与测试设备及计量设备组成。一般测试 设备被测试设备构成一个微微网,测试设备是主节点,DUT是从节点。测试设备对整个测试过程进行控制,其主要功能提供无线层和基带层的认证和一致性规范,同时还管理产品的生产和售后测试。

(7)UART(Universal Asynchronous Keceiver Transunitter)通用异步收发器和USB(Universal Serial Bus)通用串行接口。

功能:提供到HCI(Host Confroller Interface)即主机控制器接口传输层的物理连接,是高层与物理模块进行通信的通道。

3 TR0700单芯片介绍

RT0700单芯片是Transilica公司的蓝牙产品,其结构如图3所示。它把无线收发器与基带都集成到一块CMOS芯片上,替代传统的串行语音和通用串行接口电缆,为语音和数据业务提供无线连接。

3.1 结构及工作原理

RT0700单芯片由收发器、基带、语音编/解码器(CODEC)、带有4个可配置的8bit接口的8051微处理器、两个串行口双高性能的通用异步收发器(UART)、4KB的静态随机存储器(SRAM)、64KB的Flash程序存储器等组成。

收发器由低噪放大器(LNA)、电平控制器(PA)、混频器、鉴频器、控制寄存器、发送滤波器、振荡器等组成。其工作原理是:来自接收天线上的信号经低噪放大器(LNA)放大后,送至多级滤波器,多级滤波器具有预选择功能,它把LAN的输出信号限制在2.4GHz的ISM频段内,去除负频率成分,输出适合进行下变频处理的信号。I、Q混频器把蓝牙频段的信号移频至低中频(IF)传输的调制信号。复合滤波器负责从下变频信号中滤除无用信号和噪声。鉴频器使用过采样技术从IF信号中取出蓝牙低调制指数信号;发送器由发送滤波器、频率合成器、功率放大器、振荡器、天线等组成。其工作原理是:发送滤波器是一个高斯数字滤波器,它对发送环Tx输入的数据进行数字过滤;振荡器的功能是驱动一个外部的晶体振荡器或者接受一个外部的时钟信号,向频率合成器提供一个低噪声的参考频率。功率放大器的主要功能是对频率合成器的输出功率放大到1mW左右,且对频率合成器起缓冲作用,减少负载变化对合成器的影响;发送天线:当使用差分输入的LNA时,它可以是一个低噪声的平衡双极天线;8051微处理器是一个8位的微处理器,它的主要功能是管理和实现蓝牙协议栈。它具有一增强的指令集、二级数据指针、扩展的SRAM和双UART。在TR0700中对一些重复性的操作诸如分组的组装和拆解、加密、地址编码/解码、纠错和同步等都由硬件来实现,这样能降低处理器的开销,有效地提高响应性能。TR0700除了8051微处理器本身所带有的一些特殊功能寄存器(SFR)外,还定义了一些新的特殊功能寄存器(SFR),它还引入了一些特殊的中断,如一个带有特殊保护的外部中断INT3等。RT0700的基带操作有三种模式可供选择:数据/地址、端口、测试。

3.2 基本功能及应用