寄存器的功能十分重要,CPU對存儲器中的數據進行處理時,往往先把數據取到內部寄存器中,而后再作處理。外部寄存器是計算機中其它一些部件上用于暫存數據的寄存器,它與CPU之間通過"端口"交換數據,外部寄存器具有寄存器和內存儲器雙重特點。有些時候我們常把外部寄存器就稱為"端口",這種說法不太嚴格,但經常這樣說。

外部寄存器雖然也用于存放數據,但是它保存的數據具有特殊的用途。某些寄存器中各個位的0、1狀態(tài)反映了外部設備的工作狀態(tài)或方式;還有一些寄存器中的各個位可對外部設備進行控制;也有一些端口作為CPU同外部設備交換數據的通路。所以說,端口是CPU和外設間的聯系橋梁。CPU對端口的訪問也是依據端口的"編號"(地址),這一點又和訪問存儲器一樣。不過考慮到機器所聯接的外設數量并不多,所以在設計機器的時候僅安排了1024個端口地址,端口地址范圍為0--3FFH。

寄存器造價信息

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應商 報價日期
內存寄存器 NPM-256MB 查看價格 查看價格

霍尼韋爾

13% 成都霍尼韋爾有限公司
隨身物品寄存 WPGH-(K)L-24DS 查看價格 查看價格

福源科技

13% 云南為實科技有限公司
寄存柜電控鎖更衣柜電控鎖 HYJ8 查看價格 查看價格

13% 深圳市紅葉技術鎖業(yè)開發(fā)有限公司
真空捏合機工作原理 NHJ 查看價格 查看價格

13% 山東龍興化工機械集團有限公司
二氧化氯發(fā)生原理--工作原理 650*440*1000/LSYF PVC 查看價格 查看價格

綠思源

13% 濰坊綠思源環(huán)保設備有限公司
包柜 存包柜類型 投幣、鑰匙式 材質 金屬柜箱數量 3×5 適用場所 博物館,展覽館,超市,商場,游泳館 型號 CT15外形尺寸 W900×D430×H1720(mm) 單箱尺寸 W237×D425×H316(mm)產品類型 全新 查看價格 查看價格

13% 武漢阿力格科技有限公司
單座容積15m3,不銹鋼304,厚度6mm,重量2t,含攪拌機,攪拌機材質SS304【GLDZ】 查看價格 查看價格

無錫軍湖

13% 無錫市軍湖通用設備廠
設備 罐:單座容積15m3,不銹鋼304,厚度6mm,重量2t,含攪拌機,攪拌機材質SS304 查看價格 查看價格

馬盛環(huán)境

13% 無錫馬盛環(huán)境能源科技有限公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
攪拌 查看價格 查看價格

臺班 汕頭市2012年4季度信息價
吸塵 查看價格 查看價格

臺班 汕頭市2012年2季度信息價
攪拌 查看價格 查看價格

臺班 汕頭市2012年1季度信息價
吸塵 查看價格 查看價格

臺班 汕頭市2011年4季度信息價
攪拌 查看價格 查看價格

臺班 汕頭市2011年2季度信息價
攪拌 查看價格 查看價格

臺班 廣州市2011年1季度信息價
吸塵 查看價格 查看價格

臺班 廣州市2010年4季度信息價
攪拌 查看價格 查看價格

