PCIe的内存地址空间、I/O地址空间和配置地址空间

pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间和配置地址空间,本文分析一下它们的用途。

首先区分一下IO空间和内存空间
cpu会访问的设备一般有内存和外设寄存器,如下图所示。x86架构采用独立编址将内存操作与外设IO操作分开了才有了内存空间和IO空间的区分。x86平台cpu内部对内存和外设寄存器访问的指令也是不同的。arm等其他平台都采用统一编址,不区分内存和外设的访问,我个人觉得这才是合理的。
IO空间:访问外部设备寄存器的地址区域,x86平台为64k
内存空间:访问内存的地址空间,32位平台为4G

pci设备的内存空间是怎么回事呢
常见的设备都只提供寄存器供cpu访问,对于低速外设这样的模式是足够的。但是对于需要大量、高速数据交互的外设就需要引入外设内存空间了。在网卡、显卡这样的pci高速外设中不仅有寄存器还有了一块内存

pci设备的配置空间和IO空间有什么区别呢
现在我们知道外设内存空间的大概用途了,那配置空间和IO空间不都是外设的寄存器吗࿰

PCIe的内存地址空间、I/O地址空间和配置地址空间相关推荐

  1. mpu 配置内存空间_PCIE的内存地址空间、I/O地址空间和配置地址空间

    pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间和配置地址空间 首先区分一下IO空间和内存空间 cpu会访问的设备一般有内存和外设寄存器,如下图所示.x86架构采用独立编址将内存 ...

  2. 虚拟地址空间【详解】 虚拟地址空间是什么 | 为什么要有虚拟地址空间

    目录 一.什么是虚拟地址空间 / 虚拟地址空间是如何被设计的 1.先看一下linux空间分布 I.示意图: II.验证: 2. 在已知Linux内存分布之后,我们来看一个奇怪的现象 I.代码 : II ...

  3. ubuntu下查看电脑内存硬盘CPU显卡驱动等配置命令

    ubuntu16.04查看电脑内存硬盘CPU显卡驱动等配置命令 按Ctrl+Alt+T键,调出终端窗口. 1.内存总大小:free -m mem:后面的 total 栏显示你的内存总大小. 如图:内存 ...

  4. DDR内存大小计算以及MIG核配置

    范围 本文适用于DDR内存大小计算以及MIG核配置. DDR内存大小计算 DDR型号 DDR型号为 MT41K256M16TW-107 图2.1.1 图2.1.2 此片DDR行地址位宽为[14:0], ...

  5. 荒野行动 pc android,荒野行动pc端多大内存_荒野行动电脑版配置要求-APK8安卓网...

    最近许多小伙伴在玩<荒野行动>这款吃鸡手游,而荒野行动现在已经PC版,那么荒野行动pc端多大内存_荒野行动电脑版配置要求是什么呢? <荒野行动>于11月23日上线了免费且与移动 ...

  6. 内存泄露检测工具VLD相关配置

    参考链接: VLD(Visual LeakDetector)内存泄露库的使用 VS2019编译 内存泄漏检测工具VLD 一.源码下载 源码下载链接:https://github.com/KindDra ...

  7. 内存管理基础学习笔记 - 2. 内核地址空间 - SLAB

    目录 1. 前言 2. slab总体说明 3. kmem_cache_create |- -__kmem_cache_create |- - -setup_cpu_cache 4. kmem_cach ...

  8. Java内存溢出详解之Tomcat配置

    Java内存溢出详解 转自:http://elf8848.iteye.com/blog/378805 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError ...

  9. 如何对512M内存的vps apache进行优化配置(perfork模式)

    本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了,哈哈.那么进入正题吧! 操作系统(linux):Cent ...

最新文章

  1. Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)
  2. CDN网络究竟是怎么加速的?
  3. 走在程序世界道路上的我___大一篇
  4. Java 字符串拼接 StringBuilder() StringBuffer
  5. inherits java_JAVA内部类和组合的区别
  6. C# 线程问题之死锁
  7. C和指针之字符串编程练习8实现char *my_strnchr(char const *str, int ch, int which)
  8. AtCoder Beginner Contest 234
  9. Java Web App体系结构
  10. win2003服务器 虚拟主机安全配置
  11. Mysql数据库小命令
  12. Stack Usage on Transfers to Interrupt and Exception Handling Routines
  13. 4月10日服务器例行维护公告,4月12日服务器例行维护公告(已完成)
  14. 阿里巴巴对外开源液冷数据中心技术
  15. python员工信息管理_用Python实现职工信息管理系统
  16. [Java,IDEA]连接oracle的关于oracle.jdbc.driver.OracleDriver一直驱动加载失败的原因
  17. 可解释机器学习- LIME模型讲解|interpretable machine learning-LIME
  18. 还在使用Window原始的CMD界面?教你一招进行界面完美优化
  19. 小程序获取带有分享者信息的小程序码
  20. 【DB宝36】使用Docker分分钟搭建漂亮的prometheus+grafana监控

热门文章

  1. mongodb分片原理,字节跳动算法工程师面试总
  2. Excel怎么将表格中的所有空白行删除
  3. buctoj-python 2022.5.19
  4. MySQL数据库简答题
  5. 服务器上搭建java环境,安装tomcat以及MySQL数据库-小白教程
  6. 第六章微型计算机,微型计算机原理及应用 第六章微型计算机的接口技术
  7. Ubuntu 18.04 新手教程_火狐浏览器flash插件安装
  8. 开关电源buck电感、电容选择
  9. EDM邮件营销的劣势讲解
  10. 市场调研方法:焦点小组访谈法