色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

了解指令集和微架構

SAE International ? 來源:SAE International ? 作者:SAE International ? 2022-04-18 15:34 ? 次閱讀

??

1

指令集

建設一棟大樓的基本元素有:水泥、磚頭、鋼材等原材料,但不同的構造過程則會呈現不同的建筑形式,其中建造圖紙起到了很大的指導作用。

同樣, CPU從表象上看雖然形式很多,但基本電路都由晶體管構成,例如常見的MOS管。

76fd929a-bee3-11ec-9e50-dac502259ad0.png

通過晶體管等基本電子元器件的組合可構成基本的邏輯電路:如與門、非門、與非門等。

774ae11c-bee3-11ec-9e50-dac502259ad0.png

這些基本邏輯電路通過不同的邏輯組合可分別完成不同的功能,就好比“把大象放進冰箱的段子”,首先打開冰箱門-->然后把大象放進去-->最后關上冰箱門。通過這些邏輯組合使動作具有了意義,而這些實現特定功能的邏輯組合集合就是指令集,如基本的加減運算。 指令集是一個標準,其會隨著需求變化不斷添加新的指令或優化。同樣,指令集發生變更后,工程師在設計CPU時也需要在硬件電路上增加對應的電路模塊來支持變更的指令,配套的編譯器也會隨之升級。我們在玩51、STM32單片機時需要相應的編譯器來實現相應程序開發就是這個道理。而在任何一款遵循同一指令集架構實現的處理器上,開發的應用無須做任何修改便可以運行。

2

指令集與機器碼的橋梁-編譯器

無論處于上層的應用程序多么酷炫吊炸天,其在處理器上執行就必須被翻譯成“機器語言”,然后通過0或1的排列組合去操作硬件實現功能。翻譯官這個角色就是編譯器的活,它將軟件與硬件世界連接了起來。編譯器在這個過程中,要經過編譯、匯編、鏈接等幾個步驟, 最后生成"可執行文件",可執行文件中保存的是二進制機器碼,這串機器碼可以直接被CPU讀取和執行。

77861ae8-bee3-11ec-9e50-dac502259ad0.png

上圖表示在指令寄存器中正在執行的一段為00101110機器碼,左四位0010為指令集LOAD_A(匯編代碼,將數據放到寄存器A),右四位1110(RAM地址,就是要去取這個地址上的8bit 機器碼數據放到寄存器A)。注意到0010這4bit數據先被放入一個門電路中,輸出結果就是1bit(拉高電壓),去控制內存讀取這一條wire。這個圖只突出顯示了開啟內存讀取一條wire的原理,沒有顯示在這一步指令中所有門電路原理圖。

3

為啥根據指令集設計CPU而不是

先設計CPU再指令集

設計一款CPU的過程就好比建房子,我們建房子肯定先要以一定的建設標準和規范為前提,依據一定的工程標準不僅使建設過程有序進行更重要的是最終能被驗收和被大家所接受。這也類似于我們軟件開發流程,必須先有需求再有開發,否則開發的軟件都沒有應用的場景。因此憑空設計一款CPU,首先會不會被廠商用另說,很多相應的配套也難以支持更何談讓軟件開發人員進行開發和推廣了。所以指令集作為一種標準規范,用于規范芯片設計工程師及編譯器開發工程師。

77abe39a-bee3-11ec-9e50-dac502259ad0.png

因為芯片與集成開發環境-IDE都遵循相同的指令集標準,所以高級語言編寫的程序經指定編譯器編譯后能直接運行在對應的CPU上,反之則不能運行。 所以,CPU在設計之前,就需要先設計一套指令集或者說使用現成的指令集(如ARM、X86指令集)并在硬件電路上實現這些指令。CPU設計好后,還需要配套的編譯器,編譯器也需要參考這個指令集標準,將我們編寫的C程序、C++等程序編譯成CPU硬件電路支持的加減乘除、與或非等指令,我們的程序才能在CPU上運行。

4

指令集與微架構

