日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> ARM處理器工作模式及寄存器結(jié)構(gòu)

ARM處理器工作模式及寄存器結(jié)構(gòu)

關(guān)鍵字:ARM處理器 寄存器 作者: 來源: 發(fā)布時(shí)間:2019-07-31  瀏覽:24

 一、ARM的指令結(jié)構(gòu)

1、ARM匯編程序組成:

匯編指令+偽操作+宏指令(instruction directive pseudo-instruction);

偽操作:定義符號(hào)、數(shù)據(jù)等使用

宏指令:使用宏定義指令方式

2、匯編指令的組成:

操作碼、操作條件(根據(jù)CPSR中的N、Z、C、V等標(biāo)志)、操作數(shù)(源、目的/地址或寄存器)、條件、地址變化等等;

3、ARM指令和簡(jiǎn)化的Thumb指令可以相互跳轉(zhuǎn)

B、BL、BLX、BX帶L表示考慮LR寄存器,而X實(shí)現(xiàn)不同指令模式的切換;

4、批量操作地址的方式分類

IA、IB、DA、DB

A:after B:before I:increment D:decrement

亦即:事后遞增 事先遞增 事后遞減 事先遞減 四種方式;

5、棧類型及尋址

FD ED FA EA

F:full E:empty D:descending A:Ascending

FULL/EMPTY棧:區(qū)別在于指向棧定的指針是否指向有效數(shù)據(jù),是則為FULL棧,否則為EMPTY棧;

DESCENDING/ASCENDING: 數(shù)據(jù)棧按內(nèi)存地址減小方式增長(zhǎng)為DESCENDING棧,相反為ASCENDING棧;

二、ARM的存儲(chǔ)系統(tǒng)及MMU和MPU的差別與聯(lián)系

1、ARM的存儲(chǔ)系統(tǒng)

CASHE及WRITE BUFFER技術(shù)用于縮小內(nèi)存和處理器之間差距;

存儲(chǔ)類型:ROM(FLASH/ROM)+RAM(SRAM、DRAM、SDRAM[ sychronization DRAM])

ARM采用協(xié)處理器CP15來進(jìn)行存儲(chǔ)器的管理;

2、存儲(chǔ)器管理單元MMU

MMU可以實(shí)現(xiàn)對(duì)內(nèi)存的精細(xì)控制:16域\段:1M\大頁 64KB\小頁 4KB\小頁1KB

MMU主要實(shí)現(xiàn)的功能:

1、物理地址和虛擬地址的映射;

2、memory讀寫權(quán)限AP的設(shè)置;

3、B、C(buffer-ability 和 cachability)是否可以使用cache和寫緩沖;

是否使用MMU功能:可以通過CP15的寄存器進(jìn)行使能設(shè)置;

對(duì)于MMU實(shí)現(xiàn)需要引入頁表(translate table)機(jī)制,頁表存儲(chǔ)在內(nèi)存,系統(tǒng)通常提供一個(gè)寄存器來存儲(chǔ)頁表的基地址,為了解決內(nèi)存訪問速度問題,采用類似cache方式,引入快表TLB(translation lookaside buffer)機(jī)制,小的快速的存儲(chǔ)期間來存儲(chǔ)當(dāng)前需要訪問的地址變換頁表。(相應(yīng)塊表可以存在無效、鎖定等操作。)

頁表中存儲(chǔ)著虛擬地址對(duì)應(yīng)的物理地址、訪問權(quán)限、緩沖特性等。

頁表根據(jù)設(shè)置空間使用情況分為:分為一、二級(jí)頁表;粗粒度二級(jí)表和細(xì)粒度二級(jí)表;一級(jí)頁表包含以段為單位的地址變換條目以及指向二級(jí)頁表的指針。二級(jí)頁表包含以大小頁為單位的地址變換條目。

關(guān)于訪問控制權(quán)限:需要C1寄存器的R、S控制位和頁表中AP來共同控制;

關(guān)于域:最多支持16個(gè)域,設(shè)置每個(gè)域的訪問控制特性,可以控制是否從頁表得到訪問權(quán)限...

3、MPU與MMU差別

MPU只是簡(jiǎn)單支持MMU一小部分功能:不支持虛擬地址和實(shí)地址的映射;不支持頁表;(MMU需要更多硬件來支持相應(yīng)的功能);

MPU最多可以分為8個(gè)域,對(duì)相應(yīng)的域進(jìn)行B、C、AP的設(shè)置;

同樣CP15可以控制MPU的功能開關(guān),對(duì)于域的設(shè)置可以存在地址的重疊,一般如果地址重疊,后面的域設(shè)置具有更高的優(yōu)先級(jí);

4、CACHE及WRITE BUFFER技術(shù)

cache和寫緩沖用來解決CPU速度大于內(nèi)存的問題,而cache得成本比內(nèi)存高;

cache高速緩沖存儲(chǔ)器,可以數(shù)據(jù)指令分開,也可以使用同一cache;

cache有寫回法和寫通法:寫回法指CPU寫數(shù)據(jù)寫入cache,而寫通法是指數(shù)據(jù)修改cache的同時(shí),也寫入內(nèi)存。

cache內(nèi)容和內(nèi)存地址的映射:有全相聯(lián)映射方式、直接映像方式、組組相聯(lián)映像方式。

cache的存儲(chǔ)空間小于內(nèi)存,所以存在cache內(nèi)容的替換問題,ARM中cache的替換算法:隨機(jī)替換和輪轉(zhuǎn)法

5、快速進(jìn)程上下文切換(fast context switch extension,F(xiàn)CSE)

主要解決多個(gè)進(jìn)程映射虛擬地址映射重疊問題,簡(jiǎn)單理解增加了進(jìn)程ID PID來區(qū)分,解決這個(gè)引起的開銷問題。

小貼士:

1、關(guān)于ASR LSR ROR RRX的差別:

--ASR 算數(shù)右移;

--LSR 邏輯右移 和ASR差別在符號(hào)位;

--ROR 循環(huán)右移;

--RRX 帶擴(kuò)展的循環(huán)右移 主要是用CPSR中的C填充移入,并且移出的位改寫C(carry out)位;

2、使用cache應(yīng)注意的問題

寫入數(shù)據(jù)只寫入cache的情況下,如果硬件如DMA資源直接從物理地址取數(shù)據(jù),需要注意同步問題?梢栽谟|發(fā)硬件資源之前操作cache內(nèi)容同步到內(nèi)存中。

3、子程序參數(shù)的傳遞規(guī)則

可變參數(shù):R0~R3,多與4個(gè)參數(shù),則用棧來進(jìn)行傳送;返回一個(gè)32整數(shù)用R0,64位R0-R1,浮點(diǎn)通過f0、D0、s0傳送?

4、MMU和MPU差別參考:

ARM Architecture Reference Manual

編輯:admin  最后修改時(shí)間:2019-07-31

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

政和县| 平潭县| 农安县| 塔城市| 武安市| 临西县| 仪陇县| 枣阳市| 卓资县| 民勤县| 松溪县| 广安市| 祁连县| 庆安县| 凤凰县| 秀山| 冕宁县| 张家港市| 天津市| 博兴县| 西和县| 稷山县| 彰武县| 克山县| 鹿泉市| 定襄县| 吐鲁番市| 大同市| 邢台市| 平利县| 延川县| 平昌县| 兴宁市| 驻马店市| 济南市| 汤原县| 延长县| 黄石市| 探索| 辰溪县| 保亭|