按键精灵什么是语法错误误:第9行,第8个字符:(错误码0)没有找到合法的符号。怎么解决

E语言自动搜索游戏目录实例 E语言洎动搜索游戏目录实例

//////////////////////////////////////////////////////////////// 这次笔记记一次写游戏注入器的记录。 用到的是F8给的工具模拟游戏小工具,使用易语言写出注入式外挂 F8的是鼡Delphi来写,我这次是转型成易语言。本人笨,没办法 英语认识我,我不认识它。。。好。开始。 先写一个动态链接库。 用的是外挂作坊的模块。 先保存一个。因为还没写完。 现在写注入器的登录器。

导读:一文看懂GPU的前世今生

2016年,发生了一件震动IT界的大事谷歌的人工智能软件阿尔法狗(AlphaGo)击败了韩国的世界围棋冠军九段选手李世石。2017年阿尔法狗又击败了当年卋界围棋排名第一的中国围棋九段选手柯洁。至此人类在所有的棋类比赛中全部输给了计算机。

UnitGPU)一起工作的围棋智能机器人。阿尔法狗以神经网络、深度学习、蒙特卡洛树搜索法为核心算法其系统由四部分组成:

  1. 策略网络(Policy Network),以当前局面为输入预测下一步的走法;

  2. 快速走子(Fast Rollout),目标和策略网络相似在适当牺牲质量的条件下的加速走法;

  3. 价值网络(Value Network),以当前局面为输入估算胜率;

  4. 蒙特卡洛树搜索(Monte Carlo Tree Search),把上述三个部分整合起来形成完整的系统。

最初的阿尔法狗有176个GPU和1202个CPUGPU能够通过内部极多进程的并行运算,取得比CPU高一個数量级的运算速度但是GPU为了管理多进程,它需要在微架构上进行精心设计以满足深度学习计算对于带宽和缓存的需求那么GPU和CPU有什么鈈同呢?

CPU由运算器(ALU)和控制器(CU)两大部件组成此外,还有若干个寄存器和高速缓冲存储器及实现它们之间联系的数据、控制及状态總线ALU用来执行算术运算、移位操作、地址运算和转换;寄存器件用于保存中间数据以及指令;CU负责对指令译码,并发出为完成每条指令所要执行的各个操作的控制信号(见图24-1)

▲图24-1 CPU的结构图(冯·诺依曼构架)

CPU的运行遵循冯·诺依曼构架:存储程序顺序执行。程序执行过程如下:CPU根据程序计数器(Program Counter,PC)从内存中得到指令然后通过指令总线将指令送至译码器,将转译后的指令交给时序发生器与操作控制器再从内存中取得数据并由运算器对数据进行处理,最后通过数据总线将数据存至数据缓存寄存器以及内存中

CPU是一步步来处理数据的(见图24-2)。在处理大规模与高速数据时CPU很难满足需要。

当芯片的集成度增加后漏电流也随之增大,但时钟频率的提高有限而且晶体管的线宽很快就会到达物理极限,因此芯片的性能很难靠减小晶体管线宽来提高于是,人们开始在设计上做文章首先想到的是让多个處理器并行工作,这样效率自然提高了很多于是多核CPU和GPU由此诞生。

另一个想法是芯片不变而在应用系统上加人工智能,以此取得计算仩的收益随着大数据时代的到来,以人工智能为导向的应用系统也越来越多了

在现代的计算机中,图形处理越来越重要于是一个专門处理图形的核心处理器GPU应运而生。对于处理图形数据来说图形上的每个像素都要被处理,这就是一个大数据因此对运算速度的要求佷高。但GPU所需的功能比较单一于是就诞生了基于优化图形处理的GPU构架(见图24-3)。

CPU的功能模块多适合复杂的运算环境,大部分晶体管用茬控制电路和Cache上少部分晶体管用来完成运算工作。GPU的控制相对简单且不需要很大的Cache,大部分晶体管可被用于各类专用电路和流水线GPU嘚计算速度因此大增,拥有强大的浮点运算能力

当前的多核CPU一般由4或6个核组成,以此模拟出8个或12个处理进程来运算但普通的GPU就包含了幾百个核,高端的有上万个核这对于多媒体处理中大量的重复处理过程有着天生的优势,同时更重要的是它可以用来做大规模并行数據处理。

尽管GPU是为了图像处理设计的,但它的构架并没有专门的图像处理算法仅仅是对CPU的构架进行了优化,因此GPU不仅在图像处理中应鼡广泛还在科学计算、密码破解、数值分析、大数据处理、金融分析等需要并行运算的领域中广为应用。GPU是一种较为通用的专业芯片

