第一章基礎知識._第1頁
第一章基礎知識._第2頁
第一章基礎知識._第3頁
第一章基礎知識._第4頁
第一章基礎知識._第5頁
已閱讀5頁,還剩14頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一章 概述程序設計語言是開發計算機各種軟件的工具, 它經歷了由低級語言到匯編語言再到高級 語言的的發展過程。 其中, 匯編語言是一種能夠充分利用計算機硬件特性的低級語言, 它與 計算機的結構有著非常緊密的聯系。 雖然高級語言能夠實現絕大部分機器語言可以實現的功 能,但匯編語言還是經常被用來改進計算機軟件和硬件控制系統的工作效率以及用于高級語 言的程序調試, 為計算機系統提供高速、 高效的代碼, 所以學習和掌握匯編語言程序設計的 內部細節對于計算機的學習是非常有益的。1.1 匯編語言概述自從第一臺計算機 ENIAC 于 1946 年誕生以來,計算機的發展經歷了電子管、晶體管、 集成電路和超大規

2、模集成電路四代, 目前正朝著智能化的第五代計算機發展。 計算機的應用 已滲透到社會和生活的各個領域,人們與計算機進行交流的“語言”也經歷了機器語言、匯 編語言、高級語言的三個重要階段的發展,正朝著“自然語言”的方向發展。1.1.1 機器語言機器語言是一種計算機能直接識別和執行的用二進制代碼表示的機器指令的集合。 它是 計算機的設計者通過計算機的硬件結構賦予計算機的操作功能。 機器語言具有直接執行和速 度快等特點。 不同型號的計算機其機器語言是不相通的, 按照某種型號計算機的機器指令系 統編制的程序,不能在另一種型號的計算機上執行。用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和

3、代碼的涵義。 手工編寫程序時, 程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出, 還得記住 編程過程中每步所使用的工作單元處在何種狀態。 因此,使用機器語言編寫程序是一件十分 繁瑣的工作, 花費的時間往往是程序實際運行時間的幾十倍或幾百倍。 而且編出的程序全是 些 0 和 1 的指令代碼,直觀性差,還容易出錯?,F在,除了計算機生產廠家的專業人員外, 絕大多數程序員已經不再去學習機器語言了。1.1.2 匯編語言匯編語言是用助記符表示指令功能的計算機語言。 用匯編語言編寫的程序被稱為匯編語 言源程序, 匯編語言源程序無法被計算機直接執行, 還必須用專門的系統程序將它翻譯成機 器代碼,計算機

4、才能識別并執行,而這一翻譯過程被稱為匯編。與機器語言相比, 匯編語言具有以下的幾個特點: 第一, 它使用符號來表示操作碼和地 址碼,這種符號便于記憶,稱之為記憶碼。第二,匯編過程中自動處理存儲單元的分配,毋 需程序員做存儲分配工作。第三,程序員可以直接書寫十進制數。匯編語言實現了對機器語言的抽象。 首先表現在將機器語言的每一條指令符號化, 指令 碼代之以記憶符號, 地址碼代之以符號地址, 使得其含義顯現在符號上而不再隱藏在編碼中, 可讓人望 "文 "生義。 其次表現在匯編語言擺脫了具體計算機的限制,可在不同指令集的計算機上運行,只要該計算機配上匯編程序即可。1.1.3 高級

5、語言雖然匯編語言用符號替代機器指令, 從一定程度上簡化了程序的編寫、 閱讀和調試, 但 是沒有經過匯編語言訓練的程序設計人員, 編寫匯編語言程序還是十分困難的, 不利于計算 機的推廣與應用。于是, 人們嘗試設計一種脫離具體的計算機,面向過程、 更符合人類思維 和更容易被人們所理解和學習的語言,從而演化出高級語言。 20 世紀 50 年代末,第一個用 于科學計算的高級語言 FORTRAN 語言誕生了, 隨后各種高級語言如雨后春筍般涌現出 來。目前,世界上使用的高級語言多達數百種, 其中具有代表性的高級語言有 C語言、C+、 Visual Basic 、 Delphi 等常用高級語言。由于計算機只

