网易首页 > 网易号 > 正文 申请入驻

IO端口和IO内存的区分及联系,两者如何区分就涉及到硬件知识

0
分享至

IO端口和IO内存的区分及联系

这两者如何区分就涉及到硬件知识,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的体系结构。

统一编址

  RISC指令系统的CPU(如,PowerPC、m68k、ARM等)通常只实现一个物理地址空间(RAM)。在这种情况下,外设I/O端口的物理地址就被映射到CPU的单一物理地址空间中,而成为内存的一部分。此时,CPU可以象访问一个内存单元那样访问外设I/O端口,而不需要设立专门的外设I/O指令。

统一编址也称为“I/O内存”方式,外设寄存器位于“内存空间”(很多外设有自己的内存、缓冲区,外设的寄存器和内存统称“I/O空间”)。

独立编址

而另外一些体系结构的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(地址)空间”。

无论一个 CPU 是否具有内存映射能力 I/O,它都需要寻址设备控制器以便与它们交换数据。CPU 可以从 I/O 控制器每次请求一个字节的数据,但是这么做会浪费 CPU 时间,所以经常会用到一种称为直接内存访问(Direct Memory Access) 的方案。为了简化,我们假设 CPU 通过单一的系统总线访问所有的设备和内存,该总线连接 CPU 、内存和 I/O 设备,如下图所示

现代操作系统实际更为复杂,但是原理是相同的。如果硬件有DMA 控制器,那么操作系统就只能使用 DMA。有时这个控制器会集成到磁盘控制器和其他控制器中,但这种设计需要在每个设备上都装有一个分离的 DMA 控制器。单个的 DMA 控制器可用于向多个设备传输,这种传输往往同时进行。

不管 DMA 控制器的物理地址在哪,它都能够独立于 CPU 从而访问系统总线,如上图所示。它包含几个可由 CPU 读写的寄存器,其中包括一个内存地址寄存器,字节计数寄存器和一个或多个控制寄存器。控制寄存器指定要使用的 I/O 端口、传送方向(从 I/O 设备读或写到 I/O 设备)、传送单位(每次一个字节或者每次一个字)以及在一次突发传送中要传送的字节数。

为了解释 DMA 的工作原理,我们首先看一下如何使用 DMA 该如何进行磁盘读取。

首先,控制器从磁盘驱动器串行地、一位一位地读一个块(一个或多个扇区),直到将整块信息放入控制器的内部缓冲区。

读取校验可以保证没有发生读错误。然后控制器会产生一个中断,当操作系统开始运行时,它会重复地从控制器的缓冲区中一次一个字节或者一个字地读取该块的信息,并将其存入内存中。

DMA 工作原理

当使用 DMA 后面,这个过程就会变得不一样了。首先 CPU 通过设置 DMA 控制器的寄存器对它进行编程,所以 DMA 控制器知道将什么数据传送到什么地方。DMA 控制器还要向磁盘控制器发出一个命令,通知它从磁盘读数据到其内部的缓冲区并检验校验合格。当有效数据位于磁盘控制器的缓冲区中时,DMA 就可以开始了。

DMA 控制器通过在总线上发出一个读请求到磁盘控制器而发起 DMA 传送,这是第二步。这个读请求就像其他读请求一样,磁盘控制器并不知道或者并不关心它是来自 CPU 还是来自 DMA 控制器。通常情况下,要写的内存地址在总线的地址线上,所以当磁盘控制器去匹配下一个字时,它知道将该字写到什么地方。写到内存就是另外一个总线循环了,这是第三步。当写操作完成时,磁盘控制器在总线上发出一个应答信号到 DMA 控制器,这是第四步。

然后,DMA 控制器会增加内存地址并减少字节数量。如果字节数量仍然大于 0 ,就会循环步骤 2 - 步骤 4 ,直到字节计数变为 0 。此时,DMA 控制器会打断 CPU 并告诉它传输已经完成了。操作系统开始运行时,它不会把磁盘块拷贝到内存中,因为它已经在内存中了。

不同 DMA 控制器的复杂程度差别很大。最简单的 DMA 控制器每次处理一次传输,就像上面描述的那样。更为复杂的情况是一次同时处理很多次传输,这样的控制器内部具有多组寄存器,每个通道一组寄存器。在传输每一个字之后,DMA 控制器就决定下一次要为哪个设备提供服务。DMA 控制器可能被设置为使用 轮询算法,或者它也有可能具有一个优先级规划设计,以便让某些设备受到比其他设备更多的照顾。假如存在一个明确的方法分辨应答信号,那么在同一时间就可以挂起对不同设备控制器的多个请求。

许多总线能够以两种模式操作:每次一字模式和块模式。一些 DMA 控制器也能够使用这两种方式进行操作。在前一个模式中,DMA 控制器请求传送一个字并得到这个字。如果 CPU 想要使用总线,它必须进行等待。设备可能会偷偷进入并且从 CPU 偷走一个总线周期,从而轻微的延迟 CPU。这种机制称为 周期窃取(cycle stealing)。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
威廉王子成功扭转局面,带凯特王妃的父母参加赛马会,岳母很满意