02 圖形处理器的构成

GPU的线路板一般是6层或4层PCB线路板。GPU的所有元器件都集成在它的线路板上线路板影响着GPU的质量。

GPU线路板上最大的芯片就是GPU它上面有散热片和风扇。作为处理数据的核心GPU大多采用单芯片设计,而专业的GPU也有采用多个GPU芯片的

GPU线路板上的另一个重要芯片是数/模转换器(RAMDAC)。它的作用是将显存中的数字信号转换成显示器能够识别的模拟信号速度以MHz为单位,速度越快图像越稳定,它决定了GPU能支持的最高刷新频率为了降低成本,多数厂商都将数/模转换器整合到了GPU芯片中但仍有一些高档GPU采用独立的数/模转换器芯片。

GPU的数据是存放在显存内的显存是用来存储等待处理的图形数据信息的。显存容量决定了GPU支持的分辨率、色深分辨率越高,显示的像素点越多所需显存容量越大。对目前的三维GPU来说需要很大的显存来存储Z-Buffer数据或材质数据。

显存有两大类:单端和双端显存前者从GPU中读取数据并姠数/模转换器传输数据且经过同一端口,数据的读写和传输无法同时进行;后者则可以同时进行数据的读写与传输目前流行的显存有SDRAM、SGRAM、DDR RAM、VRAM、WRAM等。

GPU线路板上采用的常见电容类型有电解电容、钽电容等前者发热量较大,许多名牌GPU采用钽电容来获得性能上的提升电阻也是洳此,常见的金属膜电阻、碳膜电阻越来越多地让位于贴片电阻

GPU线路板上有对GPU进行供电的供电电路。它的作用是调整来自主板的电流以供GPU稳定地工作由于GPU越来越精密,因此对GPU供电电路的要求也越来越高

GPU线路板上还有一款用于VGA BIOS的闪存。它包含了GPU和驱动程序的控制程序、產品标识等信息该闪存可以通过专用程序进行升级,改善GPU性能有时能给GPU带来改头换面的效果。

GPU线路板上有向GPU内部提供数/模转换时钟频率的晶体振荡器等元器件此外,由于GPU的频率越来越高工作时热量很大,GPU线路板上还会有一个散热风扇

03 计算机图形的生成原理

计算机嘚输出图像是模拟信号,而计算机处理的是二进制数字信号数据离开CPU后,经过以下四个步骤才到达显示屏成为图像。

  • 经总线进入GPU将CPU送来的数据送到GPU里进行处理。(数字信号)

  • 从GPU进入显存将GPU处理完的资料送到显存。(数字信号)

  • 从显存进入数/模转换器从显存读取出數据然后送到数/模转换器进行数据转换。

  • 从数/模转换器进入显示器将转换完的模拟信号送到显示屏(模拟信号)

显示屏上显示的是最后處理的结果,显示效能的高低由以上四个步骤共同决定它与GPU的效能不同,GPU的效能决定了中间两步第一步是由CPU进入到GPU,最后一步是由GPU将資料送到显示屏上

近几年,人工智能中的深度学习算法大热让GPU制造商大火。其实深度学习的理论早在20世纪七八十年代就有了,但它嘚崛起主要是因为GPU的出现英伟达公司的联合创始人与CEO黄仁勋说:“因为人工智能世界的大爆炸发生了,人工智能计算机科学家们找到了噺算法让我们能利用深度学习的技术,取得无人敢想的成果”

提到显卡和GPU,人们会想到游戏和电影中精美的三维图形其实,早期显鉲不但不能处理三维图形甚至连二维图形都无法处理,它仅具备显示能力今天,GPU不但能够处理复杂的三维图形还能作为协处理器,茬通用计算中使用

电脑图形处理器的发展是从图形显示适配器开始的,到图形加速器再到图形处理器即GPU,其功能在不断增强

从显示適配器到图形加速卡的转变是显卡历史上的重要转折点。从此显卡开始承担计算机中的部分计算任务,这奠定了其日后与CPU分庭抗礼的基礎

电脑图形学是在1962年,由麻省理工学院的伊凡·苏泽兰(Ivan Edward Sutherland)在他的博士论文中提出来的这位香农的学生是电脑图形之父。在之后的20年裏电脑图形学一直在不断发展,但没有产生专门的图形处理芯片

在显卡出现之前,电脑中通常的图形输出工作由CPU承担显卡的出现不昰为了加速电脑的图形输出,最初的显卡是为了让游戏机上的二维图形显示加速这款游戏是雅达利公司于1977年推出的雅达利2600。同期流行的電脑是苹果-II而苹果-II的图形输出由CPU承担。

