單片機

姓名:王重月? 學號:21021211019? ?學院:電子工程學院

轉(zhuǎn)自:(30條消息) 嵌入式必備知識_Oliver.H的博客-CSDN博客_嵌入式基本知識必備

【嵌牛導讀】單片機的組成,各自之間的關(guān)聯(lián)。

【嵌牛鼻子】CPU、ARM、ROM、RAM、IO口

【嵌牛提問】它們的結(jié)構(gòu)是什么?都有什么用呢?

【嵌牛正文】

6.1 CPU 內(nèi)存 虛擬內(nèi)存 磁盤/硬盤 的關(guān)系

1.CPU即中央處理器,是英語“Central Processing Unit”的縮寫。CPU從內(nèi)存或緩存中取出指令,放入指令寄存器,并對指令譯碼分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成 系統(tǒng)指令的執(zhí)行。

2.但是,CPU并不能直接調(diào)用存儲在硬盤上的系統(tǒng)、程序和數(shù)據(jù),必須首先將硬盤的有關(guān)內(nèi)容存儲在內(nèi)存中,這樣才能被CPU讀取運行。因而,內(nèi)存(即物理 內(nèi)存,是相對于硬盤這個“外存”而言)作為硬盤和CPU的“中轉(zhuǎn)站”,對電腦運行速度有較大影響。

3.當運行數(shù)據(jù)超出物理內(nèi)存容納限度的時候,部分數(shù)據(jù)就會自行“溢出”,這時系統(tǒng)就會將硬盤上的部分空間模擬成內(nèi)存——虛擬內(nèi)存,并將暫時不運行的程序或 不使用的數(shù)據(jù)存放到這部分空間之中,等待需要的時候方便及時調(diào)用。

4.由于內(nèi)存是帶電存儲的(一旦斷電數(shù)據(jù)就會消失),而且容量有限,所以要長時間儲存程序或數(shù)據(jù)就需要使用硬盤(外存儲器)。硬盤也會影響系統(tǒng)速度,因為 系統(tǒng)從硬盤中讀取數(shù)據(jù)并通過總線存入內(nèi)存的速度也會影響系統(tǒng)運行的快慢。

6.2 CPU內(nèi)部結(jié)構(gòu)

CPU內(nèi)部結(jié)構(gòu)大概可以分為控制單元、運算單元、存儲單元和時鐘等幾個主要部分。

6.3 ARM結(jié)構(gòu)處理器簡析

1) arm處理器有7種模式

除了用戶模式外,其它6種為特殊模式,這些模式下,程序可以訪問系統(tǒng)所有資源;這六種特殊模式中,除了系統(tǒng)模式,其它5種又稱為異常模式。

2) arm處理器介紹

arm處理器共有37個寄存器,其中31個通用寄存器,6個狀態(tài)寄存器。

任意時刻可見的寄存器組包括15個通用寄存器(R0-R14),一個或兩個狀態(tài)寄存器及程序計數(shù)器(PC),其中通用寄存器中:

a) R0-R7為未備份寄存器,未備份處理器在所有的處理模式下指的都是同一個物理寄存器,在異常中斷造成的處理器模式切換時,由于不同的處理器模式使用的都是相同的物理寄存器,可能造成寄存器中的數(shù)據(jù)被破壞,未備份處理器沒有用于特別的用途,任何可采用通用寄存器的場合都可以使用未備份處理器;

b) R8-R14為備份寄存器

c) 程序計數(shù)器PC,即R15

由于ARM采用了流水線機制,當正確讀取了PC的值時,改值為當前指令地址值加8個字節(jié),其實最終是加8個字節(jié)還是12個字節(jié),取決于芯片的流水線級數(shù)。

d) 狀態(tài)寄存器CPSR

CPSR可以在任何處理器模式下被訪問,它包含了標志位,中斷禁止位,當前處理器模式標志以及其他的一些控制和狀態(tài)位,每一種處理器模式下都有一個專用的物理狀態(tài)寄存器稱為SPSR(備份狀態(tài)寄存器)。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。在異常中斷程序退出時,可以用SPSR中保存的值來恢復CPSR。

