計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(2012年春)----指令集設(shè)計(jì):基礎(chǔ)知識(shí)_第1頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(2012年春)----指令集設(shè)計(jì):基礎(chǔ)知識(shí)_第2頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(2012年春)----指令集設(shè)計(jì):基礎(chǔ)知識(shí)_第3頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(2012年春)----指令集設(shè)計(jì):基礎(chǔ)知識(shí)_第4頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(2012年春)----指令集設(shè)計(jì):基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君山東大學(xué)計(jì)算機(jī)學(xué)院 戴鴻君 課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君數(shù)據(jù)表示cisc與riscli-2.1,li-2.2,li-2.4pa-b.2, pa-b.32021-12-2課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君數(shù)據(jù)表示與數(shù)據(jù)結(jié)構(gòu) 高級(jí)數(shù)據(jù)表示 浮點(diǎn)數(shù)尾數(shù)基值大小和下溢處理方法的選擇(選講)2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君定義:機(jī)器硬件能直接識(shí)別和引用的數(shù)據(jù)類型。條件:相應(yīng)的運(yùn)算指令和運(yùn)算硬件(處理部件)。分類:基本數(shù)據(jù)表示、高級(jí)數(shù)據(jù)表示、自定義數(shù)據(jù)表示。目標(biāo): 縮小高級(jí)語(yǔ)言和機(jī)器語(yǔ)

2、言間的語(yǔ)義差別 提高性能/價(jià)格比 節(jié)省處理時(shí)間和存儲(chǔ)空間實(shí)現(xiàn):最小的存儲(chǔ)空間、最簡(jiǎn)單的存取算法。2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君數(shù)據(jù)表示:由硬件實(shí)現(xiàn)的數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu):面向計(jì)算機(jī)系統(tǒng)軟件、面向應(yīng)用領(lǐng)域所需處理的數(shù)據(jù)類型。由軟件實(shí)現(xiàn)的數(shù)據(jù)類型。 目標(biāo):最大限度滿足應(yīng)用要求、最簡(jiǎn)化的方法實(shí)現(xiàn)。 實(shí)現(xiàn):通過(guò)數(shù)據(jù)表示和軟件映象相結(jié)合方法實(shí)現(xiàn)。數(shù)據(jù)表示是數(shù)據(jù)類型的子集。數(shù)據(jù)表示的確定實(shí)質(zhì)上是軟、硬件的取舍問(wèn)題數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)表示是軟、硬件的界面 2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君定義:具有一組值的集合,且定義了作用于該集合的操作集。 目的:

3、防止不同類型數(shù)據(jù)間的誤操作。 分類:基本類型、結(jié)構(gòu)類型?;緮?shù)據(jù)類型 內(nèi)容:二進(jìn)制位、二進(jìn)制位串、整數(shù)、十進(jìn)制數(shù)、浮點(diǎn)數(shù)、字符、布爾數(shù)等。結(jié)構(gòu)數(shù)據(jù)類型定義:由一組相互有關(guān)的數(shù)據(jù)元素復(fù)合而成的數(shù)據(jù)類型。 分類:系統(tǒng)數(shù)據(jù)類型、用戶自定義數(shù)據(jù)類型 內(nèi)容:數(shù)組、字符串、向量、堆棧、隊(duì)列、記錄等2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君數(shù)值的表達(dá) 進(jìn)位制數(shù)、負(fù)數(shù)、小數(shù)點(diǎn)的方式 字符和符號(hào)的表達(dá) ascii碼 數(shù)據(jù)單位的表達(dá) 字:邏輯單位,一條指令處理的數(shù)據(jù)單位。 字節(jié)、半字、字、雙字 數(shù)據(jù)的屬性 類型、存放的位置、對(duì)數(shù)據(jù)的約束 2021-12-課程編號(hào):13041000山東大學(xué)軟

