找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3486|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

初識(shí)ARM cotex—A9

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:130440 發(fā)表于 2016-7-14 17:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

1) 電阻的作用

[上拉電阻]

       接在電源和參考點(diǎn)之間的電阻
       (1) 作用:  使參考點(diǎn)的電平默認(rèn)為高電平

[下拉電阻]
       接在地和參考點(diǎn)之間的電阻
       (1) 作用:  使參考點(diǎn)的電平默認(rèn)為低電平


2) 局部性原理

程序執(zhí)行時(shí),訪問(wèn)的數(shù)據(jù)和執(zhí)行的指令往往在一個(gè)局部范圍內(nèi)。

3)bus
       可以接多個(gè)設(shè)備的一組線叫總線
      
       (1) CPU總線
           CPU(ALU和控制器)連接內(nèi)存和IO設(shè)備的一組線, 用于傳輸: 地址、數(shù)據(jù)和控制
           地址線
           數(shù)據(jù)線
           控制線
           
       (2) 單總線(ARM)
           內(nèi)存和IO設(shè)備接在相同cpu總線上,表現(xiàn)為:
           1. 內(nèi)存和IO設(shè)備在同一地址空間(0 - 4G)
           2. 訪問(wèn)內(nèi)存和IO設(shè)備的方法一樣(指令相同)
           
       (3) 多總線(x86)
           內(nèi)存和IO設(shè)備接在不同組cpu總線上,表現(xiàn)為:
           1. 內(nèi)存和IO設(shè)備在不在同一地址空間(0 - 4G)
           2. 訪問(wèn)內(nèi)存和IO設(shè)備的方法一樣(不同指令)

4)RISC & CISC

RISC (精簡(jiǎn)指令集): 可以不用硬件實(shí)現(xiàn)的功能,就用軟件實(shí)現(xiàn)。

CISC(復(fù)雜指令集):硬件可以實(shí)現(xiàn)的功能,都由硬件實(shí)現(xiàn)。

5)ARM處理器八種工作模式

(1).正常運(yùn)行

user                       運(yùn)行應(yīng)用程序

system                   運(yùn)行內(nèi)核中的進(jìn)程上下文

SVC  運(yùn)行操作系統(tǒng)的管理代碼

(2)中斷運(yùn)行

IRQ(中斷請(qǐng)求)  運(yùn)行普通的設(shè)備中斷

FIQ(快速中斷請(qǐng)求)用于快速或安全設(shè)備的中斷

(3)異常處理

Abort   讀取指令或數(shù)據(jù)儲(chǔ)存失敗時(shí),運(yùn)行處理程序的模式

Undefined  Instruction      解析指令時(shí),發(fā)現(xiàn)指令非法,運(yùn)行處理程序的模式

(4)Monitor

Coetex-A  安全模式

6)權(quán)限

user非特權(quán)模式

其它 特權(quán)模式

7)寄存器

概念:  軟硬件接口,也是存儲(chǔ)單元。CPU內(nèi)核寄存器,也是存儲(chǔ)單元,CPU利用寄存器的名字中的編號(hào)來(lái)訪問(wèn)寄存器。

功能:    R0——R15通用寄存器

R0——R7  非備份寄存器

R8——R14  備份寄存器

R13  (SP) 棧指針寄存器

R14(LR)    保存返回地址寄存器

R15(PC)  Program  Count  (正在讀取的指令的地址)

CPSR  狀態(tài)寄存器

SPSR   備份狀態(tài)寄存器

8)    CPSR        

狀態(tài)標(biāo)識(shí)位(ALU運(yùn)算時(shí)產(chǎn)生)
            (1)N  

計(jì)算的結(jié)果是否為負(fù)數(shù)(保存下來(lái)的結(jié)果的最高位)
                  1               負(fù)數(shù)
                  0               正數(shù)
                  
                  例: 2 - 3 = -1         N = 1
                      0000 0000 0000 0000 0000 0000 0000 0010
                     +1111 1111 1111 1111 1111 1111 1111 1101
                     -----------------------------------------
                      1
                     
                      2 - 1 = 1          N = 0
                      0000 0000 0000 0000 0000 0000 0000 0010
                     +1111 1111 1111 1111 1111 1111 1111 1111
                     -----------------------------------------
                     10
                  
                  int x, y
                  ....
                  if (x > y)
                     
             (2) Z  

計(jì)算的結(jié)果是否為0(保存下來(lái)的結(jié)果)
                  1                為0
                  0                為非0
                  例: 2 - 2 = 0          Z = 1
                      0000 0000 0000 0000 0000 0000 0000 0010
                     +1111 1111 1111 1111 1111 1111 1111 1110
                     -----------------------------------------
                     10
                  
                  int x, y
                  ...
                  if (x == y)
                  
             (3) C  

加法運(yùn)算中,是否有進(jìn)位

                  1           進(jìn)位
                  0           不進(jìn)位
                  
                  減法運(yùn)算中,是否有借位
                  1           沒(méi)有借位
                  0           有借位
                  
                  例: 2 - 3 = -1         C = 0
                  
                      0000 0000 0000 0000 0000 0000 0000 0010
                     +1111 1111 1111 1111 1111 1111 1111 1101
                     -----------------------------------------
                      1
                     
                      2 - 3 = -1         C = 0
                      0000 0000 0000 0000 0000 0000 0000 0010
                     -0000 0000 0000 0000 0000 0000 0000 0011
                     -----------------------------------------
                     
                 unsigned int x, y;
                 ...
                 if (x > y)      
                     
              (4)V  

計(jì)算的結(jié)果是否超出補(bǔ)碼的范圍()
                 1           超出補(bǔ)碼的范圍
                 0           沒(méi)有超出補(bǔ)碼的范圍
                 例: 0x7fffffff - (-1) = -2^31   V = 1
                     0 0111 1111 1111 1111 1111 1111 1111 1111
                    +0 0000 0000 0000 0000 0000 0000 0000 0001
                    ------------------------------------------
                     0 1                                     0
                 
                     -2^31 - 1                   V = 1
                     
                     -2^31 +(-2^31)              V = 1
                     
                     -1 + -1                     V = 0
                     1 1111 1111 1111 1111 1111 1111 1111 1111
                     1 1111 1111 1111 1111 1111 1111 1111 1111
                     -----------------------------------------
                     1 1                                    10
                     
                 總結(jié):
                 如果運(yùn)算的結(jié)果為負(fù)數(shù)(保存), 并且V = 1, 說(shuō)明原本(實(shí)際)的結(jié)果為正數(shù)
                                 正數(shù)或0         V = 1,                       負(fù)數(shù)
                                 
           I位      屏蔽IRQ中斷
           F位      屏蔽FIQ中斷
           T位      1             表示正在運(yùn)行thumb指令,處于thumb狀態(tài)
                    0                         ARM            ARM
           模式位   0 - 4bit

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表