最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

程序的零點(diǎn):CPU到底是什么

2020-07-13 11:18 作者:圖靈社區(qū)  | 我要投稿

Coding這么多年,還記得初次接觸計(jì)算機(jī)的情形嗎?寫(xiě)了幾萬(wàn)行代碼,為啥水平提升越來(lái)越緩慢?想寫(xiě)個(gè)源程序,是否感覺(jué)非常不給力?難倒你也在為這些問(wèn)題苦惱?

高手說(shuō),你不熟悉程序運(yùn)行的根本機(jī)制。

不信,你想想程序運(yùn)行的流程。


你再想想CPU是什么。


清楚嗎?我們來(lái)懷舊一下CPU。

CPU的內(nèi)部由寄存器、控制器、運(yùn)算器和時(shí)鐘四個(gè)部分構(gòu)成,各部分之間由電流信號(hào)相互連通。寄存器可用來(lái)暫存指令、數(shù)據(jù)等處理對(duì)象,可以將其看作是內(nèi)存的一種。根據(jù)種類的不同,一個(gè)CPU內(nèi)部會(huì)有20~100個(gè)寄存器??刂破髫?fù)責(zé)把內(nèi)存上的指令、數(shù)據(jù)等讀入寄存器,并根據(jù)指令的執(zhí)行結(jié)果來(lái)控制整個(gè)計(jì)算機(jī)。運(yùn)算器負(fù)責(zé)運(yùn)算從內(nèi)存讀入寄存器的數(shù)據(jù)。時(shí)鐘負(fù)責(zé)發(fā)出CPU開(kāi)始計(jì)時(shí)的時(shí)鐘信號(hào)。不過(guò),也有些計(jì)算機(jī)的時(shí)鐘位于CPU的外部。


通常所說(shuō)的內(nèi)存指的是計(jì)算機(jī)的主存儲(chǔ)器(main memory),簡(jiǎn)稱主存。主存通過(guò)控制芯片等與CPU相連,主要負(fù)責(zé)存儲(chǔ)指令和數(shù)據(jù)。主存由可讀寫(xiě)的元素構(gòu)成,每個(gè)字節(jié)(1字節(jié) = 8位 )都帶有一個(gè)地址編號(hào)。CPU可以通過(guò)該地址讀取主存中的指令和數(shù)據(jù),當(dāng)然也可以寫(xiě)入數(shù)據(jù)。但有一點(diǎn)需要注意,主存中存儲(chǔ)的指令和數(shù)據(jù)會(huì)隨著計(jì)算機(jī)的關(guān)機(jī)而自動(dòng)清除。


程序啟動(dòng)后,根據(jù)時(shí)鐘信號(hào),控制器會(huì)從內(nèi)存中讀取指令和數(shù)據(jù)。通過(guò)對(duì)這些指令加以解釋和運(yùn)行,運(yùn)算器就會(huì)對(duì)數(shù)據(jù)進(jìn)行運(yùn)算,控制器根據(jù)該運(yùn)算結(jié)果來(lái)控制計(jì)算機(jī)。看到“控制”一詞時(shí),大家可能會(huì)將事情想象得過(guò)于復(fù)雜,其實(shí)所謂的控制就是指數(shù)據(jù)運(yùn)算以外的處理(主要是數(shù)據(jù)輸入輸出的時(shí)機(jī)控制)。比如內(nèi)存和磁盤等媒介的輸入輸出、鍵盤和鼠標(biāo)的輸入、顯示器和打印機(jī)的輸出等,這些都是控制的內(nèi)容。


高手說(shuō),CPU是寄存器的集合體。


CPU的四個(gè)構(gòu)成部分中,程序員只需要了解寄存器即可,其余三個(gè)都不用太過(guò)關(guān)注。那么,為什么必須要了解寄存器呢?因?yàn)槌绦蚴前鸭拇嫫髯鳛閷?duì)象來(lái)描述的。


不同類型的CPU,其內(nèi)部寄存器的數(shù)量、種類以及寄存器存儲(chǔ)的數(shù)值范圍都是不同的。不過(guò),根據(jù)功能的不同,可以將寄存器大致劃分為八類。



