freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]第2章arm微處理器硬件結(jié)構(gòu)(存儲(chǔ)版)

  

【正文】 而 ARM6核以及更早的系列已經(jīng)很罕見(jiàn)了。 ? 例如,當(dāng)與 ROM接口時(shí),在數(shù)據(jù)被讀出之前地址必須一直有效。此信號(hào)用來(lái)防止控制器允許其它器件訪問(wèn)存儲(chǔ)器。當(dāng)nWAIT不使用時(shí),它必須接高。若 nRESET保持到超過(guò)最大地址界限,則地址溢出為零。在接下來(lái)的時(shí)鐘周期,當(dāng)處理器請(qǐng)求存儲(chǔ)器訪問(wèn)時(shí),它為低。 。 ? 優(yōu)化編譯 。 解決:引入延時(shí)分支、盡早計(jì)算轉(zhuǎn)移成功時(shí)的目標(biāo)地址。 當(dāng)從存儲(chǔ)器調(diào)入一個(gè)字節(jié)和半字時(shí),根據(jù)指令對(duì)數(shù)據(jù)的操作類型,將其無(wú)符號(hào) 0或有符號(hào)“符號(hào)位”擴(kuò)展為 32位,進(jìn)而作為 32位數(shù)據(jù)在內(nèi)部進(jìn)行處理。 ? 當(dāng)?shù)刂房偩€有效時(shí),用 ALE、 ABE和 APE來(lái)控制。在存儲(chǔ)周期,在 MCLK下降沿之前變?yōu)橛行?,并保持有效直?MCLK的上升沿為止。 MMU使用這個(gè)信號(hào)來(lái)判定訪問(wèn)是取操作碼還是數(shù)據(jù)傳送。當(dāng)然它也會(huì)被黑客用來(lái)讓用戶應(yīng)用去訪問(wèn)任意的存儲(chǔ)位置 (如I/ O 空間 )。 計(jì)算機(jī)應(yīng)用研究所 74 ABORT信號(hào) ? ABORT(memory abort) ? 存儲(chǔ)系統(tǒng)使用該信號(hào)通知處理器其所請(qǐng)求的訪問(wèn)是不允許的。 ? 順序周期 請(qǐng)求向或從某一地址傳送。在下一個(gè)總線周期結(jié)束時(shí),數(shù)據(jù)在 CPU和存儲(chǔ)器之間傳送。 計(jì)算機(jī)應(yīng)用研究所 84 突發(fā)傳輸 ? 突發(fā)總是從 N周期或合并的 IS周期開(kāi)始,接著是 S周期。當(dāng)這種情況發(fā)生時(shí),下一個(gè)存儲(chǔ)周期的地址在內(nèi)部周期期間就在總線上廣播。 ? 在嵌入式系統(tǒng)中 Cache全部都集成在嵌入式微處理器內(nèi)。 計(jì)算機(jī)應(yīng)用研究所 99 命中率 計(jì)算機(jī)應(yīng)用研究所 100 高速緩存( Cache)的分類 ? 統(tǒng)一 Cache: 如果一個(gè)存儲(chǔ)系統(tǒng)中指令預(yù)取時(shí)使用的cache和數(shù)據(jù)讀寫時(shí)使用的 cache是用一個(gè) cache,這是稱系統(tǒng)使用統(tǒng)一的 cache。 注意: 讀操作分配 主要在數(shù)據(jù)讀取未命中時(shí),才進(jìn)行cache內(nèi)容預(yù)取填充。 計(jì)算機(jī)應(yīng)用研究所 106 ? 在 cache存儲(chǔ)系統(tǒng)中,把主存儲(chǔ)器和 cache都劃分成相同大小的塊。 若 cache已滿,根據(jù)替換算法替換某 cache塊。 計(jì)算機(jī)應(yīng)用研究所 111 組相聯(lián)映像與變換 111 映像關(guān)系: 主存第 M塊只能映象到 cache的第 k 組,但組內(nèi)映像任意 : k= M mod( G) ( G為 Cache的組數(shù)) 討論: Cache組數(shù)為 1時(shí),全相聯(lián)映像; Cache組內(nèi)塊數(shù)為 1 ,直接映像; 當(dāng)主存空間和 Cache空間確定時(shí),組內(nèi)塊數(shù)多,沖突概率小,變換復(fù)雜,組內(nèi)塊數(shù)少,沖突概率大,變換簡(jiǎn)單。 ? 為了適應(yīng)不同的嵌入式應(yīng)用, ARM存儲(chǔ)系統(tǒng)的體系結(jié)構(gòu)存在很多差別。 計(jì)算機(jī)應(yīng)用研究所 116 ARM存儲(chǔ)管理單元 MMU ?系統(tǒng)控制協(xié)處理 CP15的功能 ?用于處理、控制 ARM的特殊性能 ?片上存儲(chǔ)器管理單元 (MMU) ?指令、數(shù)據(jù)緩存 ?寫緩沖器 計(jì)算機(jī)應(yīng)用研究所 117 寄存器 作 用 寄存器 C1中的某些位 用于配置 MMU中的一些操作 寄存器 C2 保存內(nèi)存中一級(jí)頁(yè)表的基地址 寄存器 C3 設(shè)置域( domain)的訪問(wèn)控制屬性 寄存器 C4 保留 寄存器 C5 內(nèi)存訪問(wèn)失效狀態(tài)指示 寄存器 C6 內(nèi)存訪問(wèn)失效時(shí)失效的地址( (虛擬地址) ) 寄存器 C8 控制與清除 TLB內(nèi)容相關(guān)操作 寄存器 C10 控制與鎖定 TLB內(nèi)容相關(guān)操作 協(xié)處理 CP15 ? 為控制這些特性, CP15提供了 16 個(gè)額外寄存器 ,其中 8個(gè)與 MMU相關(guān) 117 禁止、使能 MMU、cache和寫緩沖 32bit,每 2位設(shè)置一個(gè)域的 4種不同訪問(wèn)屬性。如果 TLB已 經(jīng)滿了,則需要根據(jù) 一定的替換算法進(jìn)行替換。 計(jì)算機(jī)應(yīng)用研究所 123 ARM存儲(chǔ)器存儲(chǔ)訪問(wèn)過(guò)程 ? ② 如果芯片禁止 MMU時(shí)使能 cache和 write buffer, arm存儲(chǔ)器經(jīng) cache和 write buffer,與主存交換數(shù)據(jù)。 ? 二級(jí)頁(yè)表中包含有以大頁(yè)和小頁(yè)為單位的地址變換條目。 計(jì)算機(jī)應(yīng)用研究所 128 四種格式的 一級(jí)描述符 0 0 粗粒度二級(jí)頁(yè)表的基地址 0 域 用戶定義 0 1 段基地址 為 0 A P 0 域 C B 1 0 細(xì)粒度二級(jí)頁(yè)表基地址 為 0 域 用戶定義 1 1 無(wú)效 粗表 段 細(xì)表 31 20 19 12 11 10 9 8 5 4 3 2 1 0 計(jì)算機(jī)應(yīng)用研究所 129 粗粒度頁(yè)表描述符 ? 當(dāng)一級(jí)描述符的位 [1..0]為 0b01( 0b代表二進(jìn)制)時(shí),該一級(jí)描述符中包含了粗粒度的二級(jí)頁(yè)表的物理地址,這種一級(jí)描述符稱為粗粒度頁(yè)表描述符。一級(jí)頁(yè)表實(shí)現(xiàn)的地址映射粒度較大。對(duì)于允許緩存( cached)的存儲(chǔ)訪問(wèn),如果在 cache命中,則忽略物理地址;如果 cache沒(méi)有命中,則使用步驟( 1)中得到的物理地址訪問(wèn)內(nèi)存,并把該塊數(shù)據(jù)讀取到 cache中。 ? 訪問(wèn) CP15寄存器的指令有如下兩條: ? MCR Register Coprocessor Register ? MRC Coprocessor Register Register 注意: 這兩條指令只能在系統(tǒng)模式下執(zhí)行;在用戶模式下執(zhí)行該指令將引起異常。 ? 存儲(chǔ)器訪問(wèn)權(quán)限的控制。 缺點(diǎn):命中率低, cache平均性能 不穩(wěn)定。 每區(qū)分成若干個(gè)塊,某個(gè)塊只能 映象到 Cache 的一個(gè)特定的 塊。 若未命中,虛擬地址經(jīng)地址轉(zhuǎn)換部件(頁(yè)表)轉(zhuǎn)換成物理地址訪問(wèn)主存。 標(biāo)志區(qū)保存內(nèi)存數(shù)據(jù)塊的高位地址作為檢索項(xiàng),緩沖區(qū)保存內(nèi)存數(shù)據(jù)塊的若干個(gè)字。 ? 讀操作分配 cache, 當(dāng)進(jìn)行數(shù)據(jù)寫操作時(shí) ,如果 cache未命中,只是簡(jiǎn)單的將數(shù)據(jù)寫入主存中。 ? 寫入方法: ? 通寫 ( Write Through) :寫 Cache時(shí) , Cache與對(duì)應(yīng)內(nèi)存內(nèi)容同步更新 。 ? 在協(xié)處理器寄存器傳送期間,存儲(chǔ)系統(tǒng)不允許驅(qū)動(dòng)數(shù)據(jù)總線。 ? 只要可能, ARM7TDMI就廣播下一次訪問(wèn)的地址以便開(kāi)始譯碼,但存儲(chǔ)控制器不允許進(jìn)行存儲(chǔ)器訪問(wèn)。突發(fā)傳送的第一個(gè)周期,地址可與前一個(gè)內(nèi)部周期相同。存儲(chǔ)控制器必須啟動(dòng)存儲(chǔ)器訪問(wèn)來(lái)滿足這個(gè)請(qǐng)求。 計(jì)算機(jī)應(yīng)用研究所 78 ARM7TDMI的一個(gè)存儲(chǔ)周期 MCL Kn MRE QSE QA [3 1 : 0 ]D [3 1 : 0 ]A PE高阻抗態(tài) 總線變化 計(jì)算機(jī)應(yīng)用研究所 79 4種類型的總線周期 ? ARM7TDMI的總線接口可以實(shí)現(xiàn)如下 4種不同類型的總線周期: ? 非順序周期 請(qǐng)求向或從某一地址傳送。在Thumb狀態(tài),新地址可以是相同的半字或下一個(gè)半字。 ?nTRANS可由 LDRT和 STRT指令來(lái)適當(dāng)設(shè)置。這是一個(gè)由APE、 ALE和 ABE控制的信號(hào)。所有的字必須字對(duì)準(zhǔn)。 ? 使用 nWAIT信號(hào)可以延長(zhǎng)總線周期。 ? 32位有符號(hào)和無(wú)符號(hào)字 , 以 4字節(jié)的邊界對(duì)齊 。 ( 1)縮短程序執(zhí)行時(shí)間 : ? 提高時(shí)鐘頻率 fclk ? 減少每條指令的平均時(shí)鐘周期數(shù) CPI 流水線技術(shù) Tprog:程序執(zhí)行時(shí)間 Ninst:指令條數(shù) CPI:指令平均時(shí)鐘周期數(shù) FCLK:時(shí)鐘頻率 計(jì)算機(jī)應(yīng)用研究所 52 流水線技術(shù) ( 2)解決流水線相關(guān) : 結(jié)構(gòu)相關(guān) 數(shù)據(jù)相關(guān) 控制相關(guān) 如果某些指令在流水線中重疊執(zhí)行時(shí),產(chǎn)生資源沖突,則稱該流水線存在結(jié)構(gòu)相關(guān)。 ? 減少指令數(shù)和尋址方式 。 注意 :兩個(gè)狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容 。在突發(fā)傳送期間不能改變方向。這個(gè)信號(hào)必須保持為低至少達(dá) 2個(gè)時(shí)鐘周期,同時(shí) nWAIT保持為高。 計(jì)算機(jī)應(yīng)用研究所 33 nWAIT信號(hào) ? nWAIT(not wait) ? 當(dāng)它為低時(shí),處理器將其訪問(wèn)時(shí)間延長(zhǎng)幾個(gè) MCLK周期,這對(duì)訪問(wèn)低速存儲(chǔ)器或外圍設(shè)備有用。 ? LOCK用于向仲裁器指示總線上正在進(jìn)行原子性(atomic)操作。 ? 當(dāng)該信號(hào)為低時(shí),鎖存地址總線、 LOCK、 MAS[1:0]、 nRW、 nOPC和 nTRANS信號(hào)。 計(jì)算機(jī)應(yīng)用研究所 21 ARM體系結(jié)構(gòu)版本 ? 各 ARM體系結(jié)構(gòu)版本 —— V7 ? ARMv7定義了 3種不同的處理器配置 ( processor profiles) : ? Profile A是面向復(fù)雜、基于虛擬內(nèi)存的 OS和應(yīng)用的 ? Profile R是針對(duì)實(shí)時(shí)系統(tǒng)的 ; ? Profile M是針對(duì)低成本應(yīng)用的優(yōu)化的微控制器的 。 ? 在邏輯上, ARM可以擴(kuò)展 16個(gè)協(xié)處理器,每個(gè)協(xié)處理器可有 16個(gè)寄存器。如廠商可為多媒體信號(hào)處理加入相關(guān)的指令集,或?yàn)?Java相關(guān)的應(yīng)用加入高效執(zhí)行單元,或增加 3D圖形協(xié)處理器等等。 ARM7嵌入式微處理器亦采用此結(jié)構(gòu) 計(jì)算機(jī)應(yīng)用研究所 5 哈佛體系結(jié)構(gòu) 指令寄存器 控制器 數(shù)據(jù)通道 輸入 輸出 CPU 程序存儲(chǔ)器 指令 0 指令 1 指令 2 數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù) 0 數(shù)據(jù) 1 數(shù)據(jù) 2 地址 指令 地址 數(shù)據(jù) 結(jié)構(gòu)特點(diǎn): 指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi),指令和數(shù)據(jù)分別位于不同的存儲(chǔ)空間。 處理器利用相同的總線處理內(nèi)存中的指令和數(shù)據(jù),指令和數(shù)據(jù)具有相同的數(shù)據(jù)寬度,指令與數(shù)據(jù)無(wú)法同時(shí)存取。 ? 應(yīng)用方案非常靈活:由于 ARM公司只是提供了一個(gè)高效精簡(jiǎn)的核心,各半導(dǎo)體廠商可根據(jù)自身需求進(jìn)行應(yīng)用設(shè)計(jì),架構(gòu)靈活簡(jiǎn)便、擴(kuò)展力很強(qiáng)。協(xié)處理器接口可以看作 ARM內(nèi)部總線的擴(kuò)展, ARM處理器內(nèi)核能通過(guò)協(xié)處理器指令對(duì)協(xié)處理器進(jìn)行操作。此架構(gòu)在 V5版基礎(chǔ)上增加了以下功能: 改進(jìn)了 ARM/Thumb狀態(tài)之間的切換效率; ? THUMBTM: 35%代碼壓縮; ? DSP擴(kuò)充:高性能定點(diǎn) DSP功能; ? JazelleTM: Java性能優(yōu)化,可提高 8倍; ? Media擴(kuò)充:音 /視頻性能優(yōu)化,可提高 4倍。 ? 對(duì)于新設(shè)計(jì),若需要地址重新定義時(shí), ARM公司則推薦使用APE,并將 ALE接高。 計(jì)算機(jī)應(yīng)用研究所 31 LOCK信號(hào) ? LOCK(locked operation) ? 一個(gè)受 APE、 ALE和 ABE控制的信號(hào)。另外, nWAIT可與自由運(yùn)行的 MCLK一起使用以獲得同樣的效果。低電平將引起正在執(zhí)行的指令非正常中止。 S周期的突發(fā)傳送始終是讀突發(fā),或者寫突發(fā)。 ? 16位 Thumb指令集:是 ARM指令集的子集,按 16位指令重新編碼,固定的 16位指令, Load/Store RISC特征, 2地址格式。 ? 芯片邏輯不采用或少采用微碼技術(shù) , 而采用硬布線邏輯 。 ? PC指向正被取指的指令,而非正在執(zhí)行的指令 Fetch Decode Execute 從存儲(chǔ)器中讀取指令 解碼指令 寄存器讀(從寄存器 Bank) 移位及 ALU操作 寄存器寫(到寄存器 Bank ) PC PC PC 4 PC2 PC 8 PC 4 ARM Thumb 計(jì)算機(jī)應(yīng)用研究所 51 ? 在 ARM7的 3級(jí)流水線結(jié)構(gòu)中流水線易出現(xiàn)阻塞或間斷,這必然降低了流水線的效率,為了提高處理器的性能,必然要考慮如何優(yōu)化處理器的組織結(jié)構(gòu)。 ? 16位有符號(hào)和無(wú)符號(hào)半字 , 以 2字節(jié)的邊界對(duì)齊 。 ? ARM7TDMI使用 MCLK的上升沿和下降沿。 ? 所有數(shù)據(jù)值必須在它們固有的邊界對(duì)準(zhǔn)。有效地址位參見(jiàn)下表: MAS[1:0] 寬度 有效地址位 00 字節(jié) A[31:0] 01 半字 A[31:1] 10 字 A[31:2] 11 保留
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1