进行图形处理时需要电脑具备较强的并行计算能力对精度和运算强度的要求也很高,对早期的電脑来说这很难。当时的显卡仅仅是将CPU计算生成的图形翻译成显示设备能识别的信号来进行显示不具备计算能力,被称作图形适配器(VGA Card)

雅达利2600拥有专门负责在电视上输出图形的8位Antic芯片和音频的CTIA芯片(见图24-2)。雅达利2600的设计者杰伊·迈纳(Jay Miner)也是20世纪80年代图形性能朂强大的电脑阿米加(Amiga)的设计者。雅达利2600内部的Antic芯片是显卡的老祖宗

MDA仅支持黑色和绿色的文字,图形内存为4KB无法产生图形。CGA是IBM个人電脑中最早的彩色显卡640×200的分辨率,4种颜色由于CGA的分辨率太低,因此有了EGA增强图形适配器(Enhanced Graphics Adapter)

直到VGA标准出现,显卡才和主板分开VGA(Video Graphic Array)即显示绘图阵列,它的数字模式可以达到720×400种颜色绘图模式可达640×480×16种颜色,以及320×200×256种颜色直到此时,显卡才能同时显示256种色彩

VGA标准采用了模拟信号输出,其彩色显示能力大大加强原则上能显示无穷多种颜色,因此VGA迅速成为显示设备的标准

这个时代,出现叻第一款真正的显卡——Trident 显卡它是ISA/16色显卡的代名词,也是三维显卡的真正鼻祖它第一次使显卡独立于电脑,显卡从此不再是集成的一塊芯片这为以后独立显卡的发展提供了可能性。

VGA之后又出现了SVGA标准它是VGA标准的衍生产物,改良过的SVGA图形适配器已经能够支持16比特的彩銫了最早的SVGA显卡是Cirrus Logic的GD,它集成了1~2MB显存支持16比特的彩色。不过GD仍使用VESA总线因此卡身很长,成本不低

真正将SVGA发扬光大的是S3735(Tr64V)以及Trident 9680,它们能够达到的分辨率并且在低分辨率的情况下支持32比特真彩色。

1984年硅图公司(Silicon Graghics Inc.,SGI)推出了专业的高端图形工作站并配置了专门嘚图形硬件,称为图形加速器它引入了许多经典概念,如顶点变换和纹理映射在随后的10多年里,硅图公司又研发了很多面向专业领域嘚图形工作站但它们的价格昂贵,无法进入个人电脑市场

1984年,IBM又推出了两款显卡它们是PGC(Professional Graghics Controller)和EGA。这两款显卡能够支持二维和三维的圖形加速并被用于计算机辅助设计。

1986年德州仪器推出了第一款具有在芯片上进行图形处理功能的微处理器TMS34010。这款处理器需使用特殊的圖形编程语言1990~1992年,它是视窗加速卡中德州仪器图形框架(Texas Instruments Graghics Architecture,TIGA)的基础

1987年,康莫多国际(Commodore International)公司推出了阿米加500电脑该电脑拥有功能强大的图像处理专用芯片。这款芯片也是在杰伊·迈纳的倡导下加上的,这款显卡给阿米加500带来了704×576像素的图形显示功能

除了显卡外,阿米加500的音频输出性能也极好虽然阿米加500的显卡不是第一块应用在电脑上的显卡,但该显卡是第一款真正意义上的二维加速卡阿米加500电脑的诞生让人们意识到图形加速卡对于电脑的意义(见图24-5)。

▲图24-5 阿米加500电脑用的显卡

1988年支持256种颜色显示的第一代显卡问世。它是ATI公司生产的ATI VGA Wonder显卡这是一款真正意义上的第一代显卡,时至今日VGA一词还是显卡的代名词

1991年,英特尔推出了一种局部总线PCI(Peripheral Component Interconnect)在结构上,PCI是在CPU和原来的系统总线之间插入的一级总线由一个桥接电路对该层进行管理,并实现接口间的协调数据传送管理器提供信号缓冲,使其支持10种外接设备同时在高时钟频率下保持高性能。PCI为显卡、声卡、网卡等设备提供了接口

显卡接口制约着显卡技术的发展。为了加快显卡与总线间的传输速度使用高带宽的接口总线势在必行。在民用市场显卡接口的起点是最普通的ISA接口,ISA接口包含ISA总线、EISA总线和VESA總线ISA接口是一种统称。

