91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 電子資訊 » 設計技術

外設IO端口物理地址的編址方式

發布時間:2017/12/25 21:19:32 訪問次數:2018

51電子網公益庫存:
A3P250-FGG144I
B08-1K
C1200V
D13009K
E07200K0A
F30UP20DN
G2R-2 24V
H1668CG
IC61LV5128-10T
J2-Q04A-D
K2225
L296
M25P128-VMF6TPB
N0910LS26
OB2269

      一、i/o端口

      端口(port)是接口電路中能被cpu直接訪問的寄存器的地址。幾乎每一種外設都是通過讀寫設備上的寄存器來進行的。cpu通過這些地址即端口向接口電路中的寄存器發送命令,讀取狀態和傳送數據。外設寄存器也稱為“i/o端口”,通常包括:控制寄存器、狀態寄存器和數據寄存器三大類,而且一個外設的寄存器通常被連續地編址。

      二、io內存

      例如,在pc上可以插上一塊圖形卡,有2mb的存儲空間,甚至可能還帶有rom,其中裝有可執行代碼。

      三、io端口和io內存的區分及聯系http://saiertong.51dzw.com

      這兩者如何區分就涉及到硬件知識,x86體系中,具有兩個地址空間:io空間和內存空間,而risc指令系統的cpu(如arm、powerpc等)通常只實現一個物理地址空間,即內存空間。

      內存空間:內存地址尋址范圍,32位操作系統內存空間為2的32次冪,即4g。

      io空間:x86特有的一個空間,與內存空間彼此獨立的地址空間,32位x86有64k的io空間。

      io端口:當寄存器或內存位于io空間時,稱為io端口。一般寄存器也俗稱i/o端口,或者說i/o ports,這個i/o端口可以被映射在memory space,也可以被映射在i/o space。

      io內存:當寄存器或內存位于內存空間時,稱為io內存。

      四、外設io端口物理地址的編址方式

      cpu對外設io端口物理地址的編址方式有兩種:一種是i/o映射方式(i/o-mapped),另一種是內存映射方式(memory-mapped)。而具體采用哪一種則取決于cpu的體系結構。

      1、統一編址

      risc指令系統的cpu(如,powerpc、m68k、arm等)通常只實現一個物理地址空間(ram)。在這種情況下,外設i/o端口的物理地址就被映射到cpu的單一物理地址空間中,而成為內存的一部分。此時,cpu可以象訪問一個內存單元那樣訪問外設i/o端口,而不需要設立專門的外設i/o指令。 http://saiertong.51dzw.com

      統一編址也稱為“i/o內存”方式,外設寄存器位于“內存空間”(很多外設有自己的內存、緩沖區,外設的寄存器和內存統稱“i/o空間”)。

      2、獨立編址

      而另外一些體系結構的cpu(典型地如x86)則為外設專門實現了一個單獨地地址空間,稱為“i/o地址空間”或者“i/o端口空間”。這是一個與cpu地ram物理地址空間不同的地址空間,所有外設的i/o端口均在這一空間中進行編址。cpu通過設立專門的i/o指令(如x86的in和out指令)來訪問這一空間中的地址單元(也即i/o端口)。與ram物理地址空間相比,i/o地址空間通常都比較小,如x86 cpu的i/o空間就只有64kb(0-0xffff)。這是“i/o映射方式”的一個主要缺點。

      獨立編址也稱為“i/o端口”方式,外設寄存器位于“i/o(地址)空間”。

      3、優缺點

      獨立編址主要優點是:

      1)i/o端口地址不占用存儲器空間;使用專門的i/o指令對端口進行操作,i/o指令短,執行速度快。

      2)并且由于專門i/o指令與存儲器訪問指令有明顯的區別,使程序中i/o操作和存儲器操作層次清晰,程序的可讀性強。

      3)同時,由于使用專門的i/o指令訪問端口,并且i/o端口地址和存儲器地址是分開的,故i/o端口地址和存儲器地址可以重疊,而不會相互混淆。

      4)譯碼電路比較簡單(因為i/0端口的地址空間一般較小,所用地址線也就較少)。

      其缺點是:只能用專門的i/0指令,訪問端口的方法不如訪問存儲器的方法多。

      統一編址優點:

      1)由于對i/o設備的訪問是使用訪問存儲器的指令,所以指令類型多,功能齊全,這不僅使訪問i/o端口可實現輸入/輸出操作,而且還可對端口內容進行算術邏輯運算,移位等等;

      2)另外,能給端口有較大的編址空間,這對大型控制系統和數據通信系統是很有意義的。

這種方式的缺點是端口占用了存儲器的地址空間,使存儲器容量減小,另外指令長度比專門i/o指令要長,因而執行速度較慢。http://saiertong.51dzw.com

      究竟采用哪一種取決于系統的總體設計。在一個系統中也可以同時使用兩種方式,前提是首先要支持i/o獨立編址。intel的x86微處理器都支持i/o 獨立編址,因為它們的指令系統中都有i/o指令,并設置了可以區分i/o訪問和存儲器訪問的控制信號引腳。而一些微處理器或單片機,為了減少引腳,從而減 少芯片占用面積,不支持i/o獨立編址,只能采用存儲器統一編址。

來源:嵌入式arm

 


 

