




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章計算機系統(tǒng)概論1.1 引言1.2 計算機系統(tǒng)的硬件組成1.3計算機的軟件系統(tǒng)1.4 計算機系統(tǒng)的多級層次結(jié)構(gòu)1.5 計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)1.6
計算機的性能指標1.7
計算機的發(fā)展簡史1.8 計算機的分類與應(yīng)用計算機系統(tǒng)=硬件/固件+軟件硬件:計算機系統(tǒng)的物質(zhì)基礎(chǔ)軟件:計算機系統(tǒng)的靈魂對于計算機的某一具體功能來說,既可以用硬件實現(xiàn),也可以用軟件實現(xiàn)。硬件和軟件在邏輯功能上是等效的實現(xiàn)成本和速度有比較大的差別1.1引言1.1引言計算機的系統(tǒng)結(jié)構(gòu):軟件和硬件的交界面確定哪些功能由硬件實現(xiàn),哪些功能由軟件實現(xiàn),即確定硬件和軟件的功能分配。1.1引言在過去的十幾年中,計算機的性能是每18個月就翻一番(盡管近幾年有所放緩)。
受益于兩個方面:計算機硬件制造技術(shù)的發(fā)展計算機系統(tǒng)結(jié)構(gòu)的創(chuàng)新現(xiàn)代計算機系統(tǒng)的硬件結(jié)構(gòu)由5個部件構(gòu)成運算器:實現(xiàn)對數(shù)據(jù)的加工,包括算術(shù)運算和邏輯運算。存儲器:存儲數(shù)據(jù)和程序??刂破鳎河嬎銠C的指揮控制中心,控制計算機各部件有序協(xié)調(diào)地工作。輸入設(shè)備和輸出設(shè)備:實現(xiàn)外部世界與計算機之間的數(shù)據(jù)交換。1.2計算機系統(tǒng)的硬件組成1.2計算機系統(tǒng)的硬件組成計算機系統(tǒng)的硬件結(jié)構(gòu)(5個部件)3個部件兩個子系統(tǒng)CPU=運算器+控制器主機=CPU+主存儲器I/O設(shè)備=輸入設(shè)備+輸出設(shè)備早期的計算機采用的結(jié)構(gòu)以運算器為中心
馮·諾依曼結(jié)構(gòu)匈牙利數(shù)學家馮·諾依曼1946年提出1.2計算機系統(tǒng)的硬件組成現(xiàn)代計算機在結(jié)構(gòu)上已經(jīng)有了很大的變化,但都可以看成是馮·諾依曼結(jié)構(gòu)的改進,而且仍然是采用馮·諾依曼當時提出的存儲程序原理。存儲程序原理
在計算機解題之前,要事先編制好程序,并與所需要的數(shù)據(jù)一起預(yù)先存入主存當中。當程序開始執(zhí)行后,由控制器按照該程序自動地、連續(xù)地從存儲器中取出指令并執(zhí)行,直到獲得所要求的結(jié)果為止。模型機硬件組織示意圖(一臺假想的簡化了的計算機)1.2計算機系統(tǒng)的硬件組成運算部件計算機的執(zhí)行部件,用于對數(shù)據(jù)的加工處理,完成算術(shù)運算和邏輯運算。算術(shù)運算:包括加、減、乘、除以及它們的復(fù)合運算。邏輯運算:包括與、或、非、異或、比較、移位等。核心:算術(shù)邏輯部件ALU
(ArithmeticandLogicalUnit)一組寄存器:用于暫存運算數(shù)據(jù)和中間結(jié)果(通用寄存器組GPR)1.2計算機系統(tǒng)的硬件組成內(nèi)存計算機的存儲部件,存儲程序和數(shù)據(jù)。由兩部分構(gòu)成內(nèi)部存儲器(內(nèi)存):一般用半導(dǎo)體技術(shù)實現(xiàn)。外部存儲器(外存):采用磁記錄方式實現(xiàn)。內(nèi)存按地址訪問的一維線性空間。由大量的存儲單元組成,每個存儲單元有一個唯一的編號。(這個編號稱為該存儲單元的地址)用地址可以唯一地訪問到一個存儲單元。1.2計算機系統(tǒng)的硬件組成每個存儲單元可以存放多個二進制位,其位數(shù)一般與計算機的字長相同,一般是字節(jié)的整數(shù)倍。對存儲器可以進行的操作“讀”和“寫”存儲器所能存儲的信息總量稱為存儲器的存儲容量。存儲單元…地址(n位)01232n-1控制器計算機的管理機構(gòu)和指揮中心,它協(xié)調(diào)計算機的各個部件自動地工作。具體來說,就是按照程序中事先設(shè)計好的解題步驟,控制計算機各個部件有條不紊地工作。由6部分構(gòu)成指令寄存器IR:存放當前正在執(zhí)行的指令。程序計數(shù)器PC:存放當前正在執(zhí)行的指令的地址。指令譯碼器:對指令進行譯碼。區(qū)分當前指令是什么指令,以便形成相應(yīng)的控制信號。1.2計算機系統(tǒng)的硬件組成時鐘脈沖CP:協(xié)調(diào)計算機各部件進行操作的同步信號,其工作頻率稱為計算機的主頻。時序信號發(fā)生器:按時間順序周而復(fù)始地發(fā)出節(jié)拍信號。微操作控制部件微操作:硬件電路中不可再細分的簡單操作。微操作在一個節(jié)拍內(nèi)完成根據(jù)指令的譯碼結(jié)果,結(jié)合CP以及時序信號發(fā)生器產(chǎn)生的節(jié)拍信號,產(chǎn)生該指令執(zhí)行過程中各節(jié)拍所需要的微操作控制信號,并將它們發(fā)送給包括控制器本身在內(nèi)的各個部件,使之協(xié)調(diào)、分步驟地進行操作,實現(xiàn)指令的執(zhí)行。1.2計算機系統(tǒng)的硬件組成輸入/輸出設(shè)備計算機與外界聯(lián)系的重要橋梁,是計算機系統(tǒng)中的一個不可或缺的組成部分。輸入設(shè)備作用:將程序和數(shù)據(jù)以計算機所能識別的形式輸入到計算機內(nèi)。常見的輸入設(shè)備:鍵盤,鼠標,掃描儀,攝像機等。輸出設(shè)備作用:將計算機處理的結(jié)果以人們所能接受或其它系統(tǒng)所要求的形式輸出到外部世界。常見的輸出設(shè)備:顯示器,打印機等。1.2計算機系統(tǒng)的硬件組成馮·諾依曼結(jié)構(gòu)的主要特點計算機以運算器為中心。在存儲器中,指令和數(shù)據(jù)同等對待。存儲器是按地址訪問、按順序線性編址的一維結(jié)構(gòu),每個單元的位數(shù)是固定的。指令的執(zhí)行是順序的,即一般是按照指令在存儲器中存放的順序執(zhí)行。程序的分支由轉(zhuǎn)移指令實現(xiàn)。指令由操作碼和地址碼組成。指令和數(shù)據(jù)均以二進制編碼表示,采用二進制運算。計算機軟件一般可分為兩大類系統(tǒng)軟件應(yīng)用軟件常用的一些軟件1.3計算機的軟件系統(tǒng)1.3計算機的軟件系統(tǒng)1.3計算機的軟件系統(tǒng)一組保證計算機系統(tǒng)高效、正確地運行的基礎(chǔ)軟件。操作系統(tǒng)負責管理系統(tǒng)資源,為應(yīng)用程序提供運行環(huán)境,為用戶提供操作界面。主要功能存儲管理,處理機的進程/線程調(diào)度,設(shè)備管理,文件管理,網(wǎng)絡(luò)通信管理,命令處理等。語言處理程序?qū)⒂萌魏纹渌Z言編制的程序變換為機器語言程序,然后由計算機硬件去執(zhí)行和處理。一、
系統(tǒng)軟件1.3計算機的軟件系統(tǒng)通常有兩種處理方式解釋:用解釋程序?qū)υ闯绦蛑鹦羞M行處理,邊分析邊執(zhí)行。翻譯:用編譯程序或匯編程序?qū)⒃闯绦蛉糠g成目標程序(機器代碼)后,再去執(zhí)行目標程序。數(shù)據(jù)庫管理系統(tǒng)用于實現(xiàn)對數(shù)據(jù)庫的描述、管理和維護等。分布式軟件系統(tǒng)用于建立分布式計算環(huán)境,管理分布式計算資源,控制分布程序的運行,提供分布式程序開發(fā)與設(shè)計工具等。包括:分布式操作系統(tǒng)、分布式編譯系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)、分布式軟件包等。1.3計算機的軟件系統(tǒng)網(wǎng)絡(luò)軟件系統(tǒng)用于支持網(wǎng)絡(luò)活動和數(shù)據(jù)通信的系統(tǒng)軟件。包括網(wǎng)絡(luò)操作系統(tǒng)、通信軟件、網(wǎng)絡(luò)協(xié)議軟件、網(wǎng)絡(luò)應(yīng)用系統(tǒng)等。服務(wù)程序為用戶使用和維護計算機提供服務(wù)。如裝入程序、編輯程序、調(diào)試程序、診斷程序等。1.3計算機的軟件系統(tǒng)應(yīng)用軟件:指計算機系統(tǒng)的用戶為解決某個應(yīng)用領(lǐng)域中的各類問題而編制的程序。應(yīng)用程序是多種多樣、極其豐富的。如各種科學計算類程序、工程設(shè)計類程序、數(shù)據(jù)統(tǒng)計與處理程序、情報檢索程序、企業(yè)管理程序、生產(chǎn)過程控制程序等。一些具有通用性的應(yīng)用軟件如文字處理軟件、表格處理軟件、圖形處理軟件等。二、
應(yīng)用軟件一臺計算機所提供的編程語言一般有多種,構(gòu)成一系列的層次級別。按照從低級到高級的次序:微程序語言機器語言,匯編語言,高級語言,應(yīng)用語言等。從計算機語言的角度,把計算機系統(tǒng)按功能劃分成
多級層次結(jié)構(gòu)。每一層以一種語言為特征。1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)微程序機器級(L1)這一級的機器語言是微指令集。其使用者是計算機硬件的設(shè)計人員,他們用微指令編寫的微程序直接由固件/硬件來解釋實現(xiàn)。有的計算機中沒有微程序機器級。
傳統(tǒng)機器級(L2)這一級的機器語言就是傳統(tǒng)的機器指令系統(tǒng)。程序員用該指令系統(tǒng)編寫的程序由L1級上的微程序或由硬連邏輯進行解釋執(zhí)行。由微程序解釋實現(xiàn)指令系統(tǒng)又稱作仿真。通過仿真可以在一臺機器上實現(xiàn)多種指令系統(tǒng)。1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)操作系統(tǒng)虛擬機(L3)虛擬機:由軟件實現(xiàn)的機器。這一級的機器語言由兩部分構(gòu)成傳統(tǒng)機器級指令操作系統(tǒng)級指令用戶硬件軟件虛擬機1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)匯編語言虛擬機(L4)這一級的機器語言是匯編語言。用匯編語言編寫的程序,首先翻譯成L3級和L2級語言,然后再由相應(yīng)的機器執(zhí)行。完成這個翻譯的程序稱為匯編程序。1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)高級語言虛擬機(L5)這級的機器語言就是各種高級語言應(yīng)用語言虛擬機(L6)為使計算機滿足某種用途而專門設(shè)計的。應(yīng)用語言編寫的程序一般是由應(yīng)用程序包翻譯到L5級上。語言實現(xiàn)的兩種基本技術(shù)翻譯:先把L+1級程序全部變換成L級程序后,再去執(zhí)行新產(chǎn)生的L級程序,在執(zhí)行過程中L+1級程序不再被訪問。1.4計算機系統(tǒng)的多級層次結(jié)構(gòu)解釋:每當一條L+1級指令被譯碼后,就直接去執(zhí)行一串等效的L級指令,然后再去取下一條L+1級的指令,依此重復(fù)進行。解釋執(zhí)行比編譯后再執(zhí)行所花的時間多,但占用的存儲空間較少。計算機系統(tǒng)結(jié)構(gòu)的經(jīng)典定義傳統(tǒng)機器程序員所看到的計算機屬性,即概念性結(jié)構(gòu)與功能特性。(1964年Amdahl在介紹IBM360系統(tǒng)時提出的)按照計算機系統(tǒng)的多級層次結(jié)構(gòu),不同級程序員所看到的計算機具有不同的屬性。透明性在計算機技術(shù)中,把這種本來存在的事物或?qū)傩?,但從某種角度看又好像不存在的概念稱為透明性。1.5計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)1.5計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)對于通用寄存器型機器來說,這些屬性主要是指:指令系統(tǒng)(包括機器指令的操作類型和格式、指令間的排序和控制機構(gòu)等)數(shù)據(jù)表示(硬件能直接識別和處理的數(shù)據(jù)類型)尋址規(guī)則(包括最小尋址單元、尋址方式及其表示)寄存器定義(包括各種寄存器的定義、數(shù)量和使用方式)中斷系統(tǒng)(中斷的類型和中斷響應(yīng)硬件的功能等)1.5計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)機器工作狀態(tài)的定義和切換(如管態(tài)和目態(tài)等)存儲系統(tǒng)(主存容量、程序員可用的最大存儲容量等)信息保護(包括信息保護方式和硬件對信息保護的支持)I/O結(jié)構(gòu)(包括I/O連結(jié)方式、處理機/存儲器與I/O設(shè)備之間數(shù)據(jù)傳送的方式和格式以及I/O操作的狀態(tài)等)1.5計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)計算機系統(tǒng)結(jié)構(gòu)概念的實質(zhì):
確定計算機系統(tǒng)中軟硬件的界面,界面之上是軟件實現(xiàn)的功能,界面之下是硬件和固件實現(xiàn)的功能。計算機組成:計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn)包含物理機器級中的數(shù)據(jù)流和控制流的組成以及邏輯設(shè)計等。著眼于:物理機器級內(nèi)各事件的排序方式與控制方式、各部件的功能以及各部件之間的聯(lián)系。計算機實現(xiàn):計算機組成的物理實現(xiàn)包括處理機、主存等部件的物理結(jié)構(gòu),器件的集1.5計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)
成度和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術(shù)等。著眼于:器件技術(shù)(起主導(dǎo)作用)、微組裝技術(shù)。舉例說明3個概念的區(qū)別
確定指令系統(tǒng)中是否有乘法指令主存容量與編址方式
一種系統(tǒng)結(jié)構(gòu)可以有多種組成。一種組成可以有多種物理實現(xiàn)。系列機:由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)、但具有不同組成和實現(xiàn)的一系列不同型號的機器。例如IBM公司的IBM370系列,Intel公司的x86系列等。
介紹一些與硬件相關(guān)的性能指標。主頻衡量計算機工作速度的主要指標之一CPU的工作節(jié)拍是由時鐘來控制的,時鐘不斷產(chǎn)生固定頻率的時鐘脈沖,這個時鐘的頻率就是CPU的主頻。通常用一秒鐘內(nèi)發(fā)出的電子脈沖數(shù)來表示常用單位是兆赫茲(MHz)。1.6計算機的性能指標1.6.1基本性能指標1.6計算機的性能指標運算速度以每秒執(zhí)行多少條指令或完成多少次浮點運算來表示。單位:MIPS(百萬條指令/秒)
MFLOPS(百萬次浮點運算/秒)它們分別反映了計算機的定點運算能力和浮點運算能力。1.6計算機的性能指標可以用3個方法來計算運算速度混合比率計算法對于每一條指令,計算其執(zhí)行時間,并從應(yīng)用程序中統(tǒng)計該指令出現(xiàn)的頻度。然后計算所有指令的加權(quán)平均值,便可得指令的平均執(zhí)行時間。該時間的倒數(shù)就是平均執(zhí)行速度。(目前已經(jīng)較少采用)計算各種指令的執(zhí)行速度根據(jù)處理器的主頻,求出其基本節(jié)拍周期時間,然后根據(jù)處理器的結(jié)構(gòu)模型和指令操作流程,可推算出執(zhí)行各種指令的基本拍數(shù)和每秒執(zhí)行指令的條數(shù)。1.6計算機的性能指標執(zhí)行基準程序的運算速度通過執(zhí)行同一組基準程序,來測試和比較計算機的性能。通常采用一組測試程序,稱為基準測試程序套件,它是由各種不同的真實應(yīng)用程序構(gòu)成的。最成功和最常見的測試程序套件:SPEC系列基本字長直接參與運算的數(shù)據(jù)字的二進制位數(shù)。它決定了寄存器、ALU、數(shù)據(jù)總線等的位數(shù),直接影響著硬件的造價。
字長標志著運算精度,位數(shù)越多,精度越高。1.6計算機的性能指標在保持相同精度的情況下,十進制位數(shù)與二進制位數(shù)的關(guān)系。假設(shè):十進制數(shù)的位數(shù):i位二進制數(shù)的位數(shù):j位令:10i=2j
兩邊取對數(shù)(以10為底),得:
i=j×log102
j=i/log102≈3.3×i
由此可見,要保證i位十進制數(shù)的精度,至少要采用
3.3×i位的二進制位數(shù)。許多計算機都允許變字長運算。(兼顧精度和硬件成本)1.6計算機的性能指標主存容量主存容量:主存所能存儲的信息的總量。計算機的處理能力在很大程度上取決于主存容量的大小。主存容量=字節(jié)數(shù)或字數(shù)×字長512MB
可存儲512M(1M=1024K)個字節(jié)128M×32位KB——千字節(jié)1KB=210B=1024BMB——兆字節(jié)(百萬)1MB=220B=1024KBGB——吉字節(jié)(10億)1GB=230B=1024MBTB——太字節(jié)(萬億)1TB=240B=1024GB1.6計算機的性能指標主存存取周期:對主存連續(xù)兩次訪問所允許的最小時間間隔。所配置的外部設(shè)備及其性能指標1.6.2Amdahl定律Amdahl定律當對一個系統(tǒng)中的某個部件進行改進后,所能獲得的整個系統(tǒng)性能的提高,受限于該部件的執(zhí)行時間占總執(zhí)行時間的百分比。1.6計算機的性能指標加速比
加速比依賴于兩個因素可改進比例Fe
:在改進前的系統(tǒng)中,可改進部分的執(zhí)行時間在總的執(zhí)行時間中所占的比例。它總是小于等于1。例如:一個需運行60秒的程序中有20秒的運算可以加速,那么這個比例就是20/60。加速比=系統(tǒng)性能改進后系統(tǒng)性能改進前總執(zhí)行時間改進前總執(zhí)行時間改進后=1.6計算機的性能指標部件加速比Se
:可改進部分改進以后性能提高的倍數(shù)。它是改進前所需的執(zhí)行時間與改進后執(zhí)行時間的比。一般情況下部件加速比是大于1的。例如:若系統(tǒng)改進后,可改進部分的執(zhí)行時間是2秒,而改進前其執(zhí)行時間為5秒,則部件加速比為5/2。改進后程序的總執(zhí)行時間其中:T0
:改進前整個程序的執(zhí)行時間
1-Fe:不可改進比例1.6計算機的性能指標改進后系統(tǒng)加速比Sn為改進前與改進后總執(zhí)行時間之比:1.6計算機的性能指標
例1.1將計算機系統(tǒng)中某一功能的處理速度加快15倍,但該功能的處理時間僅占整個系統(tǒng)運行時間的40%,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?解由題可知:Fe=40%=0.4Se=15
根據(jù)Amdahl定律可知:
采用此增強功能方法后,能使整個系統(tǒng)的性能提高到原來的1.6倍。1.6計算機的性能指標
例1.2某計算機系統(tǒng)采用浮點運算部件后,使浮點運算速度提高到原來的25倍,而系統(tǒng)運行某一程序的整體性能提高到原來的4倍,試計算該程序中浮點操作所占的比例。解由題可知:Se=25Sn=4
根據(jù)Amdahl定律可知:
由此可得:Fe
=78.1%
即程序中浮點操作所占的比例為78.1%。1.6計算機的性能指標Amdahl定律:一種性能改進的遞減規(guī)則如果僅僅對計算任務(wù)中的一部分做性能改進,則改進得越多,所得到的總體性能的提升就越有限。重要推論當Se→∞時,則Sn=1/(1-Fe)。即如果只針對整個任務(wù)的一部分進行改進和優(yōu)化,那么所獲得的加速比不超過1/(1-Fe)。第一臺通用電子計算機誕生于1946年ElectronicNumericalIntegratorAndComputer(電子數(shù)字積分計算機),簡稱ENIAC
。美國賓夕法尼亞大學研究長30.48米,寬1米,占地面積170平方米,總重量約30噸。制造它共用了約18000個真空管,1500個電子繼電器,70000個電阻,18000個電容。計算速度只有每秒5000次加法運算1.7計算機的發(fā)展簡史1.7計算機的發(fā)展簡史第一臺存儲程序電子計算機EDVAC
(ElectronicDiscreteVariableAutomaticComputer)
1950年由馮·諾依曼和莫爾學院合作研制計算機的4代演化
每一代主要是以不同的器件技術(shù)為特征系統(tǒng)結(jié)構(gòu)和軟件技術(shù)也各具特色近幾十年中,國外電子計算機發(fā)展的重大事件分代器件技術(shù)系統(tǒng)結(jié)構(gòu)技術(shù)軟件技術(shù)典型機器第一代(1946-1955)電子管,繼電器,延遲線存儲程序計算機、程序控制I/O,定點運算機器語言,匯編語言ENIAC,ISA,IBM701第二代(1955-1965)晶體管磁芯存儲器浮點數(shù)據(jù)表示、尋址技術(shù)、中斷、I/O處理機高級語言和編譯、批處理,監(jiān)控系統(tǒng)UnivacLARC,CDC1604,IBM7030第三代(1965-1980)小規(guī)模和中規(guī)模集成電路,前期以磁芯存儲器為主,后期以半導(dǎo)體存儲器為主,微程序流水線,Cache,先行處理,系列機多道程序,分時操作系統(tǒng),并行處理IBM360/370系列,CDC6600/7600系列,DECPDP-8系列第四代(1980-)大規(guī)模和超大規(guī)模集成電路,半導(dǎo)體存儲器,高性能微處理器,高密度電路向量處理,指令集并行,多處理機,多核,機群,大規(guī)模并行處理并行處理,分布處理,大規(guī)模、可擴展并行Cray-1,IBM3090,DECVAX9000,SGICrayT3E,SunE10000,IBMSP2,IntelParagon年份大事19381943194619471948195019521954195619601961196219641964KonradZuse建成了第一臺二進制的機電式通用計算機Z-1AlanTuring等建成了一臺真空管計算機J.W.Mauchley教授等研制成功ENIAC,這是第一臺電子數(shù)字計算機由IBM公司和哈佛大學共同研制成自動機電式哈佛MarkⅠ計算機曼徹斯特MarkⅠ成為第一臺存儲程序的數(shù)字計算機馮·諾依曼和莫爾學院合作研制成功EDVAC,這是世界上第一臺存儲程序電子計算機IBM制成第一臺軍用的存儲程序電子計算機IBM701Univac1103A成為第一臺商業(yè)計算機,采用磁芯存儲器采用晶體管的Univac商用計算機開發(fā)成功DEC公司11月研制成PDP-1,第一臺具有顯示器和鍵盤的商用計算機IBM公司研制成7030,號稱超級計算機英國研制成Atlas計算機,首次采用虛擬存儲器和流水操作IBM宣布System/360CDC6600研制成功,第一臺商用超級計算機年份大事19651968197119721975197619771980198119821982198519891991DEC推出PDP-8,采用晶體管線路SeymourCray設(shè)計成功CDC7600超級計算機,40MFLOPSIntel推出第一個微處理器芯片4004DEC推出PDP-11第一臺微型機Altair8800研制成功Cray-1研制成功,第一臺向量結(jié)構(gòu)超級計算機Tony和Commodore推出商品微型機Apollo公司研制成第一臺工程工作站IBM推出PC機CrayX-MP推出,將兩臺Cray-1連接在一起日本啟動“第五代”計算機項目Cray-2和ConnectionMachine研制成功,性能均達每秒十億次運算Cray-3研制成功,采用砷化鎵芯片CrayY-MPC90研制成功,采用16個處理機1.5計算機的發(fā)展簡史微處理器的發(fā)展Intel是研制和生產(chǎn)微處理器的最大廠商Intel微處理器的發(fā)展演化1971年,第一個微處理器芯片Intel4004
(4位微處理器主頻為108KHz)1972年,Intel發(fā)布8008
(一個8位微處理器)1974年,Intel發(fā)布8080(第一個通用8位微處理器主頻為2MHz)1978年,Intel發(fā)布8086
(通用16位微處理器)1.5計算機的發(fā)展簡史1985年,Intel推出了32位微處理器80386。初期推出的80386DX處理器集成了大約27.5萬個電晶
體,主頻為12.5MHz。逐步提高到20MHz、25MHz、33MHz直至最后的40MHz。1995年,Intel推出了64位微處理器PentiumPro。主頻有:133/66MHz(工程樣品),150/60MHz、166/66MHz、180/60MHz、200/66MHz。
型號發(fā)布時間主頻總線寬度晶體管數(shù)可尋址存儲器40041971108kHz4位2300640B80081972108kHz8位350016KB808019742MHz8位600064KB808619785MHz,8MHz,10MHz16位290001MB808819795MHz,8MHz8位290001MB8028619826~12.5MHz16位13400016MB386TMDX198516~33MHz32位2750004GB386TMSX198816~33MHz16位27500016MB486TMDX198925~50MHz32位12000004GB486TMSX199116~33MHz32位1.185百萬4MBPentium199360~166MHz32位3.1百萬4GBPentiumPro1995150~220MHz64位5.5百萬64GBPentiumⅡ1997200~300MHz64位7.5百萬64GBPentiumⅢ1999450~600MHz64位9.6百萬64GBPentium420001.3~1.8GHz64位42百萬64GBItanium2001733~800MHz64位25百萬64GBItanium220020.9~1GHz64位220百萬64GB
Intel微處理器的發(fā)展演化按信息的形式分類模擬計算機:信息是以模擬量的形式表示的。數(shù)字計算機:信息是以數(shù)字的形式表示的。按計算機字長分類
分為8位機、16位機、32位機、64位機等。按計算機應(yīng)用范圍分類專用機:對某一特定應(yīng)用領(lǐng)域設(shè)計的計算機。1.8計算機的分類和應(yīng)用1.8.1計算機的分類1.8計算機的分類和應(yīng)用適應(yīng)性差,用于解決其它領(lǐng)域的問題性能可能很差。通用機:面向各種應(yīng)用設(shè)計的計算機。特點:對許多應(yīng)用性能都比較高,但對于某一特定應(yīng)用領(lǐng)域來說,性能價格比一般不如面向該領(lǐng)域的專用機。按計算機的規(guī)模分類規(guī)模包括運算速度、字長、存儲容量、輸入/輸出能力、價格、體積、軟件等多個方面。分為:超級計算機、巨型機、大型機、中型機、小型機、個人計算機和嵌入式計算機等。不同規(guī)模的計算機1.8計算機的分類和應(yīng)用科學計算數(shù)據(jù)處理現(xiàn)代控制及嵌入式系統(tǒng)嵌入式計算機的部分應(yīng)用領(lǐng)域包括:信息電器,包括Web瀏覽,電子書籍,可視電話,網(wǎng)絡(luò)游戲,個人數(shù)字助理,信息家電等。移動設(shè)備和手持設(shè)備,包括智能手機,數(shù)字相機,商務(wù)通,條碼掃描,電子記事本等。交互式數(shù)字媒體,包括數(shù)字機頂盒,交互電視,視頻游戲機等。1.8.2計算機的應(yīng)用1.8計算機的分類和應(yīng)用嵌入式控制設(shè)備,包括通信設(shè)備、存儲設(shè)備、辦公自動化設(shè)備,網(wǎng)絡(luò)設(shè)備等。計算機輔助設(shè)計/計算機輔助制造計算機輔助設(shè)計(CAD):利用計算機幫助設(shè)計人員進行工程、產(chǎn)品、建筑等設(shè)計工作的過程和技術(shù)。計算機輔助制造(CAM):在制造業(yè)中,利用計算機輔助各種設(shè)備完成產(chǎn)品的加工、裝配、檢測和包裝等過程的技術(shù)。網(wǎng)絡(luò)應(yīng)用第2章計算機執(zhí)行程序的過程2.1 樣例程序2.2第1條指令的執(zhí)行過程2.3 第2條指令的執(zhí)行過程2.4第3條指令的執(zhí)行過程2.5第4條指令的執(zhí)行過程2.6 第5條指令的執(zhí)行過程2.7第6條指令的執(zhí)行過程幾點說明Load
指令:裝載寄存器指令把一個數(shù)據(jù)送入指定的寄存器,這個值可以是立即數(shù),也可以是來自存儲器的某單元。Store指令:存儲指令把指定寄存器中的數(shù)據(jù)存入存儲器的某個單元。Add指令:加法指令把兩個寄存器中的數(shù)據(jù)相加,并把結(jié)果存到指定的寄存器。2.1樣例程序2.1樣例程序樣例程序Jump指令:跳傳指令跳轉(zhuǎn)到新的地址去執(zhí)行指令[Rx]:寄存器Rx的內(nèi)容。MEM[y]:存儲器中地址為y的存儲單元的內(nèi)容?!簜魉蜆永绦驑永绦虻?條:LoadR1,200(R0)//MEM[[R0]+200]→R1第2條:LoadR2,#4//4→R2。
“4”這個值放在指令中,稱為立即數(shù)。第3條:AddR3,R1,R2//[R1]+[R2]→R3第4條:StoreR3,200(R2)//[R3]→MEM[[R2]+200]第5條:StoreR2,@(208)//[R2]→MEM[MEM[208]],@表示間接尋址。第6條:Jump1000//1000→PC指令:LoadR1,200(R0)指令地址:即指令在內(nèi)存中的地址,為64。功能:MEM[[R0]+200]→R1即用[R0]+200作為地址訪問存儲器,將讀出的內(nèi)容送給R1。假設(shè)已經(jīng)把程序計數(shù)器PC的內(nèi)容設(shè)置為64。說明:2.2第1條指令的執(zhí)行過程第1條指令的執(zhí)行過程第1步:取指令[PC]→AR。將PC的內(nèi)容(64)傳送到內(nèi)存的地址寄存器AR。如圖1中的粗線所示。從存儲器讀出第一條指令,放到數(shù)據(jù)寄存器DR。如圖2中的粗線所示。把該指令從DR送到指令寄存器IR。如圖3中的粗線所示。分步操作:第1條指令的執(zhí)行過程圖1第1條指令的執(zhí)行過程圖2第1條指令的執(zhí)行過程圖3第1條指令的執(zhí)行過程第2步指令譯碼器進行譯碼,控制器結(jié)合時鐘脈沖信號CP和時序信號產(chǎn)生器所生成的節(jié)拍信號,產(chǎn)生執(zhí)行該指令所需要的微操作控制信號。注意,這些信號被分配到下面的各操作步聚中如圖4中的粗線所示第1條指令的執(zhí)行過程圖4第1條指令的執(zhí)行過程第3步:執(zhí)行指令計算訪存地址:[R0]+200→AR具體操作:[R0]→ALU//把寄存器R0中的內(nèi)容(為0)送給ALU。如圖5中的①所示。IR中的操作數(shù)“200”→ALU。如圖6中的②所示。ALU進行加法運算。結(jié)果傳送給AR,
即:[ALU]→AR。如圖7中的③所示。第1條指令的執(zhí)行過程圖5第1條指令的執(zhí)行過程圖6第1條指令的執(zhí)行過程圖7第1條指令的執(zhí)行過程從存儲器讀出數(shù)據(jù),送入寄存器R1。具體操作:從存儲器中地址為200的存儲單元讀出數(shù)據(jù)50,放到DR。如圖8中的①所示。DR→R1。把DR中的50送入R1。如圖9中的②所示。第4步:把PC中的地址加4,指向下一條指令。為執(zhí)行下一條指令做好準備。如圖10中所示。第1條指令的執(zhí)行過程圖8第1條指令的執(zhí)行過程圖9第1條指令的執(zhí)行過程圖10指令:LoadR2,#4指令地址:68功能:把指令中的立即數(shù)4傳送給R2說明:2.3第2條指令的執(zhí)行過程第2條指令的執(zhí)行過程第1步:取指令類似于上一條指令,只是PC的值為68。操作步驟如圖11中的所示。分解步驟:第2條指令的執(zhí)行過程圖11第2條指令的執(zhí)行過程第2步:指令譯碼控制器產(chǎn)生微操作控制信號,類似于第一條指令。第3步:執(zhí)行指令將IR中的4傳送到R2。如圖12中的所示。第4步:同上一條指令。操作后PC的值為72。第2條指令的執(zhí)行過程圖12指令:AddR3,R1,R2指令地址:72。功能:[R1]+[R2]→R3把R1中的內(nèi)容和R2中的內(nèi)容相加,結(jié)果存入R3。說明:2.4第3條指令的執(zhí)行過程第3條指令的執(zhí)行過程第1步:取指令操作步驟如圖13中的所示。第2步:指令譯碼類似于第一條指令。第3步:執(zhí)行指令把R1和R2中的數(shù)據(jù)送往ALU的兩個入口端,ALU做加法運算。如圖14中的①所示。把ALU出口端的結(jié)果存入R3。如圖15中的②所示。第4步:同第1條指令。操作后PC的值為76。分解步驟:第3條指令的執(zhí)行過程圖13第3條指令的執(zhí)行過程圖14第3條指令的執(zhí)行過程圖15指令:StoreR3,200(R2)功能:[R3]→MEM[[R2]+200]把R3中的內(nèi)容存入內(nèi)存中地址為[R2]+200的存儲單元。說明:2.5第4條指令的執(zhí)行過程第4條指令的執(zhí)行過程第1步:取指令操作步驟如圖16中的所示第2步:指令譯碼類似于第一條指令。分解步驟:第4條指令的執(zhí)行過程圖16第4條指令的執(zhí)行過程第3步:執(zhí)行指令計算訪存地址:[R2]+200→AR。如圖17中所示。具體操作:
[R2]→ALU//把寄存器R0中的內(nèi)容(為4)送給ALU。IR中的操作數(shù)“200”→ALU。ALU的加法運算,[ALU]→AR//ALU的運算結(jié)果(204)送給AR。[R3]→DR。即把R3的內(nèi)容送DR。如圖18中所示。第4條指令的執(zhí)行過程圖17第4條指令的執(zhí)行過程圖18第4條指令的執(zhí)行過程[DR]→MEM[AR]。把數(shù)據(jù)寫入存儲器如圖19中所示向存儲器發(fā)寫入命令。存儲器將把DR中的數(shù)據(jù)寫入存儲器中以[AR]為地址的存儲單元。第4步:第一條指令。操作后PC的值為80第4條指令的執(zhí)行過程圖19指令:StoreR2,@(208)功能:[R2]→MEM[MEM[208]]指令中@(208)表示間接尋址把MEM[208](即存儲器中地址為208的存儲單元的內(nèi)容)作為訪存地址。該指令把R2中的內(nèi)容存入存儲器中地址為MEM[208]的單元中。說明:2.6第5條指令的執(zhí)行過程第5條指令的執(zhí)行過程第1步:取指令操作步驟如圖20中的所示第2步:指令譯碼類似于第一條指令。分解步驟:第5條指令的執(zhí)行過程圖20第5條指令的執(zhí)行過程第3步:執(zhí)行指令訪問存儲器,MEM[208]→DR具體操作:(如圖21中所示)208→AR即把指令中的立即數(shù)208送入AR。向存儲器發(fā)出讀命令,存儲器將地址為208的單元中的內(nèi)容(為212)讀出,送入DR。[DR]→AR把DR中的內(nèi)容送入AR,作為下一步的訪存地址。如圖22中所示。第4條指令的執(zhí)行過程圖21第5條指令的執(zhí)行過程圖22第5條指令的執(zhí)行過程[R2]→DR即把R2中的數(shù)據(jù)送入DR。如圖23中所示。向存儲器發(fā)出寫命令。存儲器把DR中的內(nèi)容(4)寫入地址為212的存儲單元中。如圖24中所示。第4步:同第1條指令。操作后PC的值為84。第5條指令的執(zhí)行過程圖23圖24指令:Jump1000功能:讓計算機跳轉(zhuǎn)到地址為1000的地方,從那兒繼續(xù)往下執(zhí)行。說明:2.7第6條指令的執(zhí)行過程第6條指令的執(zhí)行過程第1步:取指令操作步驟如圖25中的所示第2步:指令譯碼類似于第一條指令。分解步驟:第6條指令的執(zhí)行過程圖25第6條指令的執(zhí)行過程第3步:執(zhí)行指令該指令的執(zhí)行很簡單,即把IR中的1000送入PC即可。如圖26中所示。第6條指令的執(zhí)行過程圖26第3章計算機中數(shù)的表示方法3.1 帶符號數(shù)的表示方法3.2 數(shù)的定點表示與浮點表示3.3十進制數(shù)串的表示3.4 數(shù)據(jù)校驗碼計算機中的數(shù)據(jù)信息分為兩大類數(shù)值型數(shù)據(jù):用來表示具有數(shù)量概念的信息,數(shù)的各位之間有進位關(guān)系。非數(shù)值型數(shù)據(jù):沒有數(shù)量的大小,各位之間沒有關(guān)聯(lián)。帶符號數(shù)的表示方法機器數(shù)與真值機器數(shù):用二進制編碼表示的數(shù)據(jù)。真值:與機器數(shù)對應(yīng)的實際數(shù)據(jù)。機器數(shù)包括兩種無符號數(shù):沒有符號的整數(shù),即正整數(shù)。例如10010110表示:96H(十進制數(shù)150)字長為n位的無符號數(shù)的表示范圍:0~2n-1帶符號的數(shù)3.1帶符號數(shù)的表示方法帶符號數(shù)的表示方法符號“+”和“-”的表示“0”:正號“+”“1”:負號“-”用機器數(shù)的最高位表示符號位帶符號的機器數(shù)表示方法:原碼、補碼和反碼帶符號數(shù)的表示方法原碼的定義
設(shè)X:二進制數(shù),數(shù)值部分的位數(shù)為n。當X=±0.X1X2…Xn
(純小數(shù))當X=±X1X2…Xn
(純整數(shù))3.1.1原碼表示法帶符號數(shù)的表示方法例已知n=4,求X的原碼[X]原。解:
①
X=+0.1101[X]原=0.1101
②X=-0.1101[X]原=1-X=1.1101
③X=+1101[X]原=01101
④X=-1101[X]原=24-X=10000+1101=11101原碼的特點原碼表示直觀、易懂,與真值的轉(zhuǎn)換容易。真值0有兩種不同的表示形式
[+0]原=000…0[-0]原=100…0用原碼實現(xiàn)乘、除運算的規(guī)則很簡單,但實現(xiàn)加減運算比較復(fù)雜。帶符號數(shù)的表示方法模和同余模:指一個計量器的容量,可用M表示。例如:大家所熟悉的鐘表,是以12為計數(shù)循環(huán)的,模M=12
一個4位的二進制計數(shù)器,計數(shù)范圍為0~15,模=
16同余:指兩整數(shù)A和B除以同一正整數(shù)M,所得余數(shù)相同。這時稱A和B對M同余,即A和B在以M為模時是相等的,可寫成:
A=B(modM)或
A=B+kM(k為整數(shù))3.1.2補碼表示法帶符號數(shù)的表示方法
例如鐘表:模M=12,故3點和15點、5點和17點是同余的,它們可以寫作:
3=15(mod12),5=17(mod12)
3=3+12(mod12),5=17-12(mod12)將減法運算轉(zhuǎn)化成加法運算假設(shè)當前時針停在7點,現(xiàn)在要將時針調(diào)到5點,可以有兩種方法實現(xiàn):(1)將時針倒撥2格(2小時):7-2=5
做減法(2)將時針正撥10格(10小時):7+10=17=5(mod12)
做加法從上可得:7-2=7+10(mod12)
-2與10對模12互補,也可以說-2的補碼是10(以12為模)。帶符號數(shù)的表示方法
例:9-5=9+(-5)=9+(12-5)=9+7=4(mod12)
7為-5的補碼例:65-25=65+(-25)=65+(100-25)=65+75=40(mod100)
75為-25的補碼補碼的定義設(shè)X:二進制數(shù),數(shù)值部分的位數(shù)為n。當X=±0.X1X2…Xn
(純小數(shù))帶符號數(shù)的表示方法當X=±X1X2…Xn
(純整數(shù))例
已知n=4,求X的補碼[X]補。解:①X=+0.1101[X]補=0.1101②X=-0.1101[X]補=2+X=1.0011③X=+1101[X]補=01101④X=-1101[X]補=25+X=100000-1101=10011補碼的特點由真值求補碼符號位:“0”表示正號“+”,“1”表示負號“-”。數(shù)值部分正數(shù):數(shù)值部分與真值形式相同負數(shù):將真值的數(shù)值部分按位將“1”變?yōu)椤?”,“0”變?yōu)椤?”(按位變反),且在最低位加1。例如:
帶符號數(shù)的表示方法真值0的表示形式是唯一的
[+0]補=[-0]補=000…00補碼的加減運算規(guī)則簡單符號位與數(shù)值位部分一樣參加運算。運算后如有進位產(chǎn)生,則把這個進位舍去不要,相當于舍去一個模。
[X+Y]補=[X]補+[Y]補
[X—Y]補=[X]補+[—Y]補已知[Y]補,求[—Y]補。將[Y]補按位變反,且在最低位加1。帶符號數(shù)的表示方法
例已知①Y=+0.1101;②Y=-0.1101;③Y=+1101;④Y=-1101。n=4;求[—Y]補。解:①[Y]補=0.1101[—Y]補=1.0011②[Y]補=1.0011[—Y]補=0.1101③[Y]補=01101[—Y]補=10011④[Y]補=10011[—Y]補=01100帶符號數(shù)的表示方法反碼的定義
設(shè)X:二進制數(shù),數(shù)值部分的位數(shù)為n。當X=±0.X1X2…Xn
(純小數(shù))當X=±X1X2…Xn
(純整數(shù))3.1.3反碼表示法帶符號數(shù)的表示方法
例已知①X=+0.1101;②X=-0.1101;③X=+1101;④X=-1101。n=4;求X的反碼[X]反。解:①[X]反=0.1101②[X]反=2-2-4+X=1.0010③[X]反=01101④[X]反=25-1+X=100000-1-1101=10010
帶符號數(shù)的表示方法反碼的特點由真值求反碼符號位:“0”表示正號“+”,“1”表示負號“-”。數(shù)值部分正數(shù):數(shù)值部分與真值形式相同負數(shù):將真值的數(shù)值部分按位變反真值0有兩種不同的表示形式
[+0]反=000…0[-0]反=111…1反碼的加減運算比補碼的復(fù)雜8位二進制整數(shù)的無符號數(shù)、原碼、補碼、反碼表示的真值
帶符號數(shù)的表示方法二進制表示無符號數(shù)原碼補碼反碼000000000+0+0+0000000011+1+1+1……………01111111127+127+127+12710000000128-0-128-12710000001129-1-127-126……………11111110254-126-2-111111111255-127-1-0帶符號數(shù)的表示方法移碼的定義(只討論純整數(shù)移碼)設(shè)X:n位的二進制數(shù)真值為+X1X2…Xn或-X1X2…Xn純整數(shù)移碼的定義:[X]移=2n+X-2n≤X<2n
移碼就是在真值的基礎(chǔ)上加一常數(shù)(2n)這個常數(shù)稱為偏移值相當于X在數(shù)軸上向正方向偏移了若干單位
3.1.4移碼表示法帶符號數(shù)的表示方法
例已知①X=+1101;②X=-1101;n=4;求X的移碼[X]移。解:①[X]移=24+X=10000+1101=11101②[X]移=24+X=10000-1101=00011移碼和真值的映射
移碼的特點移碼與補碼的關(guān)系移碼與補碼數(shù)值部分相同,符號位相反。即只需將[X]補的符號位變反,就得到[X]移。
當0≤X<2n時,[X]移=[X]補+2n
當-2n≤X<0時,[X]移=[X]補-2n
例:①X=+1101;[X]補=01101;[X]移=11101②X=-1101;[X]補=10011;[X]移=00011
移碼表示法中,數(shù)的最高位(符號位):如果為“0”,表示該數(shù)為負數(shù);如果為“1”,表示該數(shù)為正數(shù)。采用移碼的目的:為了能夠從機器數(shù)的形式上直接判斷兩數(shù)真值的大小。小數(shù)點的位置是固定不變的定點小數(shù)(純小數(shù)):把小數(shù)點固定在數(shù)值部分的最高位之前。定點整數(shù)(純整數(shù)):把小數(shù)點固定在數(shù)值部分的最低位之后。3.2數(shù)的定點表示與浮點表示3.2.1數(shù)的定點表示▲數(shù)的定點表示與浮點表示數(shù)值部分為n位的機器數(shù)的表示范圍(不包含符號位)定點小數(shù)原碼:-(1-2-n)~(1-2-n)定點小數(shù)補碼:-1~(1-2-n)定點整數(shù)原碼:-(2n-1)~(2n-1)定點整數(shù)補碼:-2n~(2n-1)數(shù)的定點表示與浮點表示小數(shù)點的位置不固定,視需要而浮動。浮點數(shù)的一般表示形式
X=M×2E其中:E:階碼,用定點整數(shù)表示。階碼的值決定了數(shù)中小數(shù)點的實際位置。M:尾數(shù)或有效值,用定點小數(shù)表示。階碼和尾數(shù)可以采用原碼、補碼、反碼中任意一種編碼方法來表示,但階碼通常采用移碼。3.2.2數(shù)的浮點表示數(shù)的定點表示與浮點表示例如:
X=+0.01100101×2-101
階碼:-101;尾數(shù)+0.01100101Y=-0.11010011×2+110
階碼:+110;尾數(shù)-0.11010011用4部分來表示一個浮點數(shù)
數(shù)的定點表示與浮點表示規(guī)格化浮點數(shù)用浮點表示法表示一個數(shù)時,表示形式不唯一。例如X=+0.01100101×2-101X=+0.11001010×2-110X=+0.001100101×2-100規(guī)格化浮點數(shù)當浮點數(shù)的基數(shù)為2時,如果其尾數(shù)M滿足:則該浮點數(shù)為規(guī)格化浮點數(shù)。否則稱其為非規(guī)格化浮點數(shù)。數(shù)的定點表示與浮點表示
例分別將十進制數(shù)-54、轉(zhuǎn)換成規(guī)格化浮點數(shù)表示。階碼用移碼,尾數(shù)用補碼。其浮點數(shù)格式如下所示:
其中Mf為數(shù)符,Ef為階符。解:(-54)10=(-110110)2=-0.1101100000×2110
()10=(+0.0001101000)2=+0.1101000000×2-11數(shù)的定點表示與浮點表示浮點數(shù)的表示范圍設(shè)浮點數(shù)的階碼為m位,尾數(shù)為n位,數(shù)符和階符各一位,則浮點數(shù)的表示范圍:
浮點數(shù)所能表示數(shù)的范圍處于最大正數(shù)到最小正數(shù)、最大負數(shù)到最小負數(shù)之間。
階碼采用移碼,尾數(shù)采用補碼,浮點表示所對應(yīng)的最大正數(shù)、最小正數(shù)、最大負數(shù)、最小負數(shù)典型數(shù)據(jù)浮點形式數(shù)符
階符
階碼
尾數(shù)真值非規(guī)格化最小正數(shù)0000…000…01規(guī)格化最小正數(shù)0000…010…00最大正數(shù)0111…111…11非規(guī)格化最大負數(shù)1000…011…11規(guī)格化最大負數(shù)1000…001…11最小負數(shù)1011…100…00數(shù)的定點表示與浮點表示如果一個數(shù)超出了數(shù)的表示范圍,則稱為溢出。若該數(shù)處于最小正數(shù)和最大負數(shù)之間,稱為下溢。若該數(shù)大于最大正數(shù)或小于最小負數(shù),稱為上溢。尾數(shù)的位數(shù)決定了數(shù)據(jù)表示的精度,增加其位數(shù)可以增加有效數(shù)字的位數(shù);而階碼的位數(shù)決定了數(shù)據(jù)表示的范圍。
IEEE754標準每個浮點數(shù)由3部分組成數(shù)符S
階碼E
尾數(shù)M
兩種基本浮點格式單精度浮點格式雙精度浮點格式兩種擴展浮點格式擴展單精度浮點格式擴展雙精度浮點格式基本格式
數(shù)符位數(shù)
階碼位數(shù)(含1位符號位)
尾數(shù)位數(shù)
總位數(shù)單精度浮點數(shù)182332雙精度浮點數(shù)1115264擴展單精度浮點數(shù)1≥1131≥43擴展雙精度浮點數(shù)1≥15≥63≥79
IEEE754標準浮點數(shù)基本格式
數(shù)的定點表示與浮點表示以單精度浮點數(shù)格式為例數(shù)符S:0表示正數(shù),1表示負數(shù)。階碼E:由1位符號位和7位數(shù)值組成。采用偏移值為127的移碼,即:階碼=127+數(shù)值規(guī)定階碼的取值范圍為:1~254階碼值0和255用于表示特殊數(shù)值尾數(shù)M:23位,采用原碼,規(guī)格化表示。由于對于規(guī)格化數(shù)原碼來說,其尾數(shù)的最左邊一位必定為1(特殊值和非規(guī)格化數(shù)除外),所以可以把這個1丟掉,而把其后的23位放入尾數(shù)字段中。IEEE754中的23位尾數(shù)實際上是表示了24位的有效數(shù)字。數(shù)的定點表示與浮點表示IEEE754單精度浮點數(shù)的特征參數(shù)
特征參數(shù)特征值特征參數(shù)特征值符號位數(shù)1尾數(shù)位數(shù)23階碼位數(shù)8尾數(shù)個數(shù)223階碼偏移值127最大規(guī)格化數(shù)2128階碼取值范圍(移碼)1~254最小規(guī)格化數(shù)2-126階碼取值范圍(真值)-126~127可表示十進制數(shù)范圍10-38~1038階碼個數(shù)254最小非規(guī)格化數(shù)2-149≈10-45數(shù)的定點表示與浮點表示+19.5的單精度浮點數(shù)格式(二進制表示為10011.1或1.00111×24)0、±∞
和NaN(非數(shù))幾個特別值的表示數(shù)值符號尾數(shù)階碼+19.500011100000000000000000010000011000000000000000000000000000000000±∞0或10000000000000000000000011111111NaN0或1非0的任意值11111111非規(guī)格化數(shù)0或1非0的任意值00000000字符串形式把一個十進制數(shù)看作一個字符串,每一個字符用一個字節(jié)表示,采用ASCⅡ碼。兩種表示形式前分隔數(shù)字串符號位占用單獨一個字節(jié),且位于數(shù)字位之前。正號“+”:2BH負號“-”:2DH3.3十進制數(shù)串的表示十進制數(shù)串的表示
例如:+147
-2356后嵌入數(shù)字串符號位不單獨占用一個字節(jié),而是與最低數(shù)位一起編碼。若符號為“+”,則最低數(shù)位0~9的編碼不變,仍然為其ASCⅡ碼;若符號為“-”,則最低數(shù)位0~9的編碼為40H加上其ASCⅡ碼,變?yōu)?0H~79H。十進制數(shù)串的表示
例如:+147
-2356壓縮十進制數(shù)串用一個字節(jié)表示兩位十進制數(shù),每一位十進制用BCD碼表示,符號當作數(shù)位一樣看待,放在最低數(shù)值位之后。正號“+”用1100表示,負號“-”用1101表示。十進制數(shù)串的表示要求數(shù)的總位數(shù)(包含一位符號)必須為偶數(shù),否則在最高位之前補一個“0”。
例如:+147
-2356數(shù)據(jù)校驗碼:指那些能夠發(fā)現(xiàn)錯誤或自動糾正錯誤的數(shù)據(jù)編碼,又叫“檢錯糾錯編碼”。實現(xiàn)原理在正常編碼的基礎(chǔ)上,按某種規(guī)則增加一些校驗位來形成校驗碼,因此形成的校驗碼會滿足一定的規(guī)律。如果檢測到某一編碼不滿足這個規(guī)律了,那它肯定出錯了。常用的數(shù)據(jù)校驗碼奇偶校驗碼、海明校驗碼、循環(huán)冗余校驗碼3.4數(shù)據(jù)校驗碼數(shù)據(jù)校驗碼奇偶校驗碼的編碼方法在n位有效信息位的最前面或最后面增加一位二進制校驗位P,形成n+1位的奇偶校驗碼。如果n+1位的奇偶校驗碼中“1”的個數(shù)為奇數(shù),則稱為奇校驗。如果“1”的個數(shù)為偶數(shù),則稱為偶檢驗。例如:①8位二進制信息00101011
奇校驗碼:001010111
偶校驗碼:001010110②8位二進制信息00101010
奇校驗碼:001010100
偶校驗碼:0010101013.4.1奇偶校驗碼數(shù)據(jù)校驗碼
設(shè)n位有效信息位:XnXn-1…X2X1
其后增加一位二進制校驗位:P
那么它們之間的關(guān)系為:
奇校驗:
偶校驗:奇偶校驗碼的校驗方法如果奇校驗碼中“1”的個數(shù)為偶數(shù),或者偶校驗碼中“1”的個數(shù)為奇數(shù),則編碼出錯了。
數(shù)據(jù)校驗碼校驗方程奇校驗:
偶校驗:如果E=0,則編碼正確;如果E=1,則編碼出錯。
奇偶校驗碼只能發(fā)現(xiàn)一位或奇數(shù)個位出錯,不能發(fā)現(xiàn)偶數(shù)個位同時出錯。不能糾正錯誤。數(shù)據(jù)校驗碼實現(xiàn)原理在n位有效信息位中增加k位校驗位,形成一個n+k位的編碼;把編碼中的每一位分配到k個奇偶校驗組中;每一組只包含一位檢驗位,組內(nèi)按照奇校驗或偶校驗的規(guī)則求出該組中的校驗位。在海明校驗碼中,有效信息位的位數(shù)n與校驗位數(shù)k滿足如下關(guān)系:
2k-1≥n+k3.4.2海明校驗碼數(shù)據(jù)校驗碼海明校驗碼中有效信息位數(shù)與校驗位數(shù)的關(guān)系n最小k值n最小k值1~45~1112~2634527~5758~11967數(shù)據(jù)校驗碼校驗碼的編碼方法海明校驗碼的編碼過程可分3個步驟進行。確定有效信息位與校驗位在編碼中的位置最終形成的n+k位海明校驗碼
Hn+kHn+k-1…H2H1各位的位號按從右到左的順序
1,2,…,n+k
每個校驗位Pi所在的位號:2i-1
(i=1,2,…,k)有效信息位按原排列順序依次安排在其它位置上數(shù)據(jù)校驗碼例如:設(shè)7位有效信息位:X7X6X5X4X3X2X1
n=7校驗位位數(shù)k=4
構(gòu)成的海明校驗碼:11位
4個校驗位P4P3P2P1應(yīng)分別位于位號為2i-1的位置上,i=1,2,3,4,即位號為20、21、22、23。11位海明校驗碼的編碼排列為:位號:111098765432
1
編碼:H11H10H9H8H7H6H5H4H3H2H1X7X6X5P4X4X3X2P3X1P2
P1數(shù)據(jù)校驗碼將n+k位海明校驗碼中的每一位分到k個奇偶校驗組中。分組的方法如下:將校驗碼中的每一位的位號M寫成k位二進制數(shù)的形式:Mk-1Mk-2…M1M0對于編碼中的任何一位HM,依次按從右至左(即從低位到高位)的順序查看其Mk-1Mk-2…M1M0的每一位Mj(j=0,1,…k-1),若該位為“1”,則將HM分到第j組。上面的例子共分為4組。數(shù)據(jù)校驗碼11位海明校驗碼的分組結(jié)果
位號1110987654321位號對應(yīng)的二進制數(shù)10111010100110000111011001010100001100100001編碼X7X6X5P4X4X3X2P3X1P2P1第0組X7X5X4X2X1P1第1組X7X6X4X3X1P2第2組X4X3X2P3第3組X7X6X5P4數(shù)據(jù)校驗碼根據(jù)分組結(jié)果,每一組按奇校驗或偶校驗求出校驗位,形成海明校驗碼。若采用奇校驗,則每一組中“1”的個數(shù)為奇數(shù);若采用偶校驗,則每一組中“1”的個數(shù)為偶數(shù)。
在上面的例子中:
采用奇校驗采用偶校驗
數(shù)據(jù)校驗碼例
在上面的例子中,若7位有效信息位為
X7X6X5X4X3X2X1=1001101求其海明校驗碼。解:若采用奇校驗,則:將這些校驗位與有效信息位一起排列,可得11位海明校驗碼為:
10001101110數(shù)據(jù)校驗碼若采用偶校驗,則:將這些校驗位與有效信息位一起排列,可得11位海明校驗碼為:
10011100101數(shù)據(jù)校驗碼檢驗碼的校驗方法校驗的方法將n+k位海明校驗碼按編碼時采用的方法,重新再分成k個組。奇校驗:每一組中“1”的個數(shù)應(yīng)該為奇數(shù)偶校驗:每一組中“1”的個數(shù)應(yīng)該為偶數(shù)如果不滿足,則表示該校驗碼出錯了。具體實現(xiàn)在分成的k個組中,將每一組中所有的信息位異或起來,得到k位校驗結(jié)果Ek-1Ek-2…E1E0。(指誤字)數(shù)據(jù)校驗碼若奇校驗中=00…00
或偶校驗中
Ek-1Ek-2…E1E0
=00…00
則該校驗碼正確,沒有出錯。否則結(jié)果有錯,這時或Ek-1Ek-2…E1E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深坑土方施工方案
- 資金監(jiān)管委托協(xié)議合同
- 檢測服務(wù)協(xié)議合同
- 沒簽合同先進場協(xié)議
- 打路面混凝土合同協(xié)議
- 解除律師合同協(xié)議
- 油庫租賃合同協(xié)議
- 齊齊哈爾合同協(xié)議翻譯
- 購物合同解除協(xié)議
- 電信員工合同協(xié)議
- 內(nèi)鏡逆行闌尾炎治療術(shù)
- MOOC 馬克思主義民族理論與政策-廣西民族大學 中國大學慕課答案
- 社會保險費繳費申報表(適用單位繳費人)
- 計劃生育終止妊娠相關(guān)理論知識考試試題及答案
- 三月三放假安全教育班會
- 市政三級安全教育
- 傳染病病人的護理
- 2023年江西陶瓷工藝美術(shù)職業(yè)技術(shù)學院招聘考試真題
- 醫(yī)用家具采購?fù)稑朔桨?技術(shù)方案)
- 完整版UPVC排水管施工方案
- 圖解2021年中央民族工作會議大會
評論
0/150
提交評論