【正文】
器的軟件核心則是包圍的軟件層構(gòu)造,以此使得 Crusoe 能與x 86 硬件結(jié)構(gòu)的處理 器運(yùn)行指令相同。在指令執(zhí)行時(shí), Cruose 編譯 x86 指令塊一 次,就將編譯的結(jié)果保存到編譯緩沖區(qū)中,下一次 (已經(jīng)編譯 )的代碼執(zhí)行時(shí),系統(tǒng)跳過編譯這一 步,以全速直接運(yùn)行已編譯過的指令。硬件是組成計(jì)算機(jī)系統(tǒng)的物理實(shí)體,是看得見摸得著的部分。 CPU 負(fù)責(zé)指 令的執(zhí)行,存儲(chǔ)器負(fù)責(zé)存放信息 (類似大腦的記憶細(xì)胞 ),輸入 /輸出設(shè)備則負(fù)責(zé)信息的采集與輸出 (類似人的眼睛和手 )。軟件則是依賴于硬件執(zhí)行的程序或程序的集合。 一、 Von Neumann (馮 . 諾依曼 )體系結(jié)構(gòu) Von Neumann 體系結(jié)構(gòu)是以數(shù)學(xué)家 John Von Neumann 的名字命名的,他在20 世紀(jì) 40 年代參與設(shè)計(jì)了第一臺(tái)數(shù)字計(jì)算機(jī) ENIAC 。一臺(tái)計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入和輸出設(shè)備 5 大部分組成。采用存儲(chǔ)程序工作原理,實(shí)現(xiàn)了自動(dòng)連續(xù)運(yùn)算。 Von Neumann 體系結(jié)構(gòu)存在的一個(gè)突出問題就是,外部數(shù)據(jù)存取速度和 CPU 運(yùn)算速度不平衡,不過可以通過在一個(gè)系統(tǒng)中使用多個(gè) CPU 或采用多進(jìn)程技術(shù)等方法來解決。不同的 CPU 其內(nèi)部結(jié)構(gòu)不完全相同,一個(gè)典型的 CPU 由運(yùn)算器、寄存器和控制器組成。最新的 CPU 除包括這些基本功能外,還集成了高速 Cache(緩存 )等部件。主存儲(chǔ)器通常是劃分為字 (典型的是 32 位或 64 位 )或字節(jié) (每字含 4 或8 字節(jié) )的線性序列。一個(gè)寄存器的內(nèi)容可能表示 數(shù)據(jù)或主存儲(chǔ)器中數(shù)據(jù)或下一條指令的地址。外部文件存儲(chǔ)器包括磁盤、磁帶或日益普及的 CDROM 等,通常以記錄劃分,每個(gè)記錄是位或字節(jié)的序列。具體產(chǎn)品如鍵盤、鼠標(biāo)和掃描儀等。具體產(chǎn)品如打印機(jī)、顯示器和音箱等??偩€就像一條公共通路,將所有的設(shè)備連接起來,達(dá)到相互通信的目的??偩€又分用于傳輸數(shù)據(jù)的數(shù)據(jù)總線 (Data Bus)、傳輸?shù)刂沸畔⒌牡刂房偩€ (Address Bus)和用于傳輸控制信號(hào)、時(shí)序信號(hào)和狀態(tài)信息的控制總線 (Control Bus)。一個(gè)典型的操作集包 括與內(nèi)部數(shù)據(jù)類型相關(guān)的基本算術(shù)指令 (即實(shí)數(shù)和整數(shù)加法、減法、乘法和除法等 )、測(cè)試數(shù)據(jù)項(xiàng)性質(zhì) (如是否為零,是正數(shù)或負(fù)數(shù)等 )的指令 、對(duì)數(shù)據(jù)項(xiàng)的某一部分進(jìn)行存取和修改 (如在一個(gè)字中存取一個(gè)字符 ,在一條指令中存取操作數(shù)的地址等 )的指令、控制輸入 /輸出設(shè)備的指令及順序控制指令 (如無條件跳轉(zhuǎn)等 )。為了將控制權(quán)轉(zhuǎn)到程序某處,程序員可使用一些操作修改該寄存器的內(nèi)容。而對(duì)于每次循環(huán) ,解釋器都會(huì)從程序地址寄存器取得下一條指令的地址 (并增量寄存器的值為下一條指令的地址 ),從存儲(chǔ)器取得指定的指令 ,對(duì)指令進(jìn)行解碼,分解為操作碼和一組操作數(shù)并取得操作數(shù) (如果必要的話 ),使用操作數(shù)作為參數(shù)調(diào)用指定的操作。在執(zhí)行基本操作后,解釋器將重復(fù)上述循環(huán)。一般操作數(shù)可以被存放 在主存儲(chǔ)器或寄存器中。同樣道理,運(yùn)算的結(jié)果必須被存放在某一地址。一般的方式是,對(duì)每個(gè)存儲(chǔ)器地址用一個(gè)整數(shù)標(biāo)記,同時(shí)提供一個(gè)機(jī)制對(duì)于給定的地址存取該地址的內(nèi)容 (或?qū)⒁粋€(gè)新值存入給定的地址 )。 九、存儲(chǔ)管理 設(shè)計(jì)電腦的一個(gè)原則是保證能方便地操作計(jì)算機(jī)包含的所有設(shè)備 (如內(nèi)存、CPU 和外部設(shè)備 )。為了對(duì)速度進(jìn)行平 衡,需要采用不同的存取管理機(jī)制。 盡管 CPU 必須等待數(shù)據(jù),但無需額外的硬件。為了允許多個(gè)程序在同一時(shí)刻能共存于內(nèi)存中,可直接在硬件中使用頁或動(dòng)態(tài)程序分配機(jī)制。如果出現(xiàn)了頁錯(cuò)誤 (即正確的地址不在內(nèi)存中 ),則通知操作系統(tǒng)從外部存儲(chǔ)器讀入相應(yīng)的頁。緩存是位于主存和中央處理器間的一個(gè)較小的高速數(shù)據(jù)存儲(chǔ)器,大小一般為 1 ~ 256KB,包含中央處理器最近使用的數(shù)據(jù)和指令 ,當(dāng)然也包括了將來最有可能被使用到的程序代碼或數(shù)據(jù)。如果指定的地址不在主存中,則讀取包含該地址的一段數(shù)據(jù)塊,這些相近地址中的數(shù)據(jù) 有可能馬上會(huì)被使用。 十、操作環(huán)境 計(jì)算機(jī)的操作環(huán)境包括外圍存儲(chǔ)器和輸入 /輸出設(shè)備。操作環(huán)境按照不同的存取速率分為不同類別,如高速存儲(chǔ)器 (外存 )、中速存儲(chǔ)器 ( 磁盤和CDROM)、低速存儲(chǔ)器 (磁帶 )和輸入輸出設(shè)備 (閱讀器、打印機(jī)、數(shù)據(jù)通信線 )等。本章介紹的只是其中的 “Von Neumann 體系結(jié)構(gòu) ”,當(dāng)然還有其他的體系結(jié)構(gòu)。 因此對(duì)計(jì)算機(jī)的了解還應(yīng)包括對(duì)它的動(dòng)態(tài)行為,即程序執(zhí)行過程的了解。 描述計(jì)算機(jī)動(dòng)態(tài)行為的一個(gè)簡(jiǎn)便方法是使用“計(jì)算機(jī)狀態(tài)”。這些存儲(chǔ)器的初始內(nèi)容定義了計(jì)算機(jī)的初始狀態(tài),每一步程序的執(zhí)行都是通過修改存儲(chǔ)器的內(nèi)容將當(dāng)前的狀態(tài)轉(zhuǎn)換為一個(gè)新的狀態(tài),該過程稱為狀態(tài)轉(zhuǎn)換。程序的執(zhí)行可以看成是由計(jì)算機(jī)狀態(tài)序列的轉(zhuǎn)換,如果能預(yù)測(cè)狀態(tài)的轉(zhuǎn)換序列,就可以說理解了計(jì)算機(jī)的動(dòng)態(tài)行為。它負(fù)責(zé)整個(gè)系統(tǒng)指令的執(zhí)行、數(shù)學(xué)與邏輯運(yùn)算、數(shù)據(jù)存儲(chǔ)、傳送以 及輸入輸出的控制。 C PU 既然關(guān)系著指令的執(zhí)行和數(shù)據(jù)的處理,當(dāng)然也關(guān)系著指令和數(shù)據(jù)處理速度的快慢,因而 C PU 有不同的執(zhí)行功能,不同的處理速度。 硬件工程師培訓(xùn)教程(九) 第三章 主板綜述 主板 (Mother Board,也叫 Main Board 或 System Board)是一臺(tái) PC 的主體所在,主板完成電腦系統(tǒng)的管理和協(xié)調(diào),支持各種 CPU 、功能卡和各總線接口的正常運(yùn)行。平時(shí)我們所說的 386 、 486 和 Pentium 電腦等,其判斷的標(biāo)準(zhǔn)就是機(jī)器所用的主板和 CPU 。 第一節(jié) 主板的組成 在介紹主板的性能和特點(diǎn)之前,有必要先簡(jiǎn)單介紹一下主板的各主要組成部分。 插槽 :CPU 插槽主要分 Socket 和 Slot 兩種。Intel Pentium Ⅲ Coppermine 、 Celeron Ⅱ (這不是 Intel 的官方命名,但為了和以前的兩款 Celeron 相區(qū)別,我們暫時(shí)這樣稱呼 )、 Cyrix Ⅲ 等專用的 Socket 370。 Slot 插槽包括 Intel Pentium Ⅱ 和 Pentium Ⅲ 專用的 Slot 1 插槽和 AMD Athlon 使 用的 Slot A 插槽。北橋是 CPU 與外部設(shè)備之間的聯(lián)系紐帶, AGP 、 DRAM 、 PCI 插槽和南橋等設(shè)備通過不同的總線與它相連。南橋 (South Bridge)與北橋共同組成了芯片組,主要連接 ISA 設(shè)備和 I/O 設(shè)備。 Intel 的 i810 和 i815 系列芯片組不再以南、北橋劃分,而是由 GMCH(Graphicsamp。 目前常見的芯片組有供 Intel Pentium Ⅱ /Ⅲ 、 Celeron 使用的 VIA 693A 、 VIA 694X 、 Intel 440BX 、 Intel i810 、 Intel i815/i815E。供 AMD Thunderbird 和 Duron 使用的 KT133 、 KT133A。 :在電源接口和 CPU 插槽的周圍有一些整齊排列的大電容和大功率的穩(wěn)壓管,再加上濾波線圈和穩(wěn)壓控制集成電路,共同組成了主板的電源部分。 插槽 :AGP(Accelerated Graphics Port)即加速圖形端口,是主板上靠近CPU 插座的褐色插槽,它通過專用的 AGP 總線直接與北橋芯片相連,所以 AGP 顯卡的傳輸速率大大超過與其他設(shè)備共享總線的 PCI 顯卡。AGP 1x 能提供 266MB/s 的帶寬,而 AGP 2x 可達(dá)到 533MB/s 的帶寬,最新的 AGP 4x 高達(dá) 1066MB/s 。不過也不要小看它,這可是 486 時(shí)代紅極一時(shí)的產(chǎn)品,為計(jì)算機(jī)的發(fā)揚(yáng)光大立下了汗馬功勞。99 規(guī)范中將此插槽徹底取消。 PCI 插槽的工作頻率為 33MHz(也有個(gè)別工作在 66MHz)下。 :按所接內(nèi)存條劃分,內(nèi)存插槽包括 EDO 、 SDRAM 、 RDRAM 和DDR 等。目前常用的是 SDRAM 插槽,有 168 個(gè)引腳。 和軟驅(qū)接口 :IDE 接口用來連接硬盤和光驅(qū),軟驅(qū)接口則用來連接軟盤驅(qū)動(dòng)器。 硬件工程師培訓(xùn)教 程(六) 第三節(jié) CPU 的相關(guān)指標(biāo) 在深入了解了 C PU 的架構(gòu)和生產(chǎn)過程后,接下來我們看看 C PU 的工作原理和相關(guān)指標(biāo)。了解了這樣一種工作原理, 性能指標(biāo)對(duì) C PU 的影響自然也就顯而易見了。一 般說來,主頻越高,一個(gè)時(shí)鐘周期里完成的指令數(shù)也越多,當(dāng)然 C PU 的速度也就越快了。外頻是系統(tǒng)總線的工作頻率。三者有十分密切的關(guān)系 :主頻 =外頻 倍頻。 CPU 處理的數(shù)據(jù)都是由主存儲(chǔ)器提供的,而主 存儲(chǔ)器也就是我們平常所說的內(nèi)存了。由于內(nèi)存和 CPU 之間的運(yùn)行速度或多或少會(huì)有差異,因此便出現(xiàn)了二級(jí)緩存, 來協(xié)調(diào)兩者之間的差異。 三、擴(kuò)展總線速 度 擴(kuò)展總線速度的英文全稱是 E x p a n s i o n B u s S p e ed 。平時(shí)用戶打開電腦機(jī)箱時(shí),總可以看見一些插槽般的東西,這些東西又叫做擴(kuò)展 槽,上面可以插顯卡、聲卡之類的功能模塊,而擴(kuò)展總線就是 C PU 用以聯(lián)系這些設(shè)備的橋梁。早期CPU(286 ~ 486 時(shí)代 )的 工作電壓一般為 5V,那是因?yàn)楫?dāng)時(shí)的制造工藝 相對(duì)落后,以至于 C PU 的發(fā)熱量太大,弄得壽命減短。 五、地址總線寬度 應(yīng)當(dāng)說地址總線寬度決定了 C PU 可以訪問的物理地址空間,換句話說就是C PU 到底能夠使用多大 容量的內(nèi)存。 六、數(shù)據(jù)總線寬度 數(shù)據(jù)總線負(fù)責(zé)整個(gè)系 統(tǒng)的數(shù)據(jù)流量的大小,而數(shù)據(jù)總線寬度則決定了CPU 與二級(jí)高速緩存、內(nèi)存 以及輸入 /輸出設(shè)備之間一次數(shù)據(jù)傳輸?shù)男畔⒘俊?4 86 以后的 C PU 一般都內(nèi)置了數(shù)學(xué) 協(xié)處理器,功能也不再局限于增強(qiáng)浮點(diǎn)運(yùn)算,含有內(nèi)置數(shù) 學(xué)協(xié)處理器的 C PU,可以加快特定類型的 數(shù)值計(jì)算,某些需要進(jìn)行復(fù)雜計(jì)算的軟件系統(tǒng),如高版本的A u t o C AD 就需要數(shù)學(xué)協(xié)處理器支持。這在 486 或者以前的 CPU 上是很難想象的,只有 P e n t i um 級(jí)以上 C PU 才具有這種超標(biāo)量結(jié)構(gòu)。 九、 L1 高速緩存 L1 高速緩存也就是大家經(jīng)常說到的 一級(jí)高速緩存。內(nèi)置的 L1 高速緩存的容量和結(jié)構(gòu)對(duì) C PU 的性能影響較大,容量越大,性 能也相對(duì)會(huì)提高不少,這也正是一些公司力爭(zhēng)加大 L1 高速緩存容量的原因。 十、采用回寫 (Write Back)結(jié)構(gòu)的高速緩存 采用回寫結(jié)構(gòu)的高速緩存對(duì)讀和寫操作均有效,速度較快 。 十一、動(dòng)態(tài)處理 動(dòng)態(tài)處理是應(yīng)用在高能奔騰處理器中的新技術(shù),創(chuàng)造性地把 3 項(xiàng)專為提高處理器對(duì)數(shù)據(jù)的操作效 率而設(shè)計(jì)的技術(shù)融合在一起。動(dòng)態(tài)處理并 不是簡(jiǎn)單執(zhí)行一串指令,而是通過操作數(shù)據(jù)來提高處理器的工作效率。它預(yù)測(cè)下一條指令在內(nèi)存中位置的精確度可以達(dá)到驚人的 9 0%以上。這個(gè)技術(shù)可加速向處理器傳送任務(wù)。處理器讀取經(jīng)過解碼的軟件指令,判 斷該指令能否處理或是否需與其他指令一道處理。 通過提前判讀并執(zhí)行有可能需要的程序指令的方式提高執(zhí)行速度。這樣可使 P e n t i u m Ⅱ 處理器超級(jí)處理能力得到充分的發(fā) 揮, 從而提升軟件性能。一 旦其最終狀態(tài)能被確定,指令便可返回到其正常順序并保持永久的機(jī)器狀態(tài)。 一、 M MX 指令集 MMX(Multi Media eXtension, 多媒體擴(kuò)展指令集 )指令集是 Intel 公司于1 9 96 年推出的一項(xiàng)多 媒體指令增強(qiáng)技術(shù)。M MX 的益處在于,當(dāng)時(shí)存在的操作系統(tǒng)不必為此而做出任何修改便可以輕松地執(zhí)行 M MX 程序。 二、 S SE 指令集 SSE(Streaming SIMD Extensions,單指令多數(shù)據(jù)流擴(kuò)展 )指令集是 Intel 在Pentium Ⅲ 處理器中率 先推出的。究其背景,原來 “K NI ”指令集是 I n t el 公司最 早為其下一代 芯片命名的指令集名稱,而所謂的 “M M X2 ”則完全是硬件評(píng)論家們和媒體憑感覺和印象對(duì) “KNI ”的 評(píng)價(jià), I n t el 公司從未正式發(fā)布過關(guān)于M M X2 的消息。 S SE 指令集包括了 70 條指令, 其中包含提高 3D 圖形運(yùn)算效率的 50 條 SIMD(單指令多數(shù)據(jù)技術(shù) )浮點(diǎn)運(yùn)算指令、 12 條 MMX 整數(shù)運(yùn)算增強(qiáng)指令、 8 條優(yōu)化內(nèi)存中連續(xù)數(shù)據(jù)塊傳輸指令。 S SE 指令與 3 D N o w!指令彼此互不兼容,但 SSE 包含了 3 D N o w!技術(shù)的絕大 部分功能,只是 實(shí)現(xiàn)的方法不同。 三、 3D Now !指令集 由 AMD 公司提出的 3DNow!指令集應(yīng)該說出現(xiàn)在 SSE 指令集之前,并被AMD 廣泛應(yīng)用于其 K62 、 K6 3 以及 A t h l o n (K 7)處理器上。 與 Intel 公司的 M MX 技術(shù)側(cè)重于整數(shù)運(yùn)算有所不同, 3DNow!指令集主要針對(duì)三維建模、坐標(biāo)變換 和效果渲染等三維應(yīng)用場(chǎng)合,在軟件的配合下,可以大幅度提高 3D 處理性能。早期的 C PU 處理器采用的大 多是 微米制造工藝。 從P Ⅲ C o p p e r m i n e(銅礦 )處理器開始,采用 微米制造工藝的 C PU 開始出現(xiàn)。晶體管越做越小,能耗自然也就隨之降低, C PU 也可以更省