『壹』 如何讓PowrePC上的程序可以在linux 上可以執行
要是你linux 安裝在PowerPC上.就可以直接執行, -------powerPC是CPU架構,linux是系統,先弄清楚再說
『貳』 嵌入式linux和linux有什麼不同linux的作用是什麼
Linux作為開源免費操作系統,以其作為系統的應用可以較方便的進行系統功能的裁剪和跨體系結構移植。
在不同的目標體系結構下(x86,ARM,PowerPC etc.),由於匯編指令集的不同,同一段代碼利用不同的編譯器和庫文件生成的可執行代碼是不同的。不同體系的Linux其開發工具是不同的。
嵌入式linux屬於高度裁剪過的Linux,他將桌面Linux所具有的大部分應用功能(如GUI 工具,計算器,電子郵件 etc.)和部分系統功能省略,但集成了開發者希望嵌入式產品所具有的特殊應用功能(比如 一款以Linux為系統的觸摸式海事導航儀可以根據功能需要去除不需要的功能塊,但加入GPS定位,航速航向計算,航線規劃,觸摸檢測和對應功能實現等功能)。
嵌入式系統往往是指系統的資源(如DRAM/FLASH ROM,功耗,工作頻率 etc.)有較大限制且系統的工作環境相對多變和惡劣(如溫濕度變化大,酸鹼度腐蝕,外部撞擊和振動,外部電磁干擾,靜電導致的高壓損壞電路 etc.)。這也就需要開發人員更多的發現和假想可能的突發情況並採取相應預防措施。大部分嵌入式系統對響應的時間限制和正確性也有極高的要求。
『叄』 power linux 是什麼概念
power linux是指採用POWER晶元但可安裝LINUX操作系統的小機,就像ORACLE小機可同時支持安裝ORACLE LINUX和SOLARIS
不是POWER PC 現在最新的是POWER7
『肆』 Linux文件系統特點
Linux之所以能在嵌人式系統領域取得如此輝煌的成績,與其自身的優良特性是分不開的。與其他操作系統相比,Linux具有以下一系列顯著的特點。
1.模塊化程度高
Linux的內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網路介面五大部分;其獨特的模塊機制可根據用戶的需要,實時地將某些模塊插入或從內核中移走,使得Linux系統內核可以裁剪得非常小巧,很適合於嵌入式系統的需要。
2.源碼公開
由於Linux系統的開發從一開始就與GNU項目緊密地結合起來,所以它的大多數組成部分都直接來自GNU項目。任何人、任何組織只要遵守GPL條款,就可以自由使用Linux 源代碼,為用戶提供了最大限度的自由度。這一點也正投嵌入式系統所好,因為嵌入式系統應用千差萬別,設計者往往需要針對具體的應用對源碼進行修改和優化,所以是否能獲得源代碼 對於嵌入式系統的開發是至關重要的。加之Linux的軟體資源十分豐富,每種通用程序在Linux上幾乎都可以找到,並且數量還在不斷增加。這一切就使設計者在其基礎之上進行二次開發變得非常容易。另外,由於Linux源代碼公開,也使用戶不用擔心有「後閘」等安全隱患。
同時,源碼開放給各教育機構提供極大的方便,從而也促進了Linux的學習、推廣和應用。
3.廣泛的硬體支持
Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多種體系結構的微處理器。目前已成功地移植到數十種硬體平台,幾乎能運行在所有流行的處理器上。
由於世界范圍內有眾多開發者在為Linux的擴充貢獻力量,所以Linux有著異常豐富的驅動程序資源,支持各種主流硬體設各和最新的硬體技術,甚至可在沒有存儲管理單元MMU 的處理器上運行,這些都進一步促進了Linux在嵌入式系統中的應用。
4.安全性及可靠性好
內核高效穩定。Linux內核的高效和穩定已在各個領域內得到了大量事實的驗證。
Linux中大量網路管理、網路服務等方面的功能,可使用戶很方便地建立高效穩定的防火牆、路由器、工作站、伺服器等。為提高安全性,它還提供了大量的網路管理軟體、網路分析軟體和網路安全軟體等。
5.具有優秀的開發工具
開發嵌入式系統的關鍵是需要有一套完善的開發和調試工具。傳統的嵌入式開發調試工具是在線模擬器(In Circuit Emulator,ICE),它通過取代目標板的微處理器,給目標程序提供一個完整的模擬環境,從而使開發者能非常清楚地了解到程序在目標板上的工作狀態,便於監視和調試程序。在線模擬器的價格非常高,而且只適合做非常底層的調試。如果使用的是嵌人式Linux,一旦軟硬體能支持正常的串口功能,即使不用在線模擬器,也可以很好地進行開發和調試工作,從而節省了一筆不小的開發費用。嵌入式Linux為開發者提供了一套完整的工具鏈(Tool Chain),能夠很方便地實現從操作系統到應用軟體各個級別的調試。
6.有很好的網路支持利文件系統支持
Linux從誕生之日起就與Internet密不可分,支持各種標準的Internet網路協議,並且很容易移植到嵌入式系統當中。目前,Linux幾乎支持所有主流的網路硬體、網路協議和文件系統,因此它是NFS的一個很好的平台。
另一方面,由於Linux有很好的文件系統支持(例如,它支持Ext2、FAT32、romfs等文件系統),是數據各份、同步和復制的良好平台,這些都為開發嵌入式系統應用打下了堅實的基礎。
7.與UNIX完全兼容
目前,在Linux中所包含的工具和實用程序,可以完成UNIX的所有主要功能。
但由於Linux不是為實時而設計的,因而這就成了Linux在實時系統中應用的最大遺憾。不過,目前有眾多的自由軟體愛好者正在為此進行不懈的努力,也取得了諸多成果
『伍』 Linux在PowerPc上的二進制文件格式是ELF嗎
可執行文件也是有格式的,windows下面的可執行文件是PE格式的,linux的執行文件是ELF的,就像手機套跟手機型號必須要匹配
『陸』 linux是個什麼操作系統
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟體、應用程序和網路協議,支持32位和64位硬體。Linux操作系統繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux操作系統特點有很多,以下是詳細內容介紹:
①穩定的系統:Linux十分穩定,連續運行一年以上不曾宕機是很平常的事情,Linux有眾多電腦高手在使用,維護者眾多、更新維護快,而Windows則是所有人都會用,且不開源多任務。
②多用戶系統:在一個Linux主機上規劃出不同等級的用戶,每個用戶登錄時工作環境可以不同,還允許不同用戶在同一時間登錄主機以使用主機的資源。
③用戶組規劃:在Linux機器上,文件可以分為可讀可寫可執行三類。此外,這些屬性還可以分為三類:文件擁有者、文件所屬用戶組、其他非擁有者與用戶組者,對於項目或者其他項目開發者具有良好的保密性。
④佔用資源少:現在市場上任何一款個人計算機都可以達到使用Linux搭建一個服務上百人以上的主機可定製剪裁,移植到嵌入式平台,可選擇多種圖形用戶界面。
⑤模塊化程序:Linux內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網路介面五大部分;其獨特的模塊機制可根據用戶的需求,實時地將某些模塊插入或從內核中移走,使得Linux系統內核可以裁剪得非常小巧。
⑥廣泛的硬體支持:Linux能支持X86、ARM、MIPS、ALPHA和PowerPC等多種體系結構和微處理器。目前已成功地移植到數十種硬體平台,幾乎能運行在所有流行的處理器上。
『柒』 x86, x86_64 , PowerPC的區別
區別在於工作的平台不同,x86是指Intel x86指令集,也就是IBM兼容機平台,X86-64是有AMD公司設計,可以在同一時間內處理64位的整數運算,並兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途寄存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有「直接執行」和「轉換執行」的區別,其指令欄位是8位或32位,可以避免欄位過長。
PowerPC是由IBM、Motorola和Apple聯合開發的高性能32位和64位RISC微處理器系列,以與壟斷PC機市場的Intel微處理器和微軟公司的軟體相競爭。PowerPC微處理器與X86及X86-64並不兼容
你所說的AMD 3000+應該是是AMD Athlon64 3000+吧?如果是的,那麼它是兼容X86-64指令集的,算是64位CCPU
『捌』 PowerPC E500 MMU詳解
1. 什麼是MMU?
MMU 是 Memory Management Unit 的縮寫,中文名稱為 內存管理單元 。MMU是負責處理器(CPU)的內存訪問請求的計算機硬體,其功能包括虛擬地址到物理地址的轉換(即虛擬內存管理)、內存保護、緩存cache的控制等。
MMU是一個與軟體密切相關的硬體部件,也是運行linux等依賴MMU內存管理單元操作系統內核機制的最大部件之一。如果處理器沒有MMU,CPU內部執行單元產生的內存地址信號將直接通過地址匯流排發送到晶元引腳,被內存晶元接收,這就是 物理地址(physical address),簡稱PA 。英文physical代表物理的接觸,所以PA就是與內存晶元physically connected的匯流排上的信號。
如果MMU存在且啟用,CPU執行單元產生的地址信號在發送到內存晶元之前將被MMU截獲,這個地址信號稱為 虛擬地址(virtual address),簡稱VA ,MMU會負責把VA翻譯成另一個地址,然後發到內存晶元地址引腳上,即VA映射成PA。
2. PowerPC E500 MMU
PowerPC (Performance Optimization With Enhanced RISC – Performance Computing,有時簡稱PPC)是一種 精簡指令集(RISC)架構的中央處理器(CPU) ,其基本的設計源自IBM(國際商用機器公司)的POWER(Performance Optimized With Enhanced RISC)。
PowerPC晶元憑借其出色的性能和高度整合和技術先進特性在網路通信應用,工業控制應用,家用數字化,網路存儲領域,軍工領域,電力系統控制等都具有非常廣泛的應用。
PowerPC的E500是飛思卡爾(FreeScale)基於Power Architecture的32位微處理器核心。E500系列核心有三個版本,即 E500v1,E500v2的E500mc 。64位版本的E500mc演變為E5500核心,並於2010年推出。
PowerPC E500 核心(後簡稱「E500」)採用了兩級內存管理單元(MMU)體系結構。 L1-MMU、L2-MMU為該結構中的兩個硬體單元。 E500通過L1-MMU和L2-MMU,以及一些輔助寄存器和指令來實現虛實地址的轉換。E500v1核心是把32位有效地址轉換為32位物理地址(使用41位臨時虛擬地址);E500v2核心是把32位有效地址轉換為36位物理地址。
L1-MMU特性:
1. 兩個4條目的全關聯TLB數組(一個用於指令訪問,一個用於數據訪問支持9種(E500v1)或11種(E500v2)頁面大小,即I-L1VSP和D-L1VSP
2. 兩個64 entry, 4路set-associative TLB數組(一個用於指令訪問,一個用於數據訪問),僅支持4kbyte頁面,即I-L1TLB4K和D-L1TLB4K。
3. L1 MMU訪問與L1緩存訪問(地址轉換/L1緩存)並行訪問可以完全流水線化,這樣每個時鍾都可以完成一個載入/存儲。
4. 執行L1 TLB查找的指令訪問與數據訪問是並行的。
5. 所有L1 TLB條目都是駐留在L2 MMU中的TLB條目的一個適當子集。
6. 自動執行失效操作,以保持L2 TLB的一致性。
L2-MMU特性:
1. 16個條目,完全關聯的統一的L2 TLB數組(用於指令和數據訪問)TLB1支持9種(E500v1)或11種(E500v2)頁面大小,即TLB1,用於段式映射。
2. 256表項2-way (E500v1)或512-entry 4-way (E500v2)集關聯統一L2 TLB array (TLB0)僅支持4kbyte的頁面,即TLB0,用於進行頁式映射。
3.對 TLB miss異常的支持。
4. TLB1和TLB0由tlbre, tlbwe, tlbsx, tlbsync, tlbivax和mtspr指令進行管理。
5. 執行由當前核心tlbivax指令產生的TLB1和TLB0失效。支持TLB1和TLB0由其他核心執行的tlbivax指令導致的失效操作。
6. TLB1中實現的IPROT位防止了無效,從而保護關鍵表項(通過設置IPROT位來指定)不會失效。
2.1 Effective-to-Real Address Translation流程
Effective-to-Real Address Translation(虛擬地址到物理地址的翻譯)流程如下所示:
因為E500最小頁的大小是4 Kbytes,所以低12位通常被用做4K頁內的索引並且不需要進行翻譯。首先檢查L1 MMU(指令或數據)是否命中地址翻譯。如果沒有,翻譯請求將被轉發到(指令和數據)L2 MMU中進行處理。
E500v1核心和E500v2核心支持的頁大小可見下表,E500v2核心比E500v1核心多支持了1Gbyte和4Gbyte頁的大小。
2.2 MMU entry欄位
在TLB中,數據都是按行存放的,一行稱之為一個entry。一個entry包含了若干bit位下面是MMU entry的bit位含義描述:
V:用來表示當前entry是否有效。為0時表示無效,為1時表示有效。在系統reset之後,所有entry的V位都設為0。
TS:上面地址空間中的AS。為0表示地址空間0,為1表示地址空間1。
TID[0:7]:上面地址空間中的PID。TID為0時,忽略PID的比較。在Linux中,全為0。
EPN[0:19]:虛擬頁楨號。根據頁大小不同,有效的位數頁不同。
RPN[0:19]:物理頁楨號。
SIZE[0:3]:表示當前entry的頁大小。
PERMIS[0:5]:用於描述當前entry的訪問控制位。分別是UR,SR,UW,SW,UX,SX。分別表示用戶態和內核態的讀/寫/執行許可權。
WIMGE[0:4]:W表示當前entry是write through還是write back。I表示當前entry是否忽略Cache。M表示對此數據區的訪問需要進行存儲一致性處理。G表示對相應存儲區域進運行保護。E表示當前entry是小端還是大端。
X0,X1:描述一些額外屬性。
U[0:3]:自定義用途。
IPROT:當IPROT為1時,表示當前entry被保護。不能使用tlbivax指令無效該entry。只能用tlbwe指令清除。在E500中只有TLB1支持該位,在TLB0中,該位一直為0。
TLB相關指令、寄存器和異常如下表所示:
2.3 MMU相關寄存器
PID0-2寄存器: 用於保存當前進程的PID,該寄存器只有54-63位有效。
MMUCSR0寄存器: 用於使TLB0和TLB1的所有entry無效。該寄存器L2TLB0_FI位使無效TLB0的所有entry;L2TLB1_FI位使無效TLB1的所有entry。
MMUCFG寄存器: 用來保存當前MMU的配置信息,包括PID寄存器數量,大小,TLB的數量等。
TLB0CFG和TLB1CFG寄存器: 用於描述TLB0和TLB1的配置信息,包括entry數量,頁表大小等信息。
MAS輔助寄存器 (MAS0–MAS4, MAS6–MAS7,沒有實現MAS5),主要作用就是維護MMU中TLB的entry。
MAS0寄存器: 決定寫哪個TLB的哪個entry。TLBSEL欄位用於選擇要操作的TLB,0表示TLB0,1表示TLB1。ESEL欄位用於選擇TLB的entry。當使用TLB1 時,ESEL欄位中低4位有效,用於選擇TLB1中的entry。當使用TLB0時,ESEL中只有最低位有效,因為TLB0是兩路組相連。NV位用於確定如何替換TLB0中的entry。
MAS1-3中存放的各個欄位與TLB entry中的各個欄位一一對應。
MAS4寄存器
該寄存器主要用於存放當TLB miss異常發生時,對MAS0-3寄存器自動載入而使用的默認值,也就是說MAS4寄存器的內容是硬體寫入的。為了提高TLB miss異常的效率,在異常出現時,E500會用MAS4寄存器中的值,自動填寫MAS0-2寄存器中的一部分內容:
MAS0[TLBSEL] <- MAS4[TLBSELD]
MAS1[TID] <- MAS4[TIDSELD]
MAS1[TSIZE] <- MAS4[TSIZED]
MAS2[X0,X1] <- MAS4[X0D,X1D]
MAS2[WIMGE] <- MAS4[WD,ID,MD,GD,ED]
MAS6寄存器: 用於對TLB進行檢索,MAS6寄存器提供SPID0和SAS,也就是PID和AS欄位。
MAS7寄存器(只E500v2支持): 包含實現的RPN的高階地址位支持超過32位的物理地址。
2.4 TLB相關指令和實現
SkyEye,中文全稱天目全數字實時模擬軟體 ,是基於可視化建模的硬體行為級模擬平台,支持用戶通過拖拽的方式對硬體進行行為級別的模擬和建模。SkyEye支持PowerPC架構E500處理器的指令集模擬,為了支持運行包含MMU單元的操作系統(例如VxWorks、Linux等),需要實現對MMU的模擬功能,其中包含TLB(Translation Lookaside Buffer,轉換檢測緩沖區)相關的指令實現和MMU虛實翻譯過程。
與TLB相關的指令如下:
tlbre指令: tlbre指令是從L2 MMU中讀取單個TLB條目的各欄位內容,並寫入到MMU輔助(MAS)寄存器的相應欄位中。讀取的entry條目是由MAS0的TLBSEL、ESEL和MAS2寄存器的EPN欄位指定,在讀TLB1時,ESEL有效,EPN無效;在讀TLB0時,ESEL高2位有效,EPN有效。注意,對於E500v2,如果HID0[EN_MAS7_UPDATE] = 1, MAS7也被更新為TLB表項的物理地址。
tlbwe指令: 該指令是從MMU輔助寄存器(MAS)中提取各欄位內容並寫入到L2 MMU中的單個TLB條目中。寫入的entry條目是由MAS0的TLBSEL、ESEL和MAS2寄存器的EPN欄位指定,在寫TLB1時,ESEL有效,EPN無效;在寫TLB0時,ESEL高2位有效,EPN有效。注意,對於E500v2,MAS7中的RPN欄位也寫入到選定的TLB條目中 。
tlbsx指令: 指令格式為tlbsx RA,RB。指令作用是使用RA+RB的地址,配合MAS6寄存器對TLB進行查找,如果命中,則將結果放入MAS0-3寄存器。
指令實現:
tlbivax指令: TLB無效操作,這條指令將使所有與此計算出的虛擬地址相對應的TLB表項失效,同樣也會使其他處理器上TLB中包含的TBL表項失效。
根據有效地址EA的Bit61位決定是否是無效全部的entry,如果不是,計算出相對應的entry,然後設置entry->v = 0用於使表項失效。
tlbsync指令: 該指令用於同步對TLB entry的讀寫。主要用途是將tlbivax指令的更新entry廣播到系統匯流排上,用來同步其他處理器,該指令只在SMP系統中有效。
2.5 系統復位後的TLB初始狀態
復位後,L1和L2 MMU中的TLB表項全部失效,TLB1的第一個entry需要初始化賦值,如下所示:
參考文獻:
[1] PowerPC™ e500 Core Family Reference Manual.pdf
『玖』 cpu架構(x86,PowerPC,arm等) 操作系統(windows linux unix等) 應用程序 三者之間有什麼關系求大神解答
CPU決定了你的操作系統,操作系統決定了你的程序。
比如。X86隻支持32位的操作系統。
有很多軟體只能在32位平台運行,如果你裝到64位平台上,軟體不支持64位,就運行不了。
『拾』 ppc和PowerPC有什麼區別嗎為什麼linux系統支持的設備目錄下面既有ppc也有powerpc啊
ppc : pocket pc 掌上電腦