驱动开发系列17 - PCI总线

embedded/2024/11/15 5:01:57/

一:概述

        PCI(外设计算机互连)或PCIe总线是现代计算机的主要组成部分,了解它的工作原理对于理解许多Linux设备驱动程序非常重要。

        关于PCI总线本身有很多好的信息(在维基百科和其他地方),而Linux内核中也有关于PCI处理子系统实际实现的文档。然而,这两种现有来源之间存在一个空白,本文希望填补这个空白。

        虽然我在这里的重点是理解x86环境下的PCI/PCIe,但这些内容对其他操作系统和非x86硬件也应该是相关的。因为这是对PCI的概述,而不是教科书,所以这里有许多简化和省略。

        更多信息请参考另外一篇文章 驱动开发系列05 - PCI驱动-CSDN博客

二:PCI总线的作用

        CPU需要与内存控制器、磁盘控制器、网络控制器、键盘、鼠标、视频图形芯片、以及许多其他设备进行通信。其中一些设备直接连接在主板上,而另一些则插入扩展槽中。

        CPU芯片本身有许多引脚,它们是CPU的原生数据总线。 在早期的个人电脑上,所有的板载设备(无论是使用内存空间还是IO空间地址)


http://www.ppmy.cn/embedded/104466.html

相关文章

单片机中的定时器:精确时间的掌控者

在单片机的世界里,定时器就像是一个精确的时间守护者,默默地为各种任务提供准确的时间基准。从简单的定时功能到复杂的实时控制系统,定时器都发挥着至关重要的作用。本文将深入探讨单片机中的定时器,包括其工作原理、应用场景以及…

python网络爬虫(四)——实战练习

0.为什么要学习网络爬虫 深度学习一般过程:   收集数据,尤其是有标签、高质量的数据是一件昂贵的工作。   爬虫的过程,就是模仿浏览器的行为,往目标站点发送请求,接收服务器的响应数据,提取需要的信息&#xff0c…

前端速通面经八股系列(一)—— CSS篇

CSS高频面经目录 一、CSS基础1. CSS选择器及其优先级2. CSS中可继承与不可继承属性有哪些3. display的属性值及其作用4. display的block、inline和inline-block的区别5. 隐藏元素的方法有哪些6. link和import的区别7. transition和animation的区别8. display:none与visibility:…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月2日,星期一

每天一分钟,知晓天下事! 2024年9月2日 星期一 农历七月三十 1、 2024年中非合作论坛峰会将于9月4日至6日在北京举行,多国总统抵京。 2、 铁路新规:明确旅客在开车前和开车后当日均可改签预售期内车票。 3、 证监会:在…

组合优化与凸优化 学习笔记2 凸集 凸锥 超平面

凸集定义: 只要线段就可以了,可见要求比仿射集低,仿射集肯定是凸集 凸组合: 和仿射集一样,这两种定义是等价的。 凸包: 锥与凸锥: 可以看到如果锥的开∠大于180小于360那就不是凸集了。 注意锥…

HarmonyOS 鸿蒙获取微信授权和持续获取位置信息

获取授权 PermissionManager.ets import { BusinessError } from "kit.BasicServicesKit"; import { abilityAccessCtrl, bundleManager, PermissionRequestResult, Permissions, common ,Want} from "kit.AbilityKit";/*** 查询是否有单个权限* param pe…

开源通用验证码识别OCR —— DdddOcr 源码赏析(二)

文章目录 前言DdddOcr分类识别调用识别功能classification 函数源码classification 函数源码解读1. 分类功能不支持目标检测2. 转换为Image对象3. 根据模型配置调整图片尺寸和色彩模式4. 图像数据转换为浮点数据并归一化5. 图像数据预处理6. 运行模型,返回预测结果 …

CSS系列之浮动清除clear(三)

一、为什么需要清除浮动 浮动的原理是让元素脱离文档流&#xff0c;直接浮在桌面上。使用浮动后续添加内容布局可能会产生布局混乱&#xff0c;造成高度坍塌&#xff0c;这时候就可以利用清除浮动来解决父元素高度塌陷的问题。 <!DOCTYPE html> <html lang"en&q…