官术网_书友最值得收藏!

  • 程序是怎樣跑起來的
  • (日)矢澤久雄
  • 761字
  • 2019-01-05 02:25:48

1.1 CPU的內(nèi)部結(jié)構(gòu)解析

圖1-1展示了程序運行的一般流程。可以說了解程序的運行流程是掌握程序運行機制的基礎(chǔ)和前提。詳細(xì)內(nèi)容會在接下來的章節(jié)中逐漸展開,這里主要是希望大家先有個大致印象。在這一流程中,CPUCPU是用來表示計算機內(nèi)部元件功能的術(shù)語。另一方面,奔騰等半導(dǎo)體芯片,通常稱為微處理器。不過,由于大部分計算機通常只有一個微處理器來承擔(dān)CPU的功能,所以本章不對此進(jìn)行區(qū)分,統(tǒng)一使用CPU這一稱呼。CPU由具有ON/OFF開關(guān)功能的晶體管構(gòu)成。另外,有的CPU在一個集成電路中集成了兩個CPU芯片,我們稱之為雙核(dual core)CPU。所負(fù)責(zé)的就是解釋和運行最終轉(zhuǎn)換成機器語言的程序內(nèi)容。

圖1-1 程序運行流程示例

CPU和內(nèi)存是由許多晶體管組成的電子部件,通常稱為IC (Integrated Circuit,集成電路)。從功能方面來看,如圖1-2所示,CPU的內(nèi)部由寄存器、控制器、運算器和時鐘四個部分構(gòu)成,各部分之間由電流信號相互連通。寄存器可用來暫存指令、數(shù)據(jù)等處理對象,可以將其看作是內(nèi)存的一種。根據(jù)種類的不同,一個CPU內(nèi)部會有20~100個寄存器。控制器負(fù)責(zé)把內(nèi)存上的指令、數(shù)據(jù)等讀入寄存器,并根據(jù)指令的執(zhí)行結(jié)果來控制整個計算機。運算器負(fù)責(zé)運算從內(nèi)存讀入寄存器的數(shù)據(jù)。時鐘負(fù)責(zé)發(fā)出CPU開始計時的時鐘信號時鐘信號英文叫作clock puzzle。Pentium 2 GHz表示時鐘信號的頻率為2 GHz(1 GHz=10億次/秒)。也就是說,時鐘信號的頻率越高,CPU的運行速度越快。。不過,也有些計算機的時鐘位于CPU的外部。

圖1-2 CPU的四個構(gòu)成部分

接下來簡單地解釋一下內(nèi)存。通常所說的內(nèi)存指的是計算機的主存儲器(main memory)主存位于計算機機體內(nèi)部,是負(fù)責(zé)存儲程序、數(shù)據(jù)等的裝置。主存通常使用DRAM(Dynamic Random Access Memory,動態(tài)隨機存取存儲器)芯片。DRAM可以對任何地址進(jìn)行數(shù)據(jù)的讀寫操作,但需要保持穩(wěn)定的電源供給并時常刷新(確保是最新數(shù)據(jù)),關(guān)機后內(nèi)容將自動清除。關(guān)于內(nèi)存IC,第4章有詳細(xì)介紹。,簡稱主存。主存通過控制芯片等與CPU相連,主要負(fù)責(zé)存儲指令和數(shù)據(jù)。主存由可讀寫的元素構(gòu)成,每個字節(jié)(1字節(jié)=8位)都帶有一個地址編號。CPU可以通過該地址讀取主存中的指令和數(shù)據(jù),當(dāng)然也可以寫入數(shù)據(jù)。但有一點需要注意,主存中存儲的指令和數(shù)據(jù)會隨著計算機的關(guān)機而自動清除。

了解了CPU的構(gòu)造后,大家對程序的運行機制的理解是不是也加深了一些?程序啟動后,根據(jù)時鐘信號,控制器會從內(nèi)存中讀取指令和數(shù)據(jù)。通過對這些指令加以解釋和運行,運算器就會對數(shù)據(jù)進(jìn)行運算,控制器根據(jù)該運算結(jié)果來控制計算機??吹健翱刂啤币辉~時,大家可能會將事情想象得過于復(fù)雜,其實所謂的控制就是指數(shù)據(jù)運算以外的處理(主要是數(shù)據(jù)輸入輸出的時機控制)。比如內(nèi)存和磁盤等媒介的輸入輸出、鍵盤和鼠標(biāo)的輸入、顯示器和打印機的輸出等,這些都是控制的內(nèi)容。

主站蜘蛛池模板: 佛坪县| 龙井市| 桑植县| 思茅市| 汤原县| 饶平县| 崇礼县| 营口市| 鹰潭市| 浦县| 连州市| 定襄县| 福清市| 江油市| 简阳市| 江孜县| 开鲁县| 杨浦区| 望城县| 饶平县| 太仆寺旗| 鹰潭市| 德化县| 繁峙县| 聂拉木县| 高密市| 义马市| 通河县| 翼城县| 彰化县| 万源市| 泗洪县| 黄陵县| 睢宁县| 贵阳市| 通榆县| 武冈市| 金阳县| 长丰县| 大英县| 汨罗市|