4、件學(xué)院 戴鴻君定點(diǎn)數(shù)據(jù)表示 用定點(diǎn)數(shù)表示浮點(diǎn)數(shù) 不方便而低效 50年代提出變址操作,為向量、陣列提供方便。 用循環(huán)遍歷向量和陣列可變長(zhǎng)字符串?dāng)?shù)據(jù)表示 支持串?dāng)?shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn) 用于輸入、輸出、事務(wù)處理和編譯2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君自定義數(shù)據(jù)表示(self_defining) 帶標(biāo)識(shí)符的數(shù)據(jù)表示 數(shù)據(jù)描述符 向量數(shù)組數(shù)據(jù)表示 堆棧數(shù)據(jù)表示2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君 主要用于指明數(shù)據(jù)類型(如二進(jìn)制整數(shù)、十進(jìn)制整數(shù)等,也可用于指明及其內(nèi)部所用信息的各種類型。 對(duì)高級(jí)程序員透明。 類型標(biāo)志數(shù)據(jù)值2021-12-課程編號(hào):13

5、041000山東大學(xué)軟件學(xué)院 戴鴻君優(yōu)點(diǎn):簡(jiǎn)化指令系統(tǒng)和程序設(shè)計(jì)簡(jiǎn)化編譯程序便于一致性校驗(yàn)?zāi)苡捎布詣?dòng)完成數(shù)據(jù)類型的變換支持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)與數(shù)據(jù)類型無(wú)關(guān)的要求為軟件調(diào)試和應(yīng)用軟件開(kāi)發(fā)提供支持; 缺點(diǎn):n使程序所占用的主存空間增加(如下圖)n降低指令的執(zhí)行速度;2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君ab采用標(biāo)識(shí)符數(shù)據(jù)字增長(zhǎng)不采用標(biāo)識(shí)符數(shù)據(jù)(少)指令(多)采用標(biāo)識(shí)符指令字縮短通常有面積b面積a2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君101各種標(biāo)識(shí)符長(zhǎng)度地址000數(shù)據(jù)描述符 數(shù)據(jù)目的:描述復(fù)雜和多維的結(jié)構(gòu)類型。2021-12-課程編號(hào):1304

6、1000山東大學(xué)軟件學(xué)院 戴鴻君標(biāo)識(shí)符是和每一個(gè)數(shù)據(jù)相連的,合存在一個(gè)存儲(chǔ)單元中,描述單個(gè)數(shù)據(jù)的類型特征。 描述符是和數(shù)據(jù)分開(kāi)存放的,專門(mén)用來(lái)描述所要訪問(wèn)的數(shù)據(jù)是整塊數(shù)據(jù)還是單個(gè)數(shù)據(jù),訪問(wèn)該數(shù)據(jù)塊或數(shù)據(jù)元素需要的地址以及其他特征信息等。 2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君實(shí)現(xiàn)陣列數(shù)據(jù)的索引比變址方法實(shí)現(xiàn)的好,而且能檢查程序設(shè)計(jì)中陣列越界錯(cuò)誤。 為向量、數(shù)組數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)提供一定的支持,有利于簡(jiǎn)化編譯中的代碼生成。工作過(guò)程:如下圖2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君010000000010010010xy操作碼指令描述符描述符地址生成

7、邏輯(數(shù)據(jù))(數(shù)據(jù))數(shù)據(jù)塊數(shù)據(jù)塊主存儲(chǔ)器2021-12-1013101410141014000a11000a12000a13000a14000a21000a22000a23000a24000a31000a32000a33000a343433323124232221141312114*3aaaaaaaaaaaaa二維陣列2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君有利于編譯和子程序調(diào)用。 堆棧機(jī)器:具有堆棧數(shù)據(jù)表示的機(jī)器。有若干高速寄存器組成的硬件堆棧,并附加控制電路讓它與主存中的堆棧區(qū)在邏輯上組成一個(gè)整體,使堆棧的訪問(wèn)速度是寄存器的,堆棧的容量是主存的;有很豐富的堆棧操作

8、類指令(數(shù)十條)且功能很強(qiáng),直接可對(duì)堆棧中的數(shù)據(jù)進(jìn)行各種運(yùn)算和處理;2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君有力地支持高級(jí)語(yǔ)言程序的編譯;算術(shù)賦值表達(dá)式 f=a*b+c/(d-e) 逆波蘭表達(dá)式 ab*cde-/+有力地支持子程序的嵌套和遞歸調(diào)用。 減少大量輔助性工作 多使用零地址指令 存儲(chǔ)效率高2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君二進(jìn)制的定點(diǎn)數(shù) 符號(hào)數(shù)值、反碼、補(bǔ)碼浮點(diǎn)數(shù)數(shù)據(jù)表示 ieee標(biāo)準(zhǔn)754 1985年 提出 三部分:符號(hào)位、指數(shù)、尾數(shù)浮點(diǎn)數(shù)尾數(shù)基值的選擇浮點(diǎn)數(shù)尾數(shù)下溢處理方法 2021-12-課程編號(hào):13041000山東大學(xué)

9、軟件學(xué)院 戴鴻君william kahan 加州大學(xué)伯克利分校數(shù)學(xué)系教授 幫助intel公司設(shè)計(jì)了8087浮點(diǎn)處理器 1989年圖靈獎(jiǎng)this standard defines a family of commercially feasible ways for new systems to perform binary floating-point arithmetic2021-12-21課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君若e=0且m=0,n為0若e=0且m0,n=(-1)s2-126 (0.m),非規(guī)格化數(shù);若1e254,n=(-1)s2e-127 (1.m),規(guī)格化數(shù);若

10、e=255且m 0,n=nan(非數(shù)值);若e=255且m = 0,n= (-1)s (無(wú)窮大)2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君000110110000:000:111:011:1x處理結(jié)果恒置“1”法000110110000:000:111:011:1x處理結(jié)果截?cái)喾?00110110000:000:111:011:1x處理結(jié)果舍入法000110110000:000:111:011:1x處理結(jié)果查表舍入法2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君尋址方式:是指令按什么方式尋找(訪問(wèn))到所需的操作數(shù)或信息的。尋址方式分析 邏輯地址與主存

11、物理地址 2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君面向主存:主要訪問(wèn)內(nèi)存,少量訪問(wèn)寄存器面向通用寄存器:多數(shù)在寄存器,少量在內(nèi)存面向堆棧:主要在堆棧,可減輕編譯負(fù)擔(dān) 2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君尋址方式的種類 立即尋址、直接尋址、間接尋址、相對(duì)尋址、變址尋址、寄存器尋址 尋址方式在指令中的指明方式 操作碼占用位:djs200 地址碼設(shè)置尋址方式字段:vax-11 尋址靈活、操作碼短 2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君邏輯地址:程序員編寫(xiě)程序時(shí)使用的地址。物理地址:程序在主存中的實(shí)際地址。 早期,二者

12、一致一般來(lái)講,邏輯地址的空間大于物理地址的空間。 因此,映射實(shí)際上是壓縮。2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君靜態(tài)再定位:用軟件方法把目標(biāo)程序的邏輯地址變換成物理地址,而在程序的執(zhí)行過(guò)程中,物理地址不再改變。動(dòng)態(tài)再定位:在執(zhí)行每條指令時(shí)才形成訪存物理地址的方法。通過(guò)基址尋址。2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君變址尋址:支持向量、數(shù)組,實(shí)現(xiàn)循環(huán);基址尋址:支持邏輯地址到物理地址的變換,實(shí)現(xiàn)動(dòng)態(tài)再定位;存儲(chǔ)保護(hù):設(shè)置多對(duì)上、下界寄存器。2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君信息在存儲(chǔ)器中按整數(shù)邊界存儲(chǔ)的概念

13、讓任何時(shí)候所需的信息都只用一個(gè)存儲(chǔ)周期訪問(wèn)到,要求信息在主存中存放的地址必須使該信息寬度的整數(shù)倍。即 字節(jié)信息地址:xxxxx 半字信息地址:xxxx0 單字信息地址:xxx00 雙字信息地址:xx000 保證訪存速度 造成浪費(fèi)2021-12-課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君字字單 字單字雙半字節(jié)8個(gè)字節(jié)主存寬度單 字單 字雙 字字節(jié)浪費(fèi)半字浪 費(fèi)8個(gè)字節(jié)主存寬度2021-12-2021-12-32課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君堆棧型累加器型存儲(chǔ)器-寄存器型寄存器-寄存器型2021-12-332021-12-342021-12-35課程編號(hào):1304100

14、0山東大學(xué)軟件學(xué)院 戴鴻君如果將一個(gè)32位的整數(shù)0 x12345678存放到一個(gè)整型變量(int)中,這個(gè)整型變量采用大端或者小端模式在內(nèi)存中的存儲(chǔ)由下表所示。地址偏移 大端模式 小端模式 0 x00 12(op0) 78(op3) 0 x01 34(op1) 56(op2) 0 x02 56(op2) 34(op1) 0 x03 78(op3) 12(op0)2021-12-362021-12-37課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君精簡(jiǎn)指令系統(tǒng)思想的提出 ibm公司的john cocke設(shè)計(jì)一個(gè)電話交換系統(tǒng)的控制器,1979年研制出32位的ibm 801 小型計(jì)算機(jī),120條

15、指令,10mips(1千萬(wàn)條指令/秒)。 1979年,美國(guó)加州大學(xué)伯克利分校david patterson研究小組開(kāi)始研究risc系統(tǒng)。 1981年patterson等人研制了32位risc i微處理器,共31種指令,3種數(shù)據(jù)類型,2種尋址方式;研制周期10個(gè)月,比當(dāng)時(shí)最先進(jìn)的mc68000和z8002快3至4倍; 1983年又研制了risc ii,指令種類擴(kuò)充到39種,單一的變址尋址方式,通用寄存器138個(gè)課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君指令系統(tǒng)龐大,指令功能復(fù)雜,指令格式、尋址方式多;絕大多數(shù)指令需多個(gè)機(jī)器周期完成;各種指令都可訪問(wèn)存儲(chǔ)器;采用微程序控制;有專用寄存器,少

16、量;難以用優(yōu)化編譯技術(shù)生成高效的目標(biāo)代碼程序;課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君指令系統(tǒng)龐大,指令功能復(fù)雜,指令格式、尋址方式多;執(zhí)行速度慢;難以優(yōu)化編譯,編譯程序復(fù)雜;80%的指令在20%的運(yùn)行時(shí)間使用;無(wú)法并行;無(wú)法兼容; 課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君cisc指令系統(tǒng)存在的問(wèn)題: 20與80規(guī)律 cisc中,大約20的指令占據(jù)了80的處理機(jī)時(shí)間。其余80指令:使用頻度只占20的處理機(jī)運(yùn)行時(shí)間 vlsi技術(shù)的發(fā)展引起的問(wèn)題 vlsi工藝要求規(guī)整性,risc正好適應(yīng)了vlsi工藝的要求 主存與控存的速度相當(dāng),簡(jiǎn)單指令沒(méi)有必要用微程序?qū)崿F(xiàn),復(fù)雜指令用微程序?qū)?/p>

17、現(xiàn)與用簡(jiǎn)單指令組成的子程序?qū)崿F(xiàn)沒(méi)有多大區(qū)別;由于vlsi的集成度迅速提高,使得生產(chǎn)單芯片處理機(jī)成為可能。課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君 軟硬件的功能分配問(wèn)題 復(fù)雜的指令使指令的執(zhí)行周期大大加長(zhǎng)一般cisc處理機(jī)的指令平均執(zhí)行周期都在4以上,有些在10以上 cisc增強(qiáng)了指令系統(tǒng)功能,簡(jiǎn)化了軟件,但硬件復(fù)雜了,設(shè)計(jì)周期加長(zhǎng)。課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君程序執(zhí)行時(shí)間的計(jì)算公式: p = i cpi t 其中: p是執(zhí)行這個(gè)程序所使用的總的時(shí)間; i是這個(gè)程序所需執(zhí)行的總的指令條數(shù); cpi 是每條指令執(zhí)行的平均周期數(shù) t是一個(gè)周期的時(shí)間長(zhǎng)度。risc的速度

18、要比cisc快3倍左右,關(guān)鍵是risc的cpi減小了課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君硬件方面:采用硬布線控制邏輯,減少指令和尋址方式的種類,使用固定的指令格式,采用load/store結(jié)構(gòu),指令執(zhí)行過(guò)程中設(shè)置多級(jí)流水線等。軟件方面:十分強(qiáng)調(diào)優(yōu)化編譯技術(shù)的作用risc設(shè)計(jì)思想也可以用于cisc中類型cisc指令條數(shù)i指令平均周期數(shù)cpi周期時(shí)間t121533ns5nsrisc1.31.41.11.410ns2ns課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君例如:intel公司的80 x86處理機(jī)的cpi在不斷縮小8088的cpi大于2080286的cpi大約是5.5803

19、86的cpi進(jìn)一步減小到4左右80486的cpi已經(jīng)接近2pentium處理機(jī)的cpi已經(jīng)與risc十分接近 目前,超標(biāo)量、超流水線處理機(jī)的cpi已經(jīng)達(dá)到0.5,實(shí)際上用ipc (instruction per cycle)更確切。課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君90年代初,ieee的michael slater對(duì)risc定義的描述: risc為使流水線高效率執(zhí)行,應(yīng)具有: 簡(jiǎn)單而統(tǒng)一格式的指令譯碼 大部分指令可以單周期執(zhí)行完成 僅load和store指令可以訪問(wèn)存儲(chǔ)器 簡(jiǎn)單的尋址方式 采用延遲轉(zhuǎn)移技術(shù) 采用load延遲技術(shù) risc為使優(yōu)化編譯器便于生成優(yōu)化代碼,應(yīng)具有:

20、三地址指令格式、較多的寄存器、對(duì)稱的指令格式課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君使用頻度很高的指令(精簡(jiǎn)指令條數(shù))大大減少尋址方式(指令字等長(zhǎng))所有指令在一個(gè)機(jī)器周期完成擴(kuò)大通用寄存器個(gè)數(shù)采用硬聯(lián)控制實(shí)現(xiàn),提高速度通過(guò)精簡(jiǎn)指令和優(yōu)化設(shè)計(jì)編譯程序,以簡(jiǎn)單有效的方式支持高級(jí)語(yǔ)言 課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君功 能ciscrisc指令系統(tǒng)復(fù)雜、龐大簡(jiǎn)單、精確指令條數(shù)200444指令字長(zhǎng)不固定32bit可訪存指令不加限制只有l(wèi)oad/store各種指令使用頻率相差太大相差不大各種指令執(zhí)行時(shí)間相差太大絕大多數(shù)一周期完成優(yōu)化編譯系統(tǒng)很難較容易程序源代碼長(zhǎng)度短長(zhǎng)控制邏輯實(shí)

21、現(xiàn)方式絕大多數(shù)微程序控制絕大多數(shù)為硬連線控制課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君dec公司 dec alpha 21064,21066, 21164 ,21264mips公司(sgi公司) r3000,r4000,r8000,r10000,r12000, rt5ibm, motorola ,apple powerpc 601,602,603,603e,604,615,620,630,640 power3、power4、power5hp公司 pa-risc8000sun公司 sun sparc microsparc, supersparc,ultrasparc課程編號(hào):130410

22、00山東大學(xué)軟件學(xué)院 戴鴻君采用risc后的好處 簡(jiǎn)化指令系統(tǒng)設(shè)計(jì) 提高機(jī)器的執(zhí)行速度和效率 降低設(shè)計(jì)成本,提高系統(tǒng)可靠性 提供直接支持高級(jí)語(yǔ)言的能力,簡(jiǎn)化編譯程序的設(shè)計(jì) risc的不足 指令少,加重匯編程序員的負(fù)擔(dān) 浮點(diǎn)運(yùn)算和虛擬存儲(chǔ)器支持不足 編譯程序難寫(xiě) 課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君羅伯特巴登 b5000兩個(gè)操作數(shù)放在堆棧中 執(zhí)行結(jié)果自動(dòng)送入堆棧 指令中不需要地址部分。 指令中需要相對(duì)指針的地址即可特點(diǎn) 存儲(chǔ)空間節(jié)省(省掉了指令的地址部分) 程序緊湊(去掉了所有中間結(jié)果的存取指令)2021-12-51課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君(a+b)*(c

23、+d)轉(zhuǎn)換為ab+cd+*d+ 入棧和出棧就可以搞定任何普通表達(dá)式的運(yùn)算。運(yùn)算方式如下: 當(dāng)前字符為變量或者為數(shù)字,則壓棧,如果是運(yùn)算符,則將棧頂兩個(gè)元素彈出作相應(yīng)運(yùn)算,結(jié)果再入棧,最后當(dāng)表達(dá)式掃描完后,棧里的就是結(jié)果。2021-12-52課程編號(hào):13041000山東大學(xué)軟件學(xué)院 戴鴻君轉(zhuǎn)換過(guò)程包括用下面的算法讀入中綴表達(dá)式的操作數(shù)、操作符和括號(hào): 1. 初始化一個(gè)空堆棧,將結(jié)果字符串變量置空。 2. 從左到右讀入中綴表達(dá)式,每次一個(gè)字符。 3. 如果字符是操作數(shù),將它添加到結(jié)果字符串。 4. 如果字符是個(gè)操作符,彈出(pop)操作符,直至遇見(jiàn)開(kāi)括號(hào)(opening parenthesis)、優(yōu)先級(jí)較低的操作符或者同一優(yōu)先級(jí)的右結(jié)合符號(hào)。把這個(gè)操作符壓入(push)堆棧。 5. 如果字符是個(gè)開(kāi)括號(hào),把它壓入堆棧。 6. 如果字符是個(gè)閉括號(hào)(closing parenthesis),在遇見(jiàn)開(kāi)括號(hào)前,彈出所有操作符

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論