64位应用(精选9篇)
64位应用 篇1
随着服务器配置级别的升级,64位的CPU、多核技术和大内存等配置在服务器上的应用越来越广泛,这些服务器都需要64位的操作系统来支撑服务器的日常运作。
64位的Windows操作系统对网络服务器的配置与32位Windows操作系统的配置有一定的相同之处,当一些设置不完整时,对网站程序的运行又会产生很大的影响,其直接影响着网站程序的运行性能和运行效率,严重时会导致服务器宕机。在64位的Windows系统中,正确配置和使用Apache、PHP和Tomcat等软件已经成为服务器高效运行的保证。
1 Windows安装配置Apache支持PHP
1.1 安装Apache所需的软件
对于Apache服务器软件,由于暂时没有64位的Apache for Windows安装软件,所以选择“httpd-2.2.19-win32-x86-openssl-0.9.8r.msi”这个软件包,在Apache官方网站高可以下载得到。
对于PHP解释软件,也暂时没有64位的PHP for Windows的软件,可以选择“php-5.2.17-Win32-VC6-x86.zip”这个软件包。
1.2 安装Apache软件
安装Apache时,如果不需要使用IIS,则将IIS停止,操作方法是:在“开始”菜单运行cmd命令,运行“net stop w3svc”,然后在“我的电脑”右击“管理”-“服务”,在“world wide web publishing service”项目上右击选择“属性”,在“启动类型”选项设置为手动或禁用,即可停用IIS。完成后双击“httpd-2.2.19-win32-x86-openssl-0.9.8r.msi”软件包,运行Apache安装程序。将Apache安装在C盘根目录方便管理,也可以安装在默认的目录,安装完成后,在浏览器地址栏输入“http://localhost/”测试一下,当出现“it’s work”表示Apache已经运行了。
1.3 配置Apache支持运行PHP
配置Apache时,按以下步骤操作:
1)解压“php-5.2.17-Win32-VC6-x86.zip”到“C:php”文件夹下。
2)复制“php.ini-recommended”并重命名为“php.ini”。
3)修改“php.ini”中的以下参数,取消前面的分号,然后保存退出:
upload_max_filesize=2M//改大一点,支持上传文件大小的。
4)把以下文件复制到“C:windowssystem32”文件夹下。如果安装的是64位的数据库,同时也复制一份到“C:windowsSysWOW64”文件夹中,否则链接不上数据库:
5)设置PHP环境变量。右击“我的电脑”-“属性”-“高级”-“环境变量”,PTAH把“;C:php;C:phpext”加到后边。
6)配置“C:apacheconfhttpd.conf”文件,在“#LoadModule vhost_alias_module modules/mod_vhost_alias.so”下加上以下语句:
在
7)测试,重启Apache之后,在“C:apachehtdocs”目录下新建“info.php”文件,输入以下内容:
phpinfo();
保存退出,然后在浏览器里输入“http://localhost/info.php”,出现页面就说明配置成功。
2 Windows安装配置Tomcat支持JSP
所需软件“jdk-6u26-windows-x64.exe”和软件“apache-tomcat-6.0.32.exe”或者“apache-tomcat-7.0.16.exe”,分别在Oracle官方网站上和Apache官方网站下载软件安装包,Tomcat选择Tomcat7.0和6.0任一版本均可,此处以安装“apache-tomcat-7.0.16.exe”为例。
“jdk-6u26-windows-x64.exe”的安装并设置环境变量,此处jdk为64位版本,32位操作系统则下载32位的安装包来安装,安装过程如下:
1)“jdk-6u26-windows-x64.exe”安装。安装时,可以点击更改目录,更改到自己需要的目录。
2)安装完jdk之后设置环境变量。安装完之后再右击“我的电脑”-“高级”-“环境变量”,选择“新建”,添加两个用户变量,JA-VA_HOME和PATH:
PATH%JAVA_HOME%bin;
3)安装“apache-tomcat-7.0.16.exe”。选择“全部安装”,可以方便进行在安装成功之后进行测试或管理。安装时还需要设置端口、一个用户名和密码,如果只使用Tomcat的话,就把端口8080改成80,如果是要整合IIS,就保留为8080端口。
如果端口设置为80的,必须在命令提示符里输入“net stop w3svc”,停止IIS,否则会引起端口冲突而导致安装失败。
安装程序会自动识别到安装jdk时安装jre6的路径,默认不要修改就行,如果和安装的jre6的路径不同,就更改到相同的目录。设置Tomcat的安装目录,一般默认即可,也可以自己点击“Browse”更改到自己需要的目录,然后点击“install”直到完整完成。
最后打开浏览器在地址栏输入“http://localhost:8080/index.jsp”,如果出现管理登录页面即表示安装成功。如果在安装的过程中选择的是80端口,就输入“http://localhost/index.jsp”即可。
3 Windows配置IIS6.0支持PHP
3.1 PHP压缩包的安装配置方法
在PHP的官方网站下载PHP软件压缩包“php-5.2.17-Win32-VC6-x86.zip”,按以下的配置步骤进行操作:
1)将文件夹解压到“C:php”。2)复制“php.ini-recommended”文件到“C:windows”并重命名为“php.ini”。
3)复制以下文件到“C:windowssystem32”和“C:windowsSysWOW64”文件夹下:
复制到“SysWOW64”文件夹是为了连接安装了64位的数据库,如果安装数据库是32位的,此处可以不用复制到“SysWOW64”文件夹里面。
4)配置“C:windowsphp.ini”文件
extension_dir="C:PHPext"//此处默认为=”/”
upload_max_filesize=20M//此处默认为2M,可以更改到20M extension=php_curl.dll//取消前面的分号;
extension=php_dbase.dll//取消前面的分号;extension=php_gd2.dll//取消前面的分号;extension=php_mbstring.dll//取消前面的分号;extension=php_mcrypt.dll//取消前面的分号;extension=php_mysqli.dll//取消前面的分号;extension=php_mysql.dll//取消前面的分号;extension=php_pdo.dll//取消前面的分号;extension=php_pdo_mysql.dll//取消前面的分号;extension=php_zip.dll//取消前面的分号;
5)配置IIS6.0。打开IIS控制台,选中“web服务扩展”,右击新建一个web服务扩展。扩展名为“.php”,添加“C:PHPphp5isapi.dll”,然后设置扩展状态为允许打上勾。
右击“网站”-“属性”-“主目录”-“配置”-“添加”可执行文件“C:PHPphp5isapi.dll”,扩展名“.php”,然后确定。
6)因为PHP无64位版本,所以要设置IIS为32位模式运行。在“开始”菜单运行“cmd”命令,然后输入以下代码并按enter键执行:
7)重启IIS之后,测试是否配置成功。在“C:Inetpubwwwroot”文件夹中新建一个“info.php”文件然后输入以下代码:
Phpinfo();
然后在浏览器地址栏输入“http://localhost/info.php”,正常运行就表示成功。
3.2 PHP安装包的安装配置方法
如果在PHP官方网站下载了“php5.msi”的安装包,双击直接安装就行,如果有安装了64位数据库,把以下文件复制到“C:windowsSysWOW64”文件夹中:
接着设置IIS为32位模式运行,在“开始”菜单运行“cmd”命令,然后输入以下代码并按enter键执行:
重启IIS即可配置好。
4 Windows整合IIS6.0和Tomcat
首先开始配置之前,确定安装好jdk、Tomcat和jdbc。64位的Windows2003操作系统先安装Tomcat配置jsp运行环境,再安装jdbc驱动支持jsp连接MySQL数据库。接下来就可以整合IIS6.0和Tomcat。
4.1 配置Tommcat软件
下载并整合配置Tomcat服务器,步骤如下:
1)安装64位的“isapi_redirect-1.2.31.dll”文件。下载地址为“http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win64/jk-1.2.31/amd64/”。在“C:Program FilesApache Software FoundationTomcat 7.0conf”下新建文件夹“connector”,然后将“isapi_redirect-1.2.31.dll”文件放在此文件夹中。
2)在“C:Program FilesApache Software FoundationTomcat 7.0conf”文件夹内用记事本建立一个“workers2.properties”文件,内容如下:
#让mod_jk模块知道TOMCAT
#让mod_jk模块知道JDK
#指定文件路径分隔符
worker.worker1.host=localhost#TOMCAT服务器地址
worker.worker1.port=8009#工作端口
worker.worker1.type=ajp13#类型
worker.worker1.lbfactor=1#负载平衡因数
worker.worker2.host=otherhost#第二个TOMCAT的服务器地址
worker.worker2.port=8009#第二个TOMCAT工作端口
worker.worker2.type=ajp13#第二个TOMCAT类型
3)在“C:Program FilesApache Software FoundationTomcat 7.0conf”文件夹内用记事本建立一个“jk2.properties”文件,内容如下:
4)用记事本建立并编辑一个注册表文件“iis.reg”,然后双击导入注册表,内容如下:
所要注意的是以上文本中的路径一定要与安装的jdk和Tomcat的路径保持一直,否则不起效果。
4.2 配置IIS6.0的参数
在完成以上Tomcat的配置后,再配置IIS,步骤如下:
1)右击“默认网站”-“新建虚拟目录”,名称:“jakarta”,目录:“C:Program FilesApache Software FoundationTomcat 7.0confconnector”,给予读取、运行、执行、浏览的权限。
2)右击“默认网站”-“属性”-“isapi筛选器”,添加名称:“jakarta”,路径:“C:Program FilesApache Software FoundationTomcat7.0confconnectorisapi_redirect-1.2.31.dll”。
3)打开IIS控制台,在“web服务扩展”中添加一个新的web服务扩展,扩展名:“jakarta”,要求的文件添加路径:“C:Program FilesApache Software FoundationTomcat 7.0confconnectorisapi_redirect-1.2.31.dll”。
4)右击“默认网站”-“属性”-“主目录”-“配置”-“映射”,添加扩展名:“.jsp”,可执行文件:“C:Program FilesApache Software FoundationTomcat 7.0confconnectorisapi_redirect-1.2.31.dll”,此处在添加之后会提示“包含的项目需要括号括起来”,所以这得用双引号括起来。
5)右击“默认网站”-“属性”-“主目录”,浏览目录指向到Tomcat的根目录:“C:Program FilesApache Software FoundationTomcat7.0webappsROOT”。
6)重启Tomcat、重启IIS,测试是否整合成功。在重启之前确定一下IIS是否在64位下运行的,一般有配置PHP的VPS主机或服务器都会转成32位运行,如果以前有转成32位运行的则需要在命令提示符执行以下命令:“Cscript C:inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0”,这个命令是取消IIS在32位模式运行。在浏览器地址栏输入以下地址“http://localhost:8080/index.jsp”或“http://localhost/index.jsp”,访问正常的,那就表示整合成功了。
5 Windows整合IIS6.0和Apache软件
5.1 同一IP不同端口的整合配置方法
将Apache设为使用80端口,IIS使用其它端口,比如81端口,然后将Apache作为IIS的代理。
在“httpd.conf”文件里面,取消下面四行的注释:
然后建立一个虚拟主机,将该域名的所有访问转向81端口:
这样,对外就可以只需要一个端口,即可同时使用Apache和IIS的功能。
5.2 双IP共用80端口的整合配置方法
首先,设置Apache监听IP。在“apacheconfhttpd.conf”文件里,有“#Listen 12.34.56.78:80”,写成:“Listen ip:80”。
再次,设置IIS监听IP:
1)找到Windows2003安装光盘下的“supporttoolsSupport.cab”,解压出“httpcfg.exe”文件,复制到“C:windowssystem32”文件夹下,如果是64位系统要复制64位系统光盘里的“httpcfg.exe”文件到“C:WINDOWSSysWOW64”和“C:windowssystem32”两个文件夹中。
2)绑定IP地址。绑定到某IP的命令:“httpcfg set iplisten-i 192.168.1.1”,即命令使用IIS的只监听指定的IP及端口。
查看绑定命令:httpcfg query iplisten
删除绑定命令:httpcfg delete iplisten-i 192.168.1.1
3)重启服务器然后分别测试IIS和Apache即可。
6 结束语
64位的Windows系统对64位的硬件配置有着良好支撑运行作用,对大内存管理更好和更快。如果网站服务器要支持“ASP.NET”,还必须手动安装64位版本的Framework。经过对Apache软件、PHP软件、Tomcat软件和IIS的配置整合,可以使服务同时解释运行ASP、PHP和JSP文件,除此之外,还要注意对服务器进行安全配置和优化配置,这样才能使服务器工作得更加稳定。
参考文献
[1]康梅娟.Windows下Apache虚拟目录和虚拟主机的配置[J].科技资讯,2007(34).
[2]胡莉萍,赵乐园,王华.浅谈WEB服务器配置(Win2000+Apache+PHP+Mysql)[J].科技资讯,2007(15).
[3]陈承欢.PHP、Apache、MySQL的整合配置技巧[J].计算机与网络,2004(17).
[4]王秋华,王玉娜.基于Tomcat的Windows下JSP开发环境的配置[J].大众科技,2005(7).
[5]吴小青.JSP+TOMCAT+MYSQL开源软件整合配置初探——以揭阳职业技术学院图书馆网站服务器配置为例[J].齐齐哈尔大学学报:自然科学版,2012(4).
[6]胡莉萍.Tomcat+JSP+MySQL整合配置初探[J].中国科技信息,2010(5).
[7]胡春安.JSP基础及环境安装配置[J].南方冶金学院学报,2004(4).
64位应用 篇2
#问题描述:确定安装好Oracle 11g 64位客户端、PL/SQL developer(不区分32/64)后,打开PL/SQL,无法选择数据库实例,如下图:
#解决办法:
1.下载oracle官网提供的文件instantclient-basic-win32-11.2.0.1.0; 下载地址:http://pan.baidu.com/s/1c0CMOwS
2.将instantclient-basic-win32-11.2.0.1.0 文件加压至oracle文件目录product下:
3.复制oracle安装文件夹..networkadmin下的文件 listener.ora和tnsnames.ora 到..productinstantclient_11_2的下面
4.进入PL/SQL Developer安装目录,新建start.bat文件,用记事本编辑写入: @echo off
set path=D:appAdministratorproductinstantclient_11_2 set ORACLE_HOME=D:appAdministratorproductinstantclient_11_2 set TNS_ADMIN=D:appAdministratorproductinstantclient_11_2 set NLS_LANG=AMERICAN_AMERICA.AL32UTF8 start plsqldev.exe
##此处的所有文件目录需要修改成自己的目录.5.点击运行start.bat, 正常情况会打开PL/SQL Developer(此时已经可以用来正常登录)
6.第5步正常开打登录窗户后,点击取消或登录进入PL/SQL主界面:
1)点击“Tools--Preferences”后,修改Oracle主目录名以及OCI库目录,目录中都应包含instantclient_11_2目录
此时保存退出后,完成对PL/SQL的修改
修改电脑环境变量,默认为oracle安装目录,需添加/修改为instantclient_11_2目录:
64位应用 篇3
关键词:非同步俯卧位64层CT,PCNL,应用效果
复杂性肾结石一种严重的泌尿系统疾病, 通过微通道经皮肾镜取石术 (PNCL) 能够取得良好的治疗效果, 但是如何准确的建立结石通道是PNCL成功与否的关键[1,2]。目前通过B超和X线定位穿刺虽然经济实惠, 但是穿刺难度较大, 结石残留率高, 容易出现出血等并发症, 而非同步俯卧位64层CT则能够避免这些缺点。为了探讨非同步俯卧位64层CT在PCNL中的应用效果, 本文选取2011年1月至2012年12月在我院进行PNCL的复杂性结石患者60例作为研究对象进行分析, 现报道如下。
1 资料与方法
1.1 一般资料
资料来源于2011年1月至2012年12月在我院进行PNCL的复杂性结石患者60例, 随机分成观察组和对照组两组, 每组30例, 观察组采用非同步俯卧位64层CT定位, 男性16例, 女性14例, 年龄在22~70岁之间, 平均年龄为 (42.7±5.1) 岁, 结石直径在1.5~6.2cm之间, 平均为 (3.6±0.5) cm, 单侧结石18例, 双侧结石12例;对照组采用X线定位, 男性17例, 女性13例, 年龄在23~71岁之间, 平均年龄为 (42.9±5.0) 岁, 结石直径在1.4~6.3cm之间, 平均为 (3.8±0.7) cm, 单侧结石19例, 双侧结石11例。两组患者在性别、年龄、结石直径、结石位置等一般资料上不存在显著差异, 无统计学意义 (P>0.05) 。
1.2 方法
观察组采用非同步俯卧位64层CT, 患者采取俯卧位, 通过GeHigh speed-64 muti slice进行扫描, 扫描部位从肾上极至耻骨联合, 参数设定为:层厚0.625mm, 螺距0.625mm, 350Ma, 120kV, 进行三维重建, 可以清晰地观察到穿刺目标和穿刺的深度、角度;穿刺点可以选择在第10-12肋下液后线至肩胛线之间, 通过泛影葡胺粒胶囊进行标记固定, 在CT引导下进行穿刺, 结合B超引导, 以建立通道。手术时患者取截石位, 进行全身麻醉, 留置输尿管导管及导尿管, 然后进行PCNL手术, 其中对于单通道且有结石残留的患者可建立第二通道, 通过气压弹道将结石击碎, 然后用取石钳将较大的结石取出, 通过输尿管人工注水冲洗和液压灌注泵高压脉冲水流将击碎的结石冲出。对照组采用X线定位, 手术采用PNCL, 手术方法同上。
1.3 观察项目
(1) 一次穿刺成功率、手术时间、住院时间; (2) 结石总清除率和并发症发生情况, 并发症包括出血、尿漏等。
1.4 统计学方法
采用SPSS18.0软件进行统计学分析, 计量资料采用t检验, 计数资料采用χ2检验, P<0.05说明具有统计学意义。
2 结果
2.1 两组在一次穿刺成功率、手术时间和住院时间上的比较
观察组一次穿刺成功率明显高于对照组 (P<0.05) , 手术时间明显少于对照组 (P<0.05) , 住院时间明显少于对照组 (P<0.05) 。结果见表1。
2.2 两组在结石总清除率和并发症发生情况上的比较
观察组结石总清除率明显高于对照组 (P<0.05) , 并发症发生率明显低于对照组 (P<0.05) 。结果见表2。
3 讨论
PCNL是治疗复杂性肾结石的主要方法, 但是在手术中需要进行定位穿刺建立取石通道才能保证手术顺利进行。传统的定位穿刺方法主要是采用B超和X线定位穿刺, 虽然比较经济实惠, 但是其影像为二维图像, 不容易建立取石通道, 而且穿刺角度也不容易掌握, 需要经验丰富的医生协助才能够进行[3,4];此外, 其结石残留率比较高, 容易出现大出血等并发症, 因而往往不能够取得良好的效果。
本研究中采用非同步俯卧位64层CT, 它是非实时进行的, 而且进行扫描时不会受到呼吸幅度的影响, 体位也和手术体位一致, 通过呈现三维图像能够准确定位穿刺的位置, 确定通道的深度和角度, 从而有效降低穿刺的误差, 此外, 它还可以呈现出结石位置、是否存在积水情况、穿刺通道与周围器官的关系, 从而有效提高结石清除率, 还能够减少对周围器官的损伤[5]。相关研究表明, 非同步俯卧位64层CT能够进行有效的定位, 术中结合B超引导, 能够有效监测器官组织的变化, 从而动态把握穿刺的位置、方向、轨迹等, 有效提高穿刺成功率[6,7]。通过本研究发现, 非同步俯卧位64层CT一次穿刺成功率明显高于X线定位, 手术时间明显少于X线定位, 住院时间明显少于X线定位;非同步俯卧位64层CT结石总清除率明显高于X线定位, 并发症发生率明显低于X线定位, 差异具有统计学意义, 说明非同步俯卧位64层CT在结合B超引导下能够有效提高结石清除率, 缩短手术时间和住院时间, 减少手术后患者出血、尿漏等并发症的发生, 从而有效提高PCNL的手术效果。
总之, 非同步俯卧位64层CT在PCNL中应用能够有效清除肾结石, 并发症发生率低, 是治疗复杂性肾结石一种有效的治疗方法。
参考文献
[1]陈耀举.X线机引导下应用MPCNL技术治疗尿路结石的临床疗效探讨[J].中国伤残医学, 2012, 20 (7) :39-40.
[2]李文雄, 梁坚.螺旋CT三维重建肾鹿角形结石影像在PCNL术中的应用价值研究[J].临床泌尿外科杂志, 2010, (12) :927-929.
[3]汪训保, 梁朝朝.三维螺旋CT引导建立经皮肾通道在复杂性肾结石PCNL术中的应用[J].南昌大学学报:医学版, 2011, 51 (6) :6-7.
[4]何应标, 陈展鹏, 胡建, 等.通道PCNL治疗肾结石术后结石残留分析及对策[J].吉林医学, 2012, 33 (18) :3951-3952.
[5]张伟, 杨文增, 申岩, 等.CT成像在复杂性肾结石PCNL术后的临床应用[J].河北医药, 2010, 32 (9) :1131-1132.
[6]司徒灿, 关永祥, 杨文清, 等.C臂X线定位MPCNL在治疗复杂性肾结石的临床应用[J].国际医药卫生导报, 2009, 13 (22) :39-40.
64位应用 篇4
一.设置SATA硬盘
说明:本次用于试验的硬盘为:pATA接口的希捷40Gb和SATA接口的希捷80Gb硬盘各一块。怎样设置SATA硬盘,由主板决定,本文以硕泰克
SL-K8AV2-R1L主板上的设置方法为例。各位朋友要使用这一功能时,请参见自己的主板说明书。
1.将SATA硬盘设置为IDE模式
进入bIOS后,在主界面上选择“Integratedperipherals(整合周边设备)”,进入设置界面。将“OnChipSATA”项设置为“Enabled”。将“SATAMode”项设置为“IDE”即可。
2.选择活动硬盘
在bIOS主界面下选择第2项,即“AdvancedbIOSFeatures”,再选择“HardDISKbootpriority”可观察到以下内容:
1.Ch0M:ST340014A2.bootable:Add-inCords3.Ch3M:ST380011AS
第1个就是IDE硬盘,第3个是SATA硬盘,按键盘上的翻页键,则选择在哪一硬盘上安装系统,
为方便叙述,我们将被选中的硬盘称为活动硬盘。
注:在“AdvancedbIOSFeatures”下选择“FirstbootDevice”,可设置光盘、硬盘等设备的启动顺序。但不能选择SATA硬盘。具体怎么让SATA硬盘优先启动,还得在“HardDISKbootpriority”下进行设置。
二.安装系统与转换
通过前面的讨论,我们已经能选择活动硬盘了。现在要做的就是:在一活动硬盘上安装任一操作系统,然后将另一硬盘设为活动硬盘,安装另一套系统。安装完成后,便能在Windows中访问另一块硬盘的内容。这样,在一块硬盘上安装系统时不会隐藏另一硬盘,也不会生成启动菜单。在任一操作系统下都能很方便地访问另一块硬盘,读写另一硬盘的数据时非常方便。
但要从一个系统转换到另一个系统就相对麻烦一些,必须在bIOS中按前面提供的方法进行设置。也许这就是双硬盘上安装双系统的唯一缺点吧。
小知识
64位应用 篇5
随着CPU速度与内存速度之间的差距越来越大, 访存延迟成为制约机器性能的瓶颈。解决问题的关键是充分发挥存储器层次结构的作用, 但由于处理器的Cache的容量较小, 能缓存的数据量非常有限。编译器为了提高Cache的利用效率, 通常在编译过程中采用循环变换、全局优化、寄存器分配优化和反馈式优化[1]等一系列优化来减少程序的访存数量, 提高数据局部性和避免Cache冲突。本文提出了一种针对64位机器上大量使用指针变量类型的程序, 采取减小指针数据存储量编译优化方法, 可以有效减少程序的访存数量, 该方法不需要操作系统的额外支持。并且在ALPHA RISC体系结构上基于移植后的Open64编译器[2]中实现了该优化方法, 针对Spec2000整数课题取得了明显的优化效果。
132位指针优化原理
目前大部分程序使用的高级语言, 例如C语言, 都会把程序对象 (变量) 的地址作为一种可处理数据, 称为地址值或指针值, 以地址为值的变量称为指针变量, 简称指针[3]。指针变量和其他变量一样, 通过赋值使得该变量保存了某个地址值, 然后通过该地址访问对象。指针指向的对象类型可以不同, 然而指针变量本身的大小是固定的, 这是由目标机器决定的, 64位机器指针宽度也为64位, 在内存中占用8字节。如果一个程序大量使用指针变量, 就会占用大量的内存空间, 频繁调用也就意味着更多的cache冲突。这正是本文要解决的核心问题。
如果在64位机器中, 将指针变量的长度由64位缩短为32位, 对于那些大量使用指针数据的课题无疑是有好处的。因为原本需要n个cache行来存储的指针数据, 经过32位指针优化之后, 只需要n/2个cache行就能装下, 节省出来的n/2个cache行就可以存储其它的数据, 增加了命中概率。
32位指针优化前, p0-p15占用2 cache行:
32位指针优化后, p0-p15占用1 cache行:
编译器在编译程序时, 可以通过加入特定的编译选项, 在编译器前端对指针变量进行特殊处理, 改变其长度属性, 后端处理好各个编译阶段与指针相关的信息, 最终生成32位地址操作代码。
232位指针模式的优化方案
2.1地址空间的处理
采取32位指针优化的前提条件是保证课题的正确性, 也就是说整个程序的长度和数据访问均在32位地址的范围内, 否则就会导致程序结果出错或者访问越界, 因此必须完成以下几类地址空间或地址类型的处理:
·静态地址空间 要使程序能够运行在32位指针模式下, 首先必须保证程序运行的静态地址空间在32位以内, 否则将无法访问到正确的地址。静态地址空间也就是通常所说的静态虚地址空间, 包括程序的正文段、数据段、bss段等。静态虚地址空间如果超过32位, 则一个32位的指针将无法表示这个范围的地址, 于是就会出现不可预知的错误。
要解决这个问题, 必须在程序链接时修改链接脚本中规定的起始地址, 然后链接器根据链接脚本中定义的起始地址。为程序的各个段依次分配小于32 位的地址。这样就可以实现将程序的静态地址空间从64位到32位的转换, 从而保证指令段、数据段地址都不超过32位。如图1所示。
·栈空间 它是在程序加载时由操作系统通过系统内部为进程设置的栈空间大小预先分配内存空间, 通常它用来保存局部变量和函数调用时需要保存的信息。执行过程中若栈空间不够且当前进程的栈空间设置已加大, 则操作系统还会自动追加分配栈空间。
程序的栈空间也要保证在32位的地址空间中, 这样才能保证通过32 位指针访问栈内容时的有效性。因此就需要另外设计一个32位指针程序加载器来执行操作系统加载程序运行的任务, 该加载器将栈空间设定在合理的范围之内, 遇到预留栈空间不足的情况, 还需要它能自动地扩展栈空间大小, 并保证用户程序的栈空间不会越过32位地址空间。
·动态分配空间 包括堆空间和内存映射区。堆空间通过brk () 系统调用管理。brk () 系统调用的唯一参数用于指明本进程的堆空间的上界。如果此参数大于当前进程堆空间上界, 则新的上界被设置为这个数值, 操作系统负责为此进程保留更多的堆空间;反之, 操作系统会把此进程超出这个上界的堆空间释放回系统。
内存映射区由mmap () 和munmap () 系统调用管理。进程通过调用mmap获得内存映射区, 申请到的空间的首地址被返回;通过调用munmap释放内存映射区, 操作系统重新获得这些内存区域[4]。
通常进程对这两类空间的访问既可以通过malloc/free库函数来进行, 也可以由用户通过直接调用系统调用brk () 和mmap () 来独立管理。要想保证动态分配的地址空间在32位地址以内, 要针对这两种情况进行处理, 第一种情况可以重载malloc/free库函数, 修改内部的系统调用, 设定其分配的地址空间在32位以内, 在用户分配动态地址空间时, 调用自定义的动态内存分配函数, 返回指向32位内存地址的指针。用户程序通过返回的动态内存首地址来访问堆空间;直接调用mmap () 的情况需要在用户级自行设定相应的参数, 因为编译器无法修改应用程序所调用的函数的参数值。程序地址空间如图2 所示。
·GOT表 GOT (Global Offset Table) 表中每一项都是本运行模块要引用的一个全局变量或函数的地址。可以用GOT表来间接引用全局变量、函数, 也可以把GOT表的首地址作为一个基准, 用相对于该基准的偏移量来引用静态变量、静态函数。在alpha体系结构上[5], 本运行模块的GOT表的访问地址始终保存在gp寄存器中。编译器在每个函数入口处都生成一小段代码, 用来初始化gp寄存器。链接器将全局符号地址放入全局偏移量表 (got) 时, got段中存储的全局变量地址可以仍然保持64位, 针对全局变量的地址访问仍然采用64位存取, 这是由于在小端机器中, 链接时静态地址空间如果保证在32位地址以内, got段中地址的有效地址位也能保证在32位之内, 这样做可以避免修改链接器带来的额外开销。
2.2静态库接口的处理
在调用库的时候, 由于库函数内部仍然将指针定义成64位, 如果参数类型或者返回值是一个指针, 就产生了类型大小不一致的情况, 通过参数或者返回值传递指针数据就相当于进行了强制类型转换, 对类型不一致的指针类型进行访问, 就有可能产生越界。
上述问题有两种解决方案:第一种就是编译器用32位指针模式重新编译这些库函数, 保持数据类型一致;第二种就是在编译器中遇到可能存在访问越界的函数时, 调用自定义的函数, 该自定义函数先进行一下数据的预处理, 再将参数传递给真正要调用的库函数。相比较而言, 第一种方法必须保证把所有的库都重新编译一遍, 而第二种方法不能把优化扩展的库中的函数。两种方法各有利弊, 可以视具体情况选择采用。
另外, 有些程序默认将指针类型当作unsigned long类型来使用, 遇到这种情况, 编译器通过增加选项来调整long类型的属性, 将long类型也改为32位, 不过前提条件是该程序在long类型为32位时, 仍然保证正确性。
2.332位指针程序加载器
加载器就是将程序载入主存运行的工具。在加载过程中, 一个程序可以通过虚地址映射到进程地址空间, 或者被通常的I/O调用读入, 这两种情况的加载略有不同。
大多数系统中, 加载器会把程序的静态数据 (包括代码和数据) 载入到指定的地址空间中, 程序的静态地址在链接时就已经确定。一般加载过程可分以下几个步骤[6]:
· 在目标文件头信息中读出程序所占空间大小;
· 为每个程序段分配相应的内存地址空间;
· 将程序的各个段读入内存中相应的地址空间;
· 将程序末端的bss段置零, 因为有些虚存管理系统并不进行处理;
· 创建一个栈空间;
· 建立起运行时需要的信息, 比如程序参数和环境变量;
· 启动程序。
32位指针程序加载器将32位指针程序加载入主存运行, 相对常规的加载器, 它需要针对32位指针的特性进行一些额外的处理, 包括在创建栈空间时限定栈空间的地址和大小;建立运行时信息时, 将程序主函数的指针类型参数 (例如argv) 和环境变量设定为32位等。在32位指针程序加载时, 该加载器代替了操作系统本身的加载器, 保证程序能被正确载入并顺利运行。
3实验结果
我们在一台Alpha21264 (LINUX) 工作站上进行了32位指针优化的实验, 采用Spec2000的整数课题进行测试。
移植后的Open64编译器在O3优化基础上, 采取了32位指针优化后, 整数的176.gcc、181.mcf、197.parser、254.gap、300.twolf课题都有比较明显的提升, 176课题加速比超过了10%;对整数课题整体提高了6%。图3是Spec2000的整数课题经32位指针优化后相比于优化前的性能加速情况。
4结束语
随着技术和工艺的发展, 现代高性能微处理器的运算速度越来越快, 而存储系统的增长速度却相对较慢, “内存墙”越来越成为系统的一个性能瓶颈。很多编译优化方法, 都在为解决这个问题寻求各种有效的途径。
本文提出的利用缩短指针长度来减少cache占用空间, 间接减小访存的优化方法, 其好处在于不会与其他编译优化方法相冲突。编译过程中有些优化方法在一起使用时, 会因为程序结构的改变而使得优化效果大打折扣, 而指针优化则只针对大量存储的指针变量, 可以和其他优化并行使用, 效果可以叠加。
32位指针程序优化有着极强的针对性, 对于那些指针变量存储较少或者较分散的程序, 它几乎起不到作用。因此需要用户在编译程序时, 根据程序自身的特点, 通过编译选项来控制是否采取该优化。
摘要:在64位机器上, 存储器一般以64位的虚地址进行访问, 所有的指针变量也以8字节进行存储和使用。介绍一种在64位机器上采取32位地址进行计算和访存的编译优化方法, 这种优化的目的是针对64位机器上大量使用指针数据的课题, 采取32位寻址可以减少指针变量占用内存和cache空间, 从而大大提高了该类课题的运行效率。
关键词:32位指针,64位处理器,32位加载器,地址空间
参考文献
[1]Thomas Ball, James R Larus.Optimally profiling and tracing programs[J].ACM Transactions on Programming Languages and Systems, 1994, 16 (4) :1319-1360.
[2]李中升, 张海军.Open64编译器的可移植性分析[J].高性能计算技术, 2003 (2) .
[3]谭浩强.C语言设计[M].北京:清华大学出版社, 2003.
[4]潘治.GNULIBC库malloc对性能的影响及其解决方法[J].南京大学学报:自然科学, 全国软件与应用学术会议专刊, 2005, 41 (10) .
[5]Site R, et al.Alpha architecture reference manual.Burlington[M].Mass.:Digital Press, 1992.
64位应用 篇6
4G是催化剂多模多频是关键
几乎所有分析机构都认为2014年全球4G市场将“看中国”。去年, 工信部发放LTE运营牌照。之后, 中国移动在合作伙伴大会上宣布, 2014年, 中国移动LTE TDD终端销售目标将达1亿部;而中国电信董事长王晓初也表示, 2014年, 中国电信天翼终端销量将达1亿部, 其中4G终端3600万部。除运营商外, 终端厂商中兴也称, 2014年其智能手机全球出货目标为6000万部, 其中4G手机至少占据40%。尽管此前工信部数据显示, 第一季度国内智能手机出货同比下降25.5%, 但业内人士预计, 在4G LTE的强力推动下, 未来“大盘”仍将持续走高。
值得关注的是, “大盘”走高将建立在各方关注“用户体验”的基础上, 而多模多频将是保证良好体验的关键要素之一。
关于多模多频, 目前中国移动的4G网络已经实现了LTE TDD和FDD两个模式的高度融合, 可以实现两个业务的无缝切换, 并已推出五模十频、五模十三频, 甚至六模多频等终端。中国移动总裁李跃在MWC上表示, 五年来, 中国移动推动TD-LTE (即LTE TDD) 产业发展始终坚持的一个追求就是融合。TD-LTE和LTE FDD是一个LTE, 只是有两种不同的表现形式。TD-LTE可以使剩余的频谱得到充分利用, 得到更高效的组织。
中国电信科技委主任韦乐平也表示, FDD和TDD是统一LTE标准下的两种不同接入方式。中国电信将先采取TDD、FDD混合组网方式, 并逐步实行融合组网。韦乐平同时表示, 3G和4G LTE将长期共存。
基于上述运营商4G网络的认识和建设, 一个平台打造符合各个运营商网络需求的手机目前已经成为中国4G终端厂商的发展方向。稍早前, 中兴发布的nubia X6, 就内置骁龙801, 支持7模16频, LTE TDD/LTE FDD/CDMA2000/EVDO/WCDMA/TD-SCDMA/GSM;而其发布的Grand S II则支持5模17频, 同样采用骁龙801处理器, 此外, 在射频领域, 高通也与中兴合作, 推出全球首款集成CMOSPA和天线开关的多模多频芯片, 且首先应用在中兴Grand S II智能手机上。
统一标准助企业转型
现在, 从运营商、手机制造商到芯片厂商, 产业链所有环节都努力在4G时代为消费者提供最优的用户体验。而4G时代, 终端用户关心的不是LTE等技术, 而是包括多模多频、快速连接、炫目图形性能、低功耗等在内的综合用户体验。这势必推进中国手机厂商从“制造”向“智造”的转型。
这其中, 多模多频也非常重要。首先考虑到频谱资源和技术演进的需要, FDD和TDD混合组网在全球渐成趋势。从另外一个角度, 拥有“全球签证”的手机未来一定会大行其道。据相关统计, 从2013到2018的未来5年, 中国出境旅游总人数有望突破4亿人次。而一部手机, 无缝切换、走遍天下将成为必需。
另外, 4G时代, FDD TDD的同根同源将帮助手机厂商打造“全球签证”手机, 从而帮助终端用户获取更棒的用户体验。GSA (全球移动设备供应商协会) 主席Alan Hadden先生认为:“由于LTE是全球统一、通用标准, LTE FDD与TDD的网络部署和用户终端制造都可以极大地受益于LTE的全球规模经济。”而高通首席执行官史蒂夫·莫伦科夫在博鳌亚洲论坛2014年年会“4G:布局真正的移动互联时代”分论坛上也表示:“中国处于一个激动人心的时代。而拥有全球统一标准的4G, 将会极大促进规模及创新的发展。”
众所周知, 更统一的标准将支持4G LTE高速发展, 并为消费者带来最优的“无缝”体验。就像市场研究与咨询机构Strategy Analytics最新报告所显示的, LTE TDD和FDD两种制式实现了共享相同的网络架构和协议栈, 其物理层关键技术与核心处理过程也完全相同。在LTE设计之初, 3GPP就将实现同时支持FDD和TDD的单一空中接口技术做为LTE的一个非常明确的系统需求, 希望为两种双工制式都提供更大的经济规模。该报告还称, 融合的LTE TDD和FDD正在成为数据速率和网络容量的助推器, 统一的标准正为LTE的全球经济规模提供坚实基础。
拉低门槛64位千元机呼之欲出
ICT产业的一个重要特征是新的技术、领先的工艺水平永远会“先行探路”。Strategy Analytics近日发布报告称, LTE-A和64位技术将是移动处理器的未来发展方向, 到2018年, 智能手机64位处理器的普及率将达到75%。同时, 有媒体称, 64位趋势目前已经得到部分印证。例如高通于近日发布的骁龙810和骁龙808处理器, 集成Cat 6 LTE Advanced调制解调器、支持3x20MHz载波聚合, 采用20纳米工艺, 支持64位计算。
64位应用 篇7
HID(Human Interface Device,人机接口设备)是一类低速USB设备,具有使用方便、响应迅速、成本低廉等优点。典型的有键盘、鼠标、游戏杆等。
HID设备研发和使用中面临的重要问题之一是设备与主机应用程序的通讯。Windows 7的发布标志着Windows操作系统开始从32位向64位过渡,因此有必要对64位Windows环境下HID设备通讯程序的一些新问题进行研究。
2 HID设备的性能特点(Performance characteristics of HID)
HID设备虽然也属于USB设备,但还具备一些自身特点,主要有:
(1)单次传输的数据量小,且以设备状态信息和控制信息为主。单次传输数据通常在8字节到1024字节。数据存储在报表(Report)结构内[1]。
(2)使用轮询方式。HID设备会在一个设定的时间间隔内检测一次设备,若发现设备状态有变化则会生成输入报表,并发送到主机[2]。
(3)多数采用中断方式通讯。这种方式适用于周期性、延迟低的数据[3],符合HID设备的应用特点。
3 HID设备的通讯过程(Communication process of HID)
Windows 98及之后的各版本Windows已包含HID驱动程序[4,5],应用程序可直接调用相关API函数实现HID设备的通讯。该过程可分为以下四个模块:
(1)设备识别和打开。一台主机有可能同时连接多台HID设备,因此在通讯前必须确定要进行通讯的设备并打开。HID设备以厂商ID(VID)、产品ID(PID)和产品版本号(PVN)三项属性值作为其唯一标识[6]。
(2)读报表。读报表是指HID设备向主机输入数据。对以中断方式发送数据的HID设备而言,应用程序需要创建一个异步调用的读报表线程。同时为减轻系统负载,该线程在HID设备没有向主机输入数据时应阻塞。当有数据输入时恢复运行,将输入数据保存在缓冲区中,并进行解析。之后线程将再次阻塞。读报表线程在应用程序运行结束前将一直存在。
(3)写报表。写报表是指主机向HID设备输出数据。但该功能不是必需的,视HID设备而定[7]。写报表线程比较简单,只须将要输出的数据先复制到一个缓冲区内,然后输出到HID设备即可。数据通常是一些控制信息和状态信息[8]。
(4)设备关闭。当主机与HID设备的通讯结束后必须将HID设备关闭。
4 64位Windows环境中H I D设备通讯 模式(Communication mode of HID in 64-bit Windows environment)
通过上述讨论,Windows环境下HID设备的识别和打开主要是通过调用API函数实现的。但64位Windows操作系统不支持这些API函数,也没有提供相应的API函数。因此必须对设备识别与打开模块的功能进行分解。思路是将涉及API函数的设备识别功能与设备打开功能相分离,并在32位环境下将前者编译为可执行程序,供后者在64位环境下调用。因此,应将设备识别与打开模块再细分为设备识别和设备打开两个独立的功能模块。
4.1 设备识别
HID设备识别 模块主要 是通过调 用相关的A PI函数对主 机各USB接口上连 接的设备 进行三项 属性值对比 , 完全符合 的即为当 前要打开 的HID设备 。 用到的API函数主要 有Hid D _ Get Hid Guid ( ) 、Setup Di Get Class Devs()、Setup Di Enum Device Interfaces()、Setup Di Get Device Interface Detail()、Hid D_Get Attributes()、Setup Di Destroy Device Info List()等。
4.2 设备打开
设备打开模块的功能相对简单,只需首先从外部文件中获取设备识别模块中保存的HID设备路径,再调用Read File()以带读写访问设置的异步方式将设备打开,并返回设备句柄即可。
4.3 通讯接口的设计和实验
以上述讨论为基础,设计一个实用的HID设备通讯接口,起名为CHid Comm64。该接口包括:
(1)DWORD变量VID、PID和PVN:保存HID设备的三项属性值。
(2)UCHAR类型数组Read Buffer和Write Buffer:分别表示HID设备的输入报表和输出报表。
(3)UCHAR类型数组Device Path,表示HID设备路径。
(4)Read Report Thread()和Write Report Thread():用于创建读报表线程和写报表线程,当HID设备没有向主机输入数据时,线程被阻塞;当有数据输入时,线程恢复运行,这样就可以降低系统负载、提高运行效率。
(5) 成员函数Search Device ( ) 、 Open Device ( ) 、Close Device()函数:分别实现HID设备识别、打开和关闭。
在连接不同的HID设备时,只需要重新设置VID、PID和PVN值以及Read Buffer、Write Buffer的长度,不用对HID设备识别、打开、读写报表等功能进行修改,从而提高接口的通用性。
实验以视频色彩编辑软件专用HID设备Wave Panel为平台,编程语言为C++,编译环境为64位Windows 7操作系统下的Visual Studio 2010。Wave Panel有按键、解码器和二维跟踪球三种控制器,每40ms对所有控制器轮询一次。若任何一个控制器的状态在期间发生变化,就会生成输入报表发送给主机。同时Wave Panel的液晶屏也可以显示主机的状态信息。
图1 Wave panel与主机的通讯程序界面 Fig.1 Interfaceof wave panel-host communication program
图1是主机应用程序调用CHid Comm64接口实现与Wave Panel通讯的界面。应用程序以十六进制形式将Wave Panel发送的数据显示在界面上,同时显示控制器状态变化的情况。
5 结论(Conclusion)
64位Windows操作系统不再支持原有的HID设备通讯API函数,因此有必要对HID设备与主机的通讯流程做出改进。所设计的CHid Comm64通讯接口将HID设备识别与设备打开功能相分离,从而能够较好地实现在64位Windows环境下的通讯功能。今后的工作将主要研究对该接口功能的完善方面。
摘要:针对64位Windows操作系统对HID设备与主机应用程序的通讯造成的新问题,首先简要介绍了Windows环境下HID设备的性能特点和通讯机制,以此为基础提出一个面向64位Windows的HID设备通讯接口,并在Wave Panel上进行了编程实验。结果证明该接口的通用性较强,能够较好地实现64位Windows下HID设备与主机应用程序的通讯功能。
64位应用 篇8
苹果首发64位引发噱头与实用之争
毋庸置疑, 苹果i Phone 5s中最吸引业内和市场目光的就是搭载的64位A7处理器, 这是苹果第一次高调地宣称产品在硬件组件上的升级, 而在苹果宣布最新i Phone 5S内部芯片设计是最新的64位处理器架构, 三星也宣布即将跟进, 并由此引发了智能手机搭载64位芯片究竟是实用还是营销噱头的争论。
众所周知, 64位芯片带来的直接好处是手机内存的增长, 而长期来看手机内存的增加是必然, 但要先解决处理器的技术障碍。目前, 高端智能手机的内存多为1GB、2GB, 历代i Phone的内存从256MB升级至1GB共经历了三年时间, 在未来三年乐观地看智能手机的内存有可能突破4GB, 关键在于能耗和电池方面的改进, 而苹果提前解决了这个处理器上的技术障碍, 为将来的性能提升打好基础, 操作系统和App将会全面适用于A7处理器。
“对于苹果而言, 所有苹果自己的软件已经重新编译兼容64位的i OS, 所以能拖累系统速度的就只剩第三方的应用。所以苹果热切希望开发者赶紧升级应用到64位版本。i OS的应用能同时是32位和64位的版本, 只需为64位进行一些优化就能发挥A7性能的优势。”IDC相关分析师告诉记者。
不过也有业内人士对此提出了自己的异议。以个人电脑产业为例, Windows XP自2001年推出时就有64位的版本, 但并不普及, 到2010年使用Windows XP系统的电脑中使用64位系统的比例还不到1%, 而使用Windows 7系统的个人电脑使用64位系统的比例为46%, 电脑产业经历了10年的发展, 在消费级市场中64位的系统并不算主流, 或者对于大部分普通消费者而言根本不需要性能过于强大的产品。苹果高管Phil Schiller在发布会上表示信息产业从32位过渡到64位经历了几年时间, 而苹果则在一天就完成了。产品零部件的发展是可能在短时间内完成, 而市场需求呢?智能手机从32位发展到64位的过程绝对不可能比个人电脑产业更快。
提及PC产业, 该产业芯片老大英特尔对于苹果64位A7芯片的推出并未表现出意外。英特尔中国移动通信事业部技术与产品规划总监洪力直言不讳告诉记者:“苹果64位A7芯片并非什么新的技术, 更像是营销的创新, 因为英特尔在传统PC产业早有64位芯片, 而在新近发布的面向智能手机和平板电脑的Bay Trail系列芯片平台也支持64位。”
尽管有关64位芯片在智能手机的应用争论不休, 但不容否认的是, 未来, 64位芯片能更高效地运行高端游戏和健康类应用。因为健康类应用需要访问生物传感器生成的海量数据。64位芯片还有助于运行对数据处理能力有极高要求的视频编辑工具, 或播放超高清视频。
对此, 捷孚凯 (Gf K中国) 分析师武晓锋认为:“从用户的角度, 当前智能手机承担越来越多的“生产”功能, 拍摄更高清的图片和视频, 更具体验的游戏, 更强的处理器性能将为移动终端带来更多的功能和体验。”
此外值得一提的是, 苹果在采用64位A7芯片的同时, 还采用了辅以A7的全新的M7协处理器。如同A7芯片的得力助手, 它专为测量来自加速感应器、陀螺仪和指南针的运动数据而设计, 如果没有它, 这项任务通常会落在A7芯片身上。但M7协处理器更擅长于此。追踪身体活动的健身app现可从M7协处理器读取相关数据, 因此无需持续访问A7芯片, 从而降低了耗电量。对此, 有业内人士认为:“A7与M7的搭配体现出了苹果应用创新的能力, 这点是其它厂商无可比肩的。”
友商有准备爆发在即仍存挑战
Gf K的数据显示, 当前智能手机市场, 双核、四核处理器份额已过半, 三星、MTK等厂商正在将八核处理器推入市场, i Phone5S中A7 64位芯片的推出为手机产业链硬件比拼提供了新的思路, 三星、高通等厂商将智能手机硬件升级的精力转入64位处理器, 在Android生态系统中, 搭载64位处理器的智能终端或许将成为高端市场发展新的方向。而谷歌宣称, 它的Android系统早已是64位系统, 只待64位芯片的支持。那么事实究竟如何呢?
A R M中国区移动市场经理王骏超日前向媒体透露, 目前获得6 4位处理器授权 (包括V 8架构授权) 的厂商包括AMD, Applied Micro, Broadcom, Calxeda, CAVIUM, 飞思卡尔, Hi Silicon/Huawei, LG, Marvell, Nvidia, 高通, 三星, 以及STMicroelectronics。
根据市场新产品的推出情况, 明年下半年基于ARM64位芯片进入市场, 首先是基于Cortex-A57/A53大小核高端手机, 然后是基于Cortex-A53的中低端手机。在2015年, 64位处理器可望成为智能手机主流平台, 到时候, 大量基于64位处理器的芯片进入市场, 也将同时带动软件生态系统更为成熟。对此, 手机中国联盟秘书长王艳辉认为:“相信所有A P供应商都在开发6 4位处理器, 明年Android高端手机卖点64位无疑。”总之, 64位计算智能手机大战即将开启。
除了A R M阵营的诸多厂商正在摩拳擦掌外, 另一个阵营, 即X86阵营的英特尔也并非坐以待毙。
在今年9月旧金山举行的的英特尔开发者大会上, 英特尔已宣布在Android平台上添加64位芯片。即研发代号为“Bay Trail-T”的英特尔凌动Z3000处理器系列, 这是英特尔首个移动多核系统芯片, 是其面向平板和移动设备推出的最强大的产品。
据英特尔方面称, Bay Trail 64位将于2013年年底或2014年年初面市, 英特尔已经把代码添加进Android开源项目, 为即将到来的64位Android芯片做准备。虽然英特尔刚刚给它们的Bay Trail 64位处理器提供支持, 而且64位的处理器可以支持32位的App, 但这个在桌面系统上已经做了多年, 而等到Android 64位大幅到来的时候, 英特尔肯定已经做好了准备。
尽管众厂商跃跃欲试, 但64位芯片要真正在智能手机上得到普及还需要一些必要条件。对此, 武晓锋告诉记者:“智能移动终端的发展需要更强的性能、更加丰富的功能和用户体验, 当前智能手机芯片商正在推动智能手机芯片向八核迈进。64位处理器, 为智能手机产业的发展提供了新的演进方向, 加快了智能手机整体性能的提升步伐。从产业发展来看, 一方面, 整体产业链的演进需要厂商、操作系统、应用开发等整体产业链参与者的整体推进;另一方面, 如何在移动设备上实现性能与功耗的平衡, 也是需要衡量的关键因素。”
64位只是开始系统与设备融合才是目标
如果说业内现在只是关注到64位芯片在i Phone上能发挥出何种威力, 那么这仅仅是苹果部署64位芯片的最初目的, 换句话说, 手机只是64位芯片的首尝试, 苹果有着更深远的动机和目的。因为64位的ARM芯片性能得到了极大提升, 包括服务器领域、平板领域、个人电脑、智能电视等等, 大至企业应用、小至家庭个人娱乐解决方案。
为此, 武晓锋告诉记者:“64位芯片的推出为智能手机性能和用户体验提升提供了新的发展方向, 从长远来看, 对整体智能手机产业和用户体验提升具有一定的实际意义。而从整体智能手机产业来看, 智能手机与平板、智能电视等终端融合互动的趋势越来越明显, 移动终端更接近于PC水准的运算能力, 将会大大加强智能手机多屏互动的处理能力, 推动智能手机产业发展的可外延性, 推动多屏智能终端的协同性和产业链的融合。”而王骏超日前在接受相关媒体采访时称:“64位是高端手机的下一个趋势, 而带动64位的刚性需求来自于高端智能手机和平板未来1~2年需要支持超出4GB内存, 操作系统需要支持64位寻址空间。另外, 最大的驱动力来自跨平台的统一操作系统内核和工具需求, 支持从智能手机到平板电脑再到其他设备。”
由此来看, 苹果发布64位手机芯片是基于整体生态系统演进的选择, 毕竟整体移动生态系统正在向更强的性能和体验迈进, 苹果需要保持生态系统内部不同终端在更强计算能力下的一致性与协同性, i OS的很多应用功能已经向Mac移植, 对于苹果来说, 手机芯片升级为64位只是开始, 未来移动设备和系统的融合才是最终的目的, 至少苹果目的鲜明。
ARM开放架构自主芯片的新机会
众所周知, 作为一家非专业芯片厂商, 苹果以自己的64位A7芯片向业界证明了基于开放的ARM架构或指令集所赋予厂商的二次创新的空间和能力, 这无疑为中国相关企业自主芯片之路提供了很好的借鉴。
目前, 华为海思、展讯、创毅视讯、联芯科技、联发科等中国厂商均已涉足TD-LTE芯片设计生产。4G手机的大规模商用最快也要到明年下半年, 值得注意的是, 华为海思是除了高通以外惟一已经大量量产出货的厂商, 已经在日本、欧洲、中国、亚太、拉美等全球市场大规模发货。此外, 中兴公司明年将会推出自己的4G芯片解决方案, 初期并不会支持中国移动的5模13频标准, 但会保障TDD/FDD/W/GSM这些用户基本的从2G到4G的网络用户体验。
中兴通讯执行副总裁何士友则在接受媒体采访时表示:“目前确实在手机芯片领域发力。手机芯片的布局需要未雨绸缪, 如果你掌握不了核心技术, 没有什么好的商业营运模式, 你这个企业很难生存, 所以我们会花更多的精力在4G核心技术的打造。”
对于中国企业涉足智能手机芯片, 某手机芯片设计公司负责人告诉记者:“与传统PC时代的X86架构不同, ARM架构的开放性降低了企业开发芯片的技术门槛, 增大了创新空间, 尤其像华为、中兴等这类智能手机出货量已步入全球前五的厂商, 本身还可以消化足以成市场规模的自主芯片, 所以也不存在当初PC产业研发自主芯片还要考虑如何市场化的问题。另外, 拥有自己的芯片, 一是可以保证特殊芯片的供应, 二是可以在采购其它厂商芯片时, 提升对芯片的议价权。”
相关链接
64位处理器
64位技术是相对于32位而言的, 这个位数指的是CPU GPRs (General-Purpose Registers, 通用寄存器) 的数据宽度为64位, 64位指令集就是运行64位数据的指令, 也就是说处理器一次可以运行64bit数据。从32位到6位, 虽然只是CPU字长增大了一倍, 实际上它使寻址范围、最大内存容量、数据传输和处理速度、数值精度等指标均成倍增加, 结果是CPU的处理能力大幅提升, 尤其是对强烈依赖数值运算、存在巨量数据吞吐和需要超大并发处理的应用提升效果非常明显, 如视频处理、3D动画和游戏、数据库以及各种网络服务器等。
协处理器
64位应用 篇9
作为大唐电信科技股份有限公司 (简称大唐电信) 在移动通信芯片领域的核心企业, 联芯科技2015年推出4G智能终端基带芯片LC1860, 以其卓越的性能, 助力红米2A手机全年突破千万销量, 获得业界一致认可。
2016年联芯科技发扬精益求精的“工匠精神”, 以智能终端应用为核心, 向车联网、智能家居、无人机、机器人、AR/VR等领域进一步扩展。近日, 联芯科技推出国内首款64位LTE Cat6 SDR So C芯片LC1881。
作为国内首颗64位商用SDR芯片, LC1881是继LC1860后推出的首款支持64位的LTE Cat6 SDR So C芯片, 具有里程碑式的意义。它不仅具有高集成、易扩展、宽频带、低功耗等优势、具备强大的计算能力和通信处理能力, 更是一款可扩展、可裁剪、可定制的芯片产品。联芯LTE So C解决方案正全面升级, 如图所示。
LC1881具备领先的LTE So C芯片架构设计, 集成AP与Modem, 能大幅提升芯片集成度并降低功耗及成本。CPU采用独特的八核Cortex-A53大小核设计架构, 可针对不同数据处理负荷, 灵活调用八核或者仅一个小核, 具备出色的功耗优势。同时, LC1881的SDR软件无线电技术采用了矢量处理器和通用DSP的组合架构, 具备强大的数据并行存取能力和超强计算能力, 为实现SDR技术提供了一个良好的支撑平台。将LC1881应用到新领域时, 只需要重新编程实现对应于该领域的各种处理, 无需设计新的硬件加速器, 也无需重新流片。
随着人们对无线通信质量、数据传输速率的要求越来越高, 载波聚合 (CA) 作为LTE-A的重要技术之一, 拥有在频段内及跨频段整合无线信道的特性。LC1881采用2×20的双载波聚合, 下行速率达300Mbit/s, 支持Vo LTE。应用载波聚合 (CA) 技术之后, 4G网络就好比单车道变成了多车道, 上网速度得到成倍提升。
随着移动互联网的发展, 移动视频步入了全高清时代。LC1881新增H.265编解码技术, 此项技术可以实现利用1~2Mbit/s的传输速度传送720P (分辨率1280×720) 普通高清音视频传送, 相比于H.264, 更能节省带宽。在相同的图象质量下, H·265视频大小将减少大约3 9%~4 4%。在码率减少51%~74%的情况下, H.2 6 5编码视频的质量还能与H.2 64编码视频近似甚至更好, 在线观看视频将拥有更高画质。
同时, LC1881可支持FHD全高清的图像显示, 在图像处理器上也进一步升级, 可支持双路1080P摄像, 新增的PDAF相位对焦与硬件HDR高动态范围技术可大幅提升用户拍照体验。
在外设接口上, LC1881从USB2.0升级到USB3.0。USB2.0的最大传输带宽为480Mbit/s, 而USB3.0的最大传输带宽高达5.0Gbit/s。USB3.0带来了更快的传输速度, 更强悍的电力传输。而新增的Type-C解决了“USB永远插不准”的世界性难题, 实现正反面随意插。