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

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

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

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

使用寄存器的邏輯操作指令是什么?

lhl545545 ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-06-18 15:49 ? 次閱讀

操作系統(tǒng)中硬件相關(guān)的部分集中體現(xiàn)在匯編指令和對(duì)寄存器的操作中,因此我們對(duì)ARM體系結(jié)構(gòu)的介紹也圍繞ARMv8-A的匯編指令和寄存器來展開。

處理器架構(gòu)是處理器廠商為同一個(gè)系列的處理器規(guī)定的一個(gè)規(guī)范。ARM架構(gòu)是一種精簡(jiǎn)指令集(RISC)架構(gòu),具有以下RISC架構(gòu)特點(diǎn):

較大的通用寄存器堆。

load/store體系結(jié)構(gòu),其中數(shù)據(jù)處理操作僅對(duì)寄存器內(nèi)容進(jìn)行操作,而不是直接對(duì)內(nèi)存內(nèi)容。

簡(jiǎn)單尋址模式,所有l(wèi)oad/store地址由寄存器內(nèi)容和指令確定。該體系結(jié)構(gòu)定義了處理單元與內(nèi)存(包括緩存)的交互,并包括內(nèi)存地址翻譯系統(tǒng)。它還描述了多個(gè)處理單元如何相互作用。面積小、性能強(qiáng)和非常低的功耗是ARM體系結(jié)構(gòu)的關(guān)鍵特性。本小節(jié)主要以ARMv8-A架構(gòu)為例來介紹ARM體系結(jié)構(gòu)的基本特性。ARMv8-A體系結(jié)構(gòu)的一個(gè)重要特性是向后兼容,可以支持諸多標(biāo)準(zhǔn)和應(yīng)用場(chǎng)景下的最優(yōu)設(shè)計(jì)。ARMv8-A架構(gòu)支持64bit的執(zhí)行模式(AArch64)和32bit的執(zhí)行模式(AArch32),這一模式兼容之前的ARM架構(gòu)。兩種執(zhí)行狀態(tài)都支持SIMD和浮點(diǎn)指令。

一、AMRv8架構(gòu)概要

ARM體系結(jié)構(gòu)自推出以來已經(jīng)有了顯著的發(fā)展,并且ARM還在繼續(xù)開發(fā)它。到目前為止,已經(jīng)有八個(gè)主要版本,由版本號(hào)1到8表示。其中前三個(gè)版本現(xiàn)在已經(jīng)過時(shí)了。

通用名稱AArch64和AArch32描述了64位和32位執(zhí)行狀態(tài)。AArch64是64位執(zhí)行狀態(tài),意味著地址保存在64位寄存器中,并且基本指令集可以使用64位寄存器進(jìn)行處理。AArch64支持A64指令集。AArch32是32位執(zhí)行狀態(tài),這意味著地址保存在32位寄存器中,并且基本指令集使用32位寄存器進(jìn)行處理。AArch32支持T32和A32指令集。

ARM支持三種架構(gòu)配置:

A系列,面向應(yīng)用場(chǎng)景的架構(gòu)(Application Profile)。該系列支持基于內(nèi)存管理單元(MMU)的虛擬內(nèi)存系統(tǒng)體系結(jié)構(gòu)(VMSA)。它支持A64、A32和T32指令集。

R系列,面向?qū)崟r(shí)場(chǎng)景的架構(gòu)配置。該系列支持基于內(nèi)存保護(hù)單元(MPU)的受保護(hù)內(nèi)存系統(tǒng)體系結(jié)構(gòu)(PMSA)。它支持A32和T32指令集。

M系列,面向微處理器的架構(gòu)。該系列實(shí)現(xiàn)了一個(gè)為低延遲中斷處理而設(shè)計(jì)的程序員模型(programmers’ model),該模型具有寄存器硬件堆棧和對(duì)中斷處理程序的高級(jí)語言支持。它支持T32指令集的變種。

(注:內(nèi)存保護(hù)單元(MPU)是ARM中配備的有效保護(hù)系統(tǒng)資源的一種硬件,提供了內(nèi)存區(qū)域保護(hù)功能。)

二、ARMv8-A指令集

在ARMv8-A中,可能的指令集取決于執(zhí)行狀態(tài):

