导航:首页 > 源码编译 > 编译AMD

编译AMD

发布时间:2023-09-21 07:52:06

Ⅰ 如何编译armlinux的go

Golang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤。

注:本文选用树莓派做测试,因为树莓派是基于ARM平台的。

1、编译工具配置

据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的。因此,首先要配置好C编译工具:

1.1在Ubuntu或Debian平台上可以使用sudoapt-getinstallgcclibc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装。

1.2在RedHat或CentOS6平台上可以使用sudoyuminstallgcclibc-devel命令安装。

安装完成后可以输入gcc--version命令验证是否成功安装。

2、获取golang源代码

2.1直接从官网下载源代码压缩包。

golang官网提供golang的源代码压缩包,可以直接下载,最新的1.4.1版本源代码链接:/golang/go1.4.1.src.tar.gz

2.2使用git工具获取。

golang使用git版本管理工具,也可以使用git获取golang源代码。推荐使用这个方法,因为以后可以随时获取最新的golang源代码。

2.2.1首先确认ARM平台上已经安装了git工具,可以使用git--version命令确认。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:download/linux

2.2.2克隆远程golang的git仓库到本地

在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录。然后以下命令获取代码仓库:

gitclone/go

大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的。好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:

gitclone/golang/go.git

视网络情况,下载可能需要不少时间。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆==

下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cdgo命令进入该目录。

执行下面命令检出go1.4.1版本的源代码,因为现在汪敏指已经有新的代码提交上去了,最新的代码可能不是最稳定的:

gitcheckoutgo1.4.1

至此,最新1.4.1发行版的源代码获取完毕

3、设置golang的编译环境变量

主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义。

3.1GOROOT

主要代表golang树结构目录的路径,也就是上面git检出的go目录。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本困配运行时的父目录作为GOROOT的值。为了保险起见,可以直接设拿芹置为go目录的路径。

3.2GOOS和GOARCH

分别代表编译的目标系统和平台,可选值如下:

GOOSGOARCH

darwin386

darwinamd64

dragonfly386

dragonflyamd64

freebsd386

freebsdamd64

freebsdarm

linux386

linuxamd64

linuxarm

netbsd386

netbsdamd64

netbsdarm

openbsd386

openbsdamd64

plan9386

plan9amd64

solarisamd64

windows386

windowsamd64

需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台。树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm。

3.3GOARM

表示使用的浮点运算协处理器版本号,只对arm平台有用,可选值有5,6,7。如果是在目标平台上编译源代码,这个值可以不设置,它会自动判断需要使用哪一个版本。

总结下来,在树莓派上设置golang的编译环境变量,可编辑$HOME/.bashrc文件,在末尾添加下面内容:

exportGOROOT=你的go目录路径

exportGOOS=linux

exportGOARCH=arm

编辑完后保存,执行source~/.bashrc命令让修改生效。

4、编译源代码

环境变量配置完成自后就可以开始编译源代码。在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台)。编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件。如果希望只编译不测试,可以运行make.bash脚本。使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译。由于硬件情况不同,编译耗费的时间不同。在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右。

5、配置golang运行环境变量

编译完成后,go目录下会生成bin目录,里面就是go的运行脚本。为了以后使用方法,可以将这个bin路径添加到PATH环境变量中。同样编辑~/.bashrc文件,因为前面设置过GOROOT环境变量指向go目录了,所以只需要在末尾加上

exportPATH=$PATH:$GOROOT/bin

保存后同样执行source~/.bashrc命令让环境变量生效。

至此,golang源代码编译安装成功。执行goversion应该就能看到当前golang的版本信息,表示编译安装成功。


Ⅱ linux amd64中的amd是什么意思 啊

amd是AMD公司的意思。而AMD64,又称“x86-64”或“x64”,是一种64位元的电脑处理器架构。

AMD64是建基于现有32位元的x86架构,由AMD公司所开发,应用AMD64指令集的自家产品有Athlon64、Athlon64 FX、Athlon64X2、Turion 64、Opteron及最新的Sempron处理器。

linuxAMD64也就是64位的linux系统,并不是指AMD的cpu专用的,只要是支持64位的cpu都可以装

(2)编译AMD扩展阅读:

AMD试图使用自家的AMD64指令集来清理Intel的x86-32独占产品,并将x86更新到近似领先的RISC环境。 参与DEC Alpha 64位处理器设计的Dirk Meyer也参与了AMD64规范的开发,并且AMD的许多员工都是前Alpha处理器数衫凳工程师,因此为AMD64做出了很大贡献。