6.4 波特率是什么,為什么雙方波特率要相同,高低波特率有什么區(qū)別;

在電子通信領(lǐng)域,波特(Baud)即調(diào)制速率,指的是有效數(shù)據(jù)訊號調(diào)制載波的速率,即單位時間內(nèi)載波調(diào)制狀態(tài)變化的次數(shù)。

模擬線路信號的速率,也稱調(diào)制速率,以波形每秒的振蕩數(shù)來衡量。如果數(shù)據(jù)不壓縮,波特率等于每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù),如果數(shù)據(jù)進行了壓縮,那么每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù)通常大于調(diào)制速率,使得交換使用波特和比特/秒偶爾會產(chǎn)生錯誤。

6.5 arm和dsp有什么區(qū)別

數(shù)據(jù)處理方bai面用DSP,因為他可以實現(xiàn)比du較復雜的運算,我指的是硬zhi件完成運算,比如除法,dao一般的arm沒有除法器,而是把除法變成加法等運算,所以要很多步實現(xiàn)比較慢,這點你看看c編譯成的匯編就可以看出。當然不只是除法其它微分卷積等等。

arm優(yōu)點在于外設,包括ad,da等等,所以一般用在控制類的電子產(chǎn)品上。

當然高級點的arm中有的也會集成dsp處理器,起到相互補充的作用。

6.6 ROM RAM的概念淺析

隨機存取存儲器(Random Access Memory,RAM)又稱作“隨機存儲器”,是與CPU直接交換數(shù)據(jù)的內(nèi)部存儲器,也叫主存(內(nèi)存)。它可以隨時讀寫,而且速度很快,通常作為操作系統(tǒng)或其他正在運行中的程序的臨時數(shù)據(jù)存儲媒介。當電源關(guān)閉時RAM不能保留數(shù)據(jù)。如果需要保存數(shù)據(jù),就必須把它們寫入一個長期的存儲設備中(例如硬盤)。RAM和ROM相比,兩者的最大區(qū)別是RAM在斷電以后保存在上面的數(shù)據(jù)會自動消失,而ROM不會自動消失,可以長時間斷電保存。

6.7 IO口工作方式:上拉輸入 下拉輸入 推挽輸出 開漏輸出

1、上拉電阻:將一個不確定的信號,通過一個電阻與電源VCC相連,固定在高電平。在IO口為輸入模式且為上拉電阻時,IO口的常態(tài)為高電平。

2、下拉電阻:將一個不確定的信號,通過一個電阻與地GND相連,固定在低電平。在IO口為輸入模式且為下拉電阻時,IO口的常態(tài)為低電平。

3、推挽輸出:可以輸出高、低電平,連接數(shù)字器件。推挽結(jié)果一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通時令一個三極管截止。(推挽輸出的最大特點是可以真正的輸出高電平和低電平,且兩種電平下都有驅(qū)動能力)。IO輸出0-接GND, IO輸出1 -接VCC

4、開漏輸出:輸出端相當于三極管的集電極,要得到高電平狀態(tài)需要加上拉電阻才行。適合做電流型的驅(qū)動,其吸收電流的能力比較強(20mA左右)(開漏輸出最主要的特性就是高電平?jīng)]有驅(qū)動能力,需要借助外部上拉電阻才能真正輸出高電平)。開漏只能輸出低電平,高電平的時候?qū)嶋H上是個高阻態(tài),需要外接電阻來拉高的。

6.8扇區(qū) 塊 頁 簇的概念

1、什么是扇區(qū)和(磁盤)塊?

物理層面:一個磁盤按層次分為 磁盤組合 -> 單個磁盤 -> 某一盤面 -> 某一磁道 -> 某一扇區(qū)

扇區(qū),顧名思義,每個磁盤有多條同心圓似的磁道,磁道被分割成多個部分。每部分的弧長加上到圓心的兩個半徑,恰好形成一個扇形,所以叫做扇區(qū)。扇區(qū)是磁盤中最小的物理存儲單位。通常情況下每個扇區(qū)的大小是512字節(jié)。(由于不斷提高磁盤的大小,部分廠商設定每個扇區(qū)的大小是4096字節(jié))