AArch64:AArch64 state只支持A64指令集。這是一個(gè)固定長(zhǎng)度的指令集,使用32位指令編碼。

Arch32:AArch32 state支持以下指令集:

A32:這是一個(gè)固定長(zhǎng)度的指令集,使用32位指令編碼。它是與ARMv7 ARM指令集兼容。

T32:這是一個(gè)可變長(zhǎng)度指令集,它同時(shí)使用16位和32位指令編碼。它與ARMv7 Thumb指令集兼容。

ARM指令的基本格式如下[2]:

《Opcode》{《Cond》}《S》《Rd》,《Rn》 {,《Opcode2》}

其中各個(gè)部分的含義為:

Opcode:操作碼,也就是助記符,說明指令需要執(zhí)行的操作類型;

Cond:指令執(zhí)行條件碼;

S:條件碼設(shè)置項(xiàng),決定本次指令執(zhí)行是否影響PSTATE寄存器相應(yīng)狀態(tài)位值;

Rd/Xt:目標(biāo)寄存器,A32指令可以選擇R0-R14,T32指令大部分只能選擇RO-R7,A64指令可以選擇X0-X30;

Rn/Xn:第一個(gè)操作數(shù)的寄存器,和Rd一樣,不同指令有不同要求;

Opcode2:第二個(gè)操作數(shù),可以是立即數(shù),寄存器Rm和寄存器移位方式(Rm,#shit);

ARMv8-A指令集的條件碼如下圖所示:

使用寄存器的邏輯操作指令是什么?

下面以A64指令集為例簡(jiǎn)要介紹ARMv8-A的指令體系。A64指令集中的指令主要分為控制指令、訪存指令和計(jì)算指令。控制指令主要包括有條件分支指令、無條件分支指令、異常產(chǎn)生和返回指令、系統(tǒng)寄存器指令、系統(tǒng)指令、提示指令、同步指令和清除獨(dú)占訪問標(biāo)志指令。訪存指令主要有Load指令和Store指令,這兩種指令有許多變種。計(jì)算指令包含算數(shù)指令、邏輯指令、MOVE指令、移位指令、位擴(kuò)展指令和SIMD指令等等。以下列出了一些常用的控制指令的名稱與用途。

1. 控制指令:

條件分支指令:

使用寄存器的邏輯操作指令是什么?

無條件分支指令:

使用寄存器的邏輯操作指令是什么?

使用寄存器的無條件分支指令:

使用寄存器的邏輯操作指令是什么?

異常產(chǎn)生指令:

使用寄存器的邏輯操作指令是什么?

異常返回指令:

系統(tǒng)寄存器指令:

使用寄存器的邏輯操作指令是什么?

同步指令和獨(dú)占狀態(tài)清除指令:

使用寄存器的邏輯操作指令是什么?

例如:

使用寄存器的邏輯操作指令是什么?

2. 訪存指令:

ARMv8訪存指令支持以下尋址模式:

基址加上無符號(hào)立即數(shù)的尋址和基址加上有符號(hào)立即數(shù)的尋址;

基址加上寄存器偏移值;

基址加上擴(kuò)展的寄存器偏移;

pre-index模式;

post-index模式;

PC相對(duì)尋址模式。

具體情形見下表:

使用寄存器的邏輯操作指令是什么?

其中對(duì)于A64指令集來說,64bit的基址來自通用寄存器X0-X30或來自棧指針SP,立即數(shù)或寄存器偏移值則是可選的,對(duì)尋址方式的解釋如下:

寄存器偏移尋址是指來自64bit基址寄存器的地址加上一個(gè)偏移值;

Pre-indexed模式是指尋址地址是64bit基址加上一個(gè)偏移值,這個(gè)計(jì)算和將會(huì)寫入基址寄存器;

Post-indexed模式是指尋址地址是64bit的基址,但之后基址和偏移值的和將會(huì)寫入基址寄存器;由此可見pre-indexed和post-indexed的區(qū)別在于使用的地址是先加上偏移值再使用還是先使用再加上偏移值;

PC相對(duì)尋址是指尋址地址是這條指令64bit的PC值加上一個(gè)19bit的有符號(hào)字偏移,這個(gè)地址在當(dāng)前指令的PC值的 ±1MB范圍內(nèi)并且是4byte對(duì)齊的。使用PC相對(duì)尋址所load的數(shù)據(jù)大小至少為32bit并且只能用來預(yù)取指令,且PC值不能被其他尋址方式使用。

一個(gè)立即數(shù)偏移可以為有符號(hào)的,也可以為無符號(hào)的,可以為scaled也可以為unscaled。當(dāng)一個(gè)立即數(shù)偏移是scaled的時(shí)候,它被編碼為傳輸數(shù)據(jù)大小的整數(shù)倍。雖然匯編程序總是使用byte對(duì)齊的偏移,但匯編器或反匯編器會(huì)做必要的轉(zhuǎn)換工作,因此可用的byte偏移值取決于load/store指令類型和數(shù)據(jù)傳輸?shù)拇笮 ?/p>

