日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pc计算机中ram的编址单位,字母编址

發布時間:2024/7/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pc计算机中ram的编址单位,字母编址 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于CPU而言,如果它要發數據到某個設備,其實是發到對應的接口,接口電路里有多個寄存器(也稱為端口),訪問設備實際上是訪問相關的端口,所有的信息會由接口轉給它的設備。那么CPU會準備數據發送到數據總線,但是諸多接口,該發給誰呢?這時就須要為各接口分配一個地址,然后把地址放在地址總線上,需要的控制信息放到控制總線上,就可以和設備通信了。 對于一個系統而言,通常會有多個外設,每個外設的接口電路中,又會有多個端口,每個端口都需要一個地址,為他們標識一個具體的地址值,是系統必須解決的事,與此同時,你還有個內存條,可能是512M或1G或更大的金士頓、現代DDR2之類,他們的每一個地址也都需要分配一個標識值,另外,很多外設有自己的內存、緩沖區,就像你的內存條一樣,你同樣需要為它們分配內存……你的CPU可能需要和這些打交道,這個時候為每一部分編一個地址,使用起來就會方便很多。

中文名

字母編址

外文名

alphabet addressing

性????質

計算機軟件術語兩種形式

獨立編址和統一編址y應用

應????用

計算機中傳輸數據過程p靜態

平????臺

計算機

字母編址地址概述

編輯

語音

字母編址物理地址

物理地址就是CPU地址總線傳來的地址,由硬件電路控制其具體含義。物理地址中很大一部分是留給內存條中的內存的,但也常被映射到其他存儲器上(如顯存、BIOS等)。在程序指令中的虛擬地址經過段映射和頁面映射后,就生成了物理地址,這個物理地址被放到CPU的地址線上。

物理地址空間,一部分給物理RAM(內存)用,一部分給總線用,這是由硬件設計來決定的,因此在32 bits地址線的x86處理器中,物理地址空間是2的32次方,即4GB,但物理RAM一般不能上到4GB,因為還有一部分要給總線用(總線上還掛著別的許多設備)。在PC機中,一般是把低端物理地址給RAM用,高端物理地址給總線用。

字母編址總線地址

總線地址就是總線的地址線在地址周期上產生的信號。外設使用的是總線地址,CPU使用的是物理地址。

物理地址與總線地址之間的關系由系統的設計決定的。在x86平臺上,物理地址就是總線地址,這是因為它們共享相同的地址空間——這句話有點難理解,詳見下面的“獨立編址”。在其他平臺上,可能需要轉換/映射。比如:CPU需要訪問物理地址是0xfa000的單元,那么在x86平臺上,會產生一個PCI總線上對0xfa000地址的訪問。因為物理地址和總線地址相同,所以憑眼睛看是不能確定這個地址是用在哪兒的,它或者在內存中,或者是某個卡上的存儲單元,甚至可能這個地址上沒有對應的存儲器。

字母編址虛擬地址

現代操作系統普遍采用虛擬內存管理(Virtual Memory Management)機制,這需要MMU(Memory Management Unit)的支持。MMU通常是CPU的一部分,如果處理器沒有MMU,或者有MMU但沒有啟用,CPU執行單元發出的內存地址將直接傳到芯片引腳上,被內存芯片(物理內存)接收,這稱為物理地址(Physical Address),如果處理器啟用了MMU,CPU執行單元發出的內存地址將被MMU截獲,從CPU到MMU的地址稱為虛擬地址(Virtual Address),而MMU將這個地址翻譯成另一個地址發到CPU芯片的外部地址引腳上,也就是將虛擬地址映射成物理地址。

Linux中,進程的4GB(虛擬)內存分為用戶空間、內核空間。用戶空間分布為0~3GB(即PAGE_OFFSET,在0X86中它等于 0xC0000000),剩下的1G為內核空間。程序員只能使用虛擬地址。系統中每個進程有各自的私有用戶空間(0~3G),這個空間對系統中的其他進程是不可見的。

CPU發出取指令請求時的地址是當前上下文的虛擬地址,MMU再從頁表中找到這個虛擬地址的物理地址,完成取指。同樣讀取數據的也是虛擬地址,比如mov ax, var. 編譯時var就是一個虛擬地址,也是通過MMU從也表中來找到物理地址,再產生總線時序,完成取數據的任務。[1]

字母編址編址方式

編輯

語音

外設都是通過讀寫設備上的寄存器來進行的,外設寄存器也稱為“I/O端口”,而I/O端口有兩種編址方式:獨立編址和統一編制。

字母編址獨立編址(專用的I/O端口編址)

定義:

I/O端口編址和存儲器的編址相互獨立,在兩個獨立的地址空間中,即I/O端口地址空間和存儲器地址空間分開設置,互不影響。采用這種編址方式,對I/O端口的操作使用輸入/輸出指令(I/O指令)。

優點:

[1]I/O端口的地址碼較短,譯碼電路簡單,I/O端口的地址空間一般較小,所用地址線也就較少;

[2]存儲器同I/O端口的操作指令不同,程序比較清晰;

[3]存儲器和I/O端口的控制結構相互獨立,可以分別設計;

[4]不占用內存空間。

缺點:

需要有專用的I/O指令,程序設計的靈活性較差,訪問端口的方法不如訪問存儲器的方法多。

字母編址統一編址(存儲器映像編址)

定義:

在這種編址方式中,I/O端口和內存單元統一編址,即把I/O端口當作內存單元對待,從整個內存空間中劃出一個子空間給I/O端口,每一個I/O端口分配一個地址碼,用訪問存儲器的指令對I/O端口進行操作,也就是說存儲器和I/O端口共用統一的地址空間,當一個地址空間分配給I/O端口以后,存儲器就不能再占有這一部分的地址空間。

優點:

[1]不需要專用的I/O指令,任何對存儲器數據進行操作的指令都可用于I/O端口的數據操作,程序設計比較靈活對I/O端口的數據處理能力強;

[2]由于I/O端口的地址空間是內存空間的一部分,這樣,I/O端口的地址空間可大可小,從而使外設的數量幾乎不受限制;

[3]cpu無需產生區別訪問內存操作和I/O操作的控制信號,從而可減少引腳。

缺點:

[1]I/O端口占用了內存空間的一部分,影響了系統的內存容量;

[2]訪問I/O端口也要同訪問內存一樣,由于內存地址較長,導致執行時間增加;

[3]程序中I/O操作不清晰,難以區分程序中的I/O操作和存儲器操作;

[4]I/O端口地址譯碼電路較復雜(因為內存的地址位數較多)。[2]

字母編址應用

編輯

語音

對于某一既定的系統,它要么是獨立編址、要么是統一編址,具體采用哪一種則取決于CPU的體系結構。比如,PowerPC、m68k等采用統一編址,而X86等則采用獨立編址,存在I/O空間的概念。目前,大多數嵌入式微控制器如ARM、PowerPC等并不提供I/O空間,僅有內存空間,可直接用地址、指針訪問。但對于Linux內核而言,它可能用于不同的CPU,所以它必須都要考慮這兩種方式,于是它采用一種新的方法,將基于I/O映射方式的或內存映射方式的I/O端口通稱為“I/O區域”(I/O region),不論你采用哪種方式,都要先申請IO區域:request_resource(),結束時釋放它:release_resource()。[1]

參考資料

1.

統一編址與獨立編址

.學步園[引用日期2017-05-16]

2.

獨立編址與統一編址

.CSDN[引用日期2017-05-16]

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的pc计算机中ram的编址单位,字母编址的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。