




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理(小班+混合式教學(xué))1/8課程內(nèi)容簡(jiǎn)介:第一章概論
2學(xué)時(shí)
第二章數(shù)據(jù)的表示、運(yùn)算與校驗(yàn)
10學(xué)時(shí)
第三章CPU子系統(tǒng)
24學(xué)時(shí)
第四章存儲(chǔ)子系統(tǒng)
14學(xué)時(shí)
第五章總線與輸入輸出子系統(tǒng)
8學(xué)時(shí)
第六章輸入/輸出設(shè)備及接口
6學(xué)時(shí)
實(shí)驗(yàn)課16學(xué)時(shí)(單獨(dú)課程)
2/8一、課程主要內(nèi)容重點(diǎn)討論計(jì)算機(jī)單機(jī)系統(tǒng)的硬件組成。即五大功能部件的工作原理、邏輯實(shí)現(xiàn)、設(shè)計(jì)方法及相互連接構(gòu)成整機(jī)的方法。3/8強(qiáng)調(diào)兩個(gè)層次的整機(jī)概念:CPU整機(jī)概念硬件系統(tǒng)整機(jī)概念緊緊抓住各部件之間的信息傳送方式和傳送途徑。4/8二、學(xué)習(xí)目的為培養(yǎng)同學(xué)們?cè)诜治?、設(shè)計(jì)、開發(fā)計(jì)算機(jī)系統(tǒng)方面的能力打下堅(jiān)實(shí)的基礎(chǔ)。5/8三、教學(xué)特點(diǎn)1、以主要部件為背景討論基本原理,輻射MIPS32處理器。2、討論硬件組成時(shí),在寄存器級(jí)進(jìn)行分析。3、遵照大綱,兼顧考研。4、小班研討+線上線下混合式6/8四、教學(xué)安排(課堂64節(jié),4節(jié)/周)教學(xué)思路:
CPU主機(jī)計(jì)算機(jī)硬件系統(tǒng)五、成績(jī)考核構(gòu)成線上學(xué)習(xí)(30%)課堂表現(xiàn)(20%)卷面統(tǒng)考(50%)SPOC論壇交互在線視頻學(xué)習(xí)5次單元測(cè)試課堂練習(xí)、研討、出勤等考教一體自命題10分1575分20分50分7/8六、配套教材教材:《計(jì)算機(jī)組成原理》,版次:第5版主編:紀(jì)祿平,羅克露等ISBN:978-7-121-37684-9出版社:電子工業(yè)出版社,2020.018/89/13
主要內(nèi)容:
計(jì)算機(jī)的基本概念
計(jì)算機(jī)的誕生和發(fā)展系統(tǒng)硬件組成(主要部件、系統(tǒng)結(jié)構(gòu))
計(jì)算機(jī)的性能指標(biāo)第一章概論10/13電子計(jì)算機(jī)——1.1計(jì)算機(jī)的基本概念是一種可以存儲(chǔ)程序,并且通過(guò)執(zhí)行程序指令,可以自動(dòng)、高速、精確地對(duì)數(shù)字信息進(jìn)行各種復(fù)雜處理,然后輸出運(yùn)算結(jié)果的高科技智能電子設(shè)備。11/13運(yùn)算器控制器存儲(chǔ)器輸出設(shè)備輸入設(shè)備數(shù)據(jù)信息控制信號(hào)
天藍(lán)箭頭線運(yùn)算器和控制器,已集成在CPU中!黃色箭頭線狀態(tài)信息
白色箭頭線5個(gè)邏輯模塊:指令信息綠色箭頭線clock
12/131.1.1信息的數(shù)字化表示
1.在計(jì)算機(jī)中用數(shù)字代碼表示各種信息
二進(jìn)制代碼例1用數(shù)字代碼表示數(shù)據(jù)
5
-5
表示為
0101
表示為
1101
13/13例2用數(shù)字代碼表示字符A
B
表示為
01000001
表示為
01000010
例3用數(shù)字代碼表示命令、狀態(tài)啟動(dòng)
停止
正在工作
工作結(jié)束
表示為
00
表示為
01
表示為
10
表示為
11
14/13表示數(shù)字代碼
2.在物理機(jī)制上用數(shù)字信號(hào)
數(shù)字型電信號(hào)例1用電平信號(hào)表示數(shù)字代碼
高電平
1
低電平
高電平
0
1
例2用脈沖信號(hào)表示數(shù)字代碼
有脈沖無(wú)脈沖有脈沖101實(shí)現(xiàn)并行操作實(shí)現(xiàn)串行操作15/133.信息數(shù)字化表示的優(yōu)點(diǎn)
(1)物理上易實(shí)現(xiàn)信息的表示與存儲(chǔ)(2)抗干擾能力強(qiáng),可靠性高(3)數(shù)值的表示范圍大,精度高(4)可表示的信息類型廣泛(5)能用數(shù)字邏輯技術(shù)進(jìn)行處理因此,計(jì)算機(jī)中采用二進(jìn)制形式表示信息16/131.1.2存儲(chǔ)程序工作方式1.編制程序3.自動(dòng)、連續(xù)執(zhí)行程序2.存儲(chǔ)程序4.輸出結(jié)果17/13編寫程序輸入程序存儲(chǔ)程序輸出結(jié)果執(zhí)行指令轉(zhuǎn)換為指令序列※計(jì)算機(jī)的工作流程1.1.3計(jì)算機(jī)的分類計(jì)算機(jī)從總體上來(lái)說(shuō)分為兩大類:模擬計(jì)算機(jī)和數(shù)字計(jì)算機(jī)。各自的主要特點(diǎn):模擬計(jì)算機(jī):由模擬運(yùn)算器件構(gòu)成,處理在時(shí)間和數(shù)值上連續(xù)的模擬量(如:電壓、電流等);數(shù)字計(jì)算機(jī):由數(shù)字邏輯器件構(gòu)成,處理離散的數(shù)字量。其中數(shù)字計(jì)算機(jī)又可分為:專用計(jì)算機(jī)和通用計(jì)算機(jī)。專用機(jī)——是以快速、經(jīng)濟(jì)和高集成度為主要指標(biāo)的特殊計(jì)算機(jī),它是針對(duì)特定任務(wù)設(shè)計(jì)的計(jì)算機(jī),適應(yīng)性較差(如:工控機(jī)、ATM等)。通用機(jī)——適應(yīng)性較高,但是犧牲了效率、速度和經(jīng)濟(jì)性,如個(gè)人電腦。20/13它們的系統(tǒng)規(guī)模和計(jì)算能力依次遞減。隨著超大規(guī)模集成電路技術(shù)的不斷發(fā)展,類型的劃分會(huì)動(dòng)態(tài)變化。按照系統(tǒng)規(guī)模和計(jì)算能力,也可以分為:※巨型機(jī)(超算)、※大型機(jī)、※小型機(jī)、※微型機(jī),等等21/13微型機(jī)小型機(jī)大型機(jī)超級(jí)計(jì)算機(jī)(超算)
體積功耗價(jià)格存儲(chǔ)量計(jì)算能力簡(jiǎn)易性普及率※幾種類型的計(jì)算機(jī)對(duì)比:高低低高中文:約翰·馮·諾依曼外文:JohnVonNeumann國(guó)籍:美籍匈牙利人出生地:布達(dá)佩斯出生日期:1903年12月28日逝世日期:1957年2月8日畢業(yè)院校:蘇黎世大學(xué)、布達(dá)佩斯大學(xué)稱謂:計(jì)算機(jī)之父
1.2計(jì)算機(jī)的誕生和發(fā)展22/6馮·諾依曼思想的產(chǎn)生背景1944年加入了美國(guó)軍方ENIAC計(jì)算機(jī)研制項(xiàng)目,1945年提出并發(fā)表了一個(gè)全新的“存儲(chǔ)程序通用電子計(jì)算機(jī)”方案—EDVAC(馮·諾依曼思想)。EDVAC闡述了電子計(jì)算機(jī)和程序設(shè)計(jì)的新思想,是計(jì)算機(jī)發(fā)展史上一個(gè)劃時(shí)代的文獻(xiàn),宣告電子計(jì)算機(jī)時(shí)代即將來(lái)臨。EDVAC方案的意義:催生了第1臺(tái)嚴(yán)格意義上的電子計(jì)算機(jī)(ENIAC,賓夕法尼亞大學(xué),1946年2月)23/61.2.1
馮·諾依曼體系1.用二進(jìn)制代碼表示程序和數(shù)據(jù);任何復(fù)雜運(yùn)算和操作都轉(zhuǎn)換成用二進(jìn)制代碼表示的指令,數(shù)據(jù)也用二進(jìn)制代碼來(lái)表示;2.采用存儲(chǔ)程序的工作方式將程序和數(shù)據(jù)存儲(chǔ)起來(lái)(存儲(chǔ)程序),讓計(jì)算機(jī)自動(dòng)地執(zhí)行指令,完成各種復(fù)雜的運(yùn)算操作(核心思想)。24/63.新型的現(xiàn)代計(jì)算機(jī)硬件組成存儲(chǔ)器、運(yùn)算器、控制器、輸入設(shè)備和輸出設(shè)備馮·諾依曼體系奠定了現(xiàn)代電子計(jì)算機(jī)的理論基礎(chǔ)。25/6類型時(shí)期主要器件重要特征1.2.2計(jì)算機(jī)的發(fā)展歷程第1代1946-1957電子管速度低,體積大,價(jià)格昂貴,可靠性差,主要用于科學(xué)計(jì)算;第2代1958-1964晶體管體積縮小,可靠性提高,從科學(xué)計(jì)算擴(kuò)大到數(shù)據(jù)處理;第3代1965-1971中小規(guī)模集成電路體積縮小,可靠性提高,速度達(dá)到MIPS級(jí),機(jī)種多樣化,小型計(jì)算機(jī)出現(xiàn),軟件和外設(shè)發(fā)展迅速,應(yīng)用領(lǐng)域擴(kuò)大;第4代1971-大、超大規(guī)模集成電路速度高達(dá)GIPS乃至TIPS級(jí),多機(jī)系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)迅速發(fā)展,微型計(jì)算機(jī)出現(xiàn);26/61.2.3
未來(lái)的發(fā)展趨勢(shì)1、向巨型化方向2、向微型化方向3、向多媒體化方向4、向網(wǎng)絡(luò)化方向5、向智能化方向27/61.3計(jì)算機(jī)系統(tǒng)的組織硬件——是指構(gòu)成計(jì)算機(jī)系統(tǒng)的實(shí)體和裝置之類的有形設(shè)備,是組成計(jì)算機(jī)系統(tǒng)的物質(zhì)基礎(chǔ)。軟件——是指由硬件所表達(dá)的各種內(nèi)在信息,包括數(shù)據(jù)與控制程序。因?yàn)樗鼈兪菬o(wú)形的東西,所以稱為軟件或軟設(shè)備。28/211.3.1計(jì)算機(jī)的硬件系統(tǒng)組成29/20CPUM接口接口I/OI/O系統(tǒng)總線1、硬件系統(tǒng)的基本組成模型※主要功能部件1.CPU(CentralProcessingUnit)主要由運(yùn)算器、控制器等部件組成。(1)運(yùn)算器1)功能:完成兩類(算術(shù)和邏輯)運(yùn)算2)組成特點(diǎn):30/21主要由ALU(算術(shù)邏輯單元)構(gòu)成,執(zhí)行算術(shù)、邏輯運(yùn)算以及移位循環(huán)等操作,是CPU功能的主要執(zhí)行部件。ALU以全加器為核心,具有多種運(yùn)算功能。運(yùn)算的位數(shù)越多,計(jì)算精度就越高,但器件也更復(fù)雜。運(yùn)算器的數(shù)據(jù)寬度一般是:8位、16位、32位或64位。31/21(2)控制器1)功能:產(chǎn)生控制命令(微命令),控制全機(jī)操作。2)基本組成:微命令發(fā)生器指令信息狀態(tài)信息時(shí)序信號(hào)微命令序列32/212.存儲(chǔ)器1)功能:存儲(chǔ)數(shù)據(jù)和數(shù)字化后的程序?!咀⒁狻坎徽撌菙?shù)據(jù),還是程序,存儲(chǔ)器存儲(chǔ)的全是用0或1表示的二進(jìn)制代碼。存儲(chǔ)器涉及到幾個(gè)基本概念:存儲(chǔ)單元:在存儲(chǔ)器中保存一個(gè)n位二進(jìn)制數(shù)的n個(gè)存儲(chǔ)電路,組成一個(gè)存儲(chǔ)單元。地址:存儲(chǔ)器由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元的編號(hào),稱為地址。33/21存儲(chǔ)容量:存儲(chǔ)器所有存儲(chǔ)單元的總數(shù)。存儲(chǔ)容量越大,表示儲(chǔ)存的信息越多,常用的單位有“KB、MB、GB、TB、PB”等;內(nèi)存儲(chǔ)器:即主存,是一種用來(lái)存放直接為CPU提供服務(wù)的程序和數(shù)據(jù)存儲(chǔ)器半導(dǎo)體存儲(chǔ)芯片構(gòu)成,特點(diǎn):工作速度較快,存儲(chǔ)容量比外存小。外存儲(chǔ)器:即輔存,
為計(jì)算機(jī)配備的存儲(chǔ)容量很大的輔助存儲(chǔ)器。磁盤存儲(chǔ)器、光盤存儲(chǔ)器等,其主要特點(diǎn)是存儲(chǔ)容量大,價(jià)格便宜,工作速度較慢。34/20輸出時(shí):處理結(jié)果輸入時(shí):原始信息3.輸入/輸出設(shè)備功能:執(zhí)行輸入/輸出信息的轉(zhuǎn)換。二進(jìn)制代碼,送入主機(jī);用戶能夠直接感知的形式(字符、圖像、聲音),并輸出給用戶;(二進(jìn)制代碼)35/214.總線(Bus)能為多個(gè)部件分時(shí)共享的一組信息傳送通路。根據(jù)傳送的信息不同,可分三類:①傳送各種數(shù)據(jù)信息的數(shù)據(jù)總線(DataBus);②傳送各種地址信息的地址總線(AddressBus);③傳送各種控制信號(hào)的控制總線(ControlBus);36/215.接口外設(shè)的種類、數(shù)量了變,為了將總線與各類外設(shè)連接,須在兩者之間設(shè)置一些部件,具有緩沖、轉(zhuǎn)換、連接等功能,這些部件就是接口。VGA接口顯示器設(shè)備接口其它設(shè)備總線…37/20※計(jì)算機(jī)硬件的典型架構(gòu)1.微型計(jì)算機(jī):南-北橋架構(gòu)CPU北橋芯片組南橋芯片組主存PCI-EHDMI視頻BIOSWIFIPATA、SATA、USB等PCI-E其它I/O總線FSB(掛接網(wǎng)卡、鍵盤和硬盤等外設(shè))DMI38/20E5-2620芯片組(C600)USB總線(HPProLiantDL300系列)DMI2.小型計(jì)算機(jī):多處理器架構(gòu)E5-2620PCI-EWIFIDDR3PCI-EDDR3上行SAS磁盤PCI-ELANPCI-E傳統(tǒng)音頻SATASM總線SuperI/O安全控制芯片…PCI…QPI39/203.超級(jí)計(jì)算機(jī)(超算):集群式架構(gòu)FT-1500FT-1500FT-1500FT-1500管理集群通信集群路由器路由器路由器路由器存儲(chǔ)集群磁盤陣列磁盤陣列磁盤陣列磁盤陣列計(jì)算集群計(jì)算節(jié)點(diǎn)計(jì)算節(jié)點(diǎn)計(jì)算節(jié)點(diǎn)計(jì)算節(jié)點(diǎn)(天河-2號(hào),國(guó)防科技大學(xué))8機(jī)柜(4096處理器)24機(jī)柜(12.4PB)125機(jī)柜(16000節(jié)點(diǎn))13機(jī)柜(576路由器)THExpress-2性能:33.86PFLOPS功耗:17.8MW40/20※天河-2號(hào)的計(jì)算節(jié)點(diǎn)剖析單塊主板2節(jié)點(diǎn):Phi31S1P(61核)GDDR5,8GBE5-2692(12核)E5-2692(12核)DDR3,32GBDDR3,32GBQPIE5-2692(12核)E5-2692(12核)DDR3,32GBDDR3,32GBQPIPCI-EPCI-EPhi31S1P(61核)GDDR5,8GBAPU(5協(xié)處理器)CPM(4主+1協(xié))41/20多處理機(jī)系統(tǒng)結(jié)構(gòu)特點(diǎn):用多處理器CPU構(gòu)成根據(jù)處理器之間連接的緊密程度,又分為:①緊密偶合型多機(jī)系統(tǒng)②松散偶合型多機(jī)系統(tǒng)42/21CPU1LM1全局MCPUnLMnI/OI/O※緊密偶合型多機(jī)系統(tǒng)特點(diǎn):多個(gè)(CPU+LM)組,通過(guò)系統(tǒng)總線構(gòu)成多機(jī)系統(tǒng),且有共享的全局主存儲(chǔ)器;43/20※松散偶合多機(jī)系統(tǒng)CPU1LM1I/OCASMTS(消息傳送系統(tǒng))CPUnLMnI/OCAS特點(diǎn):多個(gè)計(jì)算節(jié)點(diǎn),由通信系統(tǒng)連接成的多機(jī)系統(tǒng),無(wú)全局的主存儲(chǔ)器。44/201.3.2軟件系統(tǒng)
軟件類別:系統(tǒng)程序和應(yīng)用程序。系統(tǒng)程序:負(fù)責(zé)系統(tǒng)調(diào)度管理,提供運(yùn)行和開發(fā)環(huán)境、各種服務(wù),確保系統(tǒng)運(yùn)行良好。45/20應(yīng)用程序:利用計(jì)算機(jī)來(lái)解決應(yīng)用問(wèn)題所編制的程序,如工程設(shè)計(jì)程序、數(shù)據(jù)處理程序、自動(dòng)控制程序、企業(yè)管理程序、情報(bào)檢索程序、科學(xué)計(jì)算程序等等。1.3.3計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)46/20(1)軟-硬件層次計(jì)算機(jī)系統(tǒng)是一個(gè)由多層次的軟件+硬件組成的系統(tǒng),基本結(jié)構(gòu)如下圖所示:系統(tǒng)分析級(jí)用戶程序級(jí)應(yīng)用程序級(jí)語(yǔ)言處理程序級(jí)操作系統(tǒng)級(jí)機(jī)器指令級(jí)微程序級(jí)(MCU)硬件邏輯部件級(jí)軟件部分硬件部分軟硬分界面(2)程序語(yǔ)言功能層次專用語(yǔ)言虛擬機(jī)高級(jí)語(yǔ)言虛擬機(jī)匯編語(yǔ)言虛擬機(jī)機(jī)器語(yǔ)言物理機(jī)如可視化編程如C++、Python編程編譯器Compiler匯編器Assembler匯編語(yǔ)言源程序機(jī)器語(yǔ)言目標(biāo)程序指令譯碼器Translator硬件電路執(zhí)行產(chǎn)生控制信號(hào)高級(jí)語(yǔ)言源程序a=b+c;lw$t1,0($t0);lw$t2,4($t0)add$t3,$t1,$t21000110100001001…1000110100001010…0000000100101010…Regdst=1,aluSrc=1,…Regdst=1,aluSrc=1,…Regdst=0,aluSrc=0,…47/2048/211.3.4軟件與硬件的邏輯等價(jià)性※軟件的特點(diǎn):易于實(shí)現(xiàn)各種邏輯和運(yùn)算功能,但是常受到速度指標(biāo)和軟件容量的制約;※硬件的特點(diǎn):
可以高速實(shí)現(xiàn)邏輯和運(yùn)算功能,但是難以實(shí)現(xiàn)復(fù)雜功能或計(jì)算,受到控制復(fù)雜性指標(biāo)的制約。計(jì)算機(jī)中的軟件,理論上都可以“固化”或“硬化”成硬件,以高執(zhí)行速度;1.4計(jì)算機(jī)系統(tǒng)的性能指標(biāo)1.基本字長(zhǎng)一般4位、8位、16位、32位、64位,等等?!敢淮螖?shù)據(jù)操作的基本位數(shù)?!鼤?huì)影響計(jì)算的精度、指令的功能。49/6先介紹外頻的概念外部頻率或基頻,也叫系統(tǒng)時(shí)鐘頻率。系統(tǒng)振蕩器頻率放大CPU內(nèi)存其它部件一般不超過(guò)300MHz外頻信號(hào)倍頻系數(shù)2.外頻50/6(1)CPU的主頻=外頻×倍頻系數(shù);(2)IPS,每秒執(zhí)行指令數(shù),(MGTPEZ)(3)CPI,即Clock-cyclePerInstruction
;(4)FLOPS,每秒執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)(MGTPEZ)比如,天河2號(hào),其實(shí)測(cè)速度:33.86PFLOPS(LINPACK)(5)CPU的功耗動(dòng)態(tài)功耗、靜態(tài)功耗P=C×U2×fC:負(fù)載電容;U:工作電壓;f:工作頻率;3.常用的CPU性能指標(biāo)51/6
位寬×工作頻率8帶寬=4.數(shù)據(jù)傳輸率(B/S)物理含義:?jiǎn)挝粫r(shí)間內(nèi)數(shù)據(jù)的傳輸量。注意:計(jì)算PCI-E總線的帶寬時(shí),一般還要考慮編碼方式、單雙工模式和通道路數(shù)等?!纠}】52/6平均CPI=15×40%+20×30%+15×20%+10×10%=16
程序的時(shí)鐘周期數(shù)T=200×16=3200每秒可執(zhí)行程序的次數(shù)=主頻÷每次的時(shí)鐘周期=32M÷3200I/O帶寬=(32M÷3200)×4KB=40MBps解答:指令類型占比CPI傳輸類指令40%15雙操作數(shù)指令30%20單操作數(shù)指令20%15轉(zhuǎn)移類指令10%10假設(shè)該I/O程序由200條指令構(gòu)成,CPU每次執(zhí)行該程序可并行輸出4KB數(shù)據(jù)。CPU主頻32MHz,求I/O帶寬。53/65.存儲(chǔ)器的容量※內(nèi)存(主存)容量指可編址的存儲(chǔ)單元個(gè)數(shù)×存儲(chǔ)單元的位寬取決于地址碼位數(shù)表明編址單位※外存(輔存)容量指存儲(chǔ)器能存儲(chǔ)的最大數(shù)據(jù)量;常表示為:Byte、KB、MB、GB、TB外存容量與總線地址碼的位數(shù)無(wú)關(guān)。54/6第2章數(shù)據(jù)表示、運(yùn)算與校驗(yàn)主要介紹:①數(shù)字型數(shù)據(jù)的計(jì)數(shù)制、符號(hào)數(shù)的表示、定點(diǎn)數(shù)和浮點(diǎn)數(shù);②基本的運(yùn)算方法;③字符的表示;④常用的數(shù)據(jù)校驗(yàn)方法;55/322.1.1進(jìn)位計(jì)數(shù)制※數(shù)制的基與權(quán)在任一數(shù)制中,每一個(gè)數(shù)位上允許使用的記數(shù)符號(hào)的個(gè)數(shù)被稱為該數(shù)制的基數(shù)。每1位都對(duì)應(yīng)1個(gè)表示該位在數(shù)碼中的位置的值,這個(gè)值就稱為數(shù)位的權(quán)值w。[例]
12810,110122.1數(shù)值型數(shù)據(jù)的表示方法
W=102W=2356/32(1)2進(jìn)制:0、1(2)8進(jìn)制:0、1、2、…、7(3)16進(jìn)制:0、…、9、A、B、C、D、E、F1.常用的幾種進(jìn)位制2.進(jìn)制之間的轉(zhuǎn)換(1)整數(shù)
10
2(除2取余法)(2)小數(shù)10
2(乘2取整法)(3)整數(shù)
2
10(按權(quán)相加)(4)小數(shù)2
10(按權(quán)相加)(5)16進(jìn)制?2進(jìn)制(逐位轉(zhuǎn)換/分組轉(zhuǎn)換)57/3229(1)2910→X22141270231211201高位低位(2)0.687510→X2除2取余乘2取整0.6875×2=1.37510.375×2=0.7500.75×2=1.510.5×2=1.01低位高位X2=111012X2=0.10112(3)1101.112→X10X10=1×23=13.7510按權(quán)相加+1×22+0×21+1×20+1×2-1+1×2-258/32(4)1111012→X16X16=111101=00111101(5)28AF16→X2X2=28AF(6)28AF16→X10X10=28AF==1041510=0010=0011
1101=3D161000101011112×163+8×162+10×161+15×160按權(quán)相加逐位轉(zhuǎn)換4位分組、按組轉(zhuǎn)換59/3260/322.1.2帶符號(hào)數(shù)的表示數(shù)的符號(hào)表示規(guī)則:“0”表示正號(hào)“+”,“1”表示負(fù)號(hào)“-”01001010+1001010-100101011001010一個(gè)二進(jìn)制數(shù),用0-1代碼表示符號(hào),數(shù)值位不變就得到與該二進(jìn)制數(shù)真值對(duì)應(yīng)的原碼真值原碼1、原碼二進(jìn)制數(shù)的碼制:原碼、反碼、補(bǔ)碼和移碼61/32字長(zhǎng)為8位的原碼表示范圍為:-127~+127
[+127]原
=01111111
[–127]原
=11111111數(shù)值“0”有兩種原碼形式:
[+0]原=00000000
[-0]原=1000000062/322、反碼②負(fù)數(shù)情況符號(hào)位保持為“1”,數(shù)值位分別“按位取反”①
正數(shù)情況X反=X原(X≥0)[例]
X=
-1101001
(真值-105)X原=1
1101001X反=1
0010110[例]
X=
+1101001(真值+105)
X反=X原=0
1101001字長(zhǎng)8位的反碼表示范圍為:-127~+127
[+127]反=01111111
[-127]反=10000000數(shù)值“0”也有兩反碼形式:[+0]反=00000000[-0]反=11111111163/3264/32※補(bǔ)碼的編碼規(guī)則:3、補(bǔ)碼(a)對(duì)于正數(shù)(字長(zhǎng)8位)
[X]補(bǔ)=[X]原
(即X≥0時(shí))(b)對(duì)于負(fù)數(shù)(字長(zhǎng)8位)符號(hào)位仍保持為“1”其余各數(shù)值位“按位取反,末位再加1”
[X]補(bǔ)=[X]反+…1
(即X<0時(shí))編碼定義:[X]補(bǔ)=X+2n(模2n),n為編碼位數(shù)65/32字長(zhǎng)8位的補(bǔ)碼表示范圍為:-128~+127
[+127]補(bǔ)=01111111;
[-128]補(bǔ)=1
0000000※注意補(bǔ)碼比原碼和反碼多表示1個(gè)負(fù)值,即-128數(shù)值“0”只有1種補(bǔ)碼形式:
[+0]補(bǔ)=[-0]補(bǔ)=
0000000066/324、原碼和補(bǔ)碼之間的轉(zhuǎn)換(1)已知[X]原,求[X]補(bǔ)[例]已知[X]原=10011010,求[X]補(bǔ)
解:[X]原=
10011010
↓↓↓↓↓↓↓↓11100101+
1[X]補(bǔ)=11100110符號(hào)位不變,其余各位變反原碼為負(fù)數(shù)末位加1+1
67/32(2)已知[X]補(bǔ),求[X]原
[[X]補(bǔ)]補(bǔ)=[X]原[例]已知[X]補(bǔ)=11101100,求[X]原解:[X]補(bǔ)=
11101100
↓↓↓↓↓↓↓↓
10010011[X]原=10010100符號(hào)位不變,其余各位變反補(bǔ)碼為負(fù)數(shù)末位加1+168/32(3)求補(bǔ)(變補(bǔ)),即已知[X]補(bǔ),求[-X]補(bǔ)[X]補(bǔ)的代碼連同符號(hào)位一起變反,末位再加1,即得到[-X]補(bǔ)[例]已知[X]補(bǔ)=01010110,求[-X]補(bǔ)解:[X]補(bǔ)=01010110
↓↓↓↓↓↓↓↓10101001
[-X]補(bǔ)=10101010不區(qū)分正負(fù)數(shù)連同符號(hào)位一起變反末位加15、移(增)碼上述規(guī)則等價(jià)于將x正向平移或者增加2n-1
,因此稱之為移碼或增碼。移碼通常用于表示浮點(diǎn)數(shù)的階碼。階碼一般為整數(shù),故移碼通常只用于表示整數(shù)對(duì)定點(diǎn)整數(shù)x,它的移碼是:
[x]移=2n-1+x,其中-2n-1≤x<2n-1這里的n為X原位數(shù)69/3270/32[例]階碼的為6位,X表示其真值
X移=25+X(-25<X<25)[例]當(dāng)正數(shù)X=+10101時(shí),
X移=25+X=110101
當(dāng)負(fù)數(shù)X=-10101時(shí),
X移=25+X=25-10101
=001011移碼表示范圍與補(bǔ)碼一致,0也只有1個(gè)移碼。正數(shù):將原碼符號(hào)位變反,即得到移碼。負(fù)數(shù):將原碼連同符號(hào)位一起變反,末位再加1,即得到移碼(與變補(bǔ)等效)。補(bǔ)碼和移碼:
符號(hào)相反、數(shù)值位相同71/32二進(jìn)制代碼無(wú)符號(hào)真值原碼真值反碼真值補(bǔ)碼真值移碼真值0000000000000001┆0111111001111111100000001000000110000010┆11111101111111101111111101┆126127128129130┆253254255+0+1┆+126+127-0-1-2┆-125-126-127+0+1┆+126+127-127-126-125┆-2-1-0+0+1┆+126+127-128-127-126┆-3-2-1-128-127┆-2-1012┆12512612772/321、定點(diǎn)數(shù)的表示2.1.3定點(diǎn)數(shù)與浮點(diǎn)數(shù).01011101數(shù)值部分符號(hào)位小數(shù)點(diǎn)數(shù)的小數(shù)點(diǎn)固定在同一位置不變。①帶符號(hào)的定點(diǎn)小數(shù)約定所有數(shù)的小數(shù)點(diǎn)的位置,固定在符號(hào)位之后。字長(zhǎng)n+1位,則表示范圍為:-(1-2-n)
~1-2-n73/32②帶符號(hào)的定點(diǎn)整數(shù)
0101110
.1數(shù)值部分符號(hào)位小數(shù)點(diǎn)小數(shù)點(diǎn)的位置固定在最低數(shù)值位之后字長(zhǎng)n+1位,則數(shù)的表示范圍為:-(2n-1)~2n-1③無(wú)符號(hào)定點(diǎn)整數(shù)若代碼序列為XnXn-1…X1X0,共n+1位,則有:典型值真值代碼序列最大正數(shù)2n+1-111…1111最小非零正數(shù)100….001表示范圍為:小數(shù)點(diǎn)的位置固定在最低數(shù)值位之后
0~(2n+1-1)分辨率為:
174/3210000000補(bǔ)~01111111補(bǔ)無(wú)符號(hào)數(shù):定點(diǎn)整數(shù):定點(diǎn)小數(shù):00000000~11111111025511111111原~01111111原-127127-1281271.1111111原~0.1111111原-(1-2-7)(1-2-7)1.0000000補(bǔ)~0.1111111補(bǔ)-1(1-2-7)※字長(zhǎng)8位的定點(diǎn)數(shù)的表示范圍75/3276/322、浮點(diǎn)數(shù)的表示原理①浮點(diǎn)表示中,小數(shù)點(diǎn)的位置可按需浮動(dòng)格式模型:階符階碼位
.?dāng)?shù)符.尾數(shù)位階碼(帶符號(hào)的定點(diǎn)整數(shù))尾數(shù)(帶符號(hào)的定點(diǎn)小數(shù))隱含小數(shù)點(diǎn)隱含小數(shù)點(diǎn)②引入浮點(diǎn)數(shù)表示的意義[例]某字長(zhǎng)為8位的原碼二進(jìn)制數(shù)定點(diǎn)數(shù):11111111~01111111-127
127-(1-2-7)
1-2-7精度:1精度:2-7浮點(diǎn)數(shù):5位階碼+3位尾數(shù)215×(-0.75)
~
215×0.75精度:11111001=2-15×0.2501111111~01111011整數(shù):小數(shù):相同字長(zhǎng)時(shí),浮點(diǎn)數(shù)的表示范圍更大、精度更高!77/32浮點(diǎn)數(shù)真值:N=±RE×M
階碼E尾數(shù)M階符數(shù)符R:階碼的底數(shù),隱含約定為2。E:階碼,定點(diǎn)整數(shù),補(bǔ)碼或移碼表示,其位數(shù)決定了數(shù)值的范圍;M:尾數(shù),為定點(diǎn)小數(shù),原碼或補(bǔ)碼表示,其位數(shù)決定著數(shù)的精度;數(shù)符表示數(shù)的正負(fù)。③浮點(diǎn)數(shù)的機(jī)器(存儲(chǔ))格式EfE1…EmMfM1…Mn78/32④尾數(shù)M的規(guī)格化表示規(guī)格化的目的→使浮點(diǎn)數(shù)的表示代碼“唯一”128=0.128×103=1.28×102=12.8×101,…科學(xué)計(jì)數(shù)法約定:1≤|M|<10則規(guī)范形式:128=1.28×102(唯一)3.2=1.6×21=0.8×22=0.4×23,…可以表示成任意多個(gè)代碼形式約定尾數(shù)M的值域,使數(shù)的表示是唯一的、確定的→計(jì)算不便→尾數(shù)M的“規(guī)格”化79/32正數(shù),規(guī)格化后最高數(shù)值位為“1”負(fù)數(shù),規(guī)格化后最高數(shù)值位為“0”規(guī)格化以后尾數(shù)的最高有效位為“1”對(duì)于補(bǔ)碼:對(duì)于原碼:①浮點(diǎn)數(shù)用原碼表示時(shí)0-11-1/21/2-1≤M﹤-1/2
或1/2≤M﹤1②浮點(diǎn)數(shù)用補(bǔ)碼表示時(shí)1/2≤|M|﹤1M原=0.1000,1.1010M原=0.0010,1.0110如0.1010,0.1110非規(guī)格化如1.0010,1.0000-0.875-10.6250.87580/32最小浮點(diǎn)數(shù)最大浮點(diǎn)數(shù)為最大正數(shù):[例1]階符1位、階碼m位,數(shù)符1位、尾數(shù)n位,如果表示成規(guī)格化補(bǔ)碼,分析各真值對(duì)應(yīng)的M、E取值情況。最小浮點(diǎn)正數(shù)為最大正數(shù):2
-1m為最小負(fù)數(shù):-1為最大正數(shù):2
-1m1-2-n為最小負(fù)數(shù):-2
m為最小正數(shù):2-1最大浮點(diǎn)負(fù)數(shù)為最小負(fù)數(shù):-2
m為最大負(fù)數(shù):-(1/2+2-n)N=M×2E-1≤M<-1/2或1/2≤M<1=F(M,E)-2m≤E≤2m-1E→M→
E→M→
E→M→
E→M→
81/32[思考]某十六進(jìn)制浮點(diǎn)數(shù)A368000016,將其表示成補(bǔ)碼,字長(zhǎng)32位,階碼8位(含1位階符),尾數(shù)24位(含1位數(shù)符),求該浮點(diǎn)數(shù)十進(jìn)制的真值。表示范圍:231
×(-1)[例2]某個(gè)用規(guī)格化補(bǔ)碼表示的浮點(diǎn)數(shù),其中階碼6位(含1位階符),尾數(shù)10位(含1位數(shù)符)。絕對(duì)精度=2-32×0.5=2-33相對(duì)精度=2-9(即最小的非0正數(shù)):(只與尾數(shù)的數(shù)值位數(shù)有關(guān)):011111
100…00~011111
011…11231×
(1-2-9)100000
010…00xxxxxx
000…0182/3283/323、※IEEE754格式的浮點(diǎn)數(shù)在上述的表示格式中:S=浮點(diǎn)數(shù)的符號(hào)位,0表示正數(shù),1表示負(fù)數(shù);E=階碼,8位,采用移碼表示,階符隱含;M=尾數(shù),23位,純小數(shù)表示,且真值=1+M;階碼E采用移碼形式,但只偏移27-1
(不是27)。
有32位浮點(diǎn)數(shù)(單精度)和64位浮點(diǎn)數(shù)(雙精度)①32位短浮點(diǎn)數(shù):SEM3130
~
2322
~
0在上述表示格式中:S=浮點(diǎn)數(shù)的符號(hào)位,0表示正數(shù),1表示負(fù)數(shù);E=階碼,11位,采用移碼方式,階符隱含;M=尾數(shù),52位,用純小數(shù)表示;對(duì)階碼E編碼時(shí),只偏移210-1
(標(biāo)準(zhǔn)移碼偏移210)。②64位長(zhǎng)浮點(diǎn)數(shù):SEM6362
~
5251
~
084/32※補(bǔ)充說(shuō)明:
85/32(1)為了確保浮點(diǎn)數(shù)表示的唯一性,約定0≤M<1;(2)E為全0且M非全0:非規(guī)范浮點(diǎn)數(shù)(E偏移126),則:F真=(-1)S×M×2E-126(5)E為全1(255):M為全0,則F真=±∞(6)E為全1(255):M非全0時(shí),代碼無(wú)效(NaN);(4)1≤E≤254:數(shù)是規(guī)范浮點(diǎn)數(shù)(E偏移127),則:F真=(-1)S×(1+M)×2E-127(3)E為全0且M為全0:表示浮點(diǎn)數(shù)086/32[解答]首先分別將整數(shù)和小數(shù)部分轉(zhuǎn)換成二進(jìn)制:20.59375=10100.10011然后移動(dòng)小數(shù)點(diǎn),使其在第1、2位之間10100.10011=1.010010011×24
小數(shù)點(diǎn)被左移了4位,于是得到:e=4尾符S=0,階碼E=4+127=131,尾數(shù)M=010010011最后得到32位浮點(diǎn)數(shù)的二進(jìn)制代碼:01000001101001001100000000000000
=(41A4C000)16[例]
將十進(jìn)制數(shù)20.59375轉(zhuǎn)換成IEEE754的32位標(biāo)準(zhǔn)浮點(diǎn)數(shù)的2進(jìn)制格式,并寫出相應(yīng)的16進(jìn)制數(shù)。2.2字符表示方法2.2.1ASCII碼ASCII(AmericanStandardCodeforInformationInterchange)。字符總數(shù):128包含數(shù)字0~9,大小寫英文字母,運(yùn)算符,標(biāo)點(diǎn)符號(hào),標(biāo)示符,格式控制符等等。代碼寬度:7b存儲(chǔ)寬度:7b(有效位)+1b(奇偶校驗(yàn)位)=8b87/7ASCII碼示例16進(jìn)制30313233343536373839數(shù)字0123456789①數(shù)字型②字符型16進(jìn)制4142434445464748494A字符ABCDEFGHIJ③其它型16進(jìn)制2528292A3C3D3E3F407F字符%()*<=>?@DEL88/72.2.2漢字編碼1.漢字的輸入碼89/7①數(shù)字輸入碼包括:數(shù)字碼、拼音碼、字形碼√常用的是國(guó)標(biāo)區(qū)位碼,用數(shù)字串代表漢字;√將6763個(gè)二級(jí)漢字分為94個(gè)區(qū),每區(qū)94位,把漢字表示成二維數(shù)組,數(shù)組下標(biāo)就是區(qū)位碼?!鶖?shù)字編碼輸入的優(yōu)缺點(diǎn):無(wú)重碼,輸入碼與內(nèi)部碼的轉(zhuǎn)換方便,代碼難以記憶。[例]平?3829(位于碼表38區(qū)、29位)以漢字拼音為基礎(chǔ)的輸入方法(如微軟拼音)根據(jù)漢字的書寫形狀來(lái)進(jìn)行編碼(如五筆字型)。②拼音輸入碼√簡(jiǎn)單方便;√同音字多,重碼率高,影響輸入速度?!匆糨斎氪a的優(yōu)缺點(diǎn):③字形輸入碼√把漢字的筆劃部件用字母或數(shù)字進(jìn)行編碼,按筆劃順序依次輸入,就能對(duì)應(yīng)一個(gè)漢字?!毯?jiǎn)單方便,符合書寫習(xí)慣;√重碼率高,需要記住字形結(jié)構(gòu)?!中屋斎氪a的優(yōu)缺點(diǎn):90/72.漢字的內(nèi)碼國(guó)標(biāo)碼:10進(jìn)制區(qū)位碼轉(zhuǎn)成16進(jìn)制,再加2020H用于漢字信息的存儲(chǔ)、交換、檢索等操作的計(jì)算機(jī)內(nèi)代碼,一般用兩個(gè)字節(jié)表示。機(jī)內(nèi)碼:國(guó)標(biāo)碼+8080H(與ASCII區(qū)別),或者區(qū)位碼轉(zhuǎn)成16進(jìn)制+A0A0H√機(jī)內(nèi)碼的基礎(chǔ)是國(guó)標(biāo)碼[例]“啊”的區(qū)位碼160110=1001H國(guó)標(biāo)碼=1001H+2020H=3021H機(jī)內(nèi)碼=1001H+A0A0H=B0A1H91/73.漢字字模碼字模碼用點(diǎn)陣表示的漢字字形代碼,是漢字的輸出形式。92/7例如:字模碼漢字的字模碼為:16×16位=32字節(jié)※特別說(shuō)明:93/7①字模點(diǎn)陣用來(lái)構(gòu)成漢字庫(kù),并非而機(jī)內(nèi)存儲(chǔ)。②字庫(kù)中存儲(chǔ)每個(gè)漢字的點(diǎn)陣代碼,用于漢字的顯示輸出或打印輸出。③當(dāng)顯示輸出或打印輸出時(shí)才檢索字庫(kù),輸出字模點(diǎn)陣,得到字形?!虧h字的輸入碼、內(nèi)碼、字模碼分別是用于計(jì)算機(jī)輸入、內(nèi)部處理、輸出三種不同用途的編碼;√各有用途,不能混為一談。2.3數(shù)據(jù)處理與存儲(chǔ)94/1110011111、移位操作(1)邏輯移位
:數(shù)碼位置變化。(2)算術(shù)移位
10001111循環(huán)左移::符號(hào)位不變、數(shù)碼位置變化算術(shù)左移:1
10
(-15)(-30)000111101111數(shù)值發(fā)生2n倍變化,n為移動(dòng)的位數(shù)空位補(bǔ)095/11(1)單符號(hào)位:0011101110
(2)雙符號(hào)位:001110
000111①正數(shù)補(bǔ)碼\原碼移位規(guī)則※移位規(guī)則左移右移右移0
01110
0011左移左移右移右移011100
001110000111數(shù)符不變(單:符號(hào)位不變;雙:第1符號(hào)位不變)空位補(bǔ)0(右移時(shí)第2符號(hào)位移至尾數(shù)最高位)96/11(2)單符號(hào)位:1101110110
(3)雙符號(hào)位:101100
110110②負(fù)數(shù)補(bǔ)碼移位(1)移位規(guī)則左移右移右移1
10111
1101左移右移右移110110111011數(shù)符不變(單:符號(hào)位不變;雙:第1符號(hào)位不變)左移空位補(bǔ)0(第二符號(hào)位移至尾數(shù)最高位)。右移空位補(bǔ)197/11※易出錯(cuò)處:00
1110左右011100正確:11
0110101100001100011100
000110正確:00
1110111100左正確:101100
111110右11
0110正確:98/112、舍入方法①0舍1入(原碼、補(bǔ)碼)000100原
100101原
111011補(bǔ)
②末位恒置1(原碼、補(bǔ)碼)000100原
111011補(bǔ)
100101原
00010原
10011原
11110補(bǔ)
00011原
10011原
11101補(bǔ)
[例]保留4位尾數(shù):[例]保留4位尾數(shù):99/110000000A000AFFFF800A800A0000002A002A0000F12CF12C直接把符號(hào)位(0/1)填充到擴(kuò)展位高位均全補(bǔ)03、數(shù)位擴(kuò)展與壓縮(1)符號(hào)擴(kuò)展(2)0-擴(kuò)展(3)位數(shù)壓縮棄高位、留低位F12B800A02A0F12C800AF12C(針對(duì)無(wú)符號(hào)數(shù))100/114、數(shù)據(jù)存儲(chǔ)(按字節(jié)編址)(1)小端模式/Little-Endian小地址單元存儲(chǔ)數(shù)據(jù)的低位(即尾端)#103#102#101#100FFFF0001FFFF0001(2)大端模式/Big-Endian大地址單元存儲(chǔ)數(shù)據(jù)的低位(即尾端)#103#102#101#100FFFF00010100FFFF101/115、數(shù)據(jù)字的對(duì)齊(Alignment)102/11要求數(shù)據(jù)的地址是相應(yīng)的邊界地址
※按邊界對(duì)齊(假定存儲(chǔ)字寬度為32位,按字節(jié)編址,字長(zhǎng)32位)
字地址:4的倍數(shù)(低兩位為0)
半字地址:2的倍數(shù)(低位為0)
字節(jié)地址:任意※不按邊界對(duì)齊
例如inti,shortk,doublex,charc則&i=0;&k=4;&x=8;&c=16則&i=0;&k=4;&x=6;&c=14;ikxc按字邊界對(duì)齊不按邊界對(duì)齊0004081216字節(jié)0字節(jié)1
字節(jié)2
字節(jié)3ikxc試分析訪存次數(shù)的變化情況字節(jié)0字節(jié)1字節(jié)2字節(jié)30004081216103/11
思考下列問(wèn)題:1、在32位機(jī)器上輸出si,usi,i,ui的十進(jìn)制(真值)和十六進(jìn)制值(補(bǔ)碼機(jī)器數(shù))是什么?shortsi=-32768;unsignedshortusi=si;inti=si;unsingnedintui=usi;已知32768=215=1000000000000000B2、某機(jī)存儲(chǔ)器按字節(jié)編址,字長(zhǎng)32位,欲存儲(chǔ)倆數(shù)shortfloatf1=-256,f2=-128.75。試分析在地址碼為#1000存儲(chǔ)單元的小端字對(duì)齊存儲(chǔ)模式。104/112.4基本運(yùn)算方法補(bǔ)碼(+、–、×、÷)原碼(+、–、×、÷)浮點(diǎn)數(shù)運(yùn)算移碼(+、–)定點(diǎn)數(shù)運(yùn)算105/472.4.1定點(diǎn)數(shù)的運(yùn)算定點(diǎn)數(shù)一般用補(bǔ)碼表示;符號(hào)位參加運(yùn)算。重點(diǎn):基于補(bǔ)碼的加、減乘、除法106/471.補(bǔ)碼的加減法(X+Y)補(bǔ)=X補(bǔ)+Y補(bǔ)(1)(X-Y)補(bǔ)=X補(bǔ)+(-Y)補(bǔ)(2)數(shù)學(xué)依據(jù):(X+Y)補(bǔ)=X+Y+2n=X+Y+2n+2n=X補(bǔ)+Y補(bǔ)全過(guò)程以2n為模,即除以2n后取余數(shù)。(X-Y)補(bǔ)=X-Y+2n=X-Y+2n+2n=X補(bǔ)+(-Y)補(bǔ)其中,(-Y)補(bǔ)=[Y補(bǔ)]變補(bǔ)Y的符號(hào)置反后再表示成補(bǔ)碼Y補(bǔ)連同符號(hào)一起變反、末尾+1107/472)X=–3Y=–2
X補(bǔ)=11101
Y補(bǔ)=1111011011(-5補(bǔ)碼)1)X=3Y=2
X補(bǔ)=00011
Y補(bǔ)=0001000101(+5補(bǔ)碼)【例】求(X+Y)補(bǔ)1)X=4Y=–5
X補(bǔ)=00100
Y補(bǔ)=11011(-Y)補(bǔ)=0010101001(+9補(bǔ)碼)2)X=–4Y=5
X補(bǔ)=11100
Y補(bǔ)=00101(-Y)補(bǔ)=1101110111(–9補(bǔ)碼)【例】求(X–Y)補(bǔ)
X補(bǔ)=00100
Y補(bǔ)=11011
X補(bǔ)=11100
Y補(bǔ)=00101108/4700101原10101原※補(bǔ)碼表示與變補(bǔ)運(yùn)算的區(qū)別補(bǔ)碼表示10011補(bǔ)變補(bǔ)運(yùn)算補(bǔ)碼表示符號(hào)位不變負(fù)數(shù)尾數(shù)改變,正數(shù)尾數(shù)不變。00011補(bǔ)變補(bǔ)運(yùn)算符號(hào)位變反,尾數(shù)變反、末尾加1【舉例】11011001010110111101(-Y)補(bǔ)也稱為Y補(bǔ)的機(jī)器負(fù)數(shù)。109/47(2)補(bǔ)碼加減運(yùn)算流程操作數(shù)用補(bǔ)碼表示,符號(hào)位參加運(yùn)算得到補(bǔ)碼表示的結(jié)果,符號(hào)位指示結(jié)果的正負(fù)X補(bǔ)+Y補(bǔ)X補(bǔ)+(-Y)補(bǔ)ADDSUB110/47(3)邏輯實(shí)現(xiàn)#控制信號(hào)加法器輸入端:Sub:控制MUX和CinA:輸入A補(bǔ)B:輸入B補(bǔ)加法器輸出端:Sum:加法結(jié)果Cout:進(jìn)位信號(hào)#補(bǔ)碼加減運(yùn)算器框圖MUXSum加法器444AZFCinCout4B401SubBOF補(bǔ)碼加/減運(yùn)算部件邏輯SFCFB'ZF:0標(biāo)志位;SF:符號(hào)標(biāo)志;CF:進(jìn)位/借位標(biāo)志;OF:溢出標(biāo)志。111/47(4)溢出判斷思考:在什么情況下可能產(chǎn)生溢出?A:4位尾數(shù),1位符號(hào)(SA)B:4位尾數(shù),1位符號(hào)(SB)
補(bǔ)碼,故符號(hào)位也參加運(yùn)算結(jié)果的符號(hào),記為Sf符號(hào)位的進(jìn)位,記為Cf尾數(shù)最高位的進(jìn)位,記為C[假設(shè)]補(bǔ)碼表示的A、B兩數(shù)做加減運(yùn)算*溢出的判斷規(guī)則112/470011011100正確00011000101)A=3、B=23+2:001012)A=10、B=710+7:010100011110001正溢正確負(fù)溢正確正確3)A=-3、B=-2-3+(-2):1101111101111104)A=-10、B=-7-10+(-7):01111101101
10015)A=6、B=-46+(-4):000106)A=-6、B=4-6+4:111101101000100113/470
101000111(2)A=10B=710+7:10001(4)A=-10B=-7-10+(-7):011111011011001①硬件判斷邏輯一(根據(jù)SA、SB與Sf的關(guān)系)+溢出邏輯=SASBSf②硬件判斷邏輯二(根據(jù)Cf與C的關(guān)系)正溢負(fù)溢SASBSf114/47正確00011000101)A=3B=23+2:001012)A=10B=710+7:010100011110001正溢正確負(fù)溢正確正確3)A=-3B=-2-3+(-2):1101111101111104)A=-10B=-7-10+(-7):0111110110110015)A=6B=-46+(-4):0001000110111006)A=-6B=4-6+4:111101101000100Cf=0C=0Cf=0C=1Cf=1C=1Cf=1C=0Cf=1C=1Cf=0C=0111111115/47②硬件判斷邏輯二(Cf與C的關(guān)系)溢出邏輯=Cf⊕C③硬件判斷邏輯三(從雙符號(hào)位)①硬件判斷邏輯一(SA、SB與Sf的關(guān)系)+溢出邏輯=SASBSfSASBSf116/471)3+2:正確00001100001000
01012)10+7:001010000111010001正溢正確負(fù)溢正確正確3)-3+(-2):1110111111011111104)-10+(-7):1011111101101110015)6+(-4):0000100001101111006)-6+4:11
111011
1010000100第1符號(hào)位Sf1第2符號(hào)位Sf2117/47③硬件判斷邏輯三(雙符號(hào)位Sf1、Sf2)溢出邏輯=Sf1⊕Sf2②硬件判斷邏輯二(Cf與C的關(guān)系)溢出邏輯=Cf⊕C①硬件判斷邏輯一(SA、SB與Sf的關(guān)系)+溢出邏輯=SASBSfSASBSf00/11-正確;01-正溢;10-負(fù)溢;118/472、原碼加減運(yùn)算[符號(hào)位單獨(dú)處理、數(shù)值位加減]
先比較兩數(shù)符號(hào):①加法:同號(hào)數(shù)值位求和,異號(hào)求差;②減法:異號(hào)數(shù)值位求和,同號(hào)求差;※求和時(shí):數(shù)值位相加,和的符號(hào)取被加數(shù)(被減數(shù))符號(hào)[若最高位產(chǎn)生進(jìn)位,則結(jié)果有溢出?!蟛顣r(shí):被加數(shù)(被減數(shù))與加數(shù)(減數(shù))求補(bǔ)后相加?!炎罡邤?shù)值位有進(jìn)位,相加結(jié)果為正,數(shù)值位正確;符號(hào)取被加數(shù)(被減數(shù))的符號(hào)?!炎罡邤?shù)值位無(wú)進(jìn)位,相加結(jié)果為負(fù),得到數(shù)值位的補(bǔ)碼,需對(duì)結(jié)果求補(bǔ)還原為絕對(duì)值形式的數(shù)值位;符號(hào)位與被加數(shù)(被減數(shù))的符號(hào)相反。119/473原+2原3原+[-2]原3原-2原3原-[-2]原求和求差[例]已知[X]原
=1.0011,[Y]原
=1.1010,計(jì)算[X+Y]原解:由原碼加減運(yùn)算規(guī)則知:同號(hào)相加,則求和,和的符號(hào)同被加數(shù)符號(hào)。和的數(shù)值位為:0011+1010=1101和的符號(hào)位為:1
[X+Y]原
=1.1101[例]已知[X]原
=1.0011,[Y]原
=1.1010,要求計(jì)算[X–Y]原
解:由原碼加減運(yùn)算規(guī)則知:同號(hào)相減,則數(shù)值位求差
差的數(shù)值位為:0011+(1010)求補(bǔ)
=0011+0110=1001
最高數(shù)值位無(wú)進(jìn)位,表明加法結(jié)果為負(fù),需對(duì)1001求補(bǔ),還原為絕對(duì)值形式的數(shù)值位。即:(1001)求補(bǔ)=0111差的符號(hào)位為[X]原的符號(hào)位取反,即
[X–Y]原
=0.0111120/473、標(biāo)準(zhǔn)移碼的加減[符號(hào)位和數(shù)值部分一起處理][E1]移+[E2]移=2n-1+E1+2n-1+E2=2n+E1+E2
=[E1+E2]補(bǔ)(mod2n)=E1補(bǔ)+E2補(bǔ)=
(E1移+E2移)反號(hào)[E1]移–[E2]移=2n-1+E1+2n–[E2]移
(mod2n)
=2n-1+E1+2n–2n-1–E2
=2n+E1–E2=[E1–E2]補(bǔ)(mod2n)=E1補(bǔ)+(E2)變補(bǔ)121/47[重要結(jié)論]兩數(shù)移碼的加減等于兩數(shù)加減后表示成的補(bǔ)碼。※補(bǔ)碼和移碼:符號(hào)位相反、數(shù)值位相同①加法:直接將[E1]移和[E2]移進(jìn)行模2n加,結(jié)果的符號(hào)取反。②減法:先將減數(shù)[E2]移求補(bǔ),然后再與被減數(shù)[E1]移進(jìn)行模2n加,結(jié)果的符號(hào)取反。因此,可得到移碼的下列加減法則:[溢出判斷]進(jìn)行模2n相加時(shí),如果兩個(gè)加數(shù)與和數(shù)符號(hào)全相同,則發(fā)生了溢出。122/47[例]用4位移碼計(jì)算“–7+(–6)”和“–3+6”的值。[–7]移
=0001[–6]移=0010 [–3]移=0101 [6]移=1110[–7]移+[–6]移
=0001+0010=0011補(bǔ)
(符號(hào)都為0,有溢出)[–3]移
+[6]移
=0101+1110=0011補(bǔ),(符號(hào)取反后為1011,其真值為+3)思考:[–7+(–6)]移=?
[–3+(6)]移
=?123/47[例]用四位移碼計(jì)算“–7–(–6)”和“–3–5”
[–7]移
=0001[–6]移=0010
[–3]移=0101 [
5
]移=1101
[–7]移
–[–6]移
=0001+1110=1111補(bǔ)
符號(hào)取反后為0111,其真值為–1。
[–3]移
–[
5
]移
=0101+0011=1000補(bǔ)符號(hào)取反后為0000,其真值為–8124/472.4.2定點(diǎn)數(shù)乘法√原碼一位乘√補(bǔ)碼一位乘√原碼兩位乘125/471、原碼一位乘原碼乘法部分積累加、移位。[例]
0.1101×1.1011乘積
P
=|X|×|Y|X原Y原符號(hào)SP=SX⊕SY126/47手工運(yùn)算0.1101×0.10111101110100001101.10001111添加符號(hào):1.10001111部分積思考:1)加數(shù)的個(gè)數(shù)增多情況2)加數(shù)的位數(shù)增多的情況解決辦法:可將1次總加改為分步移位累加←|X|←|Y|①加數(shù)只為|X|或0②個(gè)數(shù)為|Y|的位數(shù)127/47原碼1位乘法(1)算法原理[每次將1位乘數(shù)所對(duì)應(yīng)的部分積與原部分積的累加和相加,并移位]設(shè)置寄存器:
A:存放部分積累加和、乘積高位
B:存放被乘數(shù)
C:存放乘數(shù)、乘積低位
A=00.0000B=|X|=00.1101C=|Y|=.1011
設(shè)置初值:128/47步數(shù)CR條件操作A
C
00.0000.1011
0)Cn=1+BCn+00.110100.1101
0.1101×0.1011
1101110100001101
0.10001111BC
1101
00.01101.101
0.1101×0.10111)Cn=1+B+00.110101.001100.100111.10
0.1101×0.1011
0.1101×0.1011
1101110100001101
0.10001111BC2)Cn=0+0+00.000000.100100.0100111.13)Cn=1+B+00.110101.000100.10001111X原×Y原
=1.100011111011110111101111129/47(2)算法流程0→A、0→CR、|X|→B、|Y|→CCn=1?CR=n?1/2(A+B)→A,C1/2(A+0)→A,C
CR+1→CRYYNNSX⊕SY→SA130/47選擇(3)32位硬件邏輯方案加法器AC寄存器控制邏輯clock0/BCnAC[63:32]AC[63:32]T=0:|X|→B,|Y|→AC[31:0],0→AC[63:32]32位BT=1:AC[63:32]+0/B→AC[63:32],AC右移T=2:T=n:同上,然后置符號(hào)?!璚n
右移SxSy64位的移位寄存器Cn=AC[0]131/472.補(bǔ)碼一位乘法※Booth(比較法)Yn
(高位)Yn+1(低位)運(yùn)算操作[XY]補(bǔ)=[An]補(bǔ)+(Y1-Y0)×[X]補(bǔ)*乘數(shù)尾添加Yn+1,循環(huán)判別YnYn+1,累加如表情況的的校正值,再整體右移1位(即?×
)。132/4700?×A補(bǔ)01?×
(A補(bǔ)+X補(bǔ))10?×(A補(bǔ)-X補(bǔ))11?×A補(bǔ)Y0[例]
X=-0.1101,Y=-0.1011,計(jì)算[XY]補(bǔ)初始化A=00.0000,ACCn+100000010101步數(shù)
CnCn+1條件操作1
1
0
-B+0011010011010
011011010
1101010右移1位→2
0
1
+B+1100111110011
1100110101右移1位→11101
0133/47B=X補(bǔ)=11.0011,-B=-X補(bǔ)=001101
C=Y補(bǔ)=1.01010011001000步數(shù)
CnCn+1條件操作3
1
0
-B+001101100100100100
111101111010右移1位→4
0
1
+B+
1100111101111
1011
111110111101右移1位→11110011101
0
1
0
-B+001101111110[XY]補(bǔ)=0010001111=
+0.1000
1111保持不變!!134/4701校正.(請(qǐng)參考教材)※補(bǔ)碼1位乘法除了比較法,還有校正法。①乘數(shù)Y補(bǔ)為正,乘以X補(bǔ)累加,結(jié)果不校正;②乘數(shù)Y補(bǔ)為負(fù),乘以X補(bǔ)累加,結(jié)果-X補(bǔ)校正;135/472.4.3
定點(diǎn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)年會(huì)慶典策劃方案
- 海底兩萬(wàn)里解讀科幻之旅與冒險(xiǎn)精神
- 小學(xué)生英語(yǔ)啟蒙繪本讀后感
- 《數(shù)學(xué)建模與實(shí)際問(wèn)題解決:高中數(shù)學(xué)教學(xué)教案》
- 市政設(shè)施維護(hù)保養(yǎng)手冊(cè)
- 簡(jiǎn)明工作流程教程與操作指南
- 企業(yè)員工滿意度調(diào)查分析報(bào)告
- 鄉(xiāng)村農(nóng)田水系生態(tài)修復(fù)項(xiàng)目合作協(xié)議
- 公司聯(lián)合市場(chǎng)推廣協(xié)議
- 品牌授權(quán)合作協(xié)議細(xì)則內(nèi)容
- 大學(xué)輔導(dǎo)員崗位考核參考指標(biāo)
- 鉆機(jī)的基礎(chǔ)知識(shí)介紹
- 2024年計(jì)算機(jī)軟件水平考試-高級(jí)系統(tǒng)架構(gòu)師考試近5年真題附答案
- 檢驗(yàn)科菌(毒)種及其樣品安全管理制度
- 第19課 法國(guó)大革命和拿破侖帝國(guó) 教案
- 房地產(chǎn) -碧桂園住宅項(xiàng)目設(shè)計(jì)成本優(yōu)化手冊(cè)
- 江蘇省環(huán)保集團(tuán)有限公司招聘筆試題庫(kù)2024
- 商場(chǎng)物料制作合同協(xié)議書
- 醫(yī)院論文發(fā)表前誠(chéng)信承諾及備案表
- 2024年廣州市中考語(yǔ)文試卷真題(含官方答案)
- ISO14644國(guó)際標(biāo)準(zhǔn)(中文版)
評(píng)論
0/150
提交評(píng)論