国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解指令集和微架構(gòu)

SAE International ? 來源:SAE International ? 作者:SAE International ? 2022-04-18 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

??

1

指令集

建設(shè)一棟大樓的基本元素有:水泥、磚頭、鋼材等原材料,但不同的構(gòu)造過程則會呈現(xiàn)不同的建筑形式,其中建造圖紙起到了很大的指導(dǎo)作用。

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

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

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

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

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

2

指令集與機(jī)器碼的橋梁-編譯器

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

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

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

3

為啥根據(jù)指令集設(shè)計CPU而不是

先設(shè)計CPU再指令集

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

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

因?yàn)樾酒c集成開發(fā)環(huán)境-IDE都遵循相同的指令集標(biāo)準(zhǔn),所以高級語言編寫的程序經(jīng)指定編譯器編譯后能直接運(yùn)行在對應(yīng)的CPU上,反之則不能運(yùn)行。 所以,CPU在設(shè)計之前,就需要先設(shè)計一套指令集或者說使用現(xiàn)成的指令集(如ARM、X86指令集)并在硬件電路上實(shí)現(xiàn)這些指令。CPU設(shè)計好后,還需要配套的編譯器,編譯器也需要參考這個指令集標(biāo)準(zhǔn),將我們編寫的C程序、C++等程序編譯成CPU硬件電路支持的加減乘除、與或非等指令,我們的程序才能在CPU上運(yùn)行。

4

指令集與微架構(gòu)

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

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

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

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

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

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

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

5

指令集分類

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

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

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

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

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

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 指令集
    +關(guān)注

    關(guān)注

    0

    文章

    229

    瀏覽量

    24362
  • 微架構(gòu)
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    7332

