ARM存儲(chǔ)格式
ARM存儲(chǔ)器以8位為一個(gè)單元存儲(chǔ)數(shù)據(jù)(一個(gè)字節(jié)),每個(gè)存儲(chǔ)單元分配一個(gè)存儲(chǔ)地址。
ARM將存儲(chǔ)器看作是從零地址開始的字節(jié)的線性組合。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié))。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。32位的字?jǐn)?shù)據(jù)要使用4個(gè)地址單元,16位半數(shù)據(jù)要使用2個(gè)地址單元。這樣,就存在一個(gè)所存儲(chǔ)的字或半字?jǐn)?shù)據(jù)的排列順序問(wèn)題。ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱為大端格式和小端格式。
大端格式(big-endian):字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。
小端格式(low-endian):與大端存儲(chǔ)格式相反。低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。缺省設(shè)置為小端格式。
RISC與CISC主要差別
1、寄存器方面
RISC指令集:擁有更多的通用寄存器,每個(gè)可以存放數(shù)據(jù)和地址,寄存器為所有的數(shù)據(jù)操作提供快速的存儲(chǔ)訪問(wèn)。
CISC指令集:多用于特定目的的專用寄存器。
2、LOAD –STORE結(jié)構(gòu)方面
RISC結(jié)構(gòu):Cpu 僅處理寄存器中的數(shù)據(jù),采用獨(dú)立的、專用的LOAD –STORE 指令來(lái)完成數(shù)據(jù)在寄存器和外存之間的傳送。(訪存費(fèi)時(shí),處理和存儲(chǔ)分開,可以反復(fù)的使用保存在寄存器中的數(shù)據(jù),而避免多次訪問(wèn)外存)。
CISC結(jié)構(gòu):能直接處理存儲(chǔ)器中的數(shù)據(jù)。