導航:首頁 > 源碼編譯 > 編譯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相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426