邏輯層面: 磁盤塊(虛擬出來的)。 塊是操作系統(tǒng)中最小的邏輯存儲單位。操作系統(tǒng)與磁盤打交道的最小單位是磁盤塊。

2、什么是簇?和塊什么區(qū)別?

通俗的來講,在Windows下如NTFS等文件系統(tǒng)中叫做簇;在Linux下如Ext4等文件系統(tǒng)中叫做塊(block)。每個簇或者塊可以包括2、4、8、16、32、64…2的n次方個扇區(qū)。

3、為什么存在磁盤塊?

讀取方便:由于扇區(qū)的數(shù)量比較小,數(shù)目眾多在尋址時比較困難,所以操作系統(tǒng)就將相鄰的扇區(qū)組合在一起,形成一個塊,再對塊進行整體的操作。

分離對底層的依賴:操作系統(tǒng)忽略對底層物理存儲結(jié)構(gòu)的設計。通過虛擬出來磁盤塊的概念,在系統(tǒng)中認為塊是最小的單位。

4、怎么映射磁盤塊?

磁盤控制器,其作用除了讀取數(shù)據(jù)、控制磁頭等作用外,還有的功能就是映射扇區(qū)和磁盤塊的關(guān)系。

5、磁盤的讀寫基本單位是什么?

答案:讀寫基本單位是扇區(qū)。磁盤的原理,物理實現(xiàn),磁盤控制器是按照扇區(qū)這個單位讀取等操作數(shù)據(jù)的。操作系統(tǒng)是通過塊簇來做為單位讀取等操作數(shù)據(jù)的。此題問磁盤的讀寫,和操作系統(tǒng)沒有關(guān)系,千萬不要聯(lián)系到操作系統(tǒng)層面去了。

文件系統(tǒng)就是操作系統(tǒng)的一部分,所以文件系統(tǒng)操作文件的最小單位是塊。

6、磁盤塊與扇區(qū)的大小

既然磁盤塊是一個虛擬概念。是操作系統(tǒng)自己"杜撰"的。軟件的概念,不是真實的。所以大小由操作系統(tǒng)決定,操作系統(tǒng)可以配置一個塊多大。

一個塊大小=一個扇區(qū)大小*2的n次方。

N是可以修改的。

7、為什么磁盤塊大小必須是扇區(qū)大小的整數(shù)倍呢?

磁盤讀取數(shù)據(jù)的基本單位就是一個扇區(qū)的大小,一個塊的大小對于磁盤來說就是一次獲取數(shù)據(jù)讀取的扇區(qū)數(shù)*扇區(qū)大小,如果是整數(shù)倍的扇區(qū)數(shù)對于磁盤的IO更好,速度更快,也會更合理的利用資源。否則會對扇區(qū)進行分割。

一個扇區(qū)是512字節(jié)。有些硬盤廠商會提供4k大小扇區(qū)。這是物理結(jié)構(gòu)。磁盤定下來的結(jié)構(gòu)就是沒法修改的。所以必須要將塊設置為磁盤的大小。

8、4k對齊

隨著時代發(fā)展,硬盤容量不斷擴展,使得之前定義的每個扇區(qū)512字節(jié)不再是那么的合理,于是將每個扇區(qū)512字節(jié)改為每個扇區(qū)4096 個字節(jié),也就是現(xiàn)在常說的“4K扇區(qū)”。隨著NTFS成為了標準的硬盤文件系統(tǒng),其文件系統(tǒng)的默認分配單元大?。ù兀┮彩?096字節(jié),為了使簇與扇區(qū)相對應,即使物理硬盤分區(qū)與計算機使用的邏輯分區(qū)對齊,保證硬盤讀寫效率,所以就有了“4K對齊”的概念。

新標準的”4K扇區(qū)”的硬盤在廠商為了保證與操作系統(tǒng)兼容的前提下,也將扇區(qū)模擬成512B,會默認定義為4096字節(jié)大小為一個簇,但因為其引導區(qū)占用了一個磁道共63個扇區(qū),真正的文件系統(tǒng)在63號扇區(qū)之后。

我們通過計算得出前63個扇區(qū)大小為:512Bx63=32256B