臺班 汕頭市2010年4季度信息價
材料名稱 規(guī)格/需求量 報價數 最新報價
(元)
供應商 報價地區(qū) 最新報價時間
寄存器內存 產品號:593911-B21 HP 4GB 1Rx4 PC3-10600R-9 Kit|1805套 1 查看價格 廣州思遨信息科技有限公司 廣東  廣州市 2015-03-30
寄存器內存 產品號:593913-B21 HP 8GB 2Rx4 PC3-10600R-9 Kit|3208套 1 查看價格 廣州思遨信息科技有限公司 廣東  廣州市 2015-05-28
寄存器內存 產品號:593907-B21 HP 2GB 2Rx8 PC3-10600R-9 Kit|6516套 1 查看價格 廣州思遨信息科技有限公司 廣東  廣州市 2015-04-22
智能寄存 實現真正的"共享書房",用于提供給讀者臨時寄存書籍等物品,進行短時免費,長時間寄存付費制度.用戶自助掃碼即可通過微信實現寄存柜支付和使用,并在后臺對寄存情況進行統(tǒng)計分析.|1套 1 查看價格 廣州萊安智能化系統(tǒng)開發(fā)有限公司 廣東   2020-11-13
行李寄存 尺寸:280×70;材質:1.2mm橫紋拉絲不銹鋼圍邊折盒,表面電鍍黃古銅,防指紋處理,四周倒圓角處理,文字腐蝕填充白色油墨.|1塊 1 查看價格 廣州芬奇廣告有限公司 廣東   2022-01-10
數學原理 制作原型轉盤,轉盤內按照數學定理設計不同形狀液體容器和管道,觀眾旋轉轉盤,通過觀察其中定量液體形態(tài)及珠子走向形態(tài)等變化,了解勾股定理、圓錐與圓柱以及概率的數學原理|1項 1 查看價格 安徽盛鴻展覽工程有限公司 全國   2022-08-15
數學原理 制作原型轉盤,轉盤內按照數學定理設計不同形狀液體容器和管道,觀眾旋轉轉盤,通過觀察其中定量液體形態(tài)及珠子走向形態(tài)等變化,了解勾股定理、圓錐與圓柱以及概率的數學原理|1項 1 查看價格 鴻瑞工美(深圳)實業(yè)有限公司 全國   2022-10-24
數學原理 制作原型轉盤,轉盤內按照數學定理設計不同形狀液體容器和管道,觀眾旋轉轉盤,通過觀察其中定量液體形態(tài)及珠子走向形態(tài)等變化,了解勾股定理、圓錐與圓柱以及概率的數學原理|1項 1 查看價格 安徽東一特電子技術有限公司 全國   2022-09-16

寄存器8086

8086 有14個16位寄存器,這14個寄存器按其用途可分為(1)通用寄存器、(2)指令指針、(3)標志寄存器和(4)段寄存器等4類。

通用寄存器

有8個, 又可以分成2組,一組是數據寄存器(4個),另一組是指針寄存器及變址寄存器(4個).

顧名思義,通用寄存器是那些你可以根據自己的意愿使用的寄存器,修改他們的值通常不會對計算機的運行造成很大的影響。

數據寄存器分為:

AH&AL=AX(accumulator):累加寄存器,常用于運算;在乘除等指令中指定用來存放操作數,另外,所有的I/O指令都使用這一寄存器與外界設備傳送數據。

BH&BL=BX(base):基址寄存器,常用于地址索引

CH&CL=CX(count):計數寄存器,常用于計數;常用于保存計算值,如在移位指令,循環(huán)(loop)和串處理指令中用作隱含的計數器.

DH&DL=DX(data):數據寄存器,常用于數據傳遞。

他們的特點是,這4個16位的寄存器可以分為高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。這2組8位寄存器可以分別尋址,并單獨使用。

另一組是指針寄存器和變址寄存器,包括:

SP(Stack Pointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置

BP(Base Pointer):基址指針寄存器,可用作SS的一個相對基址位置

SI(Source Index):源變址寄存器,可用來存放相對于DS段之源變址指針

DI(Destination Index):目的變址寄存器,可用來存放相對于ES 段之目的變址指針。

這4個16位寄存器只能按16位進行存取操作,主要用來形成操作數的地址,用于堆棧操作和變址運算中計算操作數的有效地址。

指令指針I(yè)P

指令指針I(yè)P是一個16位專用寄存器,它指向當前需要取出的指令字節(jié),當BIU從內存中取出一個指令字節(jié)后,IP就自動加(取出該字節(jié)的長度,如:BIU從內存中取出的是1個字節(jié),IP就會自動加1,如果BIU從內存中取出的字節(jié)數長度為3,IP就自動加3),指向下一個指令字節(jié)。注意,IP指向的是指令地址的段內地址偏移量,又稱偏移地址(Offset Address)或有效地址(EA,Effective Address)。

標志寄存器

8086有一個16位的標志性寄存器FR,在FR中有意義的有9位,其中6位是狀態(tài)位,3位是控制位。標志寄存器(Flags Register,FR)又稱程序狀態(tài)字(Program Status Word,PSW)。這是一個存放條件標志、控制標志寄存器,主要用于反映處理器的狀態(tài)和運算結果的某些特征及控制指令的執(zhí)行。

標志寄存器位置圖:

1514131211109876543210
OFDFIFTFSFZFAFPFCF

OF:溢出標志位OF用于反映有符號數加減運算所得結果是否溢出。如果運算結果超過當前運算位數所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。

DF:方向標志DF位用來決定在串操作指令執(zhí)行時有關指針寄存器發(fā)生調整的方向。

IF:中斷允許標志IF位用來決定CPU是否響應CPU外部的可屏蔽中斷發(fā)出的中斷請求。但不管該標志為何值,CPU都必須響應CPU外部的不可屏蔽中斷所發(fā)出的中斷請求,以及CPU內部產生的中斷請求。具體規(guī)定如下:

(1)、當IF=1時,CPU可以響應CPU外部的可屏蔽中斷發(fā)出的中斷請求

(2)、當IF=0時,CPU不響應CPU外部的可屏蔽中斷發(fā)出的中斷請求。

TF:跟蹤標志TF。該標志可用于程序調試。TF標志沒有專門的指令來設置或清除。

(1)如果TF=1,則CPU處于單步執(zhí)行指令的工作方式,此時每執(zhí)行完一條指令,就顯示CPU內各個寄存器的當前值及CPU將要執(zhí)行的下一條指令。

(2)如果TF=0,則處于連續(xù)工作模式。

SF:符號標志SF用來反映運算結果的符號位,它與運算結果的最高位相同。在微機系統(tǒng)中,有符號數采用補碼表示法,所以,SF也就反映運算結果的正負號。運算結果為非負數時,SF的值為0,否則其值為1。當運算結果沒有產生溢出時,運算結果等于邏輯結果(即應該得到的正確的結果),此時SF表示的是邏輯結果的正負,當運算結果產生溢出時,運算結果不等于邏輯結果,此時的SF值所表示的正負情況與邏輯結果相反,即:SF=0時,邏輯結果為負,SF=1時,邏輯結果為非負。

ZF:零標志ZF用來反映運算結果是否為0。如果運算結果為0,則其值為1,否則其值為0。在判斷運算結果 是否為0時,可使用此標志位。

AF:( Assistant Carry Flag)下列情況下,輔助進位標志AF的值被置為1,否則其值為0:

(1)、在字操作時,發(fā)生低字節(jié)向高字節(jié)進位或借位時

(2)、在字節(jié)操作時,發(fā)生低4位向高4位進位或借位時。

PF:奇偶標志PF用于反映運算結果中"1"的個數的奇偶性。如果"1"的個數為偶數,則PF的值為1,否則其值為0。

CF:進位標志CF主要用來反映無符號數運算是否產生進位或借位。如果運算結果的最高位產生了一個進位或借位,那么,其值為1,否則其值為0。

段寄存器

為了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址: CS(Code Segment):代碼段寄存器

DS(Data Segment):數據段寄存器

SS(Stack Segment):堆棧段寄存器

ES(Extra Segment):附加段寄存器。

當一個程序要執(zhí)行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,通過設定段寄存器CS,DS,SS 來指向這些起始位置。通常是將DS固定,而根據需要修改CS。所以,程序可以在可尋址空間小于64K的情況下被寫成任意大小。所以,程序和其數據組合起來的大小,限制在DS 所指的64K內,這就是COM文件不得大于64K的原因。8086以內存作為戰(zhàn)場,用寄存器做為軍事基地,以加速工作。

備注:由于所講的是16位cpu(IP寄存器的位數為16,即:偏移地址為16位)2的16次冪就是64K,所以16位段地址不能超過64K,超過64K會造成64K以上的地址找不到。

寄存器原理

寄存器的基本單元是 D觸發(fā)器, 按照其用途分為基本寄存器和移位寄存器

基本寄存器(見圖)是由 D觸發(fā)器組成,在 CP 脈沖作用下,每個 D觸發(fā)器能夠寄存一位二進制碼。在 D=0 時,寄存器儲存為 0,在 D=1 時,寄存器儲存為 1。

在低電平為 0、高電平為 1 時,需將信號源與 D 間連接一反相器,這樣就可以完成對數據的儲存。

需要強調的是,目前大型數字系統(tǒng)都是基于時鐘運作的,其中寄存器一般是在時鐘的邊緣被觸發(fā)的,基于電平觸發(fā)的已較少使用。(通常說的CPU的頻率就是指數字集成電路的時鐘頻率)

移位寄存器按照移位方向可以分為單向移位寄存器和雙向移位寄存器

單向移位寄存器是由多個 D 觸發(fā)器串接而成(見圖) ,在串口 Di 輸入需要儲存的數據,觸發(fā)器 FF0 就能夠儲存當前需要儲存數據,在 CP 發(fā)出一次時鐘控制脈沖時,串口 Di 同時輸入第二個需要儲存是的數據,而第一個數據則儲存到觸發(fā)器 FF1 中。

雙向移位寄存器按圖中方式排列,調換連接端順序,可以控制寄存器向左移位,增加控制電路可以使寄存器右移,這樣構成雙向移位寄存器。

寄存器工作原理常見問題

  • 移位寄存器工作原理是多少?

    工作原理    寄存器的功能十分重要,CPU對存儲器中的數據進行處理時,往往先把數據取到內部寄存器中,而后再作處理。外部寄存器是計算機中其它一些部件上用于暫存數據的寄存器,它與CP...

  • 請問什么是寄存器變量

    寄存器是cpu的一部分,是計算機中速度最快的存儲器,分為   通用寄存器、專用寄存器、段寄存器、其他寄存器,每個寄存器存儲一種類型的變量,各司其職,這樣說來,又分為累加器、源變址寄...

  • 指令寄存器有什么作用

    指令寄存器的作用: 通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。    寄存器是中央處理器內的組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、...

寄存器分類

數據寄存器- 用來儲存整數數字(參考以下的浮點寄存器)。在某些簡單/舊的CPU,特別的數據寄存 器是累加器,作為數學計算之用。

地址寄存器- 持有存儲器地址,用來訪問存儲器。在某些簡單/舊的CPU里,特別的地址寄存器是索引寄存器(可能出現一個或多個)。

通用目的寄存器(GPRs) - 可以保存數據或地址兩者,也就是說它們是結合數據/地址 寄存器的功用。

浮點寄存器(FPRs) - 用來儲存浮點數字。

常數寄存器- 用來持有只讀的數值(例如0、1、圓周率等等)。

向量寄存器- 用來儲存由向量處理器運行SIMD(Single Instruction, Multiple Data)指令所得到的數據。

特殊目的寄存器- 儲存CPU內部的數據,像是程序計數器(或稱為指令指針),堆棧寄存器,以及狀態(tài)寄存器(或稱微處理器狀態(tài)字組)。

指令寄存器(instruction register)- 儲存現在正在被運行的指令。

索引寄存器(index register)- 是在程序運行時用來更改運算對象地址之用。

在某些架構下,模式指示寄存器(也稱為"機器指示寄存器")儲存和設置跟處理器自己有關的數據。由于他 們的意圖目的是附加到特定處理器的設計,因此他們并不被預期會成為微處理器世代之間保留的標準。

有關從隨機存取存儲器提取信息的寄存器與CPU(位于不同芯片的儲存寄存器集合)

存儲器緩沖寄存器(Memory buffer register)

存儲器數據寄存器(Memory data register)

存儲器地址寄存器(Memory address register)

存儲器型態(tài)范圍寄存器(Memory Type Range Registers)

向量寄存器

寄存器基本含義

寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發(fā)器組成。在集成電路設計中,寄存器可分為電路內部使用的寄存器和充當內外部接口的寄存器這兩類。內部寄存器不能被外部電路或軟件訪問,只是為內部電路的實現存儲功能或滿足電路的時序要求。而接口寄存器可以同時被內部電路和外部電路或軟件訪問,CPU中的寄存器就是其中一種,作為軟硬件的接口,為廣泛的通用編程用戶所熟知。

在計算機領域,寄存器是CPU內部的元件,包括通用寄存器、專用寄存器和控制寄存器。寄存器擁有非常高的讀寫速度,所以在寄存器之間的數據傳送非???。

寄存器是內存階層中的最頂端,也是系統(tǒng)獲得操作資料的最快速途徑。寄存器通常都是以他們可以保存的位元數量來估量,

舉例來說,一個"8 位元寄存器"或"32位元寄存器"。寄存器現在都以寄存器檔案的方式來實作,但是他們也可能使用單獨的正反器、高速的核心內存、薄膜內存以及在數種機器上的其他方式來實作出來。

寄存器通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們?yōu)?架構寄存器"。