下面列出了一些load/store指令:

例如Load寄存器指令:

使用寄存器的邏輯操作指令是什么?

上表中指令的尋址方式有:

基址加上12bit無符號(hào)scaled立即數(shù)偏移尋址;

基址加上9bit有符號(hào)unscaled立即數(shù)偏移尋址;

基址加上64bit寄存器偏移,可選為scaled;

基址加上32bit可拓展寄存器偏移,可選為scaled;

有unscaled9bit有符號(hào)立即數(shù)偏移的pre-indexed模式;

有unscaled9bit有符號(hào)立即數(shù)偏移的post-indexed模式;

Load至少32bit數(shù)據(jù)的PC相對(duì)尋址模式。

如果被load或store的指令的尋址模式會(huì)修改基址寄存器的內(nèi)容,且被load/store寄存器恰好的是基址所在的寄存器,那么硬件的行為可能不確定。

3.計(jì)算指令:

在操作系統(tǒng)匯編語言中使用的計(jì)算指令主要是一些簡(jiǎn)單的算數(shù)計(jì)算指令,用于對(duì)寄存器的move操作和對(duì)地址的計(jì)算操作,一般計(jì)算指令既可以使用立即數(shù)作為操作數(shù),也可以使用寄存器中的數(shù)作為操作數(shù)。下面簡(jiǎn)單列舉了一些算數(shù)指令:

使用立即數(shù)的簡(jiǎn)單算數(shù)指令:

例如:

使用寄存器的邏輯操作指令是什么?

使用寄存器的邏輯操作指令:

使用寄存器的邏輯操作指令是什么?

例如:

使用寄存器的邏輯操作指令是什么?

其中:

寄存器移位指令:

例如:

使用寄存器的邏輯操作指令是什么?

02

ARM架構(gòu)寄存器

在處理器中,寄存器用于保存需要被快速訪問的數(shù)據(jù),在操作系統(tǒng)中需要特別注意的寄存器主要有棧指針寄存器(SP)、連接寄存器(LR)、程序計(jì)數(shù)器(PC)以及當(dāng)前程序狀態(tài)寄存器(CPSR)和保存程序狀態(tài)寄存器(SPSR)。本小節(jié)主要以ARMv8-A為例介紹ARM架構(gòu)的寄存器的基本情況。詳情可參見文獻(xiàn)[3],D1.6小節(jié)。

在這一小節(jié)中,我們主要介紹ARMv8架構(gòu)中AArch64執(zhí)行狀態(tài)下的寄存器使用情況。ARM架構(gòu)中的寄存器主要有兩類,一類用于提供系統(tǒng)控制與狀態(tài)報(bào)告;另一類用于指令運(yùn)行和異常處理。我們主要討論第二類。

通用寄存器主要用于基本指令集中的指令運(yùn)行,通用寄存器共有31個(gè),編號(hào)為R0-R31。這些通用寄存器可以被當(dāng)成31個(gè)64bit的寄存器,編號(hào)為X0-X30;或者被作為31個(gè)32bit的寄存器,編號(hào)為W0-W30。

在AArch64執(zhí)行狀態(tài)下,除了通用寄存器外,每一個(gè)異常級(jí)別都會(huì)有一個(gè)棧指針寄存器(StackPointer Register, SP),棧指針寄存器為SPEL0和SPEL1。異常級(jí)別用于區(qū)分指令的執(zhí)行權(quán)限,我們將在本章的第四期介紹。如果處理器實(shí)現(xiàn)中包含EL2,那么還有SPEL2。如果處理器實(shí)現(xiàn)中包含EL3,那么還有SPEL3。詳情可參考鏈接[5]。

