出版時間:2005-5 出版社:北京航大 作者:斯洛斯 頁數(shù):644
Tag標(biāo)簽:無
內(nèi)容概要
本書從軟件設(shè)計的角度,全面、系統(tǒng)地介紹了ARM處理器的基本體系結(jié)構(gòu)和軟件設(shè)計與優(yōu)化方法。內(nèi)容包括:ARM處理器基礎(chǔ);ARM/Thumb指令集;C語言與匯編語言程序的設(shè)計與優(yōu)化;基本運算、操作的優(yōu)化;基于ARM的DSP;異常與中斷處理;固件與嵌入式OS;cache與存儲器管理;ARMv6體系結(jié)構(gòu)的特點等。全書內(nèi)容完整,針對各種不同的ARM內(nèi)核系統(tǒng)結(jié)構(gòu)都有詳盡論述,并有大量的例子和源代碼。附錄給出了完整的ARMv4/v5/Thumb指令的功能、編碼、周期定時以及匯編參考。 本書適于從事ARM嵌入式系統(tǒng)教學(xué)與研發(fā),或想把其它嵌入式平臺的軟件移植到ARM平臺上去的專業(yè)技術(shù)人員使用,要求對ARM處理器有一定的了解,并有C語言和匯編語言基礎(chǔ)。若在編譯原理、操作系統(tǒng)、數(shù)字信號處理、計算機(jī)體系結(jié)構(gòu)等方面有一定的基礎(chǔ),則效果會更好。本書也可作為嵌入式系統(tǒng)專業(yè)方向的本科生和研究生相關(guān)課程的教材或教學(xué)參考書。
作者簡介
Andrew N.Sloss于1992年獲得Herefordshire大學(xué)(英國)計算機(jī)科學(xué)學(xué)士學(xué)位,英國計算機(jī)協(xié)會認(rèn)證注冊工程師(C.Eng,MBCS)。他已在計算機(jī)行業(yè)工作了16年,從1987年開始參與有關(guān)ARM處理器的研發(fā),在ARM處理器上開發(fā)了眾多領(lǐng)域的應(yīng)用項目,積累了豐富的經(jīng)驗。他為Emerald出版集團(tuán)(英國)設(shè)計了首個能夠在ARM2和ARM3處理器上運行的針對中文和埃及象形文字的編輯系統(tǒng)。他在ARM公司工作了6個多,目前是ARM在美國加州Los Gatos的技術(shù)銷售工程師,負(fù)責(zé)為開發(fā)新產(chǎn)品的公司提供建議和支持。
書籍目錄
第1章 基于ARM的嵌入式系統(tǒng) 1.1 RISC設(shè)計思想 1.2 ARM設(shè)計思想 1.3 嵌入式系統(tǒng)的硬件 1.3.1 ARM總線技術(shù) 1.3.2 AMBA總線協(xié)議 1.3.3 存儲器 1.3.4 外設(shè) 1.4 嵌入式系統(tǒng)的軟件 1.4.1 初始化(啟動)代碼 1.4.2 操作系統(tǒng) 1.4.3 應(yīng)用程序 1.5 總結(jié)第2章 ARM處理器基礎(chǔ) 2.1 寄存器 2.2 當(dāng)前程序狀態(tài)寄存器 2.2.1 處理器模式 2.2.2 分組寄存器 2.2.3 狀態(tài)和指令集 2.2.4 中斷屏蔽 2.2.5 條件標(biāo)志 2.2.6 條件執(zhí)行 2.3 流水線 2.4 異常、中斷及向量表 2.5 內(nèi)核擴(kuò)展 2.5.1 cache和緊耦合存儲器 2.5.2 存儲管理 2.5.3 協(xié)處理器 2.6 體系結(jié)構(gòu)的不同版本 2.6.1 命名規(guī)則 2.6.2 體系結(jié)構(gòu)的發(fā)展 2.7 ARM處理器系列 2.7.1 ARM7系列 2.7.2 ARM9系列 2.7.3 ARM10系列 2.7.4 ARM11系列 2.7.5 專用處理器 2.8 總結(jié)第3章 ARM指令集 3.1 數(shù)據(jù)處理指令 3.1.1 MOVE指令 3.1.2 桶形移位器 3.1.3 算術(shù)指令 3.1.4 算術(shù)指令使用桶形移位器 3.1.5 邏輯指令 3.1.6 比較指令 3.1.7 乘法指令 3.2 分支指令 3.3 load?store指令 3.3.1 單寄存器傳送指令 3.3.2 單寄存器load?store指令的尋址方式 3.3.3 多寄存器傳送指令 3.3.4 交換指令 3.4 軟件中斷指令 3.5 程序狀態(tài)寄存器指令 3.5.1 協(xié)處理器指令 3.5.2 協(xié)處理器15(CP15)指令語法 3.6 常量的裝載 3.7 ARMv5E擴(kuò)展 3.7.1 零計數(shù)指令 3.7.2 飽和算術(shù)指令 3.7.3 ARMv5E乘法指令 3.8 條件執(zhí)行 3.9 總結(jié)第4章 Thumb指令集 4.1 Thumb寄存器的使用 4.2 ARM-Thumb交互 4.3 其它分支指令 4.4 數(shù)據(jù)處理指令 4.5 單寄存器load-store指令 4.6 多寄存器load-store指令 4.7 堆棧指令 4.8 軟件中斷指令 4.9 總結(jié)第5章 高效的C編程 5.1 C編譯器及其優(yōu)化概述 5.2 基本的C數(shù)據(jù)類型 5.2.1 局部變量類型 5.2.2 函數(shù)參數(shù)類型 5.2.3 有符號數(shù)與無符號數(shù) 5.3 C循環(huán)結(jié)構(gòu) 5.3.1 固定次數(shù)的循環(huán) 5.3.2 不定次數(shù)的循環(huán) 5.3.3 循環(huán)展開 5.4 寄存器分配 5.5 函數(shù)調(diào)用 5.6 指針別名 5.7 結(jié)構(gòu)體安排 5.8 位域 5.9 邊界不對齊數(shù)據(jù)和字節(jié)排列方式(大/小端) 5.10 除法 5.10.1 帶余數(shù)的無符號重復(fù)除法 5.10.2 把除轉(zhuǎn)換為乘 5.10.3 除數(shù)是常數(shù)的無符號除法 5.10.4 除數(shù)是常數(shù)的有符號除法 5.11 浮點運算 5.12 內(nèi)聯(lián)函數(shù)和內(nèi)嵌匯編 5.13 移植問題 5.14 總結(jié)第6章 ARM匯編與優(yōu)化 6.1 編寫匯編代碼 6.2 性能分析和周期計數(shù) 6.3 指令調(diào)整 6.4 寄存器分配 6.4.1 分配變量給寄存器 6.4.2 使用超過14個的局部變量 6.4.3 最大限度地使用寄存器 6.5 條件執(zhí)行 6.6 循環(huán)結(jié)構(gòu) 6.6.1 減計數(shù)循環(huán) 6.6.2 展開計數(shù)循環(huán) 6.6.3 多層嵌套循環(huán) 6.6.4 其它計數(shù)循環(huán) 6.7 位操作 6.7.1 固定寬度的位域打包和解包 6.7.2 可變寬度編碼的位流打包 6.7.3 可變寬度編碼的位流解包 6.8 高效的switch 6.8.1 在范圍0≤x
媒體關(guān)注與評論
從事ARM嵌入式系統(tǒng)軟件開發(fā)的每一位工程師的桌上都應(yīng)擺著這本書。對于初學(xué)者來說,它是一本詳盡、透徹的使用指南;對于ARM專家來說,它則是一本有益的參考書。從審閱本書的第一稿以來,我就一直在使用這本書,我愿向任何希望從基于ARM的產(chǎn)品獲得最大收益的人推薦這本書。 在過去的10年間,ARM體系統(tǒng)結(jié)構(gòu)已經(jīng)成為世界上最流行的體系結(jié)構(gòu)之一,從蜂窩電話到汽車制動系統(tǒng),在這些產(chǎn)品中使用了超過20億片基于ARM的處理器。許多半導(dǎo)體廠商和產(chǎn)品設(shè)計公司組成了全球范圍的ARM開發(fā)者團(tuán)體,包括軟件開發(fā)者、系統(tǒng)設(shè)計師和硬件設(shè)計師。就ARM系統(tǒng)和軟件開發(fā)來說,到目前為止,還沒有其它任何一本書籍能夠真正滿足其需求,本書將填補(bǔ)這一空白?! ”緯w了ARM和Thumb指令集、Intel的XScale處理器,概括了ARM體系結(jié)構(gòu)的不同版本之間的差異,示范了如何實現(xiàn)DSP算法,解釋了異常和中斷處理,描述了圍繞ARM內(nèi)核的cache技術(shù),以及最有效的存儲器管理技術(shù)。最后一章介紹了ARMv6體系結(jié)構(gòu)的特征和ARM未來的發(fā)展,以及對指令集所做的最新改進(jìn),這些改進(jìn)增強(qiáng)了ARM體系結(jié)構(gòu)的DSP和多媒體處理能務(wù)?! ”臼仗厣 け緯鴱南到y(tǒng)和軟件我角度來描述了ARM內(nèi)核,這是與其它書的顯著差別。 ·作者結(jié)合了豐富的ARM軟件工程經(jīng)驗和ARM開發(fā)者的需要的廣泛、透徹的知識?! 刑峁┝嗽S多實用的運行代碼范例,并作了詳盡的解釋,可以從出版商的網(wǎng)站下載: ·包含了一個簡單的嵌入式操作系統(tǒng)。
編輯推薦
從事ARM嵌入式系統(tǒng)軟件開發(fā)的每一位工程師的桌上都應(yīng)擺著這本書。對于初學(xué)者來說,它是一本詳盡、透徹的使用指南;對于ARM專家來說,它則是一本有益的參考書。從審閱本書的第一稿以來,我就一直在使用這本書,我愿向任何希望從基于ARM的產(chǎn)品獲得最大收益的人推薦這本書?! ≡谶^去的10年間,ARM體系統(tǒng)結(jié)構(gòu)已經(jīng)成為世界上最流行的體系結(jié)構(gòu)之一,從蜂窩電話到汽車制動系統(tǒng),在這些產(chǎn)品中使用了超過20億片基于ARM的處理器。許多半導(dǎo)體廠商和產(chǎn)品設(shè)計公司組成了全球范圍的ARM開發(fā)者團(tuán)體,包括軟件開發(fā)者、系統(tǒng)設(shè)計師和硬件設(shè)計師。就ARM系統(tǒng)和軟件開發(fā)來說,到目前為止,還沒有其它任何一本書籍能夠真正滿足其需求,本書將填補(bǔ)這一空白。 本書涵蓋了ARM和Thumb指令集、Intel的XScale處理器,概括了ARM體系結(jié)構(gòu)的不同版本之間的差異,示范了如何實現(xiàn)DSP算法,解釋了異常和中斷處理,描述了圍繞ARM內(nèi)核的cache技術(shù),以及最有效的存儲器管理技術(shù)。最后一章介紹了ARMv6體系結(jié)構(gòu)的特征和ARM未來的發(fā)展,以及對指令集所做的最新改進(jìn),這些改進(jìn)增強(qiáng)了ARM體系結(jié)構(gòu)的DSP和多媒體處理能務(wù)?! ”臼仗厣 ?本書從系統(tǒng)和軟件我角度來描述了ARM內(nèi)核,這是與其它書的顯著差別?! ?作者結(jié)合了豐富的ARM軟件工程經(jīng)驗和ARM開發(fā)者的需要的廣泛、透徹的知識。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載