一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

簡(jiǎn)單講講RISC-V指令集CPU的參數(shù)

冬至配餃子 ? 來(lái)源:天奇工作室 ? 作者:LRC ? 2022-08-07 14:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第二代CPU新鮮出爐。

下面簡(jiǎn)單講講該CPU的參數(shù)。

poYBAGLvYTWAJ5kKAACYFY2VAk8677.png

CPU芯片封裝全貌

本次CPU采用32位RISC-V指令集架構(gòu)(一代是自己瞎編指令集)。指令集就是程序指令的集合,指引硬件如何設(shè)計(jì)、如何運(yùn)行。不同指令集的CPU運(yùn)行的程序是不同的,相同的指令集的CPU則基本可以兼容為此指令集編寫(xiě)的程序。目前主流的指令集有電腦中的x86和手機(jī)中的ARM。RISC-V作為一種新興的指令集架構(gòu),它汲取了之前的指令集的架構(gòu)的優(yōu)缺點(diǎn),有著先天的優(yōu)勢(shì)。此外,它不同于老牌指令集架構(gòu),沒(méi)有需要為前代軟件兼容的困擾,可以說(shuō)是無(wú)病一身輕,整個(gè)架構(gòu)輕盈簡(jiǎn)單卻又高效。

poYBAGLvYVCAMttnAADYkAZcp_s051.png

第二級(jí)流水線(xiàn)

采用6級(jí)流水線(xiàn)設(shè)計(jì)(一代是單周期設(shè)計(jì),可以理解成一級(jí)流水線(xiàn))。流水線(xiàn)設(shè)計(jì)是CPU設(shè)計(jì)的一大難點(diǎn),開(kāi)始設(shè)計(jì)之初我曾考慮是否真的要直接上5級(jí)經(jīng)典流水線(xiàn)(一位學(xué)長(zhǎng)曾勸我再改進(jìn)一次單周期CPU),最后竟然還多設(shè)計(jì)出了1級(jí)流水線(xiàn)。我先解釋一下流水線(xiàn)是什么。CPU中有很多部件(這些部件不一定有很清楚的邊界并且不一定是處于一個(gè)集中的位置),例如譯碼器(將指令翻譯成控制信號(hào))、寄存器組(存放數(shù)據(jù)),ALU(計(jì)算單元)和存儲(chǔ)控制單元(控制讀取和寫(xiě)入數(shù)據(jù))等等。單周期CPU執(zhí)行一條指令需要一個(gè)周期,在這整個(gè)周期中執(zhí)行指令需要分別用到上面所說(shuō)的所有部件,用是都要用,但是在本周期的一個(gè)時(shí)間段中至多只能用到一個(gè)單元,那么這段時(shí)間中總有別的單元被閑置了,而這些單元是線(xiàn)性排布的,在用寄存器組之前必須先經(jīng)過(guò)譯碼器解碼,經(jīng)過(guò)ALU之前必須從寄存器組中讀取數(shù)據(jù)……比如說(shuō):一個(gè)時(shí)鐘周期是1s。譯碼占0.2s,從寄存器中讀數(shù)占0.2s,計(jì)算占0.4s,寫(xiě)回?cái)?shù)據(jù)占0.2s,加起來(lái)一共是1s。

如果我們每周期只用一個(gè)單元,讓多個(gè)指令依次使用這些單元,那么就可以極大提高CPU的執(zhí)行速度,這就是流水線(xiàn)技術(shù)。那么時(shí)鐘周期就縮短至0.4s(與耗時(shí)最長(zhǎng)的那一步時(shí)間齊平),其中譯碼占0.2s,從寄存器中讀數(shù)占0.2s,計(jì)算占0.4s,寫(xiě)回?cái)?shù)據(jù)占0.2s。我們發(fā)現(xiàn)時(shí)鐘周期可以變短了,也就是頻率變高了,處理速度變快了。

其實(shí)聽(tīng)起來(lái)也沒(méi)那么難嘛?考慮一下這個(gè)問(wèn)題。假設(shè)第一條指令是把A寄存器中的數(shù)值和B寄存器的數(shù)值加起來(lái)放到C的寄存器里,第二條指令是把B寄存器的數(shù)值和C的寄存器的數(shù)值加起來(lái)放到A的寄存器中。那么第二個(gè)指令開(kāi)始執(zhí)行到ALU(計(jì)算單元)的前端的時(shí)候就會(huì)發(fā)現(xiàn)第二條指令要用的C的數(shù)值呢?哦,前一條指令還沒(méi)算出C的數(shù)值,那怎么辦?那第二條指令還不能執(zhí)行。什么時(shí)候能執(zhí)行?第一條指令算好的時(shí)候。第一條指令什么時(shí)候算好?不知道……反正一堆麻煩。而且大多數(shù)真實(shí)情況是前面有十幾條指令要用C的數(shù)值,并且指令可能各不相同,有的是做做加法,有的可能是做做除法(異常耗時(shí)),有的甚至拿C寄存器的數(shù)值作為地址訪(fǎng)問(wèn)內(nèi)存。你們可以想想這個(gè)問(wèn)題要怎么解決。

