數(shù)字電路與系統(tǒng) 課件 第9章 處理器系統(tǒng)_第1頁(yè)
數(shù)字電路與系統(tǒng) 課件 第9章 處理器系統(tǒng)_第2頁(yè)
數(shù)字電路與系統(tǒng) 課件 第9章 處理器系統(tǒng)_第3頁(yè)
數(shù)字電路與系統(tǒng) 課件 第9章 處理器系統(tǒng)_第4頁(yè)
數(shù)字電路與系統(tǒng) 課件 第9章 處理器系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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)介

第9章處理器系統(tǒng)4學(xué)時(shí)2025/7/231學(xué)習(xí)目標(biāo)與內(nèi)容學(xué)習(xí)目標(biāo)理解計(jì)算思維——計(jì)算機(jī)工作過(guò)程理解計(jì)算機(jī)組成,體系結(jié)構(gòu)了解存儲(chǔ)器結(jié)構(gòu)和作用學(xué)習(xí)內(nèi)容計(jì)算機(jī)思維——計(jì)算機(jī)如何工作處理器和處理器系統(tǒng)計(jì)算機(jī)的指令結(jié)構(gòu)指令的尋址方式處理器結(jié)構(gòu)和組成存儲(chǔ)器結(jié)構(gòu)、組成和作用2025/7/2329.1體系結(jié)構(gòu)體系結(jié)構(gòu):從需實(shí)現(xiàn)的功能和完成的操作出發(fā)。理解數(shù)據(jù)準(zhǔn)備、過(guò)程實(shí)施、時(shí)序控制、硬件協(xié)同、命令生成、指令抽象和分類(lèi)組織等整體硬件和軟件分工而又協(xié)作的過(guò)程計(jì)算任務(wù)進(jìn)行分解:粒度大小以處理器電路能實(shí)現(xiàn),如:加/減甚至乘/除運(yùn)算、數(shù)值比較、單次移位、數(shù)據(jù)寄存、數(shù)據(jù)搬移指令:硬件能實(shí)現(xiàn)的最復(fù)雜任務(wù),而軟件實(shí)現(xiàn)的最小操作通用性:代表性強(qiáng)、覆蓋面廣完備性:適當(dāng)組合(即編程),能實(shí)現(xiàn)任何運(yùn)算和任務(wù)處理編程,指令的有效編排,以完成運(yùn)算和信息處理算式如何完成F=(A+B)/(C-D)?處理器又該如何完成?2025/7/233完成F=(A+B)/(C-D)?先將A、B、C和D四個(gè)數(shù)據(jù)輸入可同時(shí)并行輸入,也可先后四次依次輸入處理器中需要設(shè)計(jì)輸入的端口PORT,存放數(shù)據(jù)的寄存器,如R0~R3。需要設(shè)計(jì)數(shù)據(jù)加載指令將數(shù)據(jù)A、B、C和D輸入到處理器的寄存器,如LDR0,A。涉及到數(shù)據(jù)載入、數(shù)據(jù)存儲(chǔ)和加載指令。運(yùn)算處理需要加法、減法、除法等運(yùn)算電路。以及表征該電路功能的加法指令、除法指令和減法指令等運(yùn)算指令A(yù)DDR0,R0,R1DIVR0,R0,R1SUBR2,R2,R3還需要緩存運(yùn)算后的結(jié)果,上式指令將運(yùn)算結(jié)果回存到其原始數(shù)據(jù)的寄存器中,覆蓋了原始數(shù)據(jù),寄存器得到了重復(fù)使用。2025/7/234完成F=(A+B)/(C-D)?結(jié)果輸出硬件輸出端口,表征輸出的指令。運(yùn)算結(jié)果暫存在R0中,需要將結(jié)果輸出使用,并釋放寄存器以便用于存儲(chǔ)其他數(shù)據(jù),如STROUT,R0.編程實(shí)現(xiàn)運(yùn)算式先進(jìn)行加/減,后進(jìn)行乘/除運(yùn)算。各個(gè)指令需要按運(yùn)算次序組織順序。在用處理器實(shí)現(xiàn)功能任務(wù)之前,需要將任務(wù)分解為能用處理器指令實(shí)現(xiàn)的具體步驟,即編程。處理器也需要實(shí)現(xiàn)功能完備的指令系統(tǒng),將各條指令的運(yùn)算處理功能用數(shù)字電路系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)出來(lái)。2025/7/2359.1.2處理器精簡(jiǎn)指令集處理器:按操作步驟最大共用性為原則

功能單一、指令編碼長(zhǎng)度一致、易于實(shí)現(xiàn)流水線處理。多數(shù)指令執(zhí)行的時(shí)間僅需單個(gè)時(shí)鐘周期、相同主頻和工藝情況下執(zhí)行速度比復(fù)雜指令集處理器更快。

運(yùn)算處理的數(shù)據(jù)和結(jié)果都在處理器內(nèi)部,存儲(chǔ)器中數(shù)據(jù)需要通過(guò)載入指令送到處理器的寄存器,才能進(jìn)行運(yùn)算。運(yùn)算結(jié)果需要執(zhí)行回存指令,才能保存在存儲(chǔ)器或外部設(shè)備中。尋址方式比復(fù)雜指令集處理器更少,尋址速度更快。電路系統(tǒng)為數(shù)字邏輯電路設(shè)計(jì)方法直接優(yōu)化設(shè)計(jì)的硬件電路,速度快、成本低、易于實(shí)現(xiàn)低功耗。多采用雙總線哈弗結(jié)構(gòu)并能同時(shí)訪問(wèn)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。2025/7/236指令集復(fù)雜指令集:按完整的功能實(shí)現(xiàn)為目標(biāo),所需功能都盡可能由單條指令實(shí)現(xiàn)指令數(shù)量多、指令編碼長(zhǎng)度不一致。指令執(zhí)行都需多個(gè)時(shí)鐘周期。

運(yùn)算處理的數(shù)據(jù)和結(jié)果可源于處理器內(nèi)部或處理器外部的存儲(chǔ)器,單條指令即可實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)的讀取、運(yùn)算、并回寫(xiě)結(jié)果到存儲(chǔ)器。單條指令的功能強(qiáng),尋址方式相對(duì)繁瑣。

處理器結(jié)構(gòu)常用微碼結(jié)構(gòu),構(gòu)建新指令相對(duì)簡(jiǎn)單。共用總線訪問(wèn)獲取程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,往往導(dǎo)致讀寫(xiě)成為瓶頸。2025/7/237處理器與系統(tǒng)處理器字長(zhǎng):任一時(shí)刻能同時(shí)傳送、處理的二進(jìn)制位數(shù)。字長(zhǎng)以字節(jié)(8位二進(jìn)制)為單位逐級(jí)翻倍,如16位,32位和64位處理器等。字長(zhǎng)決定了其指令的編碼長(zhǎng)度、能訪問(wèn)的存儲(chǔ)器空間大小、能處理的數(shù)值范圍等處理器系統(tǒng)處理器:控制器:指令譯碼

