版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機組成原理白中英1編輯課件概述計算機組成:主要指計算機硬件的具體實現(xiàn)方式及工作原理從三方面掌握本課程內容硬件結構:從物理上、邏輯上掌握計算機各部件和器件的構成和作用實現(xiàn)方式:硬件聯(lián)接形式和內部處理方式(如控制器、運算器的實現(xiàn)方式等)工作原理:計算機各部分內部工作過程2編輯課件本課程的重要地位
本課程是計算機及相關專業(yè)的核心專業(yè)基礎課,對后續(xù)課程(操作系統(tǒng)、接口與通信等)的學習十分重要??佳斜乜颊n程。通過課程的學習主要掌握以下內容
本課程主要講授單處理機系統(tǒng)的組成及工作原理。分析和說明計算機由哪些功能部件組成(結構),各功能部件在整機中的作用,以及它們如何完成各自所分配的任務(工作原理)。學習難點 內容較多、結構復雜、要有數(shù)字邏輯的基礎學習思路(方法) 分析結構、弄清原理、多做練習3編輯課件
主要內容計算機系統(tǒng)概述(計算機基礎、基本概念)運算方法和運算器(計算機中數(shù)據(jù)的表示和編碼:包括數(shù)值、非數(shù)值數(shù)據(jù),整數(shù)、小數(shù),漢字,校驗碼等。計算機中運算方法:定點運算、浮點運算、邏輯運算。運算器及實現(xiàn))內部存儲器(存儲器芯片的結構與工作原理,存儲器的組織與連接,高速存儲器、CACHE等)指令系統(tǒng)(指令格式、尋址方式、典型指令)中央處理器(CPU的組成及工作原理,控制器的實現(xiàn),CPU實現(xiàn)技術)總線系統(tǒng)(總線概念、總線技術)外圍設備(典型外圍設備基本工作原理)輸入輸出系統(tǒng)(輸入輸出控制方式)操作系統(tǒng)支持(調度,存儲管理,虛擬存儲器等)4編輯課件第一章計算機系統(tǒng)概論第一節(jié)計算機分類 電子計算機從總體上來說分為兩大類:電子模擬計算機和電子數(shù)字計算機。電子模擬計算機的特點是數(shù)值由連續(xù)量來表示,運算過程也是連續(xù)的。電子數(shù)字計算機的主要特點是按位運算,并且不連續(xù)地跳動計算。5編輯課件數(shù)字計算機又可分為專用計算機和通用計算機。專用和通用是根據(jù)計算機的效率、速度、價格、運行的經濟性和適應性來劃分的。專用機是最有效、最經濟和最快速的計算機,它是針對某一任務設計的計算機,但是它的適應性很差。通用機適應性很大,但是犧牲了效率、速度和經濟性。通用計算機又分巨型機、大型機、中型機、小型機、微型機和單片機六類。它們的區(qū)別在于體積、簡易性、功率損耗、性能指標、數(shù)據(jù)存儲容量、指令系統(tǒng)規(guī)模和機器價格。
6編輯課件
第二節(jié)計算機的發(fā)展1、計算機五代變化2、半導體存儲器芯片的發(fā)展3、微處理器的發(fā)展4、計算機體系結構的變化 計算機體系結構是在馮?諾依曼結構的基礎上,圍繞提高速度、提高字長、擴大存儲容量、降低成本、提高系統(tǒng)可靠性和方便使用等諸方面,通過新器件和新軟件提高計算機性能。 體系結構上,從指令系統(tǒng)、微程序設計、流水線結構、多級存儲器體系結構、輸入/輸出體系結構、并行體系結構、分布式體系結構等方面的形成和發(fā)展。體系結構發(fā)展趨勢:網(wǎng)絡化、智能化、模塊化、多媒體應用。7編輯課件第三節(jié)計算機的硬件一、數(shù)字計算機硬件的組成硬件:指計算機中的電子線路和物理裝置。 計算機硬件由五大部分組成:即運算器、控制器、存儲器、輸入設備、輸出設備。運算器進行數(shù)據(jù)處理或信息加工(P8)包括各種算術運算、邏輯運算和判斷處理存儲器存放程序和數(shù)據(jù)(P9)程序是計算機進行各種操作和控制的依據(jù)數(shù)據(jù)是計算機進行操作的對象計算機中存放的程序和數(shù)據(jù)都是二進制形式的8編輯課件控制器控制計算機各部分自動協(xié)調的工作(P10)完成的工作是從內存中讀取指令,分析和解釋指令,然后按指令的要求發(fā)出操作命令,控制計算機各部分自動協(xié)調的工作。 簡單程序 指令形式 控制器的基本任務 指令流和數(shù)據(jù)流馮·諾依曼體系結構計算機的主要特征是:采用存儲程序和數(shù)據(jù),由指令流來控制計算機的操作。輸入設備輸入信息到計算機中的設備輸出設備從計算機中輸出信息的設備9編輯課件第四節(jié)計算機軟件一、軟件的組成與分類
計算機中的各種程序、數(shù)據(jù)和有關文檔構成計算機的軟件系統(tǒng)。計算機的軟件一般分為兩大類:系統(tǒng)軟件:便于計算機使用的系統(tǒng)管理程序(包括操作系統(tǒng)、語言處理、數(shù)據(jù)庫管理系統(tǒng)等)應用軟件:針對用戶具體實際應用的程序10編輯課件二、軟件的發(fā)展目的程序匯編程序源程序編譯程序操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
11編輯課件第四節(jié) 計算機系統(tǒng)的層次結構
一、多級組成的計算機系統(tǒng)微程序設計級一般機器級操作系統(tǒng)級匯編語言級高級語言級二、軟件與硬件的邏輯等價性12編輯課件第四節(jié)計算機系統(tǒng)的層次結構計算機系統(tǒng)具有層次性,它是由多級層次結構組成的。其層次之間的關系十分緊密,上層是下層功能的擴展,下層是上層的基礎;層次的劃分不是絕對的,各層之間有時是相互滲透的。13編輯課件第二章運算方法和運算器第一節(jié)數(shù)據(jù)與文字的表示數(shù)據(jù)一般分為兩大類:數(shù)值數(shù)據(jù):有確定的值,相互間有大小關系非數(shù)值數(shù)據(jù):相互間無大小關系,用于表示符號、文字或屬性。14編輯課件一、數(shù)制及相互轉換1、數(shù)制常用數(shù)制十進制(D):日常使用數(shù)制二進制(B):數(shù)字計算機內部使用數(shù)制十六進制(H):為使于對二進制的閱讀和書寫,常采用十六進制(或八進制)表示。15編輯課件對一任意數(shù)S,其r進制數(shù)表示為(S)r=kn×rn-1+kn-1×rn-2+…+ki
×ri-1+…+k-m
×r-m-1 其中0≤ki﹤rr稱為進位計數(shù)值的基數(shù),ki為第i位數(shù)字符,i為位序號,ri為第i位的位權。16編輯課件(347)8=3×82+4×81+7×80=(103)10(347.5)8=3×82+4×81+7×80+5×8-1=(231.625)10(34E.5)16=3×162+4×161+14×160+5×16-1=(846.3125)1017編輯課件2、不同數(shù)制間的轉換1>十進制八,十六進制二進制法則整數(shù)部分:除8(16)取余數(shù)小數(shù)部分:乘8(16)取整重復循環(huán)18編輯課件2>八,十六進制二進制二進制八進制以小數(shù)點為界,分別向左和向右每三位分為一組,然后寫出各組對應的八進制數(shù)。二進制十六進制以小數(shù)點為界,分別向左和向右每四位分為一組,然后寫出各組對應的十六進制數(shù)。19編輯課件3>八,十六進制十進制直接按照相應進制數(shù)的公式,依“按權相加”的方法計算出通式的值。(10110.01)=1×24+0×23+1×22+1×81+1×20+0×2-1+1×2-2=(22.25)10(347.5)8=3×82+4×81+7×80+5×8-1=(231.625)10(34E.5)16=3×162+4×161+14×160+5×16-1=(846.3125)1020編輯課件二、數(shù)據(jù)格式 在計算機中進行數(shù)據(jù)表示時需考慮的幾個因素:表示數(shù)的類型(小數(shù)、整數(shù)、實數(shù)等)數(shù)值的范圍數(shù)值的精度數(shù)據(jù)存儲及處理的硬件代價
21編輯課件計算機中常用的數(shù)據(jù)表示格式有兩種,一是定點格式,二是浮點格式。 一般來說
定點格式容許的數(shù)值范圍有限(通常用于表示整數(shù)或純小數(shù)),但要求的處理硬件比較簡單。
浮點格式容許的數(shù)值范圍很大(可以表示實數(shù)),但要求的處理硬件比較復雜。22編輯課件1、定點數(shù)的表示 定點表示:約定機器中所有數(shù)據(jù)的小數(shù)點位置是固定不變的。 由于約定在固定的位置,小數(shù)點就不再使用記號“.”來表示。通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)。n+1位定點數(shù)表示: X0X1X2X3…Xi…
Xn-2Xn-1Xn
其中X0為符號位,X1…Xn為數(shù)值部分, Xi為0或1。23編輯課件1>定點小數(shù)最高位為符號位,小數(shù)點位置隱含約定在符號位后,其后為數(shù)值部分n+1位定點小數(shù)的表示范圍是
0≤︱X︱≤1-2-n 或:
—
(1-2-n)≤
X≤1-2-n(16位小數(shù)范圍:—
(1-2-15)≤
X≤1-2-15)24編輯課件2>定點整數(shù)最高位為符號位,其后為數(shù)值部分,小數(shù)點位置隱含約定在數(shù)值部分的后面。n+1位定點整數(shù)的表示范圍是
0≤︱X︱≤2n-1 或:
—
(2n-1)≤
X≤2n-1(16位整數(shù)范圍:—
(215-1)≤
X≤(215-1)25編輯課件2、浮點表示法1>數(shù)的浮點表示其范圍和精度部分分別用定點數(shù)表示123.45=1234.5×10-1=12345×10-2 =123450×10-34796.54=0.479654×1040.00479654=0.479654×10-2-0.00479654=-0.479654×10-226編輯課件101.1101=0.1011101×20011=0.010111010×20100-101.1101=-0.1011101×20011
=-0.010111010×201000.0001011101=0.1011101×2-0011
=0.010111010×2-0010-0.0001011101=-0.1011101×2-0011
=-0.010111010×2-001027編輯課件
任意十進制N,可以化為N=M×10E其中M為小數(shù),E為整數(shù)一個數(shù)S的任意進制表示(S)R=m×Re
m:尾數(shù),是一個純小數(shù)。e:比例因子的指數(shù),稱為浮點的指數(shù),是一個整數(shù)。R:比例因子的基數(shù),對于二進計數(shù)值的機器是一個常數(shù),一般規(guī)定R為2,8或16。28編輯課件浮點表示法:把一個數(shù)的有效數(shù)字和數(shù)的范圍在計算機的一個存儲單元中分別予以表示,這種把數(shù)的范圍和精度分別表示的方法,數(shù)的小數(shù)點位置隨比例因子的不同而在一定范圍內自由浮動。
對于:101.1101(=0.1011101×20011)只需存放0.1011101和0011即01011101001129編輯課件一個機器浮點數(shù)由階碼和尾數(shù)及其符號位組成(尾數(shù):用定點小數(shù)表示,給出有效數(shù)字的位數(shù),決定了浮點數(shù)的表示精度;階碼:用整數(shù)形式表示,指明小數(shù)點在數(shù)據(jù)中的位置,決定了浮點數(shù)的表示范圍。)具體格式見教材P1730編輯課件IEEE標準
總位數(shù)符號位階碼尾數(shù)短實數(shù)321823長實數(shù)6411152臨時實數(shù)801156431編輯課件
階碼和尾數(shù)各占用的位數(shù)確定了浮點數(shù)的格式對二進制數(shù)而言:1110.011=0.1110011×21000.001110011=0.1110011×2-10
-0.001110011=-0.1110011×2-10在將上面的數(shù)以浮點數(shù)格式存放時,只需將紅色部分按照浮點數(shù)格式要求的位數(shù),化為相應的補碼或移碼,按照浮點數(shù)格式存放。32編輯課件為提高數(shù)據(jù)的表示精度,當尾數(shù)的值不為0時,其絕對值應≥0.5,即尾數(shù)域的最高有效位應為1,否則以修改階碼同時左右移小數(shù)點的辦法,使其變成這一表示形式,這稱為浮點數(shù)的規(guī)格化表示。
101.1101=0.1011101×20011=0.010111010×20100規(guī)格化表示為尾數(shù)是0.1011101,階碼是0011而尾數(shù)是0.01011101,階碼是0100不是規(guī)格化表示。33編輯課件當浮點數(shù)的①尾數(shù)為0,不論其階碼為何值,或者②階碼的值遇到比它能表示的最小值還小時,不管其尾數(shù)為何值,計算機都把該浮點數(shù)看成零值,稱為機器零。浮點數(shù)轉換的實例見P1834編輯課件IEEE754浮點數(shù)格式說明一個規(guī)格化的32位浮點數(shù)x的真值可表示為
x=(-1)s×(1.M)×2E-127
e=E-127
其中E的范圍是1~254(階碼范圍-126~+127),0和255作特殊用途:①浮點數(shù)+0,-0:E=0,M=0時表示x=(-1)S×0②+∞,-∞:E=255,M=0時x=(-1)S×∞IEEE754的32位浮點數(shù)表示的除0外的絕對值最小的數(shù):
s0000000100000000000000000000000 x=(-1)S×2-126×1.0IEEE754的32位浮點數(shù)表示的除∞外的絕對值最大的數(shù):
s1111111011111111111111111111111 x=(-1)S×2127×(2-2-23)35編輯課件3、十進制數(shù)串的表示十進制數(shù)串在計算機內主要有兩種表示形式:1>字符串形式字符串形式:一個字節(jié)存放一個十進制的數(shù)位或符號位。為了指明這樣一個數(shù),需要給出該數(shù)在主存中的起始地址和位數(shù)(串的長度)。36編輯課件2.壓縮的十進制數(shù)串形式壓縮的十進制數(shù)串形式:一個字節(jié)存放兩個十進制的數(shù)位。它比前一種形式節(jié)省存儲空間,又便于直接完成十進制數(shù)的算術運算,是廣泛采用的較為理想的方法。BCD碼(二-十進制編碼)37編輯課件4、自定義數(shù)據(jù)表示自定義數(shù)據(jù)表示則用數(shù)據(jù)本身來說明數(shù)據(jù)類型。其表示形式有兩種,即標志符數(shù)據(jù)表示和描述符數(shù)據(jù)表示。標志符數(shù)據(jù)表示要求對每一個數(shù)據(jù)都附加標志符(P22),其中標志符指明后面的數(shù)據(jù)所具有的類型,如整數(shù)、浮點數(shù)、BCD數(shù)、字符串等。38編輯課件描述符數(shù)據(jù)表示主要用來描述多維結構的數(shù)據(jù)類型,如向量、矩陣、記錄等(P23)。描述符標志位部分指明這是一個數(shù)據(jù)描述符;特征標記部分指明數(shù)據(jù)的各種特征;長度部分指明數(shù)組中元素個數(shù);起始地址部分指明數(shù)據(jù)塊的首地址。39編輯課件標志符與描述符表示的區(qū)別是:(1)標志符與每個數(shù)據(jù)相連,二者合起來存放在一個存儲單元,而描述符要和數(shù)據(jù)分開存放。(2)描述符表示中,先訪問描述符,后訪問數(shù)據(jù),至少增加一次訪存。(3)描述符是程序的一部分,而不是數(shù)據(jù)的一部分。40編輯課件二、數(shù)的機器碼表示在計算機中對數(shù)據(jù)進行運算操作時,符號位的表示,符號位是否也同數(shù)值位一道參加運算,如何參加運算?為了妥善的處理好這些問題,就需要把符號位和數(shù)字位一起編碼表示數(shù)據(jù),為適應不同的處理要求,產生了多種數(shù)據(jù)編碼方法,如原碼、補碼、反碼、移碼等。
41編輯課件計算機中對數(shù)據(jù)的表示都采用二進制編碼真值:數(shù)值數(shù)據(jù)的實際值,如257,-33,1011B等機器數(shù)(機器碼):數(shù)值數(shù)據(jù)在計算機內的編碼表示42編輯課件
在計算機中通常采用原碼、補碼、反碼和移碼表示數(shù)值數(shù)據(jù)原碼、補碼、反碼的共性:1)這幾種編碼表示中,正數(shù)的編碼值與真值一樣,負數(shù)具有不同的編碼。2)編碼的最高位為符號位:0表示正1表示負43編輯課件1、原碼表示法符號位:0表示正,1表示負 數(shù)值部分:與真值的二進制形式一樣原碼的特征:1)零有兩種表示:+0和-0[+0]原=0.000...0[-0]原=1.000...02)優(yōu)點:簡單直觀,便于乘、除法運算缺點:加減法運算不便(符號不能直接參預運算)44編輯課件2、反碼表示法符號位:0表示正,1表示負 數(shù)值部分:正數(shù)不變;負數(shù)反碼是將真值的各位取反得到反碼的特征:1)零有兩種表示:+0和-0
[+0]反=0.00...0[-0]反=1.11...12)通常用于求補碼45編輯課件3、補碼表示法符號位:0表示正,1表示負 數(shù)值部分:正數(shù)不變;負數(shù)通過求補得到計算機中數(shù)值數(shù)據(jù)采用補碼形式,其符號部分可以直接參預加、減法運算。補碼的特征:1)零的表示唯一2)補碼加減法運算中,符號直接參預運算3)定點小數(shù)表示中,[-1]補=1.00…046編輯課件4、移碼表示法 移碼通常用于表示浮點數(shù)的階碼。階碼是個n位的整數(shù)。n+1位移碼的定義是
[x]移=2n+x2n>x≥-2n符號位:1表示正,0表示負 數(shù)值部分:與補碼數(shù)值部分相同移碼的特征:1)零的表示唯一:100…00
2)移碼只能表示整數(shù)(只有整數(shù)有移碼),用于浮點數(shù)階碼表示47編輯課件例:寫出下列各數(shù)8位的原碼、反碼、補碼、移碼表示。 77 -103 -0.01101 -23/6477=1001101-103=-1100111-23/64=-10111×2-6=-0.01011148編輯課件例:寫出下列機器碼的真值。[x1]原=0.110101 [x2]原=1000101[x3]反=1.010101 [x4]反=0.000101[x5]補=1.010101 [x6]補=0.000101[x7]補=1.000000 [x8]補=10000000[x3]移=1.010101 [x4]移=0.00010149編輯課件三、字符與字符串的表示方法1、字符的表示采用7位ASCII碼表示‘0’~‘9’ 30H~39H‘A’ 41H‘a’ 61H50編輯課件2、字符串的表示 字符串是指連續(xù)的一串字符,通常方式下,它們占用主存中連續(xù)的多個字節(jié),每個字節(jié)存一個字符。 當主存字由2個或4個字節(jié)組成時,在同一個主存字中,既可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內容,也可按從高位字節(jié)向低位字節(jié)的次序順序存放字符串的內容。51編輯課件四、漢字的表示方法 內部編碼(內碼),輸入碼,顯示(打?。┐a52編輯課件五、校驗碼校驗碼:按照一定的規(guī)律和方法,通過給數(shù)據(jù)增加一位或多位數(shù)據(jù)而重新編碼的方法,使得計算機能夠發(fā)現(xiàn)或糾正數(shù)據(jù)在存放或傳送過程中出現(xiàn)的錯誤。這樣得到的新的編碼稱為校驗碼。其中增加的數(shù)據(jù)位稱為校驗位。53編輯課件檢錯碼:具有發(fā)現(xiàn)錯誤能力的校驗碼稱為檢錯碼。糾錯碼:能夠發(fā)現(xiàn)并糾正錯誤的校驗碼稱為糾錯碼。奇偶校驗碼:能夠發(fā)現(xiàn)一位或奇數(shù)位數(shù)據(jù)錯誤。奇校驗碼:通過給數(shù)據(jù)增加一位校驗位,使校驗碼中‘1’的個數(shù)為奇數(shù)個。偶校驗碼:通過給數(shù)據(jù)增加一位校驗位,使校驗碼中‘1’的個數(shù)為偶數(shù)個。54編輯課件第二節(jié)定點加、減法運算一、補碼加法1、補碼加法 負數(shù)用補碼表示后,可以和正數(shù)一樣來處理。這樣,運算器里只需要一個加法器就可以了,不必為了負數(shù)的加法運算,再配一個減法器。補碼加法的公式是
[x]補+[y]補=[x+y]補(mod2)補碼加法的特點:符號位要作為數(shù)的一部分一起參加運算,要在模2的意義下相加,即超過2的進位要丟掉。55編輯課件2、補碼減法 負數(shù)的減法運算也要設法化為加法來做,其所以使用這種方法而不使用直接減法,是因為它可以和常規(guī)的加法運算使用同一加法器電路,從而簡化了計算機的設計。數(shù)用補碼表示時,減法運算的公式為
[x-y]補=[x]補-[y]補=[x]補+[-y]補
在實際計算時,利用
[x-y]補=[x]補+[-y]補公式將減法運算變?yōu)榧臃ㄟM行56編輯課件現(xiàn)在的問題是如何從[y]補去求[-y]補這一點在硬件上實現(xiàn)也很簡單,只需對[y]補包括符號位“求反且最末位加1”(簡稱“求反加1”),即可得到[-y]補。57編輯課件三、溢出概念與檢測方法
在定點小數(shù)機器中,數(shù)的表示范圍為|x|<1.在運算過程中如出現(xiàn)大于1的現(xiàn)象,稱為“溢出”。在定點機中,正常情況下溢出是不允許的。上溢:兩個正數(shù)相加,結果大于機器所能表示的最大正數(shù),稱為上溢。下溢:兩個負數(shù)相加,結果小于機器所能表示的最小負數(shù),稱為下溢。58編輯課件為判斷運算中是否產生溢出,可采用兩種檢測的方法。第一種方法是采用雙符號位法,第二種方法是采用單符號位法。1、雙符號位法雙符號位法,也稱為“變形補碼”或“模4補碼”變形補碼定義為:[x]補=x2>x≥0 4+x0>x≥-2采用變形補碼后,正數(shù)的符號位為00,負數(shù)的符號位為11,當運算結果符號不為00或11時,說明產生了溢出。59編輯課件采用變形(模4)補碼運算時有以下規(guī)律:當以模4補碼運算,運算結果的二符號位相異時,表示溢出;相同時,表示未溢出。故溢出邏輯表達式為V=Sf1⊕Sf2,其中Sf1和Sf2分別為最高符號位和第二符號位。此邏輯表達式可用異或門實現(xiàn)。模4補碼相加的結果,不論溢出與否,最高符號位始終指示正確的符號。60編輯課件2、單符號位法從補碼加、減法運算中我們看到:當最高有效位產生進位而符號位無進位時,產生上溢。當最高有效位無進位而符號位有進位時,產生下溢。我們可以借助進位關系給出溢出邏輯表達式:
V=Cf⊕Co
其中:Cf為符號位產生的進位 Co為最高有效位產生的進位 此邏輯表達式也可用異或門實現(xiàn)。61編輯課件四、基本的二進制加/減法器1、全加器FA全加器FA可以實現(xiàn)兩個二進制數(shù)字Ai,Bi和一個進位輸入Ci相加,產生一個本位和輸出Si,以及一個進位輸出Ci+1。其邏輯關系為:
Si=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi可用如圖所示電路實現(xiàn)一位加法62編輯課件2、行波進位加/減法器 n個1位的全加器(FA)可級聯(lián)成一個n位的行波進位加減器(P35圖2.2)。 M為方式控制輸入線(控制進行加法,還是減法運算):當M=0時,作加法(A+B)運算;當M=1時,作減法(A-B)運算,在后一種情況下,A-B運算轉化成[A]補+[-B]補運算,求補過程由B取反加1來實現(xiàn)。 電路采用單符號位法的溢出檢測邏輯:當Cn=Cn-1時,運算無溢出;當Cn≠Cn-1時,運算有溢出,經異或門產生溢出信號。63編輯課件n位行波進位加法器的延遲時間ta為
ta=n·2T+9T=(2n+9)T從上式可看出,采用行波進位加法器時,位數(shù)越多,延遲時間越長。64編輯課件五、十進制加法器 十進制加法器可由BCD碼(二-十進制碼)來設計,它是在二進制加法器的基礎上加上適當?shù)摹靶U边壿媮韺崿F(xiàn)的。 一位BCD碼加法電路由四位二進制加法電路加上校正電路構成。校正邏輯關系為:本位十進制和小于10時,不必校正;本位十進制和大于10時,通過將本位和加6修正。
Si=S'I
當xi+yi+Ci<10 Si=S'i+6
當xi+yi+Ci>1065編輯課件第三節(jié) 定點乘法運算一、原碼乘法 在定點計算機中,兩個原碼數(shù)相乘的運算規(guī)則: 乘積的符號位由兩數(shù)的符號位按異或運算得到,而乘積的數(shù)值部分則是兩個正數(shù)相乘之積。
66編輯課件設n位被乘數(shù)和乘數(shù)用定點小數(shù)表示(定點整數(shù)也同樣適用)被乘數(shù)[x]原=xf.xn-1…x1x0乘數(shù)[y]原=yf.yn-1…y1y0則乘積
[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)
式中,xf為被乘數(shù)符號,yf為乘數(shù)符號。67編輯課件1、二進制乘法的手算過程設x=0.1101,y=0.1011.讓我們先用習慣方法求其乘積,其過程如下:68編輯課件2、改進的運算過程 0.1101×0.1011的運算過程 0.1101
× 0.1011 0.1101 →0.01101
+0.1101 1.00111 →0.100111
+ 0.0000 0.100111 → 0.0100111
+ 0.1101 1.0001111 → 0.1000111169編輯課件3、一位原碼乘法X×Y=X·(0.Y1Y2…Yn) =X·(Y12-1+Y22-2+…+Yn2-n) =2-1(Y1X+2-1(Y2X+2-1(…+2-1(YnX+0)…)上式的遞推形式為 P0=0 P1=2-1(YnX+P0) P2=2-1(Yn-1X+P1) …… Pi=2-1(Yn-i+1X+Pi-1) …… Pn=2-1(Y1X+Pn-1)上式的實際操作為:累加、右移70編輯課件 X=-0.1101Y=0.1011
部分積 乘數(shù)判別位
00.0000 0.1011
+ 00.1101 00.1101 → 00.01101 0.101
+ 00.1101 01.00111 → 00.100111 0.10
+ 00.0000 00.100111 → 00.01001110.1
+ 00.1101 01.0001111 00.10001111Pf=1⊕0=1【X×Y】原
=1.10001111X×Y=-0.1000111171編輯課件4、不帶符號的陣列乘法器設有兩個不帶符號的二進制整數(shù):A=am-1…a1a0B=bn-1…b1b0它們的數(shù)值分別為a和b,即m-1
n-1
a=∑ai2ib=∑bj2j
i=0j=0在二進制乘法中,被乘數(shù)A與乘數(shù)B相乘,產生m+n位乘積P: P=pm+n-1…p1p0乘積P的數(shù)值為:72編輯課件實現(xiàn)這個乘法過程所需要的操作: 其中的aibj實際為ai與bj的邏輯與73編輯課件按照P39圖2.5的電路構成陣列乘法器,m位被乘數(shù),n位乘數(shù)的陣列乘法器可由(m-1)×n個全加器構成。為提高并行處理能力和速度,減少進位延遲時間,每行相加產生的進位移到下一行前一位的全加器處理。5、帶符號的陣列乘法器 原理陣列乘法器只能處理原碼的乘法運算,但在計算機中數(shù)據(jù)經常采用補碼表示,為實現(xiàn)補碼乘法運算,就需要采用帶符號的陣列乘法器。 帶符號的陣列乘法器可借助無符號的陣列乘法器加上求實電路實現(xiàn)。74編輯課件求補電路一個具有可控的二進制對2求補器電路如圖2.6
,其邏輯表達式如下:
C-1=0,Ci=ai+Ci-1 ai*=ai⊕ECi-1,0≤i≤n 在對2求補時,是采用按位掃描技術來執(zhí)行所需要的求補操作:從最后一位開始,找到出現(xiàn)的第一個1,并保持該位不變,然后對前面所有的位求反。
75編輯課件 帶求補器的陣列乘法器采用不帶符號的陣列乘法器附加三個求補器構成:其中兩個算前求補器的作用是:將兩個操作數(shù)A和B在被不帶符號的乘法陣列(核心部件)相乘以前,先變成正整數(shù)。算后求補器的作用則是:當兩個輸入操作數(shù)的符號不一致時,把運算結果變成帶符號的數(shù)。76編輯課件二、補碼乘法1、補碼性質及補碼乘法運算規(guī)則 為了解補碼乘法運算規(guī)律,先要知道補碼一些性質。①補碼與真值的關系 設[X]補=X0.X1X2…Xn 則X=-X0+0.X1X2…Xn②補碼乘法 設[X]補=X0.X1X2…Xn,[Y]補=Y0.Y1Y2…Yn 則 [X×Y]補=[X]補×(-Y0+0.Y1Y2…Yn)77編輯課件③補碼乘法遞推式 [X×Y]補=[X]補×[(Y1-Y0)+(Y2-Y1)2-1+……+ (0-Yn)2-n] =[X]補×∑(Yi+1-Yi)2-i
[P0]補=0[P1]補={[P0]補+(Yn+1-Yn)×[X]補}×2-1 Yn+1=0[P2]補={[P1]補+(Yn-Yn-1)×[X]補}×2-1
………[Pi]補={[Pi-1]補+(Yn-i+2-Yn-i+1)×[X]補}×2-1 ………[Pn]補={[Pn-1]補+(Y2-Y1)×[X]補}×2-1[X×Y]補=[Pn+1]補={[Pn]補+(Y1-Y0)×[X]補}×2-178編輯課件2、補碼一位乘法例:設X=-0.1011Y=-0.110,用補碼一位乘法計算X*Y解:【X】補=1.0101【-X】補=0.1011【Y】補=1.0101
部分積 乘數(shù)判別位
00.0000 1.00110 -X
+ 00.1011 00.1011 → 00.01011 1.0011 +0
+ 00.0000 00.01011
79編輯課件
+ 00.0000 00.01011 → 00.001011 1.001 +X
+ 11.0101 11.011111 → 11.10111111.00
+ 00.0000 11.1011111 → 11.11011111 1.0 -X
+ 00.1011 00.10001111【X×Y】補
=0.10001111X×Y=0.1000111180編輯課件3、補碼乘法陣列①一般化的全加器 常規(guī)的一位全加器可假定它的3個輸入和2個輸出都是正權。這種加法器通過把正權或負權加到輸入/輸出端,可以歸納出四類加法單元。(見P43表2.3)81編輯課件②直接補碼陣列乘法器利用混合型的全加器就可以構成直接補碼數(shù)陣列乘法器。設被乘數(shù)A和乘數(shù)B是兩個5位的二進制補碼數(shù),即A=(a4)a3a2a1a0B=(b4)a3a2a1a0它們具有帶負權的符號位a4和b4,并用括號標注。如果我們用括號來標注負的被加項,例如(aibJ),那么A和B相乘過程中所包含的操作步驟如矩陣所示。82編輯課件 (a4)a3a2
a1
a0=A
×(b4)b3b2b1b0=B (a4b0)a3b0a1b0a1b0a0b0
(a4b1)a3b1a2b1a1b1a0b1
(a4b2)a3b2a2b2a1b2a0b2
(a4b3)a3b3a2b3a1b3a0b3+)a4b4(a3b4)(a2b4)(a1b4)(a0b4)
p9
p8
p7
p6
p5
p4p3p2p1
p0=P
83編輯課件第三節(jié) 定點除法運算一、原碼除法運算法則兩個原碼表示的數(shù)相除時,商的符號由兩數(shù)的符號按位相加求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。設有n位定點小數(shù)(定點整數(shù)也同樣適用):
被除數(shù)x,其原碼為[x]原=xf.xn-1…x1x0除數(shù)y,其原碼為[y]原=yf.yn-1…y1y0
則有商q=x/y,其原碼為[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)由上公式可見,商的符號位很容易得到,關鍵是數(shù)值部分如何計算。84編輯課件二、原碼不恢復余數(shù)法(加減交替法)計算機中串行除法是通過左移余數(shù)和加(減)除數(shù)來實現(xiàn)除法運算處理的。首先我們看一看原碼除法運算規(guī)則。原碼不恢復余數(shù)法運算法則:首先用被除數(shù)減去除數(shù),然后按下列過程重復:當余數(shù)為正時,商1,余數(shù)左移1位,減除數(shù)當余數(shù)為負時,商0,余數(shù)左移1位,加除數(shù)85編輯課件例:設X=0.1001,Y=-0.1011,用原碼不恢復余數(shù)法求X÷Y。解:[︱Y︱]補=00.1011,[-︱Y︱]補=11.0101被除數(shù)/余數(shù)商 說明 00.1001+(-y)11.0101x-y 11.1110 0 余數(shù)<0,商0← 11.1100 0左移+y 00.1011 加上除數(shù) 00.01110.1余數(shù)>0,商1← 00.1110 0.1左移+(-y)11.0101x-y 00.0011 0.11余數(shù)>0,商1← 00.0110 0.11左移+(-y)11.0101x-y 11.1011 0.110余數(shù)<0,商0
86編輯課件+(-y)11.0101x-y 11.1011 0.110余數(shù)<0,商0←11.0110 0.110左移+y00.1011 加上除數(shù) 00.0001 0.1101余數(shù)>0,商1Qf=0⊕1=1[X÷Y]原=1.1101,∴X÷Y=-0.110187編輯課件三、并行除法器1、可控加法/減法(CAS)單元 可控加法/減法(CAS)單元,它將用于并行除法流水邏輯陣列中,它有四個輸出端和四個輸入端。當控制端P=0時,CAS作加法運算; P=1時,CAS作減法運算。2、不恢復余數(shù)法的除法陣列 不恢復余數(shù)法的除法陣列由一組可控加法/減法(CAS)單元的陣列來構成。 根據(jù)原碼不恢復余數(shù)法的法則,當余數(shù)為正時,商1,余數(shù)左移1位,減除數(shù);當余數(shù)為負時,商0,余數(shù)左移1位,加除數(shù)。 在不恢復余數(shù)法的除法陣列中,每行根據(jù)余數(shù)的有(無)借位(反映余數(shù)為負或正)確定商1(0),并確定下一行進行余數(shù)減(加)除數(shù)的運算。88編輯課件第五節(jié) 定點運算器的組成
運算器是計算機的數(shù)據(jù)加工處理部件。 運算器主要由算術邏輯運算單元(ALU)、數(shù)據(jù)緩沖寄存器、通用寄存器、多路轉換電路和數(shù)據(jù)總線等邏輯器(部)件構成。一、邏輯運算
邏輯數(shù):不帶符號的二進制數(shù)。 邏輯運算是對數(shù)據(jù)的對位處理。主要包括邏輯非(求反)、邏輯加(或)、邏輯乘(與)和邏輯異(異或、按位加)基本運算。89編輯課件二、多功能算術/邏輯運算單元(ALU)
由一位全加器(FA)構成的行波進位加法器,它可以實現(xiàn)補碼數(shù)的加法運算和減法運算。但是這種加法/減法器存在兩個問題:一是由于串行進位,它的運算時間很長。二是就行波進位加法器本身來說,它只能完成加法和減法兩種操作而不能完成邏輯操作。 多功能算術/邏輯運算單元(ALU)不僅具有多種算術運算和邏輯運算的功能,而且具有先行進位邏輯,從而能實現(xiàn)高速運算。90編輯課件1.基本思想
一位全加器(FA)的邏輯表達式為
Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi 將Ai和Bi先組合成由控制參數(shù)S0,S1,S2,S3控制的組合函數(shù)Xi和Yi,然后再將Xi,Yi和下一位進位數(shù)通過全加器進行全加。這樣,不同的控制參數(shù)可以得到不同的組合函數(shù),因而能夠實現(xiàn)多種算術運算和邏輯運算。 一位算術/邏輯運算單元的邏輯表達式為Fi=Xi⊕Yi⊕Cn+iCn+i+1=XiYi+YiCn+i+Cn+iXi 控制參數(shù)S0,S1,S2,S3控制根據(jù)Ai和Bi產生不同Xi和Yi,經由全加器處理,實現(xiàn)多種算術運算和邏輯運算。因此,不同控制參數(shù)S0,S1,S2,S3確定不同的運算功能。91編輯課件2、ALU的邏輯關系 控制參數(shù)S0,S1,S2,S3分別控制輸入Ai和Bi,產生Y和X的函數(shù)。其中Yi是受S0,S1控制的Ai和Bi的組合函數(shù),而Xi是受S2,S3控制的Ai和Bi組合函數(shù),其函數(shù)關系如表2.4所示。 綜合全加器的邏輯關系,可得ALU的某一位邏輯表達式如(教材P53)公式2.36。
92編輯課件一般ALU以四位作為一組,四位間進位采用先行進位。各位間的進位關系
Ci=XiYi+(Xi⊕Yi)Ci-1=Gi+PiCi-1 其中Gi=XiYi
稱為進位生成函數(shù)
Pi=Xi⊕Yi 稱為進位傳遞函數(shù)串行進位C1=G1+P1C0
C2=G2+P2C1 …… Ci=Gi+PiCi-1
…… Cn=Gn+PnCn-1
Gi、Pi只與第I位的輸入有關,進位一位一位的傳遞93編輯課件先行進位公式第0位向第1位的進位公式為
Cn+1=Y0+X0Cn其中Cn是向第0位(末位)的進位。第1位向第2位的進位公式為
Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn第2位向第3位的進位公式為Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn
第3位的進位輸出(即整個4位運算進位輸出)公式為
Cn+4=Y3+X3Cn+3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn
94編輯課件
設
G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 則 Cn+4=G+PCn 這樣,對一片ALU來說,可有三個進位輸出。其中Cn+4是本片(組)的最后進位輸出,G稱為進位發(fā)生輸出,P稱為進位傳送輸出。 在電路中多加G和P這兩個進位輸出的目的,是為了便于實現(xiàn)多片(組)ALU之間的先行進位,為此還需一個配合電路,稱之為先行進位發(fā)生器(CLA)。95編輯課件3、74181算術邏輯運算單元 74181是一個四位的算術邏輯運算單元(ALU)。它除了S0-S3四個控制端外,還有一個控制端M,用于控制ALU是進行算術運算還是進行邏輯運算。當M=0時,M對進位信號沒有任何影響。此時F不僅與本位的被操作數(shù)Y和操作數(shù)X有關,而且與本位的進位輸出,即C有關,因此M=0時,進行算術運算。當M=1時,封鎖了各位的進位輸出,即C=0,因此各位的運算結果F僅與Y和X有關,故M=1時,進行邏輯運算。 74181的運算功能見教材P55圖2.596編輯課件4、兩級先行進位的ALU
74181ALU設置了P和G兩個本組先行進位輸出端。如果將四片74181的P,G輸出端送入到74182先行進位部件(CLA),又可實現(xiàn)第二級的先行進位,即組與組之間的先行進位。 假設4片(組)74181的先行進位輸出依次為P0,G0,G1.P1,P2,G2,P3,G3,那么參考式(2.37)的進位邏輯表達式,先行進位部件74182CLA所提供的進位邏輯關系如下:
Cn+x=G0+P0CnCn+y=G1+P1Cn+x=G1+G0P1+P0P1CnCn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+ P0P1P2CnCn+4=G3+P3Cn+z=G3+G2P3+G1P1P2+ G0P1P2P3+P0P1P2P3Cn
=G*+P*Cn97編輯課件其中
P*=P0P1P2P3G*=G3+G2P3+G1P1P2+G0P1P2P3G*稱為成組進位發(fā)生輸出,P*稱為成組進位傳送輸出。
可用若干個74181位片式ALU,與配套的74182先行進位部件CLA在一起,構成一個全字長的ALU。98編輯課件三、內部總線 計算機內部的主要工作過程是信息傳送和加工的過程,因此在機器內部各部件之間的數(shù)據(jù)傳送非常頻繁。為了減少內部的傳送線并便于控制,通常將一些寄存器之間數(shù)據(jù)傳送的通路加以歸并,組成總線結構,使不同來源的信息分時在總線上傳送。 根據(jù)總線所在位置,總線分為內部總線和外部總線兩類。內部總線是指CPU內各部件的連線。外部總線是指系統(tǒng)總線,即CPU與存儲器、I/O系統(tǒng)之間的連線。 根據(jù)總線的邏輯結構來說,總線可分為單向傳送總線和雙向傳送總線。單向總線,就是信息只能向一個方向傳送。雙向總線,就是信息可以分兩個方向傳送,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。99編輯課件
圖2.14(a)是帶有緩沖驅動器的4位雙向數(shù)據(jù)總其中所用的基本電路就是三態(tài)邏輯電路。 當“發(fā)送”信號有效時,數(shù)據(jù)從左向右傳送。反之,當“接收”信號有效時,數(shù)據(jù)從右向左傳送。因此也稱為總線收發(fā)器。通過控制信號可以控制實現(xiàn)數(shù)據(jù)在總線上的傳送。 這種類型的緩沖器通常根據(jù)它們如何使用而叫作總線擴展器、總線驅動器、總線接收器等等。 圖2.14(b)所示的是帶有鎖存器的4位雙向數(shù)據(jù)總線。它可以實現(xiàn)數(shù)據(jù)的鎖存和發(fā)送。
100編輯課件四、定點運算器的基本結構
運算器包括ALU、陣列乘除器、寄存器、多路開關、三態(tài)緩沖器、數(shù)據(jù)總線等邏輯部件。 運算器的結構,主要是圍繞ALU、寄存器同數(shù)據(jù)總線之間如何傳送操作數(shù)和運算結果考慮和設計的。 計算機的運算器大體有三種結構形式1、單總線結構的運算器
單總線結構的運算器所有部件都接到同一總線上,所以數(shù)據(jù)可以在任何兩個寄存器之間,或者在任一個寄存器和ALU之間傳送。 單總線結構運算器在同一時間內,只能有一個操作數(shù)放在單總線上。為了把兩個操作數(shù)輸入到ALU,需要分兩次來進行,而且還需要A,B兩個緩沖寄存器。特點:控制電路比較簡單,操作速度較慢。101編輯課件2、雙總線結構的運算器 雙總線結構的運算器具有兩條總線,并且可以各自將其數(shù)據(jù)送至ALU的輸入端。 在這種結構中,兩個操作數(shù)只需一次操作控制就可同時送到ALU進行運算,而且馬上就可以得到運算結果。但是運算的結果必須先暫存在緩沖器中。3、三總線結構的運算器
三總線結構運算器中,ALU的兩個輸入端分別由兩條總線供給,而ALU的輸出則與第三條總線相連。這樣,算術邏輯操作就可以在一步的控制之內完成。102編輯課件第六節(jié) 浮點運算方法和浮點運算器一、浮點數(shù)加、減法運算1、運算規(guī)則 設有兩個浮點數(shù)x和y,它們分別為x=2Ex·Mxy=2Ey·My其中Ex和Ey分別為數(shù)x和y的階碼,Mx和My分別為數(shù)x和y的尾數(shù)。1> 當Ex=Ey=E時,
x±y=2E×(Mx±My)2> 當EX≠EY時,先通過對階,使X和Y的階碼相同,然后按照上式計算。
x±y=(Mx2Ex-Ey±My)2Ey,Ex<=Ey103編輯課件2、浮點數(shù)加、減法運算步驟:1>0操作數(shù)檢查2>對階(小階向大階看齊) 先求階差△E=EX-EY①若△E=0,則不必對階②若△E>0,則EX>EY,階碼向EX看齊,MY右移△E位③若△E<0,則EX<EY,階碼向EY看齊,MX右移△E位3>尾數(shù)相加減4>結果規(guī)格化將尾數(shù)部分變?yōu)?.1…或1.0…的形式分為左規(guī)格化或右規(guī)格化5>舍入處理104編輯課件3、對尾數(shù)采用補碼時的規(guī)格化處理右規(guī)格化:尾數(shù)結果為10.…或01.…時進行處理方法:將尾數(shù)右移1位,并且階碼加1。左規(guī)格化:尾數(shù)結果為0.0…或1.1…時進行處理方法:尾數(shù)每左移1位,階碼減1,重復直到結果尾數(shù)為0.1…或1.0…為止。4、舍入處理“0舍1入”法:如果右移時被丟掉數(shù)位的最高位為0則舍去,為1則將尾數(shù)的末位加“1”?!昂阒靡弧狈ǎ褐灰獢?shù)位被移掉,就在尾數(shù)的末尾恒置“1”?!熬徒崛搿保浩鋵嵸|就是通常所說的"四舍五入"?!俺?舍入”:即朝數(shù)軸原點方向舍入,就是簡單的截尾?!俺奚崛搿保簩φ龜?shù)來說,只要多余位不全為0則向最低有效位進1;對負數(shù)來說則是簡單的截尾。“朝-∞舍入”:對正數(shù)來說,只要多余位不全為0則簡單截尾;對負數(shù)來說,向最低有效位進1。105編輯課件5、溢出及處理 浮點數(shù)的溢出通常是以其階碼的溢出表現(xiàn)出來的。當機器浮點數(shù)值大于最大正數(shù),或小于最小負數(shù)時,稱為上溢。上溢時階碼運算值超出了它所表示的范圍,機器必須做中斷處理。當機器浮點數(shù)值小于最小正數(shù)a值,或大于最大負數(shù)b值時,稱為下溢。下溢通??醋鳛闄C器零。
溢出的處理:階碼上溢:階碼超過了階碼可能表示的最大值的正指數(shù)值,一般將其認為是+∞和-∞。階碼下溢:階碼超過了階碼可能表示的最小值的負指數(shù)值,一般將其認為是0。尾數(shù)上溢:兩個同符號尾數(shù)相加產生了最高位向上的進位,將尾數(shù)右移,階碼增1來重新對齊。尾數(shù)下溢:在將尾數(shù)右移時,尾數(shù)的最低有效位從尾數(shù)域右端流出,要進行舍入處理。106編輯課件二、浮點數(shù)的乘、除法運算1、運算規(guī)則設有兩個浮點數(shù)x和y:
x=2Ex·Mx
y=2Ey·My浮點乘法運算的規(guī)則是 x×y=2(Ex+Ey)·(Mx×My)浮點除法運算的規(guī)則是
x÷y=2(Ex-Ey)·(Mx÷My)107編輯課件2、乘、除法運算步驟 浮點數(shù)的乘除運算大體分為以下幾個步驟:1>0操作數(shù)檢查。2>階碼加/減操作。3>尾數(shù)乘/除操作。4>結果規(guī)格化5>舍入處理。3、移碼運算 移碼加,減法運算的公式為: [x+y]移=[x]移+[y]補
[x-y]移=[x]移+[-y]補上面公式表明執(zhí)行階碼加減時,對加數(shù)或減數(shù)y來說,應送移碼符號位正常值的反碼。108編輯課件 如果階碼運算的結果溢出,上述條件則不成立。雙符號位的階碼加法器:規(guī)定移碼的第二個符號位,即最高符號位恒用0參加加減運算。則溢出條件是結果的最高符號位為1。此時,當?shù)臀环栁粸?時,表明結果上溢,為1時,表明結果下溢。當最高符號位為0時,表明沒有溢出。此時,當?shù)臀环栁粸?,表明結果為正;為0時,表明結果為負。109編輯課件三、浮點運算流水線1、流水線原理 計算機的流水處理過程同工廠中的流水裝配線類似。 為了實現(xiàn)流水,首先必須把輸入的任務分割為一系列的子任務,使各子任務能在流水線的各個階段并發(fā)地執(zhí)行。將任務連續(xù)不斷地輸入流水線,從而實現(xiàn)了子任務的并行。 流水處理可以大幅度地改善計算機的系統(tǒng)性能,是在計算機上實現(xiàn)時間并行性的一種非常經濟的方法。 在流水線中,原則上要求各個階段的處理時間都相同。若某一階段的處理時間較長,勢必造成其他階段的空轉等待。因此對子任務的劃分,是決定流水線性能的一個關鍵因素,它取決于操作部分的效率、所期望的處理速度,以及成本價格等等。110編輯課件線性流水線:假定作業(yè)T被分成k個子任務,可表達為T={T1,T2,···,Tk}各個子任務之間有一定的優(yōu)先關系:若i<j,則必須在Ti完成以后,Tj才能開始工作。具有這種線性優(yōu)先關系的流水線稱為線性流水線。線性流水線處理的硬件基本結構如圖2.17所示 在線性流水線中,處理一個子任務的過程為過程段(Si)。線性流水線由一系列串聯(lián)的過程段組成,各個過程之間設有高速的緩沖寄存器(L),以暫時保存上一過程子任務處理的結果。在一個統(tǒng)一的時鐘(C)控制下,數(shù)據(jù)從一個過程段流向相鄰的過程段。111編輯課件 設過程段Si所需的時間為τi,緩沖寄存器的延時為τl,線性流水線的時鐘周期定義為
τ=max{τi}+τl=τm+τl
故流水線處理的頻率為f=1/τ。 在流水線處理中,當任務飽滿時,任務源源不斷的輸入流水線,不論有多少級過程段,每隔一個時鐘周期都能輸出一個任務。 從理論上說,一個具有k級過程段的流水線處理n個任務需要的時鐘周期數(shù)為 Tk=k+(n-1) 其中k個時鐘周期用于處理第一個任務。k個周期后,流水線被裝滿,剩余的n-1個任務只需n-1個周期就完成了。 用非流水線的硬件來處理這n個任務,時間上只能串行進行,則所需時鐘周期數(shù)為
TL=n·k112編輯課件
將TL和Tk的比值定義為k級線性流水線的加速比: CK=TL/TK=(n·k)/(k+(n-1)) 當n>>k時,Ck->k。這就是說,理論上k級線性流水線處理幾乎可以提高k倍速度。但實際上由于存儲器沖突、數(shù)據(jù)相關,這個理想的加速比不一定能達到。113編輯課件2、流水線浮點加法器
浮點數(shù)加減法由0操作數(shù)檢查、對階操作、尾數(shù)操作、結果規(guī)格化及舍入處理共4步完成,因此流水線浮點加法器可由4個過程段組成。圖2.19僅示出了除0操作數(shù)檢查之外的3段流水線浮點加法器框圖。114編輯課件四、浮點運算器實例1、CPU之外的浮點運算器 80×87是美國Intel公司為處理浮點數(shù)等數(shù)據(jù)的算術運算和多種函數(shù)計算而設計生產的專用算術運算處理器。由于它們的算術運算是配合80×86CPU進行的,所以又稱為協(xié)處理器。 80×87浮點運算器的特點和內部結構:以異步方式與80386并行工作,80×87相當于386的一個I/O部件,本身有它自己的指令,但不能單獨使用,它只能作為386主CPU的協(xié)處理器才能運算??商幚戆ǘM制浮點數(shù)、二進制整數(shù)、和壓縮十進制數(shù)串三大類7種數(shù)據(jù),其中浮點數(shù)的格式符合IEEE754標準。全部數(shù)據(jù)在80×87中均以80位臨時數(shù)據(jù)的形式表示。因此80×87具有80位字長的內部結構,并有八個80位字長以“先進后出”方式管理的寄存器組,又稱寄存器堆棧。115編輯課件80×87中有處理浮點數(shù)指數(shù)部分的部件和處理尾數(shù)部分的部件,還有加速移位操作的移位器路線,它們通過指數(shù)總線和小數(shù)總線與八個80位字長的寄存器堆棧相連接。80×87內部還設置了三個各為16位字長的寄存器,即特征寄存器、控制寄存器和狀態(tài)寄存器。2、CPU之內的浮點運算器
奔騰CPU將浮點運算器包含在芯片內。浮點運算部件采用流水線設計。 指令執(zhí)行過程分為8段流水線。前4段為指令預取(DF)、指令譯碼(D1)、地址生成(D2)、取操作數(shù)(EX),在U、V流水線中完成。 后4段為執(zhí)行1(X1)、執(zhí)行2(X2)、結果寫回寄存器堆(WF)、錯誤報告(ER),在浮點運算器中完成。一般情況下,由U流水線完成一條浮點數(shù)操作指令。116編輯課件117編輯課件118編輯課件第三章內部存儲器存儲器:計算機中記錄信息的設備,用于存放程序和數(shù)據(jù)。 構成存儲器的存儲介質,目前主要采用半導體器件和磁性材料。
119編輯課件第一節(jié)存儲器概述一、存儲器分類
存儲器中最小的存儲單位就是一個雙穩(wěn)態(tài)半導體電路或一個CMOS晶體管或磁性材料的存儲元,它可存儲一個二進制代碼。 由若干個存儲元組成一個存儲單元,然后再由許多存儲單元組成一個存儲器。
能構成存儲元的材料或電路的特征:具有兩種穩(wěn)定狀態(tài)兩種穩(wěn)定狀態(tài)經控制信號可以轉換能讀出其中的信息無外部原因,其狀態(tài)能夠長期保存120編輯課件 根據(jù)存儲材料的性能及使用方法不同,存儲器有各種不同的分類方法:按存儲介質分
半導體存儲器:用半導體器件組成的存儲器。磁表面存儲器:用磁性材料做成的存儲器。按存儲方式分隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。順序存儲器:只能按某種順序來存取,存取時間和存儲單元的物理位置有關。按存儲器的讀寫功能分只讀存儲器(ROM):存儲的內容是固定不變的,只能讀出而不能寫入的半導體存儲器。隨機讀寫存儲器(RAM):既能讀出又能寫入的半導體存儲器。121編輯課件按信息的可保存性分非永久記憶的存儲器:斷電后信息即消失的存儲器。永久記憶性存儲器:斷電后仍能保存信息的存儲器。
按在計算機系統(tǒng)中的作用分根據(jù)存儲器在計算機系統(tǒng)中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。二、存儲器的分級結構
為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,目前通常采用多級存儲器體系結構,即使用高速緩沖存儲器、主存儲器和外(輔助)存儲器構成的多級(三級)存儲體系結構。CPU能夠直接訪問的存儲器稱為內存儲器(內存)。它包括高速緩沖存儲器和主存儲器(主存)。CPU不能直接訪問外存儲器,外存儲器上的信息必須調入內存后才能由CPU處理。122編輯課件高速緩沖存儲器(Cache):是CPU與主存儲器間的一個高速小容量的半導體存儲器。通過Cache可以使CPU高速存取主存儲器中的指令和數(shù)據(jù)。特點:存取速度快,但存儲容量小。主存儲器(主存):主存存放計算機運行期間的大量程序和數(shù)據(jù)。特點:存取速度較快,存儲容量不大。外存儲器(輔助存儲器):外存存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫。特點:存儲容量大,位成本低
,速度慢。在多級存儲器管理系統(tǒng)中,各級存儲器承擔各自不同的職能:Cache提速;外存提供大容量;主存提供運行程序和數(shù)據(jù)的存儲。123編輯課件三、存儲器基本概念及技術指標1、基本概念記憶元件(存儲介質):組成存儲器的物理器件位:一位二進制存儲單元:若干存儲位構成的存儲單元字節(jié)單元:8位二進制構成的存儲單元字(存儲)單元:存放一個字的存儲單元存儲體:許多存儲單元構成的集合地址:存儲單元的編號,用于識別不同單元字節(jié)地址:每個單元存放一個字節(jié)時,則相應地址為字節(jié)地址字地址:每個單元存放一個機器字時,則相應地址為字地址124編輯課件2、技術指標存儲容量:存儲器具有的存儲單元總的數(shù)量。 一般可通過地址的位數(shù)反映出單元數(shù)的多少,它反應了存儲器存儲信息的能力。其單位通常為:KB,MB,GB,TB。 1K=210=1024 1M=220 1G=2301K單元有10位地址,1M單元有20位地址,1G單元有30位地址。如:32K單元有15位地址,256M單元有28位地址。存取時間:啟動到完成一次存儲器操作所經歷的時間。分為讀出時間和寫入時間。存儲周期:連續(xù)啟動兩次讀(寫)操作所需間隔的最小時間。通常存儲周期略大于存取時間。存儲器帶寬:單位時間里存儲器所存取的信息量,(單位為MB/s,每秒多少兆字節(jié)),反應了存儲器的整體速度。125編輯課件第二節(jié) SRAM存儲器 目前廣泛采用的半導體存儲器是MOS半導體存儲器。根據(jù)存儲信息的原理不同,分為靜態(tài)MOS存儲器(SRAM)和動態(tài)MOS存儲器(DRAM)。一、基本的靜態(tài)存儲元陣列
所有的SRAM是用一個鎖存器(觸發(fā)器)作為存儲位元。SRAM包含三組信號:地址線:選擇單元,確定容量(單元數(shù))數(shù)據(jù)線:單元的位數(shù)控制線:讀寫控制126編輯課件
127編輯課件2、基本RMOS存儲器邏輯結構 由存儲體(陣列)、地址譯碼器、IO電路和控制電路組成地址譯碼器:將用二進制代碼表示的地址轉換成輸出端的高電位,用來驅動相應的讀寫電路,以便選擇所要訪問的存儲單元。地址譯碼有兩種方式:單譯碼(單方向譯碼):只有一個譯碼器,譯碼輸出選擇一個存儲字。N位地址,譯碼輸出2N個狀態(tài),對應2N個單元 15位地址,需215=32K條選通線雙譯碼:采用X、Y兩個方向譯碼器進行譯碼。采用雙向譯碼方式可以減少譯碼輸出選擇線的條數(shù)。 同樣32K個單元,采用256×128陣列形式時,只需要256+128=384條選擇線128編輯課件129編輯課件存儲體:存儲單元的集合 存儲陣列由256行*128列*8位的三維結構。行和列的交叉位置為一個存儲單元。通常用X選擇線(行線)和Y選擇線(列線)的交叉來選擇所需要的單元。I/O電路:處于數(shù)據(jù)總線和被選用的單元之間,控制被選中的單元讀出或寫入,放大信息。片選:在地址選擇時,首先要選片,只有當片選信號有效時,此片所連的地址線才有效。
130編輯課件3、讀/寫周期波形圖 讀/寫周期波形圖精確的反映了SRAM工作的時間關系。也反映了數(shù)據(jù)線、地址線、和控制線在讀/寫存儲器過程中的相互關系。讀周期時間:從地址有效開始到從數(shù)據(jù)線讀出數(shù)據(jù)的時間。寫周期時間:從地址有效到數(shù)據(jù)寫入存儲器的時間。存取周期:將讀周期和寫周期取為相同,并稱之為存取周期。131編輯課件第三節(jié)DRAM存儲器一、DRAM存儲位元的記憶原理 動態(tài)MOS隨機讀寫存儲器DRAM的存儲容量很大,通常用作計算機的主存儲器。 DRAM存儲器的存儲元是由一個MOS晶體管和電容組成的記憶電路。其中的MOS管作為開關使用,而存儲的信息是由電容器上的電荷來體現(xiàn):充滿電荷看作1,放完電荷看作0。132編輯課件133編輯課件二、DRAM芯片的邏輯結構DRAM與SRAM的不同點:地址線采用了重用,地址分為行地址和列地址,分時輸入。RAS為行地址選通,CAS為列地址選通。減少芯片地址的引線。增加了刷新計數(shù)器和刷新控制電路。動態(tài)存儲器的存儲元需要定期刷新(充電),否則信息會隨電容漏電而丟失。DRAM的刷新是通過按行讀方式進行的。134編輯課件三、DRAM的讀/寫周期和刷新周期 注意動態(tài)存儲器的讀寫過程中地址是分為行地址和列地址兩次輸入的。刷新:定期對動態(tài)RAM的所有單元進行充電的過程。動態(tài)存儲器是通過讀行的方式進行刷新的。刷新周期:從上一次對整個存儲器刷新結束到下一次對整個存儲器全部刷新一遍為止的時間間隔稱為刷新周期。刷新周期通常為8ms到16ms。135編輯課件刷新操作可采用集中式刷新或分散式刷新兩種方式:1>集中式刷新:在一個刷新間隔內安排集中的一段時間對存儲器進行刷新。死時間:在集中刷新的一段時間內不能對存儲器進行存取操作,這段時間稱為死時間2>分散式刷新:將每一行的刷新插入到正常的讀寫周期之中。136編輯課件四、存儲器容量的擴充1、字長位數(shù)的擴展 當芯片字長的位數(shù)比實際要求的存儲器字長位數(shù)較短時,需要用多片芯片擴展字長位數(shù)。 連接時,芯片的地址線和控制線公用,而數(shù)據(jù)線分開對應連接。137編輯課件138編輯課件2、字存儲容量擴展 當給定的芯片的存儲容量比實際要求的存儲器單元數(shù)少時(字數(shù)少),需要用多片芯片來擴展字數(shù)(單元數(shù))。 連接時,芯片的數(shù)據(jù)線和地址線公用,地址總線的高位段通過譯碼產生的譯碼信號來選通芯片的使能端,從而選擇相應的芯片。139編輯課件140編輯課件五、高級的DRAM結構1、FPM-DRAMFPM-DRAM稱為快速頁模式動態(tài)存儲器。程序訪問局部性原理:根據(jù)計算機中對大量典型程序運行情況的分析結果,當前要立即執(zhí)行的程序和數(shù)據(jù)往往局限在一個小的范圍內,也即是說,在一個較短的時間間隔內,CPU對局部范圍的存儲器進行頻繁訪問,而對此外的地址很少訪問。這種現(xiàn)象稱為程序訪問的局部性分頁技術:保持行地址不變,只改變列地址,對同一行的所有內存單元進行訪問。141編輯課件2、CDRAMCDRAM是指帶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學衛(wèi)生宣教制度
- 衛(wèi)生室聯(lián)合用藥管理制度
- 鎮(zhèn)鄉(xiāng)中心校食品衛(wèi)生制度
- 小學德育衛(wèi)生制度
- 衛(wèi)生院信息反饋制度
- 衛(wèi)生站院感巡查制度
- 衛(wèi)生系統(tǒng)雙報告制度
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院重精工作制度
- 熟制品衛(wèi)生管理制度
- 焊錫職衛(wèi)生管理制度
- 土建 清苗 合同
- 2023-2024學年廣東省茂名市高一(上)期末數(shù)學試卷(含答案)
- 《課堂管理的技巧》課件
- 醫(yī)院培訓課件:《頸椎病》
- 佛山市離婚協(xié)議書范本
- HG+20231-2014化學工業(yè)建設項目試車規(guī)范
- 工地春節(jié)停工復工計劃安排方案
- 連接員題庫(全)題庫(855道)
- 單元學習項目序列化-選擇性必修下冊第三單元為例(主題匯報課件)-統(tǒng)編高中語文教材單元項目式序列化研究
- 電站組件清洗措施及方案
- 冀教版五年級英語下冊全冊同步練習一課一練
評論
0/150
提交評論