亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

我相信以下內容是每一位想學習Linux嵌入式系統想要了解的內容,真的很想要分享給大家!

本文分享的內容主要如下幾個方面:

系統總線

處理器

主存儲器

輸入/輸出模塊

數據寄存器、地址寄存器、索引寄存器

段指針

棧指針

pc程序計數器

取指令和執行指令

IO模塊

中斷系統機制

中斷處理

多道程序設計

存儲器的層次結構

高速緩沖存儲器

塊大小

映射函數

直接存儲器訪問

DMA模塊

1.1 嵌入式系統組成概述

操作系統利用一個或多個處理器的硬件資源,為系統用戶提供一組服務,它還代表用戶來管理輔助存儲器和輸入/輸出(Input/Output,I/O)設備。因此,在開始分析操作系統之前掌握一些底層的計算機系統硬件知識是很重要的。

本節給出了計算機系統硬件的概述。假設讀者對這些領域已經比較熟悉,所以對大多數領域的概述是簡要的。但某些內容對本書后面的主題比較重要,因此對這些內容的講述比較詳細。

1.1.1 基本構成

從最頂層看,一臺計算機由處理器、存儲器和輸入/輸出部件組成,每類部件有一個或多個模塊。這

些部件以某種方式互聯,以實現計算機執行程序的主要功能。因此,計算機有四個主要的結構化部件:

? 處理器 (Processor):控制計算機的操作,執行數據處理功能。當只有一個處理器時,它通常指中

央處理器(CPU)。

? 主存儲器n (Main memory):存儲數據和程序。此類存儲器通常是易失性的,即當計算機關機時,存

儲器的內容會丟失。相對于此的是磁盤存儲器,當計算機關機時,它的內容不會丟失。主存儲器通

常也稱為實存儲器(real memory)或主存儲器(primary memory)。

? 輸入/ / 輸出模塊O (I/O modules):在計算機和外部環境之間移動數據。外部環境由各種外部設備組成,包括二級存儲器設備(如硬盤)、通信設備和終端。

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

1.1.2 處理器寄存器

處理器包括一組寄存器,它們提供一定的存儲能力,比主存儲器訪問速度快,但比主存儲器的容量小。

處理器中的寄存器有兩個功能:

? 用戶可見寄存器:優先使用這些寄存器,可以使機器語言或匯編語言的程序員減少對主存儲器的訪

問次數。對高級語言而言,由優化編譯器負責決定哪些變量應該分配給寄存器、哪些變量應該分配

給主存儲器。一些高級語言(如 C 語言)允許程序員建議編譯器把哪些變量保存在寄存器中。

? 控制和狀態寄存器:用以控制處理器的操作,且主要被具有特權的操作系統例程使用,以控制程序

的執行。

這兩類寄存器并沒有很明顯的界限。例如,對某些機器而言,程序計數器是用戶可見的,但對其他機

器卻不是這樣。但為了方便起見,以下的討論使用這種分類方法。

1 用戶可見寄存器

用戶可見寄存器可以通過由處理器執行的機器語言來引用,它一般對所有的程序都是可用的,包括應

用程序和系統程序。通??捎玫募拇嫫黝愋桶?數據寄存器、 地址寄存器和 條件碼寄存器

? 數據寄存器 (data register)可以被程序員分配給各種函數。在某些情況下,它們實際上是通用的,

可被執行數據操作的任何機器指令使用。但通常也有一些限制,例如對浮點數運算使用專用的寄存

器,而對整數運算使用其他寄存器。

? 地址寄存器 (address register)包含數據和指令的主存儲器地址,或者包含用于計算完整地址或有

效地址的地址區域。這些寄存器可以是通用的,或者可以用來以某一特定方式或模式尋址存儲器。

如下面的例子所示:

? 索引寄存器(index register) :索引尋址是一種最常用的尋址方式,它通過給一個基值加一個索引

來獲得有效地址。