時(shí)序控制數(shù)據(jù)通路:運(yùn)算器、寄存器等存儲(chǔ)器:存儲(chǔ)體、譯碼、存/取控制數(shù)據(jù)存儲(chǔ)器:原始數(shù)據(jù)、運(yùn)算結(jié)果程序存儲(chǔ)器:程序代碼輸入/輸出電路:程序/數(shù)據(jù)的存取2025/7/238處理器系統(tǒng)結(jié)構(gòu)框圖ALUR處理器存儲(chǔ)器輸入/輸出計(jì)算機(jī)工作過(guò)程編好程序代碼,將其存入到相應(yīng)的存儲(chǔ)器中從存儲(chǔ)器中讀取程序的指令指令通過(guò)總線傳送到處理器中的指令譯碼器產(chǎn)生完成指令所需的各種信號(hào)信號(hào)實(shí)現(xiàn)處理器內(nèi)部的控制和運(yùn)算操作,處理器外部的控制,并得到結(jié)果。該條指令執(zhí)行完成依次讀取后續(xù)指令并依次執(zhí)行,直至執(zhí)行完整個(gè)程序?yàn)橹埂?025/7/239計(jì)算機(jī)體系結(jié)構(gòu)馮?洛伊曼結(jié)構(gòu)處理器、存儲(chǔ)器和輸入/輸出通過(guò)一套總線相連接;程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合并在一起;程序和數(shù)據(jù)只能分時(shí)訪問(wèn)。哈弗結(jié)構(gòu)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)設(shè)置;處理器提供兩套總線,一套用于程序存儲(chǔ)器的訪問(wèn),另一套用于數(shù)據(jù)存儲(chǔ)器的訪問(wèn);程序和數(shù)據(jù)可同時(shí)訪問(wèn)。2025/7/2310機(jī)器指令與編程計(jì)算機(jī)編程語(yǔ)言高級(jí)語(yǔ)言:抽象層次高、易于使用和編程,如C語(yǔ)言,Java語(yǔ)言和Python語(yǔ)言等。匯編語(yǔ)言:指令用助記符表示和書(shū)寫(xiě),易于辨識(shí),但編程效率低。機(jī)器語(yǔ)言:指令是由0和1的序列組成,不僅難以辨讀,編程困難,但與數(shù)字電路表示實(shí)現(xiàn)完全契合2025/7/2311匯編指令MOVR0,#0x3A;

ADDSR1,R0,#0x48;說(shuō)明將十六進(jìn)制數(shù)3A送寄存器R0R0寄存器內(nèi)容與48相加,結(jié)果送R1寄存器機(jī)器指令111000111010xxxx0000000000111010

11100010100100000001000001001000操作碼目的寄存器立即數(shù)9.2指令系統(tǒng)指令:處理器能完成的最基本功能操作或運(yùn)算處理的命令,是程序編寫(xiě)的最小、最基本的要素單元指令集:處理器能實(shí)現(xiàn)的所有指令集合指令集結(jié)構(gòu):處理器指令集的完整描述存儲(chǔ)資源、指令格式和指令說(shuō)明2025/7/23129.2.1指令集結(jié)構(gòu)存儲(chǔ)資源:程序員用指令(編程語(yǔ)言)進(jìn)行編程時(shí),能用來(lái)存儲(chǔ)程序和數(shù)據(jù)的存儲(chǔ)器,一般包括程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、寄存器組和程序計(jì)數(shù)器等2025/7/2313程序計(jì)數(shù)器(ProgramCounter)寄存器組(RegisterFiles)8×32程序存儲(chǔ)器CodeMemory215×32數(shù)據(jù)存儲(chǔ)器DataMemory215×32處理器計(jì)算機(jī)存儲(chǔ)資源示意圖程序計(jì)數(shù)器:指明即將待執(zhí)行指令的存儲(chǔ)位置寄存器組:用于臨時(shí)存放指令執(zhí)行過(guò)程中所需要的原始數(shù)據(jù)和得到的運(yùn)算結(jié)果高速緩存:快速訪問(wèn)存儲(chǔ)器指令類(lèi)型和格式功能分類(lèi)算術(shù)運(yùn)算類(lèi)、邏輯運(yùn)算類(lèi)、移位操作類(lèi)、數(shù)據(jù)傳送類(lèi)、跳轉(zhuǎn)類(lèi)和特殊操作類(lèi)型指令格式操作碼:定義了指令所需完成的功能操作數(shù):執(zhí)行該指令所需要的原始數(shù)據(jù)和結(jié)果,或者尋找原始數(shù)據(jù)和結(jié)果所在存儲(chǔ)位置信息及其相關(guān)方法操作數(shù)通常是泛指,可以是數(shù)據(jù)本身也可以是數(shù)據(jù)所存放的寄存器名稱(chēng)或者存儲(chǔ)器單元的地址。進(jìn)一步分為更細(xì)的字段,如條件碼、操作碼、目的寄存器、源地址、立即數(shù)等2025/7/2314條件碼3128操作碼目的寄存器源地址立即數(shù)272019161512110條件碼3128偏移地址操作碼2724230指令類(lèi)型和格式指令格式條件碼:定義了該指令是否執(zhí)行以及在什么條件下才會(huì)執(zhí)行;操作碼:需要完成的操作;源操作數(shù):操作所需的輸入;目的操作數(shù):指令執(zhí)行后的的結(jié)果指令說(shuō)明描述了能夠被處理器執(zhí)行的每一條指令的相關(guān)信息,包括各小類(lèi)指令的每個(gè)字段的具體詳細(xì)定義和說(shuō)明;操作碼的具體二進(jìn)制編碼;指令助記符和匯編指令的具體書(shū)寫(xiě)格式;指令完成的功能說(shuō)明或執(zhí)行過(guò)程;對(duì)標(biāo)志位的影響;指令編碼長(zhǎng)度;指令執(zhí)行所需時(shí)鐘周期數(shù)等等2025/7/2315條件碼3128操作碼目的寄存器源地址立即數(shù)272019161512110指令說(shuō)明I:最后一個(gè)操作數(shù)的類(lèi)型選擇,0:立即數(shù),1:寄存器或寄存器移位S:運(yùn)算結(jié)果狀態(tài)對(duì)標(biāo)志位的影響,0:保持原標(biāo)志位,1:更新標(biāo)志位L*:斷點(diǎn)地址是否自動(dòng)存入鏈接寄存器,0:要存入,1:不存入P:偏移地址的回寫(xiě)方式,0:存儲(chǔ)單元讀/寫(xiě)后,基地址更新為基地址+/-偏移地址,1:偏移地址或前索引(取決于W)U:加/減偏移地址,0:基地址減偏移地址,1:基地址加偏移地址B:存儲(chǔ)器的操作數(shù)寬帶,0:字寬度,1:無(wú)符號(hào)字節(jié)W:與P相關(guān),P=0時(shí),W為常規(guī)模式讀寫(xiě)指令(STR,STRB,LDR,LDRB),W=1為用戶模式讀寫(xiě)指令(STRT,STRBT,LDRT,LDRBT)。P=1時(shí),W=0為偏移地址模式,訪問(wèn)基地址+/-偏移地址的存儲(chǔ)單元,但基地址不更新,W=1為前索引,即基地址更新為基地址+/-偏移地址,并訪問(wèn)該存儲(chǔ)單元。L:數(shù)據(jù)傳送方向,0:處理器→存儲(chǔ)器,1:處理器←存儲(chǔ)器2025/7/2316ARM指令說(shuō)明類(lèi)別功能操作碼助記符操作描述標(biāo)志位算術(shù)運(yùn)算類(lèi)加法00I0100SADDR1,R2,#39R1=R2+#39NZCV邏輯運(yùn)算類(lèi)邏輯與00I0000SANDR1,R2,R3R1=R2&R3NZCV跳轉(zhuǎn)類(lèi)跳轉(zhuǎn)101L*BLPROCPC