6、能識別由 0、 1 代碼組成的機器語言程序,所以各種高級語言的源程序也 必須經過相應的編譯程序或解釋程序翻譯成目標程序,才能被計算機所識別并執行。1.1.4 三種語言的特點比較機器語言是由 0、 1 代碼組成的面向機器的語言。機器語言程序的編寫、閱讀和調試都 十分困難,但它是計算機可直接識別并執行的語言程序,內存占用少,執行的速度快。匯編語言是一種用符號替代機器指令的低級語言。 與機器語言相比, 匯編語言易于理解 和記憶,匯編語言程序也易于編寫、 閱讀與調試。 由于其語句與機器指令語句一一對應,所 以具有內存占用少、 執行速度快等特點, 并且能直接控制計算機的硬件設備, 充分發揮計算 機的硬件

7、功能。 從本質上講, 匯編語言仍然是面向機器的語言, 這就要求程序設計者要熟悉 計算機的內部結構, 掌握計算機的指令系統以及對應的偽指令, 這就給學習匯編語言帶來了 困難。 另外, 匯編語言的指令語句與程序設計者所要完成的任務有很大的差別。由于匯編語言的指令語句只能實現簡單的操作,如寄存器數據的移位、寄存器與內存之間數據的傳送、 數據的算術邏輯運算等,遠非程序設計者所要完成的任務。例如,要做1+2 的操作并將結果在屏幕上顯示出來,必須使用一系列匯編指令并進行 DOS 功能調用,而高級語言只需要 一條指令即可完成該操作。高級語言是一種類似于自然語言和數學描述語言的程序設計語言。其主要特點是: 面

8、向過程、脫離具體的機器。高級語言易于編寫、閱讀和調試,且可移植性好。但是高級語言源 程序必須經過編譯后才能翻譯成計算機可識別、 執行的目標程序, 所以不能產生有效的機器 語言代碼,致使其占用內存空間大,程序運行速度較慢。1.2 計算機中數據和字符的表示計算機只能識別 0、 1 代碼,進入計算機的任何信息都必須轉換成 0、 1 代碼。 本節說明 計算機如何利用 0、 1 代碼表示現實當中的各種數值、字符等內容。1.2.1 數制在匯編語言設計中,經常要用到的數制有二進制、十進制以及十六進制。1. 二進制計算機中為便于存儲及計算的物理實現,采用二進制。二進制數的基數為 0 和 1,各個 數值的權為