51電子網公益庫存:
A3P250-FGG144I
B08-1K
C1200V
D13009K
E07200K0A
F30UP20DN
G2R-2 24V
H1668CG
IC61LV5128-10T
J2-Q04A-D
K2225
L296
M25P128-VMF6TPB
N0910LS26
OB2269

      一、i/o端口

      端口(port)是接口電路中能被cpu直接訪問的寄存器的地址。幾乎每一種外設都是通過讀寫設備上的寄存器來進行的。cpu通過這些地址即端口向接口電路中的寄存器發送命令,讀取狀態和傳送數據。外設寄存器也稱為“i/o端口”,通常包括:控制寄存器、狀態寄存器和數據寄存器三大類,而且一個外設的寄存器通常被連續地編址。

      二、io內存

      例如,在pc上可以插上一塊圖形卡,有2mb的存儲空間,甚至可能還帶有rom,其中裝有可執行代碼。

      三、io端口和io內存的區分及聯系http://saiertong.51dzw.com

      這兩者如何區分就涉及到硬件知識,x86體系中,具有兩個地址空間:io空間和內存空間,而risc指令系統的cpu(如arm、powerpc等)通常只實現一個物理地址空間,即內存空間。

      內存空間:內存地址尋址范圍,32位操作系統內存空間為2的32次冪,即4g。

      io空間:x86特有的一個空間,與內存空間彼此獨立的地址空間,32位x86有64k的io空間。

      io端口:當寄存器或內存位于io空間時,稱為io端口。一般寄存器也俗稱i/o端口,或者說i/o ports,這個i/o端口可以被映射在memory space,也可以被映射在i/o space。

      io內存:當寄存器或內存位于內存空間時,稱為io內存。

      四、外設io端口物理地址的編址方式

      cpu對外設io端口物理地址的編址方式有兩種:一種是i/o映射方式(i/o-mapped),另一種是內存映射方式(memory-mapped)。而具體采用哪一種則取決于cpu的體系結構。

      1、統一編址

      risc指令系統的cpu(如,powerpc、m68k、arm等)通常只實現一個物理地址空間(ram)。在這種情況下,外設i/o端口的物理地址就被映射到cpu的單一物理地址空間中,而成為內存的一部分。此時,cpu可以象訪問一個內存單元那樣訪問外設i/o端口,而不需要設立專門的外設i/o指令。 http://saiertong.51dzw.com

      統一編址也稱為“i/o內存”方式,外設寄存器位于“內存空間”(很多外設有自己的內存、緩沖區,外設的寄存器和內存統稱“i/o空間”)。

      2、獨立編址

      而另外一些體系結構的cpu(典型地如x86)則為外設專門實現了一個單獨地地址空間,稱為“i/o地址空間”或者“i/o端口空間”。這是一個與cpu地ram物理地址空間不同的地址空間,所有外設的i/o端口均在這一空間中進行編址。cpu通過設立專門的i/o指令(如x86的in和out指令)來訪問這一空間中的地址單元(也即i/o端口)。與ram物理地址空間相比,i/o地址空間通常都比較小,如x86 cpu的i/o空間就只有64kb(0-0xffff)。這是“i/o映射方式”的一個主要缺點。

      獨立編址也稱為“i/o端口”方式,外設寄存器位于“i/o(地址)空間”。

      3、優缺點

      獨立編址主要優點是:

      1)i/o端口地址不占用存儲器空間;使用專門的i/o指令對端口進行操作,i/o指令短,執行速度快。

      2)并且由于專門i/o指令與存儲器訪問指令有明顯的區別,使程序中i/o操作和存儲器操作層次清晰,程序的可讀性強。

      3)同時,由于使用專門的i/o指令訪問端口,并且i/o端口地址和存儲器地址是分開的,故i/o端口地址和存儲器地址可以重疊,而不會相互混淆。

      4)譯碼電路比較簡單(因為i/0端口的地址空間一般較小,所用地址線也就較少)。

      其缺點是:只能用專門的i/0指令,訪問端口的方法不如訪問存儲器的方法多。

      統一編址優點:

      1)由于對i/o設備的訪問是使用訪問存儲器的指令,所以指令類型多,功能齊全,這不僅使訪問i/o端口可實現輸入/輸出操作,而且還可對端口內容進行算術邏輯運算,移位等等;

      2)另外,能給端口有較大的編址空間,這對大型控制系統和數據通信系統是很有意義的。

這種方式的缺點是端口占用了存儲器的地址空間,使存儲器容量減小,另外指令長度比專門i/o指令要長,因而執行速度較慢。http://saiertong.51dzw.com

      究竟采用哪一種取決于系統的總體設計。在一個系統中也可以同時使用兩種方式,前提是首先要支持i/o獨立編址。intel的x86微處理器都支持i/o 獨立編址,因為它們的指令系統中都有i/o指令,并設置了可以區分i/o訪問和存儲器訪問的控制信號引腳。而一些微處理器或單片機,為了減少引腳,從而減 少芯片占用面積,不支持i/o獨立編址,只能采用存儲器統一編址。

來源:嵌入式arm

 


 

熱門點擊

推薦電子資訊

EMC對策元件
應用: 汽車以太網系統的車載多媒體信息娛樂系統,如駕... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
大洼县| 阜城县| 盱眙县| 贺兰县| 子洲县| 清苑县| 南昌县| 治多县| 湘潭县| 宝清县| 株洲县| 灵武市| 肇东市| 洛宁县| 固阳县| 南陵县| 蒙阴县| 宿松县| 曲阜市| 尖扎县| 日喀则市| 屏东县| 玛多县| 藁城市| 嘉荫县| 太仆寺旗| 南和县| 兴仁县| 新乡市| 和平区| 阿拉善盟| 罗平县| 嘉鱼县| 福清市| 元谋县| 许昌市| 通海县| 邓州市| 奉节县| 康乐县| 勃利县|