PC+PROC-數(shù)據(jù)傳送類(lèi)讀存儲(chǔ)器數(shù)據(jù)01IPUBWLLDRR1,[R2,#42]R1

(R2+#42)-9.2.2尋址方式尋址方式:尋找并獲取指令執(zhí)行所需操作數(shù)的方法操作數(shù)存放位置:處理器內(nèi)部的寄存器、處理器外的數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器或計(jì)算機(jī)外部設(shè)備的接口立即尋址:操作數(shù)是指令的組成部分,取指令的同時(shí)獲得了操作碼和操作數(shù)。如ADDR0,R1,#34H;R0

R1+#34H寄存器尋址:操作數(shù)存放在處理器的寄存器組中,如:ADCR0,R1,R2;R0

R1+R2+C2025/7/2317處理器ALU××××××××××××××××R0R12ABC6600R2寄存器組尋址方式寄存器間接尋址:操作數(shù)存放在由寄存器內(nèi)容作為地址而指向的存儲(chǔ)器單元中。如:LDRR0,[R2];R0

(R2)寄存器間接偏移尋址。操作數(shù)存放在存儲(chǔ)器單元中,該存儲(chǔ)器單元的地址是寄存器的內(nèi)容加上給定偏移量。如:STRR0,[R2,#0x2B];R0

(R2+0x2B)2025/7/2318EFAA5534342ABC66008bits552ABC6601AA2ABC6602EF2ABC6603882ABC6604存儲(chǔ)器處理器ALU××××××××××R0R12ABC6600R2寄存器組5678ABEE××2ABC662B8bits××2ABC662C××2ABC662D××2ABC662E××2ABC662F存儲(chǔ)器處理器ALU5678ABEE××××R0R12ABC6600R2寄存器組×××2B指令寄存器9.2.2尋址方式ARM處理器支持存儲(chǔ)器存儲(chǔ)數(shù)據(jù)的小端和大端模式,在小端模式下,低字節(jié)數(shù)據(jù)存放在小地址單元,而高字節(jié)數(shù)據(jù)存放在大地址單元;在大端模式下,低字節(jié)數(shù)據(jù)存放在大地址單元,而高字節(jié)數(shù)據(jù)存放在小地址單元。如小端模式下:LDRR0,[R2];R0

(R2)若操作數(shù)默認(rèn)為固定方式提高,指令中沒(méi)有該操作數(shù)相關(guān)的任何信息,稱(chēng)其為隱含尋址。此外,還有直接尋址、基址變址尋址、比例系數(shù)尋址等等,這些是用于數(shù)據(jù)存儲(chǔ)器的尋址。相對(duì)尋址用于程序存儲(chǔ)器的尋址,是在當(dāng)前程序計(jì)數(shù)值的基礎(chǔ)上加上偏移量,得到用于訪問(wèn)程序存儲(chǔ)單元的尋址方式。用于程序跳轉(zhuǎn)、子程序調(diào)用和中斷響應(yīng)處理等。2025/7/23199.3處理器結(jié)構(gòu)處理器數(shù)據(jù)通路控制邏輯寄存器組2025/7/2320處理器結(jié)構(gòu)框圖指令寄存器控制器S0S4S3S2S1+程序計(jì)數(shù)器地址偏移地址生成單元狀態(tài)寄存器數(shù)據(jù)通路ALU5678ABEE××××××××R0R12ABC6600R2寄存器組多路選擇器桶形移位數(shù)據(jù)通路計(jì)算資源:算術(shù)邏輯單元(ALU)、乘法器、移位單元寄存器組:存儲(chǔ)數(shù)據(jù)邏輯資源:控制計(jì)算資源與寄存器組之間傳輸數(shù)據(jù);控制數(shù)據(jù)通路與處理器外部之間實(shí)現(xiàn)數(shù)據(jù)輸入/輸出的傳輸路徑細(xì)分電路如寄存器、計(jì)數(shù)器、譯碼器、數(shù)據(jù)選擇器、算術(shù)邏輯單元等數(shù)據(jù)通路寄存器組、ALU、桶形移位寄存器和相關(guān)多路選擇器等組成微操作:R1

R2+R3控制器提供的選擇信號(hào):2025/7/2321數(shù)據(jù)通路框圖LDBsAs譯碼器多路選擇多路選擇R0LoadkkR1LoadkkR2LoadkkR3Loadkk22ImmIsAoutDout多路選擇器kDinMDs狀態(tài)寄存器Es2BADALU多路選擇移位單元ILkkkHs2IRkGs4kk寄存器組功能單元&&&&As:使R2寄存器內(nèi)容送到總線A上;Bs:使R3寄存器的內(nèi)容送到總線B上;Hs:選擇桶形移位寄存器為直通模式,即R3的內(nèi)容繼續(xù)直傳;Is:選擇寄存器內(nèi)容而不是立即數(shù)送ALU;Gs:使算術(shù)邏輯單元ALU執(zhí)行加法運(yùn)算A+B;MDs:將ALU結(jié)果而不是外部輸入數(shù)據(jù)傳回到總線D上;Es:選擇R1作為目的寄存器,用于回存結(jié)果;LD:使能R1寄存器,D上數(shù)據(jù)能夠被存入算術(shù)邏輯單元可以執(zhí)行一系列基本算術(shù)運(yùn)算和邏輯運(yùn)算微操作的組合邏輯電路2025/7/2322算術(shù)邏輯單元ALU功能表S2S1S0CI=0CI=1邏輯功能說(shuō)明000A+BA+B+1-加法001A-B-1A-B-減法010AA-直通011B’B’-非100--AB與101--A+B或110--(AB)’與非111--A⊕B異或&=1&≥1m位算術(shù)邏輯單元ALU結(jié)構(gòu)mS2多路選擇mG2mS1:0mm多路選擇m邏輯運(yùn)算S0m位加法器mmm多路選擇ABN正數(shù)/負(fù)數(shù)標(biāo)志mCImV溢出標(biāo)志C進(jìn)位標(biāo)志Z零標(biāo)志算術(shù)運(yùn)算2S1:0=1&算術(shù)邏輯單元74LS1812025/7/232374LS181算術(shù)邏輯運(yùn)算功能表(高電平有效)選擇端M=H,邏輯操作M=L,算術(shù)操作S3S2S1S0CI’=H(沒(méi)有進(jìn)位)CI’=L(有進(jìn)位)LLLLG=A’G=AG=A+1LLLHG=(A或B)’G=A或BG=(A或B)+1LLHLG=A’?BG=A或B’G=(A或B’)+1LLHHG=0G=減1(模2求補(bǔ))G=0LHLLG=(A?B)’G=A+(A?B’)G=A+(A?B’)+1LHLHG=B’G=(A或B)+(A?B’)G=(A或B)+(A?B’)+1LHHLG=A⊕BG=A-B-1G=A-BLHHHG=A?B’G=(A?B’)-1G=A?B’HLLLG=A’或BG=A+(A?B)G=A+(A?B)+1HLLHG=(A⊕B)’=A⊙BG=A+BG=A+B+1HLHLG=BG=(A或B’)+(A?B)G=(A或B’)+(A?B)+1HLHHG=A?BG=(A?B)-1G=(A?B)HHLLG=1G=A+AG=A+A+1HHLHG=A或B’G=(A或B)+AG=(A或B)+A+1HHHLG=A或BG=(A或B’)+AG=(A或B’)+A+1HHHHG=AG=A-1G=A注:為避免混淆,表格中“邏輯或”用“或”,而“算術(shù)加”用“+”。3S3S2S1S04568M7CI19A321A223A12A018B320B222B11B013G311G210G19G015FP17FG16CO14FA=B74LS181移位單元移位寄存器實(shí)現(xiàn)的移位方式每個(gè)時(shí)鐘周期移一位,速度慢當(dāng)S1:0為00時(shí),實(shí)現(xiàn)數(shù)據(jù)直通;S1:0為01時(shí),實(shí)現(xiàn)數(shù)據(jù)右移;S1:0為10時(shí),實(shí)現(xiàn)數(shù)據(jù)左移一次只能移一位2025/7/23248位雙向移位單元電路S1:00123SF0123SF0123SF0123SFIL0123SF0123SF0123SF0123SFB5左移輸出B7B6B4IRB3B1B2B0右移輸出F5F7F6F4F3F1F2F0桶形移位單元8位循環(huán)左移桶形移位電路,移動(dòng)的位數(shù)取決于選擇端S2:0的值S2:0=000時(shí),不移位,輸入數(shù)據(jù)B7:0直接輸出到F7:0S2:0=001時(shí),數(shù)據(jù)B7:0循環(huán)左移1位,即B0移到F1,B1移到F2,…,B7移到F02025/7/23250135SFB6F670135SFB0F070135SFB4F470135SFB7F770135SFB3F370135SFB2F270135SFB1F178位桶形移位電路S2:00135SFB5F578位桶形移位電路功能表S2S1S0F7F6F5F4F3F2F1F0功能000B7B6B5B4B3B2B1B0直通001B6B5B4B3B2B1B0B7循環(huán)左移1位010B5B4B3B2B1B0B7B6循環(huán)左移2位011B4B3B2B1B0B7B6B5循環(huán)左移3位100B3B2B1B0B7B6B5B4循環(huán)左移4位101B2B1B0B7B6B5B4B3循環(huán)左移5位110B1B0B7B6B5B4B3B2循環(huán)左移6位111B0B7B6B5B4B3B2B1循環(huán)左移7位桶形移位單元循環(huán)左移桶形移位電路也能實(shí)現(xiàn)循環(huán)右移的所有操作。循環(huán)左移7位與循環(huán)右移1位的效果是相同的,循環(huán)左移6位與循環(huán)右移2位的效果是相同的,即一個(gè)2n位桶形移位電路,循環(huán)左移i位等同于循環(huán)右移2n-i位。一個(gè)具有2n位輸入和2n位輸出的桶形移位電路,需要2n個(gè)2n選一的數(shù)據(jù)選擇器,每一個(gè)數(shù)據(jù)選擇器有2n個(gè)數(shù)據(jù)輸入端和n個(gè)選擇端。循環(huán)移位的位數(shù)為0~

2n-1。2025/7/23268位桶形移位電路功能表S2S1S0F7F6F5F4F3F2F1F0功能000B7B6B5B4B3B2B1B0直通001B6B5B4B3B2B1B0B7循環(huán)左移1位010B5B4B3B2B1B0B7B6循環(huán)左移2位011B4B3B2B1B0B7B6B5循環(huán)左移3位100B3B2B1B0B7B6B5B4循環(huán)左移4位101B2B1B0B7B6B5B4B3循環(huán)左移5位110B1B0B7B6B5B4B3B2循環(huán)左移6位111B0B7B6B5B4B3B2B1循環(huán)左移7位9.3.2控制器每一條指令譯碼,由有限狀態(tài)機(jī),產(chǎn)生該指令執(zhí)行所需要的處理器內(nèi)部控制信號(hào)

對(duì)計(jì)算資源的計(jì)算功能選通,寄存器內(nèi)容的加載、讀取、清除和傳送等狀態(tài)機(jī)有三個(gè)操作階段取指階段:負(fù)責(zé)從存儲(chǔ)器中獲取指令譯碼階段:負(fù)責(zé)解釋指令、控制數(shù)據(jù)通路和加載寄存器執(zhí)行階段:得到指令執(zhí)行后相應(yīng)的結(jié)果2025/7/2327程序計(jì)數(shù)器模塊跟蹤和提供即將執(zhí)行的指令所在存儲(chǔ)器單元的地址順序執(zhí)行:每執(zhí)行完一條指令后,繼續(xù)執(zhí)行其相鄰的下一條指令,這時(shí)只需將程序計(jì)數(shù)器遞增一條指令的字節(jié)數(shù)非順序執(zhí)行跳轉(zhuǎn)、子程序調(diào)用、中斷寄存器間接尋址、相對(duì)跳轉(zhuǎn)、間接相對(duì)跳轉(zhuǎn)2025/7/2328程序計(jì)數(shù)器模塊多路選擇器計(jì)數(shù)器地址調(diào)整指令寄存器+寄存器+mCLKkkkkkk指令地址2節(jié)拍產(chǎn)生器單條指令執(zhí)行所需要產(chǎn)生的順序順次信號(hào)的電路稱(chēng)為節(jié)拍器由環(huán)形計(jì)數(shù)器加上復(fù)位、清除、暫停等信號(hào)控制加法指令A(yù)DDZ,X,Y為例,說(shuō)明節(jié)拍器控制該指令的步驟:從存儲(chǔ)器讀取指令A(yù)DDZ,X,Y的指令碼,并對(duì)操作碼進(jìn)行譯碼分析;將寄存器X的值送到加法器的前端緩存寄存單元;將寄存器Y的值送到加法器的另一前端緩存寄存器單元;將加法器相加后的結(jié)果送到寄存器Z。2025/7/23291DQC1RDReset1DQC1RD1DQC1RD1DQC1RD1DQC1RD1DQC1RD1DQC1SDCLK節(jié)拍器設(shè)計(jì)1DQC1SDBRKP0P1P2P3P4P5=11&&&&&&控制邏輯數(shù)據(jù)通路的控制字:用于控制數(shù)據(jù)通路各寄存器、功能實(shí)現(xiàn)、數(shù)據(jù)傳輸路徑的各個(gè)選擇信號(hào)2025/7/2330LoadRW(0)ASel(12-10)BSel(9-7)DSel(15-13)BAD8×m寄存器組ImmBAAoutDout多路選擇Is(6)狀態(tài)寄存器FSel(5-2)DkAkBk多路選擇器kDinMDs(1)帶控制的數(shù)據(jù)通路框圖算術(shù)邏輯功能單元151413DSel121110ASel987BSel6Is5432FSel1MDs0RW(a)(b)數(shù)據(jù)通路控制字的編碼DSel,ASel,BSel寄存器組Is寄存器/立即數(shù)Fs算術(shù)邏輯運(yùn)算功能MDs回寫(xiě)/輸入RW保持/加載R0000寄存器立即數(shù)01F=A0000回寫(xiě)輸入01保持加載01R1001F=A+10001R2010F=A+B0010R3011F=A+B+10011R4100F=A+B’0100R5101F=A+B’+10101R6110F=A-10110R7111F=A’0111

F=A^B1000F=AvB1001F=A⊕B1010F=A’+11011F=B1100F=srB1101F=slB1110例:寫(xiě)出微操作R1←R2+R3’+1的控制字編碼指定R2作為算術(shù)邏輯運(yùn)算單元的A輸入,R3作為算術(shù)邏輯運(yùn)算單元的B輸入。要求實(shí)現(xiàn)F=A+B’+1,并由此可知運(yùn)算結(jié)果要回寫(xiě)到寄存器R1.根據(jù)定義各字段的值可得到控制字為0010100110010101.2025/7/2331151413DSel121110ASel987BSel6Is5432FSel1MDs0RW0010100110010101數(shù)據(jù)通路控制字的編碼DSel,ASel,BSel寄存器組Is寄存器/立即數(shù)Fs算術(shù)邏輯運(yùn)算功能MDs回寫(xiě)/輸入RW保持/加載R0000寄存器立即數(shù)01F=A0000回寫(xiě)輸入01保持加載01R1001F=A+10001R2010F=A+B0010R3011F=A+B+10011R4100F=A+B’0100R5101F=A+B’+10101R6110F=A-10110R7111F=A’0111

F=A^B1000F=AvB1001F=A⊕B1010F=A’+11011F=B1100F=srB1101F=slB1110控制邏輯2025/7/2332數(shù)據(jù)存儲(chǔ)器通過(guò)Aout、Dout和Din與數(shù)據(jù)通路相連??刂菩盘?hào)MW=1,數(shù)據(jù)可寫(xiě)入數(shù)據(jù)存儲(chǔ)器;而MW=0時(shí),數(shù)據(jù)存儲(chǔ)器只能讀取??刂七壿嬛噶钭g碼指令譯碼器是一個(gè)組合邏輯電路,根據(jù)指令各個(gè)字段的內(nèi)容為數(shù)據(jù)通路提供所需要的控制字2025/7/2333&1&1514131211109操作碼DR876SR2SR1543210指令指令譯碼器示意圖9

61917DSel10IsFSel1JC0JB1614ASel1311BSel5MDs4RW3MW2PL控制字11&指令操作碼的譯碼真值表指令操作類(lèi)型操作碼位控制字1514139IsMDsRWMWPLJCJB使用寄存器的操作000×00100××存儲(chǔ)器讀001×01100××存儲(chǔ)器寫(xiě)010×0×010××寄存器和立即數(shù)的操作100×10100××零標(biāo)志(Z)分支1100××00100負(fù)數(shù)(N)分支1101××00110無(wú)條件跳轉(zhuǎn)111×××001×19.3.3微操作微操作:對(duì)寄存器或存儲(chǔ)器的數(shù)據(jù)執(zhí)行的基本操作傳輸微操作、算術(shù)微操作、移位微操作、邏輯微操作傳輸微操作2025/7/23寄存器傳送微操作CLKK1傳送發(fā)生時(shí)刻CLKC1R0C1R1LDmK11D1D2個(gè)數(shù)據(jù)源的寄存器傳送微操作CLKC1R2C1R1LDmK1C1R0K2mm1D1D1DS01MUX≥1例2:不同源寄存器搬移操作:K1:R1

R0,K1’K2:R1

R2即:if(K1=1)then(R1

R0)elseif(K2=1)then(R1

R2)例1:寄存器傳輸微操作:K1:R1

R034算術(shù)微操作算術(shù)微操作包括加法、減法、遞增、遞減、求反和求補(bǔ)等例3:在X信號(hào)控制下,分別實(shí)現(xiàn)加法、減法運(yùn)算X’K1:R0

R1+R2XK1:R0

R1+R2’+1具體操作過(guò)程控制變量K1為1時(shí),激活加法或減法操作若變量X為0

X’K1為1,R0

R1+R2當(dāng)變量X為1

XK1為1,R0

R1-R2當(dāng)K1為0時(shí),加法和減法都不執(zhí)行2025/7/23算術(shù)微操作語(yǔ)句表示描述R0

R1+R2寄存器R1的值與寄存器R2的值相加,結(jié)果傳輸給R0R2

R2’對(duì)寄存器R2的值求反碼R2

R2’+1對(duì)寄存器R2的值求補(bǔ)碼R0

R1+R2’+1寄存器R1的值加上寄存器R2值的補(bǔ)碼,結(jié)果傳輸給R0R1

R1+1寄存器R1的值加1R1

R1-1寄存器R1的值減1加法/減法運(yùn)算微操作R1R2mmCV加法/減法器Ck-1CkCIXK1R0mLD=135移位微操作移位操作語(yǔ)句為:Shift:Q

slQShift’?Load:Q

DShift=0,Load=0:保持Shift=0,Load=1:并行數(shù)據(jù)加載Shift=1,Load=x:右移2025/7/23移位操作示例類(lèi)型語(yǔ)句描述示例(源寄存器R2)目的寄存器(移位后)左移R1

slR21001111000111100右移R1

srR21110010101110010帶并行加載的移位寄存器LoadShiftD0Q0

CLKDQD1Q1CLKDQD2Q2

CLKDQD3Q3CLKDQCLKDID0Q0CLKQ1LoadDIShiftQ3D3D2D1Q236邏輯微操作如語(yǔ)句:(K1vK2):R0

R1+R2,R3

R4vR52025/7/23邏輯微操作語(yǔ)句描述描述R0

R1’邏輯按位求非R0

R1^R2邏輯按位與R0

R1vR2邏輯按位或R0

R1⊕R2邏輯按位異或加法邏輯或?qū)拇嫫髦胁糠治粚?shí)現(xiàn)清零、置1或取反,而其他位保持不變?nèi)纾合葘?0001111傳輸給R2,然后執(zhí)行微操作R0