AMD64表明AMD放弃了惯用的遵循英特尔标准的风格,并选择将x86架构扩展为64位版本,例如将16位Intel 8086扩展为32位80386,并且与原始版本兼容。塌岁

AMD64体系结薯旅构在IA-32上添加了64位寄存器,并且与早期的16位和32位软件兼容,这可以使现有的基于x86的编译器轻松转换为AMD64版本。

Ⅲ 编译成64位就万事大吉的.关于64位的cpu应该做成什么样子,intel和amd曾有各自的打

AMD和英特尔CPU的制造是两种完全不同的技术,所以不能由主频来看AMD的性能。AMD性价比是毫无质疑的。AMD是攒机的首选。以前因为采用的工艺不同,AMD的发热两会比较大一些,所以品牌机多选择p4作为配置。但是今年来,AMD的技术水平约来越高。AMD已逐渐取代intel的王者地位。选3000+AMD的比INTEL的好主要是技术好
第一,AMD有先进的K8架构,仅仅14级流水线,执行效率更高,而intel的prescott核心有31级。虽然有更高的频率,但这个频率是依靠高流水线。办同样一件事情,如果当中出错,就得从头开始,这样就慢了,可惜牺牲了更高的频率。Intel当然不能视而不见,只有提高频率,加大缓存解决。还有最决的一招:降价和品牌效应。
第二,AMDcpu中集成了内存控制器,这样可以大大减小延迟。
第三,由于核心的问题,AMD功耗更小。
第四,AMD有广泛的主板支持,不像以前那样。
第五,AMD的cpu价格便宜(虽然现在贵了)。
第六,就是人的“同情”心理,往往更喜欢“弱者”(尽管AMD不再“弱”,但是市场占有率仅有20%,不像Intel的80%)补充:好坏只有限于Athlon64和Semproncpu(775,940,939针)和P4prescott核心cpu以前的Athlonxp及northwood没有什么差距。最多就是intel多媒体应用更好,amd则在游戏方面更有优势。再有,AMD的cpu和intel的在同市场定位的情况下,差距不大,几乎可以忽略不计。不要忘记,频率不是一无是处。通过对比intel的cpu:P4和PM就知道大概了,频率不是一切。1.5G的PM相当于P42.8GCPU的处理性能不应该去看主频,而INTEL正是基于相当相当一部分人对CPU的不了解,采用了加长管线的做法来提高频率,从而误导了相当一部分的人盲目购买。CPU的处理能力简单地说可以看成:实际处理能力=主频*执行效率,就拿P4E来说他的主频快是建立在使用了更长的管线基础之上的,而主频只与每级管线的执行速度有关与执行效率无关,加长管线的好处在与每级管线的执行速度较快,但是管线越长(级数越多)执行效率越低下,AMD的PR值可能会搞得大家一头雾水,但是却客观划分了与其对手想对应的处理器的能力。为什么实际频率只有1.8G的AMD2500+处理器运行速度比实际频率2.4G的P4-2.4B还快?为什么采用0.13微米制程的Tulatin核心的处理器最高只能做到1.4G,反而采用0.18微米制程的Willamette核心的处理器却能轻松做到2G?下面就来分析一下到底是什么原因导致以上两种“怪圈”的存在。每块CPU中都有“执行管道流水线”的存在(以下简称“管线”),管线对于CPU的关系就类似汽车组装线与汽车之间的关系。CPU的管线并不是物理意义上供数据输入输出的的管路或通道,它是为了执行指令而归纳出的“下一步需要做的事情”。每一个指令的执行都必须经过相同的步骤,把这样的步骤称作“级”。管线中的“级”的任务包括分支下一步要执行的指令、分支数据的运算结果、分支结果的存储位置、执行运算等等……最基础的CPU管线可以被分为5级:
1、取指令
2、译解指令
3、演算出操作数
4、执行指令
5、存储到高速缓存可能会发现以上所说的5级的每一级的描述都非常的概括,同时如果增加一些特殊的级,管线将会有所延长:
1、取指令
12、取指令
23、译解指令
14、译解指令
25、演算出操作数
6、分派操作
7、确定时
8、执行指令
9、存储到高速缓存
110、存储到高速缓存2无论是最基本的管线还是延长后的管线都是必须完成同样的任务:接受指令,输出运算结果。两者之间的不同是:前者只有5级,其每一级要比后者10级中的每一级处理更多的工作。如果除此以外的其它细节都完全相同,那么一定希望采用第一种情况的“5级”管线,原因很简单:数据填充5级要比填充10级容易的多。而且如果处理器的管线不是始终充满数据,那么将会损失宝贵的执行效率——这将意味着CPU的执行效率会在某种程度上大打折扣。那么CPU管线的长短有什么不同?——其关键在于管线长度并不是简单的重复,可以说它把原来的每一级的工作细化,从而让每一级的工作更加简单,因此在“10级”模式下完成每一级工作的时间要明显的快于“5级”模式。最慢的(也是最复杂)的“级”结构决定了整个管线中的每个“级”的速度——请牢牢记住这一点。假设上述第一种管线模式每一级需要1个时钟周期来执行,最慢可以在1ns内完成,那么基于这种管线结构的处理器的主频可以达到1GHz(1/1ns=1GHz)。现在的情况是CPU内的管线级数越来越多,为此必须明显的缩短时钟周期来提供等于或者高于较短管线处理器的性能。好在,较长管线中每个时钟周期内所做的工作减少了,因此即使处理器频率提升了,但每个时钟周期缩短了,每个“级”所用的时间也就相应的减少了,从而可以让CPU运行在更高的频率上了。如果采用上述的第二种管线模式,可以把处理器主频提升到2GHz,那么应该可以得到相当于原来的处理器2倍的性能——如果管线一直保持满载。但事实并非如此,任何CPU内部的管线在预读取的时候总会有出错的情况存在,一旦出错了就必须把这条指令从第一级管线开始重新执行,稍微计算一下就可以得出结论:如果一块拥有5级管线的CPU在执行一条指令的时候,当执行到第4级时出错,那么从第一级管线开始重新执行这条指令的速度,要比一块拥有10级管线的CPU在第8级管线出错时重新执行要快的多,也就是说根本无法充分的利用CPU的全部资源,那么为什么还需要更高主频的CPU??回溯到几年以前,让看看当时1.4GHz和1.5GHz的奔腾四处理器刚刚问世之初的情况:当时Intel公司将原奔腾三处理器的10级管线增加到了奔腾四的20级,管线长度一下提升了100%。最初上市的1.5GHz奔腾四处理器曾经举步维艰,超长的管线带来的负面影响是由于预读取指令的出错从而造成的执行效率严重低下,甚至根本无法同1GHz主频的奔腾三处理器相对垒,但明显的优势就是大幅度的提升了主频,因为20级管线同10级管线相比,每级管线的执行时间缩短了,虽然执行效率降低了,但处理器的主频是根据每级管线的执行时间而定的,跟执行效率没有关系,这也就是为什么采用0.18微米制程的Willamette核心的奔腾四处理器能把主频轻松做到2G的奥秘。固然,更精湛的制造工艺也能对提升处理器的主频起到作用,当奔腾四换用0.13微米制造工艺的Northwood核心后,主频的优势才大幅度体现出来,一直冲到了3.4G,长管线的CPU只有在高主频的情况下才能充分发挥优势——用很高的频率、很短的时钟周期来弥补它在预读取指令出错时重新执行指令所浪费的时间。但是,拥有20级管线、采用0.13微米制程的Northwood核心的奔腾四处理器的理论频率极限是3.5G,那怎么办?Intel总是会采用“加长管线”这种屡试不爽的主频提升办法——新出来的采用Prescott核心的奔腾四处理器(俗称P4-E),居然采用了31级管线,通过上述介绍,很明显能得出Prescott核心的奔四处理器在一个时钟周期的处理效率上会比采用Northwood核心的奔四处理器慢上一大截,也就是说起初的P4-E并不比P4-C的快,虽然P4-E拥有了更大的二级缓存,但在同频率下,P4-E绝对不是P4-C的对手,只有当P4-E的主频提升到了5G以上,才有可能跟P4-3.4C认识Intel与AMD双核CPU处理器的区别随着近日英特尔、AMD推出各种双核CPU新品,“双核”概念在业内逐渐升温。有意思的是,虽然都是双核,英特尔和AMD确各谈各的。英特尔大谈双核到桌面,AMD则直取双核的服务器市场。这两个公司双核到底有什么不同?以下是关于双核技术的背景资料,供大家参考。双核技术背景双核处理器是指在一个处理器上集成两个运算核心,从而提高计算能力。“双核”的概念最早是由IBM、HP、Sun等支持RISC架构的高端服务器厂商提出的,不过由于RISC架构的服务器价格高、应用面窄,没有引起广泛的注意。不同的构架最近逐渐热起来的“双核”概念,主要是指基于X86开放架构的双核技术。在这方面,起领导地位的厂商主要有AMD和Intel两家。其中,两家的思路又有不同。AMD从一开始设计时就考虑到了对多核心的支持。所有组件都直接连接到CPU,消除系统架构方面的挑战和瓶颈。两个处理器核心直接连接到同一个内核上,核心之间以芯片速度通信,进一步降低了处理器之间的延迟。而Intel采用多个核心共享前端总线的方式。专家认为,AMD的架构对于更容易实现双核以至多核,Intel的架构会遇到多个内核争用总线资源的瓶颈问题。AMD和Intel不同的体系结构双核与双芯(DualCoreVs.DualCPU):AMD和Intel的双核技术在物理结构上也有很大不同之处。AMD将两个内核做在一个Die(内核)上,通过直连架构连接起来,集成度更高。Intel则是采用两个独立的内核封装在一起,因此有人将Intel的方案称为“双芯”,认为AMD的方案才是真正的“双核”。从用户端的角度来看,AMD的方案能够使双核CPU的管脚、功耗等指标跟单核CPU保持一致,从单核升级到双核,不需要更换电源、芯片组、散热系统和主板,只需要刷新BIOS软件即可,这对于主板厂商、计算机厂商和最终用户的投资保护是非常有利的。客户可以利用其现有的90纳米基础设施,通过BIOS更改移植到基于双核心的系统。计算机厂商可以轻松地提供同一硬件的单核心与双核心版本,使那些既想提高性能又想保持IT环境稳定性的客户能够在不中断业务的情况下升级到双核心。在一个机架密度较高的环境中,通过在保持电源与基础设施投资不变的情况下移植到双核心,客户的系统性能将得到巨大的提升。在同样的系统占地空间上,通过使用双核心处理器,客户将获得更高水平的计算能力和性能要想根据AthlonXP的实际主频换算出型号:型号=实际频率×3÷2-500而要想根据型号算出AthlonXP的实际运行频率:实际频率=型号×2÷3+333AMD改变了其CPU产品的命名规则,将其产品标称一个与对手产品主频相当的型号。例如AthlonXP2000+的实际主频为1.67GHz,而其2000+的标称就与Pentium4的2.0GHz相对应。因为AMD的处理器是以低主频,短流水线的设计而intel的处理器是以高主频,长流水线的设计…这个好比,要开车从石景山去通州。有两条路可以走,一条是走长安街直接就到,可是堵车,二是走五环。虽然远了点,可是不堵车。AMD走的是长安街,而intel走的是五环。AMDSempron3000+中的3000+AMD的PR值标称方式,意思是相当于INTER主频为3.0G的CPU,因为开发技术上的缺陷,AMD的CPU主频一直就上不去,但是他的这种标称方法,也不是信口开河的,CELERON3.0是跑不过SEMPRON3000+的,但是它的实际主频只有可怜的1.8G