SIMD和浮點(diǎn)寄存器共用一系列寄存器,這些寄存器會(huì)用于浮點(diǎn)操作、向量操作和其它SIMD有關(guān)的標(biāo)量操作。SIMD指令是能夠復(fù)制多個(gè)操作數(shù)、并把它們打包在大型寄存器的一組指令集[3]。以加法指令為例,單指令單數(shù)據(jù)(SISD)的CPU對(duì)加法指令譯碼后,執(zhí)行部件先訪問內(nèi)存,取得第一個(gè)操作數(shù);之后再一次訪問內(nèi)存,取得第二個(gè)操作數(shù);隨后才能進(jìn)行求和運(yùn)算。而在SIMD型的CPU中,指令譯碼后幾個(gè)執(zhí)行部件同時(shí)訪問內(nèi)存,一次性獲得所有操作數(shù)進(jìn)行運(yùn)算。浮點(diǎn)寄存器和SIMD寄存器共包含32個(gè)128bit位寬的寄存器,V0-V31。這些寄存器可以作為:

32個(gè)雙字(64bit)寄存器,D0-D31。

32個(gè)單字(32bit)寄存器,S0-S31。

32個(gè)半字(16bit)寄存器,H0-H31。

32個(gè)單字(8bit)寄存器,B0-B31。

程序狀態(tài)寄存器(Current Program Status Register,CPSR) 在用戶級(jí)編程時(shí)用于存儲(chǔ)條件碼。CPSR包含條件碼標(biāo)志,中斷禁止位,當(dāng)前處理器模式以及其他狀態(tài)和控制信息。

保存程序狀態(tài)寄存器(SPSR,Saved Program StatusRegister)用于保存CPSR的狀態(tài),以便異常返回后恢復(fù)異常發(fā)生時(shí)的工作狀態(tài)。在A64中,不再使用單一的CPSR寄存器,來保存當(dāng)前處理器狀態(tài),而是用PSTATE來保存處理器狀態(tài),而在A32中依然使用CPSR。有關(guān)PSTATE和CPSR的詳細(xì)信息可參考鏈接[4]。A64中SPSR 格式的示意圖如下圖所示:

使用寄存器的邏輯操作指令是什么?

其中N、Z、C、V均為條件碼標(biāo)志位。它們的內(nèi)容可被算術(shù)或邏輯運(yùn)算的結(jié)果所改變,并且可以用于決定某條指令是否被執(zhí)行,其含義如下表所示[8]:

標(biāo)志位含義

N當(dāng)兩個(gè)有符號(hào)整數(shù)運(yùn)算時(shí):N=1表示運(yùn)算的結(jié)果為負(fù)數(shù);N=0表示運(yùn)算的結(jié)果為正數(shù)或零。

ZZ=1表示運(yùn)算的結(jié)果為零,Z=0表示運(yùn)算的結(jié)果非零。

C可以有4種方法設(shè)置C的值:

在加法指令中(包括比較指令CMP),當(dāng)結(jié)果產(chǎn)生了進(jìn)位,則C=1,表示無符號(hào)運(yùn)算發(fā)生上溢出;其他情況C=0。

在減法指令中(包括減法指令CMP),當(dāng)運(yùn)算中發(fā)生借位,則C=0,表示無符號(hào)運(yùn)算數(shù)發(fā)生下溢出;其他情況下C=1。

對(duì)于包含移位操作的非加減運(yùn)算指令,C中包含最后一次溢出的位的數(shù)值。

對(duì)于其他非加減運(yùn)算指令,C位的值通常不受影響。

V對(duì)于加減運(yùn)算指令,當(dāng)操作數(shù)和運(yùn)算結(jié)果為二進(jìn)制的補(bǔ)碼表示的帶符號(hào)數(shù)時(shí),V=1表示符號(hào)為溢出,通常其他指令不影響V位。

M[3:0]則用來確定異常級(jí)別和SP:

有關(guān)SPSR中各個(gè)位的詳細(xì)信息可以參考文獻(xiàn)[1] 1.6.4小節(jié)。

連接寄存器LR(R14)的主要作用有兩個(gè):

1. 保存子程序返回地址,用MOVE指令或BX指令可以用于實(shí)現(xiàn)返回,如MOV PC、LR或BXLR。若子程序中還需要調(diào)用子程序,則可以寫為:

使用寄存器的邏輯操作指令是什么?

第一條指令將LR中的內(nèi)容入棧,最后一條將棧中保存的LR寄存器的內(nèi)容存入PC中用于返回。

2. 當(dāng)異常發(fā)生時(shí),異常模式的LR用于保存異常返回地址,將LR內(nèi)容入??梢蕴幚砬短字袛?。

PC是程序計(jì)數(shù)器,其中保存的是正在被加載的指令,而不是正在被執(zhí)行的指令。例如,若指令長(zhǎng)度為4byte,則PC指向當(dāng)前正在被執(zhí)行的指令的地址+8byte的地址。關(guān)于LR和PC的詳細(xì)內(nèi)容可參考文獻(xiàn)[6]和[7]。

以下是異常級(jí)別EL3中使用的寄存器的例圖:

ARM架構(gòu)中處理器有不同的運(yùn)行模式,因此同一個(gè)功能的寄存器在不同的運(yùn)行模式下可能對(duì)應(yīng)不同的物理寄存器,這些寄存器被稱為備份寄存器。如SPSR_svc表示svc模式下使用的SPSR寄存器。ARM架構(gòu)中常用的運(yùn)行模式如下表所示[9]:

處理器模式描述

用戶模式(User, usr)正常程序執(zhí)行的模式

快速中斷模式(FIQ, fiq)用于高速數(shù)據(jù)傳輸和通道處理

外部中斷模式(IRQ, irq)用于通常的中斷處理

特權(quán)模式(Supervisor, svc)供操作系統(tǒng)使用的一種保護(hù)模式

數(shù)據(jù)訪問中止模式(Abort, abt)當(dāng)數(shù)據(jù)或指令預(yù)取中止時(shí)進(jìn)入該模式,用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)

未定義指令中止模式(Undefined, und)當(dāng)執(zhí)行未定義指令時(shí)進(jìn)入該模式,用于支持通過軟件仿真硬件的協(xié)處理器

系統(tǒng)模式(System, sys)用于運(yùn)行特權(quán)級(jí)的操作系統(tǒng)任務(wù)

ARMv8-A架構(gòu)還有Monitor(mon)工作模式,用于處理器安全狀態(tài)與非安全狀態(tài)的切換,Hypervisor(hyp)模式則用于對(duì)虛擬化有關(guān)功能的支持。有關(guān)安全狀態(tài)的詳細(xì)內(nèi)容在后續(xù)的文章中會(huì)介紹。

03

ARM架構(gòu)中的執(zhí)行狀態(tài)

ARMv8-A有兩種執(zhí)行模式,一種是AArch64執(zhí)行模式,另一種是AArch32執(zhí)行模式。執(zhí)行狀態(tài)定義處理單元(Processing Element, PE)的執(zhí)行環(huán)境,包括以下內(nèi)容:

支持的寄存器寬度

支持的指令集

異常模型

虛擬存儲(chǔ)系統(tǒng)(Virtual Memory System Architecture, VMSA)架構(gòu)

程序員模型

AArch64為64位執(zhí)行狀態(tài)。對(duì)應(yīng)上述內(nèi)容,此執(zhí)行狀態(tài):

提供31個(gè)64位通用寄存器,其中X30用作過程鏈接寄存器(ProcedureLink Register)。

提供64位程序計(jì)數(shù)器(PC)、堆棧指針(SP)和異常鏈接寄存器(ELRs)。

提供32個(gè)128位寄存器以支持SIMD矢量和標(biāo)量浮點(diǎn)運(yùn)算。

提供單一指令集A64。

定義ARMv8異常模型,該模型最多有四個(gè)異常級(jí)別EL0-EL3,它們提供執(zhí)行權(quán)限層次結(jié)構(gòu)。

支持64位虛擬尋址。

