99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

解析一些常見(jiàn)的寄存器

jf_78858299 ? 來(lái)源:小牛呼嚕嚕 ? 作者:小牛呼嚕嚕 ? 2023-02-09 14:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)代CPU內(nèi)部除了 運(yùn)算器和控制器, 還有一個(gè)常見(jiàn)的組件: 寄存器是CPU內(nèi)部用來(lái)存放數(shù)據(jù)的一些小型的存儲(chǔ)區(qū)域,用來(lái)暫時(shí)存放參與運(yùn)算的數(shù)據(jù)以及運(yùn)算結(jié)果。我們了解了計(jì)算機(jī)各個(gè)硬件讀寫速度的差異,其中從存儲(chǔ)器速度、容量和價(jià)格的關(guān)系金字塔圖發(fā)現(xiàn):最上層的寄存器速度最快,容量最小,價(jià)格也最昂貴

下面我們來(lái)看看幾個(gè)常見(jiàn)寄存器:

數(shù)據(jù)寄存器(DR)

數(shù)據(jù)寄存器(Data Register,DR)又稱數(shù)據(jù)緩沖寄存器,數(shù)據(jù)寄存器用于存放操作數(shù),其位數(shù)應(yīng)滿足多數(shù)數(shù)據(jù)類型的數(shù)值范圍,其主要功能是作為CPU和主存、外設(shè)之間信息傳輸?shù)闹修D(zhuǎn)站,用以彌補(bǔ)CPU和主存、外設(shè)之間操作速度上的差異。

數(shù)據(jù)寄存器用來(lái)暫時(shí)存放由主存儲(chǔ)器讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向主存存入一條指令或一個(gè)數(shù)據(jù)字時(shí),也將它們暫時(shí)存放在數(shù)據(jù)寄存器中。

數(shù)據(jù)寄存器的作用是 :

  1. 作為CPU和主存、外圍設(shè)備之間信息傳送的中轉(zhuǎn)站;
  2. 彌補(bǔ)CPU和主存、外圍設(shè)備之間在操作速度上的差異;
  3. 在單累加器結(jié)構(gòu)的運(yùn)算器中,數(shù)據(jù)寄存器還可兼作操作數(shù)寄存器。

地址寄存器(AR)

地址寄存器(Address Register,AR)用來(lái)保存CPU當(dāng)前所訪問(wèn)的主存單元的地址。其本身可以具有通用性,也可用于特殊的尋址方式,如用于基址尋址的段指針(存放基地址)、用于變址尋址的變址寄存器和用于堆棧尋址的棧指針。地址寄存器的位數(shù)必須足夠長(zhǎng),以滿足最大的地址范圍。

由于在主存和CPU之間存在操作速度上的差異,所以必須使用地址寄存器來(lái)暫時(shí)保存主存的地址信息,直到主存的存取操作完成為止。

程序狀態(tài)寄存器(PSW)

程序狀態(tài)寄存器(PSW),用來(lái)保存各類運(yùn)算指令或測(cè)試指令的結(jié)果的各種狀態(tài)信息 除此之外,程序狀態(tài)字寄存器還用來(lái)保存中斷和系統(tǒng)工作狀態(tài)等信息,以便CPU和系統(tǒng)及時(shí)了解機(jī)器運(yùn)行狀態(tài)和程序運(yùn)行狀態(tài)。程序狀態(tài)寄存器 是構(gòu)成 運(yùn)算器的重要組成部分

累加寄存器(AC)

累加寄存器通常簡(jiǎn)稱累加器(AC),是一個(gè)通用寄存器。

累加器的功能是:當(dāng)運(yùn)算器的算術(shù)邏輯單元ALU執(zhí)行算術(shù)或邏輯運(yùn)算時(shí),為ALU提供一個(gè)工作區(qū),可以為ALU暫時(shí)保存一個(gè)操作數(shù)或運(yùn)算結(jié)果。顯然,運(yùn)算器中至少要有一個(gè)累加寄存器。

乘商寄存器(MQ)

在運(yùn)算器中,乘商寄存器主要負(fù)責(zé)數(shù)據(jù)的乘法與除法運(yùn)算并可保存運(yùn)算結(jié)果,是運(yùn)算器的基本組成部分,是運(yùn)算器三個(gè)基本寄存器之一。

程序計(jì)數(shù)器(PC)

