• linux内核完全剖析——基于0.12内核-笔记(2)-统一编址和独立编址


    IO是什么 ?

    IO(Input and Output)是输入输出接口。是CPU和其他外部设备(如串口、LCD、触摸屏、LED等)之间通信的接口。一般的,我们说的IO就是指CPU的各种内部或外部外设。对于CPU而言,CPU操作外设就是操作外设中的寄存器,为了区分外设中的寄存器,每个被操作的外设寄存器就需要一个地址。

    什么是IO端口的寻址方式?

    CPU为了访问IO接口控制器或控制卡上的数据和状态信息,首先需要指定他们的地址。这种地址就称为I/O端口地址或者简称端口。通常,一个IO控制器包含访问数据的数据端口、输出命令的命令端口和访问控制器执行状态的状态端口
    端口地址的设置方法一般有两种:统一编址和独立编址;

    CPU访问各种外设有2种方式:一种是类似于访问内存的方式,即把外设的寄存器当作一个内存地址来读写,从而以访问内存相同的方式来操作外设寄存器,这时,IO与内存统一编址;
    IO的地址与内存的地址在同一个地址空间下,这种编址方式叫做IO与内存统一编址;
    另一种编址方式是IO地址与内存地址分开独立编址,这种编址方式叫做IO与内存独立编址,此时,CPU访问内存和访问IO就需要不同的CPU指令去访问。

    统一寻址与独立编址的优缺点:

    外设与内存统一的编址方式,优点是编程简单,因为可以像访问内存一样去访问外设。缺点是IO也占用CPU的寻址空间。

    而独立编址的方式,优点是不占用CPU的寻址空间,但是CPU的构造比较复杂。(因为额外的CPU指令需要对CPU进行额外的设计处理)。

  • 相关阅读:
    OC2-xml文件解析
    python3+selenium入门06-浏览器操作
    python3+selenium入门05-元素操作及常用方法
    Git学习笔记05-撤销修改
    Git学习笔记04-管理修改
    Git学习笔记03-工作区和暂存区
    Git学习笔记02-创建版本库
    Git学习笔记01-安装Git
    Python3学习笔记30-datetime模块
    python3+requests库框架设计08-发送邮件
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/8765975.html
Copyright © 2020-2023  润新知