從表中可以看出,寄存器中存儲(chǔ)的內(nèi)容既可以是指令也可以是數(shù)據(jù)。其中,數(shù)據(jù)分為“用于運(yùn)算的數(shù)值”和“表示內(nèi)存地址的數(shù)值”兩種。數(shù)據(jù)種類不同,存儲(chǔ)該數(shù)值的寄存器也不同。CPU中每個(gè)寄存器的功能都是不同的。用于運(yùn)算的數(shù)值放在累加寄存器中存儲(chǔ),表示內(nèi)存地址的數(shù)值則放在基址寄存器和變址寄存器中存儲(chǔ)。


對(duì)程序員來(lái)說(shuō),CPU就是具有各種功能的寄存器的集合體。其中,程序計(jì)數(shù)器、累加寄存器、標(biāo)志寄存器、指令寄存器和棧寄存器都只有一個(gè),其他的寄存器一般有多個(gè)。



懷舊半天,讓我們來(lái)看幾個(gè)簡(jiǎn)單的問(wèn)題,抗住。


1. 程序是什么?

2. 程序是由什么組成的?

3. 什么是機(jī)器語(yǔ)言?

4. 正在運(yùn)行的程序存儲(chǔ)在什么位置?

5. 什么是內(nèi)存地址?

6. 計(jì)算機(jī)的構(gòu)成元件中,負(fù)責(zé)程序的解釋和運(yùn)行的是哪個(gè)?


哈哈,下面是答案。


1. 指示計(jì)算機(jī)每一步動(dòng)作的一組指令。

一般所說(shuō)的程序,譬如運(yùn)動(dòng)會(huì)、音樂(lè)會(huì)的程序等,指的是“行事的先后次序”。計(jì)算機(jī)程序也是一樣的道理。


2. 程序是指令和數(shù)據(jù)的組合體。

例如,C語(yǔ)言“printf ("你好");”這個(gè)簡(jiǎn)單的程序中,printf是指令,"你好"是數(shù)據(jù)。


3. CPU可以直接識(shí)別并使用的語(yǔ)言。

CPU能夠直接識(shí)別和執(zhí)行的只有機(jī)器語(yǔ)言。使用C、Java等語(yǔ)言編寫(xiě)的程序,最后都會(huì)轉(zhuǎn)化成機(jī)器語(yǔ)言。


4. 內(nèi)存

硬盤和磁盤等媒介上保存的程序被復(fù)制到內(nèi)存后才能運(yùn)行。


5. 內(nèi)存中保存命令和數(shù)據(jù)的場(chǎng)所,通過(guò)地址來(lái)標(biāo)記和指定。地址由整數(shù)值表示。


6. CPU

計(jì)算機(jī)的構(gòu)成元件中,根據(jù)程序的指令來(lái)進(jìn)行數(shù)據(jù)運(yùn)算,并控制整個(gè)計(jì)算機(jī)的設(shè)備稱作CPU。大家熟知的奔騰(Pentium)就是CPU的一種。


相關(guān)圖書(shū)推薦



  • 日文版重印41次!

  • “計(jì)算機(jī)組成原理”圖解趣味版

  • 蹲馬桶就能看懂的編程基礎(chǔ)知識(shí)

《程序是怎樣跑起來(lái)的》從計(jì)算機(jī)的內(nèi)部結(jié)構(gòu)開(kāi)始講起,以圖配文的形式詳細(xì)講解了二進(jìn)制、內(nèi)存、數(shù)據(jù)壓縮、源文件和可執(zhí)行文件、操作系統(tǒng)和應(yīng)用程序的關(guān)系、匯編語(yǔ)言、硬件控制方法等內(nèi)容,目的是讓讀者了解從用戶雙擊程序圖標(biāo)到程序開(kāi)始運(yùn)行之間到底發(fā)生了什么。



程序的零點(diǎn):CPU到底是什么的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大城县| 徐闻县| 星座| 长阳| 河源市| 满洲里市| 河津市| 龙海市| 漯河市| 龙陵县| 宁晋县| 革吉县| 祁阳县| 故城县| 达尔| 济源市| 江永县| 平果县| 保德县| 临海市| 东乡| 和平县| 新和县| 库车县| 平安县| 保定市| 东莞市| 阳泉市| 滨州市| 漳州市| 诸城市| 寿阳县| 射洪县| 枣阳市| 酉阳| 信丰县| 房产| 黄冈市| 五家渠市| 江源县| 仙桃市|