R1^R2可將R1的高4位清零。若要將8位寄存器R1的高4位置1,而低4位保持不變。則先將值111100002傳輸給R2,然后執(zhí)行微操作R1

R1vR2將8位寄存器R1的高4位取反,而低4位保持不變。則先將值111100002傳輸給R1,然后執(zhí)行微操作R1

R1⊕R237例4設(shè)計(jì)能實(shí)現(xiàn)邏輯運(yùn)算功能的寄存器電路:AND:R0

R0^R1EXOR:R0

R0⊕R1OR:R0

R0VR1并假設(shè)控制條件AND、EXOR和OR是互斥的,即某時(shí)刻只有一個(gè)為1,并且當(dāng)這三個(gè)信號(hào)都為0時(shí),寄存器R0中的值保持不變。解:用帶有數(shù)據(jù)加載控制端Load的寄存器。每個(gè)寄存器(觸發(fā)器)的Di是各操作所需條件及其相應(yīng)功能的表達(dá)式邏輯與之后,再全部相或。Load表達(dá)式是所有可以觸發(fā)并完成一次寄存器傳輸操作的控制信號(hào)之邏輯或,即:Load=AND+EXOR+ORR0in+1=Di=AND?R0i?R1i+EXOR?(R0i?R1i’+R0i’?R1i)+OR?(R0i+R1i)對(duì)激勵(lì)Di邏輯函數(shù)表達(dá)式,每個(gè)與項(xiàng)中的AND、EXOR和OR可分別作為使能2025/7/2338例4解:變換為R0i和R1i的最小項(xiàng)形式R0in+1=Di=AND?R0i?R1i+EXOR?(R0i?R1i’+R0i’?R1i)+OR?(R0i+R1i)=(AND+OR)?R0i?R1i+(EXOR+OR)?R0i?R1i’+(EXOR+OR)R0i’?R1i

