當前位置:首頁 » 操作系統 » mipslinux

mipslinux

發布時間: 2022-11-26 20:40:15

linux下怎麼查看cpu的mips

(一)概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重復的 physical id 有幾個
② 邏輯CPU
/proc/cpuinfo 用來存儲cpu硬體信息的
信息內容分別列出了processor 0 –processor n 的規格。這里需要注意,n是邏輯cpu數
一般情況,我們認為一顆cpu可以有多核,加上intel的超線程技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支持並開啟ht)
備注一下:Linux下top查看的CPU也是邏輯CPU個數
③ CPU核數
一塊CPU上面能處理數據的晶元組的數量、比如現在的i5 760,是雙核心四線程的CPU、而 i5 2250 是四核心四線程的CPU
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示伺服器的CPU支持超線程技術
二 查看CPU信息
當我們 cat /proc/cpuinfo 時、
具有相同core id的CPU是同一個core的超線程
具有相同physical id的CPU是同一個CPU封裝的線程或核心
三 下面舉例說明
① 查看物理CPU的個數
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2
② 查看邏輯CPU的個數
#cat /proc/cpuinfo |grep "processor"|wc -l
24
③ 查看CPU是幾核
#cat /proc/cpuinfo |grep "cores"|uniq
6
我這里應該是2個Cpu,每個Cpu有6個core,應該是Intel的U,支持超線程,所以顯示24

⑵ samba在mips移植,怎麼在LINUX下配置SAMBA器怎麼在LINUX下配

安裝Samba服務軟體包:
[root@linuxprobe Desktop]# yum install samba
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分安裝過程………………
Installing:
samba x86_64 4.1.1-31.el7 rhel7 527 k
………………省略部分安裝過程………………
Complete!

瀏覽Samba配置文件:
[root@linuxprobe ~]# cat/etc/samba/smb.conf