原文標(biāo)題:一文了解指令集和微架構(gòu)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    A64指令集通關(guān)筆記:加載與存儲指令全解析

    作為嵌入式 ?Linux? 開發(fā)者, A64? 指令集是我們繞不開的基本功。最近我在復(fù)習(xí)這部分內(nèi)容時,整理了一份帶思考題解答的筆記,希望能幫大家快速掌握核心要點(diǎn)。 ? 開篇:為什么必須啃下 A64
    的頭像 發(fā)表于 01-20 16:23 ?211次閱讀
    A64<b class='flag-5'>指令集</b>通關(guān)筆記:加載與存儲<b class='flag-5'>指令</b>全解析

    【「龍芯之光 自主可控處理器設(shè)計解析」閱讀體驗(yàn)】+本書概覽與龍芯指令集基礎(chǔ)了解.docx

    課程設(shè)計的實(shí)踐指導(dǎo)書。 先從目錄了解下本書內(nèi)容 第一章是基礎(chǔ)知識的介紹,先介紹了系統(tǒng)級芯片的基礎(chǔ)知識,然后是處理器架構(gòu)指令集,這一部分屬于通識,對于嵌入式開發(fā)來說已經(jīng)很熟悉了,所以 粗略,過一遍
    發(fā)表于 01-15 23:07

    武漢芯源MCU的指令集架構(gòu)是什么?有哪些特點(diǎn)?

    武漢芯源MCU的指令集架構(gòu)是什么,有哪些特點(diǎn)?
    發(fā)表于 12-08 06:59

    指令集測試的一種糾錯方法

    了一個20除以6是否等于3的檢驗(yàn)操作,以此完成指令集測試,其中g(shù)p寄存器寄存的是當(dāng)前測試的代號,方便于定位當(dāng)前處于哪個測試。了解完上述信息后,就可以進(jìn)行通過仿真信號進(jìn)行指令集測試糾錯了。 2.通過仿真
    發(fā)表于 10-24 14:04

    蜂鳥E203的浮點(diǎn)指令集拓展(F拓展)

    關(guān)于蜂鳥E203的浮點(diǎn)指令集拓展(F拓展) Whetstone中有很多浮點(diǎn)數(shù)運(yùn)算,而蜂鳥e203中沒有硬件支持,是通過將浮點(diǎn)數(shù)轉(zhuǎn)化成整型數(shù)來計算,效率大大降低。 為了提高Whetstone跑分
    發(fā)表于 10-24 11:51

    無開發(fā)板在Linux系統(tǒng)下進(jìn)行E203內(nèi)核指令集測試以及跑分程序的測試

    完成浮點(diǎn)指令集之前,對架構(gòu)進(jìn)行優(yōu)化,比較有參考性的指令集測試是coremark和dhrystone跑分程序。跑分程序位于/riscv-tools/fpga_test4sim中。 與第
    發(fā)表于 10-24 11:43

    Vector向量指令集簡介(一)

    3位標(biāo)識數(shù)據(jù)位寬,高兩位指示數(shù)據(jù)類型。 指令的類型由vetype的值進(jìn)行標(biāo)記,如果將vetype設(shè)為00000則會禁用向量寄存器。 對于vector指令集來說,有一些必須要明白的名詞需要搞懂
    發(fā)表于 10-23 08:28

    risc-v P擴(kuò)展(一) P指令集簡介

    解碼、醫(yī)學(xué)成像、計算機(jī)視覺、嵌入式控制、機(jī)器人技術(shù)、人機(jī)界面等。 P指令集擴(kuò)展提高了RISC-V CPU IP產(chǎn)品的DSP算法處理能力。隨著RISC-V P指令集擴(kuò)展的增加,RISC-Vcpu現(xiàn)在可以以
    發(fā)表于 10-23 07:40

    RISCV-K指令集擴(kuò)展分享

    RISC-V K擴(kuò)展指的是RISC-V用于提升密碼學(xué)算法的速度、減小應(yīng)用程序大小的一個擴(kuò)展指令集。主要包含了:AES加密算法的加速指令、SHA算法的加速指令,SM3、SM4算法的加速指令
    發(fā)表于 10-23 06:12

    RVB 位操作指令集擴(kuò)展(一)

    一、B擴(kuò)展簡介 B擴(kuò)展,即bit-manipulation (bitmanip) extension,主打增強(qiáng)位操作的指令集。B擴(kuò)展定義了RV32-64下的位操作指令。為了更精準(zhǔn)地在領(lǐng)域
    發(fā)表于 10-22 08:11

    RVF單精度浮點(diǎn)指令集擴(kuò)展介紹(2)

    RVF單精度浮點(diǎn)指令集擴(kuò)展 RVF擴(kuò)展了26條浮點(diǎn)指令。 浮點(diǎn)乘加指令 浮點(diǎn)比較、最大最小值、轉(zhuǎn)移、符號注入、分類指令 浮點(diǎn)除、開方
    發(fā)表于 10-22 07:26

    RVF單精度浮點(diǎn)指令集擴(kuò)展介紹(1)

    RVF單精度浮點(diǎn)指令集寄存器擴(kuò)展 RVF擴(kuò)展了32個獨(dú)立的浮點(diǎn)通用寄存器,其中0號寄存器可變。 RVF擴(kuò)展了1個fcsr寄存器,存放了異常標(biāo)志和動態(tài)舍入模式。 RVF擴(kuò)展必須對misa csr寄存器進(jìn)行一定的修改。
    發(fā)表于 10-22 06:04

    指令集P擴(kuò)展的主要內(nèi)容

    1. 指令集P擴(kuò)展的主要內(nèi)容 新指令的添加,在蜂鳥E203原有指令集的基礎(chǔ)上,可以添加一些新的指令,以滿足新的應(yīng)用需求;指令集擴(kuò)展,在原有
    發(fā)表于 10-21 10:50

    基于蜂鳥E203架構(gòu)指令集K擴(kuò)展

    蜂鳥E203是一款基于RISC-V架構(gòu)的微處理器,其指令集包含RV32I的基本指令集,RV32M的乘法擴(kuò)展指令集,以及一些常用的定點(diǎn)指令和控
    發(fā)表于 10-21 09:38

    RISC-V核低功耗MCU指令集架構(gòu)(ISA)特點(diǎn)

    自由使用、修改底層指令集,降低芯片設(shè)計成本并加速定制化開發(fā)?。 靈活擴(kuò)展?:支持基礎(chǔ)指令集(如RV32I/RV64I)與可選擴(kuò)展模塊(如浮點(diǎn)運(yùn)算、向量加速)的組合,開發(fā)者可根據(jù)低功耗需求裁剪冗余功能?。 二、?模塊化與精簡設(shè)計? 核心
    的頭像 發(fā)表于 04-23 10:01 ?1391次閱讀