令C1=AND+OR,C2=EXOR+OR。則有:

R0in+1=Di=C1?R0i?R1i+C2?R0i?R1i’+C2R0i’?R1iLoad=AND+EXOR+OR=C1+C2Load有效時(shí),加載數(shù)據(jù);Load無(wú)效時(shí),保持?jǐn)?shù)據(jù),即:R0in+1=Load?Di+Load’?R0i抽取公共項(xiàng)后,每位的門(mén)電路更少,多位寄存器優(yōu)勢(shì)明顯2025/7/231DC1QR1iR0iC1C2CLKLDLOADC1C2EXORORANDLOAD圖1每個(gè)位:3-二或,3-三與,1-三或每個(gè)位:3-三與,1-三或另,共用項(xiàng)39例4:時(shí)序邏輯電路實(shí)現(xiàn)方法設(shè)計(jì)能實(shí)現(xiàn)邏輯運(yùn)算功能的寄存器電路:AND:R0

R0^R1EXOR:R0

R0⊕R1OR:R0

R0VR1并假設(shè)控制條件AND、EXOR和OR是互斥的,即某時(shí)刻只有一個(gè)為1,并且當(dāng)這三個(gè)信號(hào)都為0時(shí),寄存器R0中的值保持不變。2025/7/23狀態(tài)轉(zhuǎn)移表輸入R0i現(xiàn)態(tài)AND=0EXOR=0OR=0AND=1EXOR=1OR=1R1i=0R1i=1R1i=0R1i=1R1i=0R1i=10000010111011011R0i次態(tài)解:控制信號(hào)為0,不做運(yùn)算;為1進(jìn)行運(yùn)算根據(jù)運(yùn)算關(guān)系,列寫(xiě)各寄存器(觸發(fā)器)狀態(tài)轉(zhuǎn)移表得到激勵(lì)表達(dá)式R0in+1=Di=AND’?EXOR’?OR’?R0i+AND?R0i?R1i+EXOR?(R0i?R1i’+R0i’?R1i)+OR?(R0i+R1i)40例4:時(shí)序邏輯電路實(shí)現(xiàn)方法R0in+1=Di=AND’?EXOR’?OR’?R0i+AND?R0i?R1i+EXOR?(R0i?R1i’+R0i’?R1i)+OR?(R0i+R1i)對(duì)激勵(lì)表達(dá)式中的R0i、R1i配項(xiàng)=AND’?EXOR’?OR’?R0i?(R1i+R1i’)+AND?R0i?R1i+EXOR?R0i?R1i’+EXOR?R0i’?R1i+OR?R0i?(R1i+R1i’)+OR?(R0i+R0i’)?R1i展開(kāi),并按R0i,R1i歸類(lèi)R0in+1=Di==AND’?EXOR’?OR’?R0i?R1i+AND?R0i?R1i+OR?R0i?R1i+AND’?EXOR’?OR’?R0i?R1i’+EXOR?R0i?R1i’+OR?R0i?R1i’+EXOR?R0i’?R1i+OR?R0i’?R1i將R0iR1i、R0i?R1i’、R0i’?R1i相關(guān)項(xiàng)合并R0in+1=Di==(AND’?EXOR’?OR’+AND+OR)?R0i?R1i+(AND’?EXOR’?OR’+EXOR+OR)?R0i?R1i’+(EXOR+OR)?R0i’?R1i=(EXOR’+AND+OR)?R0i?R1i+(AND’+EXOR+OR)?R0i?R1i’+(EXOR+OR)?R0i’?R1i