例如,x86指令集定義八個32 位元寄存器的集合,但一個實際 x86 指令集的CPU可以包含比八個更多的寄存器。

寄存器是中央處理器內的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和地址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數器(PC)。在中央處理器的算術及邏輯部件中,存器有累加器(ACC)。

重命名技術

寄存器重命名,是CPU在解碼過程中對寄存器進行重命名,解碼器把"其它"的寄存器名字變?yōu)?通用"的寄存器名字,本質上是通過一個表格把x86寄存器重新映射到其它寄存器,這樣可以讓實際使用到的寄存器遠大于8個。這樣做的好處除了便于前面指令發(fā)生意外或分支預測出錯時取消外,還避免了由于兩條指令寫同一個寄存器時的等待。

亂序執(zhí)行技術

采用亂序執(zhí)行技術使CPU內部電路滿負荷運轉并相應提高了CPU運行程序的速度。這好比請A、B、C三個名人為春節(jié)聯歡晚會題寫橫幅"春節(jié)聯歡晚會"六個大字,每人各寫兩個字,如果這時在一張大紙上按順序由A寫好"春節(jié)"后再交給B寫"聯歡",然后再由C寫"晚會",那么這樣在A寫的時候,B和C必須等待,而在B寫的時候C仍然要等待而A已經沒事了。