微架構是將指定指令集在處理器中如何執行實現的方法,同現實生活中解決相同問題有很多途徑的原理一樣:同一指令集可以有不同的微架構,因同一指令可以通過不同的電路單元或組合來實現。例如英特爾基于x86指令集的微架構就很多代:

77c1e898-bee3-11ec-9e50-dac502259ad0.png

再比如ARM M系列處理器基于Armv6-M指令集所構建的M0/M1等微架構:

77de3840-bee3-11ec-9e50-dac502259ad0.png

我們曾接觸的STM32F4系列單片機就是基于Armv7-M指令集的ARM Cortex-M4內核:

77f1aa06-bee3-11ec-9e50-dac502259ad0.png

不同的微架構有著不同的用途和性能,總體來說一大堆的運算單元、邏輯單元、寄存器等在各種總線和控制線的連接下組成了CPU的微架構。因此處理器架構是微架構和指令集架構的結合,指令集是處理器的語言,而微架構是具體的實現。

5

指令集分類

目前市面上存在兩種指令集類型:

Reduced Instruction Set Computing (RISC) 精簡指令集:比如ARM、MIPS和大火的RISC-V等。

Complex Instruction Set Computing (CISC) 復雜指令集:比如IntelAMD的X86等。

其中x86架構主要占據傳統PC市場,善于處理大數據;ARM占據移動市場,善于處理快數據;而RISC-V則依靠自己精簡的優勢在數據傳輸領域占據優勢。除此之外,其他指令集架構也占據部分市場如MIPS、Power等。

78184922-bee3-11ec-9e50-dac502259ad0.jpg

無論是CISC還是RISC,除了努力鞏固自己的性能優勢,加強產品的性能外,還需要汲取雙方產品的特色,取長補短,期望有所突破,例如英特爾逐漸開始擁抱RISC-V。不過無論如何,未來的CPU肯定在朝著高性能、低功耗的方向發展。誰能在低功耗下提供高性能,誰就有希望獲得成功。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 指令集
    +關注

    關注

    0

    文章

    226

    瀏覽量

    23396
  • 微架構
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7052

原文標題:一文了解指令集和微架構