=C1?R0i?R1i+C3?R0i?R1i’+C2?R0i’?R1i式中C1=EXOR’+AND+OR,C2=EXOR+OR,C3=AND’+C22025/7/2341例4的實(shí)現(xiàn)方法比較R0in+1=Di=C1?R0i?R1i+C3?R0i?R1i’+C2?R0i’?R1i式中C1=EXOR’+AND+OR,C2=EXOR+OR,C3=AND’+C2實(shí)現(xiàn)電路如圖2所示2025/7/23C1C2C3EXORORAND1DC1QR1iR0iC1C2C3CLK單元i共享邏輯圖21DC1QR1iR0iC1C2CLKLDLOADC1C2EXORORANDLOAD圖1圖1比圖2共用門(mén)略少,但圖1要用Load功能的寄存器前述方法:R0in+1=Di=C1?R0i?R1i+C2?R0i?R1i’+C2R0i’?R1iLoad=AND+EXOR+OR=C1+C2R0in+1=Load?Di+Load’?R0iC1=AND+OR,C2=EXOR+OR每個(gè)位:3-三與,1-三或另,共用項(xiàng)42例5算術(shù)運(yùn)算、邏輯運(yùn)算和移位混合功能的電路設(shè)計(jì)能實(shí)現(xiàn)下述傳輸功能的寄存器:SHL:R0

