第 5 章 指令系統(tǒng)-計(jì)算機(jī)組成原理_第1頁(yè)
第 5 章 指令系統(tǒng)-計(jì)算機(jī)組成原理_第2頁(yè)
第 5 章 指令系統(tǒng)-計(jì)算機(jī)組成原理_第3頁(yè)
第 5 章 指令系統(tǒng)-計(jì)算機(jī)組成原理_第4頁(yè)
第 5 章 指令系統(tǒng)-計(jì)算機(jī)組成原理_第5頁(yè)
已閱讀5頁(yè),還剩167頁(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)介

2023/2/51第5章指令系統(tǒng)

?修訂第1版2016.92023/2/52本章學(xué)習(xí)內(nèi)容指令系統(tǒng)的設(shè)計(jì)方法指令格式尋址方式CISC和RISC的概念2023/2/535.1機(jī)器指令

指令:控制計(jì)算機(jī)執(zhí)行某種操作的命令。機(jī)器語(yǔ)言:計(jì)算機(jī)硬件實(shí)體直接表示控制信息的語(yǔ)言。機(jī)器語(yǔ)言程序:用機(jī)器語(yǔ)言編制的程序。機(jī)器語(yǔ)言是計(jì)算機(jī)硬件能直接理解并執(zhí)行的語(yǔ)言,任何用其它語(yǔ)言編制的程序,都必須經(jīng)過(guò)“翻譯”,翻譯為機(jī)器語(yǔ)言程序,才能在機(jī)器中正確的運(yùn)行。一條指令就是機(jī)器語(yǔ)言的一個(gè)語(yǔ)句,用來(lái)說(shuō)明機(jī)器硬件應(yīng)完成的操作。指令系統(tǒng)(指令集):一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合。2023/2/54機(jī)器語(yǔ)言是面向機(jī)器的:不同的計(jì)算機(jī)系統(tǒng),具有不同的指令,每一計(jì)算機(jī)系統(tǒng)都具有自己的指令系統(tǒng)。指令系統(tǒng)必須是完備的:即任何運(yùn)算都可以用指令系統(tǒng)中的指令編程實(shí)現(xiàn)。指令系統(tǒng)是計(jì)算機(jī)體系結(jié)構(gòu)的核心;是計(jì)算機(jī)系統(tǒng)硬件、軟件的主要界面。它既是計(jì)算機(jī)硬件設(shè)計(jì)的主要依據(jù),又是計(jì)算機(jī)軟件設(shè)計(jì)的基石。所以一臺(tái)計(jì)算機(jī)指令系統(tǒng)的優(yōu)劣,直接影響著計(jì)算機(jī)系統(tǒng)的性能。2023/2/555.1.1機(jī)器指令格式

指令字(指令代碼):表示一條指令的一串二進(jìn)制代碼。指令格式的設(shè)計(jì)內(nèi)容:⑴確定的指令字長(zhǎng)度⑵劃分指令字字段并加以定義2023/2/56一條指令中應(yīng)包含的信息:①操作碼:表示指令的操作特性和功能。②操作數(shù)的地址:指示操作數(shù)或操作數(shù)所在的地址。③存放操作結(jié)果的地址。④下一條指令的地址。指令的基本格式:操作碼(OP)地址碼(A)2023/2/57各字段的指定方法:顯式指定:在指令字中明顯地指定。隱含指定:由設(shè)計(jì)者用約定的方法指定。指令操作碼均采用顯式指定。下一條指令的地址多采用隱含指定。信息的存儲(chǔ)結(jié)構(gòu)不同,指定的地址也不一樣,地址的結(jié)構(gòu)也不同。2023/2/585.1.2指令字的長(zhǎng)度

指令字長(zhǎng)度:一個(gè)指令字所包含的二進(jìn)制信息的位數(shù)。定長(zhǎng)指令字:機(jī)器的指令系統(tǒng)中各種指令字的長(zhǎng)度均為固定的??勺冮L(zhǎng)指令字:機(jī)器的指令系統(tǒng)中各種指令字的長(zhǎng)度隨指令的功能而異。

2023/2/59定長(zhǎng)指令字的指令長(zhǎng)度固定,結(jié)構(gòu)簡(jiǎn)單,指令譯碼時(shí)間短,有利于硬件控制系統(tǒng)的設(shè)計(jì),但定長(zhǎng)指令字指令平均長(zhǎng)度長(zhǎng)、容易出現(xiàn)冗余碼點(diǎn)、指令不易擴(kuò)展。可變長(zhǎng)指令字的指令長(zhǎng)度不定,結(jié)構(gòu)靈活,能充分利用指令的每一位,指令的碼點(diǎn)冗余少,平均指令長(zhǎng)度短,易于擴(kuò)展。但可變長(zhǎng)指令的指令格式不規(guī)整,取指令時(shí)可能需要多次訪存,導(dǎo)致不同指令的執(zhí)行時(shí)間不一致,硬件控制系統(tǒng)復(fù)雜。

2023/2/510在按字節(jié)編址的存儲(chǔ)器中,采用長(zhǎng)度為字節(jié)的整倍數(shù)的指令,可以充分利用存儲(chǔ)空間,增加內(nèi)存訪問(wèn)的有效性。

為了合理地安排存儲(chǔ)空間,并使指令能表達(dá)較豐富的內(nèi)容,采用可變長(zhǎng)指令將更加靈活有效。單字長(zhǎng)指令:指令長(zhǎng)度等于機(jī)器字長(zhǎng)。雙字長(zhǎng)指令:指令長(zhǎng)度等于兩個(gè)機(jī)器字長(zhǎng)。還有更多倍字長(zhǎng)的指令及半字長(zhǎng)指令等。短指令占存儲(chǔ)空間少,有利于提高指令執(zhí)行速度,因此通常把最常用指令(如算術(shù)邏輯運(yùn)算指令、數(shù)據(jù)傳送指令等)設(shè)計(jì)成短指令格式。2023/2/5115.1.3指令的地址碼CPU可直接訪問(wèn)的存儲(chǔ)結(jié)構(gòu)①主存儲(chǔ)器:訪存時(shí)要給出存儲(chǔ)器單元地址②CPU寄存器:包括通用寄存器和專(zhuān)用寄存器。③I/O接口寄存器:包括數(shù)據(jù)寄存器和狀態(tài)寄存器。④堆棧。2023/2/512設(shè)計(jì)指令字的地址碼格式時(shí)需解決的主要問(wèn)題:⑴

一條指令中需要指明幾個(gè)地址;⑵

應(yīng)當(dāng)如何給出地址;⑶

地址碼應(yīng)選多長(zhǎng)。

2023/2/5131.四地址指令四地址指令格式:A1:第一源操作數(shù)的存儲(chǔ)器地址或寄存器地址。A2:第二源操作數(shù)的存儲(chǔ)器地址或寄存器地址。A3:存放操作結(jié)果的存儲(chǔ)器地址或寄存器地址。A4:指示下一條要執(zhí)行指令的地址。四地址指令的功能:

(A1)OP(A2)→A3A4指示下條指令地址OPA1A2A3A42023/2/514四地址指令直觀明了,程序的執(zhí)行流向明確,不存在轉(zhuǎn)移指令。但指令長(zhǎng)度太長(zhǎng),因此在實(shí)際機(jī)器中基本不用。2023/2/5152.三地址指令程序在執(zhí)行過(guò)程中大多數(shù)情況是按指令序列依次執(zhí)行的,只有在執(zhí)行轉(zhuǎn)移指令時(shí),程序的執(zhí)行順序才被改變。為了壓縮指令長(zhǎng)度,下一條指令地址采用隱含的方法給出。通常用一個(gè)程序計(jì)數(shù)器

PC來(lái)跟蹤程序的執(zhí)行并指示將要執(zhí)行的指令地址。每執(zhí)行一條指令,PC自動(dòng)增量,增量值取決于執(zhí)行指令的長(zhǎng)度。當(dāng)程序出現(xiàn)轉(zhuǎn)移時(shí),用專(zhuān)門(mén)的轉(zhuǎn)移指令將轉(zhuǎn)移地址直接送入PC。在三地址指令中不明顯地指示下條指令地址。2023/2/516三地址指令格式:A1:第一源操作數(shù)的存儲(chǔ)器地址或寄存器地址;A2:第二源操作數(shù)的存儲(chǔ)器地址或寄存器地址;A3:存放操作結(jié)果的存儲(chǔ)器地址或寄存器地址;三地址指令功能為:

(A1)OP(A2)→A3;PC指示下條指令地址OPA1A2A32023/2/517三地址指令編程方便,結(jié)果不影響運(yùn)算操作數(shù),但指令長(zhǎng)度仍比較長(zhǎng),所以一般在字長(zhǎng)較長(zhǎng)的大、中型機(jī)中使用,而微、小型機(jī)中很少使用三個(gè)地址均為存儲(chǔ)器地址的三地址指令。2023/2/5183.二地址指令二地址指令的格式為:

A1、A2是操作數(shù)所在的存儲(chǔ)器地址或寄存器地址。二地址指令功能為:(A1)OP(A2)→A1或(A1)OP(A2)→A2源地址:僅提供操作數(shù)的地址目的地址:既提供一個(gè)操作數(shù),又存放操作結(jié)果的地址OPA1A22023/2/519二地址指令的意義源地址中的操作數(shù)與目的地址中的操作數(shù)進(jìn)行操作碼所規(guī)定的操作,結(jié)果存入目的地址中。2023/2/520①存儲(chǔ)器—存儲(chǔ)器型(S—S型)指令:A1、A2均為存儲(chǔ)器地址的二地址指令。OPA1A2二地址指令的幾種形式2023/2/521②寄存器—寄存器型(R—R型)指令:A1、A2均為寄存器地址的二地址指令。OPR1R22023/2/522③寄存器—存儲(chǔ)器型(R—S型)指令:A1、A2中一個(gè)是寄存器地址,另一個(gè)是存儲(chǔ)器地址的二地址指令。也稱(chēng)一個(gè)半地址指令。OPRnA2023/2/523二地址指令的指令長(zhǎng)度短,特別是R—R型指令,不需訪問(wèn)存儲(chǔ)器取操作數(shù),指令執(zhí)行速度快,因此是最常用的一種指令格式。尤其在RISC結(jié)構(gòu)機(jī)器中,所有運(yùn)算型指令均為R—R型指令。二地址指令執(zhí)行后,參加運(yùn)算的操作數(shù)被破壞,若不希望被破壞,則需提前保護(hù)。2023/2/5244.一地址指令(單地址指令)一地址指令也稱(chēng)單地址指令,指令中只有一個(gè)地址字段。

一地址指令的格式為:A可以是存儲(chǔ)器地址,也可是寄存器地址。OPA2023/2/525一地址指令有兩種情況①單操作數(shù)指令:如INC、DEC、NEG等,只需一個(gè)操作數(shù),其功能為:

OP(A)→A②雙操作數(shù)指令:另一個(gè)操作數(shù)通常采用隱含尋址的方法,將操作數(shù)隱含在約定的累加器AC中,其指令功能為:

(AC)OP(A)→AC2023/2/526一地址指令長(zhǎng)度短,指令執(zhí)行速度快(若A為存儲(chǔ)器地址,只需一次訪存取數(shù)),對(duì)于字長(zhǎng)較短的微、小型機(jī),是一種常用的指令格式。2023/2/5275.零地址指令零地址指令中只有操作碼而無(wú)地址碼,其指令格式為;零地址指令有兩種情況:①不需操作數(shù)的控制型指令,如HALT、WAIT、NOP等。②運(yùn)算型零地址指令:操作數(shù)隱含在堆棧中。OP2023/2/5285.1.4指令的操作碼

操作碼用于指明指令要完成的操作功能及其特性。指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,用以指示指令的操作功能。不同的指令具有不同的操作碼。為了能表示指令系統(tǒng)中的全部操作,指令字中必須有足夠長(zhǎng)度的操作碼字段。假定指令系統(tǒng)中有m種操作,則操作碼位數(shù)n應(yīng)滿足:

n≥log2m指令操作碼的編碼有定長(zhǎng)編碼和變長(zhǎng)編碼兩種。2023/2/529定長(zhǎng)編碼的指令操作碼:所有指令的操作碼長(zhǎng)度一致,位置固定。是一種簡(jiǎn)單規(guī)整的編碼方法。定長(zhǎng)編碼操作碼的特點(diǎn):位數(shù)和位置固定,指令譯碼簡(jiǎn)單,有利于簡(jiǎn)化硬件設(shè)計(jì)。在字長(zhǎng)較長(zhǎng)的大、中型機(jī)以及超小型機(jī)中定長(zhǎng)編碼的操作碼被廣泛采用,例如:在IBM360/370機(jī)中,所有指令的操作碼均為8位,最多可指定256種操作。1.定長(zhǎng)編碼2023/2/530變長(zhǎng)編碼的指令操作碼:不同指令的操作碼長(zhǎng)度不完全相同,操作碼的位數(shù)不固定,分散地放在指令字的不同位置上。變長(zhǎng)編碼操作碼的特點(diǎn):可用較短的指令字長(zhǎng)表示更多的操作類(lèi)型,尋址較大的存儲(chǔ)空間。操作碼的位數(shù)不固定,且位置分散,增加了指令譯碼與分析的難度,使硬件設(shè)計(jì)復(fù)雜化。在早期的微、小型機(jī)中,由于指令字較短,均采用變長(zhǎng)編碼的指令操作碼。如Intel8086、PDP—11等機(jī)器。2.變長(zhǎng)編碼2023/2/531擴(kuò)展操作碼的方法最常用的變長(zhǎng)操作碼的編碼方式是擴(kuò)展操作碼法。擴(kuò)展操作碼法:當(dāng)指令長(zhǎng)度一定時(shí),將操作數(shù)地址多的指令選擇短的操作碼,操作數(shù)地址少的指令選擇較長(zhǎng)操作碼。采用擴(kuò)展操作碼法即能充分地利用指令字的各個(gè)字段,又能在不增加指令長(zhǎng)度的情況下擴(kuò)展操作碼長(zhǎng)度,使它能表示更多的指令。2023/2/532例:設(shè)某機(jī)的指令長(zhǎng)度為16位。操作碼為4位,具有三個(gè)地址字段,每個(gè)地址字段長(zhǎng)為4位。其指令格式為PA1A2A3按照定長(zhǎng)編碼的方法,4位操作碼可表示16條三地址指令。若指令系統(tǒng)中要求有15條三地址指令、15條二地址指令、15條一地址指令和16條零地址指令,共61條指令。則需要采用變長(zhǎng)操作碼方式進(jìn)行編碼。2023/2/5332023/2/534例:設(shè)機(jī)器指令字長(zhǎng)為16位,指令中地址字段的長(zhǎng)度為4位,共有11條三地址指令,72條二地址指令,64條零地址指令。問(wèn)最多還能規(guī)定多少條一地址指令?解:三地址指令的地址字段共需12位,所以可有4位操作碼,可規(guī)定16條三地址指令?,F(xiàn)有11條三地址指令,所以還有16-11=5個(gè)編碼用于二地址指令。二地址指令的地址字段共需8位,可有8位操作碼,去掉三地址指令用掉的操作碼,可規(guī)定

5×16=80條二地址指令。現(xiàn)有72條二地址指令,所以還有80-72=8個(gè)編碼用于一地址指令。2023/2/535一地址指令的地址字段共需4位,可有12位操作碼,去掉二、三地址指令用掉的操作碼,可規(guī)定8×16=128條單地址指令。由于要求有64條零地址指令,而4位操作碼只能提供16條指令,所以需要由單地址指令提供64/16=4個(gè)操作碼編碼,因此還能規(guī)定

128-4=124條單地址指令。2023/2/5362023/2/537根據(jù)指令系統(tǒng)的要求,擴(kuò)展操作碼的組合方案可以有很多種,可以采用等長(zhǎng)擴(kuò)展,也可采用不等長(zhǎng)擴(kuò)展。例如,PDP-11機(jī)的指令操作碼有4、7、8、10、11和13位等不同的長(zhǎng)度。在進(jìn)行操作碼擴(kuò)展的過(guò)程中,必須注意的是:⑴不同指令的操作碼編碼一定不能重復(fù)。⑵在設(shè)計(jì)不同長(zhǎng)度的操作碼時(shí),要盡量考慮安排指令使用頻度高的指令使用短的操作碼,使用頻度低的指令使用較長(zhǎng)的操作碼。這樣可以縮短經(jīng)常使用的指令的譯碼時(shí)間,加快系統(tǒng)整體的運(yùn)行速度。

2023/2/538在有限的指令字條件下,若要表示更多操作還可采用將操作碼進(jìn)一步分段的方法??蓪⒅噶畈僮鞔aOP再進(jìn)一步分為主操作碼和輔助操作碼兩部分。主操作碼用于表示基本操作,輔助操作碼用于表示各種附加操作,如進(jìn)位、移位、結(jié)果回送、判跳等操作。NOVA機(jī)的算術(shù)邏輯類(lèi)指令的指令格式:

2023/2/5395.2尋址方式尋址方式:形成本條指令的操作數(shù)地址和下一條要執(zhí)行指令的地址的方法。尋址分為指令地址的尋址和操作數(shù)地址的尋址。2023/2/540指令的執(zhí)行過(guò)程ALUAPCMARMEMMDRRSIRIDPLA控制信號(hào)2023/2/5411.順序方式:采用PC增量的方式形成下一條指令地址。

PC+增量→PC由于指令通常順序存放,所以當(dāng)程序順序執(zhí)行時(shí),可以采用PC增量的方式形成下條指令地址。即按照PC的內(nèi)容依次取指。增量的多少取決于一條指令所占的存儲(chǔ)單元數(shù)。5.2.1指令的尋址方式

2023/2/5422023/2/5432.跳越方式跳越方式:當(dāng)程序發(fā)生轉(zhuǎn)移時(shí),修改PC的內(nèi)容。當(dāng)程序需要轉(zhuǎn)移時(shí),由轉(zhuǎn)移類(lèi)指令產(chǎn)生轉(zhuǎn)移地址并送入PC中。轉(zhuǎn)移地址的形成有各種方法。2023/2/54462023/2/545由于操作數(shù)的存放往往是隨機(jī)的,所以希望有多種方式產(chǎn)生操作數(shù)地址。另外為了提高程序設(shè)計(jì)質(zhì)量,也希望能提供多種靈活的尋址方式。因此,尋址方式主要是指操作數(shù)地址的尋址方式。操作數(shù)地址有多種尋址方式。5.2.2操作數(shù)的尋址方式