文章出處:【微信號:SAEINTL,微信公眾號:SAE International】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架構。而RISC-V目標就是“成為一種完全開放的指令集架構,可被任何學術機構或商業組織自由使用”。 RISC-V
    發表于 11-30 23:30

    指令集架構架構的區別

    指令集架構(Instruction Set Architecture,ISA)與架構(Microarchitecture)是計算機體系結構中的兩個重要概念,它們在處理器的設計和實現中
    的頭像 發表于 10-05 15:10 ?608次閱讀

    簡述微處理器的指令集架構

    微處理器的指令集架構(Instruction Set Architecture,ISA)是計算機體系結構中的核心組成部分,它定義了計算機能夠執行的指令集合、數據類型、寄存器、內存訪問方式等,是連接
    的頭像 發表于 10-05 14:59 ?509次閱讀

    RISC-V和arm指令集的對比分析

    RISC-V和ARM指令集是兩種不同的計算機指令集架構,它們在多個方面存在顯著的差異。以下是對這兩種指令集的詳細對比分析: 一、設計理念 RISC-V :RISC-V的設計理念是簡化
    發表于 09-28 11:05

    RISC-V指令集的特點總結

    開源 定義:RISC-V 是完全開源的指令集架構(ISA),意味著任何人都可以查看、使用、修改以及分發其設計,而無需支付版權費用。 優勢:這種開源特性促進了全球性的創新和合作。 社區化 定義
    發表于 08-30 22:05

    RISCV的主流指令集有哪些?

    如題,就像X86中指令集有MMX,SSE,SSE2等,就像ARM指令集有ARM和Thumb等,但是總是感覺RISCV特別亂,可能是廠商比較多的緣故吧,我知道的有WCH的青稞RISC-V,玄鐵
    發表于 08-29 13:49

    復雜指令集和精簡指令集有什么區別

    的兩種主要指令集架構,它們在多個方面存在顯著的差異。以下是對這兩種指令集架構的詳細比較,涵蓋設計理念、指令復雜性、尋址方式、實現方式、性能特
    的頭像 發表于 08-22 11:00 ?3535次閱讀

    微處理器的指令集架構介紹

    微處理器的指令集架構(Instruction Set Architecture,ISA)是計算機體系結構中至關重要的部分,它定義了微處理器能夠執行的操作和指令的集合,以及這些指令如何被
    的頭像 發表于 08-22 10:53 ?1382次閱讀

    CISC(復雜指令集)與RISC(精簡指令集)的區別  

    Instruction Set Computers,復雜指令集計算)和RISC(Reduced Instruction Set Computers)是兩大類 主流的CPU指令集類型,其中CISC以Intel,AMD
    發表于 07-30 17:21

    嵌入式系統的概念與范圍開發 指令集架構要怎么選才合適?

    想要搭建一套嵌入式系統,首先得確認想要采用的指令集架構(Instruction Set Architectures, ISA),各家的指令集架構各有其優缺點與擁護者,本文將為您大致介紹
    的頭像 發表于 03-28 09:35 ?850次閱讀
    嵌入式系統的概念與范圍開發 <b class='flag-5'>指令集</b><b class='flag-5'>架構</b>要怎么選才合適?

    RISC-V開源指令集全面指南與解析

    它應該是穩定的,基礎的指令集架構不應該改變。更重要的是,它不能像以前的專有指令集架構一樣被棄用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewl
    的頭像 發表于 03-13 09:41 ?766次閱讀
    RISC-V開源<b class='flag-5'>指令集</b>全面指南與解析

    什么是RISC-V?RISC-V指令集的優勢

    CPU 支持的所有指令指令的字節級編碼就是這個 CPU 的指令集架構(Instruction Set Architecture,ISA),指令集
    發表于 03-05 10:31 ?886次閱讀
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的優勢

    【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集

    【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集 匯編語言 將C語言翻譯成可執行的機器語言的重要步驟包括編譯過程,匯編過程,鏈接過程。 函數調用約定過程分為六個階段: 1)將參數存放
    發表于 02-03 13:29

    【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集

    第2章 RV32I:RISC-V基礎整數指令集 本章重點講解構成RISC-V基礎整數指令集的基本指令指令格式。主要包含寄存器間操作的R型,用于短立即數和取數操作的I型,用于存數操作的
    發表于 01-31 21:10

    【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集RV32I

    。 圖1:RV32I指令集 在講RISC-V各個階段,橫向比較ARM架構,體現出RISC-V的優越性。 ●RV32I寄存器 RISC-V基礎指令集RV32I,只有6種基本指令
    發表于 01-28 11:41
    主站蜘蛛池模板: 回复术士人生重启在线观看| z00兽200俄罗斯| 91久久夜色精品| 精品国产九九| 亚洲 欧洲 国产 日产 综合| 高清毛片一区二区三区| 人妖干美女| yellow日本动漫观看免费| 免费观看a视频| 97资源站超碰在线视频| 麻豆一区二区三区蜜桃免费| 中文字幕亚洲无线码高清不卡| 久久久高清国产999尤物| 与邻居换娶妻子2在线观看| 久久99国产精品无码AV| 亚洲中文字幕在线第六区| 久久99国产精品一区二区| 在线综合 亚洲 欧美| 毛片免费观看的视频在线| 99久酒店在线精品2019| 欧美伊人久久大香线蕉综合69| 草莓视频在线看免费高清观看 | 思思久99久女女精品| 国产精品久久久久久精品... | 青青视频国产色偷偷| brazzers情欲狂欢| 欧美熟妇互舔20p| 99久久无码一区人妻A片竹菊| 免费毛片在线播放| av先锋影音资源男人站| 日本人添下面的全过程| 国产精品资源网站在线观看| 亚洲精品中文字幕制| 久久伊人在| 超碰caopro熟女m超碰分类| 思思久99久女女精品| 和姐姐做插得很深| 99精品免费久久久久久久久蜜桃| 日韩一区二区三区视频在线观看| 国产精品人妻无码99999| 亚洲伊人久久一次|