slR0EXOR:R0

R0⊕R1ADD:R0

R0+R1并假設(shè)控制條件SHL、EXOR和ADD是互斥的,即某時(shí)刻只有一個(gè)為1,并且當(dāng)這三個(gè)信號(hào)都為0時(shí),寄存器R0中的值保持不變。解:與上一例題類(lèi)似有兩種設(shè)計(jì)方法,簡(jiǎn)單的方法是采用由Load信號(hào)控制的具有并行加載功能的寄存器。當(dāng)Load無(wú)效時(shí),寄存器為保持狀態(tài)。由題可寫(xiě)出邏輯函數(shù)表達(dá)式:Load=SHL+EXOR+ADDR0in+1=Di=SHL?R0i-1+EXOR?(R0i⊕R1i)+ADD?(R0i⊕R1i⊕Ci)Ci+1=(R0i⊕R1i)?Ci+R0i?R1i2025/7/23進(jìn)位傳遞項(xiàng),為何沒(méi)用“或”?改“或”為“異或“,可以嗎?43例5算術(shù)運(yùn)算、邏輯運(yùn)算和移位混合功能的電路SHL:R0

slR0EXOR:R0

R0⊕R1ADD:R0

R0+R1更優(yōu)方法是將寄存器各個(gè)位的電路設(shè)計(jì)成相同的結(jié)構(gòu),即每個(gè)位與相鄰低位和高位的關(guān)系都一致。需要考慮最低位的輸入C0和向最高位的輸出Cn。左移:用0填充右邊最低位的空位,因此C0為0。異或:不涉及位與位之間的關(guān)系,因此這時(shí)不需要考慮C0的值加法:如果該寄存器能裝入整個(gè)數(shù)據(jù)而無(wú)需級(jí)聯(lián),那么最低位不會(huì)有進(jìn)位輸入,即C0為0。還需要考慮相鄰位之間的關(guān)系,其中左移和加法與相鄰位有關(guān)聯(lián)??紤]使用同一個(gè)信號(hào)Ci表征這兩種操作所產(chǎn)生的向高位進(jìn)位。加法運(yùn)算有進(jìn)位時(shí),Ci為1,否則Ci為0;左移操作移出位為1時(shí),Ci為1,否則Ci為0。2025/7/2344例5算術(shù)運(yùn)算、邏輯運(yùn)算和移位混合功能的電路SHL:R0

slR0EXOR:R0

R0⊕R1ADD:R0