pYYBAGLvYWmAWTN4AAG-Fnnl8i0271.png

端口寫(xiě)入讀取寄存器組

第二條指令要等第一條指令。這種情況又被叫作沖突(hazard),沖突又被分為寄存器沖突和結(jié)構(gòu)沖突(好像是這兩個(gè)詞,意思領(lǐng)會(huì)到就行),這種屬于寄存器沖突。剛才說(shuō)到,第二條指令不能等第一條指令,那么我們需要一種特殊的信號(hào)控制無(wú)指令的單元,這種信號(hào)叫作空泡(bubble)。那么回過(guò)來(lái)想,雖然用了流水線(xiàn),但是因?yàn)楦鞣N沖突,指令可能也不能好好執(zhí)行幾個(gè)。相反,可能由于這復(fù)雜的控制電路和更高的電路運(yùn)行頻率,功耗變高了,芯片面積變大了,好像適得其反。那么我們就要講到第二代CPU的第二個(gè)亮點(diǎn)。

亂序執(zhí)行。什么第二個(gè)指令不能執(zhí)行?那第三個(gè)能嗎?第三個(gè)可以!那就先執(zhí)行第三個(gè)。這就是亂序執(zhí)行的全部邏輯??雌饋?lái)也很簡(jiǎn)單,但做起來(lái)確實(shí)不太容易。當(dāng)時(shí)設(shè)計(jì)之初也在考慮是否要實(shí)現(xiàn)亂序執(zhí)行,因?yàn)榱魉€(xiàn)的難度已經(jīng)很大了,亂序執(zhí)行再加下去難度簡(jiǎn)直要爆炸,但是我轉(zhuǎn)念一想,如果流水線(xiàn)沒(méi)有亂序執(zhí)行,就像高樓沒(méi)有電梯(原諒我貧窮的比喻),發(fā)揮不出任何優(yōu)勢(shì)。最后還是硬著頭皮上了,竟然也成了……

poYBAGLvYYGARMRDAAEZvNT3m1c192.png

CPU保留站(解決沖突的,亂序執(zhí)行的重要位置)

除了上述所講的亮點(diǎn)之外,還有一些先進(jìn)之處。例如寄存器重命名、保留站、FIFO隊(duì)列等等。之后會(huì)再細(xì)講。


