<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機小白學(xué)步(17) 單片機/計算機系統概述:核心模塊

單片機小白學(xué)步(17) 單片機/計算機系統概述:核心模塊

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò ) 收藏
前面已經(jīng)介紹了模塊化設計的特點(diǎn)和巨大優(yōu)勢。在我們的實(shí)驗板中,單片機是其中最核心的一個(gè)模塊;而對于單片機來(lái)說(shuō),又是由更多的子模塊組合而成。本文主要對單片機/計算機系統中最核心的幾個(gè)模塊進(jìn)行簡(jiǎn)要介紹。

為了便于進(jìn)行說(shuō)明,后面會(huì )將單片機/計算機簡(jiǎn)單的統稱(chēng)為微機系統。

本文引用地址:http://dyxdggzs.com/article/201611/318516.htm

信息與數據

何為信息?可以理解成我們周?chē)鞣N所能感知到的東西、還有人們所思所想等等,信息的概念不好解釋?zhuān)谴蠹叶寄芾斫?,也不是我要討論的重點(diǎn)。

在微機系統中,能處理很多信息,例如我正在寫(xiě)的內容,就是文字和圖像信息。處理信息的前提,就是對信息進(jìn)行表示,例如文字就是一種形式。

何為數據?在微機系統中,其結構決定了各種能處理的信息都需要表示成二進(jìn)制數字,這就被稱(chēng)為數據。例如英文字符可以通過(guò)ASCII碼表示成一個(gè)個(gè)字節的數據等。

CPU

人的大腦每時(shí)每刻所做的最重要的事,就是對大量的信息進(jìn)行處理。對內部已有信息和外界信息進(jìn)行處理,產(chǎn)生新的信息保存在大腦中,或對外界作出反應。

CPU即中央處理器(CPU=Central Processing Unit),是一個(gè)微機系統最核心的部件,可以認為相當于人的大腦中的思維部分,負責數據的處理。

存儲器:RAM/ROM/外存儲器

存儲器用來(lái)保存數據,例如在硬盤(pán)上可以存放電影音樂(lè ),可以認為相當于大腦中的記憶部分。

RAM

隨機存儲器(RAM=Random Access Memory),最重要的特點(diǎn)是可讀可寫(xiě)。寫(xiě)是指修改或者刪除數據。另外,RAM的速度相對比較快;斷電后數據會(huì )丟失;另外由于造價(jià)較高通常容量不大,但是夠用了。通常在電腦中相當于內存。

在學(xué)習C語(yǔ)言的時(shí)候,定義一個(gè)變量,例如int a,程序在執行的時(shí)候,這個(gè)變量就會(huì )保存在RAM中。

RAM根據結構和工作原理,又分為SRAM(=Static RAM,靜態(tài)RAM)和DRAM(=Dynamic RAM,動(dòng)態(tài)RAM)兩種,有興趣可以自己查閱相關(guān)資料。

ROM

即只讀存儲器(ROM=Read Only Memory),主要特點(diǎn)是通常情況下存儲內容不能被修改;斷電后數據不會(huì )丟失。

最早的ROM是一次性寫(xiě)入的,寫(xiě)入完成后通過(guò)高電壓燒斷ROM內部的熔絲,之后就不能再修改,而這也是單片機“燒寫(xiě)程序”一詞的由來(lái)。后來(lái)為了適應硬件發(fā)展,可用紫外線(xiàn)擦寫(xiě)的ROM被發(fā)明出來(lái),但是操作起來(lái)比較麻煩。再到后來(lái)電擦寫(xiě)的ROM誕生了,也就是后面會(huì )用到的EEPROM(EEPROM=Electrically Erasable Programmable Read-Only Memory,帶電可擦可編程只讀存儲器)。

給單片機燒寫(xiě)程序時(shí),就是將代碼燒寫(xiě)到了單片機的ROM中;運行程序的時(shí)候,指令就會(huì )從ROM中取出并被執行。

備注1:ROM常被誤認為是對應于計算機上的硬盤(pán),實(shí)際上硬盤(pán)屬于外部存儲,而ROM對應于計算機主板上的BIOS存儲器等。

備注2:在計算機中,常用到的應用程序平時(shí)是保存在硬盤(pán)中的,執行的時(shí)候,會(huì )由操作系統裝載到內存的代碼區域而不是ROM,這和單片機中的程序的執行過(guò)程不一樣(與單片機程序執行過(guò)程一致的是BIOS程序等,而不是操作系統之上的應用程序)。

備注3:一些單片機具備IAP功能(IAP=In Application Programming,在應用編程),利用一段小程序更新單片機ROM中的程序,可以實(shí)現在不斷電的情況下自動(dòng)更新單片機程序。

外存儲器

一般計算機系統中存儲器包括主存儲器和輔助存儲器,主存儲器又叫內存儲器(內存),輔助存儲器又叫外儲存器(外存)。常見(jiàn)的外存儲器有硬盤(pán)、軟盤(pán)、光盤(pán)、U盤(pán)等,斷電后仍然能保存數據。

中斷系統

中斷系統是計算機中非常重要的一個(gè)概念,但是這個(gè)詞看起來(lái)很難理解。何為中斷系統呢?我先講一個(gè)故事。

