當前位置:首頁 » 編程軟體 » 龍芯編譯器

龍芯編譯器

發布時間: 2022-01-25 20:32:29

A. 為什麼沒有國產的C/C++的編譯

首先:國產有編譯器,比如龍芯就用
其次:開發編譯器難度非常大,編譯器、操作系統、資料庫這三樣是程序界的三座大山,不是 所有牛奶都叫愚公。國產即使有編譯器我認為也不是完全從零開發的。龍芯雖然有了自己的編譯器也只是針對自己的平台編譯,不具備通用性。一句話,中國目前缺少大企業的眼光和決心以及實力

B. 龍芯發布新一代指令系統,新一代系統都有哪些優點

龍芯指令所有的嵌入式處理器都是基於一定的架構的,即 IP 核(Intellectual Property,知識 產權),生產處理器的廠家很多,但擁有 IP 核的屈指可數。如果有自己的 IP 核,光靠賣 IP 核即可坐擁城池。 嵌入式系統的架構有專有架構和標准架構之分,在 MCU(微控制器)產品方面,像瑞薩 (Renesas)、飛思卡爾(Freescale)、NEC 都擁有自己的專有 IP 核,而其他嵌入式處理 器都是基於標准架構。

由於此世代的產品效能與功耗比可以說是 過去 X86 體系的甜蜜點, 加上已經被市場長久驗證, 穩定性高, 故常被應用於效能需求不高, 但穩定性要求高的應用中,如工控設備等產品。 世界上生產處理器晶元的廠家有很多, 但他們生產的晶元絕大部分都屬於以上幾種架構, 只 有少數廠家設計生產一些自成體系的處理器,他們有自己的指令集、編譯連接器、調試器、 集成開發環境, 有的甚至還有自己的小型操作系統。

但他們的這些處理器基本都是自產自銷, 專用於他們自己的某些產品中, 而且這些處理器都是比較低端的, 針對性強, 應用也比較窄, 同時也正是因為他們所有都是“自己造”, 導致技術比較封閉, 公開資源少, 了解的人不多, 開發的人自然就少,所以它們根本不可能形成主流,當然這些公司並非靠生產晶元掙錢,而 是靠賣產品發財,所以嚴格來說,這些公司算不上是專門的晶元生產商,而是某個產品(如 照相機)的生產商,一旦他們的產品滯銷,他們“自己造”的晶元也將隨之退市。 不同架構處理器之間最根本的區別是指令集而不是其他, 也可以說指令集是區分不同架 構處理器之間的標志; 指令集最本質的含義在我看來應該是指匯編指令與二進制機器碼的對 應關系。

C. 龍芯電腦的軟體用什麼編譯器,能在龍芯電腦上編譯嗎可視化怎麼實現還有IP是自己的還是直接MIPS的

MISP版本的linux上有那些編譯器,龍芯就能用那些編譯器,目前gun一系列,pythonphp等等都能用。
龍芯是自己設計的,指令集兼容mips,並自己擴充了一些。

D. 龍芯CPU有什麼特點

龍芯CPU不同於我們常用的CPU,它屬於RISC處理器。
而常見的Inter和AMD的屬於CISC處理器。
但IBM的POWER GX處理器就是RISC。
所以原先的蘋果機上無法運行windows。
同樣的龍芯上也無法運行windows。
具體的兩種處理器的區別如下:

復雜指令集CPU內部為將較復雜的指令解碼,也就是指令較長,分成幾個微指令去執行,正是如此開發程序比較容易(指令多的緣故),但是由於指令復雜,執行工作效率較差,處理數據速度較慢,PC 中 Pentium的結構都為CISC CPU。
RISC是精簡指令集CPU,指令位數較短,內部還有快速處理指令的電路,使得指令的解碼與數據的處理較快,所以執行效率比CISC高,不過,必須經過編譯程序的處理,才能發揮它的效率,我所知道的IBM的 Power PC為RISC CPU的結構,CISCO 的CPU也是RISC的結構。
咱們經常見到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6實際上是改進了的CISC,也可以說是結合了CISC和RISC的部分優點。

