如今,微控制器的功能日漸強(qiáng)大,已經(jīng)從早期的單片機(jī)轉(zhuǎn)向基于SoC結(jié)構(gòu)的MCU體系。在這個(gè)轉(zhuǎn)變過程中,內(nèi)核成為了決定一顆MCU的性能和應(yīng)用場(chǎng)景的關(guān)鍵。比如我們常說MCU的位數(shù)就是根據(jù)內(nèi)核來(lái)確定的,不同的內(nèi)核代表了不同的MCU性能。例如,早期的8051就是8位單片機(jī)的典型內(nèi)核,現(xiàn)在主流的Arm Cortex M系列則代表了32位MCU最常見的內(nèi)核;Cortex M0+則是低功耗低成本MCU的標(biāo)簽;Cortex M7內(nèi)核的MCU作為高性能微控制器的代表甚至可以進(jìn)行部分視頻處理應(yīng)用,而PowerPC架構(gòu)的內(nèi)核則常見于汽車動(dòng)力總成部分的MCU應(yīng)用場(chǎng)景。
如何配置強(qiáng)大的CPU內(nèi)核?
內(nèi)核是一顆MCU中的主處理單元(也可以說是MCU的CPU),內(nèi)核基本決定了一顆MCU半數(shù)以上的技術(shù)指標(biāo),因此對(duì)CPU內(nèi)核進(jìn)行配置就成為應(yīng)用MCU的最關(guān)鍵步驟。今天我們就以東芝的TLCS-870/C1內(nèi)核作為示例,帶大家共同學(xué)習(xí)一下CPU整體配置的基本知識(shí)。
首先我們來(lái)認(rèn)識(shí)一下微控制器的各個(gè)基本功能,如下圖所示,CPU具有用于存放微控制器中各種數(shù)據(jù)和程序的存儲(chǔ)電路以及用于執(zhí)行計(jì)算的運(yùn)算電路。其中各個(gè)部分功能如下。
PSW(程序狀態(tài)字):用于保存操作結(jié)果和指令執(zhí)行結(jié)果狀態(tài)的寄存器,由各種標(biāo)志組成。
通用寄存器:用于儲(chǔ)存數(shù)據(jù)的存儲(chǔ)電路,根據(jù)存儲(chǔ)電路的位置,通用寄存器分別稱為W、A、B、C、D、E、H、L等。儲(chǔ)存計(jì)算結(jié)果的地方稱為累加器。在TLCS-870/C1中,W、A、B、C、D、E、H、L、IX和IY這十個(gè)寄存器具有累加器功能。
程序計(jì)數(shù)器(PC):用于儲(chǔ)存存儲(chǔ)器地址以讀取指令的存儲(chǔ)電路。
ALU(算術(shù)邏輯單元):用于執(zhí)行計(jì)算的運(yùn)算電路。
指令寄存器:用于暫時(shí)存儲(chǔ)讀取指令的存儲(chǔ)電路。
指令解碼器:對(duì)存儲(chǔ)在指令寄存器中的指令進(jìn)行解密,并將其發(fā)送到控制單元。
中斷控制電路:用來(lái)控制中斷功能。
在這些功能中,程序計(jì)數(shù)器(PC)是管理下一步要執(zhí)行指令存儲(chǔ)地址的寄存器。每次執(zhí)行一條指令時(shí),程序計(jì)數(shù)器指定的地址將進(jìn)行+n處理(1字指令為+1,2字指令為+2)。當(dāng)在中斷指令等情況下,PC將存儲(chǔ)跳轉(zhuǎn)目標(biāo)地址。CPU從PC讀取下一條要執(zhí)行指令所在的地址,并依次執(zhí)行。例如,如果PC中存儲(chǔ)了0x8020(地址),則意味著CPU正在執(zhí)行地址為0x8019的指令。如果從PC讀取了地址0x8020,則CPU下一步要執(zhí)行指令的地址0x8021將儲(chǔ)存在PC中。這個(gè)過程可以參考圖2所示的流程示意。
而通用寄存器可用于各種用途,例如累加器和數(shù)據(jù)處理。TLCS-870/C1有八個(gè)8位寄存器:W、A、B、C、D、E、H和L。這八個(gè)寄存器也可以作為16位寄存器成對(duì)使用:WA、BC、DE和HL。這些組合只適用于相鄰的寄存器,例如,B和E、H和E等不能組合。此外,TLCS-870/C1還有兩個(gè)16位通用寄存器IX和IY。這些寄存器主要作為訪問存儲(chǔ)器時(shí)的索引寄存器。
在CPU執(zhí)行指令后,會(huì)有一個(gè)標(biāo)志指示存儲(chǔ)器的內(nèi)容以及計(jì)算結(jié)果的狀態(tài)。PSW(程序狀態(tài)字)的作用就是收集這些標(biāo)志。下圖是A寄存器(00111110)和B寄存器(11100000)相加的例子。計(jì)算結(jié)果(100011110)本應(yīng)儲(chǔ)存在A寄存器中。但是,由于A寄存器只能儲(chǔ)存8位,所以將進(jìn)位標(biāo)設(shè)置為“1”,并將進(jìn)位標(biāo)志保留為發(fā)生進(jìn)位的信息。因此,在A寄存器中,存儲(chǔ)不包括最高有效位1的(00011110)作為計(jì)算結(jié)果。例如,如果計(jì)算結(jié)果是(100000000),則在進(jìn)位標(biāo)志中設(shè)置1,(00000000)儲(chǔ)存在A寄存器中,所以在零標(biāo)志中設(shè)置1。
今天我們跟大家一起了解了微控制器的CPU部分功能單元和基本指令執(zhí)行的知識(shí),下一節(jié)我們將帶大家一起認(rèn)識(shí)另一個(gè)CPU配置的關(guān)鍵環(huán)節(jié)“中斷處理”。請(qǐng)大家持續(xù)關(guān)注哦~
來(lái)源:東芝半導(dǎo)體
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
微控制器
+關(guān)注
關(guān)注
48文章
7658瀏覽量
152154 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7529瀏覽量
164371 -
cpu
+關(guān)注
關(guān)注
68文章
10908瀏覽量
213084
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
東芝推出七款基于Arm Cortex-M4內(nèi)核的32位微控制器
![東芝推出七款基于Arm Cortex-M4<b class='flag-5'>內(nèi)核</b>的32位<b class='flag-5'>微控制器</b>](https://file1.elecfans.com/web3/M00/06/E6/wKgZPGeQw2GAFbYOAAAofdPpkJE446.png)
如何在i.MX RT微控制器上初始化LWIP協(xié)議棧
![如何在i.MX RT<b class='flag-5'>微控制器</b><b class='flag-5'>上</b>初始化LWIP協(xié)議棧](https://file1.elecfans.com/web1/M00/F2/C0/wKgaoWcJ8kSAOkXfAAA3xf5pRPo776.png)
ESP32 微控制器系列指南
![ESP32 <b class='flag-5'>微控制器</b>系列指南](https://file1.elecfans.com/web2/M00/06/DA/wKgaombgHMmAP1HxAACTwfLTVZg785.jpg)
![](https://file1.elecfans.com/web2/M00/06/BF/wKgZombqeeaAUZJ9AAhxjsrDDIo198.png)
微控制器內(nèi)部的存儲(chǔ)器有哪些
微控制器的結(jié)構(gòu)和應(yīng)用
RM57L843基于ARM? Cortex?-R內(nèi)核的Hercules?微控制器數(shù)據(jù)表
![RM57L843基于ARM? Cortex?-R<b class='flag-5'>內(nèi)核</b>的Hercules?<b class='flag-5'>微控制器</b>數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TMS570LC4357基于ARM Cortex?-R內(nèi)核的Hercules?微控制器數(shù)據(jù)表
![TMS570LC4357基于ARM Cortex?-R<b class='flag-5'>內(nèi)核</b>的Hercules?<b class='flag-5'>微控制器</b>數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
cpu控制器負(fù)責(zé)什么運(yùn)算
cpu控制器的功能是什么
普冉半導(dǎo)體推出一款基于32位ARM Cortex-M0+內(nèi)核的微控制器
![普冉半導(dǎo)體推出一款基于32位ARM Cortex-M0+<b class='flag-5'>內(nèi)核</b>的<b class='flag-5'>微控制器</b>](https://file1.elecfans.com/web2/M00/DE/7E/wKgZomYwZNyAEXewAAA7HoiZgmU490.png)
深入探討微控制器的內(nèi)部結(jié)構(gòu)和工作機(jī)制
![深入探討<b class='flag-5'>微控制器</b>的內(nèi)部結(jié)構(gòu)和工作機(jī)制](https://file1.elecfans.com/web2/M00/C8/A7/wKgaomYWNP-AGmVXAABIB43FDmw036.png)
評(píng)論