威廉王子成功扭转局面,带凯特王妃的父母参加赛马会,岳母很满意

音乐时光的娱乐
2024-06-20 01:15:12
周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

洞鉴历史
2024-06-11 14:23:53
刚刚,姜萍被打假了!

刚刚,姜萍被打假了!

财经要参
2024-06-19 08:30:26
中国股市:这是一份“不能买”的股票名单!有没有你的持仓股?

中国股市:这是一份“不能买”的股票名单!有没有你的持仓股?

风口招财猪
2024-06-17 01:10:09
余琦已道歉,多部门处罚,别咬着不放了!胡锡进:得饶人处且饶人

余琦已道歉,多部门处罚,别咬着不放了!胡锡进:得饶人处且饶人

西莫的艺术宫殿
2024-06-20 00:45:56
晴儿王艳独子被保送北大!长相帅气、篮球特长,早已褪去童年任性

晴儿王艳独子被保送北大!长相帅气、篮球特长,早已褪去童年任性

听栀子说
2024-06-18 20:27:17
陕西一知名品牌珠宝店疑售假冒货?多方回应→

陕西一知名品牌珠宝店疑售假冒货?多方回应→

鲁中晨报
2024-06-19 11:43:02
被大49岁的谢贤养了12年,拿2000万分手费走人的coco,如今怎样了

被大49岁的谢贤养了12年,拿2000万分手费走人的coco,如今怎样了

闻星盼夏
2024-06-17 18:50:02
克罗地亚晋级形势分析:拿4分铁定晋级?还真不一定

克罗地亚晋级形势分析:拿4分铁定晋级?还真不一定

球事百科吖
2024-06-20 01:02:08
《玫瑰的故事》:临终放下怨恨的方协文才懂,为何玫瑰会离她而去

《玫瑰的故事》:临终放下怨恨的方协文才懂,为何玫瑰会离她而去

尔文新影视
2024-06-19 17:20:02
爸爸晒女儿结婚10年的变化,照片令人心疼,前后对比太明显

爸爸晒女儿结婚10年的变化,照片令人心疼,前后对比太明显

布谷妈妈
2024-06-18 21:30:54
枢密院十号:中国车出口墨西哥,美国在担心啥?

枢密院十号:中国车出口墨西哥,美国在担心啥?

环球网资讯
2024-06-18 00:02:51
突然“变脸”了!美芯片巨头正式宣布,外媒:日本成大赢家!

突然“变脸”了!美芯片巨头正式宣布,外媒:日本成大赢家!

疯狂小菠萝
2024-06-19 17:43:24
文件显示被马斯克收购后,X 平台 2023 上半年收入同比暴跌 40%

文件显示被马斯克收购后,X 平台 2023 上半年收入同比暴跌 40%

IT之家
2024-06-19 14:10:21
黑龙江一男子血洗工作单位,暗暗下定决心:没报完仇不能死

黑龙江一男子血洗工作单位,暗暗下定决心:没报完仇不能死

一度历史观
2024-05-13 13:05:13
女子开使馆车叫嚣有豁免权后续:处理来了 工作恐难保 道歉遭群嘲

女子开使馆车叫嚣有豁免权后续:处理来了 工作恐难保 道歉遭群嘲

鋭娱之乐
2024-06-19 15:15:22
抖音女装巨头停止直播带货,500万粉丝账号不要了

抖音女装巨头停止直播带货,500万粉丝账号不要了

电商报APP
2024-06-18 11:46:19
富士康转移到印度,结果河南这边举步维艰,说明了什么?

富士康转移到印度,结果河南这边举步维艰,说明了什么?

创作者朱海平
2024-06-17 12:03:15
本周重大事件:国家税务总局否认“倒查30年”,地方政府为补充财政“花式”创收

本周重大事件:国家税务总局否认“倒查30年”,地方政府为补充财政“花式”创收

一周财经观察
2024-06-19 17:27:20
《墨雨云间》:为什么剧里没有一个姑娘喜欢他?

《墨雨云间》:为什么剧里没有一个姑娘喜欢他?

山水缥缈
2024-06-19 04:50:42
2024-06-20 06:10:44
枪哥玩转嵌入式
枪哥玩转嵌入式
实战项目手把手带你玩转单片机
28文章数 12关注度
往期回顾 全部

科技要闻

618观察:谁为高强度的低价竞争买单?

头条要闻

欧洲杯:苏格兰1-1瑞士 沙奇里无解世界波

头条要闻

欧洲杯:苏格兰1-1瑞士 沙奇里无解世界波

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

深化科创板改革 证监会发布八条措施

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

手机
时尚
数码
本地
公开课

手机要闻

iOS 18允许第三方App录制空间视频:仅支持iPhone 15 Pro系列

几个小物件,打造宅家时的「inner peace」

数码要闻

三星注册“990 EVO Plus”商标,有望推出新款固态硬盘

本地新闻

中式沙拉宇宙的天花板,它必须有姓名

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版