審核編輯:劉清

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

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377689
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124573
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217145
  • RISC-V
    +關(guān)注

    關(guān)注

    46

    文章

    2574

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    RISC-V核低功耗MCU通過(guò)開(kāi)源生態(tài)、模塊化架構(gòu)與能效優(yōu)化技術(shù),成為物聯(lián)網(wǎng)、穿戴設(shè)備等領(lǐng)域的理想選擇?。 一、?開(kāi)源與可定制性? 完全開(kāi)源免費(fèi)?:RISC-V ISA無(wú)需專(zhuān)利授權(quán)費(fèi)用,允許開(kāi)發(fā)者
    的頭像 發(fā)表于 04-23 10:01 ?481次閱讀

    RISC-V可能顛覆半導(dǎo)體行業(yè)格局的5種方式

    什么是RISC-VRISC-V是精簡(jiǎn)指令集計(jì)算(V)的縮寫(xiě),是一種在半導(dǎo)體行業(yè)受到關(guān)注的開(kāi)源指令集架構(gòu)。它定義了計(jì)算機(jī)
    的頭像 發(fā)表于 02-05 17:03 ?9次閱讀
    <b class='flag-5'>RISC-V</b>可能顛覆半導(dǎo)體行業(yè)格局的5種方式

    RISC-V MCU技術(shù)

    嘿,咱來(lái)聊聊RISC-V MCU技術(shù)哈。 這RISC-V MCU技術(shù)呢,簡(jiǎn)單來(lái)說(shuō)就是基于一個(gè)叫RISC-V指令集架構(gòu)做出的微控制器技術(shù)。
    發(fā)表于 01-19 11:50

    RISC-V架構(gòu)及MRS開(kāi)發(fā)環(huán)境回顧

    。RISC-V是一種特定指令集架構(gòu)。RISC-V指令集類(lèi)似于INTEL的X86、ARM指令集,是一個(gè)被C
    發(fā)表于 12-16 23:08

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架構(gòu)。而RISC-V目標(biāo)就是“成為一種完全開(kāi)放的指令集架構(gòu),可被任何學(xué)術(shù)機(jī)構(gòu)或商業(yè)組織自由使用”。
    發(fā)表于 11-30 23:30

    關(guān)于RISC-V學(xué)習(xí)路線(xiàn)圖推薦

    一個(gè)號(hào)的RISC-V學(xué)習(xí)路線(xiàn)圖可以幫助學(xué)習(xí)者系統(tǒng)地掌握RISC-V架構(gòu)的相關(guān)知識(shí)。比如以下是一個(gè)較好的RISC-V學(xué)習(xí)路線(xiàn)圖: 一、基礎(chǔ)知識(shí)準(zhǔn)備 計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ) : 了解計(jì)算機(jī)的基本組成、
    發(fā)表于 11-30 15:21

    什么是RISC-V?以及RISC-V和ARM、X86的區(qū)別

    是開(kāi)放的,任何人都可以使用它來(lái)開(kāi)發(fā)處理器芯片和其他硬件,而無(wú)需支付任何許可或使用費(fèi)用。RISC-V的設(shè)計(jì)簡(jiǎn)單,易于擴(kuò)展和自定義,可以在各種應(yīng)用場(chǎng)景和市場(chǎng)中使用。 什么是指令集架構(gòu)? 指令集
    發(fā)表于 11-16 16:14

    RISC-V指令集位寬的幾點(diǎn)學(xué)習(xí)心得

    于各種計(jì)算系統(tǒng),從簡(jiǎn)單的嵌入式設(shè)備到復(fù)雜的高性能服務(wù)器。 總結(jié) 綜上所述,RISC-V指令集并非僅限于32位和64位。實(shí)際上,RISC-V提供了多種位寬選擇,包括32位、64位和12
    發(fā)表于 10-31 22:05

    RISC-V指令有什么特點(diǎn)?

    最近研究了一下指令集RISC-V指令有哪些不一樣的地方呢?
    發(fā)表于 10-31 16:22

    RISC-V和arm指令集的對(duì)比分析

    RISC-V和ARM指令集是兩種不同的計(jì)算機(jī)指令集架構(gòu),它們?cè)诙鄠€(gè)方面存在顯著的差異。以下是對(duì)這兩種指令集的詳細(xì)對(duì)比分析: 一、設(shè)計(jì)理念 RISC-
    發(fā)表于 09-28 11:05

    ISA ARM 對(duì)比 RISC-V

    ARM和RISC-V同為精簡(jiǎn)指令集RISC)架構(gòu),這意味著它們都基于相似的設(shè)計(jì)理念:通過(guò)簡(jiǎn)化指令集來(lái)提高處理器的效率和執(zhí)行速度。然而,即使同為RI
    的頭像 發(fā)表于 09-10 09:26 ?1620次閱讀

    RISC-V指令集的特點(diǎn)總結(jié)

    RISC-V 保持了 RISC(Reduced Instruction Set Computer)架構(gòu)的核心原則,即提供一個(gè)簡(jiǎn)潔的指令集,使得芯片設(shè)計(jì)更為簡(jiǎn)單、高效。 優(yōu)勢(shì):簡(jiǎn)潔的設(shè)
    發(fā)表于 08-30 22:05

    CISC(復(fù)雜指令集)與RISC(精簡(jiǎn)指令集)的區(qū)別  

    Instruction Set Computers,復(fù)雜指令集計(jì)算)和RISC(Reduced Instruction Set Computers)是兩大類(lèi) 主流的CPU
    發(fā)表于 07-30 17:21

    risc-v的發(fā)展歷史

    RISC-V的發(fā)展歷史可以追溯到2006年左右,當(dāng)時(shí)David Patterson和其他研究者開(kāi)始探索創(chuàng)建一個(gè)開(kāi)放和可擴(kuò)展的指令集架構(gòu)(ISA)。以下是RISC-V發(fā)展的主要里程碑: 一、起源與初步
    發(fā)表于 07-29 17:20

    RISC-V基礎(chǔ)整數(shù)指令集

    軟件異常來(lái)進(jìn)行模擬。在這方面,最接近RISC-V的ISA可能是Tensilica Xtensa,它是專(zhuān)為嵌入式應(yīng)用設(shè)計(jì)的。它的指令集包含有80條基礎(chǔ)指令。并且它的指令集旨在被用戶(hù)根據(jù)自
    發(fā)表于 07-27 22:25