2023/2/546⑴形式地址:指令中給出的地址。由于有多種尋址方式,指令中地址字段給出的地址,不一定是操作數(shù)的實(shí)際地址,稱(chēng)為形式地址。⑵有效地址:形式地址經(jīng)過(guò)一定的運(yùn)算而得到的操作數(shù)的實(shí)際地址。有效地址是CPU實(shí)際訪問(wèn)的主存單元的地址。2023/2/547討論各種尋址方式的目的縮短指令長(zhǎng)度擴(kuò)大操作數(shù)的尋址空間提高編程的靈活性尋址方式的設(shè)計(jì)內(nèi)容確定由形式地址變換為有效地址的算法,并按照這些算法確定相應(yīng)的硬件結(jié)構(gòu),自動(dòng)地實(shí)現(xiàn)尋址。2023/2/548⑶設(shè)計(jì)尋址方式的要求:①指令內(nèi)包含的地址盡可能短,以縮短指令長(zhǎng)度。②能訪問(wèn)盡可能大的存儲(chǔ)空間。即能提供盡可能長(zhǎng)的地址信息。根據(jù)程序所具有的局部性特性,大多數(shù)程序在一段時(shí)間內(nèi)都使用存儲(chǔ)器的一個(gè)小區(qū)域,所以,可以用短地址訪問(wèn)該區(qū)域內(nèi)的任一單元的。③希望地址能隱含在寄存器中。因?yàn)榧拇嫫鞯刂繁容^短,而寄存器長(zhǎng)度一般與機(jī)器字長(zhǎng)相同,在字長(zhǎng)較長(zhǎng)的機(jī)器中.寄存器內(nèi)存放的地址可訪問(wèn)很大的存儲(chǔ)空間,所以地址隱含在寄存器,可以減少指令長(zhǎng)度。2023/2/549④

能在不改變指令的情況下改變地址的實(shí)際值。即在數(shù)組、向量、線性表、字符串等數(shù)據(jù)結(jié)構(gòu)的操作中,能夠?qū)崿F(xiàn)操作數(shù)地址的最大增減量。⑤尋址方式盡可能簡(jiǎn)單、規(guī)范,以便簡(jiǎn)化硬件設(shè)計(jì)。2023/2/550常用尋址方式一地址指令格式MOD:尋址方式字段A:形式地址形式地址按相應(yīng)的尋址方式計(jì)算得到的操作數(shù)的有效地址記作EA。

OP尋址方式MOD形式地址A2023/2/5511.立即尋址立即尋址方式是指指令的地址碼部分給出的不是操作數(shù)的地址而是操作數(shù)本身。即指令所需的操作數(shù)由指令的形式地址直接給出。采用立即尋址時(shí),操作數(shù)Data就是形式地址部分給出的內(nèi)容D,D也稱(chēng)為立即數(shù)。例:Intel8086指令:

MOVAX,2000H;將數(shù)據(jù)2000H存入

累加器AX中OP立即尋址DData=D2023/2/552立即尋址方式在取指令的同時(shí)操作數(shù)即被取出,不必再次訪問(wèn)存儲(chǔ)器,提高了指令執(zhí)行速度。由于指令字長(zhǎng)有限,立即尋址方式使得操作數(shù)的范圍受到限制。立即尋址方式通常用于給某一寄存器或存儲(chǔ)器單元賦予初值或提供一個(gè)常數(shù)。2023/2/5532.直接尋址直接尋址方式是指操作數(shù)的有效地址在指令字中直接給出,指令的地址碼部分給出的形式地址A就是操作數(shù)的有效地址EA。

2023/2/554例:Intel8086指令:

MOVAX,[2000H]將有效地址為2000H的內(nèi)存單元的內(nèi)容讀入累加器AX中。2023/2/555簡(jiǎn)單直觀,不需要另外計(jì)算操作數(shù)地址,在指令執(zhí)行階段只需訪問(wèn)一次主存即可得到操作數(shù),便于硬件實(shí)現(xiàn)。隨著存儲(chǔ)器容量不斷擴(kuò)大,采用直接尋址方式尋址整個(gè)主存空間,將造成指令長(zhǎng)度加長(zhǎng)。采用直接尋址方式編程時(shí),如果操作數(shù)地址發(fā)生變化,就必須修改指令中A的值,給編程帶來(lái)不便。由于操作數(shù)地址在指令中給定,使程序和數(shù)據(jù)在內(nèi)存中的存放位置受到限制。直接尋址的特點(diǎn)2023/2/5563.間接尋址間接尋址方式是指指令的地址碼部分給出的是操作數(shù)的有效地址EA所在的存儲(chǔ)單元的地址或是指示操作數(shù)地址的地址指示字。即有效地址EA是由形式地址A間接提供的。間接尋址分為一級(jí)間接尋址和多級(jí)間接尋址。2023/2/557一級(jí)間接尋址指令的形式地址A給出的是EA所在的存儲(chǔ)單元的地址,這時(shí)存儲(chǔ)單元A中的內(nèi)容就是操作數(shù)的有效地址EA。EA=(A)Data=((A))2023/2/558例:某計(jì)算機(jī)指令:MOVAL,@2000HE=(A)

=(2000H)

=3000HData=50H00H30H50H2000H3000H2001H50HAL2023/2/559多級(jí)間接尋址指令的地址碼部分給出的是操作數(shù)地址的地址指示字,即存儲(chǔ)單元A中的內(nèi)容還不是有效地址EA,而是指向另一個(gè)存儲(chǔ)單元的地址或地址指示字。在多級(jí)間址方式中,通常把地址字的高位作為標(biāo)志位,以指示該字是有效地址,還是地址指示字。2023/2/560三級(jí)間址的尋址過(guò)程地址指示字的高位為1,表示該單元內(nèi)容仍為地址指示字,需繼續(xù)訪存尋址。地址指示字的高位為0,表示該單元內(nèi)容即為操作數(shù)所在單元的有效地址EA。E=(((A)))2023/2/561①

間接尋址比直接尋址靈活,可擴(kuò)大尋址范圍,以短的地址碼訪問(wèn)大的存儲(chǔ)空間。如:指令字長(zhǎng)與存儲(chǔ)器字長(zhǎng)均為16位,指令中地址碼長(zhǎng)為10位,其直接尋址范圍為1k空間;如果用間接尋址,有效地址為16位,其尋址空間為64k,比直接尋址擴(kuò)大64倍。②采用間接尋址,當(dāng)操作數(shù)地址需要改變時(shí),可不必修改指令,只要修改地址指示字中內(nèi)容(即存放有效地址的單元內(nèi)容)即可。③間接尋址需多次訪存才能取得操作數(shù),尤其是多級(jí)間接尋址,因而降低了指令的執(zhí)行速度。大多數(shù)計(jì)算機(jī)只允許一級(jí)間接尋址。在一些大型高速計(jì)算機(jī)中,很少采用間接尋址。間接尋址的特點(diǎn)2023/2/5624.寄存器直接尋址(寄存器尋址)寄存器直接尋址也稱(chēng)寄存器尋址。寄存器直接尋址是指在指令地址碼中給出的是某一通用寄存器的編號(hào)(也稱(chēng)寄存器地址),該寄存器的內(nèi)容即為指令所需的操作數(shù)。采用寄存器尋址方式時(shí),有效地址EA是寄存器的編號(hào)。2023/2/563例:Intel8086指令:

MOVAL,BL;AL←BL,將寄存器BL中的

內(nèi)容傳送到寄存器AL中。寄存器存取信息的速度比主存快,需要的地址短,可壓縮指令長(zhǎng)度,有利于加快指令執(zhí)行速度。但寄存器的數(shù)量有限。2023/2/5645.寄存器間接尋址寄存器間接尋址方式是指指令中地址碼部分所指定的寄存器中的內(nèi)容是操作數(shù)的有效地址。

2023/2/565例:Intel8086指令:

MOVAL,[BX]設(shè)BX=2000H,(2000H)=80H,則AL←80H由于寄存器間接尋址方式中,地址存放在寄存器中,因此只需一次訪存即可取得操作數(shù),而且寄存器又能給出全字長(zhǎng)的地址碼,可尋址較大的存儲(chǔ)空間。2023/2/5666.變址尋址變址尋址方式是指操作數(shù)的有效地址是由指令中指定的變址寄存器的內(nèi)容與指令字中的形式地址相加形成的。變址寄存器Rx可以是專(zhuān)用寄存器,也可以是通用寄存器中的某一個(gè)。2023/2/567例:Intel8086指令:

MOVAL,[SI+4]設(shè)SI=2000H,SI+4=2004H(2004H)=82H,所以AL←82H在某些計(jì)算機(jī)中,變址寄存器還可以自動(dòng)增量或減量。每存取一個(gè)數(shù)據(jù),根據(jù)數(shù)據(jù)的長(zhǎng)度,變址寄存器的內(nèi)容自動(dòng)增量或自動(dòng)減量,前者稱(chēng)為自增型變址尋址;后者稱(chēng)為自減型變址尋址。也有資料稱(chēng)為自增型寄存器間接尋址和自減型寄存器間接尋址。2023/2/568例:有VAX—11指令:⑴MOV(R1)+,R0

