处理器的I/O操作

关键词: 外设、I/O端口、I/O空间、 操作外设的基本方式

1. 外设(Peripheral)

  • 概念
    外设是一个非常宽泛的概念,既可以是集成在微控制器芯片内(片内外设),也可以是挂在处理器总线上的外部芯片(片外外设)。
  • 种类
    1)用于实现以太网通信的外设;
    2)用于实现RS232串行通信的外设;
    3)用于实现USB通信的外设;
    4)用于实现存储的闪存外设;
    5)用于实现图像采集的外设;
    6)……
  • 中央处理器与外设的通信被称为输入与输出(Input/Output, I/O)

2. I/O端口(I/O port)

  • 外设也像内存的存储单元那样通过地址进行区分,这样的地址被称为I/O端口
  • 每一个外设在处理器的地址空间中占用不同的I/O端口,处理器可以通过不同的I/O端口实现与对应外设的通信
  • 处理器除了通过I/O端口进行通信外,另一个重要的手段是中断(中断会在后续章节中详细讲解)

3. I/O空间

I/O端口所在的空间被称为I/O空间各种架构的处理器存在不同的I/O空间设计形式。主要形式如下:
* 独立于内存所在的空间(独立I/O空间)
1) 独立于地址空间,无法通过地址访问外设
2)读写I/O端口需要使用于读取内存不一样的指令,即使用专用指令与外设进行通信
3)从编程角度看:对I/O端口操作不能像操作内存那样直接使用C语言中的指针完成,而是需要调用相应的函数,这些函数内封闭了I/O端口的操作指令

  • 内存映射I/O空间
    1)外设通过精密的硬件连接映射到处理器的地址空间
    2)通过地址访问的方式与外设进行通信
    3)从编程角度看:内存映射I/O空间的端口操作与访问内存是完全一样

4. 操作外设的基本方式

对于CPU而言,与外设进行通信时需要通过I/O端口配置控制寄存器通过I/O端口读取数据寄存器
* 通过I/O端口配置控制寄存器:CPU指挥外设实现一定的功能,通过芯片的手册进行设置
* 通过I/O端口读取数据寄存器:CPU得到外设工作后的数据值

注意:这里的控制寄存器数据寄存器是外设内部的寄存器,注意与CPU内部的寄存器相区别。


从软件工程师的角度看,只需要对不同的I/O端口读写就可以操作外设;读写I/O端口的时候具体值和意义需要查询具体的硬件手册

声明:此文章为本人在学习狄泰软件学院《十二月提升计划》所做的笔记,参考书籍《专业嵌入式软件开发》——李云,文章中包含狄泰软件资料内容和《专业嵌入式软件开发》资料内容,一切版权归狄泰软件《专业嵌入式软件开发》所有!

你可能感兴趣的:(处理器的I/O操作)