定義一系列與PSTATE相關(guān)的寄存器。A64指令集包括能直接操作各種PSTATE寄存器的指令。

使用后綴命名每個(gè)系統(tǒng)寄存器,該后綴指示可以訪問寄存器的最低異常級(jí)別。

AArch32為32位執(zhí)行狀態(tài)。對(duì)應(yīng)上述內(nèi)容,此執(zhí)行狀態(tài):

提供13個(gè)32位通用寄存器和一個(gè)32位PC、一個(gè)32位SP寄存器和一個(gè)32位鏈接寄存器(Link Register,LR)。鏈接寄存器用作異常鏈接寄存器和過程鏈接寄存器。其中一些寄存器有多個(gè)備份寄存器,用于不同的處理器工作模式。我們?cè)谏弦黄谔岬竭^,同一個(gè)功能的寄存器在不同的處理器運(yùn)行模式下可能對(duì)應(yīng)不同的物理寄存器,這些寄存器被稱為備份寄存器。

為從Hyp(hypervisor)模式返回的異常提供一個(gè)異常鏈接寄存器。

提供32個(gè)64位寄存器,用于對(duì)高級(jí)SIMD矢量和標(biāo)量浮點(diǎn)計(jì)算的支持。

提供兩個(gè)指令集,A32和T32。

支持基于處理器工作模式的ARMv7-A異常模型,并將其映射到基于異常級(jí)別的ARMv8異常模型。

使用32位虛擬地址。

使用單個(gè)當(dāng)前程序狀態(tài)寄存器(CPSR)保存處理器狀態(tài)。

在AArch64和AArch32執(zhí)行狀態(tài)之間進(jìn)行轉(zhuǎn)換稱為內(nèi)部處理(interprocessing)。

04ARMv8-A架構(gòu)的異常級(jí)別和安全狀態(tài)

ARMv8-A有四個(gè)異常級(jí)別,從EL0到EL3。對(duì)于異常級(jí)別ELn,整數(shù)n增加表示軟件執(zhí)行的特權(quán)權(quán)限變大了。EL0級(jí)別下的執(zhí)行叫非特權(quán)執(zhí)行(unprivileged execution)。EL1主要用于運(yùn)行操作系統(tǒng)內(nèi)核。EL2可以支持非安全操作的虛擬化。EL3則支持安全狀態(tài)和非安全狀態(tài)之間的轉(zhuǎn)換。安全狀態(tài)與ARM TrustZone技術(shù)有關(guān)[2]。安全狀態(tài)可以運(yùn)行可信執(zhí)行環(huán)境(TEE, Trusted Execution Environment)及安全應(yīng)用,用于保障隱私數(shù)據(jù)和程序運(yùn)行環(huán)境的安全性。

ARMv8-A架構(gòu)并未直接指定哪些軟件應(yīng)該運(yùn)行在哪些異常級(jí)別,但是在通常情況下,有如異常級(jí)別的使用模型:

1.應(yīng)用程序運(yùn)行在EL0;

2.操作系統(tǒng)內(nèi)核和相關(guān)功能運(yùn)行在EL1;

3.Hypervisor[3]運(yùn)行在EL2;

4.安全世界狀態(tài)和正常世界狀態(tài)的切換在EL3完成。

下圖反映了ARM-v8A架構(gòu)中的執(zhí)行狀態(tài)、安全狀態(tài)和異常級(jí)別之間關(guān)系[1]:

使用寄存器的邏輯操作指令是什么?