RISC與CISC的主要特徵對比

比較內容 CISC RISC
指令系統 復雜,龐大 簡單,精簡
指令數目 一般大於200 一般小於100
指令格式 一般大於4 一般小於4
定址方式 一般大於4 一般小於4
指令字長 不固定 等長
可訪存指令 不加限制 只有LOAD/STORE指令
各種指令使用頻率 相差很大 相差不大
各種指令執行時間 相差很大 絕大多數在一個周期內完成
優化編譯實現 很難 較容易
程序源代碼長度 較短 較長
控制器實現方式 絕大多數為微程序控制 絕大多數為硬布線控制
軟體系統開發時間 較短 較長

所以兩種處理器的架構不同無法直接相比,
但現在的龍芯的處理水平已經可以和初期P4相比了。
因為上面無法運行windows且速度上無法與主流處理器相比,所以市場上沒有針對個人用戶出售龍芯的。

龍芯

龍芯(英語:GODSON)是中國科學院自主開發的通用CPU,採用簡單指令集,類似於MIPS指令集。第一型的速度是266MHz,最早在2002年開始使用,龍芯2號第二型為500MHz,第三型的目標在1GHz。

關連
「龍芯2號」處理器,也稱「Godson-2」處理器、「狗剩2號」處理器、「毛澤東110」處理器、「MZD110」處理器,其中「MZD」是取自「毛澤東」以英文發音時的三個開頭字母。

大記事
「十五」期間,國家863計劃提出了自主研發CPU的戰略思路。
2001年3月起,中國科學院計算技術研究所正式啟動處理器設計項目。
2001年3月,中科院計算技術研究所開始研製具有中國自主知識產權的高性能通用CPU晶元,被命名為「龍芯」。項目領導是中科院計算所所長李國傑,具體技術主管是研究院胡偉武。
2001年10月 龍芯的FPGA驗證成功,通過中國科學院主持的「龍芯(Godson)CPU設計與驗證系統」項目評審。
2002年6月 「龍芯1號」CPU研製成功。
2002年7月 「龍芯1號」CPU小批量投片成功。
2002年9月28日中科院計算技術研究所和北京神州龍芯集成電路設計有限公司聯合發布新聞,宣布「具有自主知識產權的我國第一款高性能通用CPU—「龍芯1號」研製成功。從此,中國信息產業「無芯」時代宣告結束。
2002年8月6日 由中國科學院計算技術研究所和江蘇綜藝集團等合資組建的「 北京神州龍芯集成電路設計有限公司」正式成立。
2005年2月18日,龍芯2號處理器正式面世,鑒定委員會認為,這款晶元的總體性能已經達到2000年左右的國際先進水平,相當於中檔的「奔騰三」處理器。
2006年9月13日,「64位龍芯2號增強型處理器晶元設計」(簡稱龍芯2E)通過科技部驗收,該處理器最高主頻達到1.0GHz,實測性能超過1.5GHz奔騰IV處理器的水平。同日,其成果「龍芯2號增強型處理器」通過了科技成果鑒定。

E. 有在龍芯電腦上升級或重新編譯Linux內核成功的嗎

龍芯本質上是屬於MIPS晶元,但是又在指令集上進行了修改和擴展,所以和真正的MIPS晶元又有些不同,要用合適的編譯工具,在龍芯電腦上編譯Linux內核超麻煩的,還是盡量使用原來適合的那個版本的內核吧,這樣相對小眾的平台出現問題了參考資料都難找呢。

F. 龍芯1b linux下 程序用什麼編譯執行

Linux下C程序的編輯,編譯和運行以及調試

要使用的工具:
編輯:vim(vi)
編譯和運行:gcc
調試:gdb

安裝很簡單(以下是以在CentOS中安裝為例):

1
yum vim gcc gdb

1.使用vim編輯源文件
首先,打開終端練下手:

1
vim hello.c