程序計(jì)數(shù)器(PC),具有寄存信息計(jì)數(shù)兩種功能,一般用來(lái) 存放下一條指令在主存儲(chǔ)器中的地址 。

在程序執(zhí)行之前,首先必須將程序的首地址,即程序第一條指令所在主存單元的地址送入PC,因此PC的內(nèi)容即是從主存提取的第一條指令的地址。

當(dāng)執(zhí)行指令時(shí),CPU能自動(dòng)遞增PC的內(nèi)容,使其始終保存將要執(zhí)行的下一條指令的主存地址,為取下一條指令做好準(zhǔn)備。但是,當(dāng)遇到轉(zhuǎn)移指令時(shí),下一條指令的地址將由轉(zhuǎn)移指令的地址碼字段來(lái)指定,而不是像通常的那樣通過(guò)順序遞增PC的內(nèi)容來(lái)取得。

指令寄存器(IR)

指令寄存器(Instruction Register,IR), 用來(lái)保存當(dāng)前欲執(zhí)行的指令 。

當(dāng)執(zhí)行一條指令時(shí),首先把該指令從主存讀取到數(shù)據(jù)寄存器中,然后再傳送至指令寄存器。

指令包括操作碼和地址碼兩個(gè)字段,為了執(zhí)行指令,必須對(duì)操作碼進(jìn)行測(cè)試,識(shí)別出所要求的操作,指令譯碼器 就是完成這項(xiàng)工作的。指令譯碼器對(duì)指令寄存器的操作碼部分進(jìn)行譯碼,以產(chǎn)生指令所要求操作的控制電位,并將其送到微操作控制線路上,在時(shí)序部件定時(shí)信號(hào)的作用下,產(chǎn)生具體的操作控制信號(hào)。

指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經(jīng)譯碼,即可向操作控制器發(fā)出具體操作的特定信號(hào)。

MAR、MDR

另外寄存器不只存在CPU中,存儲(chǔ)器中也存在寄存器,比如MAR、MDR

  • MAR:存儲(chǔ)器地址寄存器,用于存放將被訪問(wèn)的存儲(chǔ)單元的地址。作用和AR類似
  • MDR:存儲(chǔ)器數(shù)據(jù)寄存器,用于存放欲存入存儲(chǔ)器中的數(shù)據(jù)或最近從存儲(chǔ)器中讀出的數(shù)據(jù)。作用和DR類似

其中MAR位數(shù)反映儲(chǔ)存單元的個(gè)數(shù),即最多能表示多少個(gè)不同的狀態(tài);MDR位數(shù)=儲(chǔ)存字長(zhǎng)=每個(gè)儲(chǔ)存單元的大小

小結(jié)

將上面各個(gè)寄存器組合起來(lái),我們可以畫出一幅計(jì)算機(jī)更細(xì)化的組成圖:

當(dāng)存儲(chǔ)器開(kāi)始讀操作的時(shí)候,存儲(chǔ)器將指定地址單元內(nèi)的指令讀至MDR,再由MDR送至IR。IR將指令中的操作碼送到CU中,用來(lái)分析指令并發(fā)出各種微操作命令序列。再加指令中地址碼送到MAR,用來(lái)去操作數(shù)

在CPU內(nèi)部必須給ALU提供數(shù)據(jù),因此ALU必須可直接訪問(wèn)MDR,ALU的外圍還可以有另一些寄存器AC、MQ、X,這些寄存器用于ALU的輸入、輸出以及用于和MDR及用戶可見(jiàn)寄存器交換數(shù)據(jù)。

