今天在看《Linux设备驱动程序》里面的第十五章“内存映射和DMA”
里面的一大堆地址类型弄得我云里去雾里来的。
如:
用户虚拟地址
物理地址
总线地址
内核逻辑地址
内核虚拟地址
linux这个操作系统真是事情多啊,地址都搞这么多名堂的。我以前对地址的理解就是:
逻辑地址:相对于进程4G空间来说的,为了隔离物理地址与程序直接交互,减轻程序员的负担。通过段映射,页映射可以转换成物理地址。
物理地址:就是CPU通过地址总线发送的信号,可以连接到实际内存。
虚拟地址:就是为了在小内存的系统中运行大的应用程序而出现的一种机制。这里就牵涉到了页中断,就是在某个进程不用的时候,把其中的内存存放到硬件中,等需要使用的时候,产生一个页中断把它重新调回到内存中。当然,它牺牲了时间。典型的“以时间换空间”的做法。
但是总线地址是个什么概念呢?
它出现的理由是什么啊! 区别的标准是什么呢?
通过google的search发现有个解释还不错。原文如下:
PCI设备总线地址与CPU物理地址的区别 1 域的概念 之所以把PCI设备和CPU加红色高亮,是因为这里有个域的概念对理解总线地址和物理地址很重要,区分这两个域是理解两个地址的基础。 PCI设备域包括: PCI设备,PCI设备上的DMA Enginer, CPU端的DMA 控制器。 CPU域包括: CPU
2 物理地址到总线地址的映射 物理地址和总线地址一一映射,而且在绝大多数平台上,为了简便,总线地址和物理地址起始地址也是一样的。虽然方便,但是很多开发者弄不清楚某个具体值到底是物理地址还是总线地址。有了域的概念,就好理解多了,如设备的PCI config space 中的BAR地址就是总线地址,因为它是给设备用的。而调用kernel API pci_resource_start(dev,...) 返回的值则是CPU域的物理地址。
=========================完===================================
我的理解就是,物理地址一般与CPU有关系,是给CPU指令使用的。而总线地址主要是给设备使用的,是设备中的一些内存资源。如果要CPU的物理地址连接上设备上的总线地址就需要使用mmapi映射,这样就能将物理地址与总线地址链接在一起。
也不知道我这样理解对么? 不管对与错,先把我自己的观点抛出来在说。
OK,在深入理解点。希望大牛么给个更好的解释,同时我也会关注这个话题。
|
分享到:
相关推荐
4. CAN总线协议栈,兼容OSI模型(物理,数据链路,网络,传输,会话,表示层,应用层); 5. CAN总线的电平信号,0-3.5V, 以2.5V为高低电平区分; 6. CAN传输距离和传输速率kbps的关系:位速率越快,传输距离越短;...
在以太网中,是根据 地址来区分不同的设备的( ) A.LLC地址 B.MAC地址 C.IP地址 D.IPX地址 3. IEEE802.3u标准是指( ) A.以太网 B.快速以太网 C.令牌环网 D.FDDI网 4. 下面哪种LAN是应用CSMA/CD协议( )...
RS232是串行通信的一种物理接口电气标准,是异步传输标准接口,规定传输介质(电缆)、收发电平等。其实,RS232、RS422、RS485等都是SCI,其中两线制(仅RXD和TXD)的RS232与RS422和RS485的通信协议是相同的(只有...
27、在以太网中,是根据( )地址来区分不同的设备的。 A、IP地址 B、IPX地址 C、LLC地址 D、MAC地址 ANSWER:D 28、下列哪项是合法的IP主机地址?( ) A、127.2.3.5 B、1.255.255.2/24 C、255.23.200.9 D、192.240...
在以太网中,是根据___地址来区分不同的设备的(B) A. LLC地址 B. MAC地址 C. IP地址 D. IPX地址 [局域网] 3. IEEE802.3u标准是指(B) A. 以太网 B. 快速以太网 C. 令牌环网 D. FDDI网 4. 下面哪种LAN 是应用CSMA...
当存储空间映射为外部存储器时,包括程序空间和数据空间,AT89S51单片机的P0口的8个引脚,从P0.0(AD0)到P0.7(AD7)(引脚从39到32),以时分方式被用作数据总线和地址总线的低8位;P2口的8个引脚,从P2.0(A8)到...
在以太网中最常用的是交换机,是根据( )地址来区分不同的设备的 A.IP地址 B.IPX地址 C.LLC地址 D.MAC地址 14. RARP的作用是( ) A. 将自己的IP地址转换为MAC地址 B. 将对方的IP地址转换为MAC地址 C. 将对方的...
Device_Object->DeviceType 采用IoGetDeviceProperty来获得当前物理设备对象的总线类型的GUID
为区分不同的存储单元,所有存储单元均按一定顺序编号,该编号称 为地址编码,简称地址。 控制总线 控制总线是传送计算机系统中控制信号的一组线,用于发布控制命令和实现对设备的 控制和监视功能。 系统时钟频率 ...
每一条区域总线、主干线或总线,都需要一个变压器来供电,每一条总线之间通过隔离器来区分。在整个系统中,所有的传感器都通过数据线与制动器连接,而制动器则通过控制电源电路来控制电器。所有器件都通过同一条总线...
同时,还需要区分物理内存地址和虚拟内存地址这两个概念。 5.1 内存管理概念 5.1.1 物理内存概念(Physical Memory Address) 5.1.2 虚拟内存地址概念(Virtual Memory Address) 5.1.3 用户模式地址和...
同时,还需要区分物理内存地址和虚拟内存地址这两个概念。 5.1 内存管理概念 5.1.1 物理内存概念(Physical Memory Address) 5.1.2 虚拟内存地址概念(Virtual Memory Address) 5.1.3 用户模式地址和...
A:星型 B:总线型 C:树型 D:环型 E:网状型 答案:A,B,C,D 描述计算机网络中数据通信的基本技术参数是数据传输速率与传输延迟。() A:错误 B:正确 答案:A 在因特网中,路由器通常利用目的MAC地址字段进行路由选择。...
A:文件服务 B:打印服务 C:通信服务 D:办公自动化服务 答案:A,B,C 关于域名说法正确的是() A:域名只是个逻辑概念,不代表计算机所在的物理地点 B:由多个符号组成的完整域名总共不超过255个字符 C:域名的标号区分大...
总线频率 总线频率直接影响CPU与内存数据交换的速度。 倍频系数 倍频系数是指CPU主频与外频之间的相对比例关系。 CPU的缓存 L1 Cache L1 Cache ( 一 级 缓 存 ) 是 CPU第一层高速缓存,分为数 据缓存和指令缓存。...
每一条区域总线、主干线或总线,都需要一个变压器来供电,每一条总线之间通过隔离器来区分。在整个系统中,所有的传感器都通过数据线与制动器连接,而制动器则通过控制电源电路来控制电器。所有器件都通过同一条总线...
• 理解指令、指令系统、寻址方式及有效地址EA、物理地址PA、逻辑地址、位移量等基本概念。 • 了解80x86指令的基本格式,包括指令的机器码表示和各种指令的汇编格式,并区分二者的异同。 • 熟悉80x86指令系统按...
CAN很简单,并且存在多个漏洞,例如无法区分欺骗消息,因为它不支持任何身份验证或发件人标识属性。在以前的工作中,已经提出了一些基于电压的方法来识别发送方节点。这些方法可以高精度地识别ecu。然而,电源识别的...
数字可编程电位计器件的基本原理 数字可编程电位计是一种混合信号器件,由不同...机械式电位计以物理方式移动电阻触点的连接,而数字电位计通过串行总线或数字控制线路来以电气方式完成。端子应用广泛,那么了解冷
数字可编程电位计器件的基本原理 数字可编程电位计是一种混合信号器件,由不同...机械式电位计以物理方式移动电阻触点的连接,而数字电位计通过串行总线或数字控制线路来以电气方式完成。端子应用广泛,那么了解冷