配置文件竟然有320行!有沒有被嚇到?其實Samba服務配置文件中大部分是注釋信息,我們可以來篩選過濾下:
備份原始的配置文件:
[root@linuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

過濾掉無用的內容:
先使用cat命令讀入Smb配置文件後通過grep命令-v參數(反向選擇)去掉所有注釋信息,然後分別刪選掉包含#號的行("#"),包含;號的行(";")以及所有的空白行("^$"),最後最後將過濾後的信息覆蓋寫入到/etc/samba/smb.conf文件中。
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

讓我們來看看過濾後的配置文件吧:
[global] #全局參數。
workgroup = MYGROUP #工作組名稱。
server string = Samba Server Version %v #伺服器介紹信息,參數%v為顯示SMB版本號。
log file = /var/log/samba/log.%m #定義日誌文件存放位置與名稱,參數%m為來訪的主機名。
max log size = 50 #定義日誌文件最大容量為50Kb。
security = user #安全驗證的方式,總共有4種。
#share:來訪主機無需驗證口令,更加方便,但安全性很差。
#user:需由SMB服務驗證來訪主機提供的口令後才可建立訪問,更加的安全。
#server:使用獨立的遠程主機驗證來訪主機提供的口令(集中管理帳號)。
#domain:使用PDC來完成驗證
passdb backend = tdbsam #定義用戶後台的類型,共有3種。
#smbpasswd:使用SMB服務的smbpasswd命令給系統用戶設置SMB密碼。
#tdbsam:創建資料庫文件並使用pdbedit建立SMB獨立的用戶。
#ldapsam:基於LDAP服務進行帳戶驗證。
load printers = yes #設置是否當Samba服務啟動時共享列印機設備。
cups options = raw #列印機的選項
[homes] #共享參數
comment = Home Directories #描述信息
browseable = no #指定共享是否在「網上鄰居」中可見。
writable = yes #定義是否可寫入操作,與"read only"相反。
[printers] #列印機共享參數
comment = All Printers
path = /var/spool/samba #共享文件的實際路徑(重要)。
browseable = no
guest ok = no #是否所有人可見,等同於"public"參數。
writable = no
printable = yes

標準的Samba共享參數是這樣的:
參數 作用
[linuxprobe] 共享名稱為linuxprobe
comment = Do not arbitrarily modify the database file 警告用戶不要隨意修改資料庫
path = /home/database 共享文件夾在/home/database
public = no 關閉所有人可見
writable = yes 允許寫入操作

我們將上面的配置參數直接追加到SMB服務配置文件(/etc/samba/smb.conf)並重啟SMB服務程序即可生效。
但此時SMB服務默認的驗證模式為user,我們需要先創建用戶資料庫後才可以正常使用,現在來學習下如何創建吧~
搜索《linux就該這么學》,第11章使用Samba或NFS實現文件共享,參考下。

⑶ 如何設置mips-linux-gcc編譯32位

編譯64位程序,不一定要編譯機器是64位的,但是32位機器默認安裝的gcc編譯環境還是不能用來編譯64位程序。 編譯64位程序,需要加上-m64編譯器參數,默認安裝的gcc已經支持該參數,但是缺少64位機器指令相關的文件,所以不能編譯

⑷ 如何安裝mips-linux-gnu-gcc

1.添加源
以root許可權添加下面兩行內容到 /etc/apt/sources.list 文件
deb http://ftp.de.debian.org/debian squeeze main
deb http://www.emdebian.org/debian/ squeeze main 1212

2.在terminal中依次執行下列命令
sudo apt-get update
sudo apt-get install emdebian-archive-keyring
apt-get install linux-libc-dev-mips-cross libc6-mips-cross libc6-dev-mips-cross binutils-mips-linux-gnu gcc-4.4-mips-linux-gnu g++-4.4-mips-linux-gnu 123123

3.檢查是否安裝成功
mips-linux-gnu-gcc -mpmachine 11

應該會輸出mips-Linux-gnu
或者寫helloword程序編譯一下
轉載自:http://blog.csdn.net/giantpoplar/article/details/48953847

⑸ 基於MIPS指令集的Linux系統與基於X86指令集的Linux系統有什麼區別

MIPS的演化
MIPS16是一個1997年面世的可選的指令集擴展,它能減少二進製程序尺寸的30-40%。實現者希望這種CPU能夠在很關心代碼尺寸的場合中更有吸引力--這種場合通常就是指低成本系統。由於只應用於特定實現,它是一個多廠商標准:LSI, NEC和Philips都生產支持MIPS16的CPU。

使MIPS二進制代碼比其他架構的並不是MIPS指令集乾的活少了, 而是他們的尺寸更大一些--每個指令4位元組長,相比之下某些CISC架構一般平均只有3個位元組。

MIPS增加了一種模式,在這種模式下CPU可以對16位固定大小的指令進行解碼。大多數MIPS16指令擴展成正常的MIPS III指令,所以很明顯這將是一個相當受限制的指令子集。竅門就在於使這個子集對足夠多的程序充分的進行高效編碼,以使整個程序的大小得到大大的壓縮

當然,16位指令並不會使其變成一個16位指令集。MIPS16 CPU是實際存在的帶有32位或者64位寄存器的的CPU,MIPS16 CPU的運算也都在這些寄存器上。

MIPS16遠不是一個完整的指令集—例如它既沒有CPU控制指令,也沒有浮點運算指令。但沒有關系,因為每一個MIPS16 CPU也必須要運行完整的MIPS ISA。你能運行MIPS16和正常的MIPS代碼的混合指令。每個函數調用或者跳轉-寄存器指令都能改變運行模式。

1.並不是MIPS發明了提供一種可選的使部分指令只有一半大小的創意。Advanced RISC Machine(ARM)公司的Thumb版本的arm CPU首先提出這個想法的。

在MIPS16中把指令地址編碼成最低有效位(Least Significant Bit, LSB)模式是既方便又高效的。MIPS16指令必須偶位元組對齊,所以bit 0不再是指令指針(instruction pointer, 就是程序計數器PC)的組成部分了;取而代之的是,每條跳到奇數地址的指令開始執行MIPS16,每條跳到偶數地址的指令回到正常的MIPS。MIPS子程序調用指令jal的目標地址總是字對齊的,所以新指令jalx隱藏了指令的模式間轉換。

為了把指令壓縮到一半大小,對於大多數指令我們只分配了3 bit來選擇寄存器,這樣只有8個通用寄存器允許自由訪問;在許多MIPS指令中可以見到的16 bit常數域也被壓縮,通常變成了5 bit。許多MIPS16指令只指明兩個寄存器,而不是三個。另外,還有一些特別的編碼規則將在下一節描述。

D.1.1 MIPS16中的特殊編碼格式和指令
被縮減的通用指令沒有什麼問題,但有兩個特定的弱點會加大程序尺寸;5 bit的立即數域構造常量是不夠的,在load/store操作中也沒有足夠的地址范圍。三種新的指令和一種特別規定有助於解決這些問題。

extend是一條特殊的MIPS16指令,它由5 bit的代碼和11 bit的域構成。這個11 bit的域可以和後續指令中的立即數域相連接,這樣就允許使用一個指令對來對16 bit立即數編碼。這條指令在匯編語言中看起來就像一個指令前綴。

裝載(load)常量在正常的MIPS模式下都需要額外的指令,在MIPS16模式下更是巨大的負擔;把常量放在內存中然後再讀它們會更快一些。MIPS16對相對於指令自身位置的裝載操作(PC-relative loads, PC相關裝載)增加了支持,允許常量被嵌到代碼段中(典型情況就是在函數的起始處前面)。這些是僅有的不是嚴格對應於正常的MIPS指令的MIPS16指令—MIPS沒有PC相關的數據操作。

許多MIPS load/store操作是直接在棧幀(stack frame)里,$29/mp可能是最普通的基寄存器。MIPS16定義了一組隱式使用mp的指令,允許我們把函數的棧幀引用地址也編進去而不需要一個分離的寄存器域。

MIPS的Load指令總是生成32位的全地址。由於裝載字(load word)指令只有當地址是4的倍數是才合法,最低兩位就被浪費了。MIPS16的Load指令是可以伸縮的:地址的偏移量會根據被load/store的對象的大小左移,這樣就增加了指令中可用的地址范圍。

作為一種額外的應急機制,MIPS16定義了一些指令,允許在8個MIPS16可訪問的的寄存器中的一個與32個MIPS通用寄存器中的任何一個間任意做數據移動。

D.1.2 對MIPS16的評價

MIPS16對於匯編語言編程來說不是一種合適的語言,我們也不準備對它詳細說明。這些是編譯器的工作。大多數使用MIPS16模式編譯的程序的尺寸都會縮小到用MIPS模式編譯的 60-70%。MIPS16比32位CISC架構的代碼更緊湊,和arm的Thumb代碼差不多,和純16位CPU相比相當有競爭力。

但是沒有免費的午餐;MIPS16程序可能比MIPS增加40-50%的指令。這意味著在CPU核上運行一個程序會多用40-50%的時鍾周期。但是低端CPU經常主要被存儲器所限制,而不是被CPU核所限制。較小的MIPS16程序需要較低的帶寬來取指令,這樣就得到更低的cache缺失率。在cache很小並且程序的存儲器有限時,MIPS16將會彌補差距,還有可能要重新改寫正常的MIPS代碼。

由於性能的降低,MIPS16代碼在有大的存儲器資源和很寬匯流排的計算機中沒有吸引力。這就是為什麼它只是一種可選擴展的原因。

在應用范圍的另一端, MIPS16將會與軟體壓縮技術展開競爭。在放進ROM存儲器之後,使用通常的文件壓縮演算法壓縮的正常MIPS程序將會比未壓縮的同等MIPS16代碼小,而稍大於壓縮過的MIPS16同等代碼(注1);如果你的系統擁有足夠的內存能夠把ROM當做文件系統使用,而把代碼解壓縮到RAM中執行,那麼全ISA軟體解壓很可能會帶來更好的總體性能。

也有這樣一種趨勢來構造系統,那就是大量使用以位元組編碼的解釋語言(Java或者它的後續者)來書寫大量在時間上要求不嚴格的程序。那種中間代碼非常小,在尺寸方面比任何二進制機器碼都高效的多。如果只有解釋器和一些對性能要求嚴格的程序留在機器中ISA中,那麼更密集的指令集編碼格式將只會影響程序的一小部分。當然解釋器(特別是Java)本身會非常大,但是應用復雜度的無情增長將很快使它減少重要性。

我預料在1998-2003年將會看到MIPS16小范圍的應用於低能量、小尺寸和成本受限制的系統中。它還是值得發明的,因為有些系統—比如」智能」行動電話—可能會大量生產。

1.更密集的編碼格式在使用上比壓縮演算法有更低的冗餘度。

D.2 MIPSV/MDMX
MIPS V和MDMX是在1997年早些時候一起公布的。它們本來是為一種新的准備在1998年發布MIPS/SGI的CPU中的指令而設計的。但是那個CPU後來被取消了,關於它們的未來存在疑問。
二者都是為了克服一些已知的傳統指令集的不足,這些不足是在ISA面向多媒體應用中產生的。象軟數據機的語音編/解碼、或流媒體應用、或圖像/視頻的壓縮/解壓縮這樣的任務採用一些過去只有專用數字信號處理器(digital signal processor, DSP)才用的數學演算法。在這種計算等級,多媒體任務通常都包括重復進行一些對大向量或者數組數據的相同操作。

在基於寄存器的機器內部,通常採用的方案是把多媒體數據項封裝到一個機器寄存器中,然後執行一條寄存器-寄存器指令,這條指令對於每個寄存器中的每個域做同樣的工作。這是一種非常明顯的並行處理形式,被稱為單指令,多數據(single instruction, multiple data. SIMD)。

這個想法首先見於一款Intel的業已消失的i860架構的微處理器(circa 88)中。作為對Intel x86指令集進行擴展的MMX在1996年投放市場後,SIMD重新登場時更加引人注目。

MDMX對操縱在一個64位寄存器中8x8-bit的整數組提供了一組操作,這些操作能夠對所有的8小片做同樣的事情。這些指令包括通常的算術操作(加,減,乘),也有乘法-累加指令能把結果放在一個巨大的累加器中,這個累加器有足夠的精度防止溢出。

由於這些指令被用於特定數據類型被相當清楚的從正常的程序變數分離開來的場合中,MDMX指令集與浮點寄存器一起工作就變得有意義。以這種方式重復利用現有的寄存器意味著現有的操作系統不需要改變(在任務切換時操作系統已經保存和恢復浮點寄存器了)。

與MDMX相似,Intel的MMX為封裝進一個64bit的8個8bit數提供了」octibyte」八路(eight-way)指令。MIPS MDMX也定義了4x16位(四個短整數操作)和2x32位(兩個字操作)格式,但是早期的情況是一些MDMX實現可能認定octibyte格式和指令足夠了。

當對8bit的數做算術運算時, 結果經常下溢和上溢。如果我們必須為眾多的溢出測試條件編寫處理程序,那麼多媒體應用的性能將不會得到提高。而只簡單截去最大的和最小的數(對於無符號8-bit數來說,就是255和0)的上溢和下溢結果,對於機器運算來說會更加有幫助。這個處理過程叫做」飽和」(saturating)演算法。MDMX擁有這種能力。

這就給我們帶來了MIPS V。盡管從名字上看好像意思是指一個升級的指令集--就像MIPS I到IV那樣,MIPS V在浮點領域跟MDMX很相似,提供了paired-single操作。paired-single對一對被封裝進64-bit的浮點寄存器中的單精度數做兩次FP動作。

MIPS V沒有MDMX那麼古怪;MIPS IV包含了一個相當廣泛的浮點運算集合,並且直接為其中的絕大部分提供了paired-single版本的指令;甚至成對比較(paired-compare)也可以做到,這是因為MIPS IV的CPU已經有了多個浮點條件位來接收結果。但MIPS V沒有提供復雜多周期指令的成對操作版本的指令,這些多周期指令會需要非常多新的資源(例如沒有求平方根和除法)。

D.2.1 編譯器能用多媒體指令嗎?
引入SIMD多媒體指令的原因和70年代晚期以前在超級計算機中提供向量處理單元的原因相似。很容易為向量處理器構造一個手工矩陣算術包。而用向量運算來編譯一個用高級語言寫成的程序就難得多了,盡管超級計算機提供商在這上面也取得一些成果。通常這些成果都集中在Fortran上;對於常規編程來說語義上的弱點使Fortran成為一種可憐的語言,但是這讓它變成了一種很容易優化的語言

⑹ 請教如何分析mips linux kernel call trace-CSDN論壇

1、
[ 233.110000] Kernel bug detected[#1]:前面的幾行很重要,是oops的直接原因,但是你沒有沾上來
2、
[ 233.110000] Call Trace:
[ 233.110000] [<80210d30>] do_ade+0x1c0/0x598
[ 233.110000] [<80200404>] ret_from_exception+0x0/0x10
這個是oops時的調用棧
3、 do_ade+0x1c0/0x598
具體出錯的位置,0x598是do_ade的長度,0x1c0是出錯的指令在do_ade里的偏移。你可以通過反匯編根據0x1c0這個偏移定位到具體的c代碼

⑺ 如何在Linux下用QT creator搭建mips-linux交叉編譯開發環境,如果您熟悉ARM-linux環境搭建的話也希望你能指

首先你的linux系統要裝QT庫 然後你要編譯mips還要有Mips的編譯器 arm的是arm-linux-gcc mips我不熟悉 然後就可以把Qt creator下的工程拿到linux下來編譯了
安裝QT庫需比較繁瑣 你先看看網上的教程 有問題再找我吧

⑻ mips-linux-uclibc-gcc 怎麼編譯64位程序

理論上安裝支持環境,之後 64 位的 gcc 編譯成 32 位程序,就加 -m32 參數即可。當然還一個辦法是裝個 32 位的 gcc 。
另外,交叉編譯也適用於 x86 架構。

不過這么編譯經常會出現各種問題,所以編譯 32 位的程序,最好還是用 32 位系統。
不一定重裝,用 chroot 和 setarch 命令配合即可弄出一個 32 位的子系統。

⑼ 怎麼看linux應用佔用系統多少mips

用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被佔用很多,用 iostat 看看 I/O 負載情況... top: 主要參數 d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果...

熱點內容
我配置很高了ae為什麼卡 發布:2025-05-17 14:54:50 瀏覽:167
python數據分析實戰pdf 發布:2025-05-17 14:49:42 瀏覽:950
海瀾之家廣告腳本 發布:2025-05-17 13:56:06 瀏覽:30
手文件夾恢復 發布:2025-05-17 13:53:32 瀏覽:993
linux怎麼看進程 發布:2025-05-17 13:53:30 瀏覽:303
thinkphp欄位緩存 發布:2025-05-17 13:52:01 瀏覽:575
山靈app安卓版如何設置 發布:2025-05-17 13:51:49 瀏覽:388
帆布壓縮袋 發布:2025-05-17 13:26:27 瀏覽:457
c語言16進製表示方法 發布:2025-05-17 13:11:25 瀏覽:480
ftp單位 發布:2025-05-17 13:10:03 瀏覽:142