iOS逆向3基礎(chǔ)篇--寄存器

寄存器

內(nèi)部部件之間由總線連接

CPU內(nèi)部控件

其中寄存器的作用就是進(jìn)行數(shù)據(jù)的臨時(shí)存儲烹卒。

CPU的運(yùn)算速度是非常快的盾计,為了性能CPU在內(nèi)部開辟一小塊臨時(shí)存儲區(qū)域搞糕,并在進(jìn)行運(yùn)算時(shí)先將數(shù)據(jù)從內(nèi)存復(fù)制到這一小塊臨時(shí)存儲區(qū)域中,運(yùn)算時(shí)就在這一小快臨時(shí)存儲區(qū)域內(nèi)進(jìn)行蜂科。我們稱這一小塊臨時(shí)存儲區(qū)域?yàn)榧拇嫫鳌?/p>

  • 對程序員來說顽决,CPU中最主要部件是寄存器,可以通過改變寄存器的內(nèi)容來實(shí)現(xiàn)對CPU的控制
  • 不同的CPU导匣,寄存器的個(gè)數(shù)才菠、結(jié)構(gòu)是不相同的

高速緩存

iPhoneX上搭載的ARM處理器A11它的1級緩存的容量是64KB,2級緩存的容量8M.

CPU每執(zhí)行一條指令前都需要從內(nèi)存中將指令讀取到CPU內(nèi)并執(zhí)行贡定。而寄存器的運(yùn)行速度相比內(nèi)存讀寫要快很多,為了性能,CPU還集成了一個(gè)高速緩存存儲區(qū)域.當(dāng)程序在運(yùn)行時(shí)赋访,先將要執(zhí)行的指令代碼以及數(shù)據(jù)復(fù)制到高速緩存中去(由操作系統(tǒng)完成).CPU直接從高速緩存依次讀取指令來執(zhí)行.

通用寄存器

  • ARM64擁有有31個(gè)64位的通用寄存器 x0 到 x30,這些寄存器通常用來存放一般性的數(shù)據(jù),稱為通用寄存器(有時(shí)也有特定用途)
    • 那么w0 到 w28 這些是32位的. 因?yàn)?4位CPU可以兼容32位.所以可以只使用64位寄存器的低32位.
    • 比如 w0 就是 x0的低32位!


      arm64寄存器
寄存器 描述
X0-X30 通用寄存器缓待,如果有需要可以當(dāng)做32bit使用:WO-W30
FP(x29) 保存棧幀地址(棧底指針)
LR (X30) 通常稱X30為程序鏈接寄存器蚓耽,保存跳轉(zhuǎn)返回信息地址
SP 保存棧指針
PC 程序計(jì)數(shù)器,俗稱PC指針命斧,總是指向即將要執(zhí)行的下一條指令

X0-X7: 用于子程序調(diào)用時(shí)的參數(shù)傳遞田晚,X0還用于返回值傳遞
wz r:零寄存器, 就是0值
cpsr:狀態(tài)寄存器

  • 通常国葬,CPU會先將內(nèi)存中的數(shù)據(jù)存儲到通用寄存器中贤徒,然后再對通用寄存器中的數(shù)據(jù)進(jìn)行運(yùn)算

pc寄存器(program counter)

  • 為指令指針寄存器,它指示了CPU當(dāng)前要讀取指令的地址
  • 在內(nèi)存或者磁盤上汇四,指令和數(shù)據(jù)沒有任何區(qū)別接奈,都是二進(jìn)制信息
  • CPU在工作的時(shí)候把有的信息看做指令,有的信息看做數(shù)據(jù)通孽,為同樣的信息賦予了不同的意義
    • 比如 1110 0000 0000 0011 0000 1000 1010 1010
    • 可以當(dāng)做數(shù)據(jù) 0xE003008AA
    • 也可以當(dāng)做指令 mov x0, x8
  • CPU根據(jù)什么將內(nèi)存中的信息看做指令序宦?
    • CPU將pc指向的內(nèi)存單元的內(nèi)容看做指令
    • 如果內(nèi)存中的某段內(nèi)容曾被CPU執(zhí)行過,那么它所在的內(nèi)存單元必然被pc指向過

浮點(diǎn)和向量寄存器

因?yàn)楦↑c(diǎn)數(shù)的存儲以及其運(yùn)算的特殊性,CPU中專門提供浮點(diǎn)數(shù)寄存器來處理浮點(diǎn)數(shù)

  • 浮點(diǎn)寄存器 64位: D0 - D31 32位: S0 - S31
  • fpsr寄存器:浮點(diǎn)狀態(tài)寄存器
  • fpcr寄存器:浮點(diǎn)控制寄存器

現(xiàn)在的CPU支持向量運(yùn)算.(向量運(yùn)算在圖形處理相關(guān)的領(lǐng)域用得非常的多)為了支持向量計(jì)算系統(tǒng)了也提供了眾多的向量寄存器.

  • 向量寄存器 128位:V0-V31

異常狀態(tài)寄存器


ni: 單步執(zhí)行機(jī)器指令
s:進(jìn)入機(jī)器指令
register read: 讀出所有寄存器
register read pc: 讀出寄存器pc的值
register read pc 0x1000000: 修改寄存器pc的值為0x1000000

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末背苦,一起剝皮案震驚了整個(gè)濱河市互捌,隨后出現(xiàn)的幾起案子潘明,更是在濱河造成了極大的恐慌,老刑警劉巖秕噪,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钳降,死亡現(xiàn)場離奇詭異,居然都是意外死亡腌巾,警方通過查閱死者的電腦和手機(jī)遂填,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澈蝙,“玉大人吓坚,你說我怎么就攤上這事〉朴” “怎么了礁击?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長漏麦。 經(jīng)常有香客問我客税,道長况褪,這世上最難降的妖魔是什么撕贞? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮测垛,結(jié)果婚禮上捏膨,老公的妹妹穿的比我還像新娘。我一直安慰自己食侮,他們只是感情好号涯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锯七,像睡著了一般链快。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眉尸,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天域蜗,我揣著相機(jī)與錄音,去河邊找鬼噪猾。 笑死霉祸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的袱蜡。 我是一名探鬼主播丝蹭,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坪蚁!你這毒婦竟也來了奔穿?” 一聲冷哼從身側(cè)響起镜沽,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贱田,沒想到半個(gè)月后淘邻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡湘换,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年宾舅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彩倚。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筹我,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帆离,到底是詐尸還是另有隱情蔬蕊,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布哥谷,位于F島的核電站岸夯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏们妥。R本人自食惡果不足惜猜扮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望监婶。 院中可真熱鬧旅赢,春花似錦、人聲如沸惑惶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽带污。三九已至僵控,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鱼冀,已是汗流浹背报破。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雷绢,地道東北人泛烙。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像翘紊,于是被迫代替她去往敵國和親蔽氨。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容