有一天班長(cháng)收到通知要讓五位同學(xué)每人填一份表格,填完后盡快收集起來(lái)上交給老師。班長(cháng)把表格分別發(fā)給了這五位同學(xué),但是每個(gè)同學(xué)什么時(shí)候能填好表格是不確定的。這時(shí)他有幾種選擇。

方法一,每隔一段時(shí)間輪流去問(wèn)這五位同學(xué)有沒(méi)有填完,如果填完了,確認無(wú)誤,就收集起來(lái)。

方法二,班長(cháng)發(fā)表格時(shí)告訴這幾位同學(xué),填完表后馬上交給他,然后自己就能繼續好好看書(shū)了。每當有同學(xué)交表格的時(shí)候,班長(cháng)就會(huì )把書(shū)簽放到正在看的那一頁(yè)書(shū)中,然后檢查這個(gè)同學(xué)的表格填寫(xiě)是否正確。確認了以后,班長(cháng)又會(huì )從剛剛看的那一頁(yè)繼續看書(shū)。

顯然,方法一效率實(shí)在太低,浪費了很多時(shí)間;方法二效果不錯,效率提高了很多。

故事講完了,這里就要介紹中斷系統了。在基本的微機系統中,CPU負責主要數據的處理工作(不考慮計算機顯卡這類(lèi)設備),通常任務(wù)繁重(相當于故事中的班長(cháng))。

有時(shí)外圍器件需要執行工作,執行結果要讓CPU及時(shí)處理,但又不能確定具體完成時(shí)間(故事中的同學(xué)填表格)。

原因有可能是因為外圍模塊速度遠不及CPU,例如從硬盤(pán)讀數據;也可能是執行不需CPU干預的費時(shí)操作(也可以理解成外圍模塊執行這個(gè)操作的速度慢);或者是接收來(lái)自外界的操作,例如按下鍵盤(pán)電腦需要很快進(jìn)行響應,要不然就表現為很卡甚至死機了。

這時(shí)為了及時(shí)知道外圍器件處理的結果并進(jìn)行處理,就有幾種工作流程了。

一是輪詢(xún)法(故事中的方法一)。以一定的間隔不斷查詢(xún)外圍器件工作狀態(tài)。好處是設計起來(lái)比較簡(jiǎn)單;缺點(diǎn)是效率太低,特別是當外圍設備太多、速度差異很大時(shí),CPU幾乎沒(méi)空干別的事。

二是中斷法(故事中的方法二)。外圍模塊處理好任務(wù)以后,主動(dòng)給CPU發(fā)送中斷請求(填好表格交給班長(cháng))。然后CPU中斷當前任務(wù),轉而處理中斷請求,對該模塊的執行結果進(jìn)行處理(檢查表格填寫(xiě)正確,并收集表格)。處理中斷請求之前,需要保護現場(chǎng)(放書(shū)簽),處理完中斷請求,再恢復現場(chǎng),繼續之前任務(wù)(繼續看書(shū))。

DMA

前面的故事其實(shí)還有方法三。班長(cháng)由于最近事情太多,決定請副班長(cháng)幫忙收集表格,讓同學(xué)們自己把表格交給副班長(cháng)。副班長(cháng)把表格都收集完了,再由他交給老師。這種方法需要征得副班長(cháng)的同意,不過(guò)效果很好。

同樣對于微機系統來(lái)說(shuō),也有第三種方法,這種方法就叫做DMA(DMA=Direct Memory Access,直接內存訪(fǎng)問(wèn))。在CPU之外設置一個(gè)DMA控制器(副班長(cháng)),根據CPU發(fā)送的指令,外圍設備處理完數據,通過(guò)DMA直接將數據保存到內存中的指定位置,然后才用中斷通知CPU處理。

在比較復雜的系統中,DMA能大大提高執行效率。51等單片機本身沒(méi)有DMA功能,可以在外部添加DMA控制器芯片實(shí)現(例如Intel 8237)。不過(guò)性能相對較低的單片機不能實(shí)現復雜系統,所以使用DMA的意義不大。

定時(shí)器/計數器

這里的定時(shí)器和我們生活中的定時(shí)器相似,主要區別是這個(gè)定時(shí)器往往定時(shí)時(shí)間很短;定時(shí)器定時(shí)時(shí)間到,不會(huì )響鈴,而是通過(guò)中斷的形式通知CPU。計數器則是計數高低電平脈沖數量的,而定時(shí)器通常正是由計數器實(shí)現的。這兩個(gè)模塊放在一起講解,正是因為他們通常就是設計在一塊的,后面再做詳細介紹。

計算機/單板機/單片機

核心模塊基本介紹完了。對于一個(gè)微機系統,CPU、存儲器(主要指RAM和ROM)是必不可少的,實(shí)際上還會(huì )有很多其他設備。對于計算機而言,這些模塊一般都是獨立的,通過(guò)主板連接在一起。早期人們把CPU、RAM、ROM等器件集成到一塊電路板上,被稱(chēng)為單板機。后來(lái)集成電路技術(shù)不斷發(fā)展,CPU、RAM、ROM、中斷等模塊集成到一個(gè)芯片中,就成了單片機。

=======================================================



關(guān)鍵詞: 單片機系統概述核心模

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>