9、2i-1(i 為數值所在位置,如小數點左邊第一位為個位,i=1 ,小數點右邊為 0 位,i=0 ),并且二進制遵循“逢二進一、退一當二”的運算規則。二進制數 anan-i ai.bobi bm可表示為:anx 2(n-1)+an-i x 2(n-2)+ a/ 2(1-1)+b°x 2(0-1兄/ 2(-1-1) + 亦 x 2(-m-1)其中,ai, bj非0即1。2. 十進制在人們的生活中, 已經習慣使用十進制。 十進制的基數有十個, 即 09 十個數, 各個數 值的權為10 i-1 (i為數值所在位置),并且十進制遵循“逢十進一、退一當十”的運算規則。十進制數anan-1 a1.

10、bob1 bm可表示為:anx 10(n-1)+an-1X 10(n-2)+ - a1 x 1O(1-1)+boX 10(0-1)+b1X 10(-1-1) + - bmX 10(-m-1)其中,ai, bj為09中任意的一個數。3. 十六進制數由于二進制數書寫較長、 容易出錯, 因此常用易于與二進制數轉換的十六進制數來描述 二進制。十六進制數的基數有16個,即09、AF,各個數值的權為16i-1 (i為數值所在位置),并且遵循“逢十六進一,退一當十六”的運算規則。十六進制數anan-1 a1.b°b1 bm可表示為:anx 16(n-1)+an-1x 16(n-2)+ a1 x 1

11、6(1-1)+b°x 16(0-1)+b1x 16(-1-1) + bmX 16(-m-1)其中,ai, bj為09或AF中的任意一個數。注意:匯編語言中通常用B或b結尾表示該數據為二進制數;用字母 H或h結尾表示該數據為十六進制數;用字母 D 或 d 結尾表示該數據為十進制數。如果數據結尾沒有跟任 何字符,則默認該數據為十進制數。如 10101100B、 1223D、 1100、 0ABCDH ,分別為二進 制、十進制、十進制和十六進制數。其中,十六進制數如果數值的開頭為AF,則必須在前面加 0,否則匯編程序認為該數值為一個標號,從而會導致在編譯過程中出錯。4. 不同進制數之間的轉

12、換不同進制之間的轉換主要有:二進制或十六進制轉換為十進制、十進制轉換成二進制、 二進制轉換為十六進制以及十六進制轉換為二進制。二進制或十六進制轉換為十進制口訣: 將各個數值乘以其相應的權, 最后相加所得到的 和即為等值的十進制數。十進制轉二進制口訣:十進制整數部分不斷除以 2,取余,最后從下往上;小數部分不 斷乘以 2,取整,最后從上往下;小數點位置不變。二進制轉十六進制口訣:從小數點向兩邊分,每四位一組,左邊不夠四位在前面補0,右邊不夠四位在后面補 0,最后將每組二進制數轉換為相應的十六進制數值即可,小數點位 置不變。十六進制轉二進制口訣: 每位十六進制數值轉換為四位相應的二進制數, 小數點

13、位置不 變。說明: 十進制數轉換為十六進制數可以先將十進制數轉換為二進制數,再將二進制數轉換為十六進制數。例 1-1 將 126.25D 轉換為二進制。解:根據十進制轉換為二進制數口訣,將整數部分 126不斷除 2,取余數;小數部分不 斷乘 2,取整。運算過程如下:2 2 2 2 2 2從下往上從上往下整數部分轉換結果為 1111110B,小數部分轉換結果 0.01B,所以126.25D=1111110.01B。 例1-2將0ABCD.3678H轉換為二進制。解:十六進制轉換成二進制只需要將十六進制的每個數值轉換為對應的4位二進制數值即可。轉換過程如下:1010 1011 11001101.0

14、011 0110 0111 1000不同進制之間的數值對應關系如表1-1所示。表1-1不同進制數值對應關系表十進制二進制十八進制BCD碼0000000000100011000120010200103001130011401004010050101501016011060110701117011181000810009100191001101010A111011B121100C131101D141110E151111F1.2.2計算機中的數據單位計算機中用到的信息單位主要有位、字節、字、雙字、千字節、兆字節和千兆字節等, 它們一般用于表示計算機內存或外存的存儲容量。1.位(bit)位是計算機中最

15、小的信息單位,用于表示一位二進制數的兩種狀態“0”和“ 1 ”。例如開關的“通”與“斷”,電平的“高”與“低”等狀態,均可以方便地使用0/1代碼進行表示。2. 字節(byte)字節是計算機的基本存儲單位,一個字節為8位二進制數,計算機中存儲單元的地址一 般以字節為基本單位進行編址。3. 字(word)兩個字節稱為一個字,即 16位二進制數組合成一個字。4. 雙字(double word)兩個字稱為一個雙字,即 32位二進制數組合成一個雙字。說明:字和字長是有一定的區別。計算機中的字是一種信息單位,是不變的量,即兩個字節為一個字。而字長指的是 CPU 次能夠處理的數據長度,是一種可變化的量。例如

16、8086的字長為16位,80386的字長為32位,也就是說 8086CPU 一次能夠處理的數據為 16位, 80386CPU 一次處理的數據長度達到了32位,但是它們的字均為 16位。隨著計算機技術的發展,處理信息量的增加以及存儲容量的加大,計算機中還采用了千字節(KB )、兆字節(MB )、千兆字節(GB)等單位。它們的關系是:1KB=1024B101MB=2KB=1048576B101GB=2 MB=1073741824B1.2.3編碼在計算機中,各種字符只能用若干位二進制碼的組合表示,這就稱為二進制編碼。由于字節為計算機的基本存儲單位,所以常用8個二進制位表達一個字符。1. BCD 碼(

17、Binary Coded Decimal)位十進制數用四位二進制編碼來表示,這就是所謂的“二進制編碼的十進制數”。常用的是8421BCD碼,它用4位二進制編碼的00001001分別來代表十進制的 09這十個基 數,見表1-1。注意:BCD碼共有10個編碼,分別對應十進制的10個基數09,所以10101111這6個二進制編碼就不屬于BCD碼。BCD碼用于表示十進制數是比較直觀的,并且只要熟悉了BCD碼的10個編碼,可以很容易實現十進制數與BCD碼之間的轉換。例1-3將十進制數7865.32轉換為BCD碼。解:十進制轉換成 BCD碼只需要根據表1-1將相應的十進制基數轉換成對應的BCD碼即可。轉換

18、過程如下:7865,32;I ; I ;0111 1000 0110 0101 . 0011 00102. ASCII 碼(American Standard Code for Information Interchange )字母和各種字符也必須按特定的規則用二進制編碼才能在計算機中表示。編碼方式有多種,其中最常用的一種編碼是ASCII碼(美國標準信息交換碼),見表1-2。標準ASCII碼用七位二進制編碼,故可表示128個字符。微型機存儲單位為8位,表達ASCII碼時最高D7位為0;通信時,D7位作為奇偶校驗位。ASCII碼表中的前32個和最后1個編碼是不可顯示的控制字符,用于表示某種操作。

19、例如:ODH表示回車CR (Carriage Return),控制光標時就是使光標回到本行首位;0AH表示換行LF(Line Feed),使光標進入下一行,但列的位置不變;另外07H表示響鈴BEL( Bell )。表1-2標準ASCII碼表ASCII 碼字符ASCII 碼字符ASCII 碼字符ASCII 碼字符00HNUL20H空格40H60H、01HSOH21H41HA61Ha02HSTX22HII42HB62Hb03HETX23H#43HC63Hc04HEOT24H$44HD64Hd05HENQ25H%45HE65He06HACK26H&46HF66Hf07HBEL27H'

20、47HG67Hg08HBS28H(48HH68Hh09HHT29H)49HI69Hi0AHLF2AH*4AHJ6AHj0BHVT2BH+4BHK6BHk0CHFF2CH4CHL6CHl0DHCR2DH-4DHM6DHm0EHSO2EH4EHN6EHn0FHSI2FH/4FHO6FHo10HDLE30H050HP70HP11HDC131H151HQ71Hq12HDC232H252HR72Hr13HDC333H353HS73Hs14HDC434H454HT74Ht15HNAK35H555HU75Hu16HSYN36H656HV76Hv17HETB37H757HW77Hw18HCAN38H858HX

21、78Hx19HEM39H959HY79Hy1AHSUB3AH5AHZ7AHz1BHESC3BH5BH7BH1CHFS3CH<5CH7CH|1DHGS3DH=5DH7DH1EHRS3EH>5EHA7EH1FHUS3FH?5FH-7FHDelASCII碼表中,從20H以后的94個編碼是可顯示和打印的字符,其中包括數值(09)、英文字母(AZ、az)及其它的標點符號等。從表1-2可以看出,數值 09的ASCII碼為3039H,大寫字母 AZ的ASCII碼為41H5AH,而小寫字母 az則是從61H7AH。大小 寫字母之間ASCII碼的差值為20H。如果要將大寫字母轉換為小寫字母,只需要在

22、大寫字 母的ASCII碼基礎上加上 20H就可以了;反之,小寫字母轉換為大寫字母則在小寫字母的ASCII碼基礎上減 20H即可。注意:ASCII碼中的20H表示空格符號,盡管它顯示空白,但也要占據一個字符的位置。下面給出控制字符的簡單含義。NUL (null) :空字符STX (start of text) :正文開始EOT (end of transmission) :傳輸結束ACK (acknowledge) : 收到通知BS (backspace):退格LF (NL line feed, new line) :換行鍵FF (NP form feed, new page) :換頁鍵SO (

23、shift out) :不用切換DLE (data link escape) : 數據鏈路轉義DC2 (device control 2) :設備控制 2DC4 (device control 4) :設備控制 4SYN (synchronous idle) :同步空閑CAN (cancel) :取消SUB (substitute) :替補FS (file separator) :文件分割符RS (record separator):記錄分離符另外,在 PC 機中往往還采用擴展的SOH (start of handing) :標題開始ETX (end of text) :正文結束ENQ (en

24、quiry) :請求BEL (bell) : 響鈴HT (horizontal tab) :水平制表符VT (vertical tab) :垂直制表符CR (carriage return) :回車鍵SI (shift in) :啟用切換DC1 (device control 1) :設備控制 1DC3 (device control 3) :設備控制 3NAK (negative acknowledge) :拒絕接收ETB (end of trans. block) :傳輸塊結束EM (end of medium) :介質中斷ESC (escape):溢出GS (group separato

25、r): 分組符US (unit separator) :單元分隔符ASCII 碼,主要表示各種制表用的符號等。擴展ASCII 碼最高位 D7 為 1,以與標準 ASCII 碼區別。1.2.4 有符號數的表示法1. 原碼為了在計算機中表示有符號數, 正號用 0 表示,負號用 1 表示,數值部分不變。計算機 存儲時, 用最高有效位表示符號, 其他位表示數值的大小, 這種表示方式就稱為原碼表示法。例 1-4 有符號數的原碼表示法。解:將數值轉換為相應的二進制數,最高位表示符號。X=+105= 01101001BX=-105=11101001BX= +0 =00000000B兇原=0 1101001B

26、X 原=1 1101001BX 原=0 0000000BX= -0 = 10000000B 其中, 在用 8 位表示時,X 原=1 0000000B16 位表示時,最高位為符號位,后面 7 位表示數值大小;若用 最高位為符號位,后面 15 位表示數值大小。原碼表示法的特點是簡便、 直觀,人們可以非常方便地計算出其表示的數在十進制中究 竟是多少,它的不足之處是 0 的表示有兩種,即 +0 和-0 ,這對計算機來說可不是件好事。 比如兩個原碼表示的數據相加, 首先需要判斷兩數的符號位, 以決定到底是做加法還是做減 法,然后用它們的絕對值進行計算; 還需要判斷計算結果的正負情況, 最后在最高位上填上

27、 正確的符號。 這種做法使數據之間的運算非常麻煩, 所以人們又在計算機中采用了反碼和補 碼。2. 反碼 反碼是在原碼的基礎上,為簡化運算而發展出來的另一種表示帶符號二進制數的方法, 具體表示方法是:( 1 )確定表示數據的二進制位數,通常是8位、16位或 32 位;(2) 正數的反碼與原碼相同,最高位用(3) 負數的反碼則將最高位(符號位)置 變1,1變0。例1-5有符號數的反碼表示法。解:首先將數據轉換為原碼,如果符號位為 則對原碼數值部分取反。0表示,其余位為數值位;1,數值位在原碼的基礎上依次取反,即00,則反碼與原碼相同,如果符號位為1,X=+105= 01101001BX=-105=

28、11101001BX= +0=00000000B,X反=0 1101001BX反=1 0010110BX反=0 0000000BX=- 0= 10000000B,3.補碼X反=1 1111111B補碼是在反碼的基礎上做了進一步改進,在解決了+0和-0的表示問題上,并且數據之間的運算也無需考慮符號的問題。具體表示方法是:(1) 確定表示數據的二進制位數,通常是8位、16位或32位;(2) 正數的補碼與原碼表示方法相同;(3) 負數的補碼則在反碼的基礎上,再在最低有效位加1。例1-6有符號數的補碼表示法。解:在原碼的基礎上,對負數的數值部分取反后再加1。X補=0 1101001BX補=1 0010

29、111BX補=0 0000000BX=+105=01101001B ,X=- 105=01101001B,X=+0=00000000B ,X=-0= 10000000B,兇補=0 0000000B一般來說,n位補碼的表示數據范圍為:_2(n-1)< N <2(n_1)-1注意:負數的補碼表示法中,如果 0越多,則該補碼表示的數值則越小,1越多,則該補碼表示的數值則越大。 對于8位補碼表示法,最小的補碼為 1000 0000B ,即-128,最大的 補碼為 11111111B,即-1。1.2.5二進制數運算二進制運算分為算術運算和邏輯運算兩種。1. 算術運算二進制的算術運算類似于十進

30、制,只不過逢二進一,退一當二。表1-3為二進制運算規則。表1-3二進制運算規則加法運算減法運算乘法運算1+0=11-0=11 x 0=01+仁0 (進位1)1-1=01 x仁10+0=00-0=00X 0=00+1=10-1=1 (借位 1)0X仁0例1-7四位二進制的算術運算解:1011+0101=0000 (進位為 1)1011-0101=01101011X 0101=001101112. 邏輯運算邏輯運算包括邏輯與(AND )、邏輯或(OR)、邏輯非(NOT)以及邏輯異或(XOR ), 其運算規則見表1-4。表1-4邏輯運算規則表邏輯與邏輯或邏輯非邏輯異或1 AND 0=01 OR 0=

31、11 XOR 0=11 AND 1=11 OR 仁1NOT 仁01 XOR 1=00 AND 1=00 OR 仁1NOT 0=10 XOR1=10 AND 0=00 OR 0=00 XOR 0=0例1-8四位二進制的邏輯運算1011 AND 0101=00011011 OR 0101=1111NOT 1011=01001011 XOR 0101=11101.3 Intel系列CPU簡介CPU 是 Center Processi ng Un it(中央處理器) 由運算器和控制器組成。如果把計算機比作人,那么 的80X86 CPU作一些簡介。的縮寫,它是計算機中最重要的一個部分,CPU就是人的大腦

32、。本節對 In tel公司1.3.14/8位微處理器1971年11月,Intel發布了自己的首款型號為“ 4004”的微處理器,這也是首次將一臺 編程計算機所需的各種元素融合在一顆單獨的芯片上。從此,一個嶄新的微處理器時代開始了。4004 CPU如圖1-1所示。其片內集成了 2250個晶體管,晶體管之間的距離為 10微米, 能夠處理4位數據,每秒運算 6萬次,運行的頻率為 108KHZ。但是4004只能稱為世界上 第一款商用處理器,而不是世界上第一款微處理器。第一款微處理器是由美國軍方研制用于 F-14雄貓戰機中,該微處理器由6顆晶片組成,稱為中央戰機數據計算機 CADC( Center Ai

33、r Data Computer),它的構造比 4004 CPU要簡單,并且速度只有 9.15KHZ。圖 1-14004 CPU1972年4月,In tel公司又推出了 8位微處理器8008,它由約3300個MOS晶體管構成。8008 CPU標準頻率為0.5MHz,雖然工作頻率并沒有高出 4004很多,但是它采用的是 8位 架構,整體表現要高于 4004許多。同時,8008也增加了對中斷系統和 16K記憶體(ROM 和RAM )的支持。1974年In tel公司又推出了為多種應用而設計的8位微處理器8080,它是In tel的第二代微處理器,也是第一個通用處理器。它的功能相當強,足以作為微計算機

34、的控制核心。它由6000多個晶體管構成,每秒能執行約60萬次操作,尋址能力達到 64KB。8080CPU的指令集包含了 8008的指令集,從而獲得與8008指令集的兼容性,此外還增加了 20多條指令, 8080 CPU如圖1-2所示。圖 1-2 8080 CPU1.3.216位微處理器1978年Intel公司推出了 16位微處理器8086。有兩個關鍵的結構概念使微處理器定型 且從8086開始施行,這兩個概念是存儲器分段以及指令譯碼表。Intel的80x86家族也由此開始。8086CPU最高主頻速度為 8MHz,具有16位數據通道,內存尋址能力為1MB。8086的16位指令系統成為后來被廣泛應用

35、的80x86系列CPU的基本指令集。由于當時的外設接口是 8位,所以8086的16位外部數據總線無法直接與其接口, 限制 了 8086的推廣。于是,1979年In tel推出了準16位微處理器8088,它與8086的區別是外 部采用通用的8位總線,其他均沒有變化。1981年,美國IBM公司將8088 CPU用于其研制的PC機中,從而開創了全新的微機 時代。也正是從8088開始,個人電腦(PC)的概念開始在全世界范圍內發展起來。從8088應用到IBM PC機上開始,個人電腦真正走進了人們的工作和生活之中。1982年,英特爾公司在 8086的基礎上,研制出了 80286微處理器,該微處理器的最大

36、主頻為20MHz,內、外部數據傳輸均為 16位,使用24位內存儲器的尋址,內存尋址能力 為 16MB。80286可工作于兩種方式,一種叫實模式,另一種叫保護方式。在實模式下,微處理器 可以訪問的內存總量限制在1M字節;而在保護方式之下,80286可直接訪問16M字節的內存。此外,80286工作在保護方式時,可以起到保護操作系統的作用,使之不像實模式或 8086等不受保護的微處理器那樣,在遇到異常應用時會使系統停機。80286在以下四個方面有顯著的改進:支持更大的內存;能夠模擬內存空間;能同時運 行多個任務;大大提高處理速度。并且, 80286的封裝是一種被稱為 PGA的正方形包裝。 PGA是源

37、于PLCC的便宜封裝,它有一塊內部和外部固體插腳,在這個封裝中,80286集成了大約130000個晶體管。上述8086/8088/80286的內部結構均為 16位,而下面所要介紹的 80386/80486/Pentium/ Pentium n / Pentium 川等都是 32 位的 CPU1.3.3 32 位 CPU1. Intel 803861985年英特爾公司已經成為了世界第一流的芯片公司,它決心全力開發新一代的 32位核心的CPU。Intel給80386設計了三個技術要點:使用“類 286”結構;開發80387協處理 器增強浮點運算能力;開發高速緩存解決內存速度瓶頸。1985年10月,

38、英特爾劃時代的產品 一一80386DX正式發布了,其內部包含 27.5萬個 晶體管,時鐘頻率為12.5MHz o 80386DX的內部和外部數據總線是 32位,地址總線也是 32 位,可以尋址4GB空間。它的運算模式除了具有實模式和保護模式以外,還增加了一種虛擬86”的工作方式,可以通過同時模擬多個 8086微處理器來提供多任務能力。80386DX比80286擁有更多的指令,運行速度也更快。頻率為 12.5MHz的80386每秒 鐘可執行6百萬條指令,比頻率為 16MHz的80286快2.2倍。80386 CPU如圖1-3所示。圖 1-3 80386 CPU2. Intel 804861989

39、年,英特爾推出80486 CPU。它首次實破了 100萬個晶體管的界限,使用 1微米 的制造工藝,集成了 120萬個晶體管。80486是將80486和數學協處理器 80487以及一個8KB的高速緩存集成在一個芯片內。80486中集成的80487的數字運算速度是以前 80387的兩倍,高速緩存縮短了微處理器與內 存通信的等待時間。在設計80486 CPU指令系統中首次采用了 RISC (精簡指令集)技術,該技術可以在一個時鐘周期內執行一條指令。由于這些改進,80486 CPU的性能比80386CPU性能提高了 4倍。80486 CPU如圖1-4所示。圖 1-480486 CPU3. Intel

40、Pentium1993年,英特爾公司生產的80586 CPU問世,為了擺脫486時代微處理器名稱混亂的困擾,英特爾公司把自己的新一代產品命名為Pentium (奔騰),以區別AMD和Cyrix公司的產品。Pen tium是In tel首個放棄利用數字來命名的處理器產品,在微架構上取得突破,讓電腦更容易處理 現實世界”的資料,例如語音、聲音以及相片影像。早期的奔騰75MHz120MHz使用0.5微米的制造工藝,后期 120MHz頻率以上的奔騰則改用 0.35微米工藝。Pentium CPU 如圖 1-5 所示。圖 1-5 Pen tium CPU4. Intel Pentium MMX為了提高電

41、腦在多媒體、3D圖形方面的應用能力,許多新指令集應運而生,其中最著名的三種便是英特爾的 MMX 技術、SSE技術和 AMD的3D NOW!技術。MMX(MultiMedia Extensions,多媒體擴展指令集) 是英特爾于1996年發明的一項多媒體指令增強技術,包括 57條多媒體指令,這些指令可以一次處理多個數據,MMX技術在軟件的配合下,就可以得到更好的性能。多能奔騰(Pentium MMX)的正式名稱就是 帶有MMX 技術的Pentium,是在1996年底 發布的。從多能奔騰開始,英特爾就對其生產的 CPU開始鎖倍頻了,但是MMX的CPU超 外頻能力特別強,而且還可以通過提高核心電壓來

42、超倍頻。多能奔騰在原Pentium的基礎上進行了重大的改進, 增加了片內16KB數據緩存和16KB 指令緩存,4路寫緩存以及分支預測單元和返回堆棧技術。特別是新增加的57條MMX多媒體指令,使得多能奔騰即使在運行非 MMX優化的程序時,也比同主頻的Pentium CPU要 快得多。這57條MMX指令專門用來處理音頻、視頻等數據。這些指令可以大大縮短CPU在處理多媒體數據時的等待時間,使 CPU擁有更強大的數據處理能力。多能奔騰采用了雙電壓設計,其內核電壓為2.8V,系統I/O電壓仍為原來的 3.3V。1 ntel Pentium MMX 如圖1-6 所示圖 1-6Intel Pen tium

43、MMX CPU5. Intel Pentium nPentium n的中文名稱叫奔騰二代”它有Klamath、Deschutes、Mendocino等幾種不同核心結構的系列產品,其中第一代采用Klamath核心,0.35微米工藝制造,內部集成750萬個晶體管,核心工作電壓為2.8V。Pentium n微處理器采用了雙重獨立總線結構,即其中一條總線連通二級緩存,另一條 負責主要內存。Pentium n使用了一種脫離芯片的外部高速L2 Cache,容量為512KB,并以CPU主頻的一半速度運行。作為一種補償,英特爾將Pentium n的L1 Cache從16KB增至32KB。另外,英特爾在Pent

44、ium n中采用了具有專利權保護的Slot 1接口標準和SECC(單邊接觸盒)封裝技術。Intel Pentium n CPU如圖1-7所示。圖 1-7 Intel Pentium n CPU6. Intel Pentium 川1999年英特爾公司發布了采用Katmai核心的新一代微處理器 一Pentium川。該微處理器除采用0.25微米工藝制造,內部集成950萬個晶體管。除了繼續采用Slot 1架構之外,它還具有以下新特點:系統總線頻率為100MHz ;采用第六代CPU核心一P6微架構,針對32位應用程序進行優化,雙重獨立總線;一級緩存為32KB(16KB指令緩存加16KB數據緩存), 二級

45、緩存為512KB,以CPU核心速度的一半運行;采用 SECC2封裝形式;新增加了能夠 增強音頻、視頻和3D圖形效果的SSE(Streaming SIMD Extensions,數據流單指令多數據擴展) 指令集,共 70條新指令。Intel Pentium川CPU如圖1-8所示。intel ®penllufrHWFt辛圖 1-8 Intel Pentium 川 CPU7. Intel Pentium 42000年英特爾正式發布了下一代處理器一一奔騰4。這不僅僅是一款新產品的發布,它還標志著一個處理器新時代的開始。最早的Pentium 4使用的是SOCKET 423接口,后來轉變為SOC

46、KET 478接口,接下來又過渡到現今主流的LGA775接口。SOCKET 423接口的Pentium 4 CPU 如圖 1-9 所示。圖 1-9423 接口的 Pentium 4 CPUPentium 4處理器最主要的特點就是拋棄了Intel沿用了多年的P6結構,采用了新的NetBurst架構。Net Burst結構具有不少明顯的優點:20段的超級流水線、高效的亂序執行功能、 2倍速的ALU、新型的片上緩存、SSE2指令擴展集和400MHz的前端總線等等。奔騰4處理器經過了幾年的核心變遷,性能也獲得了顯著提升。最早的Pentium 4以Willamette為核心,采用0.18微米鋁導線工藝,

47、配合低溫半導體介質(Low-Kdiclcctric )技術制成,是一顆具有超級深層次管線化架構的處理器。但是以Willamette核心的CPU發熱量很大、頻率提升困難,而且它的二級緩存只有256KB,超深的處理流水線使得總體性能并不理想。因此,英特爾很快就開發出了Northwood核心的產品,以滿足用戶需求。Northwood核心的Pentium 4采用0.13微米工藝制造,相比 Willamette內核的處理器, 其主頻有了很大飛躍,二級緩存也從256K翻番到512KB,核心面積131平方毫米,可搭配512KB或2MB二級緩存,外頻 400MHz、533MHz或800MHz,支持 SSE2指

48、令集,集成 5500萬個晶體管,使用銅來連接晶體管。Prescott核心是Pentium 4的第三個核心,生產工藝進一步升級為 90納米,可搭配512KB、 1MB、2MB二級緩存,外頻 533MHz或800MHz,增加了 SSE3指令集支持,集成 1.25億 個晶體管,核心面積112平方毫米,使用銅來連接晶體管。1.3.4 CPU發展趨勢自從1971年英特爾公司推出In tel 4004微處理器芯片以來,過去的四十年來CPU的發展一直遵循著摩爾定律的發展規律,即每過18個月其性能就會提高一倍,而價格將降低一半。然而,自In tel公司在2004年宣布P4之后將不再設法提高其奔騰系列微處理器的速度, CPU頻率的發展似乎停滯不前。特別是標志性的P4 4GHz CPU芯片的研制計劃取消,幾乎暗示著摩爾定律神話”的終結,也預示著一個嶄新時代的來臨。提升CPU頻率遇到的最大困難就是如何解決CPU芯片“發熱”問題。當CPU的主頻達到幾千兆赫茲時,芯片所產生的熱量足以使水熱到沸騰,所以僅僅提升頻率不再是提高 CPU性能唯一的方式。為了進一步使得處理器的計算性能得以穩步提高,設計人員提出了 雙核心和多核心處理器的發展構架以及新型材料的應用。1.“雙核心”處理器技術“雙核心”技術顧名思義就是在一顆CPU中真正集成兩個物理運行核心,并且每個核心都使用自己

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論