⑵MOV-(R1),R0⑴(R1)+表示自增型變址尋址,寄存器R1中內(nèi)容先作為源操作數(shù)地址,讀數(shù)后R1按操作數(shù)長(zhǎng)度增量。設(shè)操作數(shù)字長(zhǎng)為一個(gè)字節(jié),每次增量為1,

若R1=1000H,則指令執(zhí)行后,R1自增加1,

R1=1001H。2023/2/569⑵-(R1)表示自減型變址尋址,寄存器R1先按操作數(shù)長(zhǎng)度減量后作為源操作數(shù)地址,并將減量結(jié)果送回R1。設(shè)每次減量為1,R1=1000H,指令執(zhí)行時(shí)先將R1減1,R1=0FFFH,然后將R1的內(nèi)容作為有效地址訪問(wèn)源操作數(shù)。2023/2/570變址尋址可用于數(shù)組、向量、字符串等數(shù)據(jù)的處理。例:Intel8086指令:

LODS;AL←(SI),SI←SI+1SIAAa0A+1a1A+2a2…+12023/2/571變址尋址還可以與間接尋址相結(jié)合,形成復(fù)合型尋址。①先間址后變址2023/2/572②先變址后間址2023/2/5737.相對(duì)尋址相對(duì)尋址方式是將程序計(jì)數(shù)器PC的當(dāng)前內(nèi)容與指令中給出的形式地址相加形成操作數(shù)的有效地址。

2023/2/574PC當(dāng)前內(nèi)容一般為現(xiàn)行指令的下一單元的地址。形式地址是操作數(shù)地址相對(duì)于PC當(dāng)前內(nèi)容的一個(gè)相對(duì)位移量(Disp),位移量可正可負(fù),一般用補(bǔ)碼表示。在相對(duì)尋址中,只要保持位移量不變,就可實(shí)現(xiàn)指令帶著數(shù)據(jù)在存儲(chǔ)器中搬家,有利于實(shí)現(xiàn)程序再定位。KOP相對(duì)尋址5K+1K+2┆┆K+6操作數(shù)MOP相對(duì)尋址5M+1M+2┆┆M+6操作數(shù)2023/2/575相對(duì)尋址還經(jīng)常用于轉(zhuǎn)移指令中,以PC內(nèi)容為基準(zhǔn),加上相對(duì)位移量形成轉(zhuǎn)移地址。例如PDP—11轉(zhuǎn)移指令格式為:其轉(zhuǎn)移地址為(PC)+2Disp。之所以加2Disp,是因?yàn)镻DP一11是以字節(jié)為單位對(duì)主存進(jìn)行編址的,而Disp是相對(duì)于PC的字位移,一個(gè)字為2個(gè)字節(jié)。15870OPDisp2023/2/576例:Intel8086的進(jìn)位為0轉(zhuǎn)移指令JNCD的功能為:如果進(jìn)位為0,則轉(zhuǎn)移到目標(biāo)地址為

(PC)+D處執(zhí)行。該指令為雙字節(jié)指令。設(shè)本條指令的地址為1000H。①設(shè)指令為JNC03H:

如果進(jìn)位為0,則轉(zhuǎn)移到目標(biāo)

地址為(PC)+03H處進(jìn)行執(zhí)行

本條指令取指后,

PC=1002H

轉(zhuǎn)移目標(biāo)地址為

1002H+0003H=1005H②設(shè)指令為JNC0FDH

則轉(zhuǎn)移目標(biāo)地址為

1002H+FFFDH=0FFFH0FFDH0FFEH0FFFH××1000HJNC1001H03H1002H1003H1004H1005H××D=FDHD=03H2023/2/5778.基址尋址基址尋址方式是指操作數(shù)的有效地址等于指令中的形式地址與基址寄存器中的內(nèi)容之和?;芳拇嫫骺梢允且粋€(gè)專(zhuān)用的寄存器,也可以是由指令指定的通用寄存器,基址寄存器中的內(nèi)容稱(chēng)為基地址。

2023/2/578基址尋址主要用于將用戶程序的邏輯地址(用戶編寫(xiě)程序時(shí)所使用的地址)轉(zhuǎn)換成主存的物理地址(程序在主存中的實(shí)際地址),以便實(shí)現(xiàn)程序的再定位。

在多道程序運(yùn)行時(shí),系統(tǒng)的管理程序?qū)⒍嗟莱绦蜓b入主存。由于用戶在編寫(xiě)程序時(shí),不知道自己的程序應(yīng)該放在主存的哪一個(gè)實(shí)際物理地址中,只能按相對(duì)位置使用邏輯地址編寫(xiě)程序。當(dāng)用戶程序裝入主存時(shí),為了實(shí)現(xiàn)用戶程序的重定位,系統(tǒng)程序給每個(gè)用戶程序分配一個(gè)基準(zhǔn)地址。程序運(yùn)行時(shí),該基準(zhǔn)地址裝入基址寄存器,通過(guò)基址尋址,實(shí)現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換。2023/2/579基址尋址與變址尋址在形式上以及有效地址的計(jì)算方法上都是相似的,但它們的應(yīng)用場(chǎng)合是不同的是不同的。基址尋址是面向系統(tǒng)的,主要用于邏輯地址到物理地址的變換,用以解決程序定位問(wèn)題。基址寄存器由系統(tǒng)程序通過(guò)特權(quán)指令使用,對(duì)用戶是透明的?;芳拇嫫鞯膬?nèi)容一般不進(jìn)行自動(dòng)增量和減量。變址尋址是面向用戶的,主要用于訪問(wèn)數(shù)組、向量、字符串等成批數(shù)據(jù),用以解決程序的循環(huán)控制問(wèn)題。變址寄存器的內(nèi)容可以進(jìn)行自動(dòng)增量和減量。在早期的一些微、小型機(jī)中,基址尋址與變址尋址是不加區(qū)分的。2023/2/580將基址尋址與變址尋址結(jié)合起來(lái)就形成了基址加變址尋址方式。這種尋址方式是將兩個(gè)寄存器的內(nèi)容和指令形式地址中給出的偏移量相加后得到的結(jié)果作為操作數(shù)的有效地址。其中一個(gè)寄存器作為基址寄存器,另一個(gè)作為變址寄存器。9.基址加變址尋址2023/2/581基址加變址尋址2023/2/582例:Intel8086的基址尋址與變址尋址的指令:

MOVAL,[BX+SI+4]設(shè)基址寄存器BX的內(nèi)容為BX=1000H,變址寄存器SI的內(nèi)容為SI=2000H,主存3004H單元的內(nèi)容為(2004H)=ABH。由于形式地址A中給出的偏移量為4,所以有效地址EA=(BX)+(SI)+4=3004H,指令執(zhí)行的結(jié)果是將操作數(shù)ABH傳送到寄存器AL中。

2023/2/583堆棧尋址是一種由堆棧支持的尋址方式。

1)堆棧

一種按后進(jìn)先出(LIFO)或先進(jìn)后出(FILO)原則進(jìn)行存取信息的一組存儲(chǔ)器單元的有序集合。堆棧通常是主存的一個(gè)特定區(qū)域,它可以是固定的區(qū)域,也可以是浮動(dòng)的區(qū)域,由軟件定義。堆棧區(qū)域中數(shù)據(jù)的個(gè)數(shù)和內(nèi)容是動(dòng)態(tài)變化的。堆棧結(jié)構(gòu)通常是一端固定,一端浮動(dòng)的。棧底:第一個(gè)存入(稱(chēng)為壓入)數(shù)據(jù)的堆棧單元。棧底單元是固定的。棧頂:最近存入數(shù)據(jù)的堆棧單元,棧頂單元是浮動(dòng)的。10.堆棧尋址

2023/2/584堆棧操作總是按地址自動(dòng)增量和自動(dòng)減量方式在棧頂進(jìn)行。在堆棧操作中,數(shù)據(jù)按順序存入堆棧稱(chēng)為數(shù)據(jù)進(jìn)棧或壓入;從堆棧中按與進(jìn)棧相反的順序取出數(shù)據(jù)稱(chēng)為出?;驈棾?。

2023/2/585(1)寄存器堆棧

計(jì)算機(jī)在CPU中設(shè)置一組專(zhuān)門(mén)用于堆棧的寄存器,每個(gè)寄存器按照機(jī)器字長(zhǎng)可以保存一個(gè)字的數(shù)據(jù),相鄰的寄存器具有位對(duì)位的移位功能,CPU可以通過(guò)進(jìn)棧指令和出棧指令,控制將數(shù)據(jù)壓入和彈出堆棧。寄存器堆棧由于棧頂位置固定,所以不必設(shè)置堆棧的棧頂指針。2023/2/586寄存器堆棧的工作過(guò)程

