




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章第五章LC-3結(jié)構(gòu)結(jié)構(gòu)2Problem SpecificationAlgorithm ProgramISA (Instruction Set Architecture)microArchitectureLogicTransistorsPhysics/Chemistrycompute the fibonacci sequencefor(i=2; i100; i+) ai = ai-1+ai-2;load r1, ai;add r2, r2, r1;registersABSFGDSGSD計算機系統(tǒng)的抽象層次抽象層次抽象層次 本章通過一個簡單的計算機系統(tǒng)實例本章通過一個簡單的計算機系統(tǒng)實例LC
2、-3給大家介紹更高給大家介紹更高的抽象層次的抽象層次ISA(指令集結(jié)構(gòu))(指令集結(jié)構(gòu)). ISA為為機器語言程序員機器語言程序員提供了有關(guān)控制機器所需要所有必提供了有關(guān)控制機器所需要所有必要信息?;蚪o要信息?;蚪o高級語言編譯器開發(fā)者高級語言編譯器開發(fā)者提供將高級語言轉(zhuǎn)換成機提供將高級語言轉(zhuǎn)換成機器代碼的必要信息。器代碼的必要信息。 ISA是計算機硬件和軟件的分界面是計算機硬件和軟件的分界面.5-35-4Instruction Set Architecture(ISA):指令集結(jié)構(gòu)指令集結(jié)構(gòu)ISA = 向以機器語言編程的程序員提供有關(guān)控制機器所需向以機器語言編程的程序員提供有關(guān)控制機器所需要的所
3、有必要信息要的所有必要信息 。包括內(nèi)存組織方式、寄存器組、指令。包括內(nèi)存組織方式、寄存器組、指令集等信息。集等信息。內(nèi)存組織方式內(nèi)存組織方式 尋址空間尋址空間 有多少個存儲空間有多少個存儲空間? 尋址能力尋址能力 每個存儲空間有多少位每個存儲空間有多少位?寄存器組寄存器組 有多少有多少? 存儲數(shù)據(jù)長度存儲數(shù)據(jù)長度? 怎么使用怎么使用?指令集指令集 操作碼操作碼 數(shù)據(jù)類型數(shù)據(jù)類型 尋址模式尋址模式5-5LC-3 Overview: 內(nèi)存組織和寄存器內(nèi)存組織和寄存器內(nèi)存組織內(nèi)存組織 尋址空間尋址空間: 216 個存儲單元個存儲單元 (16位地址位地址) 尋址能力尋址能力: 16 bits寄存器組寄
4、存器組 提供一個快速的臨時存儲空間提供一個快速的臨時存儲空間, 通??稍谝粋€機器周期的時間訪問到通??稍谝粋€機器周期的時間訪問到訪問存儲器的時間往往遠大于一個機器周期的時間訪問存儲器的時間往往遠大于一個機器周期的時間 8個通用寄存器個通用寄存器: R0 - R7每個可存儲數(shù)據(jù)寬度為每個可存儲數(shù)據(jù)寬度為16 bits寄存器編址需要多少位二進制?寄存器編址需要多少位二進制? 其它寄存器其它寄存器程序員不能直接訪問,被指令使用或影響程序員不能直接訪問,被指令使用或影響PC (program counter), condition codes,MDR,MAR5-6LC-3 Overview: 指令集指
5、令集操作碼操作碼 15 個操作碼個操作碼(P79) 邏輯和運算指令邏輯和運算指令: ADD(0001), AND(0101), NOT(1001)(助記符)(助記符) 數(shù)據(jù)搬移指令數(shù)據(jù)搬移指令: LD(0010), LDI(1010), LDR(0110), LEA(1110), ST(0011), STR(0111), STI(1011) 控制指令控制指令: BR(0000), JSR/JSRR(0100), JMP(1100), RTI(1000), TRAP(1111) 目的操作數(shù)為寄存器的指令會根據(jù)寫入寄存器的值設(shè)置條件碼目的操作數(shù)為寄存器的指令會根據(jù)寫入寄存器的值設(shè)置條件碼N = 寫
6、入值為負寫入值為負( 0)組合組合 NZ(=0)/NP(0)/NZP(?)數(shù)據(jù)類型數(shù)據(jù)類型: 16位定點補碼整數(shù)位定點補碼整數(shù)尋址方式:尋址方式:指令中指示參與運算操作數(shù)存儲位置的方法指令中指示參與運算操作數(shù)存儲位置的方法 非內(nèi)存尋址(操作數(shù)不在內(nèi)存中)非內(nèi)存尋址(操作數(shù)不在內(nèi)存中) : 直接尋址(操作數(shù)在指令中)直接尋址(操作數(shù)在指令中), 寄存器尋址(操作數(shù)在寄存器中)寄存器尋址(操作數(shù)在寄存器中) 內(nèi)存尋址(操作數(shù)在內(nèi)存中)內(nèi)存尋址(操作數(shù)在內(nèi)存中) : PC-相對相對, 間接間接, 基址基址+偏移偏移 條件碼條件碼(NZP 邏輯:只有寫寄存器的指令才影響邏輯:只有寫寄存器的指令才影響N
7、ZP標志標志)5-75-8運算指令運算指令LC-3只支持三個運算指令只支持三個運算指令: ADD, AND, NOT實現(xiàn)特點:實現(xiàn)特點:源操作數(shù)和目的操作數(shù)都是寄存器源操作數(shù)和目的操作數(shù)都是寄存器 這些指令的操作數(shù)不能夠直接使用在內(nèi)存的數(shù)據(jù)這些指令的操作數(shù)不能夠直接使用在內(nèi)存的數(shù)據(jù). ADD and AND 可以支持可以支持“立即數(shù)立即數(shù)”模式模式,一個源操作數(shù)可以直接在指令中給出一個源操作數(shù)可以直接在指令中給出. 內(nèi)存中的數(shù)參與運算需要利用數(shù)據(jù)搬移指令實現(xiàn)搬移到寄存器中,運算內(nèi)存中的數(shù)參與運算需要利用數(shù)據(jù)搬移指令實現(xiàn)搬移到寄存器中,運算結(jié)果也需要利用數(shù)據(jù)搬移指令搬移回內(nèi)存中結(jié)果也需要利用數(shù)據(jù)
8、搬移指令搬移回內(nèi)存中Will show dataflow diagram with each instruction. illustrates when and where data moves to accomplish the desired operation5-9NOT (SRC/DST兩個操作數(shù)必須是寄存器兩個操作數(shù)必須是寄存器)Note: Src 和 Dst可以是同一個寄存器NOT R2,R3NOT R2,R21001 010 011 1111111001 010 010 1111115-10ADD/AND (寄存器模式寄存器模式)為0指示“register mode”Note:
9、Src1/2 和 Dst可以是同一個寄存器ADD R1,R2,R3Note: 寄存器模式,兩個源操作數(shù)和1個目的操作數(shù)都為寄存器。ADD R1,R1,R3ADD R1,R1,R10001 001 010 000 0115-11ADD/AND (立即數(shù)模式立即數(shù)模式)Note: 指令提供的立即數(shù)為5位,參與運算需要符號擴展到16位為1指示 “immediate mode”Note: 立即數(shù)模式,src2為在指令中直接提供的5位補碼整數(shù)。ADD R1,R2,#5AND R1,R1,#15-12運算指令的使用運算指令的使用只使用只使用ADD, AND, NOT 怎么做減法怎么做減法? 怎么實現(xiàn)怎么實
10、現(xiàn) OR操作操作? 怎么把一個寄存器的值賦給另外一個怎么把一個寄存器的值賦給另外一個? 怎么初始化一個寄存器的值為怎么初始化一個寄存器的值為0?5-13數(shù)據(jù)搬移指令數(shù)據(jù)搬移指令Load 從內(nèi)存中讀數(shù)據(jù)到寄存器中從內(nèi)存中讀數(shù)據(jù)到寄存器中 按內(nèi)存數(shù)的尋址方式不同可分為:按內(nèi)存數(shù)的尋址方式不同可分為: LD: PC-相對尋址模式相對尋址模式 LDR: 寄存器基址寄存器基址+偏移模式偏移模式 LDI: 間接尋址模式間接尋址模式Store 寫寄存器值到內(nèi)存寫寄存器值到內(nèi)存 按內(nèi)存數(shù)的尋址方式不同可分為:按內(nèi)存數(shù)的尋址方式不同可分為: ST: PC-相對尋址模式相對尋址模式 STR:寄存器基址寄存器基址+
11、偏移模式偏移模式 STI: 間接尋址模式間接尋址模式LEA - 計算操作數(shù)的有效地址,存放到寄存器計算操作數(shù)的有效地址,存放到寄存器 LEA: 用立即數(shù)的方式給出操作數(shù)相對用立即數(shù)的方式給出操作數(shù)相對PC的偏移的偏移 LEA指令不訪存指令不訪存 5-14PC相對尋址模式相對尋址模式 LC-3指令長度指令長度16位,內(nèi)存地址長度位,內(nèi)存地址長度16位,能在指令中直接位,能在指令中直接給出內(nèi)存數(shù)的有效地址嗎?給出內(nèi)存數(shù)的有效地址嗎? 16位指令中操作碼占用位指令中操作碼占用4 bits,一個目的寄存器需要占用,一個目的寄存器需要占用 3 bits ,只剩,只剩下下9位來編碼地址了位來編碼地址了 不
12、可能直接給出不可能直接給出16位地址位地址! 怎么解決怎么解決解決方法解決方法: 利用利用PC寄存器寄存器 剩下的剩下的 9 bits 用來表示數(shù)據(jù)地址和用來表示數(shù)據(jù)地址和 PC的偏移量的偏移量(offset). 數(shù)據(jù)有效地址為數(shù)據(jù)有效地址為PC+offset 局限性:局限性:9 bits:數(shù)據(jù)的地址范圍為:數(shù)據(jù)的地址范圍為: 注意:注意:PC不是當前指令的地址,而是下一條指令的地址不是當前指令的地址,而是下一條指令的地址255offset256255PCX256PC5-15LD (PC-Relative)x30F60 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 x3000指令
13、訪問x3100?5-16ST (PC-Relative)x30F60 0 1 1 0 0 1 0 0 0 0 0 0 0 0 15-17(基于(基于PC的)間接尋址模式的)間接尋址模式LC-3的的PC相對尋址模式相對尋址模式, 只能訪問只能訪問PC前或后前或后256的內(nèi)的內(nèi)存單元存單元 剩下的內(nèi)存怎么訪問剩下的內(nèi)存怎么訪問? 解決方案解決方案 #1: 在在PC相對尋址能訪問到的內(nèi)存單元存放一個相對尋址能訪問到的內(nèi)存單元存放一個16位位地址(不是數(shù)據(jù)了)地址(不是數(shù)據(jù)了).先讀取這個地址,然后以這先讀取這個地址,然后以這個地址去訪問內(nèi)存。個地址去訪問內(nèi)存。 類似類似C語言的指針語言的指針5-18
14、LDI (間接尋址間接尋址)5-19STI (間接尋址間接尋址)5-20(寄存器)基址偏移尋址模式(寄存器)基址偏移尋址模式LC-3的的PC相對尋址模式相對尋址模式, 只能訪問只能訪問PC前或后前或后256的內(nèi)存單元的內(nèi)存單元 剩下的內(nèi)存怎么訪問剩下的內(nèi)存怎么訪問? 解決方法解決方法 #2: 利用寄存器存放一個利用寄存器存放一個16位地址位地址.偏移以立即數(shù)形式存放在指令中偏移以立即數(shù)形式存放在指令中 類似類似C語言的數(shù)組。語言的數(shù)組。int a10; *(a+2)指令編碼:指令編碼: 操作碼占用操作碼占用4 bits, 寄存器占用寄存器占用3bits ,基址寄存器占用,基址寄存器占用3 bi
15、ts剩下6bits可用作偏移。 基址寄存器中如何設(shè)置基址寄存器中如何設(shè)置16位地址位地址? LD、LEA31offset325-21LDR (基址偏移尋址模式基址偏移尋址模式)5-22STR (基址偏移尋址模式基址偏移尋址模式)5-23LEA :Load Effective Address 計算有效地址計算有效地址計算操作數(shù)的有效地址,存放到寄存器計算操作數(shù)的有效地址,存放到寄存器 LEA: 用立即數(shù)的方式給出操作數(shù)相對用立即數(shù)的方式給出操作數(shù)相對PC的偏移的偏移(9bits) 計算方法:計算方法:PC+offset -寄存器寄存器 LEA指令不訪存指令不訪存 Note: 寄存器里面存放的是地
16、址寄存器里面存放的是地址,而不是內(nèi)存單元而不是內(nèi)存單元存放的數(shù)據(jù)。存放的數(shù)據(jù)。應(yīng)用應(yīng)用:訪問連續(xù)的數(shù)據(jù)區(qū)域訪問連續(xù)的數(shù)據(jù)區(qū)域,用用LEA 指令得到數(shù)據(jù)區(qū)域指令得到數(shù)據(jù)區(qū)域的起始地址的起始地址,然后用然后用LDR指令訪問指令訪問.5-24LEA (Immediate)5-25ExampleAddressInstructionCommentsx30F61 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 x30F70 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 x30F80 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 x30F90 1 0 1 0 1 0
17、0 1 0 1 0 0 0 0 0 x30FA0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 x30FB0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 x30FC1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 opcodeLEAADDSTANDADDSTRLDIR3 MMx30F4R3 Mx3102R3 5MR1+14 R2Mx3102 5R1 PC 3 = x30F4R2 R1 + 14 = x3102MPC - 5 R2Mx30F4 x3102R2 0R2 R2 + 5 = 55-26控制指令控制指令通過更新通過更新PC,改變程序執(zhí)行順序,改
18、變程序執(zhí)行順序條件跳轉(zhuǎn)條件跳轉(zhuǎn) 跳轉(zhuǎn)到分支僅當指定的條件成立跳轉(zhuǎn)到分支僅當指定的條件成立更新更新PC到分支地址,通過在當前的到分支地址,通過在當前的PC值加一個偏移實現(xiàn)值加一個偏移實現(xiàn) 否則否則, 不跳轉(zhuǎn)到分支不跳轉(zhuǎn)到分支PC 不改變,順序執(zhí)行下一條指令不改變,順序執(zhí)行下一條指令無條件跳轉(zhuǎn)無條件跳轉(zhuǎn)(直接跳轉(zhuǎn)直接跳轉(zhuǎn)) PC值肯定被改變到目標地址值肯定被改變到目標地址TRAP(陷入指令)(陷入指令) 改變改變PC 到操作系統(tǒng)提供的服務(wù)子程序的入口地址。到操作系統(tǒng)提供的服務(wù)子程序的入口地址。 “service routine” 服務(wù)子程序完成后返回到服務(wù)子程序完成后返回到TRAP指令后一條程序代
19、碼繼續(xù)執(zhí)行。指令后一條程序代碼繼續(xù)執(zhí)行。5-27條件碼條件碼LC-3 有有3個個1位的條件碼寄存器,由最近寫入的寄存器值確定位的條件碼寄存器,由最近寫入的寄存器值確定N negative(0)Z zero (=0)P - positive (0)N Z P 同一時刻只有一個標志位會改變同一時刻只有一個標志位會改變 由最近寫入的寄存器值確定由最近寫入的寄存器值確定 任何一條寫寄存器的指令都會改變條件碼任何一條寫寄存器的指令都會改變條件碼(ADD, AND, NOT, LD, LDR, LDI, LEA) Store指令和控制指令不改變條件碼指令和控制指令不改變條件碼AND R1,R1,#0 NO
20、TR1,R1 NOT R1,R1 x3000:LEA R1,PC+25ADD R1,R1,#-1ADD R1,R1,#155-285-29條件跳轉(zhuǎn)指令條件跳轉(zhuǎn)指令在跳轉(zhuǎn)指令中指示需要檢測哪個條件碼在跳轉(zhuǎn)指令中指示需要檢測哪個條件碼(IR11:9)(可以是一個(可以是一個或者多個),如果指定的條件碼成立,則跳轉(zhuǎn),否則不跳轉(zhuǎn)?;蛘叨鄠€),如果指定的條件碼成立,則跳轉(zhuǎn),否則不跳轉(zhuǎn)。 目標地址采用了目標地址采用了PC相對尋址相對尋址target address = PC + offset (IR8:0) Note: PC不是當前指令地址,而是下一條指令的地址。不是當前指令地址,而是下一條指令的地址。
21、Note: 只能跳轉(zhuǎn)到跳轉(zhuǎn)指令的前只能跳轉(zhuǎn)到跳轉(zhuǎn)指令的前255條指令或后條指令或后256條指令。條指令。 Note: 必須和上一條會修改寄存器的指令配合使用必須和上一條會修改寄存器的指令配合使用Ex: X3100: 0001 001 001 1 11111 X3101 : 0000 010 0000 00100 5-30BR (PC相對尋址相對尋址)What happens if bits 11:9 are all zero? All one?指令助記: BRn /BRz /BRp /BRnzp /BRnz /BRnp /BRzp應(yīng)用應(yīng)用-discussion5-311 判斷判斷 r0的值是否
22、為的值是否為5, 等于等于5則跳轉(zhuǎn)。則跳轉(zhuǎn)。2判斷判斷R0的值的值5,=5,5 ,40跳轉(zhuǎn)跳轉(zhuǎn)4比較比較R0,R1是否相等跳轉(zhuǎn)是否相等跳轉(zhuǎn)5-32跳轉(zhuǎn)指令的應(yīng)用:循環(huán)控制跳轉(zhuǎn)指令的應(yīng)用:循環(huán)控制計算計算12個整數(shù)的和:個整數(shù)的和:整數(shù)存放的起始地址:整數(shù)存放的起始地址:x3100. 程序起始地址:程序起始地址: x3000。R1 x3100R3 0R2 12R2=0?R4 MR1R3 R3+R4R1 R1+1R2 R2-1NOYES5-33Sample ProgramAddressInstructionCommentsx30001 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1R1
23、 x3100 (PC+0 xFF)x30010 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0R3 0 x30020 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0R2 0 x30030 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0R2 12x30040 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1If Z, goto x300A (PC+5)x30050 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0Load next value to R4x30060 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1Add to R
24、3x30070 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1Increment R1 (pointer)X30080 0 0 1 0 1 0 0 1 0 1 1 1 1 1 1Decrement R2 (counter)x30090 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0Goto x3004 (PC-6)哨兵法:事前不確定循環(huán)次數(shù)哨兵法:事前不確定循環(huán)次數(shù)5-34計算若干個正整數(shù)的和:計算若干個正整數(shù)的和: 整數(shù)存放的起始地址:整數(shù)存放的起始地址:x3100,以一個負數(shù)結(jié)尾。,以一個負數(shù)結(jié)尾。 程序起始地址:程序起始地址: x3000。AddressInstr
25、uctionCommentsx30001 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1R1 x3100 (PC+0 xFF)x30010 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0R3 0 x30020 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0R4 MR1x30030 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0BRn 3008;x30040 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0R3 R3+R4x30050 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1R1 R1+1x30060 1 1 0 1 0
26、 0 0 0 1 0 0 0 0 0 0R4 MR1x30070 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1BRnzp x3003X3008haltx30095-35JMP (寄存器存放跳轉(zhuǎn)地址寄存器存放跳轉(zhuǎn)地址)JMP是一個絕對跳轉(zhuǎn)指令是一個絕對跳轉(zhuǎn)指令 總是跳轉(zhuǎn)總是跳轉(zhuǎn) 跳轉(zhuǎn)的目標地址存放在寄存器中跳轉(zhuǎn)的目標地址存放在寄存器中 寄存器可以存放寄存器可以存放16位地址。可以跳轉(zhuǎn)到任何地方。位地址??梢蕴D(zhuǎn)到任何地方。 條件跳轉(zhuǎn)是有局限性的:條件跳轉(zhuǎn)是有局限性的:-256到到+2555-36TRAP:調(diào)用系統(tǒng)服務(wù)程序:調(diào)用系統(tǒng)服務(wù)程序調(diào)用系統(tǒng)服務(wù)程序調(diào)用系統(tǒng)服務(wù)程序,服務(wù)程序由
27、服務(wù)程序由 8-bit “trap vector”指定,總指定,總共支持共支持256個服務(wù)程序。個服務(wù)程序。調(diào)用結(jié)束后調(diào)用結(jié)束后, PC被設(shè)置成當前被設(shè)置成當前TRAP 指令的下一條。指令的下一條。(具體原理后面會討論具體原理后面會討論) x3100: 1111 0000 0010 0101vectorroutinex23input a character from the keyboard to R0 x21output a character in R0 to the monitorx25halt the program5-37例子:字符數(shù)統(tǒng)計例子:字符數(shù)統(tǒng)計計算一個文件中特定字符出現(xiàn)的次
28、數(shù)計算一個文件中特定字符出現(xiàn)的次數(shù) 程序開始地址程序開始地址: x3000 從鍵盤讀入要統(tǒng)計次數(shù)的字符從鍵盤讀入要統(tǒng)計次數(shù)的字符 從文件從文件( “file”)中讀取字符中讀取字符程序中的”文件”概念是指一個連續(xù)的內(nèi)存存儲區(qū)域文件的開始地址緊鄰在程序代碼的存儲區(qū)域之后 文件中存在和輸入字符相同的字符則計數(shù)器文件中存在和輸入字符相同的字符則計數(shù)器+1 文件采用哨兵機制文件采用哨兵機制.結(jié)束標志為結(jié)束標志為 一個特殊的一個特殊的ASCII碼碼: EOT (x04) 程序結(jié)束輸出統(tǒng)計結(jié)果程序結(jié)束輸出統(tǒng)計結(jié)果(假定字符出現(xiàn)次數(shù)不超過10個, 方便輸出)5-38Flow ChartCount = 0(R
29、2 = 0)Ptr = 1st file character(R3 = Mx3012)Input charfrom keybd(TRAP x23)Done?(R1 ?= EOT)Load char from file(R1 = MR3)Match?(R1 ?= R0)Incr Count(R2 = R2 + 1)Load next char from file(R3 = R3 + 1, R1 = MR3)Convert count toASCII character(R0 = x30, R0 = R2 + R0)Print count(TRAP x21)HALT(TRAP x25)NONOYE
30、SYES5-39Program (1 of 2)AddressInstructionCommentsx30000 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0R2 0 (counter)x30010 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0R3 Mx3102 (ptr)x30021 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1Input to R0 (TRAP x23)x30030 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0R1 MR3x30040 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0R4 R1 4 (EOT)
31、x30050 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0If Z, goto x300Ex30061 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1R1 NOT R1x30070 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1R1 R1 + 1X30080 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0R1 R1 + R0 x30090 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1If N or P, goto x300B5-40Program (2 of 2)AddressInstructionCommentsx300A0 0
32、 0 1 0 1 0 0 1 0 1 0 0 0 0 1R2 R2 + 1x300B0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 1R3 R3 + 1x300C0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0R1 MR3x300D0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0Goto x3004x300E0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0R0 Mx3013x300F0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0R0 R0 + R2x30101 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1Pri
33、nt R0 (TRAP x21)x30111 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1HALT (TRAP x25)X3012Starting Address of Filex30130 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0ASCII x30 (0)5-41LC-3 總結(jié):數(shù)據(jù)通路總結(jié):數(shù)據(jù)通路實心箭頭:待處理信息空心箭頭:控制信號5-42數(shù)據(jù)通路的基本部件數(shù)據(jù)通路的基本部件全局總線全局總線 一組一組16位信號線:用于部件之間數(shù)據(jù)通信位信號線:用于部件之間數(shù)據(jù)通信 只有一個總線,多個部件用。只有一個總線,多個部件用。 總線連接的輸入設(shè)備為總線連接的輸入設(shè)備為“三態(tài)設(shè)備三態(tài)設(shè)備”只有被允許時才能使用總線進行傳輸只有被允許時才能使用總線進行傳輸, 平時為懸浮態(tài)。平時為懸浮態(tài)。 任何時刻只有一個輸入被任何時刻只有一個輸入被“使能使能”,即被允許使用總線,即被允許使用總線由控制器統(tǒng)一決定當前哪個輸入由控制器統(tǒng)一決定當前哪個輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江國企招聘2024臺州溫嶺市金達建設(shè)有限公司招聘1人筆試參考題庫附帶答案詳解
- 【社招+校招】招232人江西國泰集團股份有限公司子公司2025年招聘筆試參考題庫附帶答案詳解
- 地質(zhì)安全知識培訓(xùn)課件
- 交互英語知到智慧樹章節(jié)測試課后答案2024年秋麗水學(xué)院
- 2025寧夏銀川威力傳動技術(shù)股份有限公司招聘811人筆試參考題庫附帶答案詳解
- 2025中國航空集團有限公司飛行員招募筆試參考題庫附帶答案詳解
- 2025年上半年信陽浉河區(qū)五星辦事處招考治安巡防隊員易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年佛山市職業(yè)病防治所招考輔助服務(wù)雇員易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年人民日報社校園招聘72人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年云南省楚雄州事業(yè)單位招考易考易錯模擬試題(共500題)試卷后附參考答案
- 建筑消防性能化設(shè)計評估課件
- DB32T4220-2022消防設(shè)施物聯(lián)網(wǎng)系統(tǒng)技術(shù)規(guī)范-(高清版)
- (新版)老年人健康管理理論考試題庫(含答案)
- 感應(yīng)加熱操作規(guī)程
- 煤氣設(shè)施安全檢查表(修訂)
- 二DNA的結(jié)構(gòu)和復(fù)制課件
- XX省血液調(diào)配管理辦法
- 微信開放平臺網(wǎng)站信息登記表
- 腦病科中醫(yī)疾病護理常規(guī)(精)
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- 壓力容器安全檢查表
評論
0/150
提交評論