并按照默認簇大小得出63扇區(qū)為:32256B÷4096B=7.875簇

即從第63個扇區(qū)結(jié)束,往后的每一個簇都會跨越兩個物理單元,占據(jù)前一個單元的一小部分和后一個單元的一大部分。

而“4K對齊”主要是將硬盤的模擬扇區(qū)(512B)對齊到8的整數(shù)倍個“實際”4K扇區(qū),即4096B*8=32768B,其正好跨過了63扇區(qū)的特性,從第64個扇區(qū)對齊。

9、塊與頁的關(guān)系

操作系統(tǒng)經(jīng)常與內(nèi)存和硬盤這兩種存儲設備進行通信,類似于“塊”的概念,都需要一種虛擬的基本單位。所以,與內(nèi)存操作,是虛擬一個頁的概念來作為最小單位。與硬盤打交道,就是以塊為最小單位。

6.11 什么是異步串口和同步串口

在計算機系統(tǒng)中,CPU和外部通信有兩種通信方式:并行通信和串行通信。而按照串行數(shù)據(jù)的時鐘控制方式,串行通信又可分為同步通信和異步通信兩種方式。

1、異步串行方式的特點

所謂異步通信,是指數(shù)據(jù)傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的。異步串行通信的特點可以概括為:

①以字符為單位傳送信息。

②相鄰兩字符間的間隔是任意長。

③因為一個字符中的比特位長度有限,所以需要的接收時鐘和發(fā)送時鐘只要相近就可以。

④異步方式特點簡單的說就是:字符間異步,字符內(nèi)部各位同步。

2、同步串行方式的特點

所謂同步通信,是指數(shù)據(jù)傳送是以數(shù)據(jù)塊(一組字符)為單位,字符與字符之間、字符內(nèi)部的位與位之間都同步。同步串行通信的特點可以概括為:

①以數(shù)據(jù)塊為單位傳送信息。

②在一個數(shù)據(jù)塊(信息幀)內(nèi),字符與字符間無間隔。

③因為一次傳輸?shù)臄?shù)據(jù)塊中包含的數(shù)據(jù)較多,所以接收時鐘與發(fā)送進鐘嚴格同步,通常要有同步時鐘。

3、場合

同步串行:通信網(wǎng)中,有大批量數(shù)據(jù)需要傳輸

異步串行:應用于在工業(yè)、實際應用中。適用于短距離、速率不高的情況下。

同步位系統(tǒng)比異步位系統(tǒng)要實用高效。這個比較好理解,計算機對幀的處理比對字符要少的多,在傳送相同大小的數(shù)據(jù)量的時候,計算機要對大量的字符進行開始與結(jié)束操作,幀則要少的多。同時同步位系統(tǒng)的下的網(wǎng)絡效率也更高,因為每個字符都至少包含兩位的開始結(jié)束信息,這個在數(shù)據(jù)量大的時候開銷是很客觀的。

6.12 I2C時序圖

開始條件:SCL高電平,SDA由高變低

停止條件:SCL高電平,SDA由低變高

總線空閑態(tài):SDA為高電平(沒有設備發(fā)送開始條件)

應答信號:接受數(shù)據(jù)的IC在接受到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。

寫:

1.主機發(fā)送開始條件

2.發(fā)送從機地址(7位 )+ 寫(0)

3.從機會產(chǎn)生一個應答信號(一個CLK下,把SDA拉低)

4.主機得到應答信號,發(fā)送8位數(shù)據(jù)。

5.從機會產(chǎn)生一個應答信號

6.重復 4.5 過程,直到主機發(fā)送停止條件

讀:

1.主機發(fā)送開始條件

2.發(fā)送從機地址(7位)+讀(1)

3.從機會產(chǎn)生一個應答信號(一個CLK下,SDA拉低)

4.從機給主機發(fā)送8位數(shù)據(jù)

5.主機給從機發(fā)送應答

6.從機得到應答,接著發(fā)送8位數(shù)據(jù)。

7.重復5.6過程,直到主機不發(fā)送應答信號和產(chǎn)生停止信號

————————————————

版權(quán)聲明:本文為CSDN博主「Oliver.H」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/weixin_43253519/article/details/108351553

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容