? 段指針t(segment pointer):對于分段尋址方式,存儲器被劃分成長度不等的段。一個存儲器引用

由一個特定段號和段內的偏移量組成;這種尋址方式在嵌入式較少采用。采用這種尋址方式,需要

用一個寄存器保存段的基地址(起始地址)。可能存在多個這樣的寄存器;例如一個用于操作系統(即

當操作系統代碼在處理器中執行時使用),一個用于當前正在執行的應用程序。

? 棧指針 (stack pointer):如果對用戶可見的棧進行尋址,則應該有一個專門的寄存器指向棧頂。

這樣就允許使用不包含地址域的指令,如入棧(push)和出棧(pop)。

在某些機器中,過程調用或子程序調用將導致所有用戶可見的寄存器自動保存,在調用返回時恢復保

存的寄存器。由處理器執行的保存操作和恢復操作是調用指令和返回指令執行過程的一部分。這就允許每個過程獨立地使用這些寄存器。而在其他一些機器上,在過程調用前保存相應的用戶可見寄存器卻是程序員的責任,這通過在程序中包含完成此項任務的指令來實現。因此,保存和恢復功能可以由硬件完成,也可以由軟件完成,這完全取決于處理器的實現。

2 控制和狀態寄存器

有多種處理器的寄存器用于控制處理器的操作。在大多數機器上,大部分此類寄存器對用戶不可見,

其中一部分可被在控制模式(或稱為操作系統模式)下執行的某些機器指令訪問。

當然,不同的機器有不同的寄存器結構,并使用不同的術語。在這里我們列出了比較合理和完全的寄存器類型,并給出了簡要的說明。除了前面提到過的 MAR、MBR、I/O AR 和 I/0 BR 寄存器(如圖 l-1 所示)外,下面的寄存器是指令執行所必需的:

? 程序計數器 (ProgramCounter , PC):包含將取指令的地址。

? 指令寄存器 (Instruction Register 。 IR):包含最近取的指令內容。

所有的處理器設計還包括一個寄存器或一組寄存器,通常稱為 程序狀態字m (Program s Status Word ,PSW),它包含狀態信息。PSW 通常包含條件碼和其他狀態信息,如中斷允許/禁止位和管理/用戶模式位。

條件碼n (condition code , 也稱為標記) )是由處理器硬件為操作結果設置的位。例如,算術運算可能產

生正數、負數、零或溢出的結果,除了結果自身存儲在一個寄存器或存儲器中,在算術指令執行之后,也隨之設置一個條件碼。這個條件碼接著可作為條件分支運算的一部分被測試。條件碼位被收集到一個或多個寄存器中,通常它們構成了控制寄存器的一部分。機器指令通常允許通過隱式訪問讀取這些位,但不能通過顯式訪問進行修改,這是因為它們是為指令執行結果的反饋而設計的。

在使用多種類型中斷的機器中,通常有一組中斷寄存器,每個指向一個中斷處理例程;如果使用棧實現某些功能(例如過程調用),則需要一個系統棧指針,最后,寄存器還可以用于控制 I/0 操作。

在設計控制和狀態寄存器結構時需要考慮很多因素,一個關鍵問題是對操作系統的支持。某些類型的控制信息對操作系統來說有特殊的用途,如果處理器設計者對所用操作系統的功能有所了解,那么可以設

計寄存器結構,對操作系統的特殊功能提供硬件支持,如存儲器保護和用戶程序之間的切換等。

另一個重要的設計決策是在寄存器和存儲器間分配控制信息。通常把存儲器最初的(最低的)幾百個或幾千個字用于控制目的,設計者必須決定在昂貴、高速的寄存器中放置多少控制信息,在相對便宜、低速的主存儲器中放置多少控制信息。

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

嵌入式Linux系統編程——推薦給所有學嵌入式系統的,難得的好文(嵌入式linux編程與實踐教程)

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午4:49
下一篇 2024年5月1日 下午5:01

相關推薦