• 统一编址和独立编址区别以及各自的优缺点


    统一编址:

    定义:在这种编址方式中,I/O端口和内存单元统一编址,即把I/O端口当做内存单元对待,从整个内存空间中划出一个子空间给I/O端口,没一个I/O端口分配一个地址码,用访问存储器的指令对I/O端口进行操作

    优点:

    I/O端口的数目几乎是不受限制的   ,总和的基础上,可以挤内存

    访问内存指定均适用于I/O端口,对I/O端口的数据处理能力强

    cup无需产生区别访问内存操作和I/O的控制信息,从而可减少引脚

    缺点:

    程序中I/O操作不清晰,难以区分程序中的I/O操作和存储器操作;

    I/O端口占用了一部分内存空间

    I/O端口地址译码电路较复杂(因为内存的地址位数较多)

    内存和外设公用地址

    举个例子,总共有64k的内存空间 ,统一编址:分配给 内存占48k,分配给外设占后16k,在cup眼里,它们只有地址是不同的。

    都可以用mov指令去访问

    1. ;例如
    2. MOV [0030H],AL ;<48K 访问的就是内存
    3. MOV [0FFFFH],AL ;>48K 访问的就是外设

    靠地址去区分是存储器还是内存。需要设计者使用者知道从哪里到哪里是内存,从哪里到哪里是外设

    独立编址:

    定义:

    I/O端口地址和存储器的地址相互独立,即I/O端口地址空间和存储器地址空间分开设置,互不影响,采用这种方式,对I/O端口的操作使用输入/输出指令(I/O指令)

    优点:

    不占用内存空间

    使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作

    译码电路比较及简单(因为I/O端口地址空间一般较小,所以地址线也就较少)

    缺点:

    只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多

    8086和8088采用的独立编址

    证明一下

    1  地址线条数都不一样,8086访问内存是20根地址线(1MB),访问外设是16根地址线(64K)

    2  M/ I/O非引脚   为零的时候是访问的外设 ,为1的时候访问的是内存(8088相反)带帽子是低电平有效

    3 有专用的I/O指令 ,IN/OUT指令

    一般会考简答题

  • 相关阅读:
    算法通关村第一关-链表青铜挑战笔记
    77 全排列
    Linux内核(一)
    JS系列2-怎么把一个对象当做数组使用
    Learning from Unlabeled 3D Environments forVision-and-Language Navigation
    java项目——CRM客户管理系统(SpringBoot+MyBatis)
    IDEA插件Apifox,一键自动生成接口文档!
    C++入门教程(八、枚举类型)
    SpringMVC ---- RESTful案例
    【UE5|水文章】在UMG上显示帧率
  • 原文地址:https://blog.csdn.net/m0_64365315/article/details/126122183