在CPU的控制和狀態(tài)寄存器中,還有用來(lái)存放程序狀態(tài)字PSW的寄存器,該寄存器用來(lái)存放條件碼和其他狀態(tài)信息。在具有中斷系統(tǒng)的機(jī)器中還有中斷標(biāo)記寄存器等等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11074

    瀏覽量

    216922
  • 緩沖
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    18026
  • 數(shù)據(jù)寄存器

    關(guān)注

    0

    文章

    33

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    解析CPU中的寄存器

    8位寄存器在16位寄存器中,而16位寄存器在32位寄存器中。
    發(fā)表于 09-19 10:10 ?4695次閱讀

    基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-DOEP接收相關(guān)的DMA寄存器詳解

    前面我們?cè)敿?xì)介紹了發(fā)送即DIEP相關(guān)的一些寄存器,這篇我們來(lái)看看接收即DOEP相關(guān)的一些寄存器。形式上DOEP和DIEP
    的頭像 發(fā)表于 07-19 09:00 ?1925次閱讀
    基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-DOEP接收相關(guān)的DMA<b class='flag-5'>寄存器</b>詳解

    芯片DFX:Coresight的寄存器

    coresight對(duì)于每個(gè)coresight組件,規(guī)定了一些寄存器,這些寄存器的偏移是固定的,這些寄存器,是必須存在的。但是有的,可以不實(shí)現(xiàn)該寄存器
    的頭像 發(fā)表于 11-02 11:45 ?1696次閱讀
    芯片DFX:Coresight的<b class='flag-5'>寄存器</b><b class='flag-5'>一</b>覽

    寄存器組CM3擁有通用寄存器組和一些特殊寄存器

    寄存器組CM3擁有通用寄存器組R0~R15和一些特殊寄存器R13:SP堆棧指針寄存器功能:指向堆棧的棧頂詳解:1)異常模式發(fā)生時(shí),程序把通用
    發(fā)表于 12-16 06:44

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計(jì)數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

    ARM寄存器詳解

    ARM有37個(gè)寄存器,其中31個(gè)通用寄存器,6個(gè)狀態(tài)寄存器。   這里尤其要注意區(qū)別的是ARM自身寄存器和它的一些外設(shè)的
    發(fā)表于 07-10 10:04 ?3068次閱讀

    CSD寄存器解析

    CSD寄存器解析,SD卡寄存器解說(shuō),值得學(xué)習(xí)。
    發(fā)表于 01-06 14:25 ?0次下載

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    基于stm32的GPIO寄存器學(xué)習(xí)解析

    寄存器 GPIOx->IDR,GPIOx->ODR 個(gè)32位的 set/reset 寄存器 GPIOx->BSRR 位16位的 reset
    的頭像 發(fā)表于 01-11 09:03 ?1.3w次閱讀
    基于stm32的GPIO<b class='flag-5'>寄存器</b>學(xué)習(xí)<b class='flag-5'>解析</b>

    開(kāi)發(fā)個(gè)Linux調(diào)試就必須要知道寄存器和內(nèi)存!

    在我們正真的讀取寄存器前,調(diào)試需要知道一些關(guān)于x8664架構(gòu)的相關(guān)知識(shí)。包括通用寄存器,專用寄存器以及浮點(diǎn)
    發(fā)表于 05-14 17:28 ?1688次閱讀

    51單片機(jī)的一些特殊寄存器資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的一些特殊寄存器資料說(shuō)明。包括了:中斷使能寄存器,中斷優(yōu)先級(jí)寄存器,電源控制PCON,PSW處理狀態(tài)
    發(fā)表于 07-26 17:36 ?2次下載
    51單片機(jī)的<b class='flag-5'>一些</b>特殊<b class='flag-5'>寄存器</b>資料說(shuō)明

    寄存器、鎖存和觸發(fā)三者對(duì)比

    我們?cè)谖⒖刂?b class='flag-5'>器(MCU)等電子系統(tǒng)中存儲(chǔ)數(shù)據(jù)的方式之是在寄存器中。一些寄存器個(gè)位/比特組成
    發(fā)表于 04-14 14:55 ?3795次閱讀
    <b class='flag-5'>寄存器</b>、鎖存<b class='flag-5'>器</b>和觸發(fā)<b class='flag-5'>器</b>三者對(duì)比

    如何在VHDL中實(shí)現(xiàn)個(gè)簡(jiǎn)單的寄存器

    寄存器是設(shè)備中用于存儲(chǔ)數(shù)據(jù)的常見(jiàn)電子元件。這些是最小的數(shù)據(jù)保存元素,用于存儲(chǔ) CPU 正在處理的操作數(shù)或指令。有不同類型的寄存器,即指令寄存器、程序
    發(fā)表于 07-29 16:48 ?5110次閱讀
    如何在VHDL中實(shí)現(xiàn)<b class='flag-5'>一</b>個(gè)簡(jiǎn)單的<b class='flag-5'>寄存器</b>

    labview讀取三菱plc寄存器內(nèi)容

    如何使用LabVIEW讀取三菱PLC的寄存器內(nèi)容,并提供一些實(shí)例代碼和注意事項(xiàng)。 首先,我們需要了解PLC寄存器的基本概念。PLC寄存器
    的頭像 發(fā)表于 12-27 16:31 ?3387次閱讀