




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)第1章
緒
論第2章
數(shù)的表示與計(jì)算體系第3章
指令系統(tǒng)設(shè)計(jì)第4章
中央處理器體系結(jié)構(gòu)設(shè)計(jì)第5章
存儲(chǔ)器體系結(jié)構(gòu)設(shè)計(jì)第6章I/O系統(tǒng)設(shè)計(jì)第7章
并行處理與普適計(jì)算第8章生物計(jì)算機(jī)第9章
光計(jì)算機(jī)第10章
量子計(jì)算機(jī)主要參考文獻(xiàn)計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)第1章緒論1.1計(jì)算機(jī)體系結(jié)構(gòu)的基本概念1.2計(jì)算機(jī)的發(fā)展簡(jiǎn)史1.3計(jì)算機(jī)體系結(jié)構(gòu)的分類1.4計(jì)算機(jī)系統(tǒng)的性能指標(biāo)1.5計(jì)算機(jī)的應(yīng)用習(xí)
題
1第1章
緒論1.1計(jì)算機(jī)體系結(jié)構(gòu)的基本概念
計(jì)算機(jī)體系結(jié)構(gòu)(ComputerArchitecture):又稱為計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),指機(jī)器語(yǔ)言程序員看到的傳統(tǒng)機(jī)器級(jí)具有的屬性結(jié)構(gòu),包括概念性結(jié)構(gòu)和功能性結(jié)構(gòu)兩方面。
計(jì)算機(jī)組織(ComputerOrganization):也稱為計(jì)算機(jī)組成,指計(jì)算機(jī)體系結(jié)構(gòu)的邏輯實(shí)現(xiàn)或邏輯結(jié)構(gòu),即物理機(jī)器級(jí)內(nèi)各部件的功能及各部件的聯(lián)系,各事件的控制方式與排序方式,包括物理機(jī)器級(jí)內(nèi)數(shù)據(jù)流和控制流的組成及邏輯設(shè)計(jì)等。
計(jì)算機(jī)實(shí)現(xiàn)(ComputerImplementation):指計(jì)算機(jī)組成的物理實(shí)現(xiàn)或物理結(jié)構(gòu),即器件技術(shù)(占主導(dǎo)作用)和微組裝技術(shù),包括處理機(jī)、主存、外設(shè)等器件的物理結(jié)構(gòu)與器件集成,信號(hào)傳輸技術(shù),模塊、插件、底板的劃分與連接,電源、冷卻及整機(jī)裝配技術(shù)等。
計(jì)算機(jī)系統(tǒng)(ComputerSystem)包括硬件和軟件兩大部分。
計(jì)算機(jī)硬件(ComputerHardware):或硬件系統(tǒng),指計(jì)算機(jī)系統(tǒng)的實(shí)體部分,即計(jì)算機(jī)系統(tǒng)中電子、機(jī)械、光電等元件組成的各種物理器件的總稱。
計(jì)算機(jī)軟件(ComputerSoftware):或軟件系統(tǒng),指計(jì)算機(jī)系統(tǒng)中的軟體部件,即計(jì)算機(jī)程序及其文檔。計(jì)算機(jī)軟件一般分為系統(tǒng)軟件和應(yīng)用軟件兩大類。圖1.1計(jì)算機(jī)系統(tǒng)1.2計(jì)算機(jī)的發(fā)展簡(jiǎn)史1.2.1機(jī)械式計(jì)算機(jī)的發(fā)展算盤(pán)是人類最早的計(jì)算工具帕斯卡的加法機(jī)圖1.3哈佛Mark-I
Mark-I是一種完全機(jī)電式的計(jì)算機(jī)。它長(zhǎng)15米,高2.4米,有15萬(wàn)個(gè)元件,還有800千米導(dǎo)線,使用了3000多個(gè)繼電器,重量達(dá)5噸。其核心是72個(gè)循環(huán)寄存器,每個(gè)可存放一個(gè)正或負(fù)的23bit的數(shù)字。數(shù)據(jù)和指令通過(guò)穿孔卡片機(jī)輸入,輸出則由電傳打字機(jī)實(shí)現(xiàn)。其加法速度是300ms,乘法速度是6s,除法速度是11.4s。IBM公司方面把它命名為ASCC(AutomaticSequenceControlledCalculator)。1.2.2電子計(jì)算機(jī)硬件結(jié)構(gòu)的發(fā)展時(shí)代年份硬件軟件應(yīng)用一1946~1958電子管機(jī)器語(yǔ)言匯編語(yǔ)言科學(xué)計(jì)算二1959~1965晶體管高級(jí)語(yǔ)言數(shù)據(jù)處理三1965~1971小規(guī)模集成電路(Small-ScaleIntegration,SSI),中規(guī)模集成電路(Medium-ScaleIntegration,MSI)操作系統(tǒng)工業(yè)控制四1971~1990大規(guī)模集成電路(Large-ScaleIntegration,LSI)數(shù)據(jù)庫(kù)網(wǎng)絡(luò)商業(yè)領(lǐng)域五1990年至今超大規(guī)模集成電路(Very-large-scaleintegration,VLSI)人工智能各個(gè)領(lǐng)域表1.1電子計(jì)算機(jī)發(fā)展的5代
Colossuscomputer(巨人)是世界上最早的電子數(shù)字機(jī)器。1936年,年僅23歲的圖靈提出了日后被稱為“圖靈機(jī)”的抽象裝置,它可以被用來(lái)模擬任何計(jì)算機(jī)算法的邏輯。圖靈Colossuscomputer(1)電子管時(shí)代(1946
~
1959年)1946年2月14日,美國(guó)賓夕法尼亞大學(xué)莫爾學(xué)院制成的大型的電子數(shù)值積分計(jì)算機(jī)ENIAC(ElectronicNumericalIntegratorAndCalculator)通過(guò)驗(yàn)收,這就是人們常常提到的世界上第一臺(tái)電子計(jì)算機(jī)。運(yùn)算速度比繼電器計(jì)算機(jī)快1000倍,功率為150千瓦,18000多只電子管、10000多只電容器、70000只電阻、1500多個(gè)繼電器,占地160多平方米,重達(dá)30噸,5種功能(每秒5000次加法運(yùn)算、每秒50次乘法運(yùn)算、能進(jìn)行平方和立方計(jì)算、sin和cos函數(shù)數(shù)值運(yùn)算、其他更復(fù)雜的計(jì)算)。但是,尚未完全具備現(xiàn)代計(jì)算機(jī)的主要特征,并且采用十進(jìn)制計(jì)算。馮?諾依曼ENIAC(2)晶體管時(shí)代(1959年—1964年)IBM7090晶體管(3)中、小規(guī)模集成電路時(shí)代(1964年—1975年)IBMS/360-20(4)超大規(guī)模集成電路時(shí)代(1975年—1990年)IBMPCAPPLEII(5)超級(jí)規(guī)模集成電路時(shí)代(1990年—現(xiàn)在)1.2.3微處理器的發(fā)展
1971年11月15日,全球第一款微處理器“Intel4004”從Intel公司誕生。
微處理器(Microprocessor,μP或MPU):是由一片或幾片大規(guī)模集成電路組成的中央處理部件,包括運(yùn)算器、控制器和一定數(shù)量的寄存器。
微型計(jì)算機(jī):是指以微處理器為基礎(chǔ),配以內(nèi)存儲(chǔ)器和I/O接口電路和輔助電路構(gòu)成的一個(gè)相對(duì)獨(dú)立的電路系統(tǒng)。
微型計(jì)算機(jī)系統(tǒng):是指微型計(jì)算機(jī)在配以相應(yīng)的外圍設(shè)備,安裝必要的軟件構(gòu)成的系統(tǒng)。時(shí)代年份位數(shù)典型處理器一1971~19734位Intel4004,Intel8008,等二1974~19778位Intel8080/8085,Z80,M6800,等三1978~198416位Intel8086,8088,Z8000,M68000,等四1985~199232位Intel80386,80486,等五1993-200564位IntelPentium系列,AMDK6,等六2005年至今多核Intel酷睿(core)系列,AMD速龍,等表1.2微處理器的6代1.2.4從模擬計(jì)算機(jī)到數(shù)字計(jì)算機(jī)
數(shù)字式電子計(jì)算機(jī)(DigitalElectronicComputer),即數(shù)字計(jì)算機(jī),是當(dāng)今世界電子計(jì)算機(jī)行業(yè)中的主流,其內(nèi)部處理的是一種稱為符號(hào)信號(hào)或數(shù)字信號(hào)的電信號(hào)。在時(shí)間上和數(shù)量上都是離散的物理量稱為數(shù)字量,把表示數(shù)字量的信號(hào)叫數(shù)字信號(hào),把工作在數(shù)字信號(hào)下的電子電路叫數(shù)字電路。由于這種處理信號(hào)的差異,使得其組成結(jié)構(gòu)和性能優(yōu)于模擬計(jì)算機(jī)。表1.3模擬計(jì)算機(jī)與數(shù)字計(jì)算機(jī)的比較1.2.5計(jì)算機(jī)軟件的發(fā)展(1)機(jī)器語(yǔ)言階段(2)匯編語(yǔ)言階段
匯編程序(Assembler,或匯編器),是將匯編語(yǔ)言編制的程序(稱為源程序,如asm文件)翻譯成機(jī)器語(yǔ)言程序(稱為目標(biāo)程序,如obj文件)的工具,并進(jìn)一步連接成為可執(zhí)行程序(比如exe文件)。使用符號(hào)語(yǔ)言編程序仍然需要面向一臺(tái)具體的機(jī)器。(3)高級(jí)語(yǔ)言階段包括編譯方式和解釋方式。(4)操作系統(tǒng)階段(5)Web服務(wù)階段1.3.1馮?諾依曼體系結(jié)構(gòu)1.3計(jì)算機(jī)體系結(jié)構(gòu)的分類馮?諾依曼思想的基本要點(diǎn)可歸納如下:(1)計(jì)算機(jī)由輸入設(shè)備、輸出設(shè)備、運(yùn)算器、存儲(chǔ)器和控制器五大部件組成。(2)采用二進(jìn)制形式
表示數(shù)據(jù)和指令(3)采用存儲(chǔ)程序方式輸入設(shè)備存儲(chǔ)器輸出設(shè)備運(yùn)算器控制器圖1.22典型的馮?諾依曼計(jì)算機(jī)體系結(jié)構(gòu)圖1.3.2哈佛體系結(jié)構(gòu)
在DSP(digitalsignalprocessor)算法中,最大的工作量之一是與存儲(chǔ)器交換信息,這其中包括作為輸入信號(hào)的采樣數(shù)據(jù)、濾波器系數(shù)和程序指令。為此,哈佛大學(xué)提出了與馮?諾依曼結(jié)構(gòu)完全不同的另一種計(jì)算機(jī)結(jié)構(gòu),人們習(xí)慣稱之為哈佛結(jié)構(gòu)。使用哈佛結(jié)構(gòu)的處理器有:AVR、ARM9、ARM10、ARM11等。圖1.24哈佛結(jié)構(gòu)圖1.25哈佛結(jié)構(gòu)指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度圖1.23馮?諾依曼結(jié)構(gòu)的處理器對(duì)存儲(chǔ)器進(jìn)行讀寫(xiě)操作1.3.3Flynn計(jì)算機(jī)體系結(jié)構(gòu)的分類
1966年,美國(guó)斯坦福大學(xué)教授Michael.J.Flynn提出根據(jù)指令流、數(shù)據(jù)流的多倍性(multiplicity)特征對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分類。(1)單指令流單數(shù)據(jù)流(SingleInstructionStreamSingleDataStream,SISD)(2)單指令流多數(shù)據(jù)流(SingleInstructionStreamMultipleDataStream,SIMD)(3)多指令流單數(shù)據(jù)流(MultipleInstructionStreamSingleDataStream,MISD)(4)多指令流多數(shù)據(jù)流(MultipleInstructionStreamMultipleDataStream,MIMD)1.3.4馮澤云分類法
1972年,美籍華人馮澤云教授(Tse-yunFeng)提出用最大并行度來(lái)對(duì)計(jì)算機(jī)體系結(jié)構(gòu)進(jìn)行分類。由此得出四種不同的計(jì)算機(jī)結(jié)構(gòu):(1)字串行、位串行(簡(jiǎn)稱WSBS)。其中N=1,M=1。(2)字并行、位串行(簡(jiǎn)稱WPBS)。其中N=1,M>1。(3)字串行、位并行(簡(jiǎn)稱WSBP)。其中N>1,M=1。(4)字并行、位并行(簡(jiǎn)稱WPBP)。其中N>1,M>1。1.3.5計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)圖1.26計(jì)算機(jī)系統(tǒng)的語(yǔ)言層次結(jié)構(gòu)
從語(yǔ)言的角度出發(fā),把計(jì)算機(jī)系統(tǒng)按功能劃分成5個(gè)層次級(jí)別,每一級(jí)以一種不同的語(yǔ)言為特征,每一級(jí)都能進(jìn)行程序設(shè)計(jì)。1.3.6計(jì)算機(jī)的總線組織結(jié)構(gòu)圖1.27現(xiàn)代計(jì)算機(jī)總線組織結(jié)構(gòu)
采用總線結(jié)構(gòu)可以大大減少傳輸線數(shù),減輕發(fā)送部件的負(fù)載,并可簡(jiǎn)化硬件結(jié)構(gòu),靈活地組織、修改與擴(kuò)充系統(tǒng)。
按其任務(wù),可把總線分為下面幾種類型。CPU內(nèi)部總線:這是一級(jí)數(shù)據(jù)線,是用來(lái)連接CPU內(nèi)部各寄存器和算術(shù)邏輯部件的總線。在微型計(jì)算機(jī)系統(tǒng)中,CPU內(nèi)部總線就是芯片內(nèi)的總線。部件內(nèi)總線:在計(jì)算機(jī)中,通常按功能模塊制作成插件,在插件上也常采用總線結(jié)構(gòu)連接有關(guān)芯片。這一級(jí)屬芯片間的總線。系統(tǒng)總線:這是連接系統(tǒng)內(nèi)各大部件如CPU、主存、I/O設(shè)備等的總線,它是連接整機(jī)系統(tǒng)的基礎(chǔ)。系統(tǒng)總線包括地址線、數(shù)據(jù)線、控制/狀態(tài)信號(hào)線。外總線:這是計(jì)算機(jī)系統(tǒng)之間或計(jì)算機(jī)系統(tǒng)與其他系統(tǒng)之間的通信總線。
按照總線信息傳送方向區(qū)分,總線又可分為單向總線和雙向總線兩種。根據(jù)不同的總線組織,可以將計(jì)算機(jī)的體系結(jié)構(gòu)做如下分類:(1)單總線結(jié)構(gòu)(2)雙總線結(jié)構(gòu)(3)通道結(jié)構(gòu)
通道是一種具有處理機(jī)功能的專門(mén)用來(lái)管理I/O操作的控制部件。具有通道的計(jì)算機(jī)系統(tǒng)通常采用主機(jī)、通道、I/O設(shè)備控制器、I/O設(shè)備四級(jí)連接方式,這種結(jié)構(gòu)具有較大的變化和擴(kuò)展余地。
對(duì)于較小的系統(tǒng)來(lái)說(shuō),可將設(shè)備控制器與I/O設(shè)備合并在一起,將通道與CPU合并在一起。對(duì)較大的系統(tǒng),則可單獨(dú)設(shè)置通道。對(duì)更大的系統(tǒng),可將通道發(fā)展為專門(mén)的I/O處理機(jī),甚至功能更強(qiáng)的前端機(jī)。[例1.1]圖1.32為主機(jī)框圖,根據(jù)要求回答存數(shù)指令的信息流程。圖1.32某主機(jī)框圖解:取指令:PC→MAR→M→MDR→IR分析指令:OP(IR)→CU執(zhí)行指令:Ad(IR)→MAR→M,ACC→MDR→M123567894CU控制單元主存儲(chǔ)器MDRMAR存儲(chǔ)體CPUPC控制器IR…運(yùn)算器MQACCALUXI/O設(shè)備1.3.7計(jì)算機(jī)的軟件系統(tǒng)[例1.2]環(huán)路復(fù)雜度用來(lái)定量度量程序的邏輯復(fù)雜度,常用McCabe方法來(lái)表示。一個(gè)有e條邊和n個(gè)節(jié)點(diǎn)的流程圖F,其環(huán)路復(fù)雜度為:V(G)=e-n+2 (1.1)圖1.33某程序圖解:根據(jù)圖可知,e=8,n=6,根據(jù)公式V(G)=e-n+2,有:8-6+2=41.4.1摩爾定律
1964年,英特爾公司創(chuàng)始人戈登·摩爾(GordonMoore)在一篇短論文里提到:每18個(gè)月,集成電路的性能將提高一倍,而其價(jià)格將降低一半。
摩爾定律有另外一種表述方法,即每過(guò)10年計(jì)算機(jī)系統(tǒng)性能將會(huì)增加100倍,通訊帶寬也會(huì)提高100倍,而花費(fèi)的資金不會(huì)增加。1.4計(jì)算機(jī)系統(tǒng)的性能指標(biāo)1.4.2性能測(cè)試程序
計(jì)算機(jī)性能通常用峰值性能(Peakperformance)和持續(xù)性能(Sustainedperformance)來(lái)評(píng)價(jià)。
峰值性能是指在理想情況下計(jì)算機(jī)系統(tǒng)可獲得的最高理論性能,它不能反映出系統(tǒng)的實(shí)際性能。
實(shí)際性能又稱持續(xù)性能,其值只有峰值性能的5%~35%,這是因?yàn)閷?shí)際程序運(yùn)行時(shí)會(huì)受到硬件結(jié)構(gòu)、操作系統(tǒng)、算法設(shè)計(jì)和編程等因素的影響。
SPEC(SystemPerformanceEvaluationCooperative)一個(gè)開(kāi)放性的非贏利組織,1988年由工作站廠商HP、DEC、MIPS、SUN共同發(fā)起,已成為最成功的性能測(cè)試標(biāo)準(zhǔn)化組織?;鶞?zhǔn)測(cè)試程序SPECCPU2006包括12個(gè)整數(shù)基準(zhǔn)測(cè)試程序集,17個(gè)浮點(diǎn)數(shù)基準(zhǔn)測(cè)試程序集。
由于Server有不同的服務(wù)功能,因此有多類benchmarks:SPECrate—processingrateofamultiprocessor面向Server的處理器吞吐量的benchmarks,SPECCPU2000使用了SPECCPUbenchmarks,通過(guò)運(yùn)行多個(gè)CPU基準(zhǔn)測(cè)試程序副本來(lái)獲得多處理機(jī)的處理速率(SPECrate)。SPECSFS--fileserverbenchmark測(cè)試網(wǎng)絡(luò)文件系統(tǒng)的性能,包括磁盤(pán)、IO和處理器的性能。SPECWeb--Webserverbenchmark模擬多個(gè)用戶請(qǐng)求Server的靜態(tài)和動(dòng)態(tài)頁(yè)面。1.4.3基本性能指標(biāo)(1)處理機(jī)字長(zhǎng)(機(jī)器字長(zhǎng))
處理機(jī)運(yùn)算器中一次能夠完成二進(jìn)制運(yùn)算的位數(shù);機(jī)器字長(zhǎng)與系統(tǒng)數(shù)據(jù)總線寬度有一定相關(guān)性(不一定完全一樣)。(2)主頻/周期時(shí)鐘周期(ClockCycle,也稱為振蕩周期)
時(shí)鐘脈沖的倒數(shù),計(jì)算機(jī)中最基本的、最小的時(shí)間單位。機(jī)器周期(MachineCycle,也稱為CPU周期)
指的是指令周期中的某一工作階段所需的時(shí)間。一般情況下,一個(gè)機(jī)器周期由若干個(gè)時(shí)鐘周期(振蕩周期)組成。指令周期(InstructionCycle)
指令周期是執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期(CPU周期)組成。總線周期(BUSCycle)
一個(gè)訪存儲(chǔ)器或I/O端口操作所用時(shí)間。含4個(gè)時(shí)鐘周期。(3)CPU的運(yùn)算速度
CPU執(zhí)行時(shí)間:CPU執(zhí)行一般程序所占用的CPU時(shí)間;
CPI(CyclePerInstruction):執(zhí)行一條指令所需的平均時(shí)鐘周期數(shù);
MIPS(MillionInstructionsPerSecond):每秒百萬(wàn)指令數(shù),即單位時(shí)間內(nèi)執(zhí)行的指令數(shù);針對(duì)標(biāo)量機(jī)(執(zhí)行一條指令,只得到一個(gè)運(yùn)算結(jié)果);
MFLOPS(MillionFloating-pointOperationsPerSecond):每秒百萬(wàn)次浮點(diǎn)操作數(shù),衡量機(jī)器浮點(diǎn)操作的性能;針對(duì)向量機(jī)(執(zhí)行一條向量指令,通??傻玫蕉鄠€(gè)運(yùn)算結(jié)果)。(4)一個(gè)程序的CPU時(shí)間
指令數(shù)(InstructionCount,IC),計(jì)算出執(zhí)行一條指令所需的平均時(shí)鐘周期數(shù)(CPI):(5)吞吐量
表征一臺(tái)計(jì)算機(jī)在某一時(shí)間間隔內(nèi)能夠處理的信息量。(6)響應(yīng)時(shí)間
從輸入有效到系統(tǒng)產(chǎn)生響應(yīng)之間的時(shí)間度量,用時(shí)間單位來(lái)表示。(7)利用率
在給定的時(shí)間間隔內(nèi),系統(tǒng)被實(shí)際使用的時(shí)間所占的比率,用百分比表示。(8)總線寬度
一般指運(yùn)算器與存儲(chǔ)器之間的數(shù)據(jù)總線寬度。(9)主存儲(chǔ)器容量
主存儲(chǔ)器所能存儲(chǔ)二進(jìn)制數(shù)據(jù)的位數(shù),或者說(shuō)主存儲(chǔ)器中所有存儲(chǔ)元的總數(shù)目,通常以字節(jié)數(shù)表示。(10)主存儲(chǔ)器帶寬
單位時(shí)間內(nèi)從主存儲(chǔ)器讀出的二進(jìn)制信息量,一般用字節(jié)數(shù)/秒表示。1.4.4Amdahl定律
加速比的大小與兩個(gè)因素有關(guān)。一個(gè)是改進(jìn)前的系統(tǒng)中,可改進(jìn)部分的執(zhí)行時(shí)間在總的執(zhí)行時(shí)間中所占的比例,簡(jiǎn)稱為可改進(jìn)比例,記為Fe。Fe總是小于1的。另一個(gè)是可改進(jìn)部件改進(jìn)以后性能提高的倍數(shù),簡(jiǎn)稱為部件加速比,記為Se。Se一般大于1。假設(shè)改進(jìn)前的整個(gè)任務(wù)的執(zhí)行時(shí)間為T(mén)0,改進(jìn)后整個(gè)任務(wù)的執(zhí)行時(shí)間為T(mén)n,改進(jìn)后整個(gè)系統(tǒng)的加速比Sn為:(1)科學(xué)計(jì)算(2)數(shù)據(jù)處理(3)自動(dòng)控制(4)計(jì)算機(jī)輔助設(shè)計(jì)(5)人工智能(6)網(wǎng)絡(luò)應(yīng)用
1.5計(jì)算機(jī)的應(yīng)用習(xí)題11.1,1.2,1.3,1.4,1.5Thankyou!第2章數(shù)的表示與計(jì)算體系2.1
進(jìn)位計(jì)數(shù)制與數(shù)制轉(zhuǎn)換2.2
無(wú)符號(hào)數(shù)與文字的表示2.3
帶符號(hào)數(shù)的表示2.4
定點(diǎn)數(shù)與定點(diǎn)運(yùn)算2.5
浮點(diǎn)數(shù)與浮點(diǎn)運(yùn)算2.6BCD碼(binarycodeddecimal)2.7
數(shù)據(jù)校驗(yàn)碼2.8
時(shí)序邏輯電路2.9
組合邏輯電路2.10陣列邏輯電路習(xí)
題2第2章
數(shù)的表示與計(jì)算體系2.1.1進(jìn)位計(jì)數(shù)制(1)十進(jìn)制數(shù)(DecimalSystem)
定義:按“逢十進(jìn)一,借一當(dāng)十”的原則進(jìn)行計(jì)數(shù),稱為十進(jìn)制數(shù),即每位上計(jì)滿10時(shí)向高位進(jìn)一。
特點(diǎn):每個(gè)數(shù)的數(shù)位上只能是0、1、2、3、4、5、6、7、8、9十個(gè)數(shù)碼;十進(jìn)制數(shù)中最大數(shù)字是9,最小數(shù)字是0;基數(shù)為10;
十進(jìn)制數(shù)的位權(quán)表示:N=an-110n-1+an-210n-2+…+a1101+a0100+a-110-1+a-210-2+…+a-m10-m例如,(1234)10=1×103+2×102+3×101+4×1002.1
進(jìn)位計(jì)數(shù)制與數(shù)制轉(zhuǎn)換(2)二進(jìn)制數(shù)(BinarySystem)
定義:按“逢二進(jìn)一,借一當(dāng)二”的原則進(jìn)行計(jì)數(shù),稱為二進(jìn)制數(shù),即每位上計(jì)滿2時(shí)向高位進(jìn)一。
特點(diǎn):每個(gè)數(shù)的數(shù)位上只能是0,1兩個(gè)數(shù)字;二進(jìn)制數(shù)中最大數(shù)字是1,最小數(shù)字是0;基數(shù)為2。
二進(jìn)制數(shù)的位權(quán)表示:(0010.1011)2=0×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3+1×2-4
二進(jìn)制數(shù)的運(yùn)算規(guī)則:
加法運(yùn)算①0+0=0②0+1=1+0=1③1+1=0(進(jìn)1)
減法運(yùn)算①0-0=0②1-1=0③1-0=1④0-1=1(借1)
乘法運(yùn)算①0×0=0②1×1=1③0×1=1×0=0(3)八進(jìn)制數(shù)(OctalSystem)
定義:按“逢八進(jìn)一,借一當(dāng)八”的原則進(jìn)行計(jì)數(shù),稱為八進(jìn)制數(shù),即每位上計(jì)滿8時(shí)向高位進(jìn)一。
特點(diǎn):每個(gè)數(shù)的數(shù)位上只能是0、1、2、3、4、5、6、7八個(gè)數(shù)字。
八進(jìn)制數(shù)的位權(quán)表示:(567.012)8=5×82+6×81+7×80+0×8-1+1×8-2+2×8-3(4)十六進(jìn)制數(shù)(HexdecimalSystem)
定義:按“逢十六進(jìn)一,借一當(dāng)十六”的原則進(jìn)行計(jì)數(shù),稱為十六進(jìn)制數(shù),即每位上計(jì)滿16時(shí)向高位進(jìn)一。
特點(diǎn):每個(gè)數(shù)的數(shù)位上只能是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六個(gè)數(shù)碼。
十六進(jìn)制數(shù)的位權(quán)表示:(90AB.CDEF)16=9×163+0×162+10×161+11×160
+12×16-1+13×16-2+14×16-3+15×16-4(5)常用計(jì)數(shù)制間的對(duì)應(yīng)關(guān)系
十進(jìn)制數(shù)使用D(可以省略),二進(jìn)制數(shù)使用B,八進(jìn)制數(shù)使用Q,十六進(jìn)制使用H。八進(jìn)制對(duì)應(yīng)二進(jìn)制十六進(jìn)制對(duì)應(yīng)二進(jìn)制十六進(jìn)制對(duì)應(yīng)二進(jìn)制0000000008100010011000191001201020010A(10)1010301130011B(11)1011410040100C(12)1100510150101D(13)1101611060110E(14)1110711170111F(15)11112.1.2數(shù)制間的轉(zhuǎn)換(1)非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)
非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)采用“位權(quán)法”,即把各非十進(jìn)制數(shù)按位權(quán)展開(kāi),然后求和。(2)二、八、十六進(jìn)制數(shù)之間轉(zhuǎn)換
把二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)時(shí),按“三位并一位”的方法進(jìn)行。
以小數(shù)點(diǎn)為界,將整數(shù)部分從右向左每三位一組,最高位不足三位時(shí),添0補(bǔ)足三位;小數(shù)部分從左向右,每三位一組,最低有效位不足三位時(shí),添0補(bǔ)足三位。然后,將各組的三位二進(jìn)制數(shù)按權(quán)展開(kāi)后相加,得到一位八進(jìn)制數(shù)。
將八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)數(shù)時(shí),采用“一位拆三位”的方法進(jìn)行。(3)十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù)整數(shù)部分
十進(jìn)制整數(shù)化為非十進(jìn)制整數(shù)采用“余數(shù)法”,即除基數(shù)取余數(shù)。把十進(jìn)制整數(shù)逐次用任意十制數(shù)的基數(shù)去除,一直到商是0為止,然后將所得到的余數(shù)由下而上排列即可。小數(shù)部分
十進(jìn)制小數(shù)轉(zhuǎn)換成非十進(jìn)制小數(shù)采用“進(jìn)位法”,即乘基數(shù)取整數(shù)。這種方法稱為“乘2取整法”或“乘2法”。
2.2.1無(wú)符號(hào)數(shù)的表示2.2無(wú)符號(hào)數(shù)與文字的表示
計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理時(shí),一次存取、加工和傳送的數(shù)據(jù)長(zhǎng)度稱為字(word)。計(jì)算機(jī)的字長(zhǎng)越大,其性能越優(yōu)越。
所謂大端存儲(chǔ)就是將多個(gè)字節(jié)數(shù)據(jù)依次存放,將高字節(jié)數(shù)據(jù)存放到低地址,將低字節(jié)數(shù)據(jù)存放到高地址。(a)大端存儲(chǔ)(b)小端存儲(chǔ)圖2.1計(jì)算機(jī)中多字節(jié)數(shù)據(jù)的存儲(chǔ)地址數(shù)據(jù)地址數(shù)據(jù)100H12H100H78H101H34H101H56H102H56H102H34H103H78H103H12H104H……104H……2.2.2十進(jìn)制數(shù)串的表示
大多數(shù)通用性較強(qiáng)的計(jì)算機(jī)都能直接處理十進(jìn)制形式表示的數(shù)據(jù)。主要有兩種形式:字符串形式
即一個(gè)字節(jié)存放一個(gè)十進(jìn)制的數(shù)位或符號(hào)位。一個(gè)十進(jìn)制數(shù)占用連續(xù)的多個(gè)字節(jié),使用時(shí)需要給出該數(shù)在主存中的起始地址和位數(shù)(串的長(zhǎng)度)。主要用在非數(shù)值計(jì)算領(lǐng)域。壓縮的十進(jìn)制數(shù)串形式
即一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位。它比前一種形式節(jié)省存儲(chǔ)空間,又便于直接完成十進(jìn)制數(shù)運(yùn)算,從而被廣泛采用。類似的,它也要給出數(shù)據(jù)在主存中的首地址和位數(shù)(又稱位長(zhǎng),不含符號(hào)位)。位長(zhǎng)為0的數(shù)其值為0。十進(jìn)制數(shù)串表示法的優(yōu)點(diǎn)是位長(zhǎng)可變。2.2.3西文字符在計(jì)算機(jī)中的表示ASCII(American
Standard
Code
for
Information
Interchange)
美國(guó)信息交換標(biāo)準(zhǔn)代碼ASCII是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國(guó)際標(biāo)準(zhǔn)ISO/IEC646。ANSI(American
National
Standards
Institute)
美國(guó)國(guó)家標(biāo)準(zhǔn)碼ANSI碼是一種字符代碼,為使計(jì)算機(jī)支持更多語(yǔ)言,通常使用0x00~0x7f范圍的1個(gè)字節(jié)來(lái)表示1個(gè)英文字符。超出此范圍的使用0x80~0xFFFF來(lái)編碼,即擴(kuò)展的ASCII編碼。不同的國(guó)家和地區(qū)制定了不同的標(biāo)準(zhǔn),不同ANSI編碼標(biāo)準(zhǔn)之間互不兼容。ANSI編碼表示英文字符時(shí)用一個(gè)字節(jié),表示中文用兩個(gè)或四個(gè)字節(jié)。EBCDIC(Extended
Binary
Coded
Decimal
Interchange
Code)
EBCDIC為國(guó)際商用機(jī)器公司(IBM)于1963年間推出的字符編碼表,根據(jù)早期打孔機(jī)式的二進(jìn)化十進(jìn)數(shù)(BCD,Binary
Coded
Decimal)排列而成。每個(gè)字母或數(shù)字字符都被表示為一個(gè)8位的二進(jìn)制數(shù),共有256個(gè)字符被定義。Unicode(統(tǒng)一碼)
Unicode是國(guó)際組織制定的可以容納世界上所有文字和符號(hào)的字符編碼方案,為每種語(yǔ)言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼。Unicode的實(shí)現(xiàn)有UTF-8、UTF-16、UTF-32等編碼方案。2.2.4中文字符在計(jì)算機(jī)中的表示(1)漢字編碼標(biāo)準(zhǔn)
常見(jiàn)的漢字編碼標(biāo)準(zhǔn)有GB2312-80、BIG5和Unicode等。區(qū)位碼編碼與ASCII一致,編碼范圍2121H~7E7EH。圖2.2區(qū)位碼
所有的漢字及符號(hào)分配在一個(gè)94行、94列的表格中,每一行稱為一個(gè)“區(qū)”,編號(hào)為01區(qū)到94區(qū);每一列稱為一個(gè)“位”,編號(hào)為01位到94位。區(qū)位碼和國(guó)標(biāo)碼關(guān)系:一級(jí)漢字(3755個(gè))二級(jí)漢字(3008個(gè))(擴(kuò)充使用)字母、數(shù)字和各種符號(hào) ………………19423位號(hào)…………191655568794區(qū)號(hào)(按漢語(yǔ)拼音排列)(按偏旁部首排列)國(guó)標(biāo)碼=區(qū)位碼H+2020H(2)機(jī)內(nèi)碼國(guó)標(biāo)碼和機(jī)內(nèi)碼的關(guān)系是:機(jī)內(nèi)碼=國(guó)標(biāo)碼+8080H區(qū)位碼和機(jī)內(nèi)碼的關(guān)系是:機(jī)內(nèi)碼=區(qū)位碼+A0A0H(3)漢字字形碼
有點(diǎn)陣式漢字和矢量漢字兩種表示方法。圖2.4點(diǎn)陣式漢字示例2.2.5布爾代數(shù)與布爾邏輯(1)布爾代數(shù)表2.3A與B的邏輯運(yùn)算表
計(jì)算機(jī)中的邏輯運(yùn)算,主要是指邏輯非、邏輯加、邏輯乘、邏輯異四種基本運(yùn)算。ABAANDBAORBAXORB00000100110101111110(2)邏輯非及非門(mén)
邏輯非運(yùn)算:邏輯非也稱求反。常用變量前方加一~或上方加一橫來(lái)表示。表2.4“非”運(yùn)算(NOT)(3)邏輯與及與門(mén)
邏輯乘運(yùn)算:對(duì)兩數(shù)進(jìn)行邏輯乘,就是按位求它們的“與”(And),所以邏輯乘又稱“邏輯與”,常用記號(hào)“∧”或“·”來(lái)表示。假設(shè)有兩數(shù)x、y,它們表示為:x=x0x1x2…xn,y=y0y1y2…yn,則有:z=x∧y=z0z1z2…zn(i=0,1,2,…,n),zi=xi∧yi(i=0,1,2,…,n)(4)邏輯或及或門(mén)
邏輯加運(yùn)算:對(duì)兩個(gè)數(shù)進(jìn)行邏輯加,就是按位求它們的“或”(Or),所以邏輯加又稱邏輯或,常用記號(hào)“∨”或“+”來(lái)表示。(5)邏輯異或及異或門(mén)
邏輯異運(yùn)算:對(duì)兩數(shù)進(jìn)行異就是按位求它們的模2和,所以邏輯異又稱“按位加”(Xor),常用記號(hào)“⊕”或”
”表示。有兩數(shù)x、y,它們表示為:x=x0x1x2…xn,y=y0y1y2…yn,則有:z=x⊕y=z0z1z2…zn(i=0,1,2,…,n)。2.3.1機(jī)器數(shù)與真值
采用二進(jìn)制表示形式的連同數(shù)符一起代碼化了的數(shù)據(jù),在計(jì)算機(jī)中統(tǒng)稱為機(jī)器數(shù)或機(jī)器碼。而與機(jī)器數(shù)對(duì)應(yīng)的用正、負(fù)符號(hào)加絕對(duì)值來(lái)表示的實(shí)際數(shù)值稱為真值。機(jī)器數(shù)可分為無(wú)符號(hào)數(shù)和帶符號(hào)數(shù)兩種。2.3帶符號(hào)數(shù)的表示
綜上所述,可得機(jī)器數(shù)的特點(diǎn)為:
數(shù)的符號(hào)采用二進(jìn)制代碼化,0表“+”,1代表“-”。符號(hào)通常放在數(shù)據(jù)最高位。
小數(shù)點(diǎn)本身是隱含的,不占用存儲(chǔ)空間。
所以機(jī)器數(shù)表示的數(shù)值是不連續(xù)的。8位二進(jìn)制帶符號(hào)數(shù)中,00000000~01111111為正整數(shù)0~127,11111111~10000000為負(fù)數(shù)-127~0,其中00000000表示+0,10000000表示-0。2.3.2原碼表示(1)原碼的定義
設(shè)為x為二進(jìn)制數(shù)據(jù),數(shù)值部分的位數(shù)為n,給出了x為純小數(shù)±0.x1x2…xn和x為純整數(shù)±x1x2…xn時(shí)的原碼表示的定義。
純小數(shù)原碼的定義:
純整數(shù)原碼的定義:2.3.3補(bǔ)碼表示(1)模的概念
對(duì)于任意x,在模M的條件下的補(bǔ)數(shù)[x]補(bǔ),可給出:[x]補(bǔ)=m+x(modM)??芍?)當(dāng)x≥0時(shí),m+x大于M,把M丟掉,得[x]補(bǔ)=x,即正數(shù)的補(bǔ)數(shù)等于其本身。2)當(dāng)x<0時(shí),[x]補(bǔ)=m+x=M-|x|,即負(fù)數(shù)的補(bǔ)數(shù)等于模與該數(shù)絕對(duì)值之差。(2)補(bǔ)碼的定義
由于計(jì)算機(jī)中的數(shù)據(jù)均采用二進(jìn)制編碼表示,因此通常將某數(shù)對(duì)模的補(bǔ)數(shù)稱為補(bǔ)碼。對(duì)于數(shù)值部分的位數(shù)為n的二進(jìn)制數(shù)據(jù)x,給出了x為純小數(shù)±0.x1x2…xn和x為純整數(shù)±x1x2…xn時(shí)的補(bǔ)碼表示的定義。
純小數(shù)補(bǔ)碼的定義:
純整數(shù)補(bǔ)碼的定義:2.3.4反碼表示(1)反碼的定義
2.3.5移碼表示(1)移碼的定義
純小數(shù)移碼的定義:[x]移=1+x,-1≤x<1
純整數(shù)移碼的定義:[x]移=2n+x,-1≤x<1(2)移碼與補(bǔ)碼的關(guān)系當(dāng)0≤x<2n時(shí),[x]補(bǔ)=x,因?yàn)閇x]移=2n+x,所以[x]移=2n+[x]補(bǔ)。當(dāng)-2n≤x<0時(shí),[x]補(bǔ)=2n+1+x,因?yàn)閇x]移=2n+[x]補(bǔ)-2n+1=[x]補(bǔ)-2n。其中,n為數(shù)值部分的長(zhǎng)度。(3)移碼的特點(diǎn)設(shè)[x]移=x0x1x2…xn,符號(hào)位x0表示真值x的正負(fù)。x0=1,x為正;x0=0,x為負(fù)。真值0的移碼表示只有一種形式:[+0]移=[-0]移=1000。移碼與補(bǔ)碼的表示范圍相同。純小數(shù)的移碼可以表示到-1,[-1]移=0.0...0;純整數(shù)的移碼可以表示到-2n,n為數(shù)值部分的長(zhǎng)度,[-2n]移=00...0。真值大時(shí),對(duì)應(yīng)的移碼也大;真值小時(shí),對(duì)應(yīng)的移碼也小。2.4.1定點(diǎn)表示
定點(diǎn)格式(fixedpointformat)約定所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。
浮點(diǎn)格式(floating-pointformat)正好相反,數(shù)據(jù)的小數(shù)點(diǎn)位置是浮動(dòng)可變的。2.4定點(diǎn)數(shù)與定點(diǎn)運(yùn)算圖2.9定點(diǎn)數(shù)的兩種格式
當(dāng)小數(shù)點(diǎn)位于數(shù)符和第一數(shù)值位之間時(shí),機(jī)器內(nèi)的數(shù)為純小數(shù);當(dāng)小數(shù)點(diǎn)位于數(shù)值位之后時(shí),機(jī)器內(nèi)的數(shù)為純整數(shù)。采用定點(diǎn)數(shù)的機(jī)器稱為定點(diǎn)機(jī)。2.4.2加法與減法運(yùn)算(1)補(bǔ)碼加減運(yùn)算的基本公式
補(bǔ)碼加法的基本公式為:整數(shù):[A]補(bǔ)+[B]補(bǔ)=[A+B]補(bǔ)(mod2n+1)
小數(shù):[A]補(bǔ)+[B]補(bǔ)=[A+B]補(bǔ)(mod2)對(duì)于減法,因A-B=A+(-B),則:[A-B]補(bǔ)=[A+(-B)]補(bǔ)由補(bǔ)碼加法基本公式可得:整數(shù):[A-B]補(bǔ)=[A]補(bǔ)+[-B]補(bǔ)(mod2n+1)
小數(shù):[A-B]補(bǔ)=[A]補(bǔ)+[-B]補(bǔ)(mod2)
(2)溢出判斷用一位符號(hào)位判斷溢出
對(duì)于加法,只有在正數(shù)加正數(shù)和負(fù)數(shù)加負(fù)數(shù)兩種情況下才可能出現(xiàn)溢出,符號(hào)不同的兩個(gè)數(shù)相加是不會(huì)出現(xiàn)溢出的。對(duì)于減法,只有在正數(shù)減負(fù)數(shù)或負(fù)數(shù)減正數(shù)兩種情況下才可能出現(xiàn)溢出,符號(hào)相同的兩個(gè)數(shù)相減是不會(huì)出現(xiàn)溢出的。利用最高位(符號(hào)位c0)和次高位(數(shù)值部分的最高位c1)的進(jìn)位狀況來(lái)判斷
兩個(gè)補(bǔ)碼數(shù)實(shí)現(xiàn)加減運(yùn)算時(shí),若最高數(shù)值位c1向符號(hào)位c0的進(jìn)位值與符號(hào)位c0產(chǎn)生的進(jìn)位輸出值不相同,則表明加減運(yùn)算產(chǎn)生了溢出。采用雙符號(hào)位補(bǔ)碼進(jìn)行判斷。
雙符號(hào)位補(bǔ)碼又稱為變形補(bǔ)碼或模4補(bǔ)碼,即對(duì)于任何小于1的正數(shù),雙符號(hào)位為00;對(duì)于任何大于-1的負(fù)數(shù),雙符號(hào)位為11。當(dāng)兩數(shù)相加的結(jié)果在符號(hào)位出現(xiàn)01或10兩種組合時(shí),說(shuō)明出現(xiàn)了溢出。2.4.3原碼乘法運(yùn)算計(jì)算機(jī)中實(shí)現(xiàn)乘除運(yùn)算通常采用以下三種方式:利用乘除運(yùn)算子程序
這種方式的基本思想是采用軟件實(shí)現(xiàn)乘除運(yùn)算。通常是利用計(jì)算機(jī)中的加減運(yùn)算指令、移位指令及控制類指令組成循環(huán)程序,得到運(yùn)算結(jié)果。乘除運(yùn)算邏輯部件
在加法器的基礎(chǔ)上增加左、右移位及計(jì)數(shù)器等邏輯線路構(gòu)成乘除運(yùn)算部件,采用硬件實(shí)現(xiàn)乘除運(yùn)算。在這種計(jì)算機(jī)中,設(shè)置有乘除運(yùn)算指令,用戶只需執(zhí)行乘除指令即可進(jìn)行乘除運(yùn)算。設(shè)置專用的陣列乘除運(yùn)算器
由于前一方式在實(shí)現(xiàn)乘除運(yùn)算時(shí),通常是在一個(gè)加法器上多次串行地進(jìn)行運(yùn)算,所以依然需要較多的運(yùn)算時(shí)間。(1)原碼一位乘法
在原碼一位乘法中,參加運(yùn)算的被乘數(shù)和乘數(shù)均用原碼表示;運(yùn)算時(shí)符號(hào)位單獨(dú)處理,被乘數(shù)與乘數(shù)的絕對(duì)值相乘;所得的積也采用原碼表示。(2)原碼兩位乘法
原碼兩位乘法算法的思想是每次判別乘數(shù)的兩位,將一位乘法中的兩步用一步替代。設(shè)乘法判別位為yn-1yn,zi-1為前次部分積,zi為兩位乘法的第i位部分積。表2.5原碼兩位乘法的運(yùn)算規(guī)則2.4.4原碼除法運(yùn)算(1)原碼恢復(fù)余數(shù)法
在原碼除法中,參加運(yùn)算的被除數(shù)和除數(shù)均采用原碼表示,所得的商和余數(shù)也采用原碼表示。運(yùn)算時(shí),符號(hào)位單獨(dú)處理,被除數(shù)和除數(shù)的絕對(duì)值相除。為了保證定點(diǎn)除法的運(yùn)算結(jié)果不超過(guò)機(jī)器所能表示的定點(diǎn)數(shù)據(jù)范圍,在進(jìn)行除法之前必須判定被除數(shù)和除數(shù)是否滿足定點(diǎn)小數(shù)除法或定點(diǎn)整數(shù)除法的要求。(2)原碼不恢復(fù)余數(shù)法
在恢復(fù)余數(shù)法的運(yùn)算過(guò)程中,可以發(fā)現(xiàn)將“加除數(shù)(恢復(fù)余數(shù))→左移→減除數(shù)”的操作用“余數(shù)左移→加除數(shù)”的操作來(lái)替代,所得結(jié)果是一樣的。而且這樣做,既節(jié)省了恢復(fù)余數(shù)的時(shí)間,又簡(jiǎn)化了除法控制邏輯(無(wú)論余數(shù)為正還是為負(fù),余數(shù)的操作均為左移、加/減運(yùn)算兩步操作)。2.4.5補(bǔ)碼乘法運(yùn)算(l)補(bǔ)碼一位乘法
補(bǔ)碼乘法有多種,常用的有校正法和布斯乘法。其中布斯乘法是由布斯(A.D.Booth)夫婦提出。以定點(diǎn)小數(shù)為例,設(shè)參加運(yùn)算的被乘數(shù)x的補(bǔ)碼為[x]補(bǔ)=x0.x1x2…xn,乘數(shù)y的補(bǔ)碼為[y]補(bǔ)=y0.y1y2…yn,乘積為[z]補(bǔ)=[x×y]補(bǔ)。表2.6補(bǔ)碼一位乘法的操作(2)補(bǔ)碼兩位乘法0An+1n+2位加法器控制門(mén)0Xn+10Qn
n+1移位和加控制邏輯計(jì)數(shù)器CGM00,110110右移圖2.10補(bǔ)碼Booth算法運(yùn)算器框圖2.4.6補(bǔ)碼除法運(yùn)算
以補(bǔ)碼一位除法為例,運(yùn)算規(guī)則如表2.8所示,商一般采用末位置1的方法,操作簡(jiǎn)便,表中i=0~n-1。表2.8補(bǔ)碼一位除法
如要提高精度,則按上述規(guī)則多求一位,再采用以下規(guī)則對(duì)商進(jìn)行處理。兩數(shù)能除盡,如果除數(shù)為正,商不必加2-n;如果除數(shù)為負(fù),商加2-n。兩數(shù)除不盡,如果商為正,商不必加2-n;如果商為負(fù),商加2-n。2.4.7移位運(yùn)算(1)算術(shù)移位
必須注意的是:不論是正數(shù)還是負(fù)數(shù),移位后其符號(hào)位均不變,這是算術(shù)移位的重要特點(diǎn)。表2.9不同碼制機(jī)器數(shù)移位后的空位添補(bǔ)規(guī)則
分析任意負(fù)數(shù)的補(bǔ)碼可發(fā)現(xiàn),當(dāng)對(duì)其由低位向高位找到第一個(gè)“1”時(shí),在此“1”左邊的各位均與對(duì)應(yīng)的反碼相同,而在此“1”右邊的各位(包括此“1”在內(nèi))均與對(duì)應(yīng)的原碼相同,即添0;右移時(shí)因空位出現(xiàn)在高位,則添補(bǔ)的代碼應(yīng)與反碼相同,即添1。(2)邏輯移位
無(wú)符號(hào)數(shù)的移位稱為邏輯移位。邏輯移位的規(guī)則是:邏輯左移時(shí),高位移出,低位添0;邏輯右移時(shí),低位移出,高位添0。圖2.11常見(jiàn)的算術(shù)移位和邏輯移位7/150CF循環(huán)右移7/150CF帶進(jìn)位循環(huán)左移←7/150CF帶進(jìn)位循環(huán)右移→7/150CF循環(huán)左移7/150←0←CF邏輯左移/算術(shù)左移7/150CF邏輯右移07/150CF算術(shù)右移2.4.8運(yùn)算器的基本結(jié)構(gòu)(1)半加器
半加器完成兩個(gè)一位二進(jìn)制數(shù)相加。若只考慮兩個(gè)加數(shù)本身,而不考慮來(lái)自相鄰低位的進(jìn)位,稱為半加。表2.12半加器真值表圖2.12半加器電路圖及符號(hào)由真值表可得出半加器的邏輯表達(dá)式:
(2)一位全加器加法運(yùn)算:Ai+Bi+Ci=Si(Ci+1)一位全加器真值表如表2.13所示。邏輯方程:Si=Ai⊕Bi⊕CiCi+1=AiBi+BiCi+CiAi表2.13一位全加器真值表圖2.13一位全加器邏輯符號(hào)與邏輯電路(3)n位的行波進(jìn)位加減器
n個(gè)1位的全加器可級(jí)聯(lián)成一個(gè)n位的行波進(jìn)位加減器(串行進(jìn)位補(bǔ)碼加法/減法器)。圖2.14n位的行波進(jìn)位加減器(4)先行(超前)進(jìn)位加法器4位先行進(jìn)位加法器遞推公式:(5)運(yùn)算器的結(jié)構(gòu)設(shè)計(jì)圖2.16單總線結(jié)構(gòu)的運(yùn)算器圖2.17雙總線結(jié)構(gòu)的運(yùn)算器圖2.18三總線結(jié)構(gòu)的運(yùn)算器2.5.1浮點(diǎn)表示(1)浮點(diǎn)數(shù)的表示形式
浮點(diǎn)數(shù)在機(jī)器中的形式如圖所示。采用這種數(shù)據(jù)格式的機(jī)器稱為浮點(diǎn)機(jī)。圖2.19浮點(diǎn)數(shù)的表示形式2.5浮點(diǎn)數(shù)與浮點(diǎn)運(yùn)算
圖2.20浮點(diǎn)數(shù)在數(shù)軸上的表示范圍(3)浮點(diǎn)數(shù)的規(guī)格化
當(dāng)基數(shù)為2時(shí),尾數(shù)最高位為l的數(shù)為規(guī)格化數(shù)。規(guī)格化時(shí),尾數(shù)左移一位,階碼減1(這種規(guī)格化稱為向左規(guī)格化,簡(jiǎn)稱左規(guī));尾數(shù)右移一位,階碼加1(這種規(guī)格化稱為向右規(guī)格化,簡(jiǎn)稱右規(guī))。2.5.2IEEE754浮點(diǎn)數(shù)標(biāo)準(zhǔn)
IEEE754標(biāo)準(zhǔn)(1985),每個(gè)浮點(diǎn)數(shù)均由三部分組成:符號(hào)位S、指數(shù)部分E和尾數(shù)部分M,如圖所示。圖2.21IEEE754標(biāo)準(zhǔn)(1)IEEE754標(biāo)準(zhǔn)32位單精度浮點(diǎn)數(shù)圖2.22IEEE754標(biāo)準(zhǔn)32位單精度浮點(diǎn)數(shù)表示格式(2)IEE754標(biāo)準(zhǔn)64位雙精度浮點(diǎn)數(shù)N=圖2.23IEEE754標(biāo)準(zhǔn)64位雙精度浮點(diǎn)數(shù)表示格式64位雙精度浮點(diǎn)數(shù)所表示的數(shù)值N為:
2.5.3浮點(diǎn)加減運(yùn)算
兩浮點(diǎn)數(shù)X,Y進(jìn)行加減運(yùn)算時(shí),必須按以下幾步執(zhí)行:(1)對(duì)階,(2)尾數(shù)運(yùn)算,(3)結(jié)果規(guī)格化,(4)舍入處理,(5)溢出判斷。
注意:定點(diǎn)數(shù)的表示范圍是連續(xù)的,而浮點(diǎn)數(shù)的表示范圍可能是不連續(xù)的。浮點(diǎn)數(shù)表示范圍定點(diǎn)數(shù)表示范圍2.5.4浮點(diǎn)乘除運(yùn)算
兩浮點(diǎn)數(shù)進(jìn)行乘法和除法的運(yùn)算規(guī)則是:x×y=2Ex+Ey(Mx×My)x÷y=2Ex-Ey(Mx÷My)
完成浮點(diǎn)加減運(yùn)算的操作過(guò)程大體分為四步:0操作數(shù)的檢查。階碼加/減操作:運(yùn)算時(shí)必須檢查結(jié)果是否溢出。尾數(shù)乘/除操作。結(jié)果規(guī)格化并進(jìn)行舍入處理。X5Y5Z52.5.5浮點(diǎn)運(yùn)算流水線圖2.26浮點(diǎn)向量加法流水線2.6.1BCD碼的格式2.6BCD碼(binarycodeddecimal)十進(jìn)制編碼0123456789權(quán)8421碼00000001001000110100010101100111100010018421余3碼00110100010101100111100010011010101111002421碼(A)000000010010001101000101011001111110111124212421碼(B)00000001001000110100101111001101111011115211碼0000000101000101011110001001110011011111余3循環(huán)碼0010011001110101010011001101111111101010242152112.6.2BCD碼加減法
可以在二進(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)摹靶U边壿媮?lái)實(shí)現(xiàn),該校正邏輯可將二進(jìn)制的“和”改變成所要求的十進(jìn)制格式。2.6.3BCD碼乘除法
在BCD碼中,乘數(shù)的每一位可能為0~9中的任何一個(gè)數(shù),因此每次循環(huán)迭代最多可能要執(zhí)行9次加法。因此,在算法中要增加一個(gè)內(nèi)循環(huán)來(lái)實(shí)現(xiàn)多次加法。
二進(jìn)制數(shù)的每一位為1位,而B(niǎo)CD碼每一位為4位。因此,在移位時(shí)要進(jìn)行相應(yīng)的修改。由每次移1位修改為每次移1位BCD碼數(shù)字,即每次移4位,可以稱之為十制移位。另外,BCD乘法中每次循環(huán)可能執(zhí)行多次加法,因此進(jìn)位可能大于1,因此進(jìn)位位采用1位BCD碼數(shù)而不是1位二進(jìn)制數(shù)。2.7.1碼距與數(shù)據(jù)校驗(yàn)碼
數(shù)據(jù)校驗(yàn)碼(Error-DetectingCode,ECC)是具有檢測(cè)錯(cuò)誤或自動(dòng)糾正錯(cuò)誤能力的一種數(shù)據(jù)編碼。
編碼距離(codedistance)或海明距離(hammingdistance),通常指一組編碼中任意兩個(gè)編碼之間不同代碼的位數(shù)。最小碼距(minimumcodedistance)是指在一組編碼中任意兩個(gè)編碼之間的最小距離。
碼距與校驗(yàn)碼的檢錯(cuò)和糾錯(cuò)能力的關(guān)系是:d≥e+1,可檢測(cè)e個(gè)錯(cuò)。d≥2t
+1,可糾正t個(gè)錯(cuò)。d≥e+t
+1,且e>t,可檢測(cè)e個(gè)錯(cuò)并能糾正t個(gè)錯(cuò)。2.7數(shù)據(jù)校驗(yàn)碼2.7.2奇偶校驗(yàn)碼奇校驗(yàn)(OddECC):使n+1位的奇偶校驗(yàn)碼中有奇數(shù)個(gè)1。偶校驗(yàn)(EvenECC):使n+1位的奇偶校驗(yàn)碼中有偶數(shù)個(gè)1。(1)奇偶校驗(yàn)碼的編碼方法圖2.29校驗(yàn)位P的形成電路+++++++D7D6D5D4D3D2D1D0p(2)奇偶校驗(yàn)碼的校驗(yàn)
采用奇偶校驗(yàn)的編碼在傳輸過(guò)程中需要進(jìn)行奇偶校驗(yàn),以判斷信息傳輸是否出錯(cuò)。如果接收方接收到一奇校驗(yàn)碼中1的個(gè)數(shù)為偶數(shù),或接收到一偶校驗(yàn)碼中1的個(gè)數(shù)為奇數(shù),則表示接收到的編碼中有一位出錯(cuò)。
以前面的9位奇偶校驗(yàn)碼為例進(jìn)行說(shuō)明。出現(xiàn)偶校驗(yàn)錯(cuò)的標(biāo)志是:進(jìn)行奇偶校驗(yàn)時(shí),E=0,表示無(wú)錯(cuò);E=1,表示校驗(yàn)出錯(cuò)。2.7.3循環(huán)冗余校驗(yàn)碼
循環(huán)冗余校驗(yàn)碼(CyclicRedundancyCheck,CRC)是在n位有效信息位后拼接k位校驗(yàn)位形成的,又稱(n,k)碼。(1)CRC碼的編碼思想
CRC校驗(yàn)采用多項(xiàng)式編碼方法。就是將待編碼的n位有效信息看做是一個(gè)n階的二進(jìn)制多項(xiàng)式M(x)。例如一個(gè)8位二進(jìn)制數(shù)11010011B可以用信息多項(xiàng)式表示為:
再用另一個(gè)約定的多項(xiàng)式G(x)去除M(x),可得到下式所示的關(guān)系:
其中,Q(x)為除得的商數(shù),R(x)為除得的余數(shù)。
(3)CRC碼的編碼方法1)把待編的n位有效信息表示為多項(xiàng)式M(x):其中Ci=0或1,對(duì)應(yīng)n位有效信息中第i位的信息。2)選擇一個(gè)k+1位的生成多項(xiàng)式G(x)作為約定除數(shù):其中
Gi=0或1,對(duì)應(yīng)k+1位的生成多項(xiàng)式中第i位的信息。3)將M(x)左移k位,得到n+k位的M(x)?。然后按模2除法,用M(x)?
除以G(x),得到k位余數(shù)R(x),即:4)將M(x)?
與余數(shù)R(x)做模2加,得:注意,在模2加的條件下,R(x)+R(x)=0。將k位的R(x)拼接到M(x)?
的后k位,就形成了n+k位循環(huán)冗余校驗(yàn)碼。(4)循環(huán)冗余校驗(yàn)的生成多項(xiàng)式任何一位發(fā)生錯(cuò)誤都應(yīng)使余數(shù)不為0。不同位發(fā)生錯(cuò)誤應(yīng)當(dāng)使余數(shù)不同。對(duì)余數(shù)做模2除法,應(yīng)能使余數(shù)循環(huán)。在數(shù)據(jù)通信與網(wǎng)絡(luò)中,通常n相當(dāng)大,由一千甚至數(shù)千個(gè)二進(jìn)制數(shù)據(jù)位構(gòu)成一幀,為檢測(cè)信息傳輸?shù)恼_與否,廣泛采用CRC碼進(jìn)行校驗(yàn)。這時(shí)所使用的生成多項(xiàng)式的次冪比較高。2.7.4海明校驗(yàn)碼(1)海明校驗(yàn)碼的編碼思想
如果出錯(cuò)代碼的位置能夠確定,將出錯(cuò)位的內(nèi)容取反,就能夠自動(dòng)糾正錯(cuò)誤。(2)海明校驗(yàn)碼的編碼方法1)將n位有效信息和k位校驗(yàn)位,構(gòu)成n+k位的海明校驗(yàn)碼。圖2.30編碼排列位置2)將k個(gè)校驗(yàn)位分成k組奇偶校驗(yàn),每個(gè)有效信息位都被2個(gè)或2個(gè)以上的校驗(yàn)位校驗(yàn),被校驗(yàn)的位號(hào)等于校驗(yàn)它的校驗(yàn)位位號(hào)之和。3)根據(jù)校驗(yàn)組的分組情況,按奇偶校驗(yàn)原理,由已知的有效信息按奇偶校驗(yàn)規(guī)則求出各個(gè)校驗(yàn)位,形成海明校驗(yàn)碼。(3)海明校驗(yàn)碼的校驗(yàn)
分組校驗(yàn)后,校驗(yàn)結(jié)果形成k位的指誤字EkEk-1...E2E1,若第i組校驗(yàn)結(jié)果正確,指誤字中相應(yīng)位Ei之為0;若第i組校驗(yàn)結(jié)果錯(cuò)誤,指誤字中相應(yīng)位Ei為1。因此若指誤字EkEk-1...E2E1為全0,表示接收方接收到的信息無(wú)錯(cuò);若指誤字EkEk-1...E2E1不為全0,則表示接收方接收到的信息中有錯(cuò),并且指誤EkEk-1...E2E1代碼所對(duì)應(yīng)的十進(jìn)制值就是出錯(cuò)位的位號(hào)。將該位取反,錯(cuò)誤碼即得到自動(dòng)糾正。
當(dāng)然,指誤字能夠正確指示出錯(cuò)位所在位置的前提是代碼中只能有一個(gè)錯(cuò)誤。(4)擴(kuò)展的海明校驗(yàn)碼
可以設(shè)想如果給檢一糾一錯(cuò)的海明校驗(yàn)碼增加一位奇偶校驗(yàn)位,對(duì)其所有代碼進(jìn)行奇偶校驗(yàn)就可以再檢查出一位錯(cuò)誤,實(shí)現(xiàn)檢測(cè)出兩位錯(cuò)誤或者糾正一位錯(cuò)誤的目標(biāo),稱為擴(kuò)展的海明校驗(yàn)碼或檢二糾一錯(cuò)海明校驗(yàn)碼。2.8.1觸發(fā)器2.8時(shí)序邏輯電路
觸發(fā)器可以處理輸入、輸出信號(hào)和時(shí)鐘頻率之間的相互影響。2.8.2寄存器
在CP脈沖作用下,每個(gè)D觸發(fā)器能夠寄存一位二進(jìn)制碼。在D=0時(shí),寄存器儲(chǔ)存為0;在D=1時(shí),寄存器儲(chǔ)存為1。在低電平為0、高電平為1時(shí),需將信號(hào)源與D間連接一反相器,可以完成對(duì)數(shù)據(jù)的儲(chǔ)存。按照移位方向可以分為單向移位寄存器和雙向移位寄存器。2.8.3計(jì)數(shù)器
計(jì)數(shù)器在數(shù)字系統(tǒng)中主要是對(duì)脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)測(cè)量、計(jì)數(shù)和控制的功能,同時(shí)兼有分頻功能。2.9.1三態(tài)電路2.9組合邏輯電路
三態(tài)指其輸出既可以是一般二值邏輯電路,又可以保持特有的高阻抗?fàn)顟B(tài)。高阻態(tài)相當(dāng)于隔斷狀態(tài)(電阻很大,相當(dāng)于開(kāi)路)。2.9.2比較器
對(duì)兩個(gè)或多個(gè)數(shù)據(jù)項(xiàng)進(jìn)行比較,以確定它們是否相等,或確定它們之間的大小關(guān)系及排列順序稱為比較。2.9.3加法器
兩個(gè)二進(jìn)制數(shù)字Ai,Bi和一個(gè)進(jìn)位輸入Ci相加,產(chǎn)生一個(gè)和輸出Si,以及一個(gè)進(jìn)位輸出Ci+1。由真值表2.13可得到輸出邏輯表達(dá)式如式(2.29)所示,進(jìn)一步可得邏輯電路如圖2.13所示。2.9.4編碼器表2.2074LS148編碼器真值表普通編碼器優(yōu)先編碼器輸入輸出EII0I1I2I3I4I5I6I7A2A1A0GSEO1xxxxxxxx11111011111111111100xxxxxxx0000010xxxxxx01001100xxxxx011010100xxxx0111011100xxx01111100100xx011111101100x011111111010001111111111102.9.5譯碼器表2.2174LS138譯碼器真值表
譯碼是編碼的反向過(guò)程。2.9.6數(shù)據(jù)選擇器
數(shù)據(jù)選擇器(dataselector)根據(jù)給定的輸入地址代碼,從一組輸入信號(hào)中選出指定的一個(gè)送至輸出,也叫多路選擇器或多路調(diào)制器(multiplexer)或多路開(kāi)關(guān)。圖2.42數(shù)據(jù)選擇器
表2.22數(shù)據(jù)選擇器控制表A1A0Y00D001D110D211D3(a)帶有緩沖器的雙向數(shù)據(jù)總線
圖2.43雙向總線
(b)帶有鎖存器的雙向數(shù)據(jù)總線2.9.7總線
按總線的邏輯結(jié)構(gòu)來(lái)說(shuō),總線可分為單向傳送總線和雙向傳送總線。圖2.44帶符號(hào)的陣列乘法器2.10.1陣列乘法器(1)原碼并行乘法2.10陣列邏輯電路
在定點(diǎn)計(jì)算機(jī)中,兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:乘積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得到,而乘積的數(shù)值部分則是兩個(gè)正數(shù)相乘之積。(2)補(bǔ)碼并行乘法圖2.455位×5位直接補(bǔ)碼操作○2a3b1○0a2b1○a1b1○0a0b1○2a3b2○0a2b2○0a1b2○0a0b20a2b30a1b30a0b32○○○○a3b331a2b41a1b41a0b4○○○○a3b42222○○○○a4b4a4b3a4b2a4b1a4b00a3b00a2b00a1b000P8P7P6P5P4P3P2P1P1a0b00○○○○○○○○○○○○○○○○○○○○2.10.2陣列除法器圖2.46可控加法/減法(CAS)單元
實(shí)際中常用不恢復(fù)余數(shù)法,又稱加減交替法。其特點(diǎn)是運(yùn)算過(guò)程中如出現(xiàn)不夠減,則不必恢復(fù)余數(shù),根據(jù)余數(shù)符號(hào),可以繼續(xù)往下運(yùn)算,因此步數(shù)固定,控制簡(jiǎn)單。2.10.3可編程序邏輯陣列(PLA)
邏輯器件可分為兩大類:固定邏輯器件和可編程邏輯器件(ProgrammableLogicDevice,PLD)??沙淌竭壿嬯?Programmablelogicarrays)列簡(jiǎn)稱PLA,又叫做現(xiàn)場(chǎng)可編程邏輯陣列FPLA(field-programmablelogicarray)。[例2.34]用PLA器件實(shí)現(xiàn)下列邏輯函數(shù)圖2.48PLA器件實(shí)現(xiàn)邏輯函數(shù)2.10.4可編程序陣列邏輯(PAL)
可編程陣列邏輯(ProgrammableArraysLogic,PAL)器件是20世紀(jì)70年代末AMD公司推出的可編程邏輯器件。20世紀(jì)80年代,Lattice公司首次推出了通用陣列邏輯器件(GenericArrayLogic,GAL)。20世紀(jì)80年代中期,出現(xiàn)了復(fù)雜可編程邏輯器件(ComplexProgrammableLogicDevice,CPLD)和集成度更高的現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(Field-ProgrammableGateArray,F(xiàn)PGA)。2.1,2.2,2.3,2.4,2.5,2.6,2.7習(xí)題2Thankyou!第3章
指令系統(tǒng)設(shè)計(jì)
3.1指令類型與功能3.2數(shù)據(jù)類型3.3尋址方式3.4指令系統(tǒng)設(shè)計(jì)方法3.5CISC與RISC指令系統(tǒng)設(shè)計(jì)3.6
80x86/Pentium指令系統(tǒng)3.7
ARM指令系統(tǒng)3.8
MIPS指令系統(tǒng)設(shè)計(jì)習(xí)
題
3第3章
指令系統(tǒng)設(shè)計(jì)指令:控制和指揮計(jì)算機(jī)執(zhí)行某種操作(如加、減、傳送等)的指示和命令。指令系統(tǒng):通常是指一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合。3.1指令類型與功能裸機(jī)軟件指令系統(tǒng)
指令集體系結(jié)構(gòu)(Instruction-SetArchitecture,ISA),或稱為指令集架構(gòu),由指令集和一系列相應(yīng)的寄存器約定構(gòu)成。常見(jiàn)種類有:復(fù)雜指令集運(yùn)算(ComplexInstructionSetComputing,CISC);精簡(jiǎn)指令集運(yùn)算(ReducedInstructionSetComputing,RISC);顯式并行指令集運(yùn)算(ExplicitlyParallelInstructionComputing,EPIC);超長(zhǎng)指令字(VeryLongInstructionWord,VLIW)。操作碼:指明操作的性質(zhì)及功能,操作碼長(zhǎng)度有固定、可變兩種。地址碼:指明操作數(shù)的地址,特殊情況下也可能直接給出操作數(shù)本身。源操作數(shù)參照:一個(gè)或多個(gè)源操作數(shù)所在的地址。結(jié)果值(目的操作數(shù))參照:產(chǎn)生的結(jié)果存放何處。
作為一個(gè)合理而有效的指令系統(tǒng)應(yīng)滿足以下基本要求:完備性有效性規(guī)整性兼容性操作碼地址碼圖3.1基本指令格式指令的分類:(1)按指令長(zhǎng)度是否可變分類
定長(zhǎng)指令字結(jié)構(gòu)
變長(zhǎng)指令字結(jié)構(gòu)(2)按在CPU中的存儲(chǔ)位置分類堆棧型:不能被隨機(jī)訪問(wèn),從而很難生成有效代碼;累加器型:減小了機(jī)器的內(nèi)部狀態(tài),指令短小。由于累加器是唯一的暫存器,這種機(jī)器的存儲(chǔ)器通信開(kāi)銷最大。寄存器型:是代碼生成最一般的模型。(3)通用寄存器型中的進(jìn)一步分類寄存器至寄存器(R-R:Register-Register)寄存器至存儲(chǔ)器(R-S:Register-Storage)/寄存器-存儲(chǔ)器(R-M:Register-Memory)存儲(chǔ)器至存儲(chǔ)器(S-S:Storage-Storage)/存儲(chǔ)器-存儲(chǔ)器型(M-M:Memory-Memory)
(4)IBM370機(jī)指令分類
IBM370機(jī)(字長(zhǎng)32位)的指令可分為三種不同的長(zhǎng)度形式:半字長(zhǎng)指令、單字長(zhǎng)指令和一個(gè)半字長(zhǎng)指令。不論指令的長(zhǎng)度為多少位,其中操作碼字段一律都是8位,8位操作碼字段允許容納256條指令,實(shí)際上在IBM370機(jī)中僅有183條指令。
操作碼第0位和第1位組成4種不同編碼,代表不同類型指令:00表示RR型指令,01表示RX型指令,10表示RRE型、RS型、S型及SI型指令,11表示SS型和SSE型指令。3.1.1數(shù)據(jù)傳送指令
計(jì)算機(jī)中最基本、最常用的指令,主要用于實(shí)現(xiàn)一個(gè)部件與另一個(gè)部件之間的數(shù)據(jù)傳送操作。主存單元之間的傳送
MOVmem2,mem1,其含義為(mem1)→mem2從主存單元傳送到寄存器
MOVreg,mem,其含義為(mem)→reg
在有些計(jì)算機(jī)中,該指令用助記符LOAD表示,又稱為取數(shù)指令。從寄存器傳送到主存單元
MOVmem,reg,其含義為(reg)→mem
在有些計(jì)算機(jī)里,該指令用助記符STORE表示,又稱為存數(shù)指令。寄存器之間的傳送
MOVreg2,reg1,其含義為(reg1)→reg23.1.2算術(shù)運(yùn)算指令
運(yùn)算類指令的主要功能是進(jìn)行各類數(shù)據(jù)信息處理,包括各種算術(shù)運(yùn)算及邏輯運(yùn)算指令。3.1.3邏輯運(yùn)算指令
邏輯運(yùn)算指令主要包括各類布爾量的邏輯運(yùn)算指令,如與、或、非、異或、測(cè)試等指令。按位測(cè)(位檢查)例如:ANDAL,01H按位清(位清除)例如:ANDAL,F(xiàn)EHXXXXXXXX∧000000010000000XXXXXXXXX∧11111110XXXXXXX0按位置(位設(shè)置)例如:ORAL,80H按位修改
利用“異或”指令可以修改目的操作數(shù)的某些位,只要源操作數(shù)的相應(yīng)位為“1”,其余位為“0”,異或之后就達(dá)到了修改這些位的目的(因?yàn)?/p>
⊕1=A,A⊕0=A)。例如:XORAL,08HXXXXXXXX∨100000001XXXXXXXXXXXXXXX⊕00001000XXXXXXXX判符合
若兩數(shù)相符合,其異或之后的結(jié)果必定為“0”。清0例如:XORAL,AL3.1.4算術(shù)移位指令
溫馨提示
- 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ùn)營(yíng)師內(nèi)容創(chuàng)新試題及答案
- 夏季四防培訓(xùn)課件
- Unit 4 Friends Lesson 4 (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教精通版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 3 做個(gè)“開(kāi)心果”(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治二年級(jí)下冊(cè)001
- 大學(xué)生創(chuàng)業(yè)賣零食
- 2025管理工作總結(jié)
- 2023七年級(jí)道德與法治上冊(cè) 第一單元 成長(zhǎng)的節(jié)拍第三課 發(fā)現(xiàn)自己第2框 做更好的自己教學(xué)實(shí)錄 新人教版
- 2025年簡(jiǎn)易勞動(dòng)合同模板下載
- Module 9 Unit 2 I bumped my head (教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語(yǔ)四年級(jí)上冊(cè)
- 黨支部基礎(chǔ)知識(shí)培訓(xùn)
- 2024春期國(guó)開(kāi)電大專本科《勞動(dòng)與社會(huì)保障法》在線形考(形考任務(wù)一)試題及答案
- 【知識(shí)點(diǎn)梳理】部編版語(yǔ)文六年級(jí)下冊(cè)第一單元學(xué)習(xí)力提升知識(shí)點(diǎn)名師梳理
- python程序設(shè)計(jì)-說(shuō)課
- 【數(shù)學(xué)】分類變量與列聯(lián)表-2023-2024學(xué)年高二數(shù)學(xué) 人教A版2019選擇性必修第三冊(cè)
- 國(guó)家電網(wǎng)智能化規(guī)劃總報(bào)告
- 石油勘探與開(kāi)采的環(huán)境保護(hù)措施
- 中文學(xué)術(shù)簡(jiǎn)歷模板
- 2024年蘇州職業(yè)大學(xué)高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 王者榮耀主播培訓(xùn)方案
- ERT基礎(chǔ)-ERT概論課件
- 《將軍胡同》閱讀試題及答案
評(píng)論
0/150
提交評(píng)論