日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 逆向】x86 CPU 架构体系 ( CPU 模型 | 内存模型 )

發(fā)布時間:2025/6/17 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】x86 CPU 架构体系 ( CPU 模型 | 内存模型 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、x86 CPU 模型
  • 二、內存模型





一、x86 CPU 模型



下圖是 x86 架構的 CPU 模型圖 :

左側的 EAX , EBX , ECX , EDX , ESI , EDI , EBP , ESP , CS , DS , ES , FS , GS , SS , EFLAGS , EIP 等 161616 個各種顏色的模塊 , 都是 " 寄存器 " ;

寄存器可以訪問 " 高速緩存 " , 這里的高速緩存就是 一級 / 二級 / 三級 緩存 ;

高速緩存 與 內存相對應 , 緩存中緩存的數(shù)據(jù)就是內存中的數(shù)據(jù) ;

CPU 讀取內存中的數(shù)據(jù) : 如果在高速緩存中有相應數(shù)據(jù) , 就直接加載到寄存器中 , 如果 高速緩存 中沒有數(shù)據(jù) , 就將數(shù)據(jù)從內存中加載到 高速緩存 中 ;

CPU 讀取硬盤中數(shù)據(jù) : 首先將硬盤的文件 , 加載到內存中 , 然后從內存中加載到 CPU 高速緩存中 , 最后才能將高速緩存中的數(shù)據(jù)加載到寄存器中 ;

段寄存器 , 每個寄存器 161616 位 , 222 字節(jié) , 是 x86-323232 位架構 的遺留產(chǎn)物 , 在 646464 位架構中 , 基本不會使用 ;

323232 位的寄存器 , 通用寄存器 , 變址寄存器 , 指針寄存器 , 在 x86-646464 位架構中經(jīng)常使用 ;

  • 通用寄存器是用于計算的 ;
  • 變址寄存器 和 指針寄存器 是用于訪問內存的 , 如將內存中的數(shù)據(jù)加載到寄存器中 , 或者將寄存器中的數(shù)據(jù)寫出到內存中 ;

標志寄存器 : 根據(jù)不同的標志 , 進行不同的操作 , 如跳轉 ; ( 實現(xiàn) if 和 else 類似操作 )

指令寄存器 : 表明下一條要執(zhí)行的指令位置 ;





二、內存模型



CPU 和 內存之間是可以直接訪問的 ;

CPU 訪問 硬盤 , 顯卡 , 顯示器 等其它外部設備 , 是通過內存間接訪問的 ;

內存訪問硬盤 : 硬盤中的數(shù)據(jù)不是直接寫入到內存中的 , 硬盤中維護了一個硬盤緩存 , 內存加載硬盤數(shù)據(jù)時 , 先查看硬盤緩存中是否有相應數(shù)據(jù) ,

  • 如果有直接加載到內存中 ;
  • 如果沒有 , 則先將硬盤數(shù)據(jù)加載到硬盤緩存中 , 然后再加載到內存中 ;

內存訪問顯卡 : 顯卡 GPU 并不是直接與內存進行數(shù)據(jù)交互 , 在顯卡中維護了一塊 顯存 , 顯存中的數(shù)據(jù)可以直接與內存進行交互 , 顯卡與顯存進行數(shù)據(jù)交互 ;

總結

以上是生活随笔為你收集整理的【Android 逆向】x86 CPU 架构体系 ( CPU 模型 | 内存模型 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。