但如果采用三個人分別用三張紙同時寫的做法,那么B和C都不必等待就可以同時各寫各的了,甚至C和B還可以比A先寫好 也沒關系(就像亂序執(zhí)行),但當他們都寫完后就必須重新在橫幅上按"春節(jié)聯歡晚會"的順序排好(自然可以由別人做,就象CPU中亂序執(zhí)行后的重新排列單元)才能掛出去。

1.可將寄存器內的數據執(zhí)行算術及邏輯運算

2.存于寄存器內的地址可用來指向內存的某個位置,即尋址

3.可以用來讀寫數據到電腦的周邊設備。

寄存器具體舉例

UxCTL

UxCTL寄存器是一個8位的寄存器。UASRT模塊的基本操作由該寄存器的控制位確定的,它包含了通信協(xié)議、通信模式和校驗位等的選擇。 圖給出了寄存器的各個位。

圖UxCTL寄存器

由圖可以看出,UxCTL寄存器主要包括8個有效的控制位。為了增加對UxCTL寄存器的了解,知道怎樣對該寄存器進行正確的設置,下面對UxCTL寄存器的各個位進行詳細介紹。

PENA:校驗使能位。當該位為0時,不允許校驗;當該位為1時,允許校驗。如果允許校驗,則發(fā)送時產生校驗位,在接收時希望接收到校驗位。.當在地址位多機模式中¨地址位包括在校驗計算中。

PEV:奇偶校驗位。當該位為0時,進行奇校驗;當該位為1時,進行偶校驗。

SPB:停止位。該位用來選擇發(fā)送時停止位的個數,但接收時停止位只有一個。當該位為0時,發(fā)送時只有1個停止位;當該位為1時,發(fā)送時有2個停止位。

CHAR:字符長度位。該位用來選擇發(fā)送時數據的長度。當該位為0時,發(fā)送的數據為7位;當該位為1時,發(fā)送的數據為8位。

LISTEN:監(jiān)聽使能位。該位用來選擇反饋模式。當該位為0時,沒有反饋;當該位為1時,有反饋,發(fā)送的數據被送到接收器,這樣可以進行自環(huán)測試。

SYNC:該位用于同步模式選擇和異步模式選擇。當該位為0時,USART模塊為異步通信(UART)模式;當該位為1時,USART模塊為同步通信(SPI)模式。

MM:多機模式選擇位。當該位為0時,多機模式選擇線路空閑多機協(xié)議;當該位為1時,多機模式選擇地址位多機協(xié)議。

SWRST:軟件復位使能位。當該位為0時,UASRT模塊被允許;當該位為1時,UASRT模塊被禁止。

通過以上對UxCTL寄存器的各個位的介紹,可以完成對通信模式和通信數據格式等的選擇。

通用寄存器

顧名思義,通用寄存器是那些你可以根據自己的意愿使用的寄存 器,修改他們的值通常不會對計算機的運行造成很大的影響。通用寄存器最多的用途是計算。

EAX:通用寄存器。相對其他寄存器,在進行運算方面比較常用。在保護模式中,也可以作為內存偏移指針(此時,DS作為段寄存器或選擇器)

EBX:通用寄存器。通常作為內存偏移指針使用(相對于EAX、ECX、EDX),DS是默認的段寄存器或選擇器。在保護模式中,同樣可以起這個作用。

ECX:通用寄存器。通常用于特定指令的計數。在保護模式中,也可以作為內存偏移指針(此時,DS作為寄存器或段選擇器)。

EDX:通用寄存器。在某些運算中作為EAX的溢出寄存器(例如乘、除)。

同AX分為AH&AL一樣,上述寄存器包括對應的16-bit分組和8-bit分組。

特殊寄存器

ESI:通常在內存操作指令中作為"源地址指針"使用。當然,ESI可以被裝入任意的數值,但通常沒有人 把它當作通用寄存器來用。DS是默認段寄存器或選擇器。

EDI:通常在內存操作指令中作為"目的地址指針"使用。當然,EDI也可以被裝入任意的數值,但通常沒有人把它當作通用寄存器來用。ES是默認段寄存器或選擇器。

EBP和ESP:作為指針的寄存器,也可作為16位寄存器BP, SP使用,常用于椎棧操作。通常,它被高級語言編譯器用以建造'堆棧幀'來保存函數或過程的局部變量,不過,還是那句話,你可以在其中保存你希望的任何數據。SS是它的默認段寄存器或選擇器。