從圖中我們可以看出,Hypervisor相關(guān)的支持特性主要是在EL2的非安全狀態(tài)實(shí)現(xiàn)的。Hypervisor可以支持虛擬機(jī)之間的切換,而虛擬機(jī)主要被包含在EL1的非安全狀態(tài)和EL0的非安全狀態(tài)中。一些Guest OS可以運(yùn)行在EL1狀態(tài)里,每一個(gè)Guest OS可以運(yùn)行在一個(gè)虛擬機(jī)上。而應(yīng)用則運(yùn)行在EL0的非安全狀態(tài)中,同時(shí)也運(yùn)行在Guest OS上。
責(zé)任編輯:pj

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120232
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2076

    瀏覽量

    154147
  • LR
    LR
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    10040
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    寄存器間接尋址和寄存器尋址的區(qū)別

    寄存器間接尋址和寄存器尋址是計(jì)算機(jī)體系結(jié)構(gòu)中兩種重要的尋址方式,它們?cè)?b class='flag-5'>指令執(zhí)行過程中起著關(guān)鍵作用。下面將從定義、原理、特點(diǎn)、應(yīng)用場(chǎng)景以及區(qū)別等方面對(duì)這兩種尋址方式進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 10-05 17:13 ?1334次閱讀

    寄存器的類型和作用

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一種高速存儲(chǔ)單元,它位于CPU內(nèi)部,與CPU的運(yùn)算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時(shí)存儲(chǔ)指令、
    的頭像 發(fā)表于 09-05 14:11 ?1627次閱讀

    寄存器根據(jù)功能的不同分為哪兩種

    Registers) 通用寄存器是處理中最常見的寄存器類型,它們沒有特定的功能,可以用于存儲(chǔ)任意類型的數(shù)據(jù)或指令。這些寄存器通常用于執(zhí)行
    的頭像 發(fā)表于 08-06 09:27 ?1348次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一個(gè)高速存儲(chǔ)單元,它位于中央處理(CPU)內(nèi)部,用于存儲(chǔ)計(jì)算機(jī)程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)
    的頭像 發(fā)表于 08-02 18:23 ?3967次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構(gòu)成的?

    寄存器尋址和直接尋址的區(qū)別

    寄存器尋址和直接尋址是計(jì)算機(jī)指令系統(tǒng)中的兩種基本尋址方式。它們?cè)?b class='flag-5'>指令的執(zhí)行過程中起著至關(guān)重要的作用,決定了指令操作數(shù)的來源和目標(biāo)。下面我們將
    的頭像 發(fā)表于 07-12 10:42 ?1685次閱讀

    寄存器尋址的實(shí)現(xiàn)方式

    在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內(nèi)部的寄存器寄存器尋址可以提高程序的執(zhí)行效率,因?yàn)樗苊饬藢?duì)內(nèi)存的訪問。 寄存器尋址的基本概念
    的頭像 發(fā)表于 07-12 10:36 ?642次閱讀

    寄存器有哪幾種?可以實(shí)現(xiàn)什么功能?

    寄存器是計(jì)算機(jī)中最基本的寄存器類型,用于存儲(chǔ)數(shù)據(jù)和指令。它們通常具有相同的大小和功能,可以用于執(zhí)行各種操作。通用寄存器的數(shù)量和大小因計(jì)算機(jī)架
    的頭像 發(fā)表于 07-12 10:32 ?1092次閱讀

    寄存器分為基本寄存器和什么兩種

    ,它們用于存儲(chǔ)指令、數(shù)據(jù)和地址等信息?;?b class='flag-5'>寄存器的容量通常較小,但訪問速度非???,因?yàn)樗鼈兣cCPU的執(zhí)行單元緊密相連。 基本寄存器的分類 基本寄存器可以分為以下幾類: (1)通用
    的頭像 發(fā)表于 07-12 10:31 ?1322次閱讀

    PLC移位寄存器指令的工作過程

    在工業(yè)自動(dòng)化領(lǐng)域,可編程序控制(PLC)的應(yīng)用日益廣泛。作為工業(yè)控制的核心設(shè)備,PLC不僅具備強(qiáng)大的數(shù)據(jù)處理能力,還擁有豐富的指令系統(tǒng),以滿足各種復(fù)雜的控制需求。其中,移位寄存器指令
    的頭像 發(fā)表于 06-15 17:37 ?1723次閱讀

    干貨滿滿:ARM的內(nèi)核寄存器講解

    內(nèi)核寄存器與外設(shè)寄存器: 內(nèi)核寄存器與外設(shè)寄存器是完全不同的概念。內(nèi)核寄存器是指 CPU 內(nèi)部的寄存器
    發(fā)表于 04-17 11:47 ?3555次閱讀
    干貨滿滿:ARM的內(nèi)核<b class='flag-5'>寄存器</b>講解

    AFE模擬前端寄存器讀取操作

    AFE模擬前端寄存器讀取操作是電子系統(tǒng)設(shè)計(jì)和調(diào)試中不可或缺的一環(huán)。寄存器作為AFE模擬前端中的重要組成部分,存儲(chǔ)著各種配置參數(shù)和狀態(tài)信息,通過讀取這些寄存器,工程師可以了解AFE的工作
    的頭像 發(fā)表于 03-15 15:50 ?701次閱讀

    寄存器邏輯功能有保持功能嗎 寄存器的輸入輸出的方式有分別有哪幾種

    寄存器是計(jì)算機(jī)中用于存儲(chǔ)和操作數(shù)據(jù)的一種重要元件。它可以暫時(shí)存儲(chǔ)數(shù)據(jù),提供對(duì)數(shù)據(jù)的讀取和寫入功能,并且可以進(jìn)行各種數(shù)據(jù)操作和運(yùn)算。在計(jì)算機(jī)體系結(jié)構(gòu)中,寄存器可用于多種目的,如存儲(chǔ)
    的頭像 發(fā)表于 02-18 09:39 ?2012次閱讀

    寄存器屬于時(shí)序邏輯電路嗎 寄存器是什么邏輯電路

    寄存器是一種用來存儲(chǔ)數(shù)據(jù)的數(shù)字電路組件。它可以存儲(chǔ)一個(gè)或多個(gè)位的二進(jìn)制數(shù),并且能夠在時(shí)鐘信號(hào)的控制下將數(shù)據(jù)從輸入端復(fù)制到輸出端。寄存器通常用于存儲(chǔ)和操作計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù),是計(jì)算機(jī)的基本組
    的頭像 發(fā)表于 02-18 09:37 ?1596次閱讀

    loop指令執(zhí)行時(shí),隱含的寄存器

    當(dāng)執(zhí)行l(wèi)oop指令時(shí),隱含的寄存器是CX寄存器。CX寄存器是循環(huán)計(jì)數(shù)寄存器,它存儲(chǔ)了循環(huán)的迭代
    的頭像 發(fā)表于 02-14 16:15 ?935次閱讀

    個(gè)人對(duì)STM32 SysTick的總結(jié)(寄存器操作)

    一、概述:SysTick是一個(gè)簡(jiǎn)單的遞減24位計(jì)數(shù)。如果你不需要再應(yīng)用程序中嵌入操作系統(tǒng),SysTick可以作為簡(jiǎn)單的延時(shí)和產(chǎn)生周期性的中斷。狀態(tài)控制寄存器的第0位可以使能計(jì)數(shù),當(dāng)
    的頭像 發(fā)表于 01-06 08:00 ?1858次閱讀
    個(gè)人對(duì)STM32 SysTick的總結(jié)(<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>)
    主站蜘蛛池模板: 亚洲偷自拍精品视频在线观看| jjzz大全| 日韩亚洲不卡在线视频| 韩国电影real在线观看完整版| 97超碰97资源在线观看视频| 无码AV精品一区二区三区| 浪荡女天天不停挨CAO日常视| 国产毛片AV久久久久精品| 91久久偷偷看嫩草影院无费| 亚洲不卡一卡2卡三卡4卡5卡| 热久久伊大人香蕉网老师| 久久五月综合婷婷中文云霸高清| 国产精品久久久久影院嫩草| 边做边爱免费视频| 91av影院| 伊人久久综合影院首页| 亚洲国产韩国欧美在线不卡| 视频区 国产 欧美 日韩| 啪啪激情婷婷久久婷婷色五月| 久久婷婷五月综合色情| 狠狠色丁香婷婷久久综合五月| 国产精品 中文字幕 亚洲 欧美| 992交通广播| 2224x最新网站| 真人女人无遮挡内谢免费视频%| 亚洲精品动漫免费二区| 亚洲 欧美 国产 综合五月天| 色中色论坛网站| 日本粉嫩学生毛绒绒| 欧美午夜精品一区二区蜜桃 | 飘雪在线观看免费高清完整版韩国| 久久久伊人影院| 久久草香蕉频线观| 精品视频在线观看视频免费视频| 国产亚洲精品精华液| 国产精品乱码色情一区二区视频| 国产1000部成人免费视频| 东北老妇xxxxhd| 国产浮力草草影院CCYY| 国产精品高清在线观看93| 国产传媒在线观看|