iOS系統(tǒng)底層之CPU寄存器烦绳、內(nèi)存(虛擬內(nèi)存)

計算機是由CPU卿捎、內(nèi)存和外部設(shè)備組成的。CPU負(fù)責(zé)數(shù)據(jù)處理径密,內(nèi)存負(fù)責(zé)存儲午阵,外部設(shè)備負(fù)責(zé)數(shù)據(jù)的輸入和輸出,它們之間通過總線連接在一起享扔。CPU主要是由控制器底桂、運算器和寄存器組成的∥焙埽控制器負(fù)責(zé)指令的讀取和調(diào)度戚啥,運算器負(fù)責(zé)指令的運算執(zhí)行,寄存器負(fù)責(zé)數(shù)據(jù)的存儲锉试,它們之間通過CPU內(nèi)的總線連接在一起猫十。

截屏2021-07-15 下午1.46.42.png

疑問一 : 內(nèi)存作為數(shù)據(jù)存儲的場所,那么為什么還要有寄存器呆盖?

CPU的運算速度是非惩显疲快的,如果把運算的數(shù)據(jù)都放到內(nèi)存里面的話那將大大降低整個系統(tǒng)的性能应又。解決的辦法是在CPU內(nèi)部開辟一小塊臨時存儲區(qū)域宙项,并在進(jìn)行運算時先將數(shù)據(jù)從內(nèi)存復(fù)制到這一小塊臨時存儲區(qū)域中,運算時就在這一小快臨時存儲區(qū)域內(nèi)進(jìn)行株扛。我們稱這一小塊臨時存儲區(qū)域為寄存器尤筐。因為寄存器和運算器以及控制器是非常緊密的聯(lián)系在一起的,它們的頻率一致洞就,所以運算時就不會因為數(shù)據(jù)的來回傳輸以及各設(shè)備之間的頻率差異導(dǎo)致系統(tǒng)性能的整體下降盆繁。

疑問二 :為什么不把整個內(nèi)存都集成進(jìn)CPU?

寄存器的制作難度大旬蟋,選材精油昂,而且是集成到芯片內(nèi)部,所價格高。而內(nèi)存的成本則相對低廉冕碟,而且從工藝上來說拦惋,我們不可能在CPU內(nèi)部集成大量的存儲單元。

疑問三 : 高速緩存的功能安寺?

程序在運行時是要將所有可執(zhí)行的二進(jìn)制指令代碼都裝載到內(nèi)存里面去厕妖,CPU每執(zhí)行一條指令前都需要從內(nèi)存中將指令讀取到CPU內(nèi)并執(zhí)行。如果按這樣每次都從內(nèi)存讀取一條指令來依次執(zhí)行的話我衬,那還是存在著CPU和內(nèi)存之間的處理瓶頸問題叹放,從而造成整體性能的下降,所以就出現(xiàn)了高速緩存挠羔。當(dāng)程序在運行時井仰,就可以預(yù)先將部分在內(nèi)存中要執(zhí)行的指令代碼以及數(shù)據(jù)復(fù)制到高速緩存中去,而CPU則不再每次都從內(nèi)存中讀取指令而是直接從高速緩存依次讀取指令來執(zhí)行破加,從而加快了整體的速度俱恶。

虛擬內(nèi)存 : 當(dāng)我們向系統(tǒng)申請內(nèi)存時,系統(tǒng)并不會給你返回物理內(nèi)存的地址范舀,而是給你一個虛擬內(nèi)存地址合是。每個進(jìn)程都擁有相同大小的虛擬地址空間,只有我們開始使用申請到的虛擬內(nèi)存時锭环,系統(tǒng)才會將虛擬地址映射到物理地址上聪全,從而讓程序使用真實的物理內(nèi)存。

