出版時(shí)間:2005-5 出版社:高等教育出版社 作者:劉易斯 頁數(shù):235 字?jǐn)?shù):340000 譯者:陳宗斌
Tag標(biāo)簽:無
前言
你的家中有多少臺(tái)計(jì)算機(jī)?大多數(shù)人可能會(huì)回答有兩臺(tái)或三臺(tái)。你家中有多少個(gè)微處理器?在你回答前仔細(xì)考慮一下(提示:不止兩三個(gè)!事實(shí)上,甚至?xí)?0多個(gè)或20多個(gè)!)。今天,微處理器已嵌入到幾乎所有你能想到的以及許多你可能想不到的電器中。它們已變得非常普及——不僅在我們家中,而且在我們的工作場所、我們的汽車、飛機(jī)、停車燈、超市、手機(jī)中——總之,在我們生活的幾乎所有方面?! ∏度胧较到y(tǒng)為學(xué)生表達(dá)他們的創(chuàng)造力提供了一個(gè)令人興奮的機(jī)會(huì),他們夢想設(shè)計(jì)出下一代新的小器具,迎合大眾的需要。作為教育工作者,我們的挑戰(zhàn)是抓住這個(gè)激動(dòng)人心的機(jī)會(huì),并弓!導(dǎo)年輕人的精神活力,以激勵(lì)他們掌握這個(gè)主題。目標(biāo) 本書的最終目標(biāo)是打下一個(gè)基礎(chǔ),為學(xué)生掌握多線程編程風(fēng)格和嵌入式軟件的高可靠性要求提供支持。在本教材中,我們建立了以下目標(biāo): 1.理解如何在機(jī)器級表示數(shù)據(jù),認(rèn)識到這些表示的后果和局限?! ?.掌握嵌入式系統(tǒng)最常用的語言特有的特性,如位操縱和變量訪問?! ?.了解程序員如何看待處理器體系結(jié)構(gòu)以及如何在匯編級編程,有時(shí)是必要的或合適的?! ?.了解多種不同風(fēng)格的I/O編程,并且最終了解如何通過事件驅(qū)動(dòng)方法把數(shù)據(jù)處理隔離到許多獨(dú)立的計(jì)算線程中。 5.了解非搶先式和搶先式多線程編程、共享資源和臨界區(qū),以及如何使用調(diào)度來管理系統(tǒng)響應(yīng)時(shí)間?! ?.復(fù)習(xí)作用域、參數(shù)傳遞、遞歸和內(nèi)存分配這類主題,以強(qiáng)化基本的編程技能?! ?.了解與共享內(nèi)存對象有關(guān)的問題、內(nèi)存分配如何影響共享內(nèi)存以及可以使用哪些編程實(shí)踐來最小化共享內(nèi)存的發(fā)生。目標(biāo)讀者 本書打算用作計(jì)算機(jī)科學(xué)、計(jì)算機(jī)工程或電子王程專業(yè)課程二年級教材,用來代替計(jì)算機(jī)組織和匯編語言編程的傳統(tǒng)教材?! ”緯榻B了實(shí)踐中最常用的匯編方法——以實(shí)現(xiàn)小型、快速或?qū)S美坦┲鞒绦蛘{(diào)用,這些主程序是用諸如C之類的高級語言編寫的。因此,本書僅從“須知”的觀點(diǎn)出發(fā)來介紹處理器組織和匯編語言,而不是將其作為一個(gè)主要目標(biāo)來講解。這種方法為用本書講授嵌入式軟件環(huán)境中的匯編語言提供了時(shí)間保證。
內(nèi)容概要
本書是對高等院校本科二年級計(jì)算機(jī)組成原理與匯編語言程序設(shè)計(jì)的傳統(tǒng)教材的全新替代版。本書以實(shí)踐中最常運(yùn)用的方式講解匯編語言——實(shí)現(xiàn)小型、快速或特殊目的的例程,這些例程由主程序(高級語言編寫,如C)調(diào)用。通過運(yùn)用嵌入式軟件環(huán)境,本書介紹多線程程序設(shè)計(jì)、可搶占式系統(tǒng)與非可搶占式系統(tǒng)、共享資源和調(diào)度,從而為操作系統(tǒng)、實(shí)時(shí)系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)及基于多處理器的設(shè)計(jì)等后續(xù)課程提供了堅(jiān)實(shí)的基礎(chǔ)。 本書適用于高等院校工科各專業(yè)本科嵌入式計(jì)算機(jī)系統(tǒng)程序設(shè)計(jì)、C語言程序設(shè)計(jì)及匯編語言程序設(shè)計(jì)類課程,也可供相關(guān)技術(shù)人員學(xué)習(xí)參考。
書籍目錄
序言第1章 導(dǎo)論 1.1 什么是嵌入式系統(tǒng) 1.2 嵌入式軟件設(shè)計(jì)目標(biāo)有何獨(dú)特之處 1.3 “實(shí)時(shí)”意味著什么 1.4 “多任務(wù)”意味著什么 1.5 嵌入式處理器的功能有多強(qiáng) 1.6 使用哪些編程語言 1.7 什么是“實(shí)時(shí)內(nèi)核” 1.8 如何構(gòu)建獨(dú)特的嵌入式應(yīng)用程序 1.9 典型的嵌入式程序有多大 1.10 本書中使用的軟件 習(xí)題第2章 數(shù)據(jù)表示 2.1 固定精度的二進(jìn)制數(shù)字 2.1.1 按位記數(shù)制 2.1.2 二進(jìn)制一十進(jìn)制轉(zhuǎn)換 2.1.3 十進(jìn)制一二進(jìn)制轉(zhuǎn)換 2.1.4 計(jì)數(shù) 2.1.5 固定精度和翻轉(zhuǎn) 2.1.6 十六進(jìn)制表示 2.2 整數(shù)的二進(jìn)制表示 2.2.1 帶符號整數(shù) 2.2.2 同一個(gè)值的正的表示和負(fù)的表示 2.2.3 解釋2的補(bǔ)碼數(shù)的值 2.2.4 關(guān)于范圍和溢出的進(jìn)一步說明 2.2.5 2的補(bǔ)碼和硬件復(fù)雜性 2.3 實(shí)數(shù)的二進(jìn)制表示 2.3.1 定點(diǎn)表示 2.3.2 使用通用的16.16格式的定點(diǎn)表示 2.3.3 使用通用的32.32格式的定點(diǎn)表示 2.3.4 浮點(diǎn)表示 2.4 文本的ASCII表示 2.5 二進(jìn)制編碼的十進(jìn)制表示 習(xí)題第3章 充分利用C語言 3.1 整型數(shù)據(jù)類型 3.2 混合數(shù)據(jù)類型 3.3 有用的typedef和define 3.4 操縱內(nèi)存中的位 3.4.1 測試位 3.4.2 設(shè)置、清除和反轉(zhuǎn)位 3.4.3 提取位 3.4.4 插入位 3.5 操縱:I/O端口中的位 3.5.1 只寫I/O端口 3.5.2 通過讀/寫區(qū)分的端口 3.5.3 通過順序訪問區(qū)分的端口 3.5.4 通過寫入數(shù)據(jù)中的位區(qū)分的端口 3.6 訪問內(nèi)存映射的I/O設(shè)備 3.6.1 通過指針訪問數(shù)據(jù) 3.6.2 數(shù)組、指針和“取地址”運(yùn)算符 3.7 結(jié)構(gòu) 3.7.1 打包的結(jié)構(gòu) 3.7.2 位域 3.8 變型訪問 3.8.1 強(qiáng)制轉(zhuǎn)換對象的地址 3.8.2 使用共用體 習(xí)題第4章 程序員眼中的計(jì)算機(jī)結(jié)構(gòu) 4.1 內(nèi)存 4.2 中央處理器 4.2.1 運(yùn)算器 4.2.2 其他寄存器 4.2.3 控制器 4.3 輸入/輸出 4.4 Intel架構(gòu)介紹 4.4.1 指令格式 4.4.2 指令操作數(shù) 4.4.3 操作數(shù)限制 4.4.4 寄存器 4.4.5 棧 4.5 Intel實(shí)模式架構(gòu) 4.5.1 分段尋址 4.5.2 尋址模式 4.6 Intel保護(hù)模式架構(gòu) 4.6.1 段寄存器和全局描述符表 4.6.2 坦內(nèi)存模型 4.6.3 尋址模式 4.7 操作數(shù)與地址長度覆蓋前綴 4.8 Intel數(shù)據(jù)操縱指令 4.8.1 數(shù)據(jù)移動(dòng)、棧和I/O指令 4.8.2 算術(shù)指令 4.8.3 按位指令 4.8.4 移位指令 習(xí)題第5章 c語言與匯編語言的融合第6章 輸入/輸出編程第7章 并發(fā)軟件第8章 調(diào)度第9章 內(nèi)存管理第10章 共享內(nèi)存第11章 系統(tǒng)初始化附錄A配書光盤上的內(nèi)容附錄BDJGPPC/C++編譯器附錄CNASM;I-編器附錄D編程項(xiàng)目附錄Elibepc庫附錄F引導(dǎo)加載程序附錄G詞匯表
章節(jié)摘錄
當(dāng)你想運(yùn)行一個(gè)桌面應(yīng)用程序時(shí),就會(huì)通過操作系統(tǒng)的一部分(稱為加載程序),把它的可執(zhí)行映像從磁盤上加載到內(nèi)存中。操作系統(tǒng)自身已經(jīng)在內(nèi)存中,它是在引導(dǎo)過程中加載到其中的”。 桌面系統(tǒng)用于運(yùn)行許多不同的應(yīng)用程序。因而,會(huì)使用讀/寫主內(nèi)存,以使完全不同的應(yīng)用程序能夠快速、容易地加載到內(nèi)存中,無論何時(shí)都可根據(jù)需要來替換先前的應(yīng)用程序?! ∨c通用的桌面系統(tǒng)不同的是,嵌入式系統(tǒng)被設(shè)計(jì)成為服務(wù)于單一目的。如果嵌入式軟件已位于內(nèi)存中,通常沒有理由改變它。這使得使用價(jià)格低廉的只讀存儲(chǔ)器來永久性地存儲(chǔ)該程序成為可能。由于沒有必要把程序存儲(chǔ)到磁盤上,因此可以顯著削減軟件數(shù)量,而這些軟件可能是支持文件系統(tǒng)所必要的?! ∏度胧綉?yīng)用的軟件和實(shí)時(shí)內(nèi)核都作為單一的程序映像存儲(chǔ)在只讀存儲(chǔ)器中。由于不需要文件系統(tǒng),因而其內(nèi)核比常規(guī)的操作系統(tǒng)要小得多,并且能夠很容易地連接到作為另一種對象文件的程序中。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載