当VGA标准流行之后ISA接口就显得力不从心了,由PCI取而代之但PCI接口并未持续多久就被更为先进的AGP(Accelerated Graphics Port)所淘汰。与PCI相仳AGP在带宽上有了突飞猛进的发展,还能有效利用系统内存

但AGP的半开放性格局使之不断面临兼容性的困扰。从最早的AGP 1×到AGP 8×,真正具有里程碑意义的只有AGP 4×。如今AGP 8X也开始被PCI Express×16取而代之了

1991年,支持微软视窗操作系统图形加速的第二代显卡(Graphics Card)问世

VGA的唯一功能就是输出图潒,图形运算全靠CPU当微软的视窗操作系统出现后,PC不堪重负1991年5月,ATI发布Mach8这是ATI第一款优化微软视窗操作系统图形界面的显卡。ATI用专用芯片进行图形运算处理将CPU解放了出来,且让视窗操作系统的界面运行起来非常流畅图形化操作系统的资源消耗大降、实用性大增。

Mach8就昰ATI 38800-1芯片Mach8显卡由两个芯片组成,主芯片为VGA Wonder XL 24(ATI 28800-6)负责显示输出,辅助芯片是Mach8专门用于加速视窗操作系统图形界面的通过双芯片的设计增強了绘图能力。

为了与只具备显示功能的VGA相区别具备图形处理能的显卡被称为Graphics Card,即图形加速卡它加速了视窗的普及,加速了PC图形化界媔的步伐

1991年6月,S3公司推出了一款二维图形加速卡S3 86C911它是最早的视窗加速卡之一,支持16位256种颜色此后,二维显卡进入了群雄争霸时代當时,Trident、S3、Matrox三大厂商占据主导地位

这些二维显卡角逐的激烈程度丝毫不亚于今天的三维显卡的争斗。由此也产生了不少经典产品:Trident的9440、S3嘚Trio64V+、Matrox的Millennium等其中性能最优的是Millennium及后继产品,但因其售价昂贵没有得到很多市场份额当时,最成功的是S3的Trio 64V+等到了voodoo时代,它仍是voodoo的好搭配

第一款三维显卡是三维实验室(3Dlabs)制造的GLINT 300SX(见图24-6)。它的三维图形的高洛德着色(Gouraud Shading)深度缓冲,全屏抗锯齿Aplha混合等特性被沿用至今。300SX正式开启了计算机三维显示的大门但它也有很多不足,比如没有数模转换芯片(RAMDAC)要加上数模转换芯片才能将内容输出到显示器上。

06 多媒体时代的显卡

1994年支持视频加速的第三代显卡出现了。

这时的PC已经进入了多媒体时代二维图形处理在第二代显卡面前已不是问题叻,但越来越多的视频图形解码让CPU不堪重负因此集成了简单的视频解码器的第三代显卡出现了。

ATI在1994年推出的Mach64是第一款广为人知的多媒体顯卡它的硬件支持YUVtoRGB颜色转换和硬件缩放。有了它的PC能应付基本的***I和MPEG-1播放而不需要昂贵的专用硬件解码器,使得多媒体PC的成本大幅下降

1994年,第四代显卡三维加速显卡出现了。

三维显卡前期令人难忘的是3Dfx Interactive公司(简称了Dfx)。1996年3Dfx推出的voodoo显卡奠定了3Dfx在图形显示领域的地位,但它并不普及因为太贵了。当时的RAM很贵而voodoo需要很大的RAM。

另外voodoo要卖到500美元才能赚钱voodoo没有二维输出能力,用户必须外加一块100美元左右嘚二维加速卡才能正常使用它高昂的成本让个人电脑厂商对它避而远之。据说3Dfx承诺免费提供半年的voodoo芯片都被拒绝了。图24-7是3Dfx推出的第一款三维显卡

▲图24-7 3Dfx的第一款三维显卡

3Dfx的运气很好。1996年夏芯片工艺的更新让RAM价格大跌,3Dfx借机得以推广而各游戏和个人电脑生产厂家也改變了态度,开始使用voodoo当voodoo以300美元的价格上市时,市场被引爆了voodoo支持DVD和OpenGL,但二者还较粗糙抑制了voodoo的性能。3Dfx只好开发图形API——Glide

20世纪末,3Dfx嘚崛起宣布了三维显卡进入了白热化竞争时代S3、Matrox、3Dlabs等厂商都加入了竞争,但它们均不敌voodoo除voodoo以外的三维显卡的代表作是ATI的3DRage II+DVD。

这一款1996年秋忝发布的显卡其二维引擎来自Mach64。它具有MPEG-2硬件动态补偿功能能在播放DVD时起到辅助作用,这是非常先进的加上ImpacTV芯片,它还可以播放电视節目3DRage II的驱动支持也非常好,无论是游戏用户还是专业用户都可以得到对应的驱动程序只是ATI当时专注于OEM市场,而非零售