R0+R1EXOR為1時(shí),異或操作。異或不涉及相鄰位,因此輸入無(wú)Ci,輸出Ci+1可為任意值A(chǔ)DD為1時(shí),加法操作。R0i現(xiàn)態(tài)的值與R1i的值、相鄰低位輸入Ci的值相加,得到的和值為次態(tài),得到的進(jìn)位為輸出Ci+1。由狀態(tài)轉(zhuǎn)移表得R0in+1=Di=SHL’?EXOR’?ADD’?R0i+SHL?Ci+EXOR?(R0i⊕R1i)+ADD?(R0i⊕R1i⊕Ci)Ci+1=SHL?R0i+ADD?((R0i⊕R1i)?Ci+R0i?R1i)異或項(xiàng)R0i⊕R1i在EXOR和ADD中都有出現(xiàn)2025/7/23狀態(tài)轉(zhuǎn)移表輸入R0i現(xiàn)態(tài)SHL=0EXOR=0ADD=0SHL=1,R1iCi=EXOR=1,R1i=ADD=1,R1iCi=00011011010001101100/×0/01/00/01/00/×1/×0/01/01/00/111/×0/11/10/11/11/×0/×1/00/10/11/1R0i次態(tài)/輸出Ci+145例5算術(shù)運(yùn)算、邏輯運(yùn)算和移位混合功能的電路R0in+1=Di=SHL’?EXOR’?ADD’?R0i+SHL?Ci+EXOR?(R0i⊕R1i)+ADD?(R0i⊕R1i⊕Ci)Ci+1=SHL?R0i+ADD?((R0i⊕R1i)?Ci+R0i?R1i)在Ci+1的表達(dá)式中,當(dāng)EXOR為1,而SHL和ADD都為0時(shí),寄存器橫向鏈的各個(gè)位Ci都為0。考慮到C0為0,因此R0所有的Ci都為0。因而可以將ADD和EXOR結(jié)合起來(lái),得到:R0in+1=Di=SHL’?EXOR’?ADD’?R0i+SHL?Ci+(EXOR+ADD)?(R0i⊕R1i⊕Ci)表達(dá)式SHL’?EXOR’?ADD’和EXOR+ADD對(duì)寄存器的每個(gè)觸發(fā)器都可共享,令:E1=EXOR+ADDE2=SHL’?EXOR’?ADD’=(SHL+EXOR+ADD)’=(SHL+E1)’2025/7/23狀態(tài)轉(zhuǎn)移表輸入R0i現(xiàn)態(tài)SHL=0EXOR=0ADD=0SHL=1,R1iCi=EXOR=1,R1i=ADD=1,R1iCi=00011011010001101100/×0/01/00/01/00/×1/×0/01/01/00/111/×0/11/10/11/11/×0/×1/00/10/11/1R0i次態(tài)/輸出Ci+146例5算術(shù)運(yùn)算、邏輯運(yùn)算和移位混合功能的電路表達(dá)式SHL’?EXOR’?ADD’和EXOR+ADD對(duì)寄存器的每個(gè)觸發(fā)器都可共享,令:E1=EXOR+ADDE2=SHL’?EXOR’?ADD’=(SHL+EXOR+ADD)’=(SHL+E1)’則表達(dá)式可變換為:Di=E2?R0i+SHL?Ci+E1?(R0i⊕R1i⊕Ci)Ci+1=SHL?R0i+ADD?((R0i⊕R1i)?Ci+R0i?R1i)2025/7/23共享邏輯E1E2EXORSHLADD1DC1QCiR0iCi+1R1iCLK單元iADDSHLE1E2R0i47微程序控制微程序控制:存儲(chǔ)內(nèi)容為控制單元的控制信號(hào)控制存儲(chǔ)器的每個(gè)存儲(chǔ)單元存放一條微指令,每條微指令控制一個(gè)微操作微程序:按一定方式和順序構(gòu)建的一系列微指令,可以實(shí)現(xiàn)數(shù)據(jù)通路及其控制電路的綜合執(zhí)行操作控制地址寄存器為控制存儲(chǔ)器提供地址,控制數(shù)據(jù)寄存器存放當(dāng)前數(shù)據(jù)通路和控制單元所執(zhí)行的微指令序列發(fā)生器決定了從控制存儲(chǔ)器中讀取指令的順序2025/7/2348地址控制存儲(chǔ)器數(shù)據(jù)控制輸入來(lái)自數(shù)據(jù)通路的狀態(tài)信號(hào)下一地址下一地址生成器序列發(fā)生器控制地址寄存器控制地址控制輸出去往數(shù)據(jù)通路的控制信號(hào)微指令控制數(shù)據(jù)寄存器微程序控制單元結(jié)構(gòu)圖9.3.4流水線處理器2025/7/2349若指令執(zhí)行包括5個(gè)階段:取指令、指令譯碼、取數(shù)據(jù)、執(zhí)行、回寫(xiě)結(jié)果。那么可設(shè)計(jì)為5級(jí)流水線結(jié)構(gòu)的處理器取指階段,處理器從程序存儲(chǔ)器讀取指令并送入到處理器的指令寄存器中指令譯碼階段,對(duì)指令寄存器中的指令進(jìn)行譯碼并產(chǎn)生處理器各功能部件和處理器外各電路所需要的控制信號(hào)取數(shù)據(jù)階段,處理器從數(shù)據(jù)存儲(chǔ)器中讀取該指令執(zhí)行時(shí)所需要的原始數(shù)據(jù)執(zhí)行階段,處理器內(nèi)部運(yùn)算器等功能部件實(shí)現(xiàn)各自功能并得到結(jié)果回寫(xiě)結(jié)果階段,處理器將執(zhí)行階段得到的結(jié)果送到該指令所指定的結(jié)果存儲(chǔ)目的地理想流水線的延遲時(shí)間與非流水線結(jié)構(gòu)的延遲時(shí)間相同,但對(duì)于5級(jí)結(jié)構(gòu)的流水線,指令執(zhí)行吞吐率是非流水線結(jié)構(gòu)的5倍,即執(zhí)行速度是非流水線處理器的5倍9.3.4流水線處理器若存儲(chǔ)器訪問(wèn)(取指令、取數(shù)據(jù)和存結(jié)果)時(shí)間300ps,而譯碼和執(zhí)行時(shí)間都是250ps。那么非流水線結(jié)構(gòu)處理器每秒執(zhí)行的指令數(shù)約7.14×108條指令流水線充滿后的指令吞吐率是300ps,即每秒執(zhí)行的指令數(shù)為3.33×109條指令,是非流水線結(jié)構(gòu)的4.6倍2025/7/2350指令1取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果指令2取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果指令3取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果指令4(b)流水線指令執(zhí)行取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果指令1取指令譯碼取數(shù)據(jù)執(zhí)行存結(jié)果指令2(a)非流水線指令執(zhí)行時(shí)間流水線結(jié)構(gòu)處理器第一條指令取指時(shí),只有該指令第一條指令譯碼的同時(shí),第二條指令取指。取指時(shí)間較譯碼時(shí)間長(zhǎng),譯碼結(jié)束后有50ps的空閑第一條指令取數(shù)據(jù)的同時(shí),第二條指令譯碼,第三條指令取指依次類(lèi)推,流水線充滿后,每經(jīng)過(guò)一級(jí)流水線就完成一條指令流水線執(zhí)行速度由最慢的功能段決定9.4存儲(chǔ)器存儲(chǔ)器:用于處理器系統(tǒng)存放程序代碼和數(shù)據(jù)按工作原理結(jié)構(gòu)分:隨機(jī)訪問(wèn)存儲(chǔ)器:可隨時(shí)讀出或?qū)懭霐?shù)據(jù)、數(shù)據(jù)斷電丟失靜態(tài)存儲(chǔ)器(SRAM)——cache動(dòng)態(tài)存儲(chǔ)器(DRAM)——程序存儲(chǔ),數(shù)據(jù)存儲(chǔ)只讀存儲(chǔ)器(ROM):信息數(shù)據(jù)可長(zhǎng)期掉電保存于器件之中引導(dǎo)程序2025/7/2351存儲(chǔ)位電路—ROM存儲(chǔ)器:有4字,每字3位的存儲(chǔ)容量,每個(gè)MOS管存儲(chǔ)1位信息MOS管(黑色)存儲(chǔ)的信息位為0MOS管(紅色,具體電路中沒(méi)有該MOS管)存儲(chǔ)的信息位為12025/7/2352當(dāng)某一列(字Wi,i=0,1,2,3)被選中時(shí),該列為高電平,而其他所有列(字)都為低電平列(字)為高電平時(shí),該列的MOS管導(dǎo)通,將行(位)拉為低電平,讀出位的值為0;紅色MOS管的位置由于沒(méi)有元件,列(字)對(duì)其無(wú)作用,相應(yīng)的行(位)仍然保持為上拉狀態(tài),讀出位的值為1。其他列(字)為低電平,相應(yīng)列的MOS管都處于截止?fàn)顟B(tài),不影響行(位)的狀態(tài)。可見(jiàn)從左往右各字的內(nèi)容依次是001,010,100,011d2d1d0UDDW3W2W1W0ENROM存儲(chǔ)器電路ENENEN存儲(chǔ)位電路—DRAM四管動(dòng)態(tài)存儲(chǔ)位電路的T1和T2都是N溝道增強(qiáng)型MOS管,其柵極和漏極交叉相連,信息以電荷的形式存儲(chǔ)在柵極電容C1和C2上。電容C1和C2上的電平控制MOS管T1和T2的導(dǎo)通或截止,并與位線上b和b’的信息相關(guān)聯(lián)。若Xi為高電平,使得T3和T4導(dǎo)通。當(dāng)位線b為0,b’為1時(shí),A處為低電平,電容C2被放電,MOS管T2截止;B處為高電平,對(duì)電容C1充電,MOS管T1飽和導(dǎo)通。在數(shù)據(jù)信息保存期間,Xi為低電平使得T3和T4截止,A點(diǎn)的低電平和B點(diǎn)的高電平應(yīng)該持續(xù)維持為原有值,但電容C1和C2都存在充電和放電回路,使得B點(diǎn)(電容C1)電平逐漸降低,而A點(diǎn)(電容C2)電平逐漸升高,超過(guò)高(低)電平閾值時(shí),存儲(chǔ)的信息出錯(cuò)。因此動(dòng)態(tài)存儲(chǔ)器要求對(duì)其存儲(chǔ)位單元中的信息進(jìn)行定期刷新,即適時(shí)充電或放電,以保持其高(低)電平穩(wěn)定2025/7/2353BAT3T4T1T2Xibb’C1C2四管結(jié)構(gòu)可讀寫(xiě)存儲(chǔ)位存儲(chǔ)位電路—DRAM虛線框內(nèi)是三管動(dòng)態(tài)存儲(chǔ)位電路,虛線框外電路由多個(gè)存儲(chǔ)位合用,不計(jì)入存儲(chǔ)位電路。對(duì)三管結(jié)構(gòu)存儲(chǔ)位讀或?qū)憯?shù)據(jù)信息前,“預(yù)充脈沖”信號(hào)為高電平,使得T1和T2導(dǎo)通,對(duì)電容C’充滿電。數(shù)據(jù)信息存入

溫馨提示

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