2023/2/587為了防止堆??諘r(shí)企圖執(zhí)行出棧和堆棧滿時(shí)企圖執(zhí)行進(jìn)棧等誤操作,可以利用計(jì)數(shù)器為堆棧設(shè)置“??铡焙汀皸M”指示。每進(jìn)行一次進(jìn)棧操作,計(jì)數(shù)器加1;每進(jìn)行一次出棧操作。計(jì)數(shù)器減1。當(dāng)計(jì)數(shù)器中計(jì)數(shù)值等于堆棧中寄存器的個(gè)數(shù)時(shí),表示“棧滿”;當(dāng)計(jì)數(shù)器中計(jì)數(shù)值等于“0”時(shí),表示“??铡薄<拇嫫鞫褩5拇嫒∷俣瓤?,不占用主存空間,但堆棧的容量固定,不易擴(kuò)展。

2023/2/588(2)存儲(chǔ)器堆棧

存儲(chǔ)器堆棧就是一組連續(xù)的存儲(chǔ)器單元的有序集合。堆棧通常位于主存的一個(gè)特定區(qū)域,它既可以是固定的區(qū)域,也可以是浮動(dòng)的區(qū)域,可以用軟件加以定義,而且需要時(shí)可以定義多個(gè)存儲(chǔ)器堆棧。為了表示棧頂?shù)奈恢茫ǔS靡粋€(gè)寄存器或存儲(chǔ)器單元指出棧頂?shù)牡刂?,這個(gè)寄存器或存儲(chǔ)器單元稱(chēng)為堆棧指針SP,SP的內(nèi)容永遠(yuǎn)指向堆棧當(dāng)前的棧頂。由于堆棧遵循先進(jìn)后出原則進(jìn)行信息的存取,堆棧的壓入和彈出操作總是按地址自動(dòng)增量和自動(dòng)減量方式在棧頂進(jìn)行。

2023/2/589堆棧的兩種生成方式:自底向上生成方式:棧底占最高地址,棧頂為較低地址,壓入數(shù)據(jù)時(shí),按由高地址向低地址順序進(jìn)行,彈出數(shù)據(jù)(即取出數(shù)據(jù))時(shí),由低地址向高地址順序進(jìn)行。自頂向下生成方式:與自底向上生成方式順序相反。2023/2/590堆棧的生成方式2023/2/591自底向上生成堆棧的工作過(guò)程自底向上生成堆棧是一種較常用的存儲(chǔ)器堆棧方式。

2023/2/592自底向上生成堆棧的工作過(guò)程SP棧底低地址高地址ASPSPBSPCSPSPSP2023/2/5932)堆棧尋址

堆棧尋址方式就是按照堆棧指示器SP的內(nèi)容確定操作數(shù)的訪存地址。例如在堆棧支持的運(yùn)算型零地址指令中,操作數(shù)隱含指定在堆棧,當(dāng)CPU執(zhí)行這種指令時(shí),自動(dòng)地按當(dāng)前SP值從堆棧的棧頂和次棧頂彈出數(shù)據(jù),進(jìn)行操作碼指示的操作,然后再將所得結(jié)果自動(dòng)壓入堆棧。堆棧除了可為零地址指令提供操作數(shù)外,還有很多用途。如在子程序的調(diào)用中,用堆棧存放返回地址,可以實(shí)現(xiàn)子程序的嵌套和遞歸調(diào)用;在程序中斷的處理中,用堆棧存放多級(jí)中斷的有關(guān)信息,可以實(shí)現(xiàn)多級(jí)中斷的嵌套等。2023/2/59411.頁(yè)面尋址

頁(yè)面尋址就是將存儲(chǔ)器邏輯地分成若干頁(yè),每一頁(yè)都有自己的頁(yè)面地址,一頁(yè)內(nèi)包含若干存儲(chǔ)單元,可以通過(guò)頁(yè)內(nèi)地址進(jìn)行訪問(wèn)。當(dāng)需要訪問(wèn)一頁(yè)內(nèi)的某一單元時(shí),將該頁(yè)的頁(yè)面地址與相應(yīng)單元的頁(yè)內(nèi)地址相拼接,即可形成操作數(shù)的有效地址。

2023/2/59512.擴(kuò)展尋址

擴(kuò)展尋址就是將要訪問(wèn)的存儲(chǔ)單元地址的高位預(yù)先裝入擴(kuò)展寄存器中,訪存時(shí)將擴(kuò)展寄存器的內(nèi)容與指令字中形式地址部分給出的內(nèi)容相拼接,形成操作數(shù)的有效地址。在微型計(jì)算機(jī)中,段尋址就是擴(kuò)展尋址的應(yīng)用。在采用段尋址的計(jì)算機(jī)中,首先將存儲(chǔ)區(qū)域定義為若干邏輯段,將要訪問(wèn)的存儲(chǔ)單元地址所在的段地址高位預(yù)先裝入段寄存器中。訪存時(shí),將段寄存器內(nèi)容與指令字中給出的段內(nèi)偏移量相加,即可形成操作數(shù)的有效地址。

2023/2/596例如,Intel8086CPU將1MB存儲(chǔ)器空間分成若干邏輯段來(lái)進(jìn)行管理,每個(gè)段的最大容量限制為64KB,且規(guī)定每個(gè)邏輯段只能從模16地址開(kāi)始,即段的起始地址(或稱(chēng)段基地址)必須為××××0H。段基地址的高16位通常被保存在16位的段寄存器中。當(dāng)CPU需要訪問(wèn)存儲(chǔ)器時(shí),在指令中提供說(shuō)明主存單元距離段起始位置的偏移量(段內(nèi)偏移量)信息,這樣存儲(chǔ)單元的物理地址就可用段基地址+段內(nèi)偏移量的方法表示。2023/2/597上述尋址方式都是按地址進(jìn)行存儲(chǔ)器訪問(wèn)的。除此之外,還有按內(nèi)容尋址的相聯(lián)存儲(chǔ)器。相聯(lián)尋址:使用相聯(lián)存儲(chǔ)器,按所需內(nèi)容進(jìn)行尋址。2023/2/598尋址方式碼的省略當(dāng)?shù)刂凡糠值牡刂窞閱我粫r(shí)(指定只有一種),如寄存器尋址,則可以省略尋址方式,直接給出寄存器的編號(hào)。例如某機(jī)的ALU雙操作數(shù)指令18條,均為R-R型,且有32個(gè)寄存器,則指令格式可以為如下格式,其中省略了源和目的地址的尋址方式字段。OP(5位)Reg1編號(hào)(5位)Reg2編號(hào)(5位)

2023/2/599例:某計(jì)算機(jī)字長(zhǎng)為16位,主存地址空間大小為128KB,按字編址。采用單字長(zhǎng)指令格式,指令各字段定義如下:

15

1211

65

0OPMs

RsMdRd源操作數(shù)目的操作數(shù)2023/2/5100其中,轉(zhuǎn)移指令采用相對(duì)尋址方式,相對(duì)偏移是用補(bǔ)碼表示,尋址方式定義如下:

Ms/Md尋址方式助記符含義000B寄存器直接Rn操作數(shù)=(Rn)001B寄存器間接(Rn)操作數(shù)=((Rn))010B自增型變址(Rn)+操作數(shù)=((Rn)),

(Rn)+1→Rn011B相對(duì)D轉(zhuǎn)移目標(biāo)地址=(PC)+D注:(X)表示地址為X的內(nèi)存單元或寄存器X的內(nèi)容2023/2/5101請(qǐng)回答下列問(wèn)題:(1)該指令系統(tǒng)最多可有多少條指令?該計(jì)算機(jī)最多有多少個(gè)通用寄存器?存儲(chǔ)器地址寄存器(MAR)和存儲(chǔ)器數(shù)據(jù)寄存器(MDR)至少各需多少位?(2)轉(zhuǎn)移指令的目標(biāo)地址范圍是多少?(3)若操作碼0010B表示加法操作(助記符為ADD),寄存器R4和R5的編號(hào)分別為100B和101B,R4的內(nèi)容為1234H,R5的內(nèi)容為5678H。地址1234H中的內(nèi)容為5678H,地址5678H中的內(nèi)容為1234H,則匯編語(yǔ)言為ADD(R4),(R5)+(逗號(hào)前為源操作數(shù),逗號(hào)后為目的操作數(shù))對(duì)應(yīng)的機(jī)器碼是什么(用十六進(jìn)制表示)?該指令執(zhí)行后,哪些寄存器和存儲(chǔ)單元的內(nèi)容會(huì)改變?改變后的內(nèi)容是什么?2023/2/5102分析:(1)指令系統(tǒng)最多支持16條指令;支持8個(gè)通用寄存器;

∵主存地址空間大小為128KB,按字編址,故共有64K個(gè)字單元,∴

MAR至少為16位?!咴摍C(jī)字長(zhǎng)為16位,∴

MDR至少為16位。(2)∵機(jī)器字長(zhǎng)為16位,∴PC的字長(zhǎng)為16位,轉(zhuǎn)移指令采用相對(duì)尋址方式,PC加位移量的結(jié)果為仍為16位,故轉(zhuǎn)移指令的目標(biāo)地址范圍為0000H~FFFFH。

2023/2/5103(3)匯編語(yǔ)句“ADD(R4),(R5)+”中,(R4)為寄存器間接尋址,編碼001B,(R5)+為自增型變址尋址,編碼010B,ADD操作碼為0010B,故對(duì)應(yīng)的機(jī)器碼為:0010001100010101=2315H∵R4的內(nèi)容為1234H,R5的內(nèi)容為5678H。地址1234H中的內(nèi)容為5678H,地址5678H中的內(nèi)容為1234H,該指令執(zhí)行的操作是:

(1234H)+

(5678H)=5678H+1234H=68ACH∴存儲(chǔ)單元5678H的內(nèi)容變?yōu)?8ACH。

R5自增加1,內(nèi)容變?yōu)?679H2023/2/51045.3指令類(lèi)型及功能不同類(lèi)型的計(jì)算機(jī),由于其性能、結(jié)構(gòu)、適用范圍的不同,指令系統(tǒng)間差異很大。有的機(jī)器指令系統(tǒng)豐富,指令條數(shù)多;有的機(jī)器指令系統(tǒng)簡(jiǎn)單,指令類(lèi)型少。指令系統(tǒng)的設(shè)計(jì)風(fēng)格分為:復(fù)雜指令系統(tǒng)的計(jì)算機(jī)(CISC)精簡(jiǎn)指令系統(tǒng)的計(jì)算機(jī)(RISC)2023/2/5105指令系統(tǒng)的基本要求1.完備性任何運(yùn)算都可以用指令編程實(shí)現(xiàn)。即要求指令系統(tǒng)的指令豐富、功能齊全、使用方便,應(yīng)具有所有基本指令。2.有效性用指令系統(tǒng)中的指令編寫(xiě)的程序能高效率運(yùn)行,占用空間小、執(zhí)行速度快。3.規(guī)整性指令系統(tǒng)具有對(duì)稱(chēng)性、勻齊性,指令與數(shù)據(jù)格式的一致性。2023/2/5106對(duì)稱(chēng)性:所有寄存器和存儲(chǔ)單元均同等對(duì)待,所有指令可以使用所有尋址方式,減少特殊操作和例外情況。勻齊性:一種操作可支持各種數(shù)據(jù)類(lèi)型。如算術(shù)指令可支持字節(jié)、字、雙字、十進(jìn)制數(shù)、浮點(diǎn)單精度數(shù)、浮點(diǎn)雙精度數(shù)等。指令與數(shù)據(jù)格式的一致性:指令長(zhǎng)度與數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以便于存取和處理。4.兼容性系列機(jī)的各機(jī)種之間有基本相同的指令集。至少作到向后兼容,即先推出的機(jī)器上的程序可以在后推出的機(jī)器上運(yùn)行。2023/2/5107不同的計(jì)算機(jī)所具有的指令系統(tǒng)也不同,但不管指令系統(tǒng)的繁簡(jiǎn)如何,所包含的指令的基本類(lèi)型和功能是相似的。一臺(tái)計(jì)算機(jī)最基本的、必不可少的指令是不多的,因?yàn)楹芏嘀噶疃伎梢杂眠@些最基本的指令來(lái)實(shí)現(xiàn)。例如,乘、除運(yùn)算指令,浮點(diǎn)運(yùn)算指令,既可以直接用硬件實(shí)現(xiàn),也可以用其它指令編制程序來(lái)實(shí)現(xiàn),但兩者在執(zhí)行時(shí)間和編程的方便性差別很大。因此,指令系統(tǒng)中有相當(dāng)一部分指令是為了提高程序的執(zhí)行速度和便于用戶編程而設(shè)計(jì)的。2023/2/5108一個(gè)完善的指令系統(tǒng)應(yīng)包括的基本指令有:數(shù)據(jù)傳送指令、算術(shù)邏輯運(yùn)算指令、移位操作指令、堆棧操作指令、字符串處理指令、程序控制指令、輸入/輸出指令等。一些復(fù)雜指令的功能往往是一些基本指令功能的組合。

2023/2/51095.3.1數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令用于完成數(shù)據(jù)傳送功能。數(shù)據(jù)傳送指令應(yīng)解決的問(wèn)題:①傳送范圍:從何處到何處。有R←→R、R←→M、M←→M②傳送單位:一次傳送的數(shù)據(jù)量。字節(jié)、字、雙字、成組傳送(如數(shù)組等)③尋址方式:源地址和目的地址的確定方法。數(shù)據(jù)傳送時(shí),數(shù)據(jù)從源地址傳送到目的地址,源地址中的數(shù)據(jù)不變。有的機(jī)器設(shè)置通用的MOV指令;有的機(jī)器用LOAD、STORE指令訪存,LOAD為讀數(shù)指令,STORE為存數(shù)指令。2023/2/5110例:8086指令MOVAL,BL;AL←BLMOVAL,Disp(BX)(SI);AL←((BX)+(SI)

+Disp)2023/2/5111例:IBM370機(jī)的成組取指令:A1、A3:寄存器字段,指定16個(gè)通用寄存器中的某一個(gè)B2:基址寄存器D2:形式地址。源操作數(shù)的起始地址:E2=(B2)+D2。指令功能:從主存E2單元開(kāi)始,順序地取出多個(gè)數(shù)據(jù),分別存放在從A1字段指定的寄存器到A3字段指定的寄存器的編號(hào)連續(xù)的多個(gè)寄存器中。例如,A1字段指定寄存器R6,A3字段指定寄存器R11。則指令完成的功能是:從E2單元開(kāi)始順序取出6個(gè)數(shù)據(jù),分別存入R6到R11共6個(gè)寄存器中。成組取A1A3B2D22023/2/51125.3.2算術(shù)邏輯運(yùn)算指令算術(shù)邏輯運(yùn)算指令主要用于進(jìn)行各種算術(shù)運(yùn)算及邏輯運(yùn)算。算術(shù)運(yùn)算:包括定點(diǎn)、浮點(diǎn)的加、減、乘、除運(yùn)算以及求反、求補(bǔ)、加1、減1、比較等指令。邏輯運(yùn)算:主要是對(duì)布爾量進(jìn)行運(yùn)算,一般包括與、或、非、異或、測(cè)試等指令。邏輯運(yùn)算指令多用于對(duì)數(shù)據(jù)字中某些位(一位或多位)進(jìn)行操作。

2023/2/5113例:8086指令系統(tǒng)中的算術(shù)邏輯運(yùn)算指令A(yù)DDAL,BL;AL←AL+BLMULBL;AX←AL×BLANDAL,0FEH;AL←AL∧FEH,即AL的最低位

;清0,其余位不變。ORAL,0F0H;AL←AL∨F0H,即AL的高4位置1

;其余位不變TESTAL,01H;AL∧00000001B

;AL0=0結(jié)果為0

