国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      操作微處理器的方法_3

      文檔序號:8395699閱讀:來源:國知局
      [0041] 136環(huán)境模式指標
      [0042] 202指令格式器
      [0043] 204簡單指令轉譯器
      [0044] 222 x86 SIT
      [0045] 224 ARM SIT
      [0046] 242格式化的x86 ISA及ARM ISA指令
      [0047] 252微編碼地址
      [0048] 206復雜指令轉譯器
      [0049] 232微程序計數器
      [0050] 234微編碼只讀存儲器
      [0051] 235指令間接寄存器
      [0052] 236微序列器
      [0053] 237微轉譯器
      [0054] 244、246 微指令
      [0055] 247 ROM 指令
      [0056] 212 多工器
      [0057] 302預先解碼器
      [0058] 304 IBQ
      [0059] 306長度解碼器及管線邏輯器
      [0060] 308 MQ
      [0061] 312 MUXES
      [0062] 314 FIQ
      [0063] 322 ARM指令集狀態(tài)
      [0064] 401微指令隊列
      [0065] 402寄存器配置表
      [0066] 404指令配送器
      [0067] 406指令保留站
      [0068] 408指令發(fā)出單元
      [0069] 412整數/分支單元
      [0070] 414介質單元
      [0071] 416載入/儲存單元
      [0072] 418浮點單元
      [0073] 422前序緩沖器
      [0074] 424執(zhí)行單元
      [0075] 602~654微處理器的運算步驟流程
      [0076] 100核心0、核心1
      [0077] 892微指令高速緩存存儲器
      【具體實施方式】
      [0078] 術語匯編
      [0079] 指令集定義為一組二進制編碼值對應到微處理器執(zhí)行的運算的映射(mapping), 其中該二進制編碼值為機器語言指令。典型地,機器語言程序以二進制編碼,盡管可能采 用其他系統(tǒng),例如一些較舊的IBM計算機的機器語言程序以十進位編碼,雖然他們最終以 物理訊號的集合來呈現,而這些物理訊號包含的檢測電壓為二進制的值。舉例來說,操作 機器語言指令可命令微處理器執(zhí)行如下述:將第一寄存器的運算元加至第二寄存器的運算 元,并將結果寫入第三寄存器、將存儲器地址0x12345678中的運算元減去指令規(guī)范的直接 運算元(immediate operand),并將結果寫入第五寄存器、以第七寄存器內的位個數字位移 第六寄存器內的值、如果在該指令之后〇標志被設定,分支到36位后的指令、從存儲器地址 OxAB⑶0000載入該值至寄存器8。如此,指令集定義的二進制值是每個機器語言指令必定 驅使微處理器去執(zhí)行所需的運算??衫斫獾氖?,指令集定義的二進制值對應到微處理器運 算的映射,并非意味著單一二進制值映射到單一微處理運算。更具體來說,一些指令集中, 多個二進制值可能映射到相同的微處理運算。
      [0080] 指令集架構(Instruction set architecture, ISA),在微處理器的家族的關系 (context)中,包括(1) 一個指令集(2) -個資源集(例如寄存器或存儲器中的定址模式), 該資源集是通過指令集的指令來存取,以及(3) -個例外集(set of exceptions),該例外 集是由微處理器對應于指令集的指令處理結果所產生,該指令處理結果例如除以零、頁面 錯誤(page fault)、違反存儲器保護。由于程序設計師,例如組合程序設計師或編譯師,欲 產生一機器語言程序可在微處理器家族上執(zhí)行,因此微處理器家族的制造商典型上會在程 序設計者手冊中定義ISA。舉例來說,在ISA出版的同時,在2009年3月Intel 64以及 IA-32架構軟件開發(fā)者的手冊(包括5卷,即第1卷:基礎架構,第2A卷:指令集參考A-M, 第2B卷:指令集參考N-Z,第3A卷:系統(tǒng)程序編寫導引,第3B卷:系統(tǒng)程序編寫導引的第2 部),藉此為各種目的將全部的內容以參考數據的方式合并于本文,以定義Intel 64以及 IA-32處理器架構,這對于參考x86架構以及文中的x86、x86 ISA、x86 ISA家族、x86家族 或相似者是常見的。舉另一個例子來說,當ARM架構參考手冊于2010年出版的同時,ARM v7-A以及ARM v7-R版本錯誤標示,為各種目的將全部的內容以參考數據的方式合并于本 文,以定義ARM處理器架構的ISA,在此亦可參考ARM、ARM ISA、ARM ISA家族、ARM家族或及 其類似者。公知的ISA家族的其他例子如IBM System/360/370/390、z/Architecture、DEC VAX、Motorola 68k、MIPS、SPARC、PowerPC 以及 DEC Alpha。ISA 定義涵蓋了處理器的一個 家族,因為在ISA處理器家族的使用期限中,制造商可能藉由增加新的指令至指令集和/或 增加新的寄存器至架構寄存器集,來增強家族中的原始處理器的ISA。舉例詳述,在x86 ISA 發(fā)展過程中,作為SSE延伸的一部份的一組128位XMM寄存器曾被引入Intel Pentium III 處理器家族,而且x86 ISA機器語言程序也被發(fā)展為使用XMM寄存器以增加效能,盡管現今 的x86 ISA機器語言程序已不使用SSE延伸的XMM寄存器。此外,其他制造商已經設計且制 造出可執(zhí)行x86 ISA機器語言程序的微處理器。舉例來說,AMD (Advanced Micro Devices) 以及威盛電子(VIA)已將新的特征,例如AMD 3DN0W ! SMD向量處理指令以及VIA掛鎖安 全引擎隨機數字產生器(Padlock Security Engine random number generator)及進階解 碼引擎特征,其中的每一個皆是由一些x86 ISA機器語言程序所使用,但在現今的Intel微 處理器中已不使用它們。以其他例子更詳盡地說明,ARM ISA原本定義ARM指令集狀態(tài)包 括4位的指令。然而,ARM ISA逐漸發(fā)展為用來以2位指令來增加Thumb指令集狀態(tài)以增 加編碼的密度、Jazelle指令集狀態(tài)則用來加速Java位編碼程序,且ARM ISA機器語言程 序已開發(fā)為使用一些或其他的ARM ISA指令集狀態(tài),盡管現今的ARM ISA機器語言程序已 不使用其他的ARM ISA指令集狀態(tài)。
      [0081] ISA機器語言程序包含該ISA的一序列的指令,也就是一序列的二進制編碼值,其 為該ISA指令對于程序設計者所要執(zhí)行的運算序列的映射。因此,一x86 ISA機器語言程序 包含一 x86 ISA指令的序列;且一 ARM ISA機器語言程序包含一 ARM ISA指令的序列。該 機器語言程序指令常駐于存儲器中,且由微處理器提取及執(zhí)行。
      [0082] 硬件指令轉譯器包含一晶體管的配置,其接收一 ISA機器語言指令(例如一 x86 ISA或ARM ISA機器語言指令)來作為輸入,并對應地將一個或多個微指令直接輸出至該微 處理器的一執(zhí)行管線。執(zhí)行管線執(zhí)行該一個或多個微指令的結果,為該ISA指令定義的結 果。因此,該一個或多個微指令藉由該執(zhí)行管線的序列執(zhí)行「實行」該ISA指令;也就是,由 硬件指令轉譯器輸出的將執(zhí)行微指令,并由執(zhí)行管線在執(zhí)行由ISA指令定義的輸入端所定 義的ISA指令規(guī)范的運算后,以產生由ISA指令定義的一結果。因此,硬件指令轉譯器可說 是將ISA指令轉譯成一個或多個實行微指令。目前的揭示描述一微處理器的多個實施例, 該微處理器包含一硬件指令轉譯器,其將x86 ISA指令及ARM ISA指令轉譯成微指令。需 注意的是,該硬件指令轉譯器不一定要能轉譯由x86程序設計者的手冊或ARM程序設計者 的手冊定義的全部指令集,只要能轉譯這些指令的一子集(subset),因為大多數的x86 ISA 及ARM ISA處理器只支持這些指令的一子集,其由為他們各自的程序設計者的手冊所定義。 較特別的是,由x86程序設計者的手冊定義、且由硬件指令轉譯器轉譯的該指令子集,不一 定要對應任何仍存在的x86 ISA處理器,而由ARM程序設計者的手冊定義、且由硬件指令轉 譯器轉譯的該指令子集,不一定要對應任何仍存在的ARM ISA處理器。
      [0083] 執(zhí)行管線為一多個階段的序列,其中各階段包含硬件邏輯及一硬件寄存器,用以 保持該硬件邏輯的輸出,以依據微處理器的一時鐘序號,提供至該序列的下一階段。該執(zhí)行 管線可包含多個如此階段的序列,亦即,多重管線。該執(zhí)行管線接收輸入微指令,然后回應 地執(zhí)行由微指令規(guī)范的運算,以輸出結果。各種的管線的該硬件邏輯執(zhí)行由微指令規(guī)范的 運算,其可包括,但不局限于,算數、邏輯、記載存取、比較、測試及分支解析,并且在各種數 據格式上執(zhí)行運算,其可包括,但不局限于,整數、浮點數、字符、二進碼十進數(BCD)及壓 縮。該執(zhí)行管線執(zhí)行微指令,其實行一 ISA指令(例如x86及ARM),以產生由ISA指令定義 的結果。該執(zhí)行管線不同于硬件指令轉譯器;特別是,該硬件指令轉譯器產生這些將執(zhí)行的 微指令,而執(zhí)行管線執(zhí)行它們;此外,該執(zhí)行管線不產生這些將執(zhí)行的微指令。
      [0084] 指令高速緩存存儲器(instruction cache)為一隨機存取存儲裝置,位于一微處 理器中,該微處理器將一 ISA機器語言程序(例如x86 ISA及ARM ISA機器語言指令)的 指令放置于該隨機存取存儲裝置中,這些指令最近從系統(tǒng)存儲器取出,并被
      當前第3頁1 2 3 4 5 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1