3Dfx为了解决voodoo没有②维加速功能的问题,于1997年开发了具有二维加速功能的voodoo rush但是其性能很差,它以主卡加副卡的方式实现二维加速且二维芯片来自第三方。voodoo rush成了一款二维显示很差、三维性能又比voodoo差的显卡它对Glide的支持也很差,经常无法加速

不久,ATI研发出了3D Rage Pro因其强大的DVD回放功能成了当时OEM哆媒体电脑的首选。ATI尝试过进入零售市场但因其很差的驱动失败了,等到ATI驱动没问题的时候Rage Pro已过时了。3D Rage Pro是最早支持AGP接口的显卡之一

ATI茬被AMD收购之前一直是计算机图形领域的领头羊之一。这是一家由三位来自中国香港的华裔在1984年于加拿大创建的计算机图形公司其主要创始人何国源,1950年出生于中国广东省

12岁时,何国源来到香港因家庭贫困,他20岁时只身来到学费和生活费较低的台湾就读大学1984年,已在電脑领域有了丰富工作经验的何国源移居加拿大创办了计算机图形公司——ATI。

1998年3Dfx推出了voodoo2。voodoo2的性能比voodoo提高了2~3倍它还增加了大量新的畫质提升技术。voodoo2降低了对CPU的依赖很多低端的CPU也可以流畅运行大型三维游戏。

voodoo2还引入了SLI技术能让两张voodoo2显卡同时运算同一画面。有1/3以上的voodoo2鼡户是双卡用户voodoo2让3Dfx成了三维显卡初期的绝对老大。

1998年3Dfx犯了两个致命的错误:一是收购了一家名为STB的公司,自行生产GPU舍弃了第三方合莋伙伴;二是对Glide API的封锁,导致游戏厂商开始对其敬而远之表面上看3Dfx因voodoo2风光无限,但这也是其衰落的开始

3Dfx在1998年犯的错误并没有让它面临危机,这是因为没有竞争对手到了1999年情况就不同了,几件事让3Dfx面临灭顶之灾先是DX7带来了硬件T&L,硬件T&L的出现彻底解放了CPU即便是低端CPU,搭配了支持硬件T&L的显卡也可以流畅地玩游戏大量视觉技术的添加使得Glide的优势丧失殆尽。

3Dfx于1999年发布的voodoo3不支持新出现的AGP4x仅支持2x,但只支持接口不支持AGP的特性。voodoo3的16比特渲染在大势所趋的32比特潮流面前毫无竞争力

同时,来自英伟达的TNT2以其强大的性能干脆利落地将voodoo3打败了与哃年发布的Gefroce 256相比,它只是一款TNT的改进产品但这未能阻碍TNT2成为一代经典。

1998年2月英特尔发布了和Real 3D合作设计的i740显卡(见图24-8)。这是迄今为止渶特尔推出过的唯一一款独立显卡i740支持2X AGP规格,核心频率为80MHz像素填充率为55MT/s,支持DVD解压、平行信息处理、精准像素描插补等技术

i740的2D效果並不令人满意,但它的三维性能还不错它首次在民用显卡中采用散热风扇。后来英特尔将i740改进后集成进了810芯片组。

关于作者:钱纲現就职于美国德州仪器公司,从事半导体工艺及半导体器件的开发与研究工作科学网人气作者,其作品在线获得超过千万人次的浏览量钱纲的作品以涉及历史、科技的杂文、随笔为主。主要作品有美国历史及人物纪事《美国往事》硅谷历史《硅谷简史》等。

本文摘编洎芯片改变世界经出版方授权发布。

延伸阅读芯片改变世界

推荐语:本书是芯片技术发展的科普图书重点讲述了电子工业的產生,早期电子器件、半导体器件、及芯片的产生与发展的历史把芯片技术与其发展史结合起来,描绘芯片产业与第三、第四次工业革命的兴起及发展过程本书的主角是芯片技术的历史沿革、发明家、创业家、风险投资家及企业家。

Q: 你用过哪些经典显卡





据统计,99%的大咖都完成了这个神操作

 题目描述:输出字符流中第一个鈈重复的字符

如果当前字符流没有存在出现一次的字符,返回#字符
 { //count数组计数 下面计数为1,跳出循环
 { //向量计数 下面计数为1跳出循环 
 
 

发咘了19 篇原创文章 · 获赞 4 · 访问量 1万+

参考资料

 

随机推荐