棧區(qū)(stack):由系統(tǒng)去管理辅辩。地址從高到低分配难礼。先進(jìn)后出。會存一些局部變量玫锋,函數(shù)跳轉(zhuǎn)地址蛾茉、對象指針 。
堆區(qū)(heap):需要我們自己管理內(nèi)存撩鹿,alloc申請內(nèi)存release釋放內(nèi)存谦炬。創(chuàng)建的對象也都放在這里。 地址是從低到高分配节沦。堆是所有程序共享的內(nèi)存键思,當(dāng)N個這樣的內(nèi)存得不到釋放,堆區(qū)會被擠爆甫贯,程序立馬癱瘓吼鳞。這就是內(nèi)存泄漏。
全局區(qū)/靜態(tài)區(qū)(staic):全局變量和靜態(tài)變量的存儲是放在一塊的获搏,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。程序結(jié)束后有系統(tǒng)釋放常熙。
常量區(qū):常量字符串就是放在這里的纬乍,還有const常量。
代碼區(qū):存放App代碼裸卫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仿贬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子墓贿,更是在濱河造成了極大的恐慌茧泪,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聋袋,死亡現(xiàn)場離奇詭異队伟,居然都是意外死亡,警方通過查閱死者的電腦和手機幽勒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門嗜侮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啥容,你說我怎么就攤上這事锈颗。” “怎么了咪惠?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵击吱,是天一觀的道長。 經(jīng)常有香客問我遥昧,道長覆醇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任渠鸽,我火速辦了婚禮叫乌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘徽缚。我一直安慰自己憨奸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布凿试。 她就那樣靜靜地躺著排宰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪那婉。 梳的紋絲不亂的頭發(fā)上板甘,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音详炬,去河邊找鬼盐类。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的在跳。 我是一名探鬼主播枪萄,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼猫妙!你這毒婦竟也來了瓷翻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤割坠,失蹤者是張志新(化名)和其女友劉穎齐帚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彼哼,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡对妄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沪羔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饥伊。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蔫饰,靈堂內(nèi)的尸體忽然破棺而出琅豆,到底是詐尸還是另有隱情,我是刑警寧澤篓吁,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布茫因,位于F島的核電站,受9級特大地震影響杖剪,放射性物質(zhì)發(fā)生泄漏冻押。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一盛嘿、第九天 我趴在偏房一處隱蔽的房頂上張望洛巢。 院中可真熱鬧,春花似錦次兆、人聲如沸稿茉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漓库。三九已至,卻和暖如春园蝠,著一層夾襖步出監(jiān)牢的瞬間渺蒿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工彪薛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茂装,地道東北人怠蹂。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像少态,于是被迫代替她去往敵國和親褥蚯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

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

  • 一彈指六十剎那况增,一剎那九百生滅。 --《仁王經(jīng)》 組件 計算機是一種數(shù)據(jù)處理設(shè)備训挡,它由CPU和內(nèi)存以及外部設(shè)備組成...
    歐陽大哥2013閱讀 21,288評論 15 147
  • 組件 計算機是一種數(shù)據(jù)處理設(shè)備澳骤,它由CPU和內(nèi)存以及外部設(shè)備組成。CPU負(fù)責(zé)數(shù)據(jù)處理澜薄,內(nèi)存負(fù)責(zé)存儲为肮,外部設(shè)備負(fù)責(zé)數(shù)...
    哆啦灬少A夢閱讀 1,576評論 1 2
  • 1 CPU的中的寄存器 ??CUP除了有控制器、運算器之外肤京,還有寄存器颊艳,寄存器的作用就是進(jìn)行數(shù)據(jù)的臨時存儲的,如下...
    _從今以后_閱讀 475評論 0 2
  • 組件 計算機是一種數(shù)據(jù)處理設(shè)備忘分,它由CPU和內(nèi)存以及外部設(shè)備組成棋枕。CPU負(fù)責(zé)數(shù)據(jù)處理,內(nèi)存負(fù)責(zé)存儲妒峦,外部設(shè)備負(fù)責(zé)數(shù)...
    taj3991閱讀 1,942評論 0 4
  • 引言 概念 CPU是什么重斑?CPU是中央處理器,中央處理器(CPU肯骇,Central Processing Unit)...
    struggle3g閱讀 518評論 0 0