欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

    標題: 初識ARM cotex—A9 [打印本頁]

    作者: 風格    時間: 2016-7-14 17:08
    標題: 初識ARM cotex—A9

    1) 電阻的作用

    [上拉電阻]

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

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


    2) 局部性原理

    程序執行時,訪問的數據和執行的指令往往在一個局部范圍內。

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

    4)RISC & CISC

    RISC (精簡指令集): 可以不用硬件實現的功能,就用軟件實現。

    CISC(復雜指令集):硬件可以實現的功能,都由硬件實現。

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

    (1).正常運行

    user                       運行應用程序

    system                   運行內核中的進程上下文

    SVC  運行操作系統的管理代碼

    (2)中斷運行

    IRQ(中斷請求)  運行普通的設備中斷

    FIQ(快速中斷請求)用于快速或安全設備的中斷

    (3)異常處理

    Abort   讀取指令或數據儲存失敗時,運行處理程序的模式

    Undefined  Instruction      解析指令時,發現指令非法,運行處理程序的模式

    (4)Monitor

    Coetex-A  安全模式

    6)權限

    user非特權模式

    其它 特權模式

    7)寄存器

    概念:  軟硬件接口,也是存儲單元。CPU內核寄存器,也是存儲單元,CPU利用寄存器的名字中的編號來訪問寄存器。

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

    R0——R7  非備份寄存器

    R8——R14  備份寄存器

    R13  (SP) 棧指針寄存器

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

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

    CPSR  狀態寄存器

    SPSR   備份狀態寄存器

    8)    CPSR        

    狀態標識位(ALU運算時產生)
                (1)N  

    計算的結果是否為負數(保存下來的結果的最高位)
                      1               負數
                      0               正數
                      
                      例: 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  

    計算的結果是否為0(保存下來的結果)
                      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  

    加法運算中,是否有進位

                      1           進位
                      0           不進位
                      
                      減法運算中,是否有借位
                      1           沒有借位
                      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  

    計算的結果是否超出補碼的范圍()
                     1           超出補碼的范圍
                     0           沒有超出補碼的范圍
                     例: 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
                         
                     總結:
                     如果運算的結果為負數(保存), 并且V = 1, 說明原本(實際)的結果為正數
                                     正數或0         V = 1,                       負數
                                     
               I位      屏蔽IRQ中斷
               F位      屏蔽FIQ中斷
               T位      1             表示正在運行thumb指令,處于thumb狀態
                        0                         ARM            ARM
               模式位   0 - 4bit






    歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1