68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> ARM處理器工作模式及寄存器結構

ARM處理器工作模式及寄存器結構

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

 一、ARM的指令結構

1、ARM匯編程序組成:

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

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

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

2、匯編指令的組成:

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

3、ARM指令和簡化的Thumb指令可以相互跳轉

B、BL、BLX、BX帶L表示考慮LR寄存器,而X實現(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ù)棧按內存地址減小方式增長為DESCENDING棧,相反為ASCENDING棧;

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

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

CASHE及WRITE BUFFER技術用于縮小內存和處理器之間差距;

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

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

2、存儲器管理單元MMU

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

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

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

2、memory讀寫權限AP的設置;

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

是否使用MMU功能:可以通過CP15的寄存器進行使能設置;

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

頁表中存儲著虛擬地址對應的物理地址、訪問權限、緩沖特性等。

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

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

關于域:最多支持16個域,設置每個域的訪問控制特性,可以控制是否從頁表得到訪問權限...

3、MPU與MMU差別

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

MPU最多可以分為8個域,對相應的域進行B、C、AP的設置;

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

4、CACHE及WRITE BUFFER技術

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

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

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

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

cache的存儲空間小于內存,所以存在cache內容的替換問題,ARM中cache的替換算法:隨機替換和輪轉法

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

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

小貼士:

1、關于ASR LSR ROR RRX的差別:

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

--LSR 邏輯右移 和ASR差別在符號位;

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

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

2、使用cache應注意的問題

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

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

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

4、MMU和MPU差別參考:

ARM Architecture Reference Manual

編輯:admin  最后修改時間:2019-07-31

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

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

中西区| 阳江市| 建阳市| 红原县| 温泉县| 昌平区| 静海县| 保定市| 隆化县| 浑源县| 黄大仙区| 宜川县| 绥德县| 海伦市| 尼勒克县| 上饶县| 连山| 商城县| 玛纳斯县| 三明市| 徐水县| 蚌埠市| 思南县| 罗城| 大城县| 响水县| 遂昌县| 崇阳县| 宜昌市| 玉溪市| 江孜县| 财经| 黄平县| 康马县| 潮州市| 金乡县| 卫辉市| 扎兰屯市| 德令哈市| 平顶山市| 昌图县|