寄存器地址是什么?有哪些分類?
寄存器地址用來保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存的讀/寫操作完成為止 。
地址寄存器采用單純的寄存器結(jié)構(gòu)。在對(duì)主存或I/O端口進(jìn)行訪問時(shí),地址寄存器存放當(dāng)前訪問的地址,數(shù)據(jù)緩沖器實(shí)現(xiàn)數(shù)據(jù)的緩沖。CPU通過修改地址寄存器中的值,就可訪問不同的存儲(chǔ)器單元及不同的I/O端口。
地址寄存器可用LPM庫(kù)中的元件lpm_latch鎖存器來完成。圖是地址寄存器的結(jié)構(gòu)圖。地址寄存器的數(shù)據(jù)寬度應(yīng)當(dāng)與程序計(jì)數(shù)器的數(shù)據(jù)寬度一致。data[7…0]是地址寄存器的數(shù)據(jù)輸入端,q[7…0]是地址寄存器的數(shù)據(jù)輸出端,gate是地址鎖存器的控制端。gate的作用是當(dāng)鎖存控制脈沖到來時(shí),高電平時(shí)數(shù)據(jù)進(jìn)入鎖存器,低電平時(shí)鎖存數(shù)據(jù),保持輸出數(shù)據(jù)穩(wěn)定不變。
當(dāng)CPU和內(nèi)存進(jìn)行信息交換,即CPU向內(nèi)存存/取數(shù)據(jù)時(shí),或者CPU從內(nèi)存中讀出指令時(shí),都要使用地址寄存器和數(shù)據(jù)緩沖寄存器。同樣,如果我們把外圍設(shè)備的設(shè)備地址作為像內(nèi)存的地址單元那樣來看待,那么,當(dāng)CPU和外圍設(shè)備交換信息時(shí),我們同樣使用 地址寄存器和數(shù)據(jù)緩沖寄存器。
地址寄存器的結(jié)構(gòu)和數(shù)據(jù)緩沖寄存器、指令寄存器一樣,通常使用單純的寄存器結(jié)構(gòu)。信息的存入一般采用電位-脈沖方式,即電位輸入端對(duì)應(yīng)數(shù)據(jù)信息位,脈沖輸入端對(duì)應(yīng)控制信號(hào),在控制信號(hào)作用下,瞬時(shí)地將信息打入寄存器。
寄存器的地址就是內(nèi)存地址,分為以下集中類型
邏輯地址:
機(jī)器語言 指令仍用這種地址指定一個(gè)操作數(shù)的地址或一條指令的地址。這種 尋址方式 在Intel的分段結(jié)構(gòu)中表現(xiàn)得尤為具體,它使得MS-DOS或Windows程序員把程序分為若干段。每個(gè)邏輯地址都由一個(gè)段和偏移量組成。
線性地址:
線性地址是一個(gè)32位的 無符號(hào)整數(shù) ,可以表達(dá)高達(dá)232(4GB)的地址。通常用16進(jìn)制表示線性地址,其取值范圍為0x00000000~0xffffffff。
物理地址:
也就是內(nèi)存單元的實(shí)際地址,用于芯片級(jí)內(nèi)存單元尋址。物理地址也由32位 無符號(hào)整數(shù) 表示。
物聯(lián)百科是由鋇錸技術(shù)組織行業(yè)上下游專業(yè)人員撰稿匯總的物聯(lián)網(wǎng)知識(shí)板塊,可以助力行業(yè)人員更加快速的熟悉物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、工業(yè)物聯(lián)網(wǎng)人員快速了解、掌握各種基礎(chǔ)的物聯(lián)網(wǎng)基礎(chǔ)知識(shí)以及工業(yè)物聯(lián)網(wǎng)技術(shù)的發(fā)展動(dòng)態(tài)。同時(shí)本欄目也歡迎廣大工業(yè)互聯(lián)網(wǎng)、工業(yè)物聯(lián)網(wǎng)從業(yè)工程師積極投稿。