(進入一般模式)
按下"i",進入編輯模式,在編輯模式下輸入:

1
#include <stdio.h>

2
int main(){

3
printf("Hello, World!\n");

4
return 0;

5
}

輸入完成,按"ESC"鍵,回到一般模式,然後按下":wq",即可保存並退出vim。

附註:
在一般模式下,按下":%!xxd"查看hello.c的16進制形式,回到文本格式按下":%!xxd -r"。
查看hello.c的二進制形式,按下":%!xxd -b",這是hello.c保存在磁碟上的存儲狀態。
至此,在vim已完成C源文件的編輯。
關於vim的使用,直接上網搜索vim,相關的文章是相當多的;或者參考vim的聯機幫助,在命令行上鍵入"man vim"即可。

2.編譯和運行

gcc命令的基本用法:

1
gcc[options] [filenames]

其中,filenames為文件名;options為編譯選項
當不使用任何編譯選項編譯hello.c時,gcc將會自動編譯產生一個a.out的可執行文件:

1
[root@localhost c]# ls

2
hello.c

3
[root@localhost c]# gcc hello.c

4
[root@localhost c]# ls

5
a.out hello.c

執行:

1
[root@localhost c]# ./a.out

2
Hello, World!

使用-o編譯選擇,可以為編譯後的文件指定一個名字:

1
[root@localhost c]# ls

2
a.out hello.c

3
[root@localhost c]# gcc hello.c -o hello

4
[root@localhost c]# ls

5
a.out hello hello.c

執行:

1
[root@localhost c]# ./hello

2
Hello, World!

注意:使用-o選項時,-o後面必須跟一個文件名,即:-o outfile。

為了便於描述後面的選項,刪除hello和a.out可執行文件。

結合介紹gcc的編譯選項,分析hello.c的編譯和執行過程:
(1)預處理階段:使用-E選項,對輸入文件只做預處理不編譯。當使用這個選項時,預處理器的輸出被送到標准輸出而不是存儲到文件。如果想將預處理的輸出存儲到文件,可結合-o選項使用,使用如下:

1
[root@localhost c]# ls

2
hello.c

3
[root@localhost c]# gcc -E hello.c -o hello.i

4
[root@localhost c]# ls

5
hello.c hello.i

使用less查看下hello.i:

1
[root@localhost c]# less hello.i

(2)編譯階段:使用-S選項,將C程序編譯為匯編語言文件後停止編譯,gcc編譯產生匯編文件的默認後綴為.s。

1
[root@localhost c]# ls

2
hello.c hello.i

3
[root@localhost c]# gcc -S hello.c

4
[root@localhost c]# ls

5
hello.c hello.i hello.s

在gcc -S hello.c處,使用C源文件編譯,也可以用gcc -S hello.i的預處理文件編譯,結果一樣。

使用-S編譯時,也可以和-o結合使用指定編譯產生的匯編語言文件的名字:

1
[root@localhost c]# ls

2
hello.c hello.i hello.s

3
[root@localhost c]# gcc -S hello.i -o hello_s.s

4
[root@localhost c]# ls

5
hello.c hello.i hello.s hello_s.s

可使用less命令查看匯編代碼。

(3)匯編階段:使用-c選項,將C源文件或者匯編語言文件編譯成可重定向的目標文件(二進制形式),其默認後綴為.o。

1
[root@localhost c]# ls

2
hello.c hello.i hello.s hello_s.s

3
[root@localhost c]# gcc -c hello.s

4
[root@localhost c]# ls

5
hello.c hello.i hello.o hello.s hello_s.s

也可以和-o結合使用指定編譯產生的目標文件的名字:

1
[root@localhost c]# gcc -c hello.s -o hello.o

由於hello.o是二進制文件,使用less查看顯示為亂碼;

然後使用vim hello.o打開也顯示為亂碼,按下":%!xxd"查看其16進制形式,按下":%!xxd -r"退出 16進制查看模式,回到亂碼狀態。在退出vim時,若提示已經修改了文件,則使用":q!"強制退出。