Ⅳ AMD显卡目前最新的显卡BIOS编译软件是哪个

目前最新的hoenix.BIOS.Editor

如果是你手头有bios的源代码,那么用微软的MSVC编译器就可以。
如果你仅仅是想把BIOS文件烧录到主板上,那么一般的编程器只要支持BIOS的flash rom的都可以,比如SF100.

Ⅳ 同一串代码用amd的cpu编译会出现bug吗

1、如果是基于软件的bug则与CPU无关;
2、如果是针对X86 CPU架构BUG而设计的代码,则有可能在Intel平台出现,但是对AMD无效。

Ⅵ 程序编译强大的电脑哪些配置需要强大

在编译方面,影响最大的是CPU,硬盘以及内存
所以配置方面建议如下
1、CPU使用多核多线程的处理器:接近的价格下如I7 7700K,AMD r7 1700x,至强E5 2683等
2、硬盘建议SATA固态SSD起步,用m.2的固态硬盘更好,m.2的固态硬盘需要对应的主板支持该系列才可以
3、内存建议16G起步,用2根8G组成双通道进行优化

阅读全文

与编译AMD相关的资料

热点内容
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:937
python私有库 浏览:512
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275
pdf里怎么修改文字 浏览:686
已保存文档加密如何设置 浏览:413
怎样判断加密货币是牛是熊 浏览:948
初二多项式乘法速算法 浏览:455
android多个布局文件 浏览:629
奔跑程序员 浏览:468
服务器如何搭建类似github 浏览:292
明日之后安卓太卡怎么办 浏览:503
如何使用命令方块找到村庄 浏览:767