中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)管理I/O设备

管理I/O设备 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FOR ADVANCED STUDY OF USTC
管理I/O设备

I/O体系结构 总线:PC的CPU、RAM、IVO设备之间需要某些 数据通路来保证信息的流动 必总类 >ISA、EISA、 VESA、PCI以及MCA等等 >三种基本类型 ●数据总线 (pentium,64位) 地址总线(pentium,32位) ●控制总线 总线用于CPU与/O设备之间的连接时,成为I/O总 线 cience and fechllo 嵌入式系统实验室 2023/7/14 Linux OS Analysis 3/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 3/105 I/O体系结构 ❖总线:PC的CPU、RAM、I/O设备之间需要某些 数据通路来保证信息的流动 ❖总类: ➢ISA、 EISA、 VESA、PCI以及MCA等等 ➢三种基本类型 ⚫数据总线(pentium,64位) ⚫地址总线(pentium,32位) ⚫控制总线 ➢当总线用于CPU与I/O设备之间的连接时,成为I/O总 线

统一编址(典型am)和独立编址(典型PC) 在x86处理器中,只使用了32位地址总线中的16 位对/O设备进行寻址 >寻址范围? 使用64位数据总线中的8、16、32位传送数据 冬/O设备与CPU之间的连接层次为: >CPU→I/O端口→I/O接口→设备控制器 Science and Techno 嵌入式系统实验室 2023/7/14 Linux OS Analysis 4/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 4/105 ❖统一编址(典型arm) 和 独立编址(典型PC) ❖在x86处理器中,只使用了32位地址总线中的16 位对I/O设备进行寻址 ➢寻址范围? ❖使用64位数据总线中的8、16、32位传送数据 ❖I/O设备与CPU之间的连接层次为: ➢CPU→I/O端口→I/O接口→设备控制器

PC的I/O体系结构 CPU VO bus 生能年和卡作华年华 年华出出年华车年华自车和华单出海中华华年车年毛华非华生单保 4008 1/0 Port 1/0Port 1/OInterface 1/0 Device 室 1/0 Controller JRY
2023/7/14 Linux OS Analysis 5/105 PC的I/O体系结构

I/O端口(I/0port) 每个/O端口8位,由于只使用16位地址总线访问,因此 I/O地址空间一共提供65536个I/O端口 在端口地址对齐的情况下,连续的I/O端口可以看成16位 /32位端口 特定的指令用来访问I/O端口:in,ins,out,outs 958 ?I/O端口的另外一种访问方法 >直接映射到物理地址空间 >可以使用存储器操作指令,如mov,and,or等等 m 嵌入式系统实验室 2023/7/14 Linux OS Analysis 6/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 6/105 I/O端口(I/O port) ❖ 每个I/O端口8位,由于只使用16位地址总线访问,因此 I/O地址空间一共提供65536个I/O端口 ❖ 在端口地址对齐的情况下,连续的I/O端口可以看成16位 /32位端口 ❖ 特定的指令用来访问I/O端口:in,ins,out,outs ❖ I/O端口的另外一种访问方法 ➢ 直接映射到物理地址空间 ➢ 可以使用存储器操作指令,如mov,and,or等等

I/O端口中的寄存器 命令 Control register Status register 状态 CPU Device's 1/0 Interface Input register 输入数据 输出数据 Output register Science and Technon 2023/7/14 Linux OS Analysis 7/105 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 7/105 I/O端口中的寄存器 命令 状态 输入数据 输出数据

Linux中访问I/O端口的操作 inb、inw、inl inb p、inwp、inlp outb、outw、outl outb_p、outw_p、outl_p 1958 insb、insw、insl outsb、outsw、outsl of Science and Techa 参见io32.h的最后几个宏和宏扩展 嵌入式系统实验室 2023/7/14 Linux OS Analysis 8/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 8/105 Linux中访问I/O端口的操作 ❖inb、inw、inl ❖inb_p、inw_p、inl_p ❖outb、outw、outl ❖outb_p、outw_p、outl_p ❖insb、insw、insl ❖outsb、outsw、outsl 参见io_32.h的最后几个宏和宏扩展