(4)鏈接階段:鏈接器將可重定向的目標文件hello.o以及庫文件(如printf.o)執行並入操作,形成最終可執行的可執行目標文件。

1
[root@localhost c]# ls

2
hello.c hello.i hello.o hello.s hello_s.s

3
[root@localhost c]# gcc hello.o

4
[root@localhost c]# ls

5
a.out hello.c hello.i hello.o hello.s hello_s.s

可使用-o選項,指定輸出文件(即可執行目標文件)的名字:

1
[root@localhost c]# gcc hello.o -o hello

2
[root@localhost c]# ls

3
a.out hello hello.c hello.i hello.o hello.s hello_s.s

(5)執行階段:

1
[root@localhost c]# ./a.out

2
Hello, World!

3
[root@localhost c]# ./hello

4
Hello, World!

由此,看出前面使用的gcc hello.c -o
hello命令,將hello.c直接編譯為可執行的目標文件,中間經過於處理器的預處理階段(源文件到預處理文件),編譯器的編譯階段(預處理文件到匯
編文件),匯編器的匯編階段(匯編文件到可重定向的目標文件),鏈接器的鏈接階段(可重定向的目標文件到可執行的目標文件)。

還有其他的選項如下:
-Idir:dir是頭文件所在的目錄
-Ldir:dir是庫文件所在的目錄

-Wall:列印所有的警告信息
-Wl,options:options是傳遞給鏈接器的選項

編譯優化選項:-O和-O2
-O選項告訴GCC 對源代碼進行基本優化。這些優化在大多數情況下都會使程序執行的更快。-O2選項告訴GCC產生盡可能小和盡可能快的代碼。
-O2選項將使編譯的速度比使用-O時慢。但通常產生的代碼執行速度會更快。

除了-O和-O2優化選項外,還有一些低級選項用於產生更快的代碼。這些選項非常的特殊,而且最好只有當你完全理解這些選項將會對編譯後的代碼產生什麼樣的效果時再去使用。這些選項的詳細描述,請參考GCC的聯機幫助,在命令行上鍵入"man gcc"即可。

調試選項:-g(使用詳情見第3部分)
-g選項告訴GCC產生能被GNU調試器使用的調試信息以便調試你的程序。
即:在生成的目標文件中添加調試信息,所謂調試信息就是源代碼和指令之間的對應關系,在gdb調試和objmp反匯編時要用到這些信息。

3.調試
雖然GCC提供了調試選項,但是本身不能用於調試。Linux 提供了一個名為gdb的GNU調試程序。gdb是一個用來調試C和C++程序的調試器。它使你能在程序運行時觀察程序的內部結構和內存的使用情況。以下是gdb所提供的一些功能:
a.它使你能監視你程序中變數的值;
b.它使你能設置斷點以使程序在指定的代碼行上停止執行;
c.它使你能一行行的執行你的代碼。

(1)啟動gdb
在命令行上鍵入"gdb"並按回車鍵就可以運行gdb了,如下:

1
[root@localhost c]# gdb

2
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1)

3
Copyright (C) 2010 Free Software Foundation, Inc.

4
License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it.

5
There is NO WARRANTY, to the extent permitted by law. Type "show ing"

6
and "show warranty" for details.

7
This GDB was configured as "x86_64-redhat-linux-gnu".

8
For bug reporting instructions, please see:<>.

9
(gdb)

當啟動gdb之後,即可在命令行上輸入命令進行相關的調試操作。
也可以以下面的方式來啟動gdb:

1
[root@localhost c]# gdb hello

這種方式啟動gdb,直接將指定調試的程序文件裝載到調試環境中。也就是讓gdb裝入名稱為filename的可執行文件,從而准備調試。

了能夠進行調試,當前調試的程序文件中必須包含調試信息。其中調試信息包含程序中的每個變數的類型和其在可執行文件里的地址映射以及源代碼的行號,gdb
利用這些信息使源代碼和機器碼相關聯。因此在使用gcc編譯源程序的時候必須使用-g選項,以便將調試信息包含在可執行文件中。
例如:

1
[root@localhost c]# gcc -g hello.c -o hello

gdb還提供了其他的啟動選項,請參考gdb的聯機幫助。在命令行上鍵入"man gdb"並回車即可。

(2)gdb基本命令
<1>單步執行和跟蹤函數調用
程序編輯如下:

01
#include <stdio.h>

02
int add_range(int low, int high){

03
int i;

04
int sum;

05
for(i = low; i <= high; i++){

06
sum = sum + i;

07
}

08
return sum;

09
}

10

11
int main(){

12
int result[100];

13
result[0] = add_range(1, 10);

14
result[1] = add_range(1, 100);

15
printf("result[0] = %d\nresult[1] = %d\n", result[0], result[1]);

16
return 0;

17

18
}

編譯和運行如下:

1
[root@localhost gdb_demo]# vim test1.c

2
[root@localhost gdb_demo]# gcc test1.c -o test1

3
[root@localhost gdb_demo]# ls

4
test1 test1.c

5
[root@localhost gdb_demo]# ./test1

6
result[0] = 55

7
result[1] = 5105

G. 龍芯處理器採用了什麼 基礎架構

龍芯CPU不同於我們常用的CPU,它屬於RISC處理器。 而常見的Inter和AMD的屬於CISC處理器。 但IBM的POWER GX處理器就是RISC。 所以原先的蘋果機上無法運行windows。 同樣的龍芯上也無法運行windows。 具體的兩種處理器的區別如下: 復雜指令集CPU內部為將較復雜的指令解碼,也就是指令較長,分成幾個微指令去執行,正是如此開發程序比較容易(指令多的緣故),但是由於指令復雜,執行工作效率較差,處理數據速度較慢,PC 中 Pentium的結構都為CISC CPU。 RISC是精簡指令集CPU,指令位數較短,內部還有快速處理指令的電路,使得指令的解碼與數據的處理較快,所以執行效率比CISC高,不過,必須經過編譯程序的處理,才能發揮它的效率,我所知道的IBM的 Power PC為RISC CPU的結構,CISCO 的CPU也是RISC的結構。 咱們經常見到的PC中的CPU,Pentium-Pro(P6)、Pentium-II,Cyrix的M1、M2、AMD的K5、K6實際上是改進了的CISC,也可以說是結合了CISC和RISC的部分優點。 RISC與CISC的主要特徵對比 比較內容 CISC RISC 指令系統 復雜,龐大 簡單,精簡 指令數目 一般大於200 一般小於100 指令格式 一般大於4 一般小於4 定址方式 一般大於4 一般小於4 指令字長 不固定 等長 可訪存指令 不加限制 只有LOAD/STORE指令 各種指令使用頻率 相差很大 相差不大 各種指令執行時間 相差很大 絕大多數在一個周期內完成 優化編譯實現 很難 較容易 程序源代碼長度 較短 較長 控制器實現方式 絕大多數為微程序控制 絕大多數為硬布線控制 軟體系統開發時間 較短 較長 所以兩種處理器的架構不同無法直接相比, 但現在的龍芯的處理水平已經可以和初期P4相比了。 因為上面無法運行windows且速度上無法與主流處理器相比,所以市場上沒有針對個人用戶出售龍芯的。 龍芯 龍芯(英語:GODSON)是中國科學院自主開發的通用CPU,採用簡單指令集,類似於MIPS指令集。第一型的速度是266MHz,最早在2002年開始使用,龍芯2號第二型為500MHz,第三型的目標在1GHz。 關連 「龍芯2號」處理器,也稱「Godson-2」處理器、「狗剩2號」處理器、「毛澤東110」處理器、「MZD110」處理器,其中「MZD」是取自「毛澤東」以英文發音時的三個開頭字母。 大記事 「十五」期間,國家863計劃提出了自主研發CPU的戰略思路。 2001年3月起,中國科學院計算技術研究所正式啟動處理器設計項目。 2001年3月,中科院計算技術研究所開始研製具有中國自主知識產權的高性能通用CPU晶元,被命名為「龍芯」。項目領導是中科院計算所所長李國傑,具體技術主管是研究院胡偉武。 2001年10月 龍芯的FPGA驗證成功,通過中國科學院主持的「龍芯(Godson)CPU設計與驗證系統」項目評審。 2002年6月 「龍芯1號」CPU研製成功。 2002年7月 「龍芯1號」CPU小批量投片成功。 2002年9月28日中科院計算技術研究所和北京神州龍芯集成電路設計有限公司發布新聞,宣布「具有自主知識產權的我國第一款高性能通用CPU—「龍芯1號」研製成功。從此,中國信息產業「無芯」時代宣告結束。 2002年8月6日 由中國科學院計算技術研究所和江蘇綜藝集團等合資組建的「 北京神州龍芯集成電路設計有限公司」正式成立。 2005年2月18日,龍芯2號處理器正式面世,鑒定委員會認為,這款晶元的總體性能已經達到2000年左右的國際先進水平,相當於中檔的「奔騰三」處理器。 2006年9月13日,「64位龍芯2號增強型處理器晶元設計」(簡稱龍芯2E)通過科技部驗收,該處理器最高主頻達到1.0GHz,實測性能超過1.5GHz奔騰IV處理器的水平。同日,其成果「龍芯2號增強型處理器」通過了科技成果鑒定。