注意,這四個寄存器沒有對應的8-bit分組。換言之,你可以通過SI、DI、BP、SP作為別名訪問他們的低16位,卻沒有辦法直接訪問他們的低8位。

段選擇器

實模式下的段寄存器到保護模式下搖身一變就成了選擇器。不同的是,實模式下的"段寄存器"是16-bit的,而保護模式下的選擇器是32-bit的。

CS代碼段,或代碼選擇器。同IP寄存器(稍后介紹)一同指向當前正在執(zhí)行的那個地址。處理器執(zhí)行時從這個寄存器指向的段(實模式)或內存(保護模式)中獲取指令。除了跳轉或其他分支指令之外,你無法修改這個寄存器的內容。

DS數據段,或數據選擇器。這個寄存器的低16 bit連同ESI一同指向的指令將要處理的內存。同時,所有的內存操作指令默認情況下都用它指定操作段(實模式)或內存(作為選擇器,在保護模式。這個寄存器可以被裝入任意數值,然而在這么做的時候需要小心一些。方法是,首先把數據送給AX,然后再把它從AX傳送給DS(當然,也可以通過堆棧來做).

ES 附加段,或附加選擇器。這個寄存器的低16 bit連同EDI一同指向的指令將要處理的內存。同樣的,這個寄存器可以被裝入任意數值,方法和DS類似。

FS F段或F選擇器(推測F和下面的G正好是上面CS,DS,ES的字母順延)??梢杂眠@個寄存器作為默認段寄存器或選擇器的一個替代品。它可以被裝入任何數值,方法和DS類似。

GS G段或G選擇器(G的意義和F一樣,沒有在Intel的文檔中解釋)。它和FS幾乎完全一樣。

SS堆棧段或堆棧選擇器。這個寄存器的低16 bit連同ESP一同指向下一次堆棧操作(push和pop)所要使用的堆棧地址。這個寄存器也可以被裝入任意數值,你可以通過入棧和出棧操作來給他賦值,不過由于堆棧對于很多操作有很重要的意義,因此,不正確的修改有可能造成對堆棧的破壞。

* 注意一定不要在初學匯編的階段把這些寄存器弄混。他們非常重要,而一旦你掌握了他們,你就可以對他們做任意的操作了。段寄存器,或選擇器,在沒有指定的情況下都是使用默認的那個。這句話在現在看來可能有點稀里糊涂,不過你很快就會在后面知道如何去做。

指令指針

EIP 這個寄存器非常的重要。這是一個32位寬的寄存器,同CS一同指向即將執(zhí)行的那條指令的地址,存放指令的偏移地址。微處理器工作于實模式下,EIP是IP(16位)寄存器。不能夠直接修改這個寄存器的值,修改它的唯一方法是跳轉或分支指令。(CS是默認的段或選擇器)

E、標志寄存器EFR

EFR(extra flags register)包括狀態(tài)位、控制位和系統(tǒng)標志位,用于指示微處理器的狀態(tài)并控制微處理器的操作。80486 CPU標志寄存器如圖2.12所示。

①狀態(tài)標志位:包括進位標志CF、奇偶標志PF、輔助進位標志AF、零標志ZF 、符號標志SF和溢出標志OF。

② 控制標志位:包括陷阱標志(單步操作標志)TF、中斷標志IF和方向標志DF。80486 CPU標志寄存器中的狀態(tài)標志位和控制標志位與8086 CPU標志寄存器中的狀態(tài)標志位和控制標志位的功能完全一樣,這里就不再贅述。

③ 系統(tǒng)標志位和IOPL字段:在EFR寄存器中的系統(tǒng)標志和IOPL字段,用于控制操作系統(tǒng)或執(zhí)行某種操作。它們不能被應用程序修改。

IOPL(I/O privilege level field):輸入/輸出特權級標志位。它規(guī)定了能使用I/O敏感指令的特權級。在保護模式下,利用這兩位編碼可以分別表示0, 1, 2, 3這四種特權級,0級特權最高,3級特權最低。在80286以上的處理器中有一些I/O敏感指令,如CLI(關中斷指令)、STI(開中斷指令)、IN(輸入)、OUT(輸出)。IOPL的值規(guī)定了能執(zhí)行這些指令的特權級。只有特權高于IOPL的程序才能執(zhí)行I/O敏感指令,而特權低于IOPL的程序,若企圖執(zhí)行敏感指令,則會引起異常中斷。

NT(nested task flag):任務嵌套標志。在保護模式下,指示當前執(zhí)行的任務嵌套于另一任務中。當任務被嵌套時,NT=1,否則NT=0。

RF(resume flag):恢復標志。與調試寄存器一起使用,用于保證不重復處理斷點。當RF=1時,即使遇到斷點或故障,也不產生異常中斷。

VM(virtual 8086 mode flag):虛擬8086模式標志。用于在保護模式系統(tǒng)中選擇虛擬操作模式。VM=1,啟用虛擬8086模式;VM=0,返回保護模式。

AC(alignment check flag):隊列檢查標志。如果在不是字或雙字的邊界上尋址一個字或雙字,隊列檢查標志將被激活。

其他寄存器

上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能沒有聽說過它們。(都是32位寬):

CR0, CR2, CR3(控制寄存器)。舉一個例子,CR0的作用是切換實模式和保護模式。

還有其他一些寄存器,D0, D1, D2, D3, D6和D7(調試寄存器)。他們可以作為調試器的硬件支持來設置條件斷點。

TR3, TR4, TR5, TR6 和TR?寄存器(測試寄存器)用于某些條件測試。

寄存器工作原理文獻

嵌入式ARM9通過寄存器控制led燈 嵌入式ARM9通過寄存器控制led燈

格式:pdf

大?。?span id="pxgm1wp" class="single-tag-height">43KB

頁數: 2頁

評分: 4.7

通過寄存器控制 led燈。 cpu通過 GPIO(通用輸入輸出 )控制標準的輸入輸出。 cpu 一共有 150 根針與 gpio 連接。Gpio 可以定義為輸入,也可以定義為輸出。 輸入即拉高電平。輸出即檢測電平高低。 GPIO 內有很多寄存器。并且映射到 0~4G 的尋址 空間中的某個固定的地址。 Gpio 中的寄存器管理 GPIO 中的引腳,管理到每一根引腳。 引腳很多。所以,分組管理,其中 port b 控制寄存器即 B 組寄存器共管理 11個引腳。共用 了 4 個寄存器來對這 11個引腳的管理 。 B 組控制寄存器 寄存器名 映射的地址 讀寫狀態(tài) 功能說明 上電后的初始值 GPBCON 控制 0x56000010 讀 /寫 此寄存器的 10~11比特位 即控制 gpio 的第 5 引腳。 這個寄存器主要是用于 控制各個引腳的功能: 0 = input 1 = output 0x0

立即下載
減震器工作原理詳解 減震器工作原理詳解

格式:pdf

大?。?span id="kpwr1xi" class="single-tag-height">43KB

頁數: 3頁

評分: 4.6

1 汽車懸架知識專題:減震器工作原理詳解 懸架系統(tǒng)中由于彈性元件受沖擊產生振動,為改善汽車行駛平順性,懸架中與彈 性元件并聯安裝減振器, 為衰減振動,汽車懸架系統(tǒng)中采用減振器多是液力減振器, 其工作原理是當車架(或車身)和車橋間受振動出現相對運動時,減振器內的活塞 上下移動,減振器腔內的油液便反復地從一個腔經過不同的孔隙流入另一個腔內。 此時孔壁與油液間的摩擦和油液分子間的內摩擦對振動形成阻尼力,使汽車振動能 量轉化為油液熱能,再由減振器吸收散發(fā)到大氣中。在油液通道截面和等因素不變 時,阻尼力隨車架與車橋(或車輪)之間的相對運動速度增減,并與油液粘度有關。 減振器與彈性元件承擔著緩沖擊和減振的任務,阻尼力過大,將使懸架彈性變 壞,甚至使減振器連接件損壞。因面要調節(jié)彈性元件和減振器這一矛盾。 (1) 在壓縮行程(車橋和車架相互靠近),減振器阻尼力較小,以便充分發(fā)揮 彈性元件的彈性作用,緩和

立即下載

寄存器電路定義

基本寄存器是由觸發(fā)器組成的,一個觸發(fā)器就是一個寄存器,它可以儲存一位二進制數碼。需要存儲四位二進制數碼時,只要把四個觸發(fā)器并聯起來,就可以組成一個四位二進制寄存器,它能接受和存儲四位二進制數碼。圖2是由4個D觸發(fā)器構成的基本寄存器邏輯電路,每個觸發(fā)器的cP端并聯起來作為控制端。需要存儲的數碼加到觸發(fā)器的D輸入端。四個觸發(fā)器的CP端接在一起,成為寄存器的控制端,需要存儲的數碼加到觸發(fā)器的D輸入端。

寄存器電路特點

根據D觸發(fā)器的性質,上述的寄存器有以下基本特點。

(1)CP=0

當CP=0時,觸發(fā)器保持原狀態(tài)不變,即:

。

(2)CP=1

當CP=1(上升沿)時,觸發(fā)器的狀態(tài)為D輸入端的狀態(tài),即:

。

由此可見,D觸發(fā)器只在CP=1(上升沿)時,才會接收和存儲數碼。

另外,由于4個觸發(fā)器的

端也并聯在一起。因此,如果在瓦D端加上負脈沖,就可將全部觸發(fā)器均置為0態(tài),通常將這一過程稱為清零,也叫置0端。

寄存器電路工作原理

如果要存儲二進制數1001,它們被分別加到觸發(fā)器的D輸入端。當時鐘脈沖CP到來時,由于D觸發(fā)器的特性是在CP=1時,

,所以在CP脈沖的上升沿時,4個觸發(fā)器的狀態(tài)從高位到低位被分別置為1001,只要不出現清零脈沖或新的接收脈沖和數碼,寄存器將一直保持這個狀態(tài)不變,即輸入的二進制碼1001被存儲在該寄存器中。 如果想從寄存器中取出1001數碼,則只要從寄存器的各個Q輸出端就可以獲得。

?  INDF寄存器位于RAM最頂端、地址碼為00H,是一個空寄存器,它只有地址編碼,不存在一個真正的(物理上)的寄存器,它用來與FSR(通用寄存器選擇寄存器)配合,實現間接尋址。但尋址INDF時,實際上是訪問以FSR內容為地址的RAM單元。

寄存器和組合邏輯是數字邏輯電路的兩大基本要素。寄存器一般和同步時序邏輯關聯,其特點為僅當時鐘的沿(上升沿或下降沿)到達時,才有可能發(fā)生輸出的改變。根據實現目標不同,寄存器的建模結構略有不同,需要注意如下要點:

①寄存器信號聲明:寄存器定義是reg型。但是請注意,這個命題的反命題不一定成立。某些信號雖然被定義為reg型,但是最終綜合實現結果并不是寄存器,如“cnt—out—plus”雖然被指定為reg型,但是實現時是純組合邏輯。只有定義為reg型,且always的敏感表為posedge或negedge沿敏感操作時,該信號才是寄存器。

②時鐘輸入:在每個時鐘的正沿或負沿對數據進行處理。數據的正沿或負沿起作用,是在always的敏感表中通過posedge和negedge指定的。

③異步復位/置位:絕大多數目標器件的寄存器模型都包含異步復位/置位端。異步復位/置位是指無論時鐘沿是否有效,當復位/置位信號有效沿到達時,復位/置位立即發(fā)揮功能。指定異步復位/置位時,只需在always的敏感表中加入復位/置位信號的有效沿即可。下例描述的異步復位電路是最常用的寄存器復位形式之一。

④同步復位/置位:任何寄存器都可實現同步復位/置位功能。指定同步復位/置位時,always的敏感表中僅有時鐘沿信號,當同步復位/置位信號變化時,同步復位/置位并不立即發(fā)生,僅僅當時鐘沿采到同步復位/置位的有效電平時,才會在時鐘沿到達時刻進行復位/置位操作。

⑤同時使用時鐘上升和下降沿的問題:有時因為數據采樣或調整數據相位等需求,設計者會在一個always的敏感表中同時使用時鐘的posedge和negedge,或者在兩個always的敏感表中分別使用時鐘的posedge和negedge對某些寄存器電路操作。在這兩種描述下,當時鐘上沿或下沿到達時,該寄存器電路都會做相應的操作。這個雙沿電路往往可以等同于使用了原時鐘的倍頻時鐘的單沿操作電路。對于實現在PLD的設計而言,同時使用時鐘的上、下沿往往是不推薦的,因為PLD內嵌的PLL/DLL和一些時鐘電路往往只能對時鐘的一個沿保證非常好的指標,而另一個沿的抖動、偏斜、斜率等指標不見得非常優(yōu)化,有時同時使用時鐘的正負沿會因時鐘的抖動、偏斜、占空比、斜率等問題造成一定的性能惡化。因此推薦的做法是:將原時鐘通過PLL/DLL倍頻,然后使用倍頻時鐘的單沿(如上升沿)進行操作。但是電路設計不可一概而論,如果必須使用時鐘的雙沿對同一個寄存器操作時,請設計者明確此時相當于使用了倍頻時鐘。

寄存器相關推薦
  • 相關百科
  • 相關知識
  • 相關專欄