I/O端口的分配 必不同的设备使用各自不同的端口 ?内核使用资源信息来记录端口分配信息 冬在这里,一个资源表示/O端口地址的一个范围 00014: 00015: 米 Resources are tree-like,allowing 00016: 米 nesting etc.. 00017: 00018: struct resource{ 个资源表示/O端口地址的一个范围 00019: resource size t start; 00020: resource size t end; 00021: const char *name; 00022: unsigned long flags; 00023: struct resource *parent,*sibling,*child; 00024: 所有同种资源使用树形结构记录,ioport resource。 一个较大范围可以进一步划分为子范围,使用兄弟链表来表示 2023/7114 弋系统实验室 Linux US AnalysIs 911U5 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 9/105 I/O端口的分配 ❖不同的设备使用各自不同的端口 ❖内核使用资源信息来记录端口分配信息 ❖在这里,一个资源表示I/O端口地址的一个范围 所有同种资源使用树形结构记录,ioport_resource。 一个较大范围可以进一步划分为子范围,使用兄弟链表来表示 一个资源表示I/O端口地址的一个范围

为什么使用树型结构 ?以DE硬盘接口为例来说明 DE硬盘接口的端口地址:0xf000~0xf00f 冬DE链的主盘使用0xf000~0xf007的子范围 冬从盘使用0xf008~0xf00f的子范围 冬这样,一个父结点+2个子节点 >父节点的范围能够覆盖所有子节点的范围 Science and fechno 嵌入式系统实验室 2023/7/14 Linux OS Analysis 10/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 10/105 为什么使用树型结构 ❖以IDE硬盘接口为例来说明 ❖IDE硬盘接口的端口地址:0xf000~0xf00f ❖IDE链的主盘使用0xf000~0xf007的子范围 ❖从盘使用0xf008~0xf00f的子范围 ❖这样,一个父结点+2个子节点 ➢父节点的范围能够覆盖所有子节点的范围

?I/O端口资源树ioport resource的根节点跨越了整 个I/0地址空间0~65565 00023: struct resource ioport_resource 00024: name ="PCI IO" 00025: .start =0, 00026: .end IO SPACE LIMIT, 00027: .flags IORESOURCE IO, 00028: } 00040:#define IO SPACE LIMIT 0xffff uty of Science and Technole 嵌入式系统实验室 2023/7/14 Linux OS Analysis 11/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 11/105 ❖I/O端口资源树ioport_resource的根节点跨越了整 个I/O地址空间0~65565
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)文件系统.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)程序的执行.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)Linux中的进程地址空间.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)Linux中的时钟和定时测量.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)内存管理.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(3/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)系统调用.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)中断和异常.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(2/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(1/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)内存寻址.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)制作简单的Linux系统.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)基于x86的Linux启动代码分析.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)GNU开发工具链简介 GNU Tools(主讲:陈香兰).pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)13 IO管理 IO systems.pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)12 外存 Mass Storage Systems.pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)11 File 文件系统实现 File system implementation.pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)10 文件系统接口 File System Interface.pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)09 虚拟内存 Virtual Memory.pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)08 Main Memory.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux中的信号机制.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)进程的同步和通信.ppt
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)课程介绍(主讲:陈香兰).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)嵌入式系统及嵌入式软件开发概述.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)GNU(交又)开发工具链简介 GNU Tools.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)嵌入式操作系统和选型.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)ArmLinux的启动(基于arm的Linux启动代码分析).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)skyeye简介.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)bootloader简介和bootloader举例(u-boot和RedBoot).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Building Embedded Linux System.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Ubuntu中的系统初始化.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)uC/OS-II简单分析.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)进程管理.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Linux的时钟和定时测量 clock and timer.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)系统调用 syscall arm.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)内存管理 memory.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Linux中的进程地址空间(arm).pdf
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第二讲 操作系统的安全机制 SecureMechanism.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第三讲 安全需求与安全策略 Requirement & Policy.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第一讲 绪论(主讲:陈香兰).ppt