H. 龍芯電腦的軟體用什麼編譯器,能在龍芯電腦

可以。
龍芯的電腦可以安裝許多種其他版本的linux(包括安卓)甚至是bsd,只要支持mips架構的就可以。
例如Debian和FreeBSD,還有國內linux發行版deepin2014(deepin15暫時還不支持mips架構)

I. 龍芯與Linux問題

可以,但更建議你用ubuntu linux ,要容易上手些,使用也方便,不會打擊新手自信。而且ubuntu 也有龍芯版的,可以裝在龍芯上。它們本質是一樣的。

原則上只要有相應的編譯器,開源軟體都可以運行在龍芯上。
雖然CPU不同,但是世界上所有的程序,絕大部分是C/C++語言寫的,它是跨平台的語言,只要有相應的編譯器(GCC)就能編譯後運行在完全不同的CPU上。而linux 程序基本都是開源的,龍芯出現後肯定有很多人去移植和開發編譯器。所以,你的程序只要是C/C++寫的就能運行,當然,要用龍芯專用的編譯器編譯一次。
當然,Linux 腳本類程序不需編譯也可直接運行。

J. 龍芯處理器是risc架構嗎為什麼只支持linux


MIPS 一種RISC的處理器(ARM也是)
構架問題啊 要看系統支不支持 而不是支持不支持某個系統(其實就是市場行為決定的)。。。
Linux。。。可是最大的系統。。(不是說桌面PC系統佔有率 比如安卓的就是基於linux的還有很多嵌入式設備用的系統。。)

熱點內容
會務源碼 發布:2024-12-28 03:27:11 瀏覽:187
如何直接用密保手機找回密碼 發布:2024-12-28 03:17:11 瀏覽:576
電腦向伺服器傳文件的工具 發布:2024-12-28 03:05:17 瀏覽:783
編程搶手機 發布:2024-12-28 02:59:44 瀏覽:441
存儲器佔用多少位元組 發布:2024-12-28 02:56:39 瀏覽:190
魔獸和聯盟哪個對電腦配置要求高 發布:2024-12-28 02:43:26 瀏覽:79
屏保視頻怎麼設置密碼 發布:2024-12-28 02:33:12 瀏覽:76
movies文件夾 發布:2024-12-28 02:33:07 瀏覽:788
艾力紳怎麼跟安卓手機車機互聯 發布:2024-12-28 02:27:29 瀏覽:298
主備伺服器ip 發布:2024-12-28 02:27:28 瀏覽:479