;AL0=1結(jié)果不為02023/2/5114隨著計(jì)算機(jī)的不斷發(fā)展,硬件價(jià)格的不斷下降,計(jì)算機(jī)的指令系統(tǒng)也在不斷發(fā)展,特別在CISC計(jì)算機(jī)中,常把一些常用的子程序用一條指令代替,如乘方指令、開(kāi)方指令等,例如VAX一11的計(jì)算多項(xiàng)式指令,一條指令可實(shí)現(xiàn)一個(gè)多項(xiàng)式的計(jì)算。在一些大型機(jī)、巨型機(jī)中,不僅支持標(biāo)量運(yùn)算,還設(shè)置向量運(yùn)算指令。2023/2/51155.3.3移位指令移位指令用于實(shí)現(xiàn)對(duì)操作數(shù)的左、右移位。移位操作指令分為算術(shù)移位、邏輯移位和循環(huán)移位三種,可以實(shí)現(xiàn)對(duì)操作數(shù)左移或右移一位或幾位。①算術(shù)移位:對(duì)帶符號(hào)數(shù)的移位,移位過(guò)程中必須保持操作數(shù)的符號(hào)不變。若是左移,空出的最低位補(bǔ)0。若是右移,空出的最高位補(bǔ)符號(hào)位,操作數(shù)以補(bǔ)碼表示。②邏輯移位:把移位的操作數(shù)當(dāng)作無(wú)符號(hào)數(shù),左移、右移的空出位都補(bǔ)0。2023/2/5116③循環(huán)移位:移出位又移入最高(最低)位。帶進(jìn)位循環(huán)(大循環(huán)):進(jìn)位位C與數(shù)據(jù)部分一起循環(huán)。不帶進(jìn)位循環(huán)(小循環(huán)):進(jìn)位位C不與數(shù)據(jù)部分一起循環(huán)。循環(huán)移位一般用于實(shí)現(xiàn)循環(huán)式控制、高低字節(jié)的互換或用于實(shí)現(xiàn)多倍字長(zhǎng)數(shù)據(jù)的算術(shù)移位或邏輯移位。2023/2/5117算術(shù)和邏輯移位指令還可用于實(shí)現(xiàn)簡(jiǎn)單的乘除運(yùn)算。移位指令的這個(gè)性質(zhì),對(duì)于沒(méi)有乘除運(yùn)算指令的計(jì)算機(jī)特別重要。移位指令的執(zhí)行時(shí)間比乘除指令的執(zhí)行時(shí)間短,因此采用移位指令實(shí)現(xiàn)簡(jiǎn)單的乘除運(yùn)算可獲得較高速度。2023/2/51185.3.4堆棧操作指令堆棧操作指令是一種特殊的數(shù)據(jù)傳送指令。堆棧操作有兩種:①壓入(進(jìn)棧)指令:把指定的操作數(shù)送入棧頂。SP←SP減量,(SP)←數(shù)據(jù)②彈出(退棧、出棧)指令:從棧頂彈出數(shù)據(jù),送到指令指定的目的地址中。目的←(SP),SP←SP增量2023/2/5119例:8086的指令系統(tǒng)中進(jìn)棧指令:PUSHAXSP←SP-1,(SP)←AH,SP←SP-1,(SP)←AL出棧指令:POPAXAL←(SP),SP←SP+1,AH←(SP),SP←SP+1低地址ALAH高地址SPSP-1SP-1低地址ALAH高地址SP+1SP+1SPALAH2023/2/5120在一般的計(jì)算機(jī)中,堆棧操作指令主要用來(lái)保存和恢復(fù)中斷、子程序調(diào)用時(shí)的現(xiàn)場(chǎng)數(shù)據(jù)和斷點(diǎn)指令地址,也用于子程序調(diào)用時(shí)的參數(shù)傳遞。為了支持這些功能的快速實(shí)現(xiàn),有些機(jī)器還設(shè)有多數(shù)據(jù)的壓入指令和彈出指令,可以用一條堆棧操作指令依次把多個(gè)數(shù)據(jù)壓入或彈出堆棧。2023/2/51215.3.5字符串處理指令字符串處理指令是用于進(jìn)行非數(shù)值數(shù)據(jù)處理的指令。一般包括字符串傳送、字符串比較、字符串查找、字符串抽取、字符串轉(zhuǎn)換等指令。字符串傳送指令:將數(shù)據(jù)塊從主存的某一區(qū)域傳送到另一區(qū)域。字符串比較指令:把一個(gè)字符串與另一個(gè)字符串逐個(gè)字符進(jìn)行比較。字符串查找指令:在一個(gè)字符串中查找指定的子串或字符。2023/2/5122字符串提取指令:從字符串中提取某一子串。字符串轉(zhuǎn)換指令:從一種數(shù)據(jù)編碼轉(zhuǎn)換為另一種編碼。例:8086指令MOVS;串傳送指令LODS;串讀入指令STOS;串存儲(chǔ)指令字符串處理指令在需要對(duì)大量字符串進(jìn)行各種處理的文字編輯和排版方面非常有用。2023/2/51235.3.6程序控制指令程序控制指令用于控制程序運(yùn)行的順序和選擇程序的運(yùn)行方向。程序控制指令使程序具有測(cè)試、分析與判斷的能力。主要包括轉(zhuǎn)移指令、循環(huán)控制指令及子程序調(diào)用與返回指令。2023/2/51241.轉(zhuǎn)移指令轉(zhuǎn)移指令用于控制程序轉(zhuǎn)到指定地址繼續(xù)執(zhí)行。⑴無(wú)條件轉(zhuǎn)移指令無(wú)條件轉(zhuǎn)移指令又稱(chēng)必轉(zhuǎn)指令、跳轉(zhuǎn)指令。這類(lèi)轉(zhuǎn)移指令在執(zhí)行時(shí)不受任何條件的約束,直接把控制轉(zhuǎn)移到指令指定的轉(zhuǎn)向地址。⑵條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令的執(zhí)行受到一定條件的約束。條件轉(zhuǎn)移指令在執(zhí)行時(shí),只有在條件滿足的情況下,才會(huì)執(zhí)行轉(zhuǎn)移操作,把控制轉(zhuǎn)移到指令指定的轉(zhuǎn)向地址;若條件不滿足,則不執(zhí)行轉(zhuǎn)移操作,程序仍按原順序繼續(xù)執(zhí)行。

2023/2/5125條件轉(zhuǎn)移指令是最基本的轉(zhuǎn)移指令,它的執(zhí)行受一定條件的約束。條件轉(zhuǎn)移指令使計(jì)算機(jī)具有很強(qiáng)的邏輯判斷能力,這是計(jì)算機(jī)實(shí)現(xiàn)地址轉(zhuǎn)移,能高度自動(dòng)化工作的關(guān)鍵。條件轉(zhuǎn)移指令轉(zhuǎn)移的條件一般是前次運(yùn)算的某些結(jié)果特征。在計(jì)算機(jī)CPU中通常設(shè)置一個(gè)狀態(tài)寄存器(或條件碼寄存器),用以記錄所執(zhí)行的算術(shù)邏輯運(yùn)算指令、移位指令等的結(jié)果標(biāo)志。這些標(biāo)志主要包括:進(jìn)位標(biāo)志(C)、結(jié)果溢出標(biāo)志(V)、結(jié)果為零標(biāo)志(Z)、結(jié)果為負(fù)標(biāo)志(N)及結(jié)果奇偶標(biāo)志(P)等。這些標(biāo)志的組合,可以產(chǎn)生十幾種條件轉(zhuǎn)移,如結(jié)果為零轉(zhuǎn)、非零轉(zhuǎn)、為負(fù)轉(zhuǎn)、為正轉(zhuǎn)、溢出轉(zhuǎn)、非溢出轉(zhuǎn)等。2023/2/5126轉(zhuǎn)移指令的轉(zhuǎn)移地址一般采用相對(duì)尋址或直接尋址。相對(duì)尋址:轉(zhuǎn)移地址為當(dāng)前PC內(nèi)容與位移量之和。直接尋址:轉(zhuǎn)移地址由指令中地址碼直接給出。例:Inter8086指令系統(tǒng)中的轉(zhuǎn)移指令JMPL1

;直接尋址的轉(zhuǎn)移,無(wú)條件轉(zhuǎn)移到L1處

JNZ50H

;相對(duì)尋址的轉(zhuǎn)移。若操作結(jié)果不為

0,則轉(zhuǎn)移到當(dāng)前PC+50H處。設(shè)指

令地址為1000H,則當(dāng)前PC=1002H,

轉(zhuǎn)移地址為:

1002H+50H=1052H2023/2/5127JCABH

;相對(duì)尋址的轉(zhuǎn)移。若操作結(jié)果有

進(jìn)位,則轉(zhuǎn)移到當(dāng)前PC+ABH處。

設(shè)指令地址為1000H,則當(dāng)前PC為:

PC=1002H,轉(zhuǎn)移地址為:

1002H+FFABH=0FABH2023/2/5128循環(huán)控制指令用于支持循環(huán)程序的執(zhí)行。循環(huán)控制指令實(shí)際上是一種增強(qiáng)型的條件轉(zhuǎn)移指令。循環(huán)控制指令的功能包括循環(huán)控制變量的修改、測(cè)試判斷和轉(zhuǎn)移等。例:Intel8086指令系統(tǒng)中的循環(huán)控制指令。LOOPL1

;CX←CX-1,

;如果CX≠0,則轉(zhuǎn)到L1處繼續(xù)執(zhí)行;

;如果CX=0,則結(jié)束循環(huán)。2.循環(huán)控制指令2023/2/5129子程序:一組可以公用的指令序列,只要給出子程序的入口地址就能從主程序轉(zhuǎn)入子程序。在程序的執(zhí)行過(guò)程中,當(dāng)需要執(zhí)行子程序時(shí),可以在主程序中發(fā)出調(diào)用子程序的指令,給出子程序的入口地址,控制程序的執(zhí)行序列從主程序轉(zhuǎn)入子程序;而當(dāng)子程序執(zhí)行完畢后,可以利用返回主程序的指令,使程序重新返回主程序的發(fā)出子程序調(diào)用命令的地方繼續(xù)順序執(zhí)行。

3.子程序調(diào)用與返回指令2023/2/5130子程序的入口地址:子程序第一條指令的地址。子程序調(diào)用指令(轉(zhuǎn)子指令、過(guò)程調(diào)用指令):用于從主程序轉(zhuǎn)向子程序的指令。返回指令:從子程序返回主程序的指令。在轉(zhuǎn)子指令中要給出子程序的入口地址;為了執(zhí)行返回指令時(shí),能夠正確返回主程序,轉(zhuǎn)子指令應(yīng)具有保護(hù)斷點(diǎn)的功能。斷點(diǎn):主程序的返回地址。即轉(zhuǎn)子指令的下一條指令的地址。2023/2/5131執(zhí)行轉(zhuǎn)子指令時(shí),保存斷點(diǎn)常用的方式:①存放在子程序第一條指令的前一個(gè)字單元。②保存在某一約定的寄存器中。③壓入堆棧。將斷點(diǎn)壓入堆棧是保護(hù)斷點(diǎn)的最好方法,它便于實(shí)現(xiàn)多重轉(zhuǎn)子和遞歸調(diào)用,因而被很多指令系統(tǒng)所采用。Intel8086采用堆棧保存返回地址。它設(shè)置了子程序調(diào)用指令CALL和返回指令RET。CALL指令把下一條指令的地址(返回地址)壓入堆棧,RET指令從堆棧中取出該地址并返回該地址繼續(xù)執(zhí)行。轉(zhuǎn)子指令和返回指令也可以是帶條件的,條件轉(zhuǎn)子和條件返回其條件與轉(zhuǎn)移指令的條件相類(lèi)似。2023/2/5132KCALLAK+1…AMOVA+1…RETSP-2K+1LK+1HSP堆棧子程序主程序2023/2/5133轉(zhuǎn)子指令與轉(zhuǎn)移指令的區(qū)別轉(zhuǎn)移指令的功能是轉(zhuǎn)移到指令給出的轉(zhuǎn)移地址處去執(zhí)行指令,一般用于同一程序內(nèi)的轉(zhuǎn)移,轉(zhuǎn)移后不需要返回原處,因此不需要保存返回地址。轉(zhuǎn)子指令的功能是轉(zhuǎn)去執(zhí)行一段子程序,實(shí)現(xiàn)的是不同程序之間的轉(zhuǎn)移。因?yàn)樽映绦驁?zhí)行完后必須返回主程序,所以轉(zhuǎn)子指令必須以某種方式保存返回地址,以便返回時(shí)能正確返回到主程序原來(lái)的位置。

2023/2/51344.陷阱指令

陷阱:一種意外事故中斷。設(shè)置陷阱的目的是為了通知CPU所出現(xiàn)的故障,并根據(jù)故障情況,轉(zhuǎn)入相應(yīng)的故障處理程序。計(jì)算機(jī)的陷阱指令一般作為隱指令(即指令系統(tǒng)中不提供的指令),不提供給用戶直接使用,只有在出現(xiàn)意外故障時(shí),由CPU自動(dòng)產(chǎn)生并執(zhí)行。也有計(jì)算機(jī)在指令系統(tǒng)中設(shè)置了用戶可用的陷阱指令或“訪管”指令,便于用戶利用它來(lái)實(shí)現(xiàn)系統(tǒng)調(diào)用和程序請(qǐng)求。2023/2/5135例如,Intel8086的指令系統(tǒng)中提供了軟件中斷指令I(lǐng)NTn(n是8位二進(jìn)制常數(shù),用于表示中斷類(lèi)型),INTn是直接提供給用戶使用的陷阱指令,利用它可以實(shí)現(xiàn)系統(tǒng)調(diào)用和程序請(qǐng)求。

2023/2/51365.3.7輸入/輸出指令輸入/輸出指令是用于主機(jī)與外部設(shè)備之間進(jìn)行各種信息交換的指令。主機(jī)與外部設(shè)備之間交換的信息包括:①輸入/輸出的數(shù)據(jù)②主機(jī)向外部設(shè)備發(fā)出各種控制命令③外部設(shè)備的各種工作狀態(tài)2023/2/5137輸入/輸出指令的三種設(shè)置方式①外部設(shè)備采用單獨(dú)編碼的尋址方式并設(shè)置專(zhuān)用的I/O指令。由I/O指令的地址碼部分給出被選設(shè)備的設(shè)備碼(或端口地址),操作碼指定所要求的I/O操作。這種方式將I/O指令與其他指令區(qū)別對(duì)待,編寫(xiě)程序清晰;但因?yàn)镮/O指令通常較少,功能簡(jiǎn)單,如果需要對(duì)外設(shè)信息進(jìn)行復(fù)雜處理,則需要較多的指令才能實(shí)現(xiàn)。2023/2/5138例:NOVA機(jī)的I/O指令格式:設(shè)備碼:指定設(shè)備??刂谱侄危阂?guī)定啟動(dòng)或關(guān)閉設(shè)備碼指定的設(shè)備。OP:規(guī)定要求完成的I/O操作。011ACOP控制設(shè)備碼例:8086的I/O指令I(lǐng)NAL,80H;將80H號(hào)端口的內(nèi)容讀入ALOUT90H,AL;將AL的內(nèi)容寫(xiě)入90H號(hào)端口2023/2/5139②

外設(shè)與主存統(tǒng)一編址,用通用的數(shù)據(jù)傳送指令實(shí)現(xiàn)I/O操作。這種方式不用設(shè)置專(zhuān)用I/O指令,可以利用各類(lèi)指令對(duì)外設(shè)信息進(jìn)行進(jìn)行處理;但由于外設(shè)與主存統(tǒng)一編址,占用了主存的地址空間;而且較難分清程序中的I/O操作和訪存操作。③

通過(guò)I/O處理機(jī)執(zhí)行I/O操作。在這種方式下,CPU只需執(zhí)行幾條簡(jiǎn)單的I/O指令,如啟動(dòng)I/O設(shè)備、停止I/O設(shè)備、測(cè)試I/O設(shè)備等,而對(duì)I/O系統(tǒng)的管理、I/O操作控制等工作都由I/O處理機(jī)完成。這種方式能提高主機(jī)的效率,但必須在I/O處理機(jī)支持下才能實(shí)現(xiàn)。

2023/2/51405.3.8其它指令完成某種控制功能的指令,如停機(jī)、等待、空操作、開(kāi)中斷、關(guān)中斷、置條件碼以及特權(quán)指令等。

特權(quán)指令是指只能用于操作系統(tǒng)或其它系統(tǒng)軟件,而不提供給用戶使用的指令。在多任務(wù)、多用戶的計(jì)算機(jī)系統(tǒng)中,這種特權(quán)指令是不可缺少的。它主要用于系統(tǒng)資源分配與管理,包括改變系統(tǒng)工作方式、檢測(cè)用戶的訪問(wèn)權(quán)限、修改虛擬存儲(chǔ)器管理的段表、頁(yè)表以及完成進(jìn)程的創(chuàng)建與切換等。2023/2/51415.4CISC機(jī)和RISC機(jī)指令風(fēng)格

5.4.1復(fù)雜指令系統(tǒng)計(jì)算機(jī)CISC(ComplexInstructionSetComputer)復(fù)雜指令系統(tǒng)計(jì)算機(jī):具備龐大且復(fù)雜的指令系統(tǒng)的計(jì)算機(jī),簡(jiǎn)稱(chēng)CISC。

CISC的思想是靠增強(qiáng)指令的功能,增加指令系統(tǒng)的復(fù)雜程度來(lái)增強(qiáng)計(jì)算機(jī)的功能、提高計(jì)算機(jī)系統(tǒng)的性能。2023/2/5142CISC指令系統(tǒng)的特點(diǎn):(1)指令系統(tǒng)復(fù)雜龐大,指令數(shù)目一般多達(dá)200~300條。(2)指令格式多,指令字長(zhǎng)不固定,使用多種不同的尋址方式。(3)可訪存指令不受限制。(4)各種指令的執(zhí)行時(shí)間和使用頻率相差很大。(5)大多數(shù)采用微程序控制器。2023/2/5143由于CISC指令系統(tǒng)復(fù)雜,導(dǎo)致所需的硬件結(jié)構(gòu)復(fù)雜,這不僅增加了計(jì)算機(jī)的研制開(kāi)發(fā)周期和成本,而且也難以保證系統(tǒng)的正確性,有時(shí)甚至可能降低系統(tǒng)的性能。2023/2/5144經(jīng)過(guò)對(duì)CISC的各種指令在典型程序中使用頻率的測(cè)試分析,發(fā)現(xiàn)只有占指令系統(tǒng)20%的指令是常用的,并且這20%的指令大多屬于算/邏運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移、子程序調(diào)用等簡(jiǎn)單指令,而占80%的指令在程序中出現(xiàn)的概率只有20%左右。這一結(jié)果說(shuō)明花費(fèi)了大量代價(jià)增加的復(fù)雜指令,只能有20%左右的使用率,這將造成硬件資源的大量浪費(fèi)。2023/2/5145精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)RISC

(ReducedInstructionSetComputer)RISC技術(shù)希望用20%左右的簡(jiǎn)單指令來(lái)組合實(shí)現(xiàn)不常用的80%的指令,用一套精簡(jiǎn)的指令系統(tǒng)取代復(fù)雜的指令系統(tǒng),使機(jī)器結(jié)構(gòu)簡(jiǎn)化,以達(dá)到用簡(jiǎn)單指令提高機(jī)器性能和速度、提高機(jī)器的性能價(jià)格比的目的。

5.4.2精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)RISC

2023/2/5146一般CPU的執(zhí)行速度受程序中的指令總數(shù)I、平均指令執(zhí)行所需的時(shí)鐘周期數(shù)CPI和每個(gè)時(shí)鐘周期的時(shí)間T三個(gè)因素的影響。CPU執(zhí)行程序所需的時(shí)間TCPU為:

TCPU=I×CPI×T顯然,減小I、CPI和T就能有效地減少CPU的執(zhí)行時(shí)間,提高程序執(zhí)行的速度。RISC技術(shù)主要從簡(jiǎn)化指令系統(tǒng),優(yōu)化硬件設(shè)計(jì)的角度來(lái)提高系統(tǒng)的性能與速度。2023/2/5147RISC指令系統(tǒng)的主要特點(diǎn)(1)選取使用頻率高的簡(jiǎn)單指令以及很有用但又不復(fù)雜的指令組成指令系統(tǒng)。(2)指令數(shù)目較少,指令長(zhǎng)度固定,指令格式少,尋址方式種類(lèi)少。(3)采用流水線技術(shù),大多數(shù)指令可在一個(gè)時(shí)鐘周期內(nèi)完成;特別是在采用了超標(biāo)量和超流水技術(shù)后,可使指令的平均執(zhí)行時(shí)間小于一個(gè)時(shí)鐘周期。

(4)使用較多的通用寄存器以減少訪存。

2023/2/5148(5)以寄存器—寄存器方式工作,只有取數(shù)/存數(shù)(LOAD/STORE)指令訪問(wèn)存儲(chǔ)器,其余指令的操作都在寄存器之間進(jìn)行。(6)控制器以組合邏